Version Description
- Updated - Freemius library with a security fix. Recommended to update immediately.
- Fixed - Some themes can raise JS error due to jQuery $ being unavailable.
Download this release
Release Info
Developer | livemesh |
Plugin | Addons for WPBakery Page Builder |
Version | 2.5.2 |
Comparing to | |
See all releases |
Code changes from version 2.5.1 to 2.5.2
- addons-for-visual-composer.php +102 -0
- admin-ajax.php → admin/admin-ajax.php +0 -0
- admin-init.php → admin/admin-init.php +0 -0
- {assets → admin/assets}/css/documentation.css +0 -0
- {assets → admin/assets}/css/documentation.css.map +0 -0
- {assets → admin/assets}/css/documentation.scss +0 -0
- {assets → admin/assets}/css/lvca-admin-page.css +0 -0
- {assets → admin/assets}/css/lvca-admin-page.css.map +0 -0
- {assets → admin/assets}/css/lvca-admin-page.scss +0 -0
- {assets → admin/assets}/css/lvca-admin.css +0 -0
- admin/assets/css/lvca-admin.css.map +1 -0
- admin/assets/css/lvca-admin.scss +196 -0
- {assets → admin/assets}/css/lvca-elements.css +0 -0
- {assets → admin/assets}/css/lvca-elements.css.map +0 -0
- {assets → admin/assets}/css/lvca-elements.scss +0 -0
- {assets → admin/assets}/css/premium-upgrade.css.map +0 -0
- {assets → admin/assets}/css/premium-upgrade.scss +0 -0
- {assets → admin/assets}/images/admin/accordion-add.png +0 -0
- {assets → admin/assets}/images/admin/accordion.png +0 -0
- {assets → admin/assets}/images/admin/button.png +0 -0
- {assets → admin/assets}/images/admin/carousel-add.png +0 -0
- {assets → admin/assets}/images/admin/carousel.png +0 -0
- {assets → admin/assets}/images/admin/client-add.png +0 -0
- {assets → admin/assets}/images/admin/clients.png +0 -0
- {assets → admin/assets}/images/admin/countdown.png +0 -0
- {assets → admin/assets}/images/admin/faq-add.png +0 -0
- {assets → admin/assets}/images/admin/faq.png +0 -0
- {assets → admin/assets}/images/admin/feature-add.png +0 -0
- {assets → admin/assets}/images/admin/features.png +0 -0
- {assets → admin/assets}/images/admin/gallery-add.png +0 -0
- {assets → admin/assets}/images/admin/gallery.png +0 -0
- {assets → admin/assets}/images/admin/generic-carousel.png +0 -0
- {assets → admin/assets}/images/admin/grid-alt.png +0 -0
- {assets → admin/assets}/images/admin/grid.png +0 -0
- {assets → admin/assets}/images/admin/heading.png +0 -0
- {assets → admin/assets}/images/admin/icon-add.png +0 -0
- {assets → admin/assets}/images/admin/icons.png +0 -0
- {assets → admin/assets}/images/admin/odometer-add.png +0 -0
- {assets → admin/assets}/images/admin/odometers.png +0 -0
- {assets → admin/assets}/images/admin/piechart-add.png +0 -0
- {assets → admin/assets}/images/admin/piecharts.png +0 -0
- {assets → admin/assets}/images/admin/portfolio-add.png +0 -0
- {assets → admin/assets}/images/admin/portfolio.png +0 -0
- {assets → admin/assets}/images/admin/posts-carousel.png +0 -0
- {assets → admin/assets}/images/admin/pricing-plan.png +0 -0
- {assets → admin/assets}/images/admin/pricing-table.png +0 -0
- {assets → admin/assets}/images/admin/service-add.png +0 -0
- {assets → admin/assets}/images/admin/services.png +0 -0
- {assets → admin/assets}/images/admin/slider-add.png +0 -0
- {assets → admin/assets}/images/admin/slider-add2.png +0 -0
- {assets → admin/assets}/images/admin/sliders.png +0 -0
- {assets → admin/assets}/images/admin/sliders2.png +0 -0
- {assets → admin/assets}/images/admin/spacer.png +0 -0
- {assets → admin/assets}/images/admin/stats-bar.png +0 -0
- {assets → admin/assets}/images/admin/tab-add.png +0 -0
- {assets → admin/assets}/images/admin/tabs.png +0 -0
- {assets → admin/assets}/images/admin/team-member-add.png +0 -0
- {assets → admin/assets}/images/admin/team.png +0 -0
- {assets → admin/assets}/images/admin/testimonial-add.png +0 -0
- {assets → admin/assets}/images/admin/testimonials-slider-add.png +0 -0
- {assets → admin/assets}/images/admin/testimonials-slider.png +0 -0
- {assets → admin/assets}/images/admin/testimonials.png +0 -0
- {assets → admin/assets}/images/logo-dark.png +0 -0
- {assets → admin/assets}/images/logo-light.png +0 -0
- {assets → admin/assets}/images/logo-shape.png +0 -0
- {assets → admin/assets}/images/logo-shape16.png +0 -0
- {assets → admin/assets}/js/documentation.js +0 -0
- {assets → admin/assets}/js/documentation.min.js +0 -0
- {assets → admin/assets}/js/lvca-admin-ajax.js +0 -0
- {assets → admin/assets}/js/lvca-admin-ajax.min.js +0 -0
- {assets → admin/assets}/js/lvca-admin.js +0 -0
- {assets → admin/assets}/js/lvca-admin.min.js +0 -0
- {assets → admin/assets}/js/premium-upgrade.min.js +0 -0
- {notices → admin/notices}/admin-notice-rate.php +0 -0
- {notices → admin/notices}/admin-notice.php +0 -0
- {notices → admin/notices}/templates/rate.php +0 -0
- {views → admin/views}/admin-banner1.php +0 -0
- {views → admin/views}/admin-banner2.php +0 -0
- {views → admin/views}/admin-footer.php +0 -0
- {views → admin/views}/admin-header.php +0 -0
- {views → admin/views}/documentation.php +5 -0
- {views → admin/views}/settings.php +0 -0
- assets/css/_grid-settings.scss +34 -0
- assets/css/_lvca-lib.scss +138 -0
- assets/css/ajax-loader.gif +0 -0
- assets/css/animate.css +3341 -0
- assets/css/flexslider.css +225 -0
- assets/css/fonts/icomoon/icomoon.eot +0 -0
- assets/css/fonts/icomoon/icomoon.svg +40 -0
- assets/css/fonts/icomoon/icomoon.ttf +0 -0
- assets/css/fonts/icomoon/icomoon.woff +0 -0
- assets/css/icomoon.css +116 -0
- assets/css/lvca-admin.css.map +7 -1
- assets/css/lvca-admin.scss +40 -114
- assets/css/lvca-frontend.css +663 -0
- assets/css/lvca-frontend.css.map +1 -0
- assets/css/lvca-frontend.scss +878 -0
- assets/css/slick.css +116 -0
- assets/css/slider.css +426 -0
- assets/images/bricks-loader.gif +0 -0
- assets/images/loader.gif +0 -0
- assets/images/loading.gif +0 -0
- assets/img/admin/accordion-add.png +0 -0
- assets/img/admin/accordion.png +0 -0
- assets/img/admin/carousel-add.png +0 -0
- assets/img/admin/client-add.png +0 -0
- assets/img/admin/clients.png +0 -0
- assets/img/admin/generic-carousel.png +0 -0
- assets/img/admin/heading.png +0 -0
- assets/img/admin/odometer-add.png +0 -0
- assets/img/admin/odometers.png +0 -0
- assets/img/admin/piechart-add.png +0 -0
- assets/img/admin/piecharts.png +0 -0
- assets/img/admin/portfolio-add.png +0 -0
- assets/img/admin/portfolio.png +0 -0
- assets/img/admin/posts-carousel.png +0 -0
- assets/img/admin/pricing-plan.png +0 -0
- assets/img/admin/pricing-table.png +0 -0
- assets/img/admin/service-add.png +0 -0
- assets/img/admin/services.png +0 -0
- assets/img/admin/spacer.png +0 -0
- assets/img/admin/stats-bar.png +0 -0
- assets/img/admin/tab-add.png +0 -0
- assets/img/admin/tabs.png +0 -0
- assets/img/admin/team-member-add.png +0 -0
- assets/img/admin/team.png +0 -0
- assets/img/admin/testimonial-add.png +0 -0
- assets/img/admin/testimonials-slider-add.png +0 -0
- assets/img/admin/testimonials-slider.png +0 -0
- assets/img/admin/testimonials.png +0 -0
- assets/js/imagesloaded.pkgd.js +487 -0
- assets/js/imagesloaded.pkgd.min.js +1 -0
- assets/js/isotope.pkgd.js +3524 -0
- assets/js/isotope.pkgd.min.js +2 -0
- assets/js/jquery.flexslider.js +1195 -0
- assets/js/jquery.flexslider.min.js +1 -0
- assets/js/jquery.stats.js +64 -0
- assets/js/jquery.stats.min.js +57 -0
- assets/js/jquery.waypoints.js +662 -0
- assets/js/jquery.waypoints.min.js +7 -0
- assets/js/lvca-frontend.js +153 -0
- assets/js/lvca-frontend.min.js +1 -0
- assets/js/modernizr-custom.js +1384 -0
- assets/js/modernizr-custom.min.js +1 -0
- assets/js/slick.js +2670 -0
- assets/js/slick.min.js +2 -0
- freemius/.codeclimate.yml +19 -0
- freemius/.travis.yml +11 -0
- freemius/LICENSE.txt +674 -0
- freemius/README.md +253 -0
- freemius/assets/css/admin/account.css +1 -0
- freemius/assets/css/admin/add-ons.css +2 -0
- freemius/assets/css/admin/affiliation.css +1 -0
- freemius/assets/css/admin/checkout.css +1 -0
- freemius/assets/css/admin/common.css +2 -0
- freemius/assets/css/admin/connect.css +1 -0
- freemius/assets/css/admin/deactivation-feedback.css +2 -0
- freemius/assets/css/admin/debug.css +1 -0
- freemius/assets/css/admin/dialog-boxes.css +2 -0
addons-for-visual-composer.php
ADDED
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Plugin Name: Livemesh Addons for WPBakery Page Builder
|
5 |
+
* Plugin URI: https://www.livemeshthemes.com/wpbakery-page-builder-addons
|
6 |
+
* Description: A collection of premium quality addons or extensions for use in WPBakery Page Builder. WPBakery Page Builder must be installed and activated.
|
7 |
+
* Author: Livemesh
|
8 |
+
* Author URI: https://www.livemeshthemes.com/
|
9 |
+
* License: GPL3
|
10 |
+
* License URI: https://www.gnu.org/licenses/gpl-3.0.txt
|
11 |
+
* Version: 2.5.2
|
12 |
+
* Text Domain: livemesh-vc-addons
|
13 |
+
* Domain Path: languages
|
14 |
+
*
|
15 |
+
* Livemesh Addons for WPBakery Page Builder is free software: you can redistribute it and/or modify
|
16 |
+
* it under the terms of the GNU General Public License as published by
|
17 |
+
* the Free Software Foundation, either version 2 of the License, or
|
18 |
+
* any later version.
|
19 |
+
*
|
20 |
+
* Livemesh Addons for WPBakery Page Builder is distributed in the hope that it will be useful,
|
21 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
22 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
23 |
+
* GNU General Public License for more details.
|
24 |
+
*
|
25 |
+
* You should have received a copy of the GNU General Public License
|
26 |
+
* along with Livemesh Addons for WPBakery Page Builder. If not, see <http://www.gnu.org/licenses/>.
|
27 |
+
*
|
28 |
+
*
|
29 |
+
*
|
30 |
+
*/
|
31 |
+
// Exit if accessed directly
|
32 |
+
if ( !defined( 'ABSPATH' ) ) {
|
33 |
+
exit;
|
34 |
+
}
|
35 |
+
// Ensure the free version is deactivated if premium is running
|
36 |
+
|
37 |
+
if ( !function_exists( 'lvca_fs' ) ) {
|
38 |
+
// Plugin version
|
39 |
+
define( 'LVCA_VERSION', '2.5.2' );
|
40 |
+
// Plugin Root File
|
41 |
+
define( 'LVCA_PLUGIN_FILE', __FILE__ );
|
42 |
+
// Plugin Folder Path
|
43 |
+
define( 'LVCA_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
44 |
+
// Plugin Folder URL
|
45 |
+
define( 'LVCA_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
46 |
+
// Plugin Addons Folder Path
|
47 |
+
define( 'LVCA_ADDONS_DIR', plugin_dir_path( __FILE__ ) . 'includes/addons/' );
|
48 |
+
// Plugin Premium Addons Folder Path
|
49 |
+
define( 'LVCA_PREMIUM_ADDONS_DIR', plugin_dir_path( __FILE__ ) . 'includes/addons/premium/' );
|
50 |
+
// Plugin Folder URL
|
51 |
+
define( 'LVCA_ADDONS_URL', plugin_dir_url( __FILE__ ) . 'includes/addons/' );
|
52 |
+
// Plugin Folder URL
|
53 |
+
define( 'LVCA_PREMIUM_ADDONS_URL', plugin_dir_url( __FILE__ ) . 'includes/addons/premium/' );
|
54 |
+
// Plugin Help Page URL
|
55 |
+
define( 'LVCA_PLUGIN_HELP_URL', admin_url() . 'admin.php?page=livemesh_vc_addons_documentation' );
|
56 |
+
// Create a helper function for easy SDK access.
|
57 |
+
function lvca_fs()
|
58 |
+
{
|
59 |
+
global $lvca_fs ;
|
60 |
+
|
61 |
+
if ( !isset( $lvca_fs ) ) {
|
62 |
+
// Include Freemius SDK.
|
63 |
+
require_once dirname( __FILE__ ) . '/freemius/start.php';
|
64 |
+
$lvca_fs = fs_dynamic_init( array(
|
65 |
+
'id' => '2182',
|
66 |
+
'slug' => 'addons-for-visual-composer',
|
67 |
+
'type' => 'plugin',
|
68 |
+
'public_key' => 'pk_1322c3f34412e56dc2d697e80ef14',
|
69 |
+
'is_premium' => false,
|
70 |
+
'has_addons' => false,
|
71 |
+
'has_paid_plans' => true,
|
72 |
+
'menu' => array(
|
73 |
+
'slug' => 'livemesh_vc_addons',
|
74 |
+
'support' => false,
|
75 |
+
),
|
76 |
+
'is_live' => true,
|
77 |
+
) );
|
78 |
+
}
|
79 |
+
|
80 |
+
return $lvca_fs;
|
81 |
+
}
|
82 |
+
|
83 |
+
// Init Freemius.
|
84 |
+
lvca_fs();
|
85 |
+
// Signal that SDK was initiated.
|
86 |
+
do_action( 'lvca_fs_loaded' );
|
87 |
+
function lvca_fs_add_licensing_helper()
|
88 |
+
{
|
89 |
+
?>
|
90 |
+
<script type="text/javascript">
|
91 |
+
(function () {
|
92 |
+
window.lvca_fs = {can_use_premium_code: <?php
|
93 |
+
echo json_encode( lvca_fs()->can_use_premium_code() ) ;
|
94 |
+
?>};
|
95 |
+
})();
|
96 |
+
</script>
|
97 |
+
<?php
|
98 |
+
}
|
99 |
+
|
100 |
+
add_action( 'wp_head', 'lvca_fs_add_licensing_helper' );
|
101 |
+
require_once dirname( __FILE__ ) . '/plugin.php';
|
102 |
+
}
|
admin-ajax.php → admin/admin-ajax.php
RENAMED
File without changes
|
admin-init.php → admin/admin-init.php
RENAMED
File without changes
|
{assets → admin/assets}/css/documentation.css
RENAMED
File without changes
|
{assets → admin/assets}/css/documentation.css.map
RENAMED
File without changes
|
{assets → admin/assets}/css/documentation.scss
RENAMED
File without changes
|
{assets → admin/assets}/css/lvca-admin-page.css
RENAMED
File without changes
|
{assets → admin/assets}/css/lvca-admin-page.css.map
RENAMED
File without changes
|
{assets → admin/assets}/css/lvca-admin-page.scss
RENAMED
File without changes
|
{assets → admin/assets}/css/lvca-admin.css
RENAMED
File without changes
|
admin/assets/css/lvca-admin.css.map
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
{"version":3,"sources":["lvca-admin.scss"],"names":[],"mappings":"AACA;EACE,iBAAgB;EAChB,kBAAiB;EACjB,eAAc;EACd,mBAAkB,EAAA;;AAGpB,yEAAyE;AAGzE;EACE,oCAAmC;EACnC,yBAAwB,EAAA;;AAG1B;EACE,iBAAgB;EAChB,mBAAkB,EAAA;;AAGpB;EACE,oDAAmD,EAAA;;AAGrD;EACE,uDAAsD,EAAA;;AAGxD;EACE,qDAAoD,EAAA;;AAGtD;EACE,qDAAoD,EAAA;;AAGtD;EACE,qDAAoD,EAAA;;AAGtD;EACE,wDAAuD,EAAA;;AAGzD;EACE,qDAAoD,EAAA;;AAGtD;EACE,wDAAuD,EAAA;;AAGzD;EACE,mDAAkD,EAAA;;AAGpD;EACE,sDAAqD,EAAA;;AAGvD;EACE,mDAAkD,EAAA;;AAGpD;EACE,gDAA+C,EAAA;;AAGjD;EACE,2DAA0D,EAAA;;AAG5D;EACE,wDAAuD,EAAA;;AAGzD;EACE,2DAA0D,EAAA;;AAG5D;EACE,+DAA8D,EAAA;;AAGhE;EACE,mEAAkE,EAAA;;AAGpE;EACE,4DAA2D,EAAA;;AAG7D;EACE,wDAAuD,EAAA;;AAGzD;EACE,0DAAyD,EAAA;;AAG3D;EACE,oDAAmD,EAAA;;AAGrD;EACE,gDAA+C,EAAA;;AAGjD;EACE,yDAAwD,EAAA;;AAG1D;EACE,wDAAuD,EAAA;;AAGzD;EACE,kDAAiD,EAAA;;AAGnD;EACE,qDAAoD,EAAA;;AAGtD;EACE,yDAAwD,EAAA;;AAG1D;EACE,gDAA+C,EAAA;;AAGjD;EACE,mDAAkD,EAAA;;AAGpD;EACE,qDAAoD,EAAA;;AAGtD;EACE,oDAAmD,EAAA;;AAGrD;EACE,uDAAsD,EAAA;;AAGxD;EACE,+CAA8C,EAAA;;AAGhD;EACE,mDAAkD,EAAA;;AAGpD;EACE,kDAAiD,EAAA;;AAGnD;EACE,mDAAkD,EAAA;;AAGpD;EACE,uDAAsD,EAAA;;AAGxD;EACE,oDAAmD,EAAA;;AAGrD;EACE,oDAAmD,EAAA;;AAGrD;EACE,uDAAsD,EAAA;;AAGxD;EACE,mDAAkD,EAAA;;AAGpD;EACE,sDAAqD,EAAA;;AAGvD;EACE,iDAAgD,EAAA;;AAGlD;EACE,oDAAmD,EAAA","file":"lvca-admin.css"}
|
admin/assets/css/lvca-admin.scss
ADDED
@@ -0,0 +1,196 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
.wrap.lvca-license-wrap form.lvca-license-box {
|
3 |
+
max-width: 700px;
|
4 |
+
background: white;
|
5 |
+
margin: 20px 0;
|
6 |
+
padding: 20px 30px;
|
7 |
+
}
|
8 |
+
|
9 |
+
/* =============== WPBakery Page Builder Elements ==================== */
|
10 |
+
|
11 |
+
|
12 |
+
[class*=vc_element-icon][class*=icon-lvca-] {
|
13 |
+
background-position: 0 0 !important;
|
14 |
+
background-size: contain;
|
15 |
+
}
|
16 |
+
|
17 |
+
input[type=number].wpb_vc_param_value.lvca_number {
|
18 |
+
max-width: 100px;
|
19 |
+
margin-right: 10px;
|
20 |
+
}
|
21 |
+
|
22 |
+
.icon-lvca-services.vc_element-icon[data-is-container=true] {
|
23 |
+
background-image: url(../images/admin/services.png);
|
24 |
+
}
|
25 |
+
|
26 |
+
.icon-lvca-service.vc_element-icon {
|
27 |
+
background-image: url(../images/admin/service-add.png);
|
28 |
+
}
|
29 |
+
|
30 |
+
.icon-lvca-statsbars.vc_element-icon[data-is-container=true] {
|
31 |
+
background-image: url(../images/admin/stats-bar.png);
|
32 |
+
}
|
33 |
+
|
34 |
+
.icon-lvca-statsbar.vc_element-icon {
|
35 |
+
background-image: url(../images/admin/stats-bar.png);
|
36 |
+
}
|
37 |
+
|
38 |
+
.icon-lvca-piecharts.vc_element-icon[data-is-container=true] {
|
39 |
+
background-image: url(../images/admin/piecharts.png);
|
40 |
+
}
|
41 |
+
|
42 |
+
.icon-lvca-piechart.vc_element-icon {
|
43 |
+
background-image: url(../images/admin/piechart-add.png);
|
44 |
+
}
|
45 |
+
|
46 |
+
.icon-lvca-odometers.vc_element-icon[data-is-container=true] {
|
47 |
+
background-image: url(../images/admin/odometers.png);
|
48 |
+
}
|
49 |
+
|
50 |
+
.icon-lvca-odometer.vc_element-icon {
|
51 |
+
background-image: url(../images/admin/odometer-add.png);
|
52 |
+
}
|
53 |
+
|
54 |
+
.icon-lvca-clients.vc_element-icon[data-is-container=true] {
|
55 |
+
background-image: url(../images/admin/clients.png);
|
56 |
+
}
|
57 |
+
|
58 |
+
.icon-lvca-client.vc_element-icon {
|
59 |
+
background-image: url(../images/admin/client-add.png);
|
60 |
+
}
|
61 |
+
|
62 |
+
.icon-lvca-heading.vc_element-icon {
|
63 |
+
background-image: url(../images/admin/heading.png);
|
64 |
+
}
|
65 |
+
|
66 |
+
.icon-lvca-team.vc_element-icon[data-is-container=true] {
|
67 |
+
background-image: url(../images/admin/team.png);
|
68 |
+
}
|
69 |
+
|
70 |
+
.icon-lvca-team-member.vc_element-icon {
|
71 |
+
background-image: url(../images/admin/team-member-add.png);
|
72 |
+
}
|
73 |
+
|
74 |
+
.icon-lvca-testimonials.vc_element-icon[data-is-container=true] {
|
75 |
+
background-image: url(../images/admin/testimonials.png);
|
76 |
+
}
|
77 |
+
|
78 |
+
.icon-lvca-testimonial.vc_element-icon {
|
79 |
+
background-image: url(../images/admin/testimonial-add.png);
|
80 |
+
}
|
81 |
+
|
82 |
+
.icon-lvca-testimonials-slider.vc_element-icon[data-is-container=true] {
|
83 |
+
background-image: url(../images/admin/testimonials-slider.png);
|
84 |
+
}
|
85 |
+
|
86 |
+
.icon-lvca-testimonials-slide.vc_element-icon {
|
87 |
+
background-image: url(../images/admin/testimonials-slider-add.png);
|
88 |
+
}
|
89 |
+
|
90 |
+
.icon-lvca-carousel.vc_element-icon[data-is-container=true] {
|
91 |
+
background-image: url(../images/admin/generic-carousel.png);
|
92 |
+
}
|
93 |
+
|
94 |
+
.icon-lvca-carousel-item.vc_element-icon {
|
95 |
+
background-image: url(../images/admin/carousel-add.png);
|
96 |
+
}
|
97 |
+
|
98 |
+
.icon-lvca-posts-carousel.vc_element-icon {
|
99 |
+
background-image: url(../images/admin/posts-carousel.png);
|
100 |
+
}
|
101 |
+
|
102 |
+
.icon-lvca-portfolio.vc_element-icon {
|
103 |
+
background-image: url(../images/admin/grid-alt.png);
|
104 |
+
}
|
105 |
+
|
106 |
+
.icon-lvca-posts-block.vc_element-icon {
|
107 |
+
background-image: url(../images/admin/grid.png);
|
108 |
+
}
|
109 |
+
|
110 |
+
.icon-lvca-pricing-table.vc_element-icon[data-is-container=true] {
|
111 |
+
background-image: url(../images/admin/pricing-table.png);
|
112 |
+
}
|
113 |
+
|
114 |
+
.icon-lvca-pricing.vc_element-icon {
|
115 |
+
background-image: url(../images/admin/pricing-plan.png);
|
116 |
+
}
|
117 |
+
|
118 |
+
.icon-lvca-spacer.vc_element-icon {
|
119 |
+
background-image: url(../images/admin/spacer.png);
|
120 |
+
}
|
121 |
+
|
122 |
+
.icon-lvca-accordion.vc_element-icon[data-is-container=true] {
|
123 |
+
background-image: url(../images/admin/accordion.png);
|
124 |
+
}
|
125 |
+
|
126 |
+
.icon-lvca-panel.vc_element-icon {
|
127 |
+
background-image: url(../images/admin/accordion-add.png);
|
128 |
+
}
|
129 |
+
|
130 |
+
.icon-lvca-tabs.vc_element-icon[data-is-container=true] {
|
131 |
+
background-image: url(../images/admin/tabs.png);
|
132 |
+
}
|
133 |
+
|
134 |
+
.icon-lvca-tab.vc_element-icon {
|
135 |
+
background-image: url(../images/admin/tab-add.png);
|
136 |
+
}
|
137 |
+
|
138 |
+
.icon-lvca-countdown.vc_element-icon {
|
139 |
+
background-image: url(../images/admin/countdown.png);
|
140 |
+
}
|
141 |
+
|
142 |
+
.icon-lvca-features.vc_element-icon[data-is-container=true] {
|
143 |
+
background-image: url(../images/admin/features.png);
|
144 |
+
}
|
145 |
+
|
146 |
+
.icon-lvca-feature-add.vc_element-icon {
|
147 |
+
background-image: url(../images/admin/feature-add.png);
|
148 |
+
}
|
149 |
+
|
150 |
+
.icon-lvca-faq.vc_element-icon[data-is-container=true] {
|
151 |
+
background-image: url(../images/admin/faq.png);
|
152 |
+
}
|
153 |
+
|
154 |
+
.icon-lvca-faq-add.vc_element-icon {
|
155 |
+
background-image: url(../images/admin/faq-add.png);
|
156 |
+
}
|
157 |
+
|
158 |
+
.icon-lvca-button.vc_element-icon {
|
159 |
+
background-image: url(../images/admin/button.png);
|
160 |
+
}
|
161 |
+
|
162 |
+
.icon-lvca-gallery.vc_element-icon[data-is-container=true] {
|
163 |
+
background-image: url(../images/admin/gallery.png);
|
164 |
+
}
|
165 |
+
|
166 |
+
.icon-lvca-gallery-add.vc_element-icon {
|
167 |
+
background-image: url(../images/admin/gallery-add.png);
|
168 |
+
}
|
169 |
+
|
170 |
+
.icon-lvca-gallery-carousel.vc_element-icon[data-is-container=true] {
|
171 |
+
background-image: url(../images/admin/carousel.png);
|
172 |
+
}
|
173 |
+
|
174 |
+
.icon-lvca-image-slider.vc_element-icon[data-is-container=true] {
|
175 |
+
background-image: url(../images/admin/sliders2.png);
|
176 |
+
}
|
177 |
+
|
178 |
+
.icon-lvca-image-slider-add.vc_element-icon {
|
179 |
+
background-image: url(../images/admin/slider-add2.png);
|
180 |
+
}
|
181 |
+
|
182 |
+
.icon-lvca-slider.vc_element-icon[data-is-container=true] {
|
183 |
+
background-image: url(../images/admin/sliders.png);
|
184 |
+
}
|
185 |
+
|
186 |
+
.icon-lvca-slider-add.vc_element-icon {
|
187 |
+
background-image: url(../images/admin/slider-add.png);
|
188 |
+
}
|
189 |
+
|
190 |
+
.icon-lvca-icons.vc_element-icon[data-is-container=true] {
|
191 |
+
background-image: url(../images/admin/icons.png);
|
192 |
+
}
|
193 |
+
|
194 |
+
.icon-lvca-icon-add.vc_element-icon {
|
195 |
+
background-image: url(../images/admin/icon-add.png);
|
196 |
+
}
|
{assets → admin/assets}/css/lvca-elements.css
RENAMED
File without changes
|
{assets → admin/assets}/css/lvca-elements.css.map
RENAMED
File without changes
|
{assets → admin/assets}/css/lvca-elements.scss
RENAMED
File without changes
|
{assets → admin/assets}/css/premium-upgrade.css.map
RENAMED
File without changes
|
{assets → admin/assets}/css/premium-upgrade.scss
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/accordion-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/accordion.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/button.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/carousel-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/carousel.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/client-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/clients.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/countdown.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/faq-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/faq.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/feature-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/features.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/gallery-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/gallery.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/generic-carousel.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/grid-alt.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/grid.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/heading.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/icon-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/icons.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/odometer-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/odometers.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/piechart-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/piecharts.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/portfolio-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/portfolio.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/posts-carousel.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/pricing-plan.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/pricing-table.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/service-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/services.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/slider-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/slider-add2.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/sliders.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/sliders2.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/spacer.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/stats-bar.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/tab-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/tabs.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/team-member-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/team.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/testimonial-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/testimonials-slider-add.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/testimonials-slider.png
RENAMED
File without changes
|
{assets → admin/assets}/images/admin/testimonials.png
RENAMED
File without changes
|
{assets → admin/assets}/images/logo-dark.png
RENAMED
File without changes
|
{assets → admin/assets}/images/logo-light.png
RENAMED
File without changes
|
{assets → admin/assets}/images/logo-shape.png
RENAMED
File without changes
|
{assets → admin/assets}/images/logo-shape16.png
RENAMED
File without changes
|
{assets → admin/assets}/js/documentation.js
RENAMED
File without changes
|
{assets → admin/assets}/js/documentation.min.js
RENAMED
File without changes
|
{assets → admin/assets}/js/lvca-admin-ajax.js
RENAMED
File without changes
|
{assets → admin/assets}/js/lvca-admin-ajax.min.js
RENAMED
File without changes
|
{assets → admin/assets}/js/lvca-admin.js
RENAMED
File without changes
|
{assets → admin/assets}/js/lvca-admin.min.js
RENAMED
File without changes
|
{assets → admin/assets}/js/premium-upgrade.min.js
RENAMED
File without changes
|
{notices → admin/notices}/admin-notice-rate.php
RENAMED
File without changes
|
{notices → admin/notices}/admin-notice.php
RENAMED
File without changes
|
{notices → admin/notices}/templates/rate.php
RENAMED
File without changes
|
{views → admin/views}/admin-banner1.php
RENAMED
File without changes
|
{views → admin/views}/admin-banner2.php
RENAMED
File without changes
|
{views → admin/views}/admin-footer.php
RENAMED
File without changes
|
{views → admin/views}/admin-header.php
RENAMED
File without changes
|
{views → admin/views}/documentation.php
RENAMED
@@ -1236,6 +1236,11 @@ else {
|
|
1236 |
|
1237 |
<h2>Change Log for the Premium Version</h2>
|
1238 |
<br>
|
|
|
|
|
|
|
|
|
|
|
1239 |
<h3>2.5.1</h3>
|
1240 |
<ul>
|
1241 |
<li>Fixed - The Posts Carousel was being rendered early on the page ignoring the order of widgets specified in the builder.</li>
|
1236 |
|
1237 |
<h2>Change Log for the Premium Version</h2>
|
1238 |
<br>
|
1239 |
+
<h3>2.5.2</h3>
|
1240 |
+
<ul>
|
1241 |
+
<li>Updated - Freemius library to address security vulnerability reported. Recommended to update immediately.</li>
|
1242 |
+
<li>Fixed - Some themes can raise JS error due to jQuery $ being unavailable.</li>
|
1243 |
+
</ul>
|
1244 |
<h3>2.5.1</h3>
|
1245 |
<ul>
|
1246 |
<li>Fixed - The Posts Carousel was being rendered early on the page ignoring the order of widgets specified in the builder.</li>
|
{views → admin/views}/settings.php
RENAMED
File without changes
|
assets/css/_grid-settings.scss
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
$neat-grid: (
|
2 |
+
columns: 12,
|
3 |
+
gutter: 20px,
|
4 |
+
direction: ltr,
|
5 |
+
);
|
6 |
+
|
7 |
+
$lvca-tablet-grid: (
|
8 |
+
media: 480px,
|
9 |
+
);
|
10 |
+
|
11 |
+
$lvca-desktop-grid: (
|
12 |
+
media: 801px,
|
13 |
+
);
|
14 |
+
|
15 |
+
$lvca-gapless-grid: (
|
16 |
+
gutter: 0px,
|
17 |
+
);
|
18 |
+
|
19 |
+
$lvca-five-col-grid: (
|
20 |
+
columns: 5,
|
21 |
+
);
|
22 |
+
|
23 |
+
$lvca-gapless-five-col-grid: (
|
24 |
+
columns: 5,
|
25 |
+
gutter: 0px,
|
26 |
+
);
|
27 |
+
|
28 |
+
$lvca-mobile-only-grid: (
|
29 |
+
media: "(max-width: 479px)",
|
30 |
+
);
|
31 |
+
|
32 |
+
$lvca-tablet-only-grid: (
|
33 |
+
media: "(min-width:480px) and (max-width: 800px)",
|
34 |
+
);
|
assets/css/_lvca-lib.scss
ADDED
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@import "bourbon";
|
2 |
+
@import "neat";
|
3 |
+
@import "grid-settings";
|
4 |
+
|
5 |
+
/// Function reference - http://sass-lang.com/documentation/Sass/Script/Functions.html#nth-instance_method
|
6 |
+
|
7 |
+
@mixin omega($query) {
|
8 |
+
|
9 |
+
@if length($query) == 1 {
|
10 |
+
|
11 |
+
@include nth-child($query);
|
12 |
+
|
13 |
+
} @else if length($query) == 2 {
|
14 |
+
|
15 |
+
@include nth-child(nth($query, 1));
|
16 |
+
|
17 |
+
} @else {
|
18 |
+
|
19 |
+
@include -neat-warn("Too many arguments passed to the omega() mixin.");
|
20 |
+
|
21 |
+
}
|
22 |
+
|
23 |
+
}
|
24 |
+
|
25 |
+
@mixin nth-child($query) {
|
26 |
+
|
27 |
+
@if type-of($query) == number and unit($query) == "n" {
|
28 |
+
&:nth-child(#{$query}+1) {
|
29 |
+
clear: left;
|
30 |
+
}
|
31 |
+
}
|
32 |
+
|
33 |
+
}
|
34 |
+
|
35 |
+
@mixin lvca-container() {
|
36 |
+
|
37 |
+
&::after {
|
38 |
+
clear: both;
|
39 |
+
content: "";
|
40 |
+
display: block;
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
+
// Custom Mixins for LiveMesh framework - utilizes other libs like Bourbon
|
45 |
+
$tablet_size: 767;
|
46 |
+
$mobile_size: 479;
|
47 |
+
|
48 |
+
@mixin center {
|
49 |
+
margin: 0 auto;
|
50 |
+
text-align: center;
|
51 |
+
}
|
52 |
+
|
53 |
+
@mixin clear() {
|
54 |
+
&:before, &:after {
|
55 |
+
content: "\0020";
|
56 |
+
display: block;
|
57 |
+
height: 0;
|
58 |
+
overflow: hidden;
|
59 |
+
}
|
60 |
+
&:after {
|
61 |
+
clear: both;
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
@mixin linkTextOffscreen() {
|
66 |
+
text-indent: -9999px;
|
67 |
+
overflow: hidden;
|
68 |
+
text-decoration: none;
|
69 |
+
display: block;
|
70 |
+
font-size: 0;
|
71 |
+
text-align: start;
|
72 |
+
}
|
73 |
+
|
74 |
+
@mixin hoverActiveFocus($property, $value) {
|
75 |
+
&:hover, &:active, &:focus {
|
76 |
+
#{$property}: $value;
|
77 |
+
}
|
78 |
+
}
|
79 |
+
|
80 |
+
@mixin respond-to-max($point) {
|
81 |
+
@media only screen and (max-width: $point+px) { @content; }
|
82 |
+
}
|
83 |
+
|
84 |
+
@mixin respond-between($point1, $point2) {
|
85 |
+
@media only screen and (min-width: $point1+px) and (max-width: $point2+px) { @content; }
|
86 |
+
}
|
87 |
+
|
88 |
+
@mixin respond-to-min($point) {
|
89 |
+
@media only screen and (min-width: $point+px) { @content; }
|
90 |
+
}
|
91 |
+
@mixin respond-to-retina() {
|
92 |
+
@media only screen and (-webkit-min-device-pixel-ratio: 2) { @content; }
|
93 |
+
}
|
94 |
+
|
95 |
+
@mixin bottom-line($width: 35, $height: 2, $color: $theme_color) {
|
96 |
+
&:after {
|
97 |
+
width: $width + px;
|
98 |
+
height: $height + px;
|
99 |
+
background: $color;
|
100 |
+
display: block;
|
101 |
+
content: "";
|
102 |
+
@content;
|
103 |
+
}
|
104 |
+
}
|
105 |
+
|
106 |
+
@mixin lvca-icon-font() {
|
107 |
+
font-family: 'lvca-icomoon' !important;
|
108 |
+
speak: none;
|
109 |
+
font-style: normal;
|
110 |
+
font-weight: normal;
|
111 |
+
font-variant: normal;
|
112 |
+
text-transform: none;
|
113 |
+
line-height: 1;
|
114 |
+
-webkit-font-smoothing: antialiased;
|
115 |
+
-moz-osx-font-smoothing: grayscale;
|
116 |
+
}
|
117 |
+
|
118 |
+
@mixin lvca-heading-style() {
|
119 |
+
font-size: 18px;
|
120 |
+
line-height: 26px;
|
121 |
+
letter-spacing: 1px;
|
122 |
+
font-weight: bold;
|
123 |
+
color: #333;
|
124 |
+
text-transform: uppercase;
|
125 |
+
clear: none;
|
126 |
+
margin-top: 0;
|
127 |
+
margin-bottom: 10px;
|
128 |
+
}
|
129 |
+
|
130 |
+
@mixin lvca-body-font() {
|
131 |
+
font-size: 15px;
|
132 |
+
line-height: 24px;
|
133 |
+
}
|
134 |
+
|
135 |
+
@mixin meta-font() {
|
136 |
+
font-style: italic;
|
137 |
+
color: #888;
|
138 |
+
}
|
assets/css/ajax-loader.gif
ADDED
Binary file
|
assets/css/animate.css
ADDED
@@ -0,0 +1,3341 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@charset "UTF-8";
|
2 |
+
|
3 |
+
/*!
|
4 |
+
* animate.css -http://daneden.me/animate
|
5 |
+
* Version - 3.5.1
|
6 |
+
* Licensed under the MIT license - http://opensource.org/licenses/MIT
|
7 |
+
*
|
8 |
+
* Copyright (c) 2016 Daniel Eden
|
9 |
+
*/
|
10 |
+
|
11 |
+
.animated {
|
12 |
+
-webkit-animation-duration: 1s;
|
13 |
+
animation-duration: 1s;
|
14 |
+
-webkit-animation-fill-mode: both;
|
15 |
+
animation-fill-mode: both;
|
16 |
+
}
|
17 |
+
|
18 |
+
.animated.infinite {
|
19 |
+
-webkit-animation-iteration-count: infinite;
|
20 |
+
animation-iteration-count: infinite;
|
21 |
+
}
|
22 |
+
|
23 |
+
.animated.hinge {
|
24 |
+
-webkit-animation-duration: 2s;
|
25 |
+
animation-duration: 2s;
|
26 |
+
}
|
27 |
+
|
28 |
+
.animated.flipOutX,
|
29 |
+
.animated.flipOutY,
|
30 |
+
.animated.bounceIn,
|
31 |
+
.animated.bounceOut {
|
32 |
+
-webkit-animation-duration: .75s;
|
33 |
+
animation-duration: .75s;
|
34 |
+
}
|
35 |
+
|
36 |
+
@-webkit-keyframes bounce {
|
37 |
+
from, 20%, 53%, 80%, to {
|
38 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
39 |
+
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
40 |
+
-webkit-transform: translate3d(0,0,0);
|
41 |
+
transform: translate3d(0,0,0);
|
42 |
+
}
|
43 |
+
|
44 |
+
40%, 43% {
|
45 |
+
-webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
46 |
+
animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
47 |
+
-webkit-transform: translate3d(0, -30px, 0);
|
48 |
+
transform: translate3d(0, -30px, 0);
|
49 |
+
}
|
50 |
+
|
51 |
+
70% {
|
52 |
+
-webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
53 |
+
animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
54 |
+
-webkit-transform: translate3d(0, -15px, 0);
|
55 |
+
transform: translate3d(0, -15px, 0);
|
56 |
+
}
|
57 |
+
|
58 |
+
90% {
|
59 |
+
-webkit-transform: translate3d(0,-4px,0);
|
60 |
+
transform: translate3d(0,-4px,0);
|
61 |
+
}
|
62 |
+
}
|
63 |
+
|
64 |
+
@keyframes bounce {
|
65 |
+
from, 20%, 53%, 80%, to {
|
66 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
67 |
+
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
68 |
+
-webkit-transform: translate3d(0,0,0);
|
69 |
+
transform: translate3d(0,0,0);
|
70 |
+
}
|
71 |
+
|
72 |
+
40%, 43% {
|
73 |
+
-webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
74 |
+
animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
75 |
+
-webkit-transform: translate3d(0, -30px, 0);
|
76 |
+
transform: translate3d(0, -30px, 0);
|
77 |
+
}
|
78 |
+
|
79 |
+
70% {
|
80 |
+
-webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
81 |
+
animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
82 |
+
-webkit-transform: translate3d(0, -15px, 0);
|
83 |
+
transform: translate3d(0, -15px, 0);
|
84 |
+
}
|
85 |
+
|
86 |
+
90% {
|
87 |
+
-webkit-transform: translate3d(0,-4px,0);
|
88 |
+
transform: translate3d(0,-4px,0);
|
89 |
+
}
|
90 |
+
}
|
91 |
+
|
92 |
+
.bounce {
|
93 |
+
-webkit-animation-name: bounce;
|
94 |
+
animation-name: bounce;
|
95 |
+
-webkit-transform-origin: center bottom;
|
96 |
+
transform-origin: center bottom;
|
97 |
+
}
|
98 |
+
|
99 |
+
@-webkit-keyframes flash {
|
100 |
+
from, 50%, to {
|
101 |
+
opacity: 1;
|
102 |
+
}
|
103 |
+
|
104 |
+
25%, 75% {
|
105 |
+
opacity: 0;
|
106 |
+
}
|
107 |
+
}
|
108 |
+
|
109 |
+
@keyframes flash {
|
110 |
+
from, 50%, to {
|
111 |
+
opacity: 1;
|
112 |
+
}
|
113 |
+
|
114 |
+
25%, 75% {
|
115 |
+
opacity: 0;
|
116 |
+
}
|
117 |
+
}
|
118 |
+
|
119 |
+
.flash {
|
120 |
+
-webkit-animation-name: flash;
|
121 |
+
animation-name: flash;
|
122 |
+
}
|
123 |
+
|
124 |
+
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
|
125 |
+
|
126 |
+
@-webkit-keyframes pulse {
|
127 |
+
from {
|
128 |
+
-webkit-transform: scale3d(1, 1, 1);
|
129 |
+
transform: scale3d(1, 1, 1);
|
130 |
+
}
|
131 |
+
|
132 |
+
50% {
|
133 |
+
-webkit-transform: scale3d(1.05, 1.05, 1.05);
|
134 |
+
transform: scale3d(1.05, 1.05, 1.05);
|
135 |
+
}
|
136 |
+
|
137 |
+
to {
|
138 |
+
-webkit-transform: scale3d(1, 1, 1);
|
139 |
+
transform: scale3d(1, 1, 1);
|
140 |
+
}
|
141 |
+
}
|
142 |
+
|
143 |
+
@keyframes pulse {
|
144 |
+
from {
|
145 |
+
-webkit-transform: scale3d(1, 1, 1);
|
146 |
+
transform: scale3d(1, 1, 1);
|
147 |
+
}
|
148 |
+
|
149 |
+
50% {
|
150 |
+
-webkit-transform: scale3d(1.05, 1.05, 1.05);
|
151 |
+
transform: scale3d(1.05, 1.05, 1.05);
|
152 |
+
}
|
153 |
+
|
154 |
+
to {
|
155 |
+
-webkit-transform: scale3d(1, 1, 1);
|
156 |
+
transform: scale3d(1, 1, 1);
|
157 |
+
}
|
158 |
+
}
|
159 |
+
|
160 |
+
.pulse {
|
161 |
+
-webkit-animation-name: pulse;
|
162 |
+
animation-name: pulse;
|
163 |
+
}
|
164 |
+
|
165 |
+
@-webkit-keyframes rubberBand {
|
166 |
+
from {
|
167 |
+
-webkit-transform: scale3d(1, 1, 1);
|
168 |
+
transform: scale3d(1, 1, 1);
|
169 |
+
}
|
170 |
+
|
171 |
+
30% {
|
172 |
+
-webkit-transform: scale3d(1.25, 0.75, 1);
|
173 |
+
transform: scale3d(1.25, 0.75, 1);
|
174 |
+
}
|
175 |
+
|
176 |
+
40% {
|
177 |
+
-webkit-transform: scale3d(0.75, 1.25, 1);
|
178 |
+
transform: scale3d(0.75, 1.25, 1);
|
179 |
+
}
|
180 |
+
|
181 |
+
50% {
|
182 |
+
-webkit-transform: scale3d(1.15, 0.85, 1);
|
183 |
+
transform: scale3d(1.15, 0.85, 1);
|
184 |
+
}
|
185 |
+
|
186 |
+
65% {
|
187 |
+
-webkit-transform: scale3d(.95, 1.05, 1);
|
188 |
+
transform: scale3d(.95, 1.05, 1);
|
189 |
+
}
|
190 |
+
|
191 |
+
75% {
|
192 |
+
-webkit-transform: scale3d(1.05, .95, 1);
|
193 |
+
transform: scale3d(1.05, .95, 1);
|
194 |
+
}
|
195 |
+
|
196 |
+
to {
|
197 |
+
-webkit-transform: scale3d(1, 1, 1);
|
198 |
+
transform: scale3d(1, 1, 1);
|
199 |
+
}
|
200 |
+
}
|
201 |
+
|
202 |
+
@keyframes rubberBand {
|
203 |
+
from {
|
204 |
+
-webkit-transform: scale3d(1, 1, 1);
|
205 |
+
transform: scale3d(1, 1, 1);
|
206 |
+
}
|
207 |
+
|
208 |
+
30% {
|
209 |
+
-webkit-transform: scale3d(1.25, 0.75, 1);
|
210 |
+
transform: scale3d(1.25, 0.75, 1);
|
211 |
+
}
|
212 |
+
|
213 |
+
40% {
|
214 |
+
-webkit-transform: scale3d(0.75, 1.25, 1);
|
215 |
+
transform: scale3d(0.75, 1.25, 1);
|
216 |
+
}
|
217 |
+
|
218 |
+
50% {
|
219 |
+
-webkit-transform: scale3d(1.15, 0.85, 1);
|
220 |
+
transform: scale3d(1.15, 0.85, 1);
|
221 |
+
}
|
222 |
+
|
223 |
+
65% {
|
224 |
+
-webkit-transform: scale3d(.95, 1.05, 1);
|
225 |
+
transform: scale3d(.95, 1.05, 1);
|
226 |
+
}
|
227 |
+
|
228 |
+
75% {
|
229 |
+
-webkit-transform: scale3d(1.05, .95, 1);
|
230 |
+
transform: scale3d(1.05, .95, 1);
|
231 |
+
}
|
232 |
+
|
233 |
+
to {
|
234 |
+
-webkit-transform: scale3d(1, 1, 1);
|
235 |
+
transform: scale3d(1, 1, 1);
|
236 |
+
}
|
237 |
+
}
|
238 |
+
|
239 |
+
.rubberBand {
|
240 |
+
-webkit-animation-name: rubberBand;
|
241 |
+
animation-name: rubberBand;
|
242 |
+
}
|
243 |
+
|
244 |
+
@-webkit-keyframes shake {
|
245 |
+
from, to {
|
246 |
+
-webkit-transform: translate3d(0, 0, 0);
|
247 |
+
transform: translate3d(0, 0, 0);
|
248 |
+
}
|
249 |
+
|
250 |
+
10%, 30%, 50%, 70%, 90% {
|
251 |
+
-webkit-transform: translate3d(-10px, 0, 0);
|
252 |
+
transform: translate3d(-10px, 0, 0);
|
253 |
+
}
|
254 |
+
|
255 |
+
20%, 40%, 60%, 80% {
|
256 |
+
-webkit-transform: translate3d(10px, 0, 0);
|
257 |
+
transform: translate3d(10px, 0, 0);
|
258 |
+
}
|
259 |
+
}
|
260 |
+
|
261 |
+
@keyframes shake {
|
262 |
+
from, to {
|
263 |
+
-webkit-transform: translate3d(0, 0, 0);
|
264 |
+
transform: translate3d(0, 0, 0);
|
265 |
+
}
|
266 |
+
|
267 |
+
10%, 30%, 50%, 70%, 90% {
|
268 |
+
-webkit-transform: translate3d(-10px, 0, 0);
|
269 |
+
transform: translate3d(-10px, 0, 0);
|
270 |
+
}
|
271 |
+
|
272 |
+
20%, 40%, 60%, 80% {
|
273 |
+
-webkit-transform: translate3d(10px, 0, 0);
|
274 |
+
transform: translate3d(10px, 0, 0);
|
275 |
+
}
|
276 |
+
}
|
277 |
+
|
278 |
+
.shake {
|
279 |
+
-webkit-animation-name: shake;
|
280 |
+
animation-name: shake;
|
281 |
+
}
|
282 |
+
|
283 |
+
@-webkit-keyframes headShake {
|
284 |
+
0% {
|
285 |
+
-webkit-transform: translateX(0);
|
286 |
+
transform: translateX(0);
|
287 |
+
}
|
288 |
+
|
289 |
+
6.5% {
|
290 |
+
-webkit-transform: translateX(-6px) rotateY(-9deg);
|
291 |
+
transform: translateX(-6px) rotateY(-9deg);
|
292 |
+
}
|
293 |
+
|
294 |
+
18.5% {
|
295 |
+
-webkit-transform: translateX(5px) rotateY(7deg);
|
296 |
+
transform: translateX(5px) rotateY(7deg);
|
297 |
+
}
|
298 |
+
|
299 |
+
31.5% {
|
300 |
+
-webkit-transform: translateX(-3px) rotateY(-5deg);
|
301 |
+
transform: translateX(-3px) rotateY(-5deg);
|
302 |
+
}
|
303 |
+
|
304 |
+
43.5% {
|
305 |
+
-webkit-transform: translateX(2px) rotateY(3deg);
|
306 |
+
transform: translateX(2px) rotateY(3deg);
|
307 |
+
}
|
308 |
+
|
309 |
+
50% {
|
310 |
+
-webkit-transform: translateX(0);
|
311 |
+
transform: translateX(0);
|
312 |
+
}
|
313 |
+
}
|
314 |
+
|
315 |
+
@keyframes headShake {
|
316 |
+
0% {
|
317 |
+
-webkit-transform: translateX(0);
|
318 |
+
transform: translateX(0);
|
319 |
+
}
|
320 |
+
|
321 |
+
6.5% {
|
322 |
+
-webkit-transform: translateX(-6px) rotateY(-9deg);
|
323 |
+
transform: translateX(-6px) rotateY(-9deg);
|
324 |
+
}
|
325 |
+
|
326 |
+
18.5% {
|
327 |
+
-webkit-transform: translateX(5px) rotateY(7deg);
|
328 |
+
transform: translateX(5px) rotateY(7deg);
|
329 |
+
}
|
330 |
+
|
331 |
+
31.5% {
|
332 |
+
-webkit-transform: translateX(-3px) rotateY(-5deg);
|
333 |
+
transform: translateX(-3px) rotateY(-5deg);
|
334 |
+
}
|
335 |
+
|
336 |
+
43.5% {
|
337 |
+
-webkit-transform: translateX(2px) rotateY(3deg);
|
338 |
+
transform: translateX(2px) rotateY(3deg);
|
339 |
+
}
|
340 |
+
|
341 |
+
50% {
|
342 |
+
-webkit-transform: translateX(0);
|
343 |
+
transform: translateX(0);
|
344 |
+
}
|
345 |
+
}
|
346 |
+
|
347 |
+
.headShake {
|
348 |
+
-webkit-animation-timing-function: ease-in-out;
|
349 |
+
animation-timing-function: ease-in-out;
|
350 |
+
-webkit-animation-name: headShake;
|
351 |
+
animation-name: headShake;
|
352 |
+
}
|
353 |
+
|
354 |
+
@-webkit-keyframes swing {
|
355 |
+
20% {
|
356 |
+
-webkit-transform: rotate3d(0, 0, 1, 15deg);
|
357 |
+
transform: rotate3d(0, 0, 1, 15deg);
|
358 |
+
}
|
359 |
+
|
360 |
+
40% {
|
361 |
+
-webkit-transform: rotate3d(0, 0, 1, -10deg);
|
362 |
+
transform: rotate3d(0, 0, 1, -10deg);
|
363 |
+
}
|
364 |
+
|
365 |
+
60% {
|
366 |
+
-webkit-transform: rotate3d(0, 0, 1, 5deg);
|
367 |
+
transform: rotate3d(0, 0, 1, 5deg);
|
368 |
+
}
|
369 |
+
|
370 |
+
80% {
|
371 |
+
-webkit-transform: rotate3d(0, 0, 1, -5deg);
|
372 |
+
transform: rotate3d(0, 0, 1, -5deg);
|
373 |
+
}
|
374 |
+
|
375 |
+
to {
|
376 |
+
-webkit-transform: rotate3d(0, 0, 1, 0deg);
|
377 |
+
transform: rotate3d(0, 0, 1, 0deg);
|
378 |
+
}
|
379 |
+
}
|
380 |
+
|
381 |
+
@keyframes swing {
|
382 |
+
20% {
|
383 |
+
-webkit-transform: rotate3d(0, 0, 1, 15deg);
|
384 |
+
transform: rotate3d(0, 0, 1, 15deg);
|
385 |
+
}
|
386 |
+
|
387 |
+
40% {
|
388 |
+
-webkit-transform: rotate3d(0, 0, 1, -10deg);
|
389 |
+
transform: rotate3d(0, 0, 1, -10deg);
|
390 |
+
}
|
391 |
+
|
392 |
+
60% {
|
393 |
+
-webkit-transform: rotate3d(0, 0, 1, 5deg);
|
394 |
+
transform: rotate3d(0, 0, 1, 5deg);
|
395 |
+
}
|
396 |
+
|
397 |
+
80% {
|
398 |
+
-webkit-transform: rotate3d(0, 0, 1, -5deg);
|
399 |
+
transform: rotate3d(0, 0, 1, -5deg);
|
400 |
+
}
|
401 |
+
|
402 |
+
to {
|
403 |
+
-webkit-transform: rotate3d(0, 0, 1, 0deg);
|
404 |
+
transform: rotate3d(0, 0, 1, 0deg);
|
405 |
+
}
|
406 |
+
}
|
407 |
+
|
408 |
+
.swing {
|
409 |
+
-webkit-transform-origin: top center;
|
410 |
+
transform-origin: top center;
|
411 |
+
-webkit-animation-name: swing;
|
412 |
+
animation-name: swing;
|
413 |
+
}
|
414 |
+
|
415 |
+
@-webkit-keyframes tada {
|
416 |
+
from {
|
417 |
+
-webkit-transform: scale3d(1, 1, 1);
|
418 |
+
transform: scale3d(1, 1, 1);
|
419 |
+
}
|
420 |
+
|
421 |
+
10%, 20% {
|
422 |
+
-webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
|
423 |
+
transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
|
424 |
+
}
|
425 |
+
|
426 |
+
30%, 50%, 70%, 90% {
|
427 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
|
428 |
+
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
|
429 |
+
}
|
430 |
+
|
431 |
+
40%, 60%, 80% {
|
432 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
|
433 |
+
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
|
434 |
+
}
|
435 |
+
|
436 |
+
to {
|
437 |
+
-webkit-transform: scale3d(1, 1, 1);
|
438 |
+
transform: scale3d(1, 1, 1);
|
439 |
+
}
|
440 |
+
}
|
441 |
+
|
442 |
+
@keyframes tada {
|
443 |
+
from {
|
444 |
+
-webkit-transform: scale3d(1, 1, 1);
|
445 |
+
transform: scale3d(1, 1, 1);
|
446 |
+
}
|
447 |
+
|
448 |
+
10%, 20% {
|
449 |
+
-webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
|
450 |
+
transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
|
451 |
+
}
|
452 |
+
|
453 |
+
30%, 50%, 70%, 90% {
|
454 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
|
455 |
+
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
|
456 |
+
}
|
457 |
+
|
458 |
+
40%, 60%, 80% {
|
459 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
|
460 |
+
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
|
461 |
+
}
|
462 |
+
|
463 |
+
to {
|
464 |
+
-webkit-transform: scale3d(1, 1, 1);
|
465 |
+
transform: scale3d(1, 1, 1);
|
466 |
+
}
|
467 |
+
}
|
468 |
+
|
469 |
+
.tada {
|
470 |
+
-webkit-animation-name: tada;
|
471 |
+
animation-name: tada;
|
472 |
+
}
|
473 |
+
|
474 |
+
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
|
475 |
+
|
476 |
+
@-webkit-keyframes wobble {
|
477 |
+
from {
|
478 |
+
-webkit-transform: none;
|
479 |
+
transform: none;
|
480 |
+
}
|
481 |
+
|
482 |
+
15% {
|
483 |
+
-webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
|
484 |
+
transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
|
485 |
+
}
|
486 |
+
|
487 |
+
30% {
|
488 |
+
-webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
|
489 |
+
transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
|
490 |
+
}
|
491 |
+
|
492 |
+
45% {
|
493 |
+
-webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
|
494 |
+
transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
|
495 |
+
}
|
496 |
+
|
497 |
+
60% {
|
498 |
+
-webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
|
499 |
+
transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
|
500 |
+
}
|
501 |
+
|
502 |
+
75% {
|
503 |
+
-webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
|
504 |
+
transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
|
505 |
+
}
|
506 |
+
|
507 |
+
to {
|
508 |
+
-webkit-transform: none;
|
509 |
+
transform: none;
|
510 |
+
}
|
511 |
+
}
|
512 |
+
|
513 |
+
@keyframes wobble {
|
514 |
+
from {
|
515 |
+
-webkit-transform: none;
|
516 |
+
transform: none;
|
517 |
+
}
|
518 |
+
|
519 |
+
15% {
|
520 |
+
-webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
|
521 |
+
transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
|
522 |
+
}
|
523 |
+
|
524 |
+
30% {
|
525 |
+
-webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
|
526 |
+
transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
|
527 |
+
}
|
528 |
+
|
529 |
+
45% {
|
530 |
+
-webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
|
531 |
+
transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
|
532 |
+
}
|
533 |
+
|
534 |
+
60% {
|
535 |
+
-webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
|
536 |
+
transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
|
537 |
+
}
|
538 |
+
|
539 |
+
75% {
|
540 |
+
-webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
|
541 |
+
transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
|
542 |
+
}
|
543 |
+
|
544 |
+
to {
|
545 |
+
-webkit-transform: none;
|
546 |
+
transform: none;
|
547 |
+
}
|
548 |
+
}
|
549 |
+
|
550 |
+
.wobble {
|
551 |
+
-webkit-animation-name: wobble;
|
552 |
+
animation-name: wobble;
|
553 |
+
}
|
554 |
+
|
555 |
+
@-webkit-keyframes jello {
|
556 |
+
from, 11.1%, to {
|
557 |
+
-webkit-transform: none;
|
558 |
+
transform: none;
|
559 |
+
}
|
560 |
+
|
561 |
+
22.2% {
|
562 |
+
-webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
|
563 |
+
transform: skewX(-12.5deg) skewY(-12.5deg);
|
564 |
+
}
|
565 |
+
|
566 |
+
33.3% {
|
567 |
+
-webkit-transform: skewX(6.25deg) skewY(6.25deg);
|
568 |
+
transform: skewX(6.25deg) skewY(6.25deg);
|
569 |
+
}
|
570 |
+
|
571 |
+
44.4% {
|
572 |
+
-webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
|
573 |
+
transform: skewX(-3.125deg) skewY(-3.125deg);
|
574 |
+
}
|
575 |
+
|
576 |
+
55.5% {
|
577 |
+
-webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
|
578 |
+
transform: skewX(1.5625deg) skewY(1.5625deg);
|
579 |
+
}
|
580 |
+
|
581 |
+
66.6% {
|
582 |
+
-webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
|
583 |
+
transform: skewX(-0.78125deg) skewY(-0.78125deg);
|
584 |
+
}
|
585 |
+
|
586 |
+
77.7% {
|
587 |
+
-webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
|
588 |
+
transform: skewX(0.390625deg) skewY(0.390625deg);
|
589 |
+
}
|
590 |
+
|
591 |
+
88.8% {
|
592 |
+
-webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
|
593 |
+
transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
|
594 |
+
}
|
595 |
+
}
|
596 |
+
|
597 |
+
@keyframes jello {
|
598 |
+
from, 11.1%, to {
|
599 |
+
-webkit-transform: none;
|
600 |
+
transform: none;
|
601 |
+
}
|
602 |
+
|
603 |
+
22.2% {
|
604 |
+
-webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
|
605 |
+
transform: skewX(-12.5deg) skewY(-12.5deg);
|
606 |
+
}
|
607 |
+
|
608 |
+
33.3% {
|
609 |
+
-webkit-transform: skewX(6.25deg) skewY(6.25deg);
|
610 |
+
transform: skewX(6.25deg) skewY(6.25deg);
|
611 |
+
}
|
612 |
+
|
613 |
+
44.4% {
|
614 |
+
-webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
|
615 |
+
transform: skewX(-3.125deg) skewY(-3.125deg);
|
616 |
+
}
|
617 |
+
|
618 |
+
55.5% {
|
619 |
+
-webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
|
620 |
+
transform: skewX(1.5625deg) skewY(1.5625deg);
|
621 |
+
}
|
622 |
+
|
623 |
+
66.6% {
|
624 |
+
-webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
|
625 |
+
transform: skewX(-0.78125deg) skewY(-0.78125deg);
|
626 |
+
}
|
627 |
+
|
628 |
+
77.7% {
|
629 |
+
-webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
|
630 |
+
transform: skewX(0.390625deg) skewY(0.390625deg);
|
631 |
+
}
|
632 |
+
|
633 |
+
88.8% {
|
634 |
+
-webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
|
635 |
+
transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
|
636 |
+
}
|
637 |
+
}
|
638 |
+
|
639 |
+
.jello {
|
640 |
+
-webkit-animation-name: jello;
|
641 |
+
animation-name: jello;
|
642 |
+
-webkit-transform-origin: center;
|
643 |
+
transform-origin: center;
|
644 |
+
}
|
645 |
+
|
646 |
+
@-webkit-keyframes bounceIn {
|
647 |
+
from, 20%, 40%, 60%, 80%, to {
|
648 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
649 |
+
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
650 |
+
}
|
651 |
+
|
652 |
+
0% {
|
653 |
+
opacity: 0;
|
654 |
+
-webkit-transform: scale3d(.3, .3, .3);
|
655 |
+
transform: scale3d(.3, .3, .3);
|
656 |
+
}
|
657 |
+
|
658 |
+
20% {
|
659 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1);
|
660 |
+
transform: scale3d(1.1, 1.1, 1.1);
|
661 |
+
}
|
662 |
+
|
663 |
+
40% {
|
664 |
+
-webkit-transform: scale3d(.9, .9, .9);
|
665 |
+
transform: scale3d(.9, .9, .9);
|
666 |
+
}
|
667 |
+
|
668 |
+
60% {
|
669 |
+
opacity: 1;
|
670 |
+
-webkit-transform: scale3d(1.03, 1.03, 1.03);
|
671 |
+
transform: scale3d(1.03, 1.03, 1.03);
|
672 |
+
}
|
673 |
+
|
674 |
+
80% {
|
675 |
+
-webkit-transform: scale3d(.97, .97, .97);
|
676 |
+
transform: scale3d(.97, .97, .97);
|
677 |
+
}
|
678 |
+
|
679 |
+
to {
|
680 |
+
opacity: 1;
|
681 |
+
-webkit-transform: scale3d(1, 1, 1);
|
682 |
+
transform: scale3d(1, 1, 1);
|
683 |
+
}
|
684 |
+
}
|
685 |
+
|
686 |
+
@keyframes bounceIn {
|
687 |
+
from, 20%, 40%, 60%, 80%, to {
|
688 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
689 |
+
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
690 |
+
}
|
691 |
+
|
692 |
+
0% {
|
693 |
+
opacity: 0;
|
694 |
+
-webkit-transform: scale3d(.3, .3, .3);
|
695 |
+
transform: scale3d(.3, .3, .3);
|
696 |
+
}
|
697 |
+
|
698 |
+
20% {
|
699 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1);
|
700 |
+
transform: scale3d(1.1, 1.1, 1.1);
|
701 |
+
}
|
702 |
+
|
703 |
+
40% {
|
704 |
+
-webkit-transform: scale3d(.9, .9, .9);
|
705 |
+
transform: scale3d(.9, .9, .9);
|
706 |
+
}
|
707 |
+
|
708 |
+
60% {
|
709 |
+
opacity: 1;
|
710 |
+
-webkit-transform: scale3d(1.03, 1.03, 1.03);
|
711 |
+
transform: scale3d(1.03, 1.03, 1.03);
|
712 |
+
}
|
713 |
+
|
714 |
+
80% {
|
715 |
+
-webkit-transform: scale3d(.97, .97, .97);
|
716 |
+
transform: scale3d(.97, .97, .97);
|
717 |
+
}
|
718 |
+
|
719 |
+
to {
|
720 |
+
opacity: 1;
|
721 |
+
-webkit-transform: scale3d(1, 1, 1);
|
722 |
+
transform: scale3d(1, 1, 1);
|
723 |
+
}
|
724 |
+
}
|
725 |
+
|
726 |
+
.bounceIn {
|
727 |
+
-webkit-animation-name: bounceIn;
|
728 |
+
animation-name: bounceIn;
|
729 |
+
}
|
730 |
+
|
731 |
+
@-webkit-keyframes bounceInDown {
|
732 |
+
from, 60%, 75%, 90%, to {
|
733 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
734 |
+
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
735 |
+
}
|
736 |
+
|
737 |
+
0% {
|
738 |
+
opacity: 0;
|
739 |
+
-webkit-transform: translate3d(0, -3000px, 0);
|
740 |
+
transform: translate3d(0, -3000px, 0);
|
741 |
+
}
|
742 |
+
|
743 |
+
60% {
|
744 |
+
opacity: 1;
|
745 |
+
-webkit-transform: translate3d(0, 25px, 0);
|
746 |
+
transform: translate3d(0, 25px, 0);
|
747 |
+
}
|
748 |
+
|
749 |
+
75% {
|
750 |
+
-webkit-transform: translate3d(0, -10px, 0);
|
751 |
+
transform: translate3d(0, -10px, 0);
|
752 |
+
}
|
753 |
+
|
754 |
+
90% {
|
755 |
+
-webkit-transform: translate3d(0, 5px, 0);
|
756 |
+
transform: translate3d(0, 5px, 0);
|
757 |
+
}
|
758 |
+
|
759 |
+
to {
|
760 |
+
-webkit-transform: none;
|
761 |
+
transform: none;
|
762 |
+
}
|
763 |
+
}
|
764 |
+
|
765 |
+
@keyframes bounceInDown {
|
766 |
+
from, 60%, 75%, 90%, to {
|
767 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
768 |
+
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
769 |
+
}
|
770 |
+
|
771 |
+
0% {
|
772 |
+
opacity: 0;
|
773 |
+
-webkit-transform: translate3d(0, -3000px, 0);
|
774 |
+
transform: translate3d(0, -3000px, 0);
|
775 |
+
}
|
776 |
+
|
777 |
+
60% {
|
778 |
+
opacity: 1;
|
779 |
+
-webkit-transform: translate3d(0, 25px, 0);
|
780 |
+
transform: translate3d(0, 25px, 0);
|
781 |
+
}
|
782 |
+
|
783 |
+
75% {
|
784 |
+
-webkit-transform: translate3d(0, -10px, 0);
|
785 |
+
transform: translate3d(0, -10px, 0);
|
786 |
+
}
|
787 |
+
|
788 |
+
90% {
|
789 |
+
-webkit-transform: translate3d(0, 5px, 0);
|
790 |
+
transform: translate3d(0, 5px, 0);
|
791 |
+
}
|
792 |
+
|
793 |
+
to {
|
794 |
+
-webkit-transform: none;
|
795 |
+
transform: none;
|
796 |
+
}
|
797 |
+
}
|
798 |
+
|
799 |
+
.bounceInDown {
|
800 |
+
-webkit-animation-name: bounceInDown;
|
801 |
+
animation-name: bounceInDown;
|
802 |
+
}
|
803 |
+
|
804 |
+
@-webkit-keyframes bounceInLeft {
|
805 |
+
from, 60%, 75%, 90%, to {
|
806 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
807 |
+
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
808 |
+
}
|
809 |
+
|
810 |
+
0% {
|
811 |
+
opacity: 0;
|
812 |
+
-webkit-transform: translate3d(-3000px, 0, 0);
|
813 |
+
transform: translate3d(-3000px, 0, 0);
|
814 |
+
}
|
815 |
+
|
816 |
+
60% {
|
817 |
+
opacity: 1;
|
818 |
+
-webkit-transform: translate3d(25px, 0, 0);
|
819 |
+
transform: translate3d(25px, 0, 0);
|
820 |
+
}
|
821 |
+
|
822 |
+
75% {
|
823 |
+
-webkit-transform: translate3d(-10px, 0, 0);
|
824 |
+
transform: translate3d(-10px, 0, 0);
|
825 |
+
}
|
826 |
+
|
827 |
+
90% {
|
828 |
+
-webkit-transform: translate3d(5px, 0, 0);
|
829 |
+
transform: translate3d(5px, 0, 0);
|
830 |
+
}
|
831 |
+
|
832 |
+
to {
|
833 |
+
-webkit-transform: none;
|
834 |
+
transform: none;
|
835 |
+
}
|
836 |
+
}
|
837 |
+
|
838 |
+
@keyframes bounceInLeft {
|
839 |
+
from, 60%, 75%, 90%, to {
|
840 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
841 |
+
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
842 |
+
}
|
843 |
+
|
844 |
+
0% {
|
845 |
+
opacity: 0;
|
846 |
+
-webkit-transform: translate3d(-3000px, 0, 0);
|
847 |
+
transform: translate3d(-3000px, 0, 0);
|
848 |
+
}
|
849 |
+
|
850 |
+
60% {
|
851 |
+
opacity: 1;
|
852 |
+
-webkit-transform: translate3d(25px, 0, 0);
|
853 |
+
transform: translate3d(25px, 0, 0);
|
854 |
+
}
|
855 |
+
|
856 |
+
75% {
|
857 |
+
-webkit-transform: translate3d(-10px, 0, 0);
|
858 |
+
transform: translate3d(-10px, 0, 0);
|
859 |
+
}
|
860 |
+
|
861 |
+
90% {
|
862 |
+
-webkit-transform: translate3d(5px, 0, 0);
|
863 |
+
transform: translate3d(5px, 0, 0);
|
864 |
+
}
|
865 |
+
|
866 |
+
to {
|
867 |
+
-webkit-transform: none;
|
868 |
+
transform: none;
|
869 |
+
}
|
870 |
+
}
|
871 |
+
|
872 |
+
.bounceInLeft {
|
873 |
+
-webkit-animation-name: bounceInLeft;
|
874 |
+
animation-name: bounceInLeft;
|
875 |
+
}
|
876 |
+
|
877 |
+
@-webkit-keyframes bounceInRight {
|
878 |
+
from, 60%, 75%, 90%, to {
|
879 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
880 |
+
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
881 |
+
}
|
882 |
+
|
883 |
+
from {
|
884 |
+
opacity: 0;
|
885 |
+
-webkit-transform: translate3d(3000px, 0, 0);
|
886 |
+
transform: translate3d(3000px, 0, 0);
|
887 |
+
}
|
888 |
+
|
889 |
+
60% {
|
890 |
+
opacity: 1;
|
891 |
+
-webkit-transform: translate3d(-25px, 0, 0);
|
892 |
+
transform: translate3d(-25px, 0, 0);
|
893 |
+
}
|
894 |
+
|
895 |
+
75% {
|
896 |
+
-webkit-transform: translate3d(10px, 0, 0);
|
897 |
+
transform: translate3d(10px, 0, 0);
|
898 |
+
}
|
899 |
+
|
900 |
+
90% {
|
901 |
+
-webkit-transform: translate3d(-5px, 0, 0);
|
902 |
+
transform: translate3d(-5px, 0, 0);
|
903 |
+
}
|
904 |
+
|
905 |
+
to {
|
906 |
+
-webkit-transform: none;
|
907 |
+
transform: none;
|
908 |
+
}
|
909 |
+
}
|
910 |
+
|
911 |
+
@keyframes bounceInRight {
|
912 |
+
from, 60%, 75%, 90%, to {
|
913 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
914 |
+
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
915 |
+
}
|
916 |
+
|
917 |
+
from {
|
918 |
+
opacity: 0;
|
919 |
+
-webkit-transform: translate3d(3000px, 0, 0);
|
920 |
+
transform: translate3d(3000px, 0, 0);
|
921 |
+
}
|
922 |
+
|
923 |
+
60% {
|
924 |
+
opacity: 1;
|
925 |
+
-webkit-transform: translate3d(-25px, 0, 0);
|
926 |
+
transform: translate3d(-25px, 0, 0);
|
927 |
+
}
|
928 |
+
|
929 |
+
75% {
|
930 |
+
-webkit-transform: translate3d(10px, 0, 0);
|
931 |
+
transform: translate3d(10px, 0, 0);
|
932 |
+
}
|
933 |
+
|
934 |
+
90% {
|
935 |
+
-webkit-transform: translate3d(-5px, 0, 0);
|
936 |
+
transform: translate3d(-5px, 0, 0);
|
937 |
+
}
|
938 |
+
|
939 |
+
to {
|
940 |
+
-webkit-transform: none;
|
941 |
+
transform: none;
|
942 |
+
}
|
943 |
+
}
|
944 |
+
|
945 |
+
.bounceInRight {
|
946 |
+
-webkit-animation-name: bounceInRight;
|
947 |
+
animation-name: bounceInRight;
|
948 |
+
}
|
949 |
+
|
950 |
+
@-webkit-keyframes bounceInUp {
|
951 |
+
from, 60%, 75%, 90%, to {
|
952 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
953 |
+
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
954 |
+
}
|
955 |
+
|
956 |
+
from {
|
957 |
+
opacity: 0;
|
958 |
+
-webkit-transform: translate3d(0, 3000px, 0);
|
959 |
+
transform: translate3d(0, 3000px, 0);
|
960 |
+
}
|
961 |
+
|
962 |
+
60% {
|
963 |
+
opacity: 1;
|
964 |
+
-webkit-transform: translate3d(0, -20px, 0);
|
965 |
+
transform: translate3d(0, -20px, 0);
|
966 |
+
}
|
967 |
+
|
968 |
+
75% {
|
969 |
+
-webkit-transform: translate3d(0, 10px, 0);
|
970 |
+
transform: translate3d(0, 10px, 0);
|
971 |
+
}
|
972 |
+
|
973 |
+
90% {
|
974 |
+
-webkit-transform: translate3d(0, -5px, 0);
|
975 |
+
transform: translate3d(0, -5px, 0);
|
976 |
+
}
|
977 |
+
|
978 |
+
to {
|
979 |
+
-webkit-transform: translate3d(0, 0, 0);
|
980 |
+
transform: translate3d(0, 0, 0);
|
981 |
+
}
|
982 |
+
}
|
983 |
+
|
984 |
+
@keyframes bounceInUp {
|
985 |
+
from, 60%, 75%, 90%, to {
|
986 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
987 |
+
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
988 |
+
}
|
989 |
+
|
990 |
+
from {
|
991 |
+
opacity: 0;
|
992 |
+
-webkit-transform: translate3d(0, 3000px, 0);
|
993 |
+
transform: translate3d(0, 3000px, 0);
|
994 |
+
}
|
995 |
+
|
996 |
+
60% {
|
997 |
+
opacity: 1;
|
998 |
+
-webkit-transform: translate3d(0, -20px, 0);
|
999 |
+
transform: translate3d(0, -20px, 0);
|
1000 |
+
}
|
1001 |
+
|
1002 |
+
75% {
|
1003 |
+
-webkit-transform: translate3d(0, 10px, 0);
|
1004 |
+
transform: translate3d(0, 10px, 0);
|
1005 |
+
}
|
1006 |
+
|
1007 |
+
90% {
|
1008 |
+
-webkit-transform: translate3d(0, -5px, 0);
|
1009 |
+
transform: translate3d(0, -5px, 0);
|
1010 |
+
}
|
1011 |
+
|
1012 |
+
to {
|
1013 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1014 |
+
transform: translate3d(0, 0, 0);
|
1015 |
+
}
|
1016 |
+
}
|
1017 |
+
|
1018 |
+
.bounceInUp {
|
1019 |
+
-webkit-animation-name: bounceInUp;
|
1020 |
+
animation-name: bounceInUp;
|
1021 |
+
}
|
1022 |
+
|
1023 |
+
@-webkit-keyframes bounceOut {
|
1024 |
+
20% {
|
1025 |
+
-webkit-transform: scale3d(.9, .9, .9);
|
1026 |
+
transform: scale3d(.9, .9, .9);
|
1027 |
+
}
|
1028 |
+
|
1029 |
+
50%, 55% {
|
1030 |
+
opacity: 1;
|
1031 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1);
|
1032 |
+
transform: scale3d(1.1, 1.1, 1.1);
|
1033 |
+
}
|
1034 |
+
|
1035 |
+
to {
|
1036 |
+
opacity: 0;
|
1037 |
+
-webkit-transform: scale3d(.3, .3, .3);
|
1038 |
+
transform: scale3d(.3, .3, .3);
|
1039 |
+
}
|
1040 |
+
}
|
1041 |
+
|
1042 |
+
@keyframes bounceOut {
|
1043 |
+
20% {
|
1044 |
+
-webkit-transform: scale3d(.9, .9, .9);
|
1045 |
+
transform: scale3d(.9, .9, .9);
|
1046 |
+
}
|
1047 |
+
|
1048 |
+
50%, 55% {
|
1049 |
+
opacity: 1;
|
1050 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1);
|
1051 |
+
transform: scale3d(1.1, 1.1, 1.1);
|
1052 |
+
}
|
1053 |
+
|
1054 |
+
to {
|
1055 |
+
opacity: 0;
|
1056 |
+
-webkit-transform: scale3d(.3, .3, .3);
|
1057 |
+
transform: scale3d(.3, .3, .3);
|
1058 |
+
}
|
1059 |
+
}
|
1060 |
+
|
1061 |
+
.bounceOut {
|
1062 |
+
-webkit-animation-name: bounceOut;
|
1063 |
+
animation-name: bounceOut;
|
1064 |
+
}
|
1065 |
+
|
1066 |
+
@-webkit-keyframes bounceOutDown {
|
1067 |
+
20% {
|
1068 |
+
-webkit-transform: translate3d(0, 10px, 0);
|
1069 |
+
transform: translate3d(0, 10px, 0);
|
1070 |
+
}
|
1071 |
+
|
1072 |
+
40%, 45% {
|
1073 |
+
opacity: 1;
|
1074 |
+
-webkit-transform: translate3d(0, -20px, 0);
|
1075 |
+
transform: translate3d(0, -20px, 0);
|
1076 |
+
}
|
1077 |
+
|
1078 |
+
to {
|
1079 |
+
opacity: 0;
|
1080 |
+
-webkit-transform: translate3d(0, 2000px, 0);
|
1081 |
+
transform: translate3d(0, 2000px, 0);
|
1082 |
+
}
|
1083 |
+
}
|
1084 |
+
|
1085 |
+
@keyframes bounceOutDown {
|
1086 |
+
20% {
|
1087 |
+
-webkit-transform: translate3d(0, 10px, 0);
|
1088 |
+
transform: translate3d(0, 10px, 0);
|
1089 |
+
}
|
1090 |
+
|
1091 |
+
40%, 45% {
|
1092 |
+
opacity: 1;
|
1093 |
+
-webkit-transform: translate3d(0, -20px, 0);
|
1094 |
+
transform: translate3d(0, -20px, 0);
|
1095 |
+
}
|
1096 |
+
|
1097 |
+
to {
|
1098 |
+
opacity: 0;
|
1099 |
+
-webkit-transform: translate3d(0, 2000px, 0);
|
1100 |
+
transform: translate3d(0, 2000px, 0);
|
1101 |
+
}
|
1102 |
+
}
|
1103 |
+
|
1104 |
+
.bounceOutDown {
|
1105 |
+
-webkit-animation-name: bounceOutDown;
|
1106 |
+
animation-name: bounceOutDown;
|
1107 |
+
}
|
1108 |
+
|
1109 |
+
@-webkit-keyframes bounceOutLeft {
|
1110 |
+
20% {
|
1111 |
+
opacity: 1;
|
1112 |
+
-webkit-transform: translate3d(20px, 0, 0);
|
1113 |
+
transform: translate3d(20px, 0, 0);
|
1114 |
+
}
|
1115 |
+
|
1116 |
+
to {
|
1117 |
+
opacity: 0;
|
1118 |
+
-webkit-transform: translate3d(-2000px, 0, 0);
|
1119 |
+
transform: translate3d(-2000px, 0, 0);
|
1120 |
+
}
|
1121 |
+
}
|
1122 |
+
|
1123 |
+
@keyframes bounceOutLeft {
|
1124 |
+
20% {
|
1125 |
+
opacity: 1;
|
1126 |
+
-webkit-transform: translate3d(20px, 0, 0);
|
1127 |
+
transform: translate3d(20px, 0, 0);
|
1128 |
+
}
|
1129 |
+
|
1130 |
+
to {
|
1131 |
+
opacity: 0;
|
1132 |
+
-webkit-transform: translate3d(-2000px, 0, 0);
|
1133 |
+
transform: translate3d(-2000px, 0, 0);
|
1134 |
+
}
|
1135 |
+
}
|
1136 |
+
|
1137 |
+
.bounceOutLeft {
|
1138 |
+
-webkit-animation-name: bounceOutLeft;
|
1139 |
+
animation-name: bounceOutLeft;
|
1140 |
+
}
|
1141 |
+
|
1142 |
+
@-webkit-keyframes bounceOutRight {
|
1143 |
+
20% {
|
1144 |
+
opacity: 1;
|
1145 |
+
-webkit-transform: translate3d(-20px, 0, 0);
|
1146 |
+
transform: translate3d(-20px, 0, 0);
|
1147 |
+
}
|
1148 |
+
|
1149 |
+
to {
|
1150 |
+
opacity: 0;
|
1151 |
+
-webkit-transform: translate3d(2000px, 0, 0);
|
1152 |
+
transform: translate3d(2000px, 0, 0);
|
1153 |
+
}
|
1154 |
+
}
|
1155 |
+
|
1156 |
+
@keyframes bounceOutRight {
|
1157 |
+
20% {
|
1158 |
+
opacity: 1;
|
1159 |
+
-webkit-transform: translate3d(-20px, 0, 0);
|
1160 |
+
transform: translate3d(-20px, 0, 0);
|
1161 |
+
}
|
1162 |
+
|
1163 |
+
to {
|
1164 |
+
opacity: 0;
|
1165 |
+
-webkit-transform: translate3d(2000px, 0, 0);
|
1166 |
+
transform: translate3d(2000px, 0, 0);
|
1167 |
+
}
|
1168 |
+
}
|
1169 |
+
|
1170 |
+
.bounceOutRight {
|
1171 |
+
-webkit-animation-name: bounceOutRight;
|
1172 |
+
animation-name: bounceOutRight;
|
1173 |
+
}
|
1174 |
+
|
1175 |
+
@-webkit-keyframes bounceOutUp {
|
1176 |
+
20% {
|
1177 |
+
-webkit-transform: translate3d(0, -10px, 0);
|
1178 |
+
transform: translate3d(0, -10px, 0);
|
1179 |
+
}
|
1180 |
+
|
1181 |
+
40%, 45% {
|
1182 |
+
opacity: 1;
|
1183 |
+
-webkit-transform: translate3d(0, 20px, 0);
|
1184 |
+
transform: translate3d(0, 20px, 0);
|
1185 |
+
}
|
1186 |
+
|
1187 |
+
to {
|
1188 |
+
opacity: 0;
|
1189 |
+
-webkit-transform: translate3d(0, -2000px, 0);
|
1190 |
+
transform: translate3d(0, -2000px, 0);
|
1191 |
+
}
|
1192 |
+
}
|
1193 |
+
|
1194 |
+
@keyframes bounceOutUp {
|
1195 |
+
20% {
|
1196 |
+
-webkit-transform: translate3d(0, -10px, 0);
|
1197 |
+
transform: translate3d(0, -10px, 0);
|
1198 |
+
}
|
1199 |
+
|
1200 |
+
40%, 45% {
|
1201 |
+
opacity: 1;
|
1202 |
+
-webkit-transform: translate3d(0, 20px, 0);
|
1203 |
+
transform: translate3d(0, 20px, 0);
|
1204 |
+
}
|
1205 |
+
|
1206 |
+
to {
|
1207 |
+
opacity: 0;
|
1208 |
+
-webkit-transform: translate3d(0, -2000px, 0);
|
1209 |
+
transform: translate3d(0, -2000px, 0);
|
1210 |
+
}
|
1211 |
+
}
|
1212 |
+
|
1213 |
+
.bounceOutUp {
|
1214 |
+
-webkit-animation-name: bounceOutUp;
|
1215 |
+
animation-name: bounceOutUp;
|
1216 |
+
}
|
1217 |
+
|
1218 |
+
@-webkit-keyframes fadeIn {
|
1219 |
+
from {
|
1220 |
+
opacity: 0;
|
1221 |
+
}
|
1222 |
+
|
1223 |
+
to {
|
1224 |
+
opacity: 1;
|
1225 |
+
}
|
1226 |
+
}
|
1227 |
+
|
1228 |
+
@keyframes fadeIn {
|
1229 |
+
from {
|
1230 |
+
opacity: 0;
|
1231 |
+
}
|
1232 |
+
|
1233 |
+
to {
|
1234 |
+
opacity: 1;
|
1235 |
+
}
|
1236 |
+
}
|
1237 |
+
|
1238 |
+
.fadeIn {
|
1239 |
+
-webkit-animation-name: fadeIn;
|
1240 |
+
animation-name: fadeIn;
|
1241 |
+
}
|
1242 |
+
|
1243 |
+
@-webkit-keyframes fadeInDown {
|
1244 |
+
from {
|
1245 |
+
opacity: 0;
|
1246 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
1247 |
+
transform: translate3d(0, -100%, 0);
|
1248 |
+
}
|
1249 |
+
|
1250 |
+
to {
|
1251 |
+
opacity: 1;
|
1252 |
+
-webkit-transform: none;
|
1253 |
+
transform: none;
|
1254 |
+
}
|
1255 |
+
}
|
1256 |
+
|
1257 |
+
@keyframes fadeInDown {
|
1258 |
+
from {
|
1259 |
+
opacity: 0;
|
1260 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
1261 |
+
transform: translate3d(0, -100%, 0);
|
1262 |
+
}
|
1263 |
+
|
1264 |
+
to {
|
1265 |
+
opacity: 1;
|
1266 |
+
-webkit-transform: none;
|
1267 |
+
transform: none;
|
1268 |
+
}
|
1269 |
+
}
|
1270 |
+
|
1271 |
+
.fadeInDown {
|
1272 |
+
-webkit-animation-name: fadeInDown;
|
1273 |
+
animation-name: fadeInDown;
|
1274 |
+
}
|
1275 |
+
|
1276 |
+
@-webkit-keyframes fadeInDownBig {
|
1277 |
+
from {
|
1278 |
+
opacity: 0;
|
1279 |
+
-webkit-transform: translate3d(0, -2000px, 0);
|
1280 |
+
transform: translate3d(0, -2000px, 0);
|
1281 |
+
}
|
1282 |
+
|
1283 |
+
to {
|
1284 |
+
opacity: 1;
|
1285 |
+
-webkit-transform: none;
|
1286 |
+
transform: none;
|
1287 |
+
}
|
1288 |
+
}
|
1289 |
+
|
1290 |
+
@keyframes fadeInDownBig {
|
1291 |
+
from {
|
1292 |
+
opacity: 0;
|
1293 |
+
-webkit-transform: translate3d(0, -2000px, 0);
|
1294 |
+
transform: translate3d(0, -2000px, 0);
|
1295 |
+
}
|
1296 |
+
|
1297 |
+
to {
|
1298 |
+
opacity: 1;
|
1299 |
+
-webkit-transform: none;
|
1300 |
+
transform: none;
|
1301 |
+
}
|
1302 |
+
}
|
1303 |
+
|
1304 |
+
.fadeInDownBig {
|
1305 |
+
-webkit-animation-name: fadeInDownBig;
|
1306 |
+
animation-name: fadeInDownBig;
|
1307 |
+
}
|
1308 |
+
|
1309 |
+
@-webkit-keyframes fadeInLeft {
|
1310 |
+
from {
|
1311 |
+
opacity: 0;
|
1312 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
1313 |
+
transform: translate3d(-100%, 0, 0);
|
1314 |
+
}
|
1315 |
+
|
1316 |
+
to {
|
1317 |
+
opacity: 1;
|
1318 |
+
-webkit-transform: none;
|
1319 |
+
transform: none;
|
1320 |
+
}
|
1321 |
+
}
|
1322 |
+
|
1323 |
+
@keyframes fadeInLeft {
|
1324 |
+
from {
|
1325 |
+
opacity: 0;
|
1326 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
1327 |
+
transform: translate3d(-100%, 0, 0);
|
1328 |
+
}
|
1329 |
+
|
1330 |
+
to {
|
1331 |
+
opacity: 1;
|
1332 |
+
-webkit-transform: none;
|
1333 |
+
transform: none;
|
1334 |
+
}
|
1335 |
+
}
|
1336 |
+
|
1337 |
+
.fadeInLeft {
|
1338 |
+
-webkit-animation-name: fadeInLeft;
|
1339 |
+
animation-name: fadeInLeft;
|
1340 |
+
}
|
1341 |
+
|
1342 |
+
@-webkit-keyframes fadeInLeftBig {
|
1343 |
+
from {
|
1344 |
+
opacity: 0;
|
1345 |
+
-webkit-transform: translate3d(-2000px, 0, 0);
|
1346 |
+
transform: translate3d(-2000px, 0, 0);
|
1347 |
+
}
|
1348 |
+
|
1349 |
+
to {
|
1350 |
+
opacity: 1;
|
1351 |
+
-webkit-transform: none;
|
1352 |
+
transform: none;
|
1353 |
+
}
|
1354 |
+
}
|
1355 |
+
|
1356 |
+
@keyframes fadeInLeftBig {
|
1357 |
+
from {
|
1358 |
+
opacity: 0;
|
1359 |
+
-webkit-transform: translate3d(-2000px, 0, 0);
|
1360 |
+
transform: translate3d(-2000px, 0, 0);
|
1361 |
+
}
|
1362 |
+
|
1363 |
+
to {
|
1364 |
+
opacity: 1;
|
1365 |
+
-webkit-transform: none;
|
1366 |
+
transform: none;
|
1367 |
+
}
|
1368 |
+
}
|
1369 |
+
|
1370 |
+
.fadeInLeftBig {
|
1371 |
+
-webkit-animation-name: fadeInLeftBig;
|
1372 |
+
animation-name: fadeInLeftBig;
|
1373 |
+
}
|
1374 |
+
|
1375 |
+
@-webkit-keyframes fadeInRight {
|
1376 |
+
from {
|
1377 |
+
opacity: 0;
|
1378 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
1379 |
+
transform: translate3d(100%, 0, 0);
|
1380 |
+
}
|
1381 |
+
|
1382 |
+
to {
|
1383 |
+
opacity: 1;
|
1384 |
+
-webkit-transform: none;
|
1385 |
+
transform: none;
|
1386 |
+
}
|
1387 |
+
}
|
1388 |
+
|
1389 |
+
@keyframes fadeInRight {
|
1390 |
+
from {
|
1391 |
+
opacity: 0;
|
1392 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
1393 |
+
transform: translate3d(100%, 0, 0);
|
1394 |
+
}
|
1395 |
+
|
1396 |
+
to {
|
1397 |
+
opacity: 1;
|
1398 |
+
-webkit-transform: none;
|
1399 |
+
transform: none;
|
1400 |
+
}
|
1401 |
+
}
|
1402 |
+
|
1403 |
+
.fadeInRight {
|
1404 |
+
-webkit-animation-name: fadeInRight;
|
1405 |
+
animation-name: fadeInRight;
|
1406 |
+
}
|
1407 |
+
|
1408 |
+
@-webkit-keyframes fadeInRightBig {
|
1409 |
+
from {
|
1410 |
+
opacity: 0;
|
1411 |
+
-webkit-transform: translate3d(2000px, 0, 0);
|
1412 |
+
transform: translate3d(2000px, 0, 0);
|
1413 |
+
}
|
1414 |
+
|
1415 |
+
to {
|
1416 |
+
opacity: 1;
|
1417 |
+
-webkit-transform: none;
|
1418 |
+
transform: none;
|
1419 |
+
}
|
1420 |
+
}
|
1421 |
+
|
1422 |
+
@keyframes fadeInRightBig {
|
1423 |
+
from {
|
1424 |
+
opacity: 0;
|
1425 |
+
-webkit-transform: translate3d(2000px, 0, 0);
|
1426 |
+
transform: translate3d(2000px, 0, 0);
|
1427 |
+
}
|
1428 |
+
|
1429 |
+
to {
|
1430 |
+
opacity: 1;
|
1431 |
+
-webkit-transform: none;
|
1432 |
+
transform: none;
|
1433 |
+
}
|
1434 |
+
}
|
1435 |
+
|
1436 |
+
.fadeInRightBig {
|
1437 |
+
-webkit-animation-name: fadeInRightBig;
|
1438 |
+
animation-name: fadeInRightBig;
|
1439 |
+
}
|
1440 |
+
|
1441 |
+
@-webkit-keyframes fadeInUp {
|
1442 |
+
from {
|
1443 |
+
opacity: 0;
|
1444 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
1445 |
+
transform: translate3d(0, 100%, 0);
|
1446 |
+
}
|
1447 |
+
|
1448 |
+
to {
|
1449 |
+
opacity: 1;
|
1450 |
+
-webkit-transform: none;
|
1451 |
+
transform: none;
|
1452 |
+
}
|
1453 |
+
}
|
1454 |
+
|
1455 |
+
@keyframes fadeInUp {
|
1456 |
+
from {
|
1457 |
+
opacity: 0;
|
1458 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
1459 |
+
transform: translate3d(0, 100%, 0);
|
1460 |
+
}
|
1461 |
+
|
1462 |
+
to {
|
1463 |
+
opacity: 1;
|
1464 |
+
-webkit-transform: none;
|
1465 |
+
transform: none;
|
1466 |
+
}
|
1467 |
+
}
|
1468 |
+
|
1469 |
+
.fadeInUp {
|
1470 |
+
-webkit-animation-name: fadeInUp;
|
1471 |
+
animation-name: fadeInUp;
|
1472 |
+
}
|
1473 |
+
|
1474 |
+
@-webkit-keyframes fadeInUpBig {
|
1475 |
+
from {
|
1476 |
+
opacity: 0;
|
1477 |
+
-webkit-transform: translate3d(0, 2000px, 0);
|
1478 |
+
transform: translate3d(0, 2000px, 0);
|
1479 |
+
}
|
1480 |
+
|
1481 |
+
to {
|
1482 |
+
opacity: 1;
|
1483 |
+
-webkit-transform: none;
|
1484 |
+
transform: none;
|
1485 |
+
}
|
1486 |
+
}
|
1487 |
+
|
1488 |
+
@keyframes fadeInUpBig {
|
1489 |
+
from {
|
1490 |
+
opacity: 0;
|
1491 |
+
-webkit-transform: translate3d(0, 2000px, 0);
|
1492 |
+
transform: translate3d(0, 2000px, 0);
|
1493 |
+
}
|
1494 |
+
|
1495 |
+
to {
|
1496 |
+
opacity: 1;
|
1497 |
+
-webkit-transform: none;
|
1498 |
+
transform: none;
|
1499 |
+
}
|
1500 |
+
}
|
1501 |
+
|
1502 |
+
.fadeInUpBig {
|
1503 |
+
-webkit-animation-name: fadeInUpBig;
|
1504 |
+
animation-name: fadeInUpBig;
|
1505 |
+
}
|
1506 |
+
|
1507 |
+
@-webkit-keyframes fadeOut {
|
1508 |
+
from {
|
1509 |
+
opacity: 1;
|
1510 |
+
}
|
1511 |
+
|
1512 |
+
to {
|
1513 |
+
opacity: 0;
|
1514 |
+
}
|
1515 |
+
}
|
1516 |
+
|
1517 |
+
@keyframes fadeOut {
|
1518 |
+
from {
|
1519 |
+
opacity: 1;
|
1520 |
+
}
|
1521 |
+
|
1522 |
+
to {
|
1523 |
+
opacity: 0;
|
1524 |
+
}
|
1525 |
+
}
|
1526 |
+
|
1527 |
+
.fadeOut {
|
1528 |
+
-webkit-animation-name: fadeOut;
|
1529 |
+
animation-name: fadeOut;
|
1530 |
+
}
|
1531 |
+
|
1532 |
+
@-webkit-keyframes fadeOutDown {
|
1533 |
+
from {
|
1534 |
+
opacity: 1;
|
1535 |
+
}
|
1536 |
+
|
1537 |
+
to {
|
1538 |
+
opacity: 0;
|
1539 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
1540 |
+
transform: translate3d(0, 100%, 0);
|
1541 |
+
}
|
1542 |
+
}
|
1543 |
+
|
1544 |
+
@keyframes fadeOutDown {
|
1545 |
+
from {
|
1546 |
+
opacity: 1;
|
1547 |
+
}
|
1548 |
+
|
1549 |
+
to {
|
1550 |
+
opacity: 0;
|
1551 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
1552 |
+
transform: translate3d(0, 100%, 0);
|
1553 |
+
}
|
1554 |
+
}
|
1555 |
+
|
1556 |
+
.fadeOutDown {
|
1557 |
+
-webkit-animation-name: fadeOutDown;
|
1558 |
+
animation-name: fadeOutDown;
|
1559 |
+
}
|
1560 |
+
|
1561 |
+
@-webkit-keyframes fadeOutDownBig {
|
1562 |
+
from {
|
1563 |
+
opacity: 1;
|
1564 |
+
}
|
1565 |
+
|
1566 |
+
to {
|
1567 |
+
opacity: 0;
|
1568 |
+
-webkit-transform: translate3d(0, 2000px, 0);
|
1569 |
+
transform: translate3d(0, 2000px, 0);
|
1570 |
+
}
|
1571 |
+
}
|
1572 |
+
|
1573 |
+
@keyframes fadeOutDownBig {
|
1574 |
+
from {
|
1575 |
+
opacity: 1;
|
1576 |
+
}
|
1577 |
+
|
1578 |
+
to {
|
1579 |
+
opacity: 0;
|
1580 |
+
-webkit-transform: translate3d(0, 2000px, 0);
|
1581 |
+
transform: translate3d(0, 2000px, 0);
|
1582 |
+
}
|
1583 |
+
}
|
1584 |
+
|
1585 |
+
.fadeOutDownBig {
|
1586 |
+
-webkit-animation-name: fadeOutDownBig;
|
1587 |
+
animation-name: fadeOutDownBig;
|
1588 |
+
}
|
1589 |
+
|
1590 |
+
@-webkit-keyframes fadeOutLeft {
|
1591 |
+
from {
|
1592 |
+
opacity: 1;
|
1593 |
+
}
|
1594 |
+
|
1595 |
+
to {
|
1596 |
+
opacity: 0;
|
1597 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
1598 |
+
transform: translate3d(-100%, 0, 0);
|
1599 |
+
}
|
1600 |
+
}
|
1601 |
+
|
1602 |
+
@keyframes fadeOutLeft {
|
1603 |
+
from {
|
1604 |
+
opacity: 1;
|
1605 |
+
}
|
1606 |
+
|
1607 |
+
to {
|
1608 |
+
opacity: 0;
|
1609 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
1610 |
+
transform: translate3d(-100%, 0, 0);
|
1611 |
+
}
|
1612 |
+
}
|
1613 |
+
|
1614 |
+
.fadeOutLeft {
|
1615 |
+
-webkit-animation-name: fadeOutLeft;
|
1616 |
+
animation-name: fadeOutLeft;
|
1617 |
+
}
|
1618 |
+
|
1619 |
+
@-webkit-keyframes fadeOutLeftBig {
|
1620 |
+
from {
|
1621 |
+
opacity: 1;
|
1622 |
+
}
|
1623 |
+
|
1624 |
+
to {
|
1625 |
+
opacity: 0;
|
1626 |
+
-webkit-transform: translate3d(-2000px, 0, 0);
|
1627 |
+
transform: translate3d(-2000px, 0, 0);
|
1628 |
+
}
|
1629 |
+
}
|
1630 |
+
|
1631 |
+
@keyframes fadeOutLeftBig {
|
1632 |
+
from {
|
1633 |
+
opacity: 1;
|
1634 |
+
}
|
1635 |
+
|
1636 |
+
to {
|
1637 |
+
opacity: 0;
|
1638 |
+
-webkit-transform: translate3d(-2000px, 0, 0);
|
1639 |
+
transform: translate3d(-2000px, 0, 0);
|
1640 |
+
}
|
1641 |
+
}
|
1642 |
+
|
1643 |
+
.fadeOutLeftBig {
|
1644 |
+
-webkit-animation-name: fadeOutLeftBig;
|
1645 |
+
animation-name: fadeOutLeftBig;
|
1646 |
+
}
|
1647 |
+
|
1648 |
+
@-webkit-keyframes fadeOutRight {
|
1649 |
+
from {
|
1650 |
+
opacity: 1;
|
1651 |
+
}
|
1652 |
+
|
1653 |
+
to {
|
1654 |
+
opacity: 0;
|
1655 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
1656 |
+
transform: translate3d(100%, 0, 0);
|
1657 |
+
}
|
1658 |
+
}
|
1659 |
+
|
1660 |
+
@keyframes fadeOutRight {
|
1661 |
+
from {
|
1662 |
+
opacity: 1;
|
1663 |
+
}
|
1664 |
+
|
1665 |
+
to {
|
1666 |
+
opacity: 0;
|
1667 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
1668 |
+
transform: translate3d(100%, 0, 0);
|
1669 |
+
}
|
1670 |
+
}
|
1671 |
+
|
1672 |
+
.fadeOutRight {
|
1673 |
+
-webkit-animation-name: fadeOutRight;
|
1674 |
+
animation-name: fadeOutRight;
|
1675 |
+
}
|
1676 |
+
|
1677 |
+
@-webkit-keyframes fadeOutRightBig {
|
1678 |
+
from {
|
1679 |
+
opacity: 1;
|
1680 |
+
}
|
1681 |
+
|
1682 |
+
to {
|
1683 |
+
opacity: 0;
|
1684 |
+
-webkit-transform: translate3d(2000px, 0, 0);
|
1685 |
+
transform: translate3d(2000px, 0, 0);
|
1686 |
+
}
|
1687 |
+
}
|
1688 |
+
|
1689 |
+
@keyframes fadeOutRightBig {
|
1690 |
+
from {
|
1691 |
+
opacity: 1;
|
1692 |
+
}
|
1693 |
+
|
1694 |
+
to {
|
1695 |
+
opacity: 0;
|
1696 |
+
-webkit-transform: translate3d(2000px, 0, 0);
|
1697 |
+
transform: translate3d(2000px, 0, 0);
|
1698 |
+
}
|
1699 |
+
}
|
1700 |
+
|
1701 |
+
.fadeOutRightBig {
|
1702 |
+
-webkit-animation-name: fadeOutRightBig;
|
1703 |
+
animation-name: fadeOutRightBig;
|
1704 |
+
}
|
1705 |
+
|
1706 |
+
@-webkit-keyframes fadeOutUp {
|
1707 |
+
from {
|
1708 |
+
opacity: 1;
|
1709 |
+
}
|
1710 |
+
|
1711 |
+
to {
|
1712 |
+
opacity: 0;
|
1713 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
1714 |
+
transform: translate3d(0, -100%, 0);
|
1715 |
+
}
|
1716 |
+
}
|
1717 |
+
|
1718 |
+
@keyframes fadeOutUp {
|
1719 |
+
from {
|
1720 |
+
opacity: 1;
|
1721 |
+
}
|
1722 |
+
|
1723 |
+
to {
|
1724 |
+
opacity: 0;
|
1725 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
1726 |
+
transform: translate3d(0, -100%, 0);
|
1727 |
+
}
|
1728 |
+
}
|
1729 |
+
|
1730 |
+
.fadeOutUp {
|
1731 |
+
-webkit-animation-name: fadeOutUp;
|
1732 |
+
animation-name: fadeOutUp;
|
1733 |
+
}
|
1734 |
+
|
1735 |
+
@-webkit-keyframes fadeOutUpBig {
|
1736 |
+
from {
|
1737 |
+
opacity: 1;
|
1738 |
+
}
|
1739 |
+
|
1740 |
+
to {
|
1741 |
+
opacity: 0;
|
1742 |
+
-webkit-transform: translate3d(0, -2000px, 0);
|
1743 |
+
transform: translate3d(0, -2000px, 0);
|
1744 |
+
}
|
1745 |
+
}
|
1746 |
+
|
1747 |
+
@keyframes fadeOutUpBig {
|
1748 |
+
from {
|
1749 |
+
opacity: 1;
|
1750 |
+
}
|
1751 |
+
|
1752 |
+
to {
|
1753 |
+
opacity: 0;
|
1754 |
+
-webkit-transform: translate3d(0, -2000px, 0);
|
1755 |
+
transform: translate3d(0, -2000px, 0);
|
1756 |
+
}
|
1757 |
+
}
|
1758 |
+
|
1759 |
+
.fadeOutUpBig {
|
1760 |
+
-webkit-animation-name: fadeOutUpBig;
|
1761 |
+
animation-name: fadeOutUpBig;
|
1762 |
+
}
|
1763 |
+
|
1764 |
+
@-webkit-keyframes flip {
|
1765 |
+
from {
|
1766 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
|
1767 |
+
transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
|
1768 |
+
-webkit-animation-timing-function: ease-out;
|
1769 |
+
animation-timing-function: ease-out;
|
1770 |
+
}
|
1771 |
+
|
1772 |
+
40% {
|
1773 |
+
-webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
|
1774 |
+
transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
|
1775 |
+
-webkit-animation-timing-function: ease-out;
|
1776 |
+
animation-timing-function: ease-out;
|
1777 |
+
}
|
1778 |
+
|
1779 |
+
50% {
|
1780 |
+
-webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
|
1781 |
+
transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
|
1782 |
+
-webkit-animation-timing-function: ease-in;
|
1783 |
+
animation-timing-function: ease-in;
|
1784 |
+
}
|
1785 |
+
|
1786 |
+
80% {
|
1787 |
+
-webkit-transform: perspective(400px) scale3d(.95, .95, .95);
|
1788 |
+
transform: perspective(400px) scale3d(.95, .95, .95);
|
1789 |
+
-webkit-animation-timing-function: ease-in;
|
1790 |
+
animation-timing-function: ease-in;
|
1791 |
+
}
|
1792 |
+
|
1793 |
+
to {
|
1794 |
+
-webkit-transform: perspective(400px);
|
1795 |
+
transform: perspective(400px);
|
1796 |
+
-webkit-animation-timing-function: ease-in;
|
1797 |
+
animation-timing-function: ease-in;
|
1798 |
+
}
|
1799 |
+
}
|
1800 |
+
|
1801 |
+
@keyframes flip {
|
1802 |
+
from {
|
1803 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
|
1804 |
+
transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
|
1805 |
+
-webkit-animation-timing-function: ease-out;
|
1806 |
+
animation-timing-function: ease-out;
|
1807 |
+
}
|
1808 |
+
|
1809 |
+
40% {
|
1810 |
+
-webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
|
1811 |
+
transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
|
1812 |
+
-webkit-animation-timing-function: ease-out;
|
1813 |
+
animation-timing-function: ease-out;
|
1814 |
+
}
|
1815 |
+
|
1816 |
+
50% {
|
1817 |
+
-webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
|
1818 |
+
transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
|
1819 |
+
-webkit-animation-timing-function: ease-in;
|
1820 |
+
animation-timing-function: ease-in;
|
1821 |
+
}
|
1822 |
+
|
1823 |
+
80% {
|
1824 |
+
-webkit-transform: perspective(400px) scale3d(.95, .95, .95);
|
1825 |
+
transform: perspective(400px) scale3d(.95, .95, .95);
|
1826 |
+
-webkit-animation-timing-function: ease-in;
|
1827 |
+
animation-timing-function: ease-in;
|
1828 |
+
}
|
1829 |
+
|
1830 |
+
to {
|
1831 |
+
-webkit-transform: perspective(400px);
|
1832 |
+
transform: perspective(400px);
|
1833 |
+
-webkit-animation-timing-function: ease-in;
|
1834 |
+
animation-timing-function: ease-in;
|
1835 |
+
}
|
1836 |
+
}
|
1837 |
+
|
1838 |
+
.animated.flip {
|
1839 |
+
-webkit-backface-visibility: visible;
|
1840 |
+
backface-visibility: visible;
|
1841 |
+
-webkit-animation-name: flip;
|
1842 |
+
animation-name: flip;
|
1843 |
+
}
|
1844 |
+
|
1845 |
+
@-webkit-keyframes flipInX {
|
1846 |
+
from {
|
1847 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
1848 |
+
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
1849 |
+
-webkit-animation-timing-function: ease-in;
|
1850 |
+
animation-timing-function: ease-in;
|
1851 |
+
opacity: 0;
|
1852 |
+
}
|
1853 |
+
|
1854 |
+
40% {
|
1855 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
1856 |
+
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
1857 |
+
-webkit-animation-timing-function: ease-in;
|
1858 |
+
animation-timing-function: ease-in;
|
1859 |
+
}
|
1860 |
+
|
1861 |
+
60% {
|
1862 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
|
1863 |
+
transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
|
1864 |
+
opacity: 1;
|
1865 |
+
}
|
1866 |
+
|
1867 |
+
80% {
|
1868 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
|
1869 |
+
transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
|
1870 |
+
}
|
1871 |
+
|
1872 |
+
to {
|
1873 |
+
-webkit-transform: perspective(400px);
|
1874 |
+
transform: perspective(400px);
|
1875 |
+
}
|
1876 |
+
}
|
1877 |
+
|
1878 |
+
@keyframes flipInX {
|
1879 |
+
from {
|
1880 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
1881 |
+
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
1882 |
+
-webkit-animation-timing-function: ease-in;
|
1883 |
+
animation-timing-function: ease-in;
|
1884 |
+
opacity: 0;
|
1885 |
+
}
|
1886 |
+
|
1887 |
+
40% {
|
1888 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
1889 |
+
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
1890 |
+
-webkit-animation-timing-function: ease-in;
|
1891 |
+
animation-timing-function: ease-in;
|
1892 |
+
}
|
1893 |
+
|
1894 |
+
60% {
|
1895 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
|
1896 |
+
transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
|
1897 |
+
opacity: 1;
|
1898 |
+
}
|
1899 |
+
|
1900 |
+
80% {
|
1901 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
|
1902 |
+
transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
|
1903 |
+
}
|
1904 |
+
|
1905 |
+
to {
|
1906 |
+
-webkit-transform: perspective(400px);
|
1907 |
+
transform: perspective(400px);
|
1908 |
+
}
|
1909 |
+
}
|
1910 |
+
|
1911 |
+
.flipInX {
|
1912 |
+
-webkit-backface-visibility: visible !important;
|
1913 |
+
backface-visibility: visible !important;
|
1914 |
+
-webkit-animation-name: flipInX;
|
1915 |
+
animation-name: flipInX;
|
1916 |
+
}
|
1917 |
+
|
1918 |
+
@-webkit-keyframes flipInY {
|
1919 |
+
from {
|
1920 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
1921 |
+
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
1922 |
+
-webkit-animation-timing-function: ease-in;
|
1923 |
+
animation-timing-function: ease-in;
|
1924 |
+
opacity: 0;
|
1925 |
+
}
|
1926 |
+
|
1927 |
+
40% {
|
1928 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
|
1929 |
+
transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
|
1930 |
+
-webkit-animation-timing-function: ease-in;
|
1931 |
+
animation-timing-function: ease-in;
|
1932 |
+
}
|
1933 |
+
|
1934 |
+
60% {
|
1935 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
|
1936 |
+
transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
|
1937 |
+
opacity: 1;
|
1938 |
+
}
|
1939 |
+
|
1940 |
+
80% {
|
1941 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
|
1942 |
+
transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
|
1943 |
+
}
|
1944 |
+
|
1945 |
+
to {
|
1946 |
+
-webkit-transform: perspective(400px);
|
1947 |
+
transform: perspective(400px);
|
1948 |
+
}
|
1949 |
+
}
|
1950 |
+
|
1951 |
+
@keyframes flipInY {
|
1952 |
+
from {
|
1953 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
1954 |
+
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
1955 |
+
-webkit-animation-timing-function: ease-in;
|
1956 |
+
animation-timing-function: ease-in;
|
1957 |
+
opacity: 0;
|
1958 |
+
}
|
1959 |
+
|
1960 |
+
40% {
|
1961 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
|
1962 |
+
transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
|
1963 |
+
-webkit-animation-timing-function: ease-in;
|
1964 |
+
animation-timing-function: ease-in;
|
1965 |
+
}
|
1966 |
+
|
1967 |
+
60% {
|
1968 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
|
1969 |
+
transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
|
1970 |
+
opacity: 1;
|
1971 |
+
}
|
1972 |
+
|
1973 |
+
80% {
|
1974 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
|
1975 |
+
transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
|
1976 |
+
}
|
1977 |
+
|
1978 |
+
to {
|
1979 |
+
-webkit-transform: perspective(400px);
|
1980 |
+
transform: perspective(400px);
|
1981 |
+
}
|
1982 |
+
}
|
1983 |
+
|
1984 |
+
.flipInY {
|
1985 |
+
-webkit-backface-visibility: visible !important;
|
1986 |
+
backface-visibility: visible !important;
|
1987 |
+
-webkit-animation-name: flipInY;
|
1988 |
+
animation-name: flipInY;
|
1989 |
+
}
|
1990 |
+
|
1991 |
+
@-webkit-keyframes flipOutX {
|
1992 |
+
from {
|
1993 |
+
-webkit-transform: perspective(400px);
|
1994 |
+
transform: perspective(400px);
|
1995 |
+
}
|
1996 |
+
|
1997 |
+
30% {
|
1998 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
1999 |
+
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
2000 |
+
opacity: 1;
|
2001 |
+
}
|
2002 |
+
|
2003 |
+
to {
|
2004 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
2005 |
+
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
2006 |
+
opacity: 0;
|
2007 |
+
}
|
2008 |
+
}
|
2009 |
+
|
2010 |
+
@keyframes flipOutX {
|
2011 |
+
from {
|
2012 |
+
-webkit-transform: perspective(400px);
|
2013 |
+
transform: perspective(400px);
|
2014 |
+
}
|
2015 |
+
|
2016 |
+
30% {
|
2017 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
2018 |
+
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
2019 |
+
opacity: 1;
|
2020 |
+
}
|
2021 |
+
|
2022 |
+
to {
|
2023 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
2024 |
+
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
2025 |
+
opacity: 0;
|
2026 |
+
}
|
2027 |
+
}
|
2028 |
+
|
2029 |
+
.flipOutX {
|
2030 |
+
-webkit-animation-name: flipOutX;
|
2031 |
+
animation-name: flipOutX;
|
2032 |
+
-webkit-backface-visibility: visible !important;
|
2033 |
+
backface-visibility: visible !important;
|
2034 |
+
}
|
2035 |
+
|
2036 |
+
@-webkit-keyframes flipOutY {
|
2037 |
+
from {
|
2038 |
+
-webkit-transform: perspective(400px);
|
2039 |
+
transform: perspective(400px);
|
2040 |
+
}
|
2041 |
+
|
2042 |
+
30% {
|
2043 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
|
2044 |
+
transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
|
2045 |
+
opacity: 1;
|
2046 |
+
}
|
2047 |
+
|
2048 |
+
to {
|
2049 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
2050 |
+
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
2051 |
+
opacity: 0;
|
2052 |
+
}
|
2053 |
+
}
|
2054 |
+
|
2055 |
+
@keyframes flipOutY {
|
2056 |
+
from {
|
2057 |
+
-webkit-transform: perspective(400px);
|
2058 |
+
transform: perspective(400px);
|
2059 |
+
}
|
2060 |
+
|
2061 |
+
30% {
|
2062 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
|
2063 |
+
transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
|
2064 |
+
opacity: 1;
|
2065 |
+
}
|
2066 |
+
|
2067 |
+
to {
|
2068 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
2069 |
+
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
2070 |
+
opacity: 0;
|
2071 |
+
}
|
2072 |
+
}
|
2073 |
+
|
2074 |
+
.flipOutY {
|
2075 |
+
-webkit-backface-visibility: visible !important;
|
2076 |
+
backface-visibility: visible !important;
|
2077 |
+
-webkit-animation-name: flipOutY;
|
2078 |
+
animation-name: flipOutY;
|
2079 |
+
}
|
2080 |
+
|
2081 |
+
@-webkit-keyframes lightSpeedIn {
|
2082 |
+
from {
|
2083 |
+
-webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
|
2084 |
+
transform: translate3d(100%, 0, 0) skewX(-30deg);
|
2085 |
+
opacity: 0;
|
2086 |
+
}
|
2087 |
+
|
2088 |
+
60% {
|
2089 |
+
-webkit-transform: skewX(20deg);
|
2090 |
+
transform: skewX(20deg);
|
2091 |
+
opacity: 1;
|
2092 |
+
}
|
2093 |
+
|
2094 |
+
80% {
|
2095 |
+
-webkit-transform: skewX(-5deg);
|
2096 |
+
transform: skewX(-5deg);
|
2097 |
+
opacity: 1;
|
2098 |
+
}
|
2099 |
+
|
2100 |
+
to {
|
2101 |
+
-webkit-transform: none;
|
2102 |
+
transform: none;
|
2103 |
+
opacity: 1;
|
2104 |
+
}
|
2105 |
+
}
|
2106 |
+
|
2107 |
+
@keyframes lightSpeedIn {
|
2108 |
+
from {
|
2109 |
+
-webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
|
2110 |
+
transform: translate3d(100%, 0, 0) skewX(-30deg);
|
2111 |
+
opacity: 0;
|
2112 |
+
}
|
2113 |
+
|
2114 |
+
60% {
|
2115 |
+
-webkit-transform: skewX(20deg);
|
2116 |
+
transform: skewX(20deg);
|
2117 |
+
opacity: 1;
|
2118 |
+
}
|
2119 |
+
|
2120 |
+
80% {
|
2121 |
+
-webkit-transform: skewX(-5deg);
|
2122 |
+
transform: skewX(-5deg);
|
2123 |
+
opacity: 1;
|
2124 |
+
}
|
2125 |
+
|
2126 |
+
to {
|
2127 |
+
-webkit-transform: none;
|
2128 |
+
transform: none;
|
2129 |
+
opacity: 1;
|
2130 |
+
}
|
2131 |
+
}
|
2132 |
+
|
2133 |
+
.lightSpeedIn {
|
2134 |
+
-webkit-animation-name: lightSpeedIn;
|
2135 |
+
animation-name: lightSpeedIn;
|
2136 |
+
-webkit-animation-timing-function: ease-out;
|
2137 |
+
animation-timing-function: ease-out;
|
2138 |
+
}
|
2139 |
+
|
2140 |
+
@-webkit-keyframes lightSpeedOut {
|
2141 |
+
from {
|
2142 |
+
opacity: 1;
|
2143 |
+
}
|
2144 |
+
|
2145 |
+
to {
|
2146 |
+
-webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
|
2147 |
+
transform: translate3d(100%, 0, 0) skewX(30deg);
|
2148 |
+
opacity: 0;
|
2149 |
+
}
|
2150 |
+
}
|
2151 |
+
|
2152 |
+
@keyframes lightSpeedOut {
|
2153 |
+
from {
|
2154 |
+
opacity: 1;
|
2155 |
+
}
|
2156 |
+
|
2157 |
+
to {
|
2158 |
+
-webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
|
2159 |
+
transform: translate3d(100%, 0, 0) skewX(30deg);
|
2160 |
+
opacity: 0;
|
2161 |
+
}
|
2162 |
+
}
|
2163 |
+
|
2164 |
+
.lightSpeedOut {
|
2165 |
+
-webkit-animation-name: lightSpeedOut;
|
2166 |
+
animation-name: lightSpeedOut;
|
2167 |
+
-webkit-animation-timing-function: ease-in;
|
2168 |
+
animation-timing-function: ease-in;
|
2169 |
+
}
|
2170 |
+
|
2171 |
+
@-webkit-keyframes rotateIn {
|
2172 |
+
from {
|
2173 |
+
-webkit-transform-origin: center;
|
2174 |
+
transform-origin: center;
|
2175 |
+
-webkit-transform: rotate3d(0, 0, 1, -200deg);
|
2176 |
+
transform: rotate3d(0, 0, 1, -200deg);
|
2177 |
+
opacity: 0;
|
2178 |
+
}
|
2179 |
+
|
2180 |
+
to {
|
2181 |
+
-webkit-transform-origin: center;
|
2182 |
+
transform-origin: center;
|
2183 |
+
-webkit-transform: none;
|
2184 |
+
transform: none;
|
2185 |
+
opacity: 1;
|
2186 |
+
}
|
2187 |
+
}
|
2188 |
+
|
2189 |
+
@keyframes rotateIn {
|
2190 |
+
from {
|
2191 |
+
-webkit-transform-origin: center;
|
2192 |
+
transform-origin: center;
|
2193 |
+
-webkit-transform: rotate3d(0, 0, 1, -200deg);
|
2194 |
+
transform: rotate3d(0, 0, 1, -200deg);
|
2195 |
+
opacity: 0;
|
2196 |
+
}
|
2197 |
+
|
2198 |
+
to {
|
2199 |
+
-webkit-transform-origin: center;
|
2200 |
+
transform-origin: center;
|
2201 |
+
-webkit-transform: none;
|
2202 |
+
transform: none;
|
2203 |
+
opacity: 1;
|
2204 |
+
}
|
2205 |
+
}
|
2206 |
+
|
2207 |
+
.rotateIn {
|
2208 |
+
-webkit-animation-name: rotateIn;
|
2209 |
+
animation-name: rotateIn;
|
2210 |
+
}
|
2211 |
+
|
2212 |
+
@-webkit-keyframes rotateInDownLeft {
|
2213 |
+
from {
|
2214 |
+
-webkit-transform-origin: left bottom;
|
2215 |
+
transform-origin: left bottom;
|
2216 |
+
-webkit-transform: rotate3d(0, 0, 1, -45deg);
|
2217 |
+
transform: rotate3d(0, 0, 1, -45deg);
|
2218 |
+
opacity: 0;
|
2219 |
+
}
|
2220 |
+
|
2221 |
+
to {
|
2222 |
+
-webkit-transform-origin: left bottom;
|
2223 |
+
transform-origin: left bottom;
|
2224 |
+
-webkit-transform: none;
|
2225 |
+
transform: none;
|
2226 |
+
opacity: 1;
|
2227 |
+
}
|
2228 |
+
}
|
2229 |
+
|
2230 |
+
@keyframes rotateInDownLeft {
|
2231 |
+
from {
|
2232 |
+
-webkit-transform-origin: left bottom;
|
2233 |
+
transform-origin: left bottom;
|
2234 |
+
-webkit-transform: rotate3d(0, 0, 1, -45deg);
|
2235 |
+
transform: rotate3d(0, 0, 1, -45deg);
|
2236 |
+
opacity: 0;
|
2237 |
+
}
|
2238 |
+
|
2239 |
+
to {
|
2240 |
+
-webkit-transform-origin: left bottom;
|
2241 |
+
transform-origin: left bottom;
|
2242 |
+
-webkit-transform: none;
|
2243 |
+
transform: none;
|
2244 |
+
opacity: 1;
|
2245 |
+
}
|
2246 |
+
}
|
2247 |
+
|
2248 |
+
.rotateInDownLeft {
|
2249 |
+
-webkit-animation-name: rotateInDownLeft;
|
2250 |
+
animation-name: rotateInDownLeft;
|
2251 |
+
}
|
2252 |
+
|
2253 |
+
@-webkit-keyframes rotateInDownRight {
|
2254 |
+
from {
|
2255 |
+
-webkit-transform-origin: right bottom;
|
2256 |
+
transform-origin: right bottom;
|
2257 |
+
-webkit-transform: rotate3d(0, 0, 1, 45deg);
|
2258 |
+
transform: rotate3d(0, 0, 1, 45deg);
|
2259 |
+
opacity: 0;
|
2260 |
+
}
|
2261 |
+
|
2262 |
+
to {
|
2263 |
+
-webkit-transform-origin: right bottom;
|
2264 |
+
transform-origin: right bottom;
|
2265 |
+
-webkit-transform: none;
|
2266 |
+
transform: none;
|
2267 |
+
opacity: 1;
|
2268 |
+
}
|
2269 |
+
}
|
2270 |
+
|
2271 |
+
@keyframes rotateInDownRight {
|
2272 |
+
from {
|
2273 |
+
-webkit-transform-origin: right bottom;
|
2274 |
+
transform-origin: right bottom;
|
2275 |
+
-webkit-transform: rotate3d(0, 0, 1, 45deg);
|
2276 |
+
transform: rotate3d(0, 0, 1, 45deg);
|
2277 |
+
opacity: 0;
|
2278 |
+
}
|
2279 |
+
|
2280 |
+
to {
|
2281 |
+
-webkit-transform-origin: right bottom;
|
2282 |
+
transform-origin: right bottom;
|
2283 |
+
-webkit-transform: none;
|
2284 |
+
transform: none;
|
2285 |
+
opacity: 1;
|
2286 |
+
}
|
2287 |
+
}
|
2288 |
+
|
2289 |
+
.rotateInDownRight {
|
2290 |
+
-webkit-animation-name: rotateInDownRight;
|
2291 |
+
animation-name: rotateInDownRight;
|
2292 |
+
}
|
2293 |
+
|
2294 |
+
@-webkit-keyframes rotateInUpLeft {
|
2295 |
+
from {
|
2296 |
+
-webkit-transform-origin: left bottom;
|
2297 |
+
transform-origin: left bottom;
|
2298 |
+
-webkit-transform: rotate3d(0, 0, 1, 45deg);
|
2299 |
+
transform: rotate3d(0, 0, 1, 45deg);
|
2300 |
+
opacity: 0;
|
2301 |
+
}
|
2302 |
+
|
2303 |
+
to {
|
2304 |
+
-webkit-transform-origin: left bottom;
|
2305 |
+
transform-origin: left bottom;
|
2306 |
+
-webkit-transform: none;
|
2307 |
+
transform: none;
|
2308 |
+
opacity: 1;
|
2309 |
+
}
|
2310 |
+
}
|
2311 |
+
|
2312 |
+
@keyframes rotateInUpLeft {
|
2313 |
+
from {
|
2314 |
+
-webkit-transform-origin: left bottom;
|
2315 |
+
transform-origin: left bottom;
|
2316 |
+
-webkit-transform: rotate3d(0, 0, 1, 45deg);
|
2317 |
+
transform: rotate3d(0, 0, 1, 45deg);
|
2318 |
+
opacity: 0;
|
2319 |
+
}
|
2320 |
+
|
2321 |
+
to {
|
2322 |
+
-webkit-transform-origin: left bottom;
|
2323 |
+
transform-origin: left bottom;
|
2324 |
+
-webkit-transform: none;
|
2325 |
+
transform: none;
|
2326 |
+
opacity: 1;
|
2327 |
+
}
|
2328 |
+
}
|
2329 |
+
|
2330 |
+
.rotateInUpLeft {
|
2331 |
+
-webkit-animation-name: rotateInUpLeft;
|
2332 |
+
animation-name: rotateInUpLeft;
|
2333 |
+
}
|
2334 |
+
|
2335 |
+
@-webkit-keyframes rotateInUpRight {
|
2336 |
+
from {
|
2337 |
+
-webkit-transform-origin: right bottom;
|
2338 |
+
transform-origin: right bottom;
|
2339 |
+
-webkit-transform: rotate3d(0, 0, 1, -90deg);
|
2340 |
+
transform: rotate3d(0, 0, 1, -90deg);
|
2341 |
+
opacity: 0;
|
2342 |
+
}
|
2343 |
+
|
2344 |
+
to {
|
2345 |
+
-webkit-transform-origin: right bottom;
|
2346 |
+
transform-origin: right bottom;
|
2347 |
+
-webkit-transform: none;
|
2348 |
+
transform: none;
|
2349 |
+
opacity: 1;
|
2350 |
+
}
|
2351 |
+
}
|
2352 |
+
|
2353 |
+
@keyframes rotateInUpRight {
|
2354 |
+
from {
|
2355 |
+
-webkit-transform-origin: right bottom;
|
2356 |
+
transform-origin: right bottom;
|
2357 |
+
-webkit-transform: rotate3d(0, 0, 1, -90deg);
|
2358 |
+
transform: rotate3d(0, 0, 1, -90deg);
|
2359 |
+
opacity: 0;
|
2360 |
+
}
|
2361 |
+
|
2362 |
+
to {
|
2363 |
+
-webkit-transform-origin: right bottom;
|
2364 |
+
transform-origin: right bottom;
|
2365 |
+
-webkit-transform: none;
|
2366 |
+
transform: none;
|
2367 |
+
opacity: 1;
|
2368 |
+
}
|
2369 |
+
}
|
2370 |
+
|
2371 |
+
.rotateInUpRight {
|
2372 |
+
-webkit-animation-name: rotateInUpRight;
|
2373 |
+
animation-name: rotateInUpRight;
|
2374 |
+
}
|
2375 |
+
|
2376 |
+
@-webkit-keyframes rotateOut {
|
2377 |
+
from {
|
2378 |
+
-webkit-transform-origin: center;
|
2379 |
+
transform-origin: center;
|
2380 |
+
opacity: 1;
|
2381 |
+
}
|
2382 |
+
|
2383 |
+
to {
|
2384 |
+
-webkit-transform-origin: center;
|
2385 |
+
transform-origin: center;
|
2386 |
+
-webkit-transform: rotate3d(0, 0, 1, 200deg);
|
2387 |
+
transform: rotate3d(0, 0, 1, 200deg);
|
2388 |
+
opacity: 0;
|
2389 |
+
}
|
2390 |
+
}
|
2391 |
+
|
2392 |
+
@keyframes rotateOut {
|
2393 |
+
from {
|
2394 |
+
-webkit-transform-origin: center;
|
2395 |
+
transform-origin: center;
|
2396 |
+
opacity: 1;
|
2397 |
+
}
|
2398 |
+
|
2399 |
+
to {
|
2400 |
+
-webkit-transform-origin: center;
|
2401 |
+
transform-origin: center;
|
2402 |
+
-webkit-transform: rotate3d(0, 0, 1, 200deg);
|
2403 |
+
transform: rotate3d(0, 0, 1, 200deg);
|
2404 |
+
opacity: 0;
|
2405 |
+
}
|
2406 |
+
}
|
2407 |
+
|
2408 |
+
.rotateOut {
|
2409 |
+
-webkit-animation-name: rotateOut;
|
2410 |
+
animation-name: rotateOut;
|
2411 |
+
}
|
2412 |
+
|
2413 |
+
@-webkit-keyframes rotateOutDownLeft {
|
2414 |
+
from {
|
2415 |
+
-webkit-transform-origin: left bottom;
|
2416 |
+
transform-origin: left bottom;
|
2417 |
+
opacity: 1;
|
2418 |
+
}
|
2419 |
+
|
2420 |
+
to {
|
2421 |
+
-webkit-transform-origin: left bottom;
|
2422 |
+
transform-origin: left bottom;
|
2423 |
+
-webkit-transform: rotate3d(0, 0, 1, 45deg);
|
2424 |
+
transform: rotate3d(0, 0, 1, 45deg);
|
2425 |
+
opacity: 0;
|
2426 |
+
}
|
2427 |
+
}
|
2428 |
+
|
2429 |
+
@keyframes rotateOutDownLeft {
|
2430 |
+
from {
|
2431 |
+
-webkit-transform-origin: left bottom;
|
2432 |
+
transform-origin: left bottom;
|
2433 |
+
opacity: 1;
|
2434 |
+
}
|
2435 |
+
|
2436 |
+
to {
|
2437 |
+
-webkit-transform-origin: left bottom;
|
2438 |
+
transform-origin: left bottom;
|
2439 |
+
-webkit-transform: rotate3d(0, 0, 1, 45deg);
|
2440 |
+
transform: rotate3d(0, 0, 1, 45deg);
|
2441 |
+
opacity: 0;
|
2442 |
+
}
|
2443 |
+
}
|
2444 |
+
|
2445 |
+
.rotateOutDownLeft {
|
2446 |
+
-webkit-animation-name: rotateOutDownLeft;
|
2447 |
+
animation-name: rotateOutDownLeft;
|
2448 |
+
}
|
2449 |
+
|
2450 |
+
@-webkit-keyframes rotateOutDownRight {
|
2451 |
+
from {
|
2452 |
+
-webkit-transform-origin: right bottom;
|
2453 |
+
transform-origin: right bottom;
|
2454 |
+
opacity: 1;
|
2455 |
+
}
|
2456 |
+
|
2457 |
+
to {
|
2458 |
+
-webkit-transform-origin: right bottom;
|
2459 |
+
transform-origin: right bottom;
|
2460 |
+
-webkit-transform: rotate3d(0, 0, 1, -45deg);
|
2461 |
+
transform: rotate3d(0, 0, 1, -45deg);
|
2462 |
+
opacity: 0;
|
2463 |
+
}
|
2464 |
+
}
|
2465 |
+
|
2466 |
+
@keyframes rotateOutDownRight {
|
2467 |
+
from {
|
2468 |
+
-webkit-transform-origin: right bottom;
|
2469 |
+
transform-origin: right bottom;
|
2470 |
+
opacity: 1;
|
2471 |
+
}
|
2472 |
+
|
2473 |
+
to {
|
2474 |
+
-webkit-transform-origin: right bottom;
|
2475 |
+
transform-origin: right bottom;
|
2476 |
+
-webkit-transform: rotate3d(0, 0, 1, -45deg);
|
2477 |
+
transform: rotate3d(0, 0, 1, -45deg);
|
2478 |
+
opacity: 0;
|
2479 |
+
}
|
2480 |
+
}
|
2481 |
+
|
2482 |
+
.rotateOutDownRight {
|
2483 |
+
-webkit-animation-name: rotateOutDownRight;
|
2484 |
+
animation-name: rotateOutDownRight;
|
2485 |
+
}
|
2486 |
+
|
2487 |
+
@-webkit-keyframes rotateOutUpLeft {
|
2488 |
+
from {
|
2489 |
+
-webkit-transform-origin: left bottom;
|
2490 |
+
transform-origin: left bottom;
|
2491 |
+
opacity: 1;
|
2492 |
+
}
|
2493 |
+
|
2494 |
+
to {
|
2495 |
+
-webkit-transform-origin: left bottom;
|
2496 |
+
transform-origin: left bottom;
|
2497 |
+
-webkit-transform: rotate3d(0, 0, 1, -45deg);
|
2498 |
+
transform: rotate3d(0, 0, 1, -45deg);
|
2499 |
+
opacity: 0;
|
2500 |
+
}
|
2501 |
+
}
|
2502 |
+
|
2503 |
+
@keyframes rotateOutUpLeft {
|
2504 |
+
from {
|
2505 |
+
-webkit-transform-origin: left bottom;
|
2506 |
+
transform-origin: left bottom;
|
2507 |
+
opacity: 1;
|
2508 |
+
}
|
2509 |
+
|
2510 |
+
to {
|
2511 |
+
-webkit-transform-origin: left bottom;
|
2512 |
+
transform-origin: left bottom;
|
2513 |
+
-webkit-transform: rotate3d(0, 0, 1, -45deg);
|
2514 |
+
transform: rotate3d(0, 0, 1, -45deg);
|
2515 |
+
opacity: 0;
|
2516 |
+
}
|
2517 |
+
}
|
2518 |
+
|
2519 |
+
.rotateOutUpLeft {
|
2520 |
+
-webkit-animation-name: rotateOutUpLeft;
|
2521 |
+
animation-name: rotateOutUpLeft;
|
2522 |
+
}
|
2523 |
+
|
2524 |
+
@-webkit-keyframes rotateOutUpRight {
|
2525 |
+
from {
|
2526 |
+
-webkit-transform-origin: right bottom;
|
2527 |
+
transform-origin: right bottom;
|
2528 |
+
opacity: 1;
|
2529 |
+
}
|
2530 |
+
|
2531 |
+
to {
|
2532 |
+
-webkit-transform-origin: right bottom;
|
2533 |
+
transform-origin: right bottom;
|
2534 |
+
-webkit-transform: rotate3d(0, 0, 1, 90deg);
|
2535 |
+
transform: rotate3d(0, 0, 1, 90deg);
|
2536 |
+
opacity: 0;
|
2537 |
+
}
|
2538 |
+
}
|
2539 |
+
|
2540 |
+
@keyframes rotateOutUpRight {
|
2541 |
+
from {
|
2542 |
+
-webkit-transform-origin: right bottom;
|
2543 |
+
transform-origin: right bottom;
|
2544 |
+
opacity: 1;
|
2545 |
+
}
|
2546 |
+
|
2547 |
+
to {
|
2548 |
+
-webkit-transform-origin: right bottom;
|
2549 |
+
transform-origin: right bottom;
|
2550 |
+
-webkit-transform: rotate3d(0, 0, 1, 90deg);
|
2551 |
+
transform: rotate3d(0, 0, 1, 90deg);
|
2552 |
+
opacity: 0;
|
2553 |
+
}
|
2554 |
+
}
|
2555 |
+
|
2556 |
+
.rotateOutUpRight {
|
2557 |
+
-webkit-animation-name: rotateOutUpRight;
|
2558 |
+
animation-name: rotateOutUpRight;
|
2559 |
+
}
|
2560 |
+
|
2561 |
+
@-webkit-keyframes hinge {
|
2562 |
+
0% {
|
2563 |
+
-webkit-transform-origin: top left;
|
2564 |
+
transform-origin: top left;
|
2565 |
+
-webkit-animation-timing-function: ease-in-out;
|
2566 |
+
animation-timing-function: ease-in-out;
|
2567 |
+
}
|
2568 |
+
|
2569 |
+
20%, 60% {
|
2570 |
+
-webkit-transform: rotate3d(0, 0, 1, 80deg);
|
2571 |
+
transform: rotate3d(0, 0, 1, 80deg);
|
2572 |
+
-webkit-transform-origin: top left;
|
2573 |
+
transform-origin: top left;
|
2574 |
+
-webkit-animation-timing-function: ease-in-out;
|
2575 |
+
animation-timing-function: ease-in-out;
|
2576 |
+
}
|
2577 |
+
|
2578 |
+
40%, 80% {
|
2579 |
+
-webkit-transform: rotate3d(0, 0, 1, 60deg);
|
2580 |
+
transform: rotate3d(0, 0, 1, 60deg);
|
2581 |
+
-webkit-transform-origin: top left;
|
2582 |
+
transform-origin: top left;
|
2583 |
+
-webkit-animation-timing-function: ease-in-out;
|
2584 |
+
animation-timing-function: ease-in-out;
|
2585 |
+
opacity: 1;
|
2586 |
+
}
|
2587 |
+
|
2588 |
+
to {
|
2589 |
+
-webkit-transform: translate3d(0, 700px, 0);
|
2590 |
+
transform: translate3d(0, 700px, 0);
|
2591 |
+
opacity: 0;
|
2592 |
+
}
|
2593 |
+
}
|
2594 |
+
|
2595 |
+
@keyframes hinge {
|
2596 |
+
0% {
|
2597 |
+
-webkit-transform-origin: top left;
|
2598 |
+
transform-origin: top left;
|
2599 |
+
-webkit-animation-timing-function: ease-in-out;
|
2600 |
+
animation-timing-function: ease-in-out;
|
2601 |
+
}
|
2602 |
+
|
2603 |
+
20%, 60% {
|
2604 |
+
-webkit-transform: rotate3d(0, 0, 1, 80deg);
|
2605 |
+
transform: rotate3d(0, 0, 1, 80deg);
|
2606 |
+
-webkit-transform-origin: top left;
|
2607 |
+
transform-origin: top left;
|
2608 |
+
-webkit-animation-timing-function: ease-in-out;
|
2609 |
+
animation-timing-function: ease-in-out;
|
2610 |
+
}
|
2611 |
+
|
2612 |
+
40%, 80% {
|
2613 |
+
-webkit-transform: rotate3d(0, 0, 1, 60deg);
|
2614 |
+
transform: rotate3d(0, 0, 1, 60deg);
|
2615 |
+
-webkit-transform-origin: top left;
|
2616 |
+
transform-origin: top left;
|
2617 |
+
-webkit-animation-timing-function: ease-in-out;
|
2618 |
+
animation-timing-function: ease-in-out;
|
2619 |
+
opacity: 1;
|
2620 |
+
}
|
2621 |
+
|
2622 |
+
to {
|
2623 |
+
-webkit-transform: translate3d(0, 700px, 0);
|
2624 |
+
transform: translate3d(0, 700px, 0);
|
2625 |
+
opacity: 0;
|
2626 |
+
}
|
2627 |
+
}
|
2628 |
+
|
2629 |
+
.hinge {
|
2630 |
+
-webkit-animation-name: hinge;
|
2631 |
+
animation-name: hinge;
|
2632 |
+
}
|
2633 |
+
|
2634 |
+
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
|
2635 |
+
|
2636 |
+
@-webkit-keyframes rollIn {
|
2637 |
+
from {
|
2638 |
+
opacity: 0;
|
2639 |
+
-webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
|
2640 |
+
transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
|
2641 |
+
}
|
2642 |
+
|
2643 |
+
to {
|
2644 |
+
opacity: 1;
|
2645 |
+
-webkit-transform: none;
|
2646 |
+
transform: none;
|
2647 |
+
}
|
2648 |
+
}
|
2649 |
+
|
2650 |
+
@keyframes rollIn {
|
2651 |
+
from {
|
2652 |
+
opacity: 0;
|
2653 |
+
-webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
|
2654 |
+
transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
|
2655 |
+
}
|
2656 |
+
|
2657 |
+
to {
|
2658 |
+
opacity: 1;
|
2659 |
+
-webkit-transform: none;
|
2660 |
+
transform: none;
|
2661 |
+
}
|
2662 |
+
}
|
2663 |
+
|
2664 |
+
.rollIn {
|
2665 |
+
-webkit-animation-name: rollIn;
|
2666 |
+
animation-name: rollIn;
|
2667 |
+
}
|
2668 |
+
|
2669 |
+
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
|
2670 |
+
|
2671 |
+
@-webkit-keyframes rollOut {
|
2672 |
+
from {
|
2673 |
+
opacity: 1;
|
2674 |
+
}
|
2675 |
+
|
2676 |
+
to {
|
2677 |
+
opacity: 0;
|
2678 |
+
-webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
|
2679 |
+
transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
|
2680 |
+
}
|
2681 |
+
}
|
2682 |
+
|
2683 |
+
@keyframes rollOut {
|
2684 |
+
from {
|
2685 |
+
opacity: 1;
|
2686 |
+
}
|
2687 |
+
|
2688 |
+
to {
|
2689 |
+
opacity: 0;
|
2690 |
+
-webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
|
2691 |
+
transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
|
2692 |
+
}
|
2693 |
+
}
|
2694 |
+
|
2695 |
+
.rollOut {
|
2696 |
+
-webkit-animation-name: rollOut;
|
2697 |
+
animation-name: rollOut;
|
2698 |
+
}
|
2699 |
+
|
2700 |
+
@-webkit-keyframes zoomIn {
|
2701 |
+
from {
|
2702 |
+
opacity: 0;
|
2703 |
+
-webkit-transform: scale3d(.3, .3, .3);
|
2704 |
+
transform: scale3d(.3, .3, .3);
|
2705 |
+
}
|
2706 |
+
|
2707 |
+
50% {
|
2708 |
+
opacity: 1;
|
2709 |
+
}
|
2710 |
+
}
|
2711 |
+
|
2712 |
+
@keyframes zoomIn {
|
2713 |
+
from {
|
2714 |
+
opacity: 0;
|
2715 |
+
-webkit-transform: scale3d(.3, .3, .3);
|
2716 |
+
transform: scale3d(.3, .3, .3);
|
2717 |
+
}
|
2718 |
+
|
2719 |
+
50% {
|
2720 |
+
opacity: 1;
|
2721 |
+
}
|
2722 |
+
}
|
2723 |
+
|
2724 |
+
.zoomIn {
|
2725 |
+
-webkit-animation-name: zoomIn;
|
2726 |
+
animation-name: zoomIn;
|
2727 |
+
}
|
2728 |
+
|
2729 |
+
@-webkit-keyframes zoomInDown {
|
2730 |
+
from {
|
2731 |
+
opacity: 0;
|
2732 |
+
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
|
2733 |
+
transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
|
2734 |
+
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2735 |
+
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2736 |
+
}
|
2737 |
+
|
2738 |
+
60% {
|
2739 |
+
opacity: 1;
|
2740 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
|
2741 |
+
transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
|
2742 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2743 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2744 |
+
}
|
2745 |
+
}
|
2746 |
+
|
2747 |
+
@keyframes zoomInDown {
|
2748 |
+
from {
|
2749 |
+
opacity: 0;
|
2750 |
+
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
|
2751 |
+
transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
|
2752 |
+
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2753 |
+
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2754 |
+
}
|
2755 |
+
|
2756 |
+
60% {
|
2757 |
+
opacity: 1;
|
2758 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
|
2759 |
+
transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
|
2760 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2761 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2762 |
+
}
|
2763 |
+
}
|
2764 |
+
|
2765 |
+
.zoomInDown {
|
2766 |
+
-webkit-animation-name: zoomInDown;
|
2767 |
+
animation-name: zoomInDown;
|
2768 |
+
}
|
2769 |
+
|
2770 |
+
@-webkit-keyframes zoomInLeft {
|
2771 |
+
from {
|
2772 |
+
opacity: 0;
|
2773 |
+
-webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
|
2774 |
+
transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
|
2775 |
+
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2776 |
+
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2777 |
+
}
|
2778 |
+
|
2779 |
+
60% {
|
2780 |
+
opacity: 1;
|
2781 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
|
2782 |
+
transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
|
2783 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2784 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2785 |
+
}
|
2786 |
+
}
|
2787 |
+
|
2788 |
+
@keyframes zoomInLeft {
|
2789 |
+
from {
|
2790 |
+
opacity: 0;
|
2791 |
+
-webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
|
2792 |
+
transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
|
2793 |
+
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2794 |
+
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2795 |
+
}
|
2796 |
+
|
2797 |
+
60% {
|
2798 |
+
opacity: 1;
|
2799 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
|
2800 |
+
transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
|
2801 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2802 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2803 |
+
}
|
2804 |
+
}
|
2805 |
+
|
2806 |
+
.zoomInLeft {
|
2807 |
+
-webkit-animation-name: zoomInLeft;
|
2808 |
+
animation-name: zoomInLeft;
|
2809 |
+
}
|
2810 |
+
|
2811 |
+
@-webkit-keyframes zoomInRight {
|
2812 |
+
from {
|
2813 |
+
opacity: 0;
|
2814 |
+
-webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
|
2815 |
+
transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
|
2816 |
+
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2817 |
+
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2818 |
+
}
|
2819 |
+
|
2820 |
+
60% {
|
2821 |
+
opacity: 1;
|
2822 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
|
2823 |
+
transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
|
2824 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2825 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2826 |
+
}
|
2827 |
+
}
|
2828 |
+
|
2829 |
+
@keyframes zoomInRight {
|
2830 |
+
from {
|
2831 |
+
opacity: 0;
|
2832 |
+
-webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
|
2833 |
+
transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
|
2834 |
+
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2835 |
+
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2836 |
+
}
|
2837 |
+
|
2838 |
+
60% {
|
2839 |
+
opacity: 1;
|
2840 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
|
2841 |
+
transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
|
2842 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2843 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2844 |
+
}
|
2845 |
+
}
|
2846 |
+
|
2847 |
+
.zoomInRight {
|
2848 |
+
-webkit-animation-name: zoomInRight;
|
2849 |
+
animation-name: zoomInRight;
|
2850 |
+
}
|
2851 |
+
|
2852 |
+
@-webkit-keyframes zoomInUp {
|
2853 |
+
from {
|
2854 |
+
opacity: 0;
|
2855 |
+
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
|
2856 |
+
transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
|
2857 |
+
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2858 |
+
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2859 |
+
}
|
2860 |
+
|
2861 |
+
60% {
|
2862 |
+
opacity: 1;
|
2863 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
|
2864 |
+
transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
|
2865 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2866 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2867 |
+
}
|
2868 |
+
}
|
2869 |
+
|
2870 |
+
@keyframes zoomInUp {
|
2871 |
+
from {
|
2872 |
+
opacity: 0;
|
2873 |
+
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
|
2874 |
+
transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
|
2875 |
+
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2876 |
+
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2877 |
+
}
|
2878 |
+
|
2879 |
+
60% {
|
2880 |
+
opacity: 1;
|
2881 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
|
2882 |
+
transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
|
2883 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2884 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2885 |
+
}
|
2886 |
+
}
|
2887 |
+
|
2888 |
+
.zoomInUp {
|
2889 |
+
-webkit-animation-name: zoomInUp;
|
2890 |
+
animation-name: zoomInUp;
|
2891 |
+
}
|
2892 |
+
|
2893 |
+
@-webkit-keyframes zoomOut {
|
2894 |
+
from {
|
2895 |
+
opacity: 1;
|
2896 |
+
}
|
2897 |
+
|
2898 |
+
50% {
|
2899 |
+
opacity: 0;
|
2900 |
+
-webkit-transform: scale3d(.3, .3, .3);
|
2901 |
+
transform: scale3d(.3, .3, .3);
|
2902 |
+
}
|
2903 |
+
|
2904 |
+
to {
|
2905 |
+
opacity: 0;
|
2906 |
+
}
|
2907 |
+
}
|
2908 |
+
|
2909 |
+
@keyframes zoomOut {
|
2910 |
+
from {
|
2911 |
+
opacity: 1;
|
2912 |
+
}
|
2913 |
+
|
2914 |
+
50% {
|
2915 |
+
opacity: 0;
|
2916 |
+
-webkit-transform: scale3d(.3, .3, .3);
|
2917 |
+
transform: scale3d(.3, .3, .3);
|
2918 |
+
}
|
2919 |
+
|
2920 |
+
to {
|
2921 |
+
opacity: 0;
|
2922 |
+
}
|
2923 |
+
}
|
2924 |
+
|
2925 |
+
.zoomOut {
|
2926 |
+
-webkit-animation-name: zoomOut;
|
2927 |
+
animation-name: zoomOut;
|
2928 |
+
}
|
2929 |
+
|
2930 |
+
@-webkit-keyframes zoomOutDown {
|
2931 |
+
40% {
|
2932 |
+
opacity: 1;
|
2933 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
|
2934 |
+
transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
|
2935 |
+
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2936 |
+
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2937 |
+
}
|
2938 |
+
|
2939 |
+
to {
|
2940 |
+
opacity: 0;
|
2941 |
+
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
|
2942 |
+
transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
|
2943 |
+
-webkit-transform-origin: center bottom;
|
2944 |
+
transform-origin: center bottom;
|
2945 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2946 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2947 |
+
}
|
2948 |
+
}
|
2949 |
+
|
2950 |
+
@keyframes zoomOutDown {
|
2951 |
+
40% {
|
2952 |
+
opacity: 1;
|
2953 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
|
2954 |
+
transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
|
2955 |
+
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2956 |
+
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
2957 |
+
}
|
2958 |
+
|
2959 |
+
to {
|
2960 |
+
opacity: 0;
|
2961 |
+
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
|
2962 |
+
transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
|
2963 |
+
-webkit-transform-origin: center bottom;
|
2964 |
+
transform-origin: center bottom;
|
2965 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2966 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
2967 |
+
}
|
2968 |
+
}
|
2969 |
+
|
2970 |
+
.zoomOutDown {
|
2971 |
+
-webkit-animation-name: zoomOutDown;
|
2972 |
+
animation-name: zoomOutDown;
|
2973 |
+
}
|
2974 |
+
|
2975 |
+
@-webkit-keyframes zoomOutLeft {
|
2976 |
+
40% {
|
2977 |
+
opacity: 1;
|
2978 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
|
2979 |
+
transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
|
2980 |
+
}
|
2981 |
+
|
2982 |
+
to {
|
2983 |
+
opacity: 0;
|
2984 |
+
-webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
|
2985 |
+
transform: scale(.1) translate3d(-2000px, 0, 0);
|
2986 |
+
-webkit-transform-origin: left center;
|
2987 |
+
transform-origin: left center;
|
2988 |
+
}
|
2989 |
+
}
|
2990 |
+
|
2991 |
+
@keyframes zoomOutLeft {
|
2992 |
+
40% {
|
2993 |
+
opacity: 1;
|
2994 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
|
2995 |
+
transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
|
2996 |
+
}
|
2997 |
+
|
2998 |
+
to {
|
2999 |
+
opacity: 0;
|
3000 |
+
-webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
|
3001 |
+
transform: scale(.1) translate3d(-2000px, 0, 0);
|
3002 |
+
-webkit-transform-origin: left center;
|
3003 |
+
transform-origin: left center;
|
3004 |
+
}
|
3005 |
+
}
|
3006 |
+
|
3007 |
+
.zoomOutLeft {
|
3008 |
+
-webkit-animation-name: zoomOutLeft;
|
3009 |
+
animation-name: zoomOutLeft;
|
3010 |
+
}
|
3011 |
+
|
3012 |
+
@-webkit-keyframes zoomOutRight {
|
3013 |
+
40% {
|
3014 |
+
opacity: 1;
|
3015 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
|
3016 |
+
transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
|
3017 |
+
}
|
3018 |
+
|
3019 |
+
to {
|
3020 |
+
opacity: 0;
|
3021 |
+
-webkit-transform: scale(.1) translate3d(2000px, 0, 0);
|
3022 |
+
transform: scale(.1) translate3d(2000px, 0, 0);
|
3023 |
+
-webkit-transform-origin: right center;
|
3024 |
+
transform-origin: right center;
|
3025 |
+
}
|
3026 |
+
}
|
3027 |
+
|
3028 |
+
@keyframes zoomOutRight {
|
3029 |
+
40% {
|
3030 |
+
opacity: 1;
|
3031 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
|
3032 |
+
transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
|
3033 |
+
}
|
3034 |
+
|
3035 |
+
to {
|
3036 |
+
opacity: 0;
|
3037 |
+
-webkit-transform: scale(.1) translate3d(2000px, 0, 0);
|
3038 |
+
transform: scale(.1) translate3d(2000px, 0, 0);
|
3039 |
+
-webkit-transform-origin: right center;
|
3040 |
+
transform-origin: right center;
|
3041 |
+
}
|
3042 |
+
}
|
3043 |
+
|
3044 |
+
.zoomOutRight {
|
3045 |
+
-webkit-animation-name: zoomOutRight;
|
3046 |
+
animation-name: zoomOutRight;
|
3047 |
+
}
|
3048 |
+
|
3049 |
+
@-webkit-keyframes zoomOutUp {
|
3050 |
+
40% {
|
3051 |
+
opacity: 1;
|
3052 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
|
3053 |
+
transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
|
3054 |
+
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
3055 |
+
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
3056 |
+
}
|
3057 |
+
|
3058 |
+
to {
|
3059 |
+
opacity: 0;
|
3060 |
+
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
|
3061 |
+
transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
|
3062 |
+
-webkit-transform-origin: center bottom;
|
3063 |
+
transform-origin: center bottom;
|
3064 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
3065 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
3066 |
+
}
|
3067 |
+
}
|
3068 |
+
|
3069 |
+
@keyframes zoomOutUp {
|
3070 |
+
40% {
|
3071 |
+
opacity: 1;
|
3072 |
+
-webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
|
3073 |
+
transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
|
3074 |
+
-webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
3075 |
+
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
|
3076 |
+
}
|
3077 |
+
|
3078 |
+
to {
|
3079 |
+
opacity: 0;
|
3080 |
+
-webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
|
3081 |
+
transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
|
3082 |
+
-webkit-transform-origin: center bottom;
|
3083 |
+
transform-origin: center bottom;
|
3084 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
3085 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
3086 |
+
}
|
3087 |
+
}
|
3088 |
+
|
3089 |
+
.zoomOutUp {
|
3090 |
+
-webkit-animation-name: zoomOutUp;
|
3091 |
+
animation-name: zoomOutUp;
|
3092 |
+
}
|
3093 |
+
|
3094 |
+
@-webkit-keyframes slideInDown {
|
3095 |
+
from {
|
3096 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
3097 |
+
transform: translate3d(0, -100%, 0);
|
3098 |
+
visibility: visible;
|
3099 |
+
}
|
3100 |
+
|
3101 |
+
to {
|
3102 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3103 |
+
transform: translate3d(0, 0, 0);
|
3104 |
+
}
|
3105 |
+
}
|
3106 |
+
|
3107 |
+
@keyframes slideInDown {
|
3108 |
+
from {
|
3109 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
3110 |
+
transform: translate3d(0, -100%, 0);
|
3111 |
+
visibility: visible;
|
3112 |
+
}
|
3113 |
+
|
3114 |
+
to {
|
3115 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3116 |
+
transform: translate3d(0, 0, 0);
|
3117 |
+
}
|
3118 |
+
}
|
3119 |
+
|
3120 |
+
.slideInDown {
|
3121 |
+
-webkit-animation-name: slideInDown;
|
3122 |
+
animation-name: slideInDown;
|
3123 |
+
}
|
3124 |
+
|
3125 |
+
@-webkit-keyframes slideInLeft {
|
3126 |
+
from {
|
3127 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
3128 |
+
transform: translate3d(-100%, 0, 0);
|
3129 |
+
visibility: visible;
|
3130 |
+
}
|
3131 |
+
|
3132 |
+
to {
|
3133 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3134 |
+
transform: translate3d(0, 0, 0);
|
3135 |
+
}
|
3136 |
+
}
|
3137 |
+
|
3138 |
+
@keyframes slideInLeft {
|
3139 |
+
from {
|
3140 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
3141 |
+
transform: translate3d(-100%, 0, 0);
|
3142 |
+
visibility: visible;
|
3143 |
+
}
|
3144 |
+
|
3145 |
+
to {
|
3146 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3147 |
+
transform: translate3d(0, 0, 0);
|
3148 |
+
}
|
3149 |
+
}
|
3150 |
+
|
3151 |
+
.slideInLeft {
|
3152 |
+
-webkit-animation-name: slideInLeft;
|
3153 |
+
animation-name: slideInLeft;
|
3154 |
+
}
|
3155 |
+
|
3156 |
+
@-webkit-keyframes slideInRight {
|
3157 |
+
from {
|
3158 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
3159 |
+
transform: translate3d(100%, 0, 0);
|
3160 |
+
visibility: visible;
|
3161 |
+
}
|
3162 |
+
|
3163 |
+
to {
|
3164 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3165 |
+
transform: translate3d(0, 0, 0);
|
3166 |
+
}
|
3167 |
+
}
|
3168 |
+
|
3169 |
+
@keyframes slideInRight {
|
3170 |
+
from {
|
3171 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
3172 |
+
transform: translate3d(100%, 0, 0);
|
3173 |
+
visibility: visible;
|
3174 |
+
}
|
3175 |
+
|
3176 |
+
to {
|
3177 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3178 |
+
transform: translate3d(0, 0, 0);
|
3179 |
+
}
|
3180 |
+
}
|
3181 |
+
|
3182 |
+
.slideInRight {
|
3183 |
+
-webkit-animation-name: slideInRight;
|
3184 |
+
animation-name: slideInRight;
|
3185 |
+
}
|
3186 |
+
|
3187 |
+
@-webkit-keyframes slideInUp {
|
3188 |
+
from {
|
3189 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
3190 |
+
transform: translate3d(0, 100%, 0);
|
3191 |
+
visibility: visible;
|
3192 |
+
}
|
3193 |
+
|
3194 |
+
to {
|
3195 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3196 |
+
transform: translate3d(0, 0, 0);
|
3197 |
+
}
|
3198 |
+
}
|
3199 |
+
|
3200 |
+
@keyframes slideInUp {
|
3201 |
+
from {
|
3202 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
3203 |
+
transform: translate3d(0, 100%, 0);
|
3204 |
+
visibility: visible;
|
3205 |
+
}
|
3206 |
+
|
3207 |
+
to {
|
3208 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3209 |
+
transform: translate3d(0, 0, 0);
|
3210 |
+
}
|
3211 |
+
}
|
3212 |
+
|
3213 |
+
.slideInUp {
|
3214 |
+
-webkit-animation-name: slideInUp;
|
3215 |
+
animation-name: slideInUp;
|
3216 |
+
}
|
3217 |
+
|
3218 |
+
@-webkit-keyframes slideOutDown {
|
3219 |
+
from {
|
3220 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3221 |
+
transform: translate3d(0, 0, 0);
|
3222 |
+
}
|
3223 |
+
|
3224 |
+
to {
|
3225 |
+
visibility: hidden;
|
3226 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
3227 |
+
transform: translate3d(0, 100%, 0);
|
3228 |
+
}
|
3229 |
+
}
|
3230 |
+
|
3231 |
+
@keyframes slideOutDown {
|
3232 |
+
from {
|
3233 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3234 |
+
transform: translate3d(0, 0, 0);
|
3235 |
+
}
|
3236 |
+
|
3237 |
+
to {
|
3238 |
+
visibility: hidden;
|
3239 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
3240 |
+
transform: translate3d(0, 100%, 0);
|
3241 |
+
}
|
3242 |
+
}
|
3243 |
+
|
3244 |
+
.slideOutDown {
|
3245 |
+
-webkit-animation-name: slideOutDown;
|
3246 |
+
animation-name: slideOutDown;
|
3247 |
+
}
|
3248 |
+
|
3249 |
+
@-webkit-keyframes slideOutLeft {
|
3250 |
+
from {
|
3251 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3252 |
+
transform: translate3d(0, 0, 0);
|
3253 |
+
}
|
3254 |
+
|
3255 |
+
to {
|
3256 |
+
visibility: hidden;
|
3257 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
3258 |
+
transform: translate3d(-100%, 0, 0);
|
3259 |
+
}
|
3260 |
+
}
|
3261 |
+
|
3262 |
+
@keyframes slideOutLeft {
|
3263 |
+
from {
|
3264 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3265 |
+
transform: translate3d(0, 0, 0);
|
3266 |
+
}
|
3267 |
+
|
3268 |
+
to {
|
3269 |
+
visibility: hidden;
|
3270 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
3271 |
+
transform: translate3d(-100%, 0, 0);
|
3272 |
+
}
|
3273 |
+
}
|
3274 |
+
|
3275 |
+
.slideOutLeft {
|
3276 |
+
-webkit-animation-name: slideOutLeft;
|
3277 |
+
animation-name: slideOutLeft;
|
3278 |
+
}
|
3279 |
+
|
3280 |
+
@-webkit-keyframes slideOutRight {
|
3281 |
+
from {
|
3282 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3283 |
+
transform: translate3d(0, 0, 0);
|
3284 |
+
}
|
3285 |
+
|
3286 |
+
to {
|
3287 |
+
visibility: hidden;
|
3288 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
3289 |
+
transform: translate3d(100%, 0, 0);
|
3290 |
+
}
|
3291 |
+
}
|
3292 |
+
|
3293 |
+
@keyframes slideOutRight {
|
3294 |
+
from {
|
3295 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3296 |
+
transform: translate3d(0, 0, 0);
|
3297 |
+
}
|
3298 |
+
|
3299 |
+
to {
|
3300 |
+
visibility: hidden;
|
3301 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
3302 |
+
transform: translate3d(100%, 0, 0);
|
3303 |
+
}
|
3304 |
+
}
|
3305 |
+
|
3306 |
+
.slideOutRight {
|
3307 |
+
-webkit-animation-name: slideOutRight;
|
3308 |
+
animation-name: slideOutRight;
|
3309 |
+
}
|
3310 |
+
|
3311 |
+
@-webkit-keyframes slideOutUp {
|
3312 |
+
from {
|
3313 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3314 |
+
transform: translate3d(0, 0, 0);
|
3315 |
+
}
|
3316 |
+
|
3317 |
+
to {
|
3318 |
+
visibility: hidden;
|
3319 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
3320 |
+
transform: translate3d(0, -100%, 0);
|
3321 |
+
}
|
3322 |
+
}
|
3323 |
+
|
3324 |
+
@keyframes slideOutUp {
|
3325 |
+
from {
|
3326 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3327 |
+
transform: translate3d(0, 0, 0);
|
3328 |
+
}
|
3329 |
+
|
3330 |
+
to {
|
3331 |
+
visibility: hidden;
|
3332 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
3333 |
+
transform: translate3d(0, -100%, 0);
|
3334 |
+
}
|
3335 |
+
}
|
3336 |
+
|
3337 |
+
.slideOutUp {
|
3338 |
+
-webkit-animation-name: slideOutUp;
|
3339 |
+
animation-name: slideOutUp;
|
3340 |
+
}
|
3341 |
+
/*# sourceMappingURL=data:application/json;base64,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bUNBQW1DO0dBQ3BDO0NBQ0Y7O0FBRUQ7RUFDRSxzQ0FBc0M7RUFDdEMsOEJBQThCO0NBQy9COztBQUVEO0VBQ0U7SUFDRSx3Q0FBd0M7SUFDeEMsZ0NBQWdDO0dBQ2pDOztFQUVEO0lBQ0UsbUJBQW1CO0lBQ25CLDRDQUE0QztJQUM1QyxvQ0FBb0M7R0FDckM7Q0FDRjs7QUFFRDtFQUNFO0lBQ0Usd0NBQXdDO0lBQ3hDLGdDQUFnQztHQUNqQzs7RUFFRDtJQUNFLG1CQUFtQjtJQUNuQiw0Q0FBNEM7SUFDNUMsb0NBQW9DO0dBQ3JDO0NBQ0Y7O0FBRUQ7RUFDRSxtQ0FBbUM7RUFDbkMsMkJBQTJCO0NBQzVCIiwiZmlsZSI6ImFuaW1hdGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vKiFcbiAqIGFuaW1hdGUuY3NzIC1odHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlXG4gKiBWZXJzaW9uIC0gMy41LjFcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYgRGFuaWVsIEVkZW5cbiAqL1xuXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5hbmltYXRlZC5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbn1cblxuLmFuaW1hdGVkLmZsaXBPdXRYLFxuLmFuaW1hdGVkLmZsaXBPdXRZLFxuLmFuaW1hdGVkLmJvdW5jZUluLFxuLmFuaW1hdGVkLmJvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLCAyMCUsIDUzJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIDQwJSwgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICA0MCUsIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgfVxufVxuXG4uYm91bmNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sIDUwJSwgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSwgNTAlLCB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDI1JSwgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGFzaCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xuICBhbmltYXRpb24tbmFtZTogZmxhc2g7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG5cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucnViYmVyQmFuZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xuICBmcm9tLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIGZyb20sIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgMjAlLCA0MCUsIDYwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uc2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgfVxuXG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuXG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cblxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cblxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gIH1cblxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG5cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmhlYWRTaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5cbi5zd2luZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4udGFkYSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4ud29iYmxlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLCAxMS4xJSwgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cblxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cblxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgfVxuXG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG5cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuXG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cblxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sIDExLjElLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuXG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuXG4uamVsbG8ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLCAyMCUsIDQwJSwgNjAlLCA4MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sIDIwJSwgNDAlLCA2MCUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4uYm91bmNlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNTAlLCA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA1MCUsIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cblxuLmJvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmZhZGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dERvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRSaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuLmFuaW1hdGVkLmZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbi5mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuLmZsaXBJblkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dERvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0RG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5yb2xsSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuXG4ucm9sbE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uem9vbUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnpvb21PdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuLnpvb21PdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn1cbiJdfQ== */
|
assets/css/flexslider.css
ADDED
@@ -0,0 +1,225 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* jQuery FlexSlider v2.6.0
|
3 |
+
* http://www.woothemes.com/flexslider/
|
4 |
+
*
|
5 |
+
* Copyright 2012 WooThemes
|
6 |
+
* Free to use under the GPLv2 and later license.
|
7 |
+
* http://www.gnu.org/licenses/gpl-2.0.html
|
8 |
+
*
|
9 |
+
* Contributing author: Tyler Smith (@mbmufffin)
|
10 |
+
*
|
11 |
+
*/
|
12 |
+
|
13 |
+
/* ====================================================================================================================
|
14 |
+
* RESETS
|
15 |
+
* ====================================================================================================================*/
|
16 |
+
.lvca-flex-container a:hover,
|
17 |
+
.lvca-flex-slider a:hover {
|
18 |
+
outline: none;
|
19 |
+
}
|
20 |
+
.lvca-slides,
|
21 |
+
.lvca-slides > li,
|
22 |
+
.lvca-flex-control-nav,
|
23 |
+
.lvca-flex-direction-nav {
|
24 |
+
margin: 0;
|
25 |
+
padding: 0;
|
26 |
+
list-style: none;
|
27 |
+
}
|
28 |
+
.lvca-flex-pauseplay span {
|
29 |
+
text-transform: capitalize;
|
30 |
+
}
|
31 |
+
/* ====================================================================================================================
|
32 |
+
* BASE STYLES
|
33 |
+
* ====================================================================================================================*/
|
34 |
+
.lvca-flexslider {
|
35 |
+
margin: 0;
|
36 |
+
padding: 0;
|
37 |
+
}
|
38 |
+
.lvca-flexslider .lvca-slides > li {
|
39 |
+
display: none;
|
40 |
+
-webkit-backface-visibility: hidden;
|
41 |
+
}
|
42 |
+
.lvca-flexslider .lvca-slides img {
|
43 |
+
width: 100%;
|
44 |
+
display: block;
|
45 |
+
}
|
46 |
+
html[xmlns] .lvca-flexslider .lvca-slides {
|
47 |
+
display: block;
|
48 |
+
}
|
49 |
+
* html .lvca-flexslider .lvca-slides {
|
50 |
+
height: 1%;
|
51 |
+
}
|
52 |
+
.no-js .lvca-flexslider .lvca-slides > li:first-child {
|
53 |
+
display: block;
|
54 |
+
}
|
55 |
+
/* ====================================================================================================================
|
56 |
+
* DEFAULT THEME
|
57 |
+
* ====================================================================================================================*/
|
58 |
+
.lvca-flexslider {
|
59 |
+
margin: 0;
|
60 |
+
position: relative;
|
61 |
+
zoom: 1;
|
62 |
+
}
|
63 |
+
.lvca-flexslider .lvca-slides {
|
64 |
+
zoom: 1;
|
65 |
+
overflow: hidden;
|
66 |
+
}
|
67 |
+
.lvca-flexslider .lvca-slides img {
|
68 |
+
height: auto;
|
69 |
+
-moz-user-select: none;
|
70 |
+
}
|
71 |
+
.lvca-flex-viewport {
|
72 |
+
max-height: 2000px;
|
73 |
+
-webkit-transition: all 1s ease;
|
74 |
+
transition: all 1s ease;
|
75 |
+
}
|
76 |
+
.loading .lvca-flex-viewport {
|
77 |
+
max-height: 300px;
|
78 |
+
}
|
79 |
+
.carousel li {
|
80 |
+
margin-right: 5px;
|
81 |
+
}
|
82 |
+
.lvca-flex-direction-nav {
|
83 |
+
*height: 0;
|
84 |
+
}
|
85 |
+
.lvca-flex-direction-nav a {
|
86 |
+
text-decoration: none;
|
87 |
+
display: block;
|
88 |
+
width: 40px;
|
89 |
+
height: 40px;
|
90 |
+
margin: -20px 0 0;
|
91 |
+
position: absolute;
|
92 |
+
top: 50%;
|
93 |
+
z-index: 10;
|
94 |
+
overflow: hidden;
|
95 |
+
opacity: 0;
|
96 |
+
cursor: pointer;
|
97 |
+
color: rgba(0, 0, 0, 0.8);
|
98 |
+
text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
|
99 |
+
-webkit-transition: all 0.3s ease-in-out;
|
100 |
+
transition: all 0.3s ease-in-out;
|
101 |
+
}
|
102 |
+
a.lvca-flex-prev {
|
103 |
+
/* font-family: "flexslider-icon"; */
|
104 |
+
font-size: 40px;
|
105 |
+
/* display: inline-block; */
|
106 |
+
/* content: '\f001'; */
|
107 |
+
color: rgba(0, 0, 0, 0.8);
|
108 |
+
text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
|
109 |
+
}
|
110 |
+
.lvca-flex-direction-nav a.lvca-flex-next:before {
|
111 |
+
content: '\f002';
|
112 |
+
}
|
113 |
+
.lvca-flex-direction-nav .lvca-flex-prev {
|
114 |
+
left: -50px;
|
115 |
+
}
|
116 |
+
.lvca-flex-direction-nav .lvca-flex-next {
|
117 |
+
right: -50px;
|
118 |
+
text-align: right;
|
119 |
+
}
|
120 |
+
.lvca-flex-direction-nav .lvca-flex-disabled {
|
121 |
+
opacity: 0!important;
|
122 |
+
filter: alpha(opacity=0);
|
123 |
+
cursor: default;
|
124 |
+
z-index: -1;
|
125 |
+
}
|
126 |
+
.lvca-flex-pauseplay a {
|
127 |
+
display: block;
|
128 |
+
width: 20px;
|
129 |
+
height: 20px;
|
130 |
+
position: absolute;
|
131 |
+
bottom: 5px;
|
132 |
+
left: 10px;
|
133 |
+
opacity: 0.8;
|
134 |
+
z-index: 10;
|
135 |
+
overflow: hidden;
|
136 |
+
cursor: pointer;
|
137 |
+
color: #000;
|
138 |
+
}
|
139 |
+
.lvca-flex-pauseplay a:before {
|
140 |
+
font-family: "flexslider-icon";
|
141 |
+
font-size: 20px;
|
142 |
+
display: inline-block;
|
143 |
+
content: '\f004';
|
144 |
+
}
|
145 |
+
.lvca-flex-pauseplay a:hover {
|
146 |
+
opacity: 1;
|
147 |
+
}
|
148 |
+
.lvca-flex-pauseplay a.lvca-flex-play:before {
|
149 |
+
content: '\f003';
|
150 |
+
}
|
151 |
+
.lvca-flex-control-nav {
|
152 |
+
width: 100%;
|
153 |
+
position: absolute;
|
154 |
+
bottom: -40px;
|
155 |
+
text-align: center;
|
156 |
+
}
|
157 |
+
.lvca-flex-control-nav li {
|
158 |
+
margin: 0 6px;
|
159 |
+
display: inline-block;
|
160 |
+
zoom: 1;
|
161 |
+
*display: inline;
|
162 |
+
}
|
163 |
+
.lvca-flex-control-paging li a {
|
164 |
+
width: 11px;
|
165 |
+
height: 11px;
|
166 |
+
display: block;
|
167 |
+
background: #666;
|
168 |
+
background: rgba(0, 0, 0, 0.5);
|
169 |
+
cursor: pointer;
|
170 |
+
text-indent: -9999px;
|
171 |
+
-webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
|
172 |
+
-o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
|
173 |
+
box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
|
174 |
+
border-radius: 20px;
|
175 |
+
}
|
176 |
+
.lvca-flex-control-paging li a:hover {
|
177 |
+
background: #333;
|
178 |
+
background: rgba(0, 0, 0, 0.7);
|
179 |
+
}
|
180 |
+
.lvca-flex-control-paging li a.lvca-flex-active {
|
181 |
+
background: #000;
|
182 |
+
background: rgba(0, 0, 0, 0.9);
|
183 |
+
cursor: default;
|
184 |
+
}
|
185 |
+
.lvca-flex-control-thumbs {
|
186 |
+
margin: 5px 0 0;
|
187 |
+
position: static;
|
188 |
+
overflow: hidden;
|
189 |
+
}
|
190 |
+
.lvca-flex-control-thumbs li {
|
191 |
+
width: 25%;
|
192 |
+
float: left;
|
193 |
+
margin: 0;
|
194 |
+
}
|
195 |
+
.lvca-flex-control-thumbs img {
|
196 |
+
width: 100%;
|
197 |
+
height: auto;
|
198 |
+
display: block;
|
199 |
+
opacity: .7;
|
200 |
+
cursor: pointer;
|
201 |
+
-moz-user-select: none;
|
202 |
+
-webkit-transition: all 1s ease;
|
203 |
+
transition: all 1s ease;
|
204 |
+
}
|
205 |
+
.lvca-flex-control-thumbs img:hover {
|
206 |
+
opacity: 1;
|
207 |
+
}
|
208 |
+
.lvca-flex-control-thumbs .lvca-flex-active {
|
209 |
+
opacity: 1;
|
210 |
+
cursor: default;
|
211 |
+
}
|
212 |
+
/* ====================================================================================================================
|
213 |
+
* RESPONSIVE
|
214 |
+
* ====================================================================================================================*/
|
215 |
+
@media screen and (max-width: 860px) {
|
216 |
+
.lvca-flex-direction-nav .lvca-flex-prev {
|
217 |
+
opacity: 1;
|
218 |
+
left: 10px;
|
219 |
+
}
|
220 |
+
.lvca-flex-direction-nav .lvca-flex-next {
|
221 |
+
opacity: 1;
|
222 |
+
right: 10px;
|
223 |
+
}
|
224 |
+
}
|
225 |
+
/*# sourceMappingURL=data:application/json;base64,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Q0UsV0FBVztFQUNYLGdCQUFnQjtDQUNqQjtBQUNEOzt5SEFFeUg7QUFDekg7RUFDRTtJQUNFLFdBQVc7SUFDWCxXQUFXO0dBQ1o7RUFDRDtJQUNFLFdBQVc7SUFDWCxZQUFZO0dBQ2I7Q0FDRiIsImZpbGUiOiJmbGV4c2xpZGVyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBqUXVlcnkgRmxleFNsaWRlciB2Mi42LjBcbiAqIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9mbGV4c2xpZGVyL1xuICpcbiAqIENvcHlyaWdodCAyMDEyIFdvb1RoZW1lc1xuICogRnJlZSB0byB1c2UgdW5kZXIgdGhlIEdQTHYyIGFuZCBsYXRlciBsaWNlbnNlLlxuICogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbFxuICpcbiAqIENvbnRyaWJ1dGluZyBhdXRob3I6IFR5bGVyIFNtaXRoIChAbWJtdWZmZmluKVxuICpcbiAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogUkVTRVRTXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4ubHZjYS1mbGV4LWNvbnRhaW5lciBhOmhvdmVyLFxuLmx2Y2EtZmxleC1zbGlkZXIgYTpob3ZlciB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ubHZjYS1zbGlkZXMsXG4ubHZjYS1zbGlkZXMgPiBsaSxcbi5sdmNhLWZsZXgtY29udHJvbC1uYXYsXG4ubHZjYS1mbGV4LWRpcmVjdGlvbi1uYXYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ubHZjYS1mbGV4LXBhdXNlcGxheSBzcGFuIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQkFTRSBTVFlMRVNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5sdmNhLWZsZXhzbGlkZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4ubHZjYS1mbGV4c2xpZGVyIC5sdmNhLXNsaWRlcyA+IGxpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4ubHZjYS1mbGV4c2xpZGVyIC5sdmNhLXNsaWRlcyBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5odG1sW3htbG5zXSAubHZjYS1mbGV4c2xpZGVyIC5sdmNhLXNsaWRlcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuKiBodG1sIC5sdmNhLWZsZXhzbGlkZXIgLmx2Y2Etc2xpZGVzIHtcbiAgaGVpZ2h0OiAxJTtcbn1cbi5uby1qcyAubHZjYS1mbGV4c2xpZGVyIC5sdmNhLXNsaWRlcyA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogREVGQVVMVCBUSEVNRVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmx2Y2EtZmxleHNsaWRlciB7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6b29tOiAxO1xufVxuLmx2Y2EtZmxleHNsaWRlciAubHZjYS1zbGlkZXMge1xuICB6b29tOiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmx2Y2EtZmxleHNsaWRlciAubHZjYS1zbGlkZXMgaW1nIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xufVxuLmx2Y2EtZmxleC12aWV3cG9ydCB7XG4gIG1heC1oZWlnaHQ6IDIwMDBweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG59XG4ubG9hZGluZyAubHZjYS1mbGV4LXZpZXdwb3J0IHtcbiAgbWF4LWhlaWdodDogMzAwcHg7XG59XG4uY2Fyb3VzZWwgbGkge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbi5sdmNhLWZsZXgtZGlyZWN0aW9uLW5hdiB7XG4gICpoZWlnaHQ6IDA7XG59XG4ubHZjYS1mbGV4LWRpcmVjdGlvbi1uYXYgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbjogLTIwcHggMCAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB6LWluZGV4OiAxMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5hLmx2Y2EtZmxleC1wcmV2IHtcbiAgLyogZm9udC1mYW1pbHk6IFwiZmxleHNsaWRlci1pY29uXCI7ICovXG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgLyogZGlzcGxheTogaW5saW5lLWJsb2NrOyAqL1xuICAvKiBjb250ZW50OiAnXFxmMDAxJzsgKi9cbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG59XG4ubHZjYS1mbGV4LWRpcmVjdGlvbi1uYXYgYS5sdmNhLWZsZXgtbmV4dDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDAyJztcbn1cbi5sdmNhLWZsZXgtZGlyZWN0aW9uLW5hdiAubHZjYS1mbGV4LXByZXYge1xuICBsZWZ0OiAtNTBweDtcbn1cbi5sdmNhLWZsZXgtZGlyZWN0aW9uLW5hdiAubHZjYS1mbGV4LW5leHQge1xuICByaWdodDogLTUwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLmx2Y2EtZmxleC1kaXJlY3Rpb24tbmF2IC5sdmNhLWZsZXgtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwIWltcG9ydGFudDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHotaW5kZXg6IC0xO1xufVxuLmx2Y2EtZmxleC1wYXVzZXBsYXkgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogNXB4O1xuICBsZWZ0OiAxMHB4O1xuICBvcGFjaXR5OiAwLjg7XG4gIHotaW5kZXg6IDEwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjMDAwO1xufVxuLmx2Y2EtZmxleC1wYXVzZXBsYXkgYTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJmbGV4c2xpZGVyLWljb25cIjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6ICdcXGYwMDQnO1xufVxuLmx2Y2EtZmxleC1wYXVzZXBsYXkgYTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4ubHZjYS1mbGV4LXBhdXNlcGxheSBhLmx2Y2EtZmxleC1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMDMnO1xufVxuLmx2Y2EtZmxleC1jb250cm9sLW5hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5sdmNhLWZsZXgtY29udHJvbC1uYXYgbGkge1xuICBtYXJnaW46IDAgNnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHpvb206IDE7XG4gICpkaXNwbGF5OiBpbmxpbmU7XG59XG4ubHZjYS1mbGV4LWNvbnRyb2wtcGFnaW5nIGxpIGEge1xuICB3aWR0aDogMTFweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogIzY2NjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAtby1ib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjBweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xufVxuLmx2Y2EtZmxleC1jb250cm9sLXBhZ2luZyBsaSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xufVxuLmx2Y2EtZmxleC1jb250cm9sLXBhZ2luZyBsaSBhLmx2Y2EtZmxleC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5sdmNhLWZsZXgtY29udHJvbC10aHVtYnMge1xuICBtYXJnaW46IDVweCAwIDA7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ubHZjYS1mbGV4LWNvbnRyb2wtdGh1bWJzIGxpIHtcbiAgd2lkdGg6IDI1JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMDtcbn1cbi5sdmNhLWZsZXgtY29udHJvbC10aHVtYnMgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IC43O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xufVxuLmx2Y2EtZmxleC1jb250cm9sLXRodW1icyBpbWc6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLmx2Y2EtZmxleC1jb250cm9sLXRodW1icyAubHZjYS1mbGV4LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBSRVNQT05TSVZFXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NjBweCkge1xuICAubHZjYS1mbGV4LWRpcmVjdGlvbi1uYXYgLmx2Y2EtZmxleC1wcmV2IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGxlZnQ6IDEwcHg7XG4gIH1cbiAgLmx2Y2EtZmxleC1kaXJlY3Rpb24tbmF2IC5sdmNhLWZsZXgtbmV4dCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICByaWdodDogMTBweDtcbiAgfVxufVxuIl19 */
|
assets/css/fonts/icomoon/icomoon.eot
ADDED
Binary file
|
assets/css/fonts/icomoon/icomoon.svg
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3 |
+
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
+
<metadata>Generated by IcoMoon</metadata>
|
5 |
+
<defs>
|
6 |
+
<font id="icomoon" horiz-adv-x="1024">
|
7 |
+
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
8 |
+
<missing-glyph horiz-adv-x="1024" />
|
9 |
+
<glyph unicode=" " horiz-adv-x="512" d="" />
|
10 |
+
<glyph unicode="" glyph-name="arrow-left" d="M592 672c-12.512 0-23.776-4.896-32.352-12.736l-0.096 0.16-192-176.032c-9.888-9.12-15.552-21.952-15.552-35.424 0-13.44 5.664-26.24 15.552-35.328l192-176 0.096 0.128c8.576-7.904 19.84-12.768 32.352-12.768 26.496 0 48 21.504 48 48 0 14.016-6.080 26.496-15.648 35.264l0.096 0.064-153.408 140.64 153.408 140.64-0.096 0.16c9.568 8.704 15.648 21.216 15.648 35.232 0 26.496-21.504 48-48 48zM512 960c-282.752 0-512-229.28-512-512.032 0-282.72 229.248-511.968 512-511.968s512 229.248 512 511.968c0 282.752-229.248 512.032-512 512.032zM512 32c-229.376 0-416 186.624-416 415.968 0 229.376 186.624 416.032 416 416.032s416-186.656 416-416.064c0-229.312-186.624-415.936-416-415.936z" />
|
11 |
+
<glyph unicode="" glyph-name="arrow-right" d="M464.448 659.392l-0.096-0.16c-8.576 7.84-19.84 12.768-32.352 12.768-26.496 0-48-21.504-48-48 0-14.016 6.080-26.496 15.648-35.264l-0.096-0.16 153.408-140.64-153.312-140.704c-9.568-8.736-15.648-21.248-15.648-35.232 0-26.496 21.504-48 48-48 12.512 0 23.776 4.864 32.352 12.736l0.096-0.128 192 176c9.888 9.088 15.552 21.92 15.552 35.36 0 13.504-5.664 26.304-15.552 35.392l-192 176.032zM512 960c-282.752 0-512-229.28-512-512.032 0-282.72 229.248-511.968 512-511.968s512 229.248 512 511.968c0 282.752-229.248 512.032-512 512.032zM512 32c-229.376 0-416 186.624-416 415.968 0 229.376 186.624 416.032 416 416.032s416-186.656 416-416.064c0-229.312-186.624-415.936-416-415.936z" />
|
12 |
+
<glyph unicode="" glyph-name="icon-aim" d="M865.472 104.341c-55.723 144.341-230.571 247.552-238.677 252.245-14.549 7.787-28.011 18.581-35.307 24.875-0.384 9.579 1.408 13.504 2.069 14.080 0 0 0.939 0.576 3.776 0.576 6.187 0 13.461-2.709 17.259-4.373 18.965-7.083 46.187-8.533 65.707-8.533 5.717 0 9.515 0.128 9.6 0.128 100.907 0.043 163.755 61.675 166.379 64.299 6.528 6.549 8.128 16.491 3.968 24.747l-40.512 80.085c-2.603 5.163-7.211 9.045-12.757 10.752s-11.52 1.088-16.576-1.707c-51.179-28.203-95.893-43.157-129.301-43.157-29.909 0-41.387 11.755-43.627 14.464-7.744 15.424-28.373 55.829-28.373 55.829-0.789 1.536-1.749 3.008-2.88 4.288-12.885 14.912-30.571 22.784-51.115 22.784-26.837 0-50.005-13.419-52.096-14.699-102.997-58.283-103.275-223.744-103.168-229.163-12.011-172.992-198.72-222.613-206.677-224.661-9.451-2.411-16.085-10.923-16.085-20.672 0-4.629 0-13.248 46.677-120.341 3.435-7.872 11.2-12.8 19.541-12.8 1.301 0 2.581 0.085 3.883 0.341 159.189 29.248 268.864 166.208 302.635 213.717 162.411-82.496 207.616-185.003 208.043-185.963 2.539-6.080 7.765-10.667 14.144-12.416 6.4-1.621 13.205-0.384 18.475 3.627l88.043 66.965c7.531 5.76 10.389 15.808 6.955 24.683zM764.459 61.76c-24.768 40.427-89.856 124.245-232.704 192.299-9.771 4.629-21.504 1.259-27.264-7.915-1.088-1.707-106.816-167.659-268.523-206.869-12.011 27.84-23.744 56-30.592 73.621 56.725 20.672 205.547 90.581 217.067 257.621-0.021 1.451 0.107 147.243 81.963 193.621 4.245 2.453 18.048 8.917 30.699 8.917 7.275 0 12.843-2.048 17.323-6.421 4.885-9.621 21.781-42.709 28.416-55.829 2.133-3.584 22.635-35.115 80.256-35.115 36.501 0 80.277 12.843 130.347 38.165l23.061-45.632c-20.011-14.997-64.704-42.219-125.589-42.219-0.192 0-3.499-0.128-8.619-0.128-21.973 0-40.981 2.176-49.195 5.163-1.685 0.789-16.939 7.744-33.771 7.744-18.624 0-29.781-8.213-35.84-15.125-11.029-12.501-14.827-30.549-11.669-55.168 0.597-4.843 2.88-9.301 6.379-12.672 0.96-0.917 23.552-22.464 49.792-36.459 1.621-0.96 156.885-92.587 213.504-215.787l-55.040-41.813zM621.611 622.912c77.099 0 139.861 62.699 139.861 139.84 0 77.077-62.741 139.84-139.861 139.84s-139.819-62.741-139.819-139.84c0-77.12 62.699-139.84 139.819-139.84zM621.611 859.925c53.611 0 97.195-43.584 97.195-97.173s-43.584-97.173-97.195-97.173c-53.589 0-97.152 43.584-97.152 97.173s43.563 97.173 97.152 97.173z" />
|
13 |
+
<glyph unicode="" glyph-name="icon-behance" d="M168.661 484.16h152.811c47.787 0 71.019 28.8 71.019 88 0 62.933-39.851 79.552-60.907 79.552h-162.923c-11.797 0-21.333-9.557-21.333-21.333v-124.885c0-11.776 9.557-21.333 21.333-21.333zM189.995 609.067h141.589c0.192 0 18.24-0.427 18.24-36.885 0-45.333-13.12-45.333-28.352-45.333h-131.477v82.219zM468.459 478.976c23.552 19.499 42.837 51.605 42.837 101.867 0 103.509-70.549 170.368-179.712 170.368h-291.243c-11.776 0-21.333-9.557-21.333-21.333v-559.701c0-11.776 9.557-21.312 21.333-21.312h290.56c0.235 0 2.432-0.043 2.645-0.043 0 0 0 0 0.021 0 13.227 0 59.883 1.813 104.896 24.853 42.091 21.568 92.245 67.115 92.203 160.491 0.192 3.243 3.947 80.149-40.235 126.848-6.656 7.083-13.995 13.077-21.973 17.963zM488.043 335.381c0-58.624-23.211-100.245-69.013-123.712-37.483-19.179-77.781-20.16-85.461-20.16h-0.021l-1.963 0.021h-269.909v517.035h269.909c85.824 0 137.045-47.744 137.045-127.701 0-77.099-59.093-84.672-65.643-85.248-11.456-0.853-20.16-10.603-19.755-22.059 0.448-11.477 9.856-20.544 21.333-20.544 23.36 0 41.259-6.912 54.763-21.141 31.552-33.237 28.779-94.741 28.715-96.491zM331.584 440.555h-162.923c-11.797 0-21.333-9.557-21.333-21.333v-149.611c0-11.776 9.536-21.333 21.333-21.333l155.179 0.021c55.979 1.259 88.085 35.52 88.085 94.037 0 77.696-52.501 98.219-80.341 98.219zM322.944 290.965h-132.949v106.944h141.547c6.293-0.128 37.717-3.328 37.717-55.552 0-44.245-22.293-50.859-46.315-51.392zM789.461 547.2c-83.093 0-114.581-68.459-119.616-104.64-0.853-6.123 0.981-12.288 5.035-16.96 4.032-4.651 9.899-7.339 16.085-7.339h183.851c11.691 0 21.163 9.387 21.333 21.056 0.021 1.92 0.256 47.552-30.891 79.104-18.837 19.115-44.352 28.779-75.797 28.779zM719.765 460.928c9.216 19.499 28.864 43.605 69.696 43.605 19.797 0 34.581-5.184 45.248-15.872 8.192-8.213 12.821-18.624 15.424-27.733h-130.368zM1003.221 362.155c0.661 5.013 15.317 124.075-53.333 202.283-37.739 42.965-92.437 64.747-162.624 64.747-122.091 0-180.117-64.875-207.317-119.317-28.779-57.621-29.056-114.688-28.992-115.733-0.32-4.693-6.443-115.712 64.235-190.997 41.109-43.755 98.923-65.963 170.688-65.963h0.171c0 0 3.243-0.192 8.939-0.192 99.179 0 205.163 44.736 205.163 170.304 0 11.776-9.536 21.333-21.333 21.333h-98.517c-5.717 0-11.179-2.475-15.211-6.549-4.011-4.053-6.208-9.749-6.123-15.467 0.021-0.576 0.107-14.016-10.176-24.448-10.752-10.944-29.547-15.701-56.747-13.781-34.56 2.389-71.211 10.752-77.675 75.157h267.712c10.709 0.043 19.755 8 21.141 18.624zM962.112 386.24h-270.080c-11.776 0-21.333-9.557-21.333-21.333 0-130.837 89.088-137.024 118.379-139.072 41.749-2.944 71.040 6.443 90.944 27.264 10.368 10.859 15.787 22.805 18.603 32.853h57.493c-5.397-40.043-26.795-68.48-64.939-86.592-37.568-17.813-79.765-19.733-96.213-19.733-3.904 0-6.229 0.107-7.701 0.149-60.693 0-108.032 17.6-140.779 52.331-58.048 61.611-53.013 158.4-52.928 160.619 0.043 7.915 2.859 193.749 193.707 193.749 57.28 0 101.141-16.832 130.432-50.069 41.621-47.232 45.312-117.12 44.416-150.165zM666.88 647.424h230.891c11.776 0 21.333 9.536 21.333 21.333v68.907c0 11.797-9.557 21.333-21.333 21.333h-230.891c-11.797 0-21.333-9.536-21.333-21.333v-68.907c0-11.797 9.536-21.333 21.333-21.333zM688.213 716.331h188.224v-26.24h-188.224v26.24z" />
|
14 |
+
<glyph unicode="" glyph-name="icon-dribbble" d="M804.715 756.992l-19.456 18.432-0.661-1.109c-76.672 64.235-172.331 99.669-272.597 99.669-54.464 0-107.456-10.795-158.059-31.125l-0.555 0.576-13.504-5.952c-125.419-55.531-216.96-168.469-244.843-302.187l-3.456-16.597 0.811-0.384c-3.904-23.317-6.4-46.848-6.4-70.315 0-124.736 53.909-241.323 148.309-322.517l-0.192-0.448 12.843-10.219c76.245-60.715 167.915-92.8 265.045-92.8 51.285 0 101.909 9.429 150.955 28.096l13.461 5.227v0.363c139.968 56.747 236.011 181.419 256.704 332.565l1.131-0.405 2.133 27.648c0.832 10.752 1.621 21.525 1.621 32.469 0 117.824-47.339 227.563-133.291 309.013zM889.749 448v-2.155c-42.667 14.549-98.411 21.888-150.464 21.888-45.205 0-89.493-5.632-133.376-16.683-8.491 22.677-16.939 44.821-26.624 66.24l1.408 0.619-0.469 1.003c86.4 43.221 157.675 107.691 210.816 188.395 65.664-70.976 98.709-162.091 98.709-259.307zM762.069 737.451c-49.472-77.675-118.187-139.499-200.491-180.501-46.229 92.032-105.152 176.768-175.616 252.523 40.597 14.272 82.816 21.845 126.037 21.845 92.331 0 180.309-33.451 250.069-93.867zM343.787 792.256c72.299-75.349 132.459-160.32 179.157-252.949-59.328-23.637-121.877-35.627-186.219-35.627-68.011 0-133.867 13.333-196.075 39.616 27.776 108.224 102.272 199.595 203.136 248.96zM128.661 448c0 17.493 1.664 35.029 4.075 52.459 64.896-26.176 133.376-39.467 204.011-39.467s139.2 13.461 204.288 39.701c9.088-20.053 17.643-40.747 25.664-61.973-136.683-46.144-249.003-143.787-313.749-272.789-79.232 72.661-124.288 173.973-124.288 282.069zM286.741 138.133c59.093 123.541 164.949 217.216 294.464 260.629 33.621-101.291 51.456-206.677 52.992-313.707-39.872-13.525-80.917-20.352-122.219-20.352-81.813-0.021-159.36 25.323-225.237 73.429zM675.755 101.675c-3.008 105.216-21.035 208.725-53.931 308.48 89.003 21.781 182.677 18.901 269.888-8.149-15.637-133.803-96.299-245.653-215.957-300.331z" />
|
15 |
+
<glyph unicode="" glyph-name="icon-facebook" d="M766.101 908.203l-139.947-0.064c0 0-2.859 0.213-7.957 0.213-28.715 0-173.909-7.979-213.44-163.691-0.619-1.728-13.888-40.704-14.123-131.371h-132.757c-11.776 0-21.333-9.536-21.333-21.333v-122.304c0-11.776 9.557-21.333 21.333-21.333h145.195v-439.339c0-11.776 9.557-21.333 21.333-21.333h166.251c11.797 0 21.333 9.557 21.333 21.333v438.891h145.664c11.797 0 21.333 9.536 21.333 21.333v122.752c0 11.797-9.536 21.333-21.333 21.333h-145.344v52.523c0 34.965 22.187 72.32 84.48 72.32h69.312c11.776 0 21.333 9.557 21.333 21.333v127.403c0 11.776-9.557 21.333-21.333 21.333zM744.768 780.8h-47.979c-87.829 0-127.147-57.749-127.147-114.987v-73.856c0-11.776 9.536-21.333 21.333-21.333h145.344v-80.085h-145.664c-11.776 0-21.333-9.557-21.333-21.333v-438.891h-123.584v439.339c0 11.797-9.536 21.333-21.333 21.333h-145.195v79.637h132.928c5.739 0 11.2 2.304 15.232 6.421 4.011 4.075 6.208 9.621 6.101 15.36-1.92 97.024 11.435 137.877 12.053 139.947 31.488 123.755 140.096 133.355 172.651 133.355 2.965 0 4.757-0.107 6.485-0.149h120.085v-84.757z" />
|
16 |
+
<glyph unicode="" glyph-name="icon-flickr" d="M358.379 588.523c-76.928 0-139.52-63.040-139.52-140.523 0-77.525 62.592-140.565 139.52-140.565s139.52 63.040 139.52 140.565c0 77.483-62.592 140.523-139.52 140.523zM358.379 350.101c-53.419 0-96.853 43.925-96.853 97.899 0 53.952 43.435 97.856 96.853 97.856 53.397 0 96.853-43.904 96.853-97.856 0-53.973-43.456-97.899-96.853-97.899zM673.536 588.523c-76.928 0-139.52-63.040-139.52-140.523 0-77.525 62.592-140.565 139.52-140.565 76.907 0 139.499 63.040 139.499 140.565 0 77.483-62.571 140.523-139.499 140.523zM673.536 350.101c-53.419 0-96.853 43.925-96.853 97.899 0 53.952 43.435 97.856 96.853 97.856 53.397 0 96.832-43.904 96.832-97.856 0-53.973-43.435-97.899-96.832-97.899zM515.968 906.603c-255.168 0-462.741-205.739-462.741-458.624s207.573-458.581 462.741-458.581c250.795 0 454.827 205.717 454.827 458.581 0 252.907-204.053 458.624-454.827 458.624zM515.968 32.064c-231.616 0-420.075 186.581-420.075 415.915 0 229.355 188.459 415.957 420.075 415.957 227.264 0 412.16-186.603 412.16-415.957 0-229.333-184.896-415.915-412.16-415.915z" />
|
17 |
+
<glyph unicode="" glyph-name="icon-googleplus" d="M498.581 564.864c8 12.053 13.227 24.725 15.808 39.189 1.173 10.816 1.771 20.181 1.771 27.883 0 33.173-8.491 66.859-25.173 99.947-8.555 17.451-20.117 31.957-35.029 43.563-15.467 11.136-33.344 17.109-53.056 17.728-0.405 0.021-0.789 0.021-1.195 0-26.816-0.619-49.387-11.52-67.115-32.384-0.469-0.576-0.939-1.173-1.344-1.792-13.995-20.544-20.8-43.733-20.203-68.416 0-30.912 8.981-63.189 26.859-96.213 9.195-16.299 21.141-30.272 35.541-41.536 16.085-12.608 34.667-19.029 56.085-19.029h0.085c25.515 0.96 47.211 10.347 64.427 27.947 0.939 0.939 1.792 1.984 2.539 3.115zM472.192 610.155c-1.195-6.613-3.904-13.333-8.043-19.968-9.195-8.725-20.331-13.227-33.344-13.739-11.029 0-20.501 3.243-29.035 9.941-9.963 7.808-18.261 17.515-24.491 28.587-14.293 26.389-21.547 51.84-21.547 76.075-0.384 15.936 3.605 29.995 12.16 42.944 9.429 10.773 20.373 16.021 34.261 16.469 11.008-0.448 20.437-3.605 28.224-9.216 9.237-7.189 16.512-16.427 22.4-28.395 13.739-27.285 20.715-54.528 20.715-80.96 0-6.293-0.533-14.037-1.301-21.739zM462.827 320.256c-2.944 2.069-6.336 3.328-9.92 3.733-5.483 0.576-11.883 0.875-19.221 0.896-5.525 0.448-15.637 0.107-35.413-1.749-17.472-2.475-35.648-6.549-55.531-12.544-4.245-1.621-10.219-4.053-18.475-7.552-8.896-4.096-18.048-9.92-27.84-17.899-9.301-8.235-17.195-18.389-23.083-29.547-7.723-13.419-11.648-29.355-11.648-47.403 0-35.285 15.872-64.533 46.741-86.613 27.84-20.949 65.515-31.872 112.597-32.448 42.496 0.576 76.011 10.603 99.733 29.845 24.448 20.053 36.885 46.251 36.885 77.824 0 25.6-8.491 48.235-25.984 68.053-15.083 15.488-37.611 33.6-68.843 55.403zM493.803 152.064c-16-12.992-40.661-19.819-72.768-20.245-37.248 0.448-66.496 8.469-87.339 24.171-20.011 14.293-29.333 30.891-29.333 52.203 0 10.453 2.005 19.221 6.315 26.731 3.883 7.317 8.597 13.461 13.333 17.685 6.293 5.099 12.373 9.024 17.472 11.371 7.083 3.008 12.587 5.248 14.976 6.251 16.341 4.885 32.427 8.448 46.741 10.517 11.733 1.088 20.117 1.643 25.173 1.643l1.579-0.021c4.629-0.619 9.237-0.192 13.141-0.405 26.219-18.539 45.696-34.261 57.301-46.080 9.813-11.157 14.592-23.936 14.592-39.061 0.021-18.667-6.741-32.917-21.184-44.757zM581.781 407.168l-35.904 29.269c-4.971 4.971-10.048 10.709-15.893 18.005-2.005 2.24-4.672 6.165-4.672 14.315 0 7.36 1.835 13.269 6.421 19.627 4.885 7.509 10.176 14.229 14.379 18.709 11.755 10.24 22.827 20.309 34.027 30.976 9.877 10.389 19.307 21.845 28.075 34.155 19.243 27.157 29.376 63.083 30.080 107.093l0.021 7.147c0.085 16.683 0.128 25.877-5.44 44.288-6.891 18.88-13.483 33.877-23.040 45.163h13.696c6.656 0 12.907 3.115 16.939 8.384l54.293 71.040c4.928 6.464 5.781 15.147 2.197 22.421-3.627 7.232-11.029 11.84-19.157 11.84h-220.757c-30.528 0-63.616-3.584-99.008-10.795-36.928-8.597-72.789-27.093-107.84-56.043-49.792-48.149-75.051-102.933-75.051-162.859 0-50.368 18.261-94.997 53.44-131.755 34.816-40.981 85.397-62.144 150.656-62.976 1.664 0 3.371 0.021 5.099 0.064-1.259-6.037-1.877-12.629-1.877-19.883 0-20.309 4.8-38.187 13.333-51.563 0.811-1.557 1.643-3.115 2.496-4.693-18.752-1.685-39.787-4.245-63.040-7.659-41.621-7.189-81.877-21.781-119.957-43.563-35.371-21.077-60.352-46.357-74.155-74.88-13.952-27.968-21.013-54.144-21.013-77.803 0-48.619 22.165-90.624 65.28-124.309 41.856-35.392 104.704-53.739 186.795-54.507h0.533c97.131 1.515 173.056 25.579 225.728 71.509 51.84 45.312 78.123 98.56 78.123 158.613-0.747 41.92-10.752 76.757-30.165 104.107-18.411 24.171-40.192 46.549-64.64 66.56zM570.411 110.037c-44.8-39.061-111.445-59.584-198.059-60.971-71.744 0.704-125.376 15.637-160.021 44.928-33.344 26.069-49.515 55.893-49.515 91.2 0 17.003 5.568 36.779 16.64 59.008 10.219 21.099 29.632 40.299 57.365 56.853 33.408 19.115 68.971 32 105.173 38.272 37.909 5.589 69.739 8.747 94.592 9.451 8 0.213 15.211 4.885 18.645 12.096 3.456 7.232 2.581 15.765-2.261 22.123-7.168 9.429-13.675 19.712-20.203 32.064-5.099 8.085-7.595 18.005-7.595 30.293 0 8.469 1.344 13.355 2.965 17.301 2.368 6.784 4.629 13.056 6.677 18.731 2.496 6.933 1.259 14.677-3.307 20.48-4.053 5.163-10.261 8.128-16.747 8.128-0.789 0-1.579-0.043-2.368-0.128-11.947-1.344-23.061-2.027-32.832-2.027-52.843 0.661-91.563 16.363-119.232 48.853-28.565 29.888-42.453 63.637-42.453 103.211 0 48.576 20.288 91.819 60.779 131.072 28.651 23.595 58.645 39.189 88.533 46.144 31.979 6.528 62.229 9.813 89.899 9.813h177.6l-21.675-28.373h-57.557c-9.387 0-17.429-6.336-20.16-15.339-2.709-9.003 1.045-18.901 8.896-24.107 4.331-2.88 20.203-18.219 26.987-24.768l5.696-5.461c6.464-6.677 13.355-25.643 15.573-31.595 3.328-11.136 3.307-15.296 3.243-30.677l-0.021-6.976c-0.555-34.901-8.043-62.741-22.165-82.709-7.573-10.603-15.744-20.523-23.509-28.715-9.984-9.493-20.629-19.157-33.237-30.272-7.424-7.68-14.4-16.533-20.075-25.344-9.301-12.693-13.995-27.435-13.995-43.861 0-16.853 5.227-31.253 14.741-41.813 6.037-7.595 12.181-14.549 19.883-22.080l37.483-30.677c21.888-17.92 41.344-37.909 57.344-58.859 13.909-19.627 21.269-46.4 21.845-79.189-0.043-47.467-20.843-88.725-63.573-126.080zM882.517 767.232h-64v64c0 11.797-9.557 21.333-21.333 21.333s-21.333-9.536-21.333-21.333v-64h-64c-11.776 0-21.333-9.536-21.333-21.333 0-11.776 9.557-21.333 21.333-21.333h64v-64c0-11.776 9.557-21.333 21.333-21.333s21.333 9.557 21.333 21.333v64h64c11.776 0 21.333 9.557 21.333 21.333 0 11.797-9.557 21.333-21.333 21.333z" />
|
18 |
+
<glyph unicode="" glyph-name="icon-linkedin" d="M255.915 646.272h-172.181c-11.797 0-21.333-9.536-21.333-21.333v-601.899c0-11.797 9.536-21.333 21.333-21.333h172.181c11.797 0 21.333 9.536 21.333 21.333v601.899c0 11.797-9.536 21.333-21.333 21.333zM234.581 44.373h-129.515v559.232h129.515v-559.232zM736 653.589c-83.605 0-138.304-36.053-170.069-67.435l-3.947 40.832c-1.067 10.965-10.261 19.285-21.227 19.285h-0.427l-156.971-3.008c-5.76-0.107-11.2-2.539-15.147-6.741-3.947-4.181-6.016-9.792-5.76-15.552 1.963-43.947 1.899-95.317 1.813-154.795l-0.021-446.165c0-11.797 9.536-21.333 21.333-21.333h172.203c11.776 0 21.333 9.536 21.333 21.333v347.947c0 17.792 1.515 30.635 4.587 38.293 10.731 27.307 46.123 55.573 86.784 55.573 52.672 0 84.096-40.064 84.096-107.2v-334.592c0-11.797 9.557-21.333 21.333-21.333h169.173c11.797 0 21.333 9.536 21.333 21.333v356.416c0.043 173.568-86.101 277.141-230.421 277.141zM923.797 41.365h-126.507v313.259c0 91.029-49.749 149.867-126.763 149.867-61.077 0-110.763-42.581-126.464-82.581-5.184-12.949-7.573-30.080-7.573-53.952v-326.592h-129.536l0.021 424.747c0.085 50.539 0.128 95.253-1.045 134.912l115.499 2.219 6.635-68.821c1.067-10.944 10.24-19.264 21.248-19.264h3.627c7.36 0 14.187 3.776 18.091 10.027 12.587 20.096 61.675 85.739 164.992 85.739 119.36 0 187.797-85.44 187.797-234.475v-335.083zM177.067 897.301c-69.269 0-119.531-47.723-119.531-113.493 0-65.728 49.259-113.429 117.12-113.429 69.952 0 120.704 47.701 120.704 113.941-1.557 66.496-50.197 112.981-118.293 112.981zM174.677 713.024c-43.84 0-74.453 29.099-74.453 70.763 0 42.368 30.869 70.827 76.864 70.827 44.928 0 74.645-28.011 75.648-70.827-0.021-42.325-31.403-70.763-78.059-70.763z" />
|
19 |
+
<glyph unicode="" glyph-name="icon-pinterest" d="M877.205 689.515c-14.592 49.472-38.037 91.136-71.723 127.403-32.939 35.435-70.784 62.293-115.776 82.112-32.384 14.272-84.715 31.275-150.123 31.275-5.717 0-11.477-0.149-17.259-0.427-19.712-0.896-40.597-2.027-60.587-4.885-55.851-8-105.003-24.704-150.251-51.072-57.856-33.664-102.997-79.488-134.165-136.149-16.235-29.483-32.192-81.429-38.955-115.349-8.043-40.171-0.939-109.781 15.189-148.971 19.947-48.384 37.269-71.019 77.269-100.949 0.256-0.171 24.683-18.304 43.029-18.304h0.021c31.915 0.597 38.123 30.677 41.109 45.12 0.512 2.581 1.067 5.141 1.685 7.531 0.533 2.133 1.259 4.395 1.984 6.763 4.352 14.165 10.304 33.557 0.235 51.115-3.712 6.485-8.064 11.435-11.925 15.808-1.963 2.24-3.968 4.437-5.568 6.827-14.016 20.928-21.141 47.168-21.141 77.952 0 40.619 9.173 77.419 28.011 112.448 34.155 63.531 90.88 103.616 164.011 115.989 40.981 6.891 91.157 3.797 126.677-7.616 33.131-10.645 61.333-29.525 81.557-54.571 21.419-26.475 33.664-60.139 36.395-100.053 1.344-19.627 0.576-41.387-2.432-68.523-7.403-65.899-26.453-118.912-56.704-157.589-24.555-31.424-50.944-47.189-80.661-48.192l-4.011-0.085c-17.152 0-30.123 3.84-42.112 12.437-12.011 8.619-19.2 19.243-22.592 33.429-3.861 16.235 0.875 33.365 5.909 51.541l0.789 2.944c4.459 16.149 9.088 30.912 13.632 45.44 7.211 23.040 14.677 46.848 20.843 74.496 6.976 31.381 7.893 56.789 2.816 77.675-6.336 26.091-20.309 45.632-41.557 58.112-21.845 12.8-54.528 15.595-81.003 6.507-39.573-13.568-69.76-49.536-82.795-98.731-6.613-24.832-8.491-50.944-5.675-77.525 2.176-20.651 6.72-39.36 15.125-61.803-0.235-0.768-0.448-1.536-0.704-2.304-0.597-2.069-1.195-4.032-1.6-5.781-9.237-38.677-18.219-76.843-27.179-114.944-8.341-35.413-16.661-70.784-25.173-106.517l-1.92-7.957c-8.832-36.907-18.005-75.093-20.117-120.768l-0.939-18.88c-1.856-35.413-3.776-72.021 0.981-106.112 0.917-6.336 3.2-22.293 18.581-28.011 2.795-2.027 7.509-4.629 14.037-4.629 12.416 0 20.416 8.448 33.408 23.339 30.080 34.325 55.659 77.675 78.251 132.501 10.091 24.533 16.768 50.901 23.232 76.373l3.861 15.104c4.501 17.344 8.917 34.88 13.269 52.267 7.851-6.592 16.811-12.608 27.008-18.261 24.235-13.504 51.563-21.355 81.259-23.36 28.864-2.048 56.939 1.643 89.152 10.944 24.448 6.997 47.893 17.643 69.696 31.616 77.888 50.069 130.987 137.557 149.525 246.4 5.525 32.512 7.872 58.624 7.872 87.275-0.021 33.131-3.989 63.296-11.776 89.579zM838.997 519.787c-16.469-96.875-62.827-174.165-130.496-217.664-18.261-11.733-37.909-20.651-58.389-26.496-27.413-7.893-50.56-11.008-74.453-9.387-23.701 1.6-44.48 7.531-63.424 18.069-19.029 10.581-31.317 21.909-39.915 36.757-4.331 7.531-12.8 11.691-21.376 10.453-8.576-1.195-15.595-7.445-17.749-15.851l-9.6-38.037c-4.501-17.899-9.024-36.011-13.675-53.867l-3.947-15.339c-6.357-25.152-12.352-48.896-21.312-70.613-19.115-46.464-40.299-83.584-64.555-113.195-1.429 24.427-0.021 51.371 1.344 77.632l0.96 19.115c1.941 41.643 10.603 77.824 19.008 112.789l1.92 8.021c8.512 35.755 16.853 71.189 25.216 106.645 8.96 38.037 17.92 76.139 27.115 114.731l1.024 3.563c2.283 7.68 4.885 16.405 1.387 25.173-8.085 20.864-12.373 37.483-14.293 55.637-2.261 21.397-0.768 42.283 4.501 62.080 9.323 35.179 29.504 60.437 55.403 69.312 6.080 2.091 12.651 3.136 19.499 3.136 9.813 0 19.541-2.261 26.048-6.080 11.072-6.507 18.155-16.768 21.717-31.403 3.477-14.208 2.453-33.813-3.008-58.304-5.781-25.899-12.651-47.808-19.904-71.019-4.715-14.976-9.451-30.208-14.059-46.869l-0.789-2.901c-5.931-21.504-12.672-45.867-6.272-72.768 5.803-24.448 18.645-43.477 39.211-58.219 19.136-13.76 41.045-20.437 66.987-20.437l5.461 0.107c42.496 1.429 80.469 23.168 112.811 64.533 35.179 44.971 57.237 105.259 65.493 179.115 3.328 29.76 4.139 53.973 2.624 76.203-3.371 48.811-18.773 90.517-45.781 123.947-25.472 31.552-60.629 55.168-101.717 68.373-41.899 13.483-99.157 17.109-146.816 9.088-86.635-14.656-153.877-62.315-194.496-137.856-22.272-41.408-33.109-84.821-33.109-132.672 0-39.403 9.536-73.6 28.352-101.696 2.603-3.925 5.739-7.552 8.96-11.243 2.773-3.136 5.397-6.144 6.72-8.363 0.789-3.115-2.176-12.715-3.755-17.877-0.917-2.965-1.792-5.803-2.496-8.469-0.789-3.093-1.493-6.4-2.176-9.728-0.576-2.752-1.408-6.741-2.283-9.685-4.48 2.069-10.88 5.717-14.528 8.427-33.899 25.344-46.336 41.643-63.381 83.051-12.821 31.104-19.136 92.715-12.821 124.373 7.125 35.605 22.272 80.917 34.496 103.147 27.392 49.792 67.157 90.112 118.251 119.829 40.427 23.552 84.523 38.507 134.848 45.717 18.133 2.603 37.035 3.627 56.469 4.501 64.277 2.901 117.099-13.568 148.224-27.264 39.552-17.408 72.811-41.003 101.717-72.107 29.077-31.317 49.365-67.435 62.059-110.443 6.635-22.4 10.005-48.469 10.005-77.547 0.043-26.133-2.155-50.112-7.253-80.128z" />
|
20 |
+
<glyph unicode="" glyph-name="icon-skype" d="M942.699 369.941c6.699 37.888 32.192 230.229-111.232 371.264-10.901 12.672-118.507 131.733-316.651 131.733-22.315 0-45.184-1.557-68.139-4.651-18.176 9.557-69.653 33.216-133.995 33.216-69.376 0-131.008-26.773-183.445-79.829-1.216-1.28-118.997-127.061-39.893-289.152-5.931-27.243-19.669-116.011 21.675-224.149 2.261-8.149 57.984-200.341 268.309-263.019 2.859-1.109 70.912-26.667 164.864-26.667 14.613 0 29.227 0.619 43.541 1.877 16.192-7.296 63.467-26.069 121.621-26.069 69.525 0 131.563 27.392 178.859 78.613 4.885 4.885 117.845 120.576 54.485 296.832zM857.451 102.656c-40.171-43.456-89.984-65.493-148.096-65.493-59.947 0-107.584 23.915-108.011 24.149-3.029 1.557-6.4 2.368-9.771 2.368-0.704 0-1.408-0.043-2.133-0.107-14.784-1.472-30.016-2.219-45.248-2.219-85.653 0-149.013 23.616-151.125 24.384-188.715 56.277-240.448 232.341-241.536 235.968-44.096 115.605-19.328 206.677-19.093 207.509 1.515 5.269 0.939 10.923-1.6 15.765-71.893 137.963 25.109 242.816 28.992 246.933 43.904 44.395 95.317 66.923 152.853 66.923 66.56 0 118.4-30.613 118.869-30.891 4.224-2.581 9.323-3.584 14.144-2.859 23.317 3.435 46.571 5.184 69.12 5.184 184.064 0 283.648-116.096 284.608-117.227 0.469-0.555 0.981-1.109 1.472-1.621 140.053-137.024 99.285-336.768 98.859-338.795-0.853-4.011-0.555-8.213 0.896-12.032 57.963-153.045-38.528-253.184-43.2-257.941zM625.579 514.773c-0.704 0.213-1.408 0.384-2.133 0.491-104.363 18.624-165.611 46.571-165.781 46.571-13.547 7.68-21.355 15.829-22.016 22.955-0.704 7.616 6.421 16.811 10.923 21.163 26.133 13.248 50.624 19.968 72.789 19.968 48.491 0 71.296-32.235 72.277-33.6 31.723-46.933 64.32-70.72 96.811-70.72 21.781 0 34.773 10.944 36.779 12.8 21.419 18.795 32.747 41.771 32.811 66.453 0.085 47.339-39.979 84.053-44.096 87.701-48.085 44.843-112.107 67.584-190.229 67.584-72.875 0-131.157-20.309-133.312-21.056-125.44-42.155-135.765-150.293-123.733-201.579 0.192-0.811 0.448-1.6 0.704-2.368 46.293-128.107 240.448-144.683 248.683-145.344 88.832-7.019 92.971-48.448 93.12-50.837 3.093-43.243-74.432-56.576-86.443-58.389-77.525 4.373-96.171 34.005-96.213 34.005 0 0 0 0 0-0.021-0.619 1.28-1.344 2.453-2.197 3.563-42.581 56.341-59.2 75.883-96.448 76.843l-2.88 0.043c-29.845 0-47.509-12.587-57.045-23.147-24.256-26.837-21.077-65.664-20.651-69.995 0.107-0.939 0.277-1.877 0.469-2.816 34.475-144.299 218.56-148.459 239.467-148.459h0.491c11.221-0.661 22.037-0.981 32.427-0.981 245.867 0 262.72 179.627 262.805 181.035 10.731 110.059-98.24 171.2-157.376 188.139zM740.544 330.411c-0.533-6.059-17.579-155.2-250.901-141.248-0.448 0.043-1.941 0.043-2.347 0.043-17.344 0-169.536 3.221-197.547 114.048-0.213 4.907-0.341 24.597 9.899 35.968 5.547 6.123 14.72 9.387 27.157 9.067 15.424-0.405 22.101-5.184 62.656-58.773 6.635-11.157 36.8-50.837 133.099-55.659 1.195-0.064 2.325-0.021 3.477 0.107 49.045 5.589 130.731 33.771 125.781 102.869-0.064 3.307-2.816 81.259-132.416 91.499-1.728 0.149-173.461 14.677-211.435 116.053-2.56 12.373-19.157 111.552 96.341 150.357 0.533 0.192 53.781 18.731 119.424 18.731 66.987 0 121.195-18.901 161.493-56.448 8.427-7.552 30.272-32.363 30.165-56.213-0.085-12.373-6.037-23.595-18.027-34.133-0.128-0.085-3.264-2.411-8.896-2.411-7.915 0-29.76 5.056-61.376 51.819-1.408 2.155-35.669 52.523-107.712 52.523-29.76 0-61.632-8.725-94.763-25.963-1.301-0.683-2.496-1.472-3.627-2.389-3.136-2.56-30.613-25.984-27.84-58.944 1.877-22.229 16.512-41.259 44.971-57.344 2.667-1.259 66.091-30.613 176.619-50.475 13.269-4.032 135.381-44.011 125.803-143.083z" />
|
21 |
+
<glyph unicode="" glyph-name="icon-twitter" d="M973.397 743.083c-7.552 5.163-17.515 4.971-24.832-0.491-5.056-3.776-12.587-7.125-21.376-10.069 28.949 35.925 29.376 59.925 28.949 65.813-0.576 7.68-5.248 14.485-12.224 17.749-6.976 3.285-15.168 2.56-21.461-1.963-39.467-28.267-78.955-34.389-101.973-35.2-37.504 34.859-86.016 53.952-137.536 53.952-111.509 0-202.24-90.709-202.24-202.219 0-8.064 0.491-16.107 1.429-24.085-186.112 4.608-337.024 180.011-338.539 181.824-4.48 5.269-11.179 8.085-18.133 7.445-6.891-0.576-13.056-4.501-16.555-10.453-47.36-80.981-28.032-157.696 4.437-211.328-6.037 3.243-13.333 3.456-19.584 0.341-7.147-3.541-11.712-10.795-11.861-18.752-1.387-85.056 37.461-136.064 76.672-165.76-2.88-1.173-5.504-2.987-7.68-5.355-5.099-5.589-6.869-13.483-4.629-20.715 27.243-87.851 91.243-120.789 136.149-133.141-51.477-36.288-115.2-44.821-163.605-44.821-30.891 0-52.203 3.669-52.416 3.712-9.643 1.707-19.349-3.456-23.275-12.523-3.904-9.045-1.152-19.627 6.741-25.536 97.152-73.024 214.421-88.384 295.744-88.384 64.256 0 108.907 9.387 111.168 9.877 417.323 97.472 433.195 471.659 432.512 539.819 78.229 71.893 90.688 99.947 92.651 106.944 2.411 8.768-1.003 18.155-8.533 23.317zM853.333 637.781c-4.843-4.373-7.403-10.731-6.955-17.28 0.277-4.053 23.083-407.317-398.955-505.877-0.427-0.085-42.453-8.853-101.867-8.853-55.381 0-128.704 7.595-198.635 38.293 64.021 4.096 142.571 23.744 199.061 86.229 5.653 6.272 7.040 15.275 3.605 22.976-3.435 7.68-11.115 12.672-19.563 12.672-3.968 0-87.936 1.024-129.963 79.061 19.456-0.619 37.077 2.261 50.176 8.235 8.405 3.819 13.333 12.565 12.352 21.717-0.981 9.173-7.765 16.64-16.768 18.581-4.544 0.981-101.205 22.976-118.635 124.928 15.147-5.781 33.579-9.792 51.413-7.168 8.277 1.237 15.083 7.189 17.365 15.253 2.304 8.043-0.299 16.704-6.677 22.123-4.267 3.627-96.448 83.733-56.427 188.565 53.696-54.528 199.808-182.805 376-172.885 6.357 0.363 12.224 3.563 16 8.704s5.035 11.712 3.456 17.877c-3.307 12.928-4.971 26.283-4.971 39.723 0 87.979 71.595 159.552 159.573 159.552 43.115 0 83.499-16.939 113.749-47.659 3.925-3.989 9.259-6.272 14.848-6.379l3.285-0.021c15.68 0 40.256 1.899 68.437 10.987-9.024-9.536-20.757-20.288-35.989-32.043-7.467-5.781-10.24-15.765-6.848-24.576 3.413-8.789 12.267-14.336 21.589-13.589 3.456 0.299 18.645 1.6 37.44 4.971-11.797-12.117-26.88-26.688-46.101-44.117z" />
|
22 |
+
<glyph unicode="" glyph-name="icon-vimeo" d="M924.011 765.44c-41.131 61.333-114.411 63.872-117.504 63.957l-7.467 0.107c-200.555 0-249.429-210.581-249.92-212.715-1.621-7.339 0.747-14.997 6.251-20.16 5.504-5.141 13.248-7.019 20.501-4.928 43.2 12.459 73.792 11.435 84.8-2.624 8.448-10.795 6.699-29.248 5.12-36.629-64.299-162.603-104.256-182.016-111.573-184.256-22.037 15.275-55.36 143.381-72.299 279.36-19.563 140.715-80.427 170.24-128 170.24-31.147 0-55.915-13.184-62.272-16.917-80.341-37.205-206.507-169.003-211.861-174.635-7.509-7.851-7.893-20.096-0.917-28.416l40.171-47.915c3.925-4.693 9.707-7.488 15.829-7.616 5.803-0.299 12.011 2.325 16.171 6.827 27.328 29.525 43.179 32.704 48.725 32.704 8.149 0 12.16-7.061 13.013-8.704 46.528-93.525 78.315-227.904 78.656-229.397 60.544-250.219 142.336-277.227 174.699-277.227 3.861 0 6.229 0.427 6.187 0.448 231.829 29.696 437.099 439.488 446.549 458.773 39.872 104.683 41.621 185.323 5.141 239.723zM879.787 542.763c-2.027-4.053-203.733-407.040-413.376-433.6l-0.299-21.333v21.333c-3.029 0-74.709 2.795-133.184 244.437-1.344 5.696-33.216 140.501-81.664 237.867-5.611 12.245-22.763 33.024-51.52 33.024-19.925 0-40.64-9.664-62.891-29.483l-12.907 15.403c34.432 34.688 127.68 125.44 186.432 152.128 0.853 0.405 1.664 0.832 2.453 1.344 0.171 0.107 18.688 11.243 41.045 11.243 55.531 0 77.291-72.555 85.717-133.163 10.816-87.019 42.24-291.392 100.48-314.347 2.624-1.109 6.976-2.368 12.864-2.368 45.867 0 97.365 71.637 153.088 212.971 0.341 0.789 0.576 1.6 0.811 2.411 1.173 4.48 10.731 44.544-12.331 74.389-18.112 23.467-48.811 32.469-92.587 26.069 21.035 51.904 75.883 145.749 197.099 145.749l6.357-0.085c0.533-0.021 54.208-1.877 83.179-45.056 27.947-41.664 24.619-111.061-8.768-198.933z" />
|
23 |
+
<glyph unicode="" glyph-name="icon-zerply" d="M871.915 200.555c-1.728 6.805-6.677 12.352-13.291 14.763-6.592 2.411-13.909 1.472-19.712-2.581-28.096-19.861-57.344-29.525-89.387-29.525-60.715 0-123.264 33.963-189.525 69.867-52.544 28.523-106.539 57.792-162.133 70.485 45.525 49.707 94.123 100.843 141.419 150.571 56.789 59.691 115.499 121.429 170.411 182.336 8.021 8.875 16.448 17.664 24.917 26.475 49.344 51.413 105.259 109.717 93.291 203.285-0.704 5.781-3.797 11.029-8.469 14.485s-10.581 4.821-16.341 3.84c-44.693-7.787-134.251-20.885-232.277-20.885-88.747 0-160.213 11.264-206.677 32.555-8.277 3.861-18.027 1.941-24.299-4.608-40.619-42.347-85.44-97.664-71.253-150.037 17.045-62.869 129.301-57.813 224.619-55.36 2.752 0.085 5.419 0.149 8.128 0.213-66.795-86.955-146.411-181.184-237.099-280.64-8.512-9.344-17.429-18.368-26.325-27.435-50.645-51.435-108.011-109.781-88.363-220.075 2.005-11.264 12.416-18.923 23.936-17.365 99.968 13.909 194.432-6.4 279.851-60.053 17.92-11.264 35.264-23.936 53.675-37.312 42.816-31.211 87.104-63.488 140.075-78.251 17.877-4.992 36.096-7.531 54.165-7.531 56.832 0 108.501 24.469 141.717 67.136 33.259 42.688 43.541 97.963 28.949 155.648zM809.344 71.125c-33.259-42.688-93.077-60.779-150.741-44.757-45.547 12.715-86.677 42.667-126.443 71.637-18.155 13.205-36.885 26.901-56.064 38.933-74.88 47.040-156.203 70.891-241.792 70.891-14.912 0-30.101-0.725-45.355-2.197-6.443 75.541 33.6 116.224 79.403 162.795 9.301 9.429 18.581 18.88 27.456 28.629 103.872 113.899 193.408 221.12 266.133 318.677 4.843 6.485 5.589 15.104 1.963 22.315-3.605 7.211-10.987 11.776-19.072 11.776-16.149 0-34.069-0.469-52.672-0.939-19.776-0.533-40.405-1.067-60.565-1.067-100.075 0-119.296 15.616-121.792 24.917-5.952 21.973 11.157 55.147 50.88 98.667 51.755-20.181 122.325-30.421 210.176-30.421 86.123 0 165.781 9.771 216 17.6-1.173-60.843-41.045-102.4-83.008-146.133-8.789-9.152-17.493-18.219-25.792-27.435-54.571-60.48-113.067-122.027-169.664-181.525-56.875-59.84-115.712-121.664-168.96-180.928-5.483-6.059-6.976-14.741-3.883-22.336 3.093-7.552 10.24-12.715 18.411-13.205 60.821-3.733 124.288-38.144 185.707-71.467 68.011-36.885 138.304-75.051 209.856-75.051 30.421 0 58.731 6.677 85.781 20.288 2.347-33.557-6.528-64.683-25.963-89.664z" />
|
24 |
+
<glyph unicode="" glyph-name="quote" d="M861.576 486.852h-155.377c0 128.663 104.358 233.020 233.050 233.020 42.918 0 77.673 34.786 77.673 77.704 0 42.857-34.756 77.673-77.673 77.673-214.528 0-388.397-173.899-388.397-388.397v-310.724c0-85.835 69.572-155.347 155.347-155.347h155.377c85.805 0 155.347 69.542 155.347 155.347v155.347c0.030 85.805-69.542 155.377-155.347 155.377zM395.475 719.872c42.918 0 77.704 34.786 77.704 77.704 0 42.857-34.786 77.673-77.704 77.673-214.498 0-388.397-173.899-388.397-388.397v-310.724c0-85.835 69.572-155.347 155.377-155.347h155.347c85.805 0 155.377 69.542 155.377 155.347v155.347c0 85.835-69.602 155.377-155.377 155.377h-155.347c0 128.663 104.297 233.020 233.020 233.020z" />
|
25 |
+
<glyph unicode="" glyph-name="video-play" d="M511 960c-267.568 0-487.158-205.256-510-466.896v-90.208c22.842-261.64 242.432-466.896 510-466.896 282.77 0 512 229.23 512 512s-229.23 512-512 512zM513-20c-259.574 0-470 210.426-470 470s210.426 469 470 469 470-209.426 470-469-210.426-470-470-470zM372 688.5c0 0-30 10.5-29-14.5-1-25 0.5-421 0-452 0-27 7.2-29.4 29-14 29 16 398.6 231 398.6 231l-1.2 19.8-397.4 229.7zM704 447l-319-184.5v370.5l319-183.5v-2.5z" />
|
26 |
+
<glyph unicode="" glyph-name="icon-email" d="M960 108.885h-896c-35.285 0-64 28.715-64 64v550.229c0 35.285 28.715 64 64 64h896c35.285 0 64-28.715 64-64v-550.229c0-35.307-28.715-64-64-64zM64 744.448c-11.755 0-21.333-9.579-21.333-21.333v-550.229c0-11.776 9.579-21.333 21.333-21.333h896c11.776 0 21.333 9.557 21.333 21.333v550.229c0 11.755-9.557 21.333-21.333 21.333h-896zM512.064 303.125c-0.021 0-0.043 0-0.085 0-42.069 0.043-81.408 17.536-110.784 49.344l-342.144 369.195c-8 8.64-7.509 22.144 1.152 30.144 8.619 8 22.144 7.509 30.144-1.152l342.144-369.216c21.227-22.976 49.451-35.627 79.509-35.648 0.021 0 0.043 0 0.064 0 30.080 0 58.368 12.672 79.659 35.648l341.909 369.216c7.979 8.661 21.483 9.173 30.144 1.173 8.64-8 9.173-21.504 1.152-30.144l-341.909-369.237c-29.461-31.808-68.843-49.323-110.955-49.323zM61.696 151.381c-5.099 0-10.197 1.813-14.272 5.504-8.747 7.893-9.429 21.376-1.536 30.123l262.229 290.603c7.872 8.768 21.355 9.451 30.123 1.536 8.747-7.893 9.429-21.376 1.536-30.123l-262.251-290.603c-4.203-4.672-10.005-7.040-15.829-7.040zM962.325 151.381c-5.803 0-11.627 2.368-15.829 7.040l-262.251 290.603c-7.893 8.747-7.211 22.229 1.536 30.123 8.725 7.893 22.229 7.232 30.123-1.536l262.251-290.603c7.893-8.747 7.211-22.229-1.536-30.123-4.075-3.691-9.173-5.504-14.293-5.504z" />
|
27 |
+
<glyph unicode="" glyph-name="close" d="M36.447 953.748l981.311-981.311-30.17-30.17-981.311 981.311 30.17 30.17zM987.576 953.748l30.17-30.17-981.311-981.311-30.17 30.17 981.311 981.311z" />
|
28 |
+
<glyph unicode="" glyph-name="icon-plus" d="M0.021 469.333h1023.957v-42.667h-1023.957v42.667zM490.688 960h42.667v-1024h-42.667v1024z" />
|
29 |
+
<glyph unicode="" glyph-name="arrow-right-toggle" d="M777.312 503.168l-306.752 306.752c-28.096 28.096-74.144 28.096-102.24 0l-25.6-25.6c-28.096-28.064-28.096-74.112 0-102.208l234.048-234.112-234.080-234.080c-28.096-28.096-28.096-74.144 0-102.208l25.6-25.6c28.096-28.128 74.144-28.128 102.24 0l306.752 306.784c15.104 15.072 21.824 35.296 20.704 55.136 1.152 19.808-5.568 40.032-20.672 55.136z" />
|
30 |
+
<glyph unicode="" glyph-name="menu" d="M0 783.275h1024v-42.667h-1024v42.667zM0 469.312h1024v-42.667h-1024v42.667zM0 155.392h1024v-42.667h-1024v42.667z" />
|
31 |
+
<glyph unicode="" glyph-name="menu-2" d="M916.523-64h-809.003c-59.285 0-107.52 48.256-107.52 107.541v26.283c0 59.264 48.235 107.499 107.52 107.499h809.003c59.264 0 107.477-48.235 107.477-107.499v-26.283c0-59.285-48.213-107.541-107.477-107.541zM107.52 134.656c-35.755 0-64.853-29.077-64.853-64.832v-26.283c0-35.776 29.099-64.875 64.853-64.875h809.003c35.733 0 64.811 29.099 64.811 64.875v26.283c0 35.755-29.077 64.832-64.811 64.832h-809.003zM916.523 327.317h-809.003c-59.285 0-107.52 48.256-107.52 107.541v26.325c0 59.264 48.235 107.499 107.52 107.499h809.003c59.264 0 107.477-48.235 107.477-107.499v-26.325c0-59.307-48.213-107.541-107.477-107.541zM107.52 526.016c-35.755 0-64.853-29.077-64.853-64.832v-26.325c0-35.776 29.099-64.875 64.853-64.875h809.003c35.733 0 64.811 29.099 64.811 64.875v26.325c0 35.755-29.077 64.832-64.811 64.832h-809.003zM916.523 718.677h-809.003c-59.285 0-107.52 48.213-107.52 107.477v26.347c0 59.264 48.235 107.499 107.52 107.499h809.003c59.264 0 107.477-48.235 107.477-107.499v-26.304c0-59.285-48.213-107.52-107.477-107.52zM107.52 917.333c-35.755 0-64.853-29.077-64.853-64.832v-26.347c0-35.733 29.099-64.811 64.853-64.811h809.003c35.733 0 64.811 29.099 64.811 64.853v26.304c0 35.755-29.077 64.832-64.811 64.832h-809.003z" />
|
32 |
+
<glyph unicode="" glyph-name="Fit-To" d="M17.067-64c-4.403 0-8.772 1.673-12.117 5.052-6.622 6.656-6.554 17.51 0.102 24.132l331.503 328.533c6.69 6.588 17.476 6.554 24.132-0.068 6.622-6.69 6.588-17.545-0.102-24.201l-331.503-328.533c-3.345-3.277-7.68-4.915-12.015-4.915zM691.746 607.642c-4.335 0-8.67 1.638-12.049 4.949-6.69 6.622-6.758 17.442-0.137 24.132l315.221 318.191c6.588 6.724 17.476 6.758 24.132 0.137s6.724-17.442 0.137-24.132l-315.221-318.225c-3.379-3.345-7.68-5.052-12.083-5.052zM1006.933 738.133c-9.387 0-17.067 7.646-17.067 17.067v170.667h-170.667c-9.387 0-17.067 7.646-17.067 17.067s7.68 17.067 17.067 17.067h187.733c9.387 0 17.067-7.646 17.067-17.067v-187.733c0-9.421-7.68-17.067-17.067-17.067zM204.8-64h-187.733c-9.421 0-17.067 7.68-17.067 17.067v187.733c0 9.387 7.646 17.067 17.067 17.067s17.067-7.68 17.067-17.067v-170.667h170.667c9.421 0 17.067-7.68 17.067-17.067s-7.646-17.067-17.067-17.067z" />
|
33 |
+
<glyph unicode="" glyph-name="Full-Screen2" d="M17.067-64c-4.403 0-8.772 1.673-12.117 5.052-6.622 6.656-6.554 17.51 0.102 24.132l331.503 328.533c6.69 6.588 17.476 6.554 24.132-0.068 6.622-6.69 6.588-17.545-0.102-24.201l-331.503-328.533c-3.345-3.277-7.68-4.915-12.015-4.915zM691.746 607.642c-4.335 0-8.67 1.638-12.049 4.949-6.69 6.622-6.758 17.442-0.137 24.132l315.221 318.191c6.588 6.724 17.476 6.758 24.132 0.137s6.724-17.442 0.137-24.132l-315.221-318.225c-3.379-3.345-7.68-5.052-12.083-5.052zM1006.933-64c-4.471 0-9.011 1.775-12.322 5.257l-315.187 328.533c-6.519 6.793-6.349 17.613 0.546 24.132 6.793 6.485 17.613 6.315 24.132-0.546l315.187-328.533c6.519-6.793 6.349-17.613-0.546-24.132-3.311-3.14-7.543-4.71-11.81-4.71zM348.604 607.642c-4.267 0-8.533 1.57-11.81 4.745l-331.537 318.225c-6.793 6.519-7.031 17.34-0.512 24.132 6.554 6.793 17.34 7.031 24.132 0.512l331.537-318.225c6.793-6.519 7.031-17.34 0.512-24.132-3.345-3.482-7.817-5.257-12.322-5.257zM1006.933 738.133c-9.387 0-17.067 7.646-17.067 17.067v170.667h-170.667c-9.387 0-17.067 7.646-17.067 17.067s7.68 17.067 17.067 17.067h187.733c9.387 0 17.067-7.646 17.067-17.067v-187.733c0-9.421-7.68-17.067-17.067-17.067zM1006.933-64h-187.733c-9.387 0-17.067 7.68-17.067 17.067s7.68 17.067 17.067 17.067h170.667v170.667c0 9.387 7.68 17.067 17.067 17.067s17.067-7.68 17.067-17.067v-187.733c0-9.387-7.68-17.067-17.067-17.067zM17.067 738.133c-9.421 0-17.067 7.646-17.067 17.067v187.733c0 9.421 7.646 17.067 17.067 17.067h187.733c9.421 0 17.067-7.646 17.067-17.067s-7.646-17.067-17.067-17.067h-170.667v-170.667c0-9.421-7.646-17.067-17.067-17.067zM204.8-64h-187.733c-9.421 0-17.067 7.68-17.067 17.067v187.733c0 9.387 7.646 17.067 17.067 17.067s17.067-7.68 17.067-17.067v-170.667h170.667c9.421 0 17.067-7.68 17.067-17.067s-7.646-17.067-17.067-17.067z" />
|
34 |
+
<glyph unicode="" glyph-name="arrow-left2" d="M167.488 448.043l-1.643 1.664 241.344 241.344 30.165-30.165-188.075-188.096h-7.957v-42.667h0.896l195.008-195.008-30.165-30.165-241.323 241.344z" />
|
35 |
+
<glyph unicode="" glyph-name="arrow-left22" d="M241.003 426.603c-5.781 0-11.584 2.368-15.787 7.040-7.872 8.704-7.211 22.165 1.493 30.037l541.995 490.816c8.704 7.915 22.208 7.253 30.037-1.493 7.915-8.704 7.253-22.165-1.493-30.080l-541.952-490.773c-4.075-3.712-9.195-5.547-14.293-5.547zM782.997-64.021c-5.12 0-10.24 1.835-14.293 5.547l-541.995 490.624c-8.704 7.872-9.365 21.333-1.493 30.037 7.872 8.747 21.333 9.451 30.080 1.493l541.952-490.581c8.747-7.872 9.408-21.376 1.493-30.080-4.203-4.629-9.941-7.040-15.744-7.040z" />
|
36 |
+
<glyph unicode="" glyph-name="arrow-right2" d="M856.512 447.957l1.643-1.621-241.387-241.387-30.165 30.165 188.075 188.096h7.979v42.667h-0.875l-195.051 195.008 30.165 30.165 241.365-241.344z" />
|
37 |
+
<glyph unicode="" glyph-name="arrow-right22" d="M782.976 426.624c-5.077 0-10.219 1.792-14.251 5.504l-542.037 490.773c-8.704 7.893-9.365 21.355-1.493 30.059 7.915 8.747 21.376 9.408 30.080 1.493l541.995-490.752c8.747-7.915 9.408-21.376 1.493-30.080-4.203-4.672-9.941-6.997-15.787-6.997zM241.024-64c-5.824 0-11.627 2.368-15.829 6.997-7.872 8.704-7.168 22.208 1.493 30.080l542.037 490.624c8.661 7.915 22.165 7.211 30.037-1.493 7.915-8.704 7.211-22.208-1.493-30.080l-541.995-490.624c-4.075-3.669-9.195-5.504-14.251-5.504z" />
|
38 |
+
<glyph unicode="" glyph-name="Start" d="M105.54-59.733c-2.867 0-5.769 0.717-8.397 2.15-5.359 3.038-8.67 8.738-8.67 14.916v981.333c0 6.144 3.311 11.844 8.67 14.848 5.359 3.038 11.947 2.935 17.203-0.239l812.954-490.598c5.086-3.072 8.226-8.602 8.226-14.609 0-5.973-3.14-11.537-8.226-14.609l-812.954-490.735c-2.697-1.673-5.769-2.458-8.806-2.458zM122.607 908.459v-920.883l762.88 460.493-762.88 460.39z" />
|
39 |
+
<glyph unicode="" glyph-name="instagram" d="M512 867.8c136.8 0 153-0.6 206.8-3 50-2.2 77-10.6 95-17.6 23.8-9.2 41-20.4 58.8-38.2 18-18 29-35 38.4-58.8 7-18 15.4-45.2 17.6-95 2.4-54 3-70.2 3-206.8s-0.6-153-3-206.8c-2.2-50-10.6-77-17.6-95-9.2-23.8-20.4-41-38.2-58.8-18-18-35-29-58.8-38.4-18-7-45.2-15.4-95-17.6-54-2.4-70.2-3-206.8-3s-153 0.6-206.8 3c-50 2.2-77 10.6-95 17.6-23.8 9.2-41 20.4-58.8 38.2-18 18-29 35-38.4 58.8-7 18-15.4 45.2-17.6 95-2.4 54-3 70.2-3 206.8s0.6 153 3 206.8c2.2 50 10.6 77 17.6 95 9.2 23.8 20.4 41 38.2 58.8 18 18 35 29 58.8 38.4 18 7 45.2 15.4 95 17.6 53.8 2.4 70 3 206.8 3zM512 960c-139 0-156.4-0.6-211-3-54.4-2.4-91.8-11.2-124.2-23.8-33.8-13.2-62.4-30.6-90.8-59.2-28.6-28.4-46-57-59.2-90.6-12.6-32.6-21.4-69.8-23.8-124.2-2.4-54.8-3-72.2-3-211.2s0.6-156.4 3-211c2.4-54.4 11.2-91.8 23.8-124.2 13.2-33.8 30.6-62.4 59.2-90.8 28.4-28.4 57-46 90.6-59 32.6-12.6 69.8-21.4 124.2-23.8 54.6-2.4 72-3 211-3s156.4 0.6 211 3c54.4 2.4 91.8 11.2 124.2 23.8 33.6 13 62.2 30.6 90.6 59s46 57 59 90.6c12.6 32.6 21.4 69.8 23.8 124.2 2.4 54.6 3 72 3 211s-0.6 156.4-3 211c-2.4 54.4-11.2 91.8-23.8 124.2-12.6 34-30 62.6-58.6 91-28.4 28.4-57 46-90.6 59-32.6 12.6-69.8 21.4-124.2 23.8-54.8 2.6-72.2 3.2-211.2 3.2v0zM512 711c-145.2 0-263-117.8-263-263s117.8-263 263-263 263 117.8 263 263c0 145.2-117.8 263-263 263zM512 277.4c-94.2 0-170.6 76.4-170.6 170.6s76.4 170.6 170.6 170.6c94.2 0 170.6-76.4 170.6-170.6s-76.4-170.6-170.6-170.6zM846.8 721.4c0-33.91-27.49-61.4-61.4-61.4s-61.4 27.49-61.4 61.4c0 33.91 27.49 61.4 61.4 61.4s61.4-27.49 61.4-61.4z" />
|
40 |
+
</font></defs></svg>
|
assets/css/fonts/icomoon/icomoon.ttf
ADDED
Binary file
|
assets/css/fonts/icomoon/icomoon.woff
ADDED
Binary file
|
assets/css/icomoon.css
ADDED
@@ -0,0 +1,116 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@font-face {
|
2 |
+
font-family: 'lvca-icomoon';
|
3 |
+
src: url('fonts/icomoon/icomoon.eot?bh4obs');
|
4 |
+
src: url('fonts/icomoon/icomoon.eot?bh4obs#iefix') format('embedded-opentype'),
|
5 |
+
url('fonts/icomoon/icomoon.ttf?bh4obs') format('truetype'),
|
6 |
+
url('fonts/icomoon/icomoon.woff?bh4obs') format('woff'),
|
7 |
+
url('fonts/icomoon/icomoon.svg?bh4obs#icomoon') format('svg');
|
8 |
+
font-weight: normal;
|
9 |
+
font-style: normal;
|
10 |
+
}
|
11 |
+
|
12 |
+
[class^="lvca-icon-"], [class*=" lvca-icon-"] {
|
13 |
+
/* use !important to prevent issues with browser extensions that change fonts */
|
14 |
+
font-family: 'lvca-icomoon' !important;
|
15 |
+
speak: none;
|
16 |
+
font-style: normal;
|
17 |
+
font-weight: normal;
|
18 |
+
font-variant: normal;
|
19 |
+
text-transform: none;
|
20 |
+
line-height: 1;
|
21 |
+
|
22 |
+
/* Better Font Rendering =========== */
|
23 |
+
-webkit-font-smoothing: antialiased;
|
24 |
+
-moz-osx-font-smoothing: grayscale;
|
25 |
+
}
|
26 |
+
.lvca-icon-fit-to:before {
|
27 |
+
content: "\e916";
|
28 |
+
}
|
29 |
+
.lvca-icon-full-screen:before {
|
30 |
+
content: "\e917";
|
31 |
+
}
|
32 |
+
.lvca-icon-arrow-left2:before {
|
33 |
+
content: "\e918";
|
34 |
+
}
|
35 |
+
.lvca-icon-arrow-left3:before {
|
36 |
+
content: "\e919";
|
37 |
+
}
|
38 |
+
.lvca-icon-arrow-right2:before {
|
39 |
+
content: "\e91a";
|
40 |
+
}
|
41 |
+
.lvca-icon-arrow-right3:before {
|
42 |
+
content: "\e91b";
|
43 |
+
}
|
44 |
+
.lvca-icon-start:before {
|
45 |
+
content: "\e91c";
|
46 |
+
}
|
47 |
+
.lvca-icon-close:before {
|
48 |
+
content: "\e911";
|
49 |
+
}
|
50 |
+
.lvca-icon-menu:before {
|
51 |
+
content: "\e914";
|
52 |
+
}
|
53 |
+
.lvca-icon-menu-2:before {
|
54 |
+
content: "\e915";
|
55 |
+
}
|
56 |
+
.lvca-icon-email:before {
|
57 |
+
content: "\e910";
|
58 |
+
}
|
59 |
+
.lvca-icon-plus:before {
|
60 |
+
content: "\e912";
|
61 |
+
}
|
62 |
+
.lvca-icon-arrow-right-toggle:before {
|
63 |
+
content: "\e913";
|
64 |
+
}
|
65 |
+
.lvca-icon-arrow-left:before {
|
66 |
+
content: "\e900";
|
67 |
+
}
|
68 |
+
.lvca-icon-arrow-right:before {
|
69 |
+
content: "\e901";
|
70 |
+
}
|
71 |
+
.lvca-icon-aim:before {
|
72 |
+
content: "\e902";
|
73 |
+
}
|
74 |
+
.lvca-icon-behance:before {
|
75 |
+
content: "\e903";
|
76 |
+
}
|
77 |
+
.lvca-icon-dribbble:before {
|
78 |
+
content: "\e904";
|
79 |
+
}
|
80 |
+
.lvca-icon-facebook:before {
|
81 |
+
content: "\e905";
|
82 |
+
}
|
83 |
+
.lvca-icon-flickr:before {
|
84 |
+
content: "\e906";
|
85 |
+
}
|
86 |
+
.lvca-icon-googleplus:before {
|
87 |
+
content: "\e907";
|
88 |
+
}
|
89 |
+
.lvca-icon-linkedin:before {
|
90 |
+
content: "\e908";
|
91 |
+
}
|
92 |
+
.lvca-icon-pinterest:before {
|
93 |
+
content: "\e909";
|
94 |
+
}
|
95 |
+
.lvca-icon-skype:before {
|
96 |
+
content: "\e90a";
|
97 |
+
}
|
98 |
+
.lvca-icon-twitter:before {
|
99 |
+
content: "\e90b";
|
100 |
+
}
|
101 |
+
.lvca-icon-vimeo:before {
|
102 |
+
content: "\e90c";
|
103 |
+
}
|
104 |
+
.lvca-icon-zerply:before {
|
105 |
+
content: "\e90d";
|
106 |
+
}
|
107 |
+
.lvca-icon-quote:before {
|
108 |
+
content: "\e90e";
|
109 |
+
}
|
110 |
+
.lvca-icon-video-play:before {
|
111 |
+
content: "\e90f";
|
112 |
+
}
|
113 |
+
.lvca-icon-instagram:before {
|
114 |
+
content: "\ea92";
|
115 |
+
}
|
116 |
+
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImljb21vb24uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksNEJBQTRCO0lBQzVCLGdEQUFnRDtJQUNoRDs7O3NFQUdrRTtJQUNsRSxvQkFBb0I7SUFDcEIsbUJBQW1CO0NBQ3RCOztBQUVEO0lBQ0ksZ0ZBQWdGO0lBQ2hGLHVDQUF1QztJQUN2QyxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLGVBQWU7O0lBRWYsdUNBQXVDO0lBQ3ZDLG9DQUFvQztJQUNwQyxtQ0FBbUM7Q0FDdEM7QUFDRDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEIiLCJmaWxlIjoiaWNvbW9vbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2x2Y2EtaWNvbW9vbic7XG4gICAgc3JjOiAgICB1cmwoJ2ZvbnRzL2ljb21vb24vaWNvbW9vbi5lb3Q/Ymg0b2JzJyk7XG4gICAgc3JjOiAgICB1cmwoJ2ZvbnRzL2ljb21vb24vaWNvbW9vbi5lb3Q/Ymg0b2JzI2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICB1cmwoJ2ZvbnRzL2ljb21vb24vaWNvbW9vbi50dGY/Ymg0b2JzJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJ2ZvbnRzL2ljb21vb24vaWNvbW9vbi53b2ZmP2JoNG9icycpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJ2ZvbnRzL2ljb21vb24vaWNvbW9vbi5zdmc/Ymg0b2JzI2ljb21vb24nKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5bY2xhc3NePVwibHZjYS1pY29uLVwiXSwgW2NsYXNzKj1cIiBsdmNhLWljb24tXCJdIHtcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgIGZvbnQtZmFtaWx5OiAnbHZjYS1pY29tb29uJyAhaW1wb3J0YW50O1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbi5sdmNhLWljb24tZml0LXRvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTZcIjtcbiAgICB9XG4ubHZjYS1pY29uLWZ1bGwtc2NyZWVuOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTdcIjtcbiAgICB9XG4ubHZjYS1pY29uLWFycm93LWxlZnQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MThcIjtcbiAgICB9XG4ubHZjYS1pY29uLWFycm93LWxlZnQzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTlcIjtcbiAgICB9XG4ubHZjYS1pY29uLWFycm93LXJpZ2h0MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFhXCI7XG4gICAgfVxuLmx2Y2EtaWNvbi1hcnJvdy1yaWdodDM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxYlwiO1xuICAgIH1cbi5sdmNhLWljb24tc3RhcnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxY1wiO1xuICAgIH1cbi5sdmNhLWljb24tY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMVwiO1xuICAgIH1cbi5sdmNhLWljb24tbWVudTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE0XCI7XG4gICAgfVxuLmx2Y2EtaWNvbi1tZW51LTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNVwiO1xuICAgIH1cbi5sdmNhLWljb24tZW1haWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMFwiO1xuICAgIH1cbi5sdmNhLWljb24tcGx1czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEyXCI7XG4gICAgfVxuLmx2Y2EtaWNvbi1hcnJvdy1yaWdodC10b2dnbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxM1wiO1xuICAgIH1cbi5sdmNhLWljb24tYXJyb3ctbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG4gICAgfVxuLmx2Y2EtaWNvbi1hcnJvdy1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gICAgfVxuLmx2Y2EtaWNvbi1haW06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMlwiO1xuICAgIH1cbi5sdmNhLWljb24tYmVoYW5jZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG4gICAgfVxuLmx2Y2EtaWNvbi1kcmliYmJsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG4gICAgfVxuLmx2Y2EtaWNvbi1mYWNlYm9vazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG4gICAgfVxuLmx2Y2EtaWNvbi1mbGlja3I6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwNlwiO1xuICAgIH1cbi5sdmNhLWljb24tZ29vZ2xlcGx1czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG4gICAgfVxuLmx2Y2EtaWNvbi1saW5rZWRpbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG4gICAgfVxuLmx2Y2EtaWNvbi1waW50ZXJlc3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xuICAgIH1cbi5sdmNhLWljb24tc2t5cGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwYVwiO1xuICAgIH1cbi5sdmNhLWljb24tdHdpdHRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG4gICAgfVxuLmx2Y2EtaWNvbi12aW1lbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG4gICAgfVxuLmx2Y2EtaWNvbi16ZXJwbHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZFwiO1xuICAgIH1cbi5sdmNhLWljb24tcXVvdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZVwiO1xuICAgIH1cbi5sdmNhLWljb24tdmlkZW8tcGxheTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG4gICAgfVxuLmx2Y2EtaWNvbi1pbnN0YWdyYW06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWE5MlwiO1xuICAgIH1cblxuIl19 */
|
assets/css/lvca-admin.css.map
CHANGED
@@ -1 +1,7 @@
|
|
1 |
-
{
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": 3,
|
3 |
+
"mappings": "AACA,2CAA4C;EAC1C,mBAAmB,EAAE,cAAc;EACnC,eAAe,EAAE,OAAO;;AAG1B,iDAAkD;EAChD,SAAS,EAAE,KAAK;EAChB,YAAY,EAAE,IAAI;;AAGpB,mCAAoC;EAClC,gBAAgB,EAAE,8BAA8B;;AAGlD,kCAAmC;EACjC,gBAAgB,EAAE,iCAAiC;;AAGrD,oCAAqC;EACnC,gBAAgB,EAAE,+BAA+B;;AAGnD,mCAAoC;EAClC,gBAAgB,EAAE,+BAA+B;;AAGnD,oCAAqC;EACnC,gBAAgB,EAAE,+BAA+B;;AAGnD,mCAAoC;EAClC,gBAAgB,EAAE,kCAAkC;;AAGtD,oCAAqC;EACnC,gBAAgB,EAAE,+BAA+B;;AAGnD,mCAAoC;EAClC,gBAAgB,EAAE,kCAAkC;;AAGtD,kCAAmC;EACjC,gBAAgB,EAAE,6BAA6B;;AAGjD,iCAAkC;EAChC,gBAAgB,EAAE,gCAAgC;;AAGpD,kCAAmC;EACjC,gBAAgB,EAAE,6BAA6B;;AAGjD,+BAAgC;EAC9B,gBAAgB,EAAE,0BAA0B;;AAG9C,sCAAuC;EACrC,gBAAgB,EAAE,qCAAqC;;AAGzD,uCAAwC;EACtC,gBAAgB,EAAE,kCAAkC;;AAGtD,sCAAuC;EACrC,gBAAgB,EAAE,qCAAqC;;AAGzD,8CAA+C;EAC7C,gBAAgB,EAAE,yCAAyC;;AAG7D,6CAA8C;EAC5C,gBAAgB,EAAE,6CAA6C;;AAGjE,mCAAoC;EAClC,gBAAgB,EAAE,sCAAsC;;AAG1D,wCAAyC;EACvC,gBAAgB,EAAE,kCAAkC;;AAGtD,yCAA0C;EACxC,gBAAgB,EAAE,oCAAoC;;AAGxD,oCAAqC;EACnC,gBAAgB,EAAE,+BAA+B;;AAGnD,wCAAyC;EACvC,gBAAgB,EAAE,mCAAmC;;AAGvD,kCAAmC;EACjC,gBAAgB,EAAE,kCAAkC;;AAGtD,iCAAkC;EAChC,gBAAgB,EAAE,4BAA4B;;AAGhD,oCAAqC;EACnC,gBAAgB,EAAE,+BAA+B;;AAGnD,gCAAiC;EAC/B,gBAAgB,EAAE,mCAAmC;;AAGvD,+BAAgC;EAC9B,gBAAgB,EAAE,0BAA0B;;AAG9C,8BAA+B;EAC7B,gBAAgB,EAAE,6BAA6B",
|
4 |
+
"sources": ["lvca-admin.scss"],
|
5 |
+
"names": [],
|
6 |
+
"file": "lvca-admin.css"
|
7 |
+
}
|
assets/css/lvca-admin.scss
CHANGED
@@ -1,14 +1,4 @@
|
|
1 |
|
2 |
-
.wrap.lvca-license-wrap form.lvca-license-box {
|
3 |
-
max-width: 700px;
|
4 |
-
background: white;
|
5 |
-
margin: 20px 0;
|
6 |
-
padding: 20px 30px;
|
7 |
-
}
|
8 |
-
|
9 |
-
/* =============== WPBakery Page Builder Elements ==================== */
|
10 |
-
|
11 |
-
|
12 |
[class*=vc_element-icon][class*=icon-lvca-] {
|
13 |
background-position: 0 0 !important;
|
14 |
background-size: contain;
|
@@ -19,178 +9,114 @@ input[type=number].wpb_vc_param_value.lvca_number {
|
|
19 |
margin-right: 10px;
|
20 |
}
|
21 |
|
22 |
-
.icon-lvca-services.vc_element-icon
|
23 |
-
background-image: url(../
|
24 |
}
|
25 |
|
26 |
.icon-lvca-service.vc_element-icon {
|
27 |
-
background-image: url(../
|
28 |
}
|
29 |
|
30 |
-
.icon-lvca-statsbars.vc_element-icon
|
31 |
-
background-image: url(../
|
32 |
}
|
33 |
|
34 |
.icon-lvca-statsbar.vc_element-icon {
|
35 |
-
background-image: url(../
|
36 |
}
|
37 |
|
38 |
-
.icon-lvca-piecharts.vc_element-icon
|
39 |
-
background-image: url(../
|
40 |
}
|
41 |
|
42 |
.icon-lvca-piechart.vc_element-icon {
|
43 |
-
background-image: url(../
|
44 |
}
|
45 |
|
46 |
-
.icon-lvca-odometers.vc_element-icon
|
47 |
-
background-image: url(../
|
48 |
}
|
49 |
|
50 |
.icon-lvca-odometer.vc_element-icon {
|
51 |
-
background-image: url(../
|
52 |
}
|
53 |
|
54 |
-
.icon-lvca-clients.vc_element-icon
|
55 |
-
background-image: url(../
|
56 |
}
|
57 |
|
58 |
.icon-lvca-client.vc_element-icon {
|
59 |
-
background-image: url(../
|
60 |
}
|
61 |
|
62 |
.icon-lvca-heading.vc_element-icon {
|
63 |
-
background-image: url(../
|
64 |
}
|
65 |
|
66 |
-
.icon-lvca-team.vc_element-icon
|
67 |
-
background-image: url(../
|
68 |
}
|
69 |
|
70 |
.icon-lvca-team-member.vc_element-icon {
|
71 |
-
background-image: url(../
|
72 |
}
|
73 |
|
74 |
-
.icon-lvca-testimonials.vc_element-icon
|
75 |
-
background-image: url(../
|
76 |
}
|
77 |
|
78 |
.icon-lvca-testimonial.vc_element-icon {
|
79 |
-
background-image: url(../
|
80 |
}
|
81 |
|
82 |
-
.icon-lvca-testimonials-slider.vc_element-icon
|
83 |
-
background-image: url(../
|
84 |
}
|
85 |
|
86 |
.icon-lvca-testimonials-slide.vc_element-icon {
|
87 |
-
background-image: url(../
|
88 |
}
|
89 |
|
90 |
-
.icon-lvca-carousel.vc_element-icon
|
91 |
-
background-image: url(../
|
92 |
}
|
93 |
|
94 |
.icon-lvca-carousel-item.vc_element-icon {
|
95 |
-
background-image: url(../
|
96 |
}
|
97 |
|
98 |
.icon-lvca-posts-carousel.vc_element-icon {
|
99 |
-
background-image: url(../
|
100 |
}
|
101 |
|
102 |
.icon-lvca-portfolio.vc_element-icon {
|
103 |
-
background-image: url(../
|
104 |
}
|
105 |
|
106 |
-
.icon-lvca-
|
107 |
-
background-image: url(../
|
108 |
-
}
|
109 |
-
|
110 |
-
.icon-lvca-pricing-table.vc_element-icon[data-is-container=true] {
|
111 |
-
background-image: url(../images/admin/pricing-table.png);
|
112 |
}
|
113 |
|
114 |
.icon-lvca-pricing.vc_element-icon {
|
115 |
-
background-image: url(../
|
116 |
}
|
117 |
|
118 |
.icon-lvca-spacer.vc_element-icon {
|
119 |
-
background-image: url(../
|
120 |
}
|
121 |
|
122 |
-
.icon-lvca-accordion.vc_element-icon
|
123 |
-
background-image: url(../
|
124 |
}
|
125 |
|
126 |
.icon-lvca-panel.vc_element-icon {
|
127 |
-
background-image: url(../
|
128 |
}
|
129 |
|
130 |
-
.icon-lvca-tabs.vc_element-icon
|
131 |
-
background-image: url(../
|
132 |
}
|
133 |
|
134 |
.icon-lvca-tab.vc_element-icon {
|
135 |
-
background-image: url(../
|
136 |
-
}
|
137 |
-
|
138 |
-
.icon-lvca-countdown.vc_element-icon {
|
139 |
-
background-image: url(../images/admin/countdown.png);
|
140 |
-
}
|
141 |
-
|
142 |
-
.icon-lvca-features.vc_element-icon[data-is-container=true] {
|
143 |
-
background-image: url(../images/admin/features.png);
|
144 |
-
}
|
145 |
-
|
146 |
-
.icon-lvca-feature-add.vc_element-icon {
|
147 |
-
background-image: url(../images/admin/feature-add.png);
|
148 |
-
}
|
149 |
-
|
150 |
-
.icon-lvca-faq.vc_element-icon[data-is-container=true] {
|
151 |
-
background-image: url(../images/admin/faq.png);
|
152 |
-
}
|
153 |
-
|
154 |
-
.icon-lvca-faq-add.vc_element-icon {
|
155 |
-
background-image: url(../images/admin/faq-add.png);
|
156 |
-
}
|
157 |
-
|
158 |
-
.icon-lvca-button.vc_element-icon {
|
159 |
-
background-image: url(../images/admin/button.png);
|
160 |
-
}
|
161 |
-
|
162 |
-
.icon-lvca-gallery.vc_element-icon[data-is-container=true] {
|
163 |
-
background-image: url(../images/admin/gallery.png);
|
164 |
-
}
|
165 |
-
|
166 |
-
.icon-lvca-gallery-add.vc_element-icon {
|
167 |
-
background-image: url(../images/admin/gallery-add.png);
|
168 |
-
}
|
169 |
-
|
170 |
-
.icon-lvca-gallery-carousel.vc_element-icon[data-is-container=true] {
|
171 |
-
background-image: url(../images/admin/carousel.png);
|
172 |
-
}
|
173 |
-
|
174 |
-
.icon-lvca-image-slider.vc_element-icon[data-is-container=true] {
|
175 |
-
background-image: url(../images/admin/sliders2.png);
|
176 |
-
}
|
177 |
-
|
178 |
-
.icon-lvca-image-slider-add.vc_element-icon {
|
179 |
-
background-image: url(../images/admin/slider-add2.png);
|
180 |
-
}
|
181 |
-
|
182 |
-
.icon-lvca-slider.vc_element-icon[data-is-container=true] {
|
183 |
-
background-image: url(../images/admin/sliders.png);
|
184 |
-
}
|
185 |
-
|
186 |
-
.icon-lvca-slider-add.vc_element-icon {
|
187 |
-
background-image: url(../images/admin/slider-add.png);
|
188 |
-
}
|
189 |
-
|
190 |
-
.icon-lvca-icons.vc_element-icon[data-is-container=true] {
|
191 |
-
background-image: url(../images/admin/icons.png);
|
192 |
-
}
|
193 |
-
|
194 |
-
.icon-lvca-icon-add.vc_element-icon {
|
195 |
-
background-image: url(../images/admin/icon-add.png);
|
196 |
}
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
[class*=vc_element-icon][class*=icon-lvca-] {
|
3 |
background-position: 0 0 !important;
|
4 |
background-size: contain;
|
9 |
margin-right: 10px;
|
10 |
}
|
11 |
|
12 |
+
.icon-lvca-services.vc_element-icon {
|
13 |
+
background-image: url(../img/admin/services.png);
|
14 |
}
|
15 |
|
16 |
.icon-lvca-service.vc_element-icon {
|
17 |
+
background-image: url(../img/admin/service-add.png);
|
18 |
}
|
19 |
|
20 |
+
.icon-lvca-statsbars.vc_element-icon {
|
21 |
+
background-image: url(../img/admin/stats-bar.png);
|
22 |
}
|
23 |
|
24 |
.icon-lvca-statsbar.vc_element-icon {
|
25 |
+
background-image: url(../img/admin/stats-bar.png);
|
26 |
}
|
27 |
|
28 |
+
.icon-lvca-piecharts.vc_element-icon {
|
29 |
+
background-image: url(../img/admin/piecharts.png);
|
30 |
}
|
31 |
|
32 |
.icon-lvca-piechart.vc_element-icon {
|
33 |
+
background-image: url(../img/admin/piechart-add.png);
|
34 |
}
|
35 |
|
36 |
+
.icon-lvca-odometers.vc_element-icon {
|
37 |
+
background-image: url(../img/admin/odometers.png);
|
38 |
}
|
39 |
|
40 |
.icon-lvca-odometer.vc_element-icon {
|
41 |
+
background-image: url(../img/admin/odometer-add.png);
|
42 |
}
|
43 |
|
44 |
+
.icon-lvca-clients.vc_element-icon {
|
45 |
+
background-image: url(../img/admin/clients.png);
|
46 |
}
|
47 |
|
48 |
.icon-lvca-client.vc_element-icon {
|
49 |
+
background-image: url(../img/admin/client-add.png);
|
50 |
}
|
51 |
|
52 |
.icon-lvca-heading.vc_element-icon {
|
53 |
+
background-image: url(../img/admin/heading.png);
|
54 |
}
|
55 |
|
56 |
+
.icon-lvca-team.vc_element-icon {
|
57 |
+
background-image: url(../img/admin/team.png);
|
58 |
}
|
59 |
|
60 |
.icon-lvca-team-member.vc_element-icon {
|
61 |
+
background-image: url(../img/admin/team-member-add.png);
|
62 |
}
|
63 |
|
64 |
+
.icon-lvca-testimonials.vc_element-icon {
|
65 |
+
background-image: url(../img/admin/testimonials.png);
|
66 |
}
|
67 |
|
68 |
.icon-lvca-testimonial.vc_element-icon {
|
69 |
+
background-image: url(../img/admin/testimonial-add.png);
|
70 |
}
|
71 |
|
72 |
+
.icon-lvca-testimonials-slider.vc_element-icon {
|
73 |
+
background-image: url(../img/admin/testimonials-slider.png);
|
74 |
}
|
75 |
|
76 |
.icon-lvca-testimonials-slide.vc_element-icon {
|
77 |
+
background-image: url(../img/admin/testimonials-slider-add.png);
|
78 |
}
|
79 |
|
80 |
+
.icon-lvca-carousel.vc_element-icon {
|
81 |
+
background-image: url(../img/admin/generic-carousel.png);
|
82 |
}
|
83 |
|
84 |
.icon-lvca-carousel-item.vc_element-icon {
|
85 |
+
background-image: url(../img/admin/carousel-add.png);
|
86 |
}
|
87 |
|
88 |
.icon-lvca-posts-carousel.vc_element-icon {
|
89 |
+
background-image: url(../img/admin/posts-carousel.png);
|
90 |
}
|
91 |
|
92 |
.icon-lvca-portfolio.vc_element-icon {
|
93 |
+
background-image: url(../img/admin/portfolio.png);
|
94 |
}
|
95 |
|
96 |
+
.icon-lvca-pricing-table.vc_element-icon {
|
97 |
+
background-image: url(../img/admin/pricing-table.png);
|
|
|
|
|
|
|
|
|
98 |
}
|
99 |
|
100 |
.icon-lvca-pricing.vc_element-icon {
|
101 |
+
background-image: url(../img/admin/pricing-plan.png);
|
102 |
}
|
103 |
|
104 |
.icon-lvca-spacer.vc_element-icon {
|
105 |
+
background-image: url(../img/admin/spacer.png);
|
106 |
}
|
107 |
|
108 |
+
.icon-lvca-accordion.vc_element-icon {
|
109 |
+
background-image: url(../img/admin/accordion.png);
|
110 |
}
|
111 |
|
112 |
.icon-lvca-panel.vc_element-icon {
|
113 |
+
background-image: url(../img/admin/accordion-add.png);
|
114 |
}
|
115 |
|
116 |
+
.icon-lvca-tabs.vc_element-icon {
|
117 |
+
background-image: url(../img/admin/tabs.png);
|
118 |
}
|
119 |
|
120 |
.icon-lvca-tab.vc_element-icon {
|
121 |
+
background-image: url(../img/admin/tab-add.png);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
}
|
assets/css/lvca-frontend.css
ADDED
@@ -0,0 +1,663 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* --------------- Reset styles --------- */
|
2 |
+
.lvca-container, .lvca-grid-container {
|
3 |
+
-webkit-box-sizing: border-box;
|
4 |
+
box-sizing: border-box; }
|
5 |
+
.lvca-container *, .lvca-container *::after, .lvca-container *::before, .lvca-grid-container *, .lvca-grid-container *::after, .lvca-grid-container *::before {
|
6 |
+
-webkit-box-sizing: inherit;
|
7 |
+
box-sizing: inherit; }
|
8 |
+
.lvca-container ol, .lvca-container ul, .lvca-container ol > li, .lvca-container ul > li, .lvca-container ol:hover, .lvca-container ul:hover, .lvca-container ul > li:hover, .lvca-container ol > li:hover, .lvca-container ol > li > a, .lvca-container ul > li > a, .lvca-container ol > li > a:hover, .lvca-container ul > li > a:hover, .lvca-container img, .lvca-grid-container ol, .lvca-grid-container ul, .lvca-grid-container ol > li, .lvca-grid-container ul > li, .lvca-grid-container ol:hover, .lvca-grid-container ul:hover, .lvca-grid-container ul > li:hover, .lvca-grid-container ol > li:hover, .lvca-grid-container ol > li > a, .lvca-grid-container ul > li > a, .lvca-grid-container ol > li > a:hover, .lvca-grid-container ul > li > a:hover, .lvca-grid-container img {
|
9 |
+
padding: 0;
|
10 |
+
margin: 0;
|
11 |
+
border: none;
|
12 |
+
-webkit-box-shadow: none;
|
13 |
+
box-shadow: none;
|
14 |
+
list-style: none;
|
15 |
+
background: none; }
|
16 |
+
.lvca-container ol:before, .lvca-container ol:after, .lvca-container ul:before, .lvca-container ul:after, .lvca-container ol > li:before, .lvca-container ol > li:after, .lvca-container ul > li:before, .lvca-container ul > li:after, .lvca-container ol:hover:before, .lvca-container ol:hover:after, .lvca-container ul:hover:before, .lvca-container ul:hover:after, .lvca-container ul > li:hover:before, .lvca-container ul > li:hover:after, .lvca-container ol > li:hover:before, .lvca-container ol > li:hover:after, .lvca-container ol > li > a:before, .lvca-container ol > li > a:after, .lvca-container ul > li > a:before, .lvca-container ul > li > a:after, .lvca-container ol > li > a:hover:before, .lvca-container ol > li > a:hover:after, .lvca-container ul > li > a:hover:before, .lvca-container ul > li > a:hover:after, .lvca-container img:before, .lvca-container img:after, .lvca-grid-container ol:before, .lvca-grid-container ol:after, .lvca-grid-container ul:before, .lvca-grid-container ul:after, .lvca-grid-container ol > li:before, .lvca-grid-container ol > li:after, .lvca-grid-container ul > li:before, .lvca-grid-container ul > li:after, .lvca-grid-container ol:hover:before, .lvca-grid-container ol:hover:after, .lvca-grid-container ul:hover:before, .lvca-grid-container ul:hover:after, .lvca-grid-container ul > li:hover:before, .lvca-grid-container ul > li:hover:after, .lvca-grid-container ol > li:hover:before, .lvca-grid-container ol > li:hover:after, .lvca-grid-container ol > li > a:before, .lvca-grid-container ol > li > a:after, .lvca-grid-container ul > li > a:before, .lvca-grid-container ul > li > a:after, .lvca-grid-container ol > li > a:hover:before, .lvca-grid-container ol > li > a:hover:after, .lvca-grid-container ul > li > a:hover:before, .lvca-grid-container ul > li > a:hover:after, .lvca-grid-container img:before, .lvca-grid-container img:after {
|
17 |
+
display: none; }
|
18 |
+
.lvca-container a, .lvca-grid-container a {
|
19 |
+
text-decoration: initial; }
|
20 |
+
.lvca-container img, .lvca-grid-container img {
|
21 |
+
max-width: 100%;
|
22 |
+
width: auto;
|
23 |
+
height: auto; }
|
24 |
+
|
25 |
+
/* ------- General styles ------------ */
|
26 |
+
.lvca-container {
|
27 |
+
margin-left: auto;
|
28 |
+
margin-right: auto; }
|
29 |
+
.lvca-container::after {
|
30 |
+
clear: both;
|
31 |
+
content: "";
|
32 |
+
display: block; }
|
33 |
+
|
34 |
+
.panel-grid .widget {
|
35 |
+
border: 0; }
|
36 |
+
|
37 |
+
.lvca-center {
|
38 |
+
text-align: center; }
|
39 |
+
|
40 |
+
.lvca-grid-container {
|
41 |
+
margin-left: -20px;
|
42 |
+
margin-right: -20px;
|
43 |
+
width: calc(100% + 40px); }
|
44 |
+
.lvca-grid-container::after {
|
45 |
+
clear: both;
|
46 |
+
content: "";
|
47 |
+
display: block; }
|
48 |
+
.lvca-grid-container .lvca-grid-item {
|
49 |
+
min-height: 1px;
|
50 |
+
/* Prevents columns from collapsing when housing absolute elements or when lazy loading content */ }
|
51 |
+
@media (max-width: 479px) {
|
52 |
+
.lvca-grid-container.lvca-grid-mobile-2 .lvca-grid-item:nth-child(2n+1) {
|
53 |
+
clear: left; }
|
54 |
+
.lvca-grid-container.lvca-grid-mobile-3 .lvca-grid-item:nth-child(3n+1) {
|
55 |
+
clear: left; }
|
56 |
+
.lvca-grid-container.lvca-grid-mobile-4 .lvca-grid-item:nth-child(4n+1) {
|
57 |
+
clear: left; }
|
58 |
+
.lvca-grid-container.lvca-grid-mobile-5 .lvca-grid-item:nth-child(5n+1) {
|
59 |
+
clear: left; }
|
60 |
+
.lvca-grid-container.lvca-grid-mobile-6 .lvca-grid-item:nth-child(6n+1) {
|
61 |
+
clear: left; } }
|
62 |
+
@media (min-width: 480px) and (max-width: 800px) {
|
63 |
+
.lvca-grid-container.lvca-grid-tablet-2 .lvca-grid-item:nth-child(2n+1) {
|
64 |
+
clear: left; }
|
65 |
+
.lvca-grid-container.lvca-grid-tablet-3 .lvca-grid-item:nth-child(3n+1) {
|
66 |
+
clear: left; }
|
67 |
+
.lvca-grid-container.lvca-grid-tablet-4 .lvca-grid-item:nth-child(4n+1) {
|
68 |
+
clear: left; }
|
69 |
+
.lvca-grid-container.lvca-grid-tablet-5 .lvca-grid-item:nth-child(5n+1) {
|
70 |
+
clear: left; }
|
71 |
+
.lvca-grid-container.lvca-grid-tablet-6 .lvca-grid-item:nth-child(6n+1) {
|
72 |
+
clear: left; } }
|
73 |
+
@media only screen and (min-width: 801px) {
|
74 |
+
.lvca-grid-container.lvca-grid-desktop-2 .lvca-grid-item:nth-child(2n+1) {
|
75 |
+
clear: left; }
|
76 |
+
.lvca-grid-container.lvca-grid-desktop-3 .lvca-grid-item:nth-child(3n+1) {
|
77 |
+
clear: left; }
|
78 |
+
.lvca-grid-container.lvca-grid-desktop-4 .lvca-grid-item:nth-child(4n+1) {
|
79 |
+
clear: left; }
|
80 |
+
.lvca-grid-container.lvca-grid-desktop-5 .lvca-grid-item:nth-child(5n+1) {
|
81 |
+
clear: left; }
|
82 |
+
.lvca-grid-container.lvca-grid-desktop-6 .lvca-grid-item:nth-child(6n+1) {
|
83 |
+
clear: left; } }
|
84 |
+
.lvca-grid-container.lvca-grid-mobile-1 .lvca-grid-item {
|
85 |
+
width: calc(100% - 40px);
|
86 |
+
float: left;
|
87 |
+
margin-left: 20px; }
|
88 |
+
.lvca-grid-container.lvca-grid-mobile-2 .lvca-grid-item {
|
89 |
+
width: calc(50% - 30px);
|
90 |
+
float: left;
|
91 |
+
margin-left: 20px; }
|
92 |
+
.lvca-grid-container.lvca-grid-mobile-3 .lvca-grid-item {
|
93 |
+
width: calc(33.33333% - 26.66667px);
|
94 |
+
float: left;
|
95 |
+
margin-left: 20px; }
|
96 |
+
.lvca-grid-container.lvca-grid-mobile-4 .lvca-grid-item {
|
97 |
+
width: calc(25% - 25px);
|
98 |
+
float: left;
|
99 |
+
margin-left: 20px; }
|
100 |
+
.lvca-grid-container.lvca-grid-mobile-5 .lvca-grid-item {
|
101 |
+
width: calc(20% - 24px);
|
102 |
+
float: left;
|
103 |
+
margin-left: 20px; }
|
104 |
+
.lvca-grid-container.lvca-grid-mobile-6 .lvca-grid-item {
|
105 |
+
width: calc(16.66667% - 23.33333px);
|
106 |
+
float: left;
|
107 |
+
margin-left: 20px; }
|
108 |
+
@media only screen and (min-width: 480px) {
|
109 |
+
.lvca-grid-container.lvca-grid-tablet-1 .lvca-grid-item {
|
110 |
+
width: calc(100% - 40px);
|
111 |
+
float: left;
|
112 |
+
margin-left: 20px; }
|
113 |
+
.lvca-grid-container.lvca-grid-tablet-2 .lvca-grid-item {
|
114 |
+
width: calc(50% - 30px);
|
115 |
+
float: left;
|
116 |
+
margin-left: 20px; }
|
117 |
+
.lvca-grid-container.lvca-grid-tablet-3 .lvca-grid-item {
|
118 |
+
width: calc(33.33333% - 26.66667px);
|
119 |
+
float: left;
|
120 |
+
margin-left: 20px; }
|
121 |
+
.lvca-grid-container.lvca-grid-tablet-4 .lvca-grid-item {
|
122 |
+
width: calc(25% - 25px);
|
123 |
+
float: left;
|
124 |
+
margin-left: 20px; }
|
125 |
+
.lvca-grid-container.lvca-grid-tablet-5 .lvca-grid-item {
|
126 |
+
width: calc(20% - 24px);
|
127 |
+
float: left;
|
128 |
+
margin-left: 20px; }
|
129 |
+
.lvca-grid-container.lvca-grid-tablet-6 .lvca-grid-item {
|
130 |
+
width: calc(16.66667% - 23.33333px);
|
131 |
+
float: left;
|
132 |
+
margin-left: 20px; } }
|
133 |
+
@media only screen and (min-width: 801px) {
|
134 |
+
.lvca-grid-container.lvca-grid-desktop-1 .lvca-grid-item {
|
135 |
+
width: calc(100% - 40px);
|
136 |
+
float: left;
|
137 |
+
margin-left: 20px; }
|
138 |
+
.lvca-grid-container.lvca-grid-desktop-2 .lvca-grid-item {
|
139 |
+
width: calc(50% - 30px);
|
140 |
+
float: left;
|
141 |
+
margin-left: 20px; }
|
142 |
+
.lvca-grid-container.lvca-grid-desktop-3 .lvca-grid-item {
|
143 |
+
width: calc(33.33333% - 26.66667px);
|
144 |
+
float: left;
|
145 |
+
margin-left: 20px; }
|
146 |
+
.lvca-grid-container.lvca-grid-desktop-4 .lvca-grid-item {
|
147 |
+
width: calc(25% - 25px);
|
148 |
+
float: left;
|
149 |
+
margin-left: 20px; }
|
150 |
+
.lvca-grid-container.lvca-grid-desktop-5 .lvca-grid-item {
|
151 |
+
width: calc(20% - 24px);
|
152 |
+
float: left;
|
153 |
+
margin-left: 20px; }
|
154 |
+
.lvca-grid-container.lvca-grid-desktop-6 .lvca-grid-item {
|
155 |
+
width: calc(16.66667% - 23.33333px);
|
156 |
+
float: left;
|
157 |
+
margin-left: 20px; } }
|
158 |
+
|
159 |
+
/*--------- Gapless grid columns ----*/
|
160 |
+
.lvca-gapless-grid .lvca-grid-container {
|
161 |
+
margin-left: 0;
|
162 |
+
margin-right: 0;
|
163 |
+
width: auto; }
|
164 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-mobile-1 .lvca-grid-item {
|
165 |
+
width: calc(100%);
|
166 |
+
float: left;
|
167 |
+
margin-left: 0px; }
|
168 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-mobile-2 .lvca-grid-item {
|
169 |
+
width: calc(50%);
|
170 |
+
float: left;
|
171 |
+
margin-left: 0px; }
|
172 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-mobile-3 .lvca-grid-item {
|
173 |
+
width: calc(33.33333%);
|
174 |
+
float: left;
|
175 |
+
margin-left: 0px; }
|
176 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-mobile-4 .lvca-grid-item {
|
177 |
+
width: calc(25%);
|
178 |
+
float: left;
|
179 |
+
margin-left: 0px; }
|
180 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-mobile-5 .lvca-grid-item {
|
181 |
+
width: calc(20%);
|
182 |
+
float: left;
|
183 |
+
margin-left: 0px; }
|
184 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-mobile-6 .lvca-grid-item {
|
185 |
+
width: calc(16.66667%);
|
186 |
+
float: left;
|
187 |
+
margin-left: 0px; }
|
188 |
+
@media only screen and (min-width: 480px) {
|
189 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-tablet-1 .lvca-grid-item {
|
190 |
+
width: calc(100%);
|
191 |
+
float: left;
|
192 |
+
margin-left: 0px; }
|
193 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-tablet-2 .lvca-grid-item {
|
194 |
+
width: calc(50%);
|
195 |
+
float: left;
|
196 |
+
margin-left: 0px; }
|
197 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-tablet-3 .lvca-grid-item {
|
198 |
+
width: calc(33.33333%);
|
199 |
+
float: left;
|
200 |
+
margin-left: 0px; }
|
201 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-tablet-4 .lvca-grid-item {
|
202 |
+
width: calc(25%);
|
203 |
+
float: left;
|
204 |
+
margin-left: 0px; }
|
205 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-tablet-5 .lvca-grid-item {
|
206 |
+
width: calc(20%);
|
207 |
+
float: left;
|
208 |
+
margin-left: 0px; }
|
209 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-tablet-6 .lvca-grid-item {
|
210 |
+
width: calc(16.66667%);
|
211 |
+
float: left;
|
212 |
+
margin-left: 0px; } }
|
213 |
+
@media only screen and (min-width: 801px) {
|
214 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-desktop-1 .lvca-grid-item {
|
215 |
+
width: calc(100%);
|
216 |
+
float: left;
|
217 |
+
margin-left: 0px; }
|
218 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-desktop-2 .lvca-grid-item {
|
219 |
+
width: calc(50%);
|
220 |
+
float: left;
|
221 |
+
margin-left: 0px; }
|
222 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-desktop-3 .lvca-grid-item {
|
223 |
+
width: calc(33.33333%);
|
224 |
+
float: left;
|
225 |
+
margin-left: 0px; }
|
226 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-desktop-4 .lvca-grid-item {
|
227 |
+
width: calc(25%);
|
228 |
+
float: left;
|
229 |
+
margin-left: 0px; }
|
230 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-desktop-5 .lvca-grid-item {
|
231 |
+
width: calc(20%);
|
232 |
+
float: left;
|
233 |
+
margin-left: 0px; }
|
234 |
+
.lvca-gapless-grid .lvca-grid-container.lvca-grid-desktop-6 .lvca-grid-item {
|
235 |
+
width: calc(16.66667%);
|
236 |
+
float: left;
|
237 |
+
margin-left: 0px; } }
|
238 |
+
|
239 |
+
/* ---------- Masonry Layout Grid columns -------------*/
|
240 |
+
.lvca-gapless-grid .lvca-masonry {
|
241 |
+
/* Clear the omega for masonry layout */ }
|
242 |
+
.lvca-gapless-grid .lvca-masonry .lvca-grid-item {
|
243 |
+
clear: none !important; }
|
244 |
+
.lvca-gapless-grid .lvca-masonry .lvca-grid-sizer {
|
245 |
+
width: calc(8.33333%);
|
246 |
+
float: left;
|
247 |
+
margin-left: 0px; }
|
248 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-mobile-1 .lvca-grid-item.lvca-wide {
|
249 |
+
width: calc(100%);
|
250 |
+
float: left;
|
251 |
+
margin-left: 0px; }
|
252 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-mobile-2 .lvca-grid-item.lvca-wide {
|
253 |
+
width: calc(50%);
|
254 |
+
float: left;
|
255 |
+
margin-left: 0px; }
|
256 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-mobile-3 .lvca-grid-item.lvca-wide {
|
257 |
+
width: calc(66.66667%);
|
258 |
+
float: left;
|
259 |
+
margin-left: 0px; }
|
260 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-mobile-4 .lvca-grid-item.lvca-wide {
|
261 |
+
width: calc(50%);
|
262 |
+
float: left;
|
263 |
+
margin-left: 0px; }
|
264 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-mobile-5 .lvca-grid-item.lvca-wide {
|
265 |
+
width: calc(40%);
|
266 |
+
float: left;
|
267 |
+
margin-left: 0px; }
|
268 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-mobile-6 .lvca-grid-item.lvca-wide {
|
269 |
+
width: calc(33.33333%);
|
270 |
+
float: left;
|
271 |
+
margin-left: 0px; }
|
272 |
+
@media only screen and (min-width: 480px) {
|
273 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-tablet-1 .lvca-grid-item.lvca-wide {
|
274 |
+
width: calc(100%);
|
275 |
+
float: left;
|
276 |
+
margin-left: 0px; }
|
277 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-tablet-2 .lvca-grid-item.lvca-wide {
|
278 |
+
width: calc(50%);
|
279 |
+
float: left;
|
280 |
+
margin-left: 0px; }
|
281 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-tablet-3 .lvca-grid-item.lvca-wide {
|
282 |
+
width: calc(66.66667%);
|
283 |
+
float: left;
|
284 |
+
margin-left: 0px; }
|
285 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-tablet-4 .lvca-grid-item.lvca-wide {
|
286 |
+
width: calc(50%);
|
287 |
+
float: left;
|
288 |
+
margin-left: 0px; }
|
289 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-tablet-5 .lvca-grid-item.lvca-wide {
|
290 |
+
width: calc(40%);
|
291 |
+
float: left;
|
292 |
+
margin-left: 0px; }
|
293 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-tablet-6 .lvca-grid-item.lvca-wide {
|
294 |
+
width: calc(33.33333%);
|
295 |
+
float: left;
|
296 |
+
margin-left: 0px; } }
|
297 |
+
@media only screen and (min-width: 801px) {
|
298 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-desktop-1 .lvca-grid-item.lvca-wide {
|
299 |
+
width: calc(100%);
|
300 |
+
float: left;
|
301 |
+
margin-left: 0px; }
|
302 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-desktop-2 .lvca-grid-item.lvca-wide {
|
303 |
+
width: calc(50%);
|
304 |
+
float: left;
|
305 |
+
margin-left: 0px; }
|
306 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-desktop-3 .lvca-grid-item.lvca-wide {
|
307 |
+
width: calc(66.66667%);
|
308 |
+
float: left;
|
309 |
+
margin-left: 0px; }
|
310 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-desktop-4 .lvca-grid-item.lvca-wide {
|
311 |
+
width: calc(50%);
|
312 |
+
float: left;
|
313 |
+
margin-left: 0px; }
|
314 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-desktop-5 .lvca-grid-item.lvca-wide {
|
315 |
+
width: calc(40%);
|
316 |
+
float: left;
|
317 |
+
margin-left: 0px; }
|
318 |
+
.lvca-gapless-grid .lvca-masonry.lvca-grid-desktop-6 .lvca-grid-item.lvca-wide {
|
319 |
+
width: calc(33.33333%);
|
320 |
+
float: left;
|
321 |
+
margin-left: 0px; } }
|
322 |
+
|
323 |
+
/* --------------- Flexslider Styles -------------- */
|
324 |
+
.lvca-container .lvca-thumbnailslider.lvca-flexslider {
|
325 |
+
margin-top: 15px; }
|
326 |
+
.lvca-container .lvca-thumbnailslider.lvca-flexslider .lvca-slide {
|
327 |
+
margin: 0 5px 0 0; }
|
328 |
+
.lvca-container .lvca-thumbnailslider.lvca-flexslider .lvca-slide img {
|
329 |
+
display: block;
|
330 |
+
opacity: .5;
|
331 |
+
cursor: pointer; }
|
332 |
+
.lvca-container .lvca-thumbnailslider.lvca-flexslider .lvca-slide img:hover {
|
333 |
+
opacity: 1; }
|
334 |
+
.lvca-container .lvca-thumbnailslider.lvca-flexslider .lvca-slide.lvca-flex-active-slide img {
|
335 |
+
opacity: 1;
|
336 |
+
cursor: default; }
|
337 |
+
.lvca-container .lvca-flex-direction-nav {
|
338 |
+
padding: 0 !important;
|
339 |
+
margin: 0 !important; }
|
340 |
+
.lvca-container .lvca-flex-direction-nav li {
|
341 |
+
position: initial; }
|
342 |
+
.lvca-container .lvca-flex-direction-nav a, .lvca-container .lvca-flex-direction-nav a:hover {
|
343 |
+
opacity: 1;
|
344 |
+
text-shadow: none;
|
345 |
+
background: none;
|
346 |
+
color: #888;
|
347 |
+
font-family: 'lvca-icomoon' !important;
|
348 |
+
speak: none;
|
349 |
+
font-style: normal;
|
350 |
+
font-weight: normal;
|
351 |
+
font-variant: normal;
|
352 |
+
text-transform: none;
|
353 |
+
line-height: 1;
|
354 |
+
-webkit-font-smoothing: antialiased;
|
355 |
+
-moz-osx-font-smoothing: grayscale;
|
356 |
+
font-size: 24px;
|
357 |
+
width: 28px;
|
358 |
+
height: 28px;
|
359 |
+
margin: -14px 0 0;
|
360 |
+
bottom: initial;
|
361 |
+
left: initial;
|
362 |
+
right: initial;
|
363 |
+
top: 50%;
|
364 |
+
text-indent: 0;
|
365 |
+
text-align: center;
|
366 |
+
color: #aaa;
|
367 |
+
-webkit-transition: all 0.3s ease-in-out 0s;
|
368 |
+
transition: all 0.3s ease-in-out 0s;
|
369 |
+
outline: none; }
|
370 |
+
.lvca-container .lvca-flex-direction-nav a:before, .lvca-container .lvca-flex-direction-nav a:hover:before, .lvca-container .lvca-flex-direction-nav a:hover:before, .lvca-container .lvca-flex-direction-nav a:hover:hover:before {
|
371 |
+
margin: 2px;
|
372 |
+
vertical-align: middle;
|
373 |
+
display: inline;
|
374 |
+
font-family: inherit !important;
|
375 |
+
opacity: 1; }
|
376 |
+
.lvca-container .lvca-flex-direction-nav a:hover, .lvca-container .lvca-flex-direction-nav a:hover:hover {
|
377 |
+
color: #888; }
|
378 |
+
.lvca-dark-bg .lvca-container .lvca-flex-direction-nav a, .lvca-dark-bg .lvca-container .lvca-flex-direction-nav a:hover {
|
379 |
+
color: #888; }
|
380 |
+
.lvca-dark-bg .lvca-container .lvca-flex-direction-nav a:hover, .lvca-dark-bg .lvca-container .lvca-flex-direction-nav a:hover:hover {
|
381 |
+
color: #aaa; }
|
382 |
+
@media only screen and (max-width: 960px) {
|
383 |
+
.lvca-container .lvca-flex-direction-nav a, .lvca-container .lvca-flex-direction-nav a:hover {
|
384 |
+
display: none;
|
385 |
+
/* Let users navigate via touch */ } }
|
386 |
+
.lvca-container .lvca-flex-direction-nav a.lvca-flex-prev {
|
387 |
+
left: -30px; }
|
388 |
+
.lvca-container .lvca-flex-direction-nav a.lvca-flex-prev:before {
|
389 |
+
content: "\e900"; }
|
390 |
+
.lvca-container .lvca-flex-direction-nav a.lvca-flex-next {
|
391 |
+
right: -30px; }
|
392 |
+
.lvca-container .lvca-flex-direction-nav a.lvca-flex-next:before {
|
393 |
+
content: "\e901"; }
|
394 |
+
.lvca-container .lvca-flex-control-nav {
|
395 |
+
width: 100%;
|
396 |
+
position: absolute;
|
397 |
+
bottom: -40px;
|
398 |
+
text-align: center;
|
399 |
+
padding: 0 !important;
|
400 |
+
margin: 0 !important; }
|
401 |
+
.lvca-container .lvca-flex-control-nav li, .lvca-container .lvca-flex-control-nav li:hover {
|
402 |
+
margin: 0 8px 0 0;
|
403 |
+
padding: 0;
|
404 |
+
border: none;
|
405 |
+
-webkit-box-shadow: none;
|
406 |
+
box-shadow: none; }
|
407 |
+
.lvca-container .lvca-flex-control-nav li a, .lvca-container .lvca-flex-control-nav li a:hover {
|
408 |
+
background: #aaa;
|
409 |
+
border: 1px solid #aaa;
|
410 |
+
border-radius: 50%;
|
411 |
+
width: 12px;
|
412 |
+
height: 12px;
|
413 |
+
-webkit-box-shadow: none;
|
414 |
+
box-shadow: none;
|
415 |
+
-webkit-transition: all 0.2s ease-in 0s;
|
416 |
+
transition: all 0.2s ease-in 0s;
|
417 |
+
display: inline-block;
|
418 |
+
vertical-align: middle;
|
419 |
+
outline: none; }
|
420 |
+
.lvca-dark-bg .lvca-container .lvca-flex-control-nav li a, .lvca-dark-bg .lvca-container .lvca-flex-control-nav li a:hover {
|
421 |
+
background: #ccc;
|
422 |
+
border-color: #ccc; }
|
423 |
+
.lvca-container .lvca-flex-control-nav li a.lvca-flex-active, .lvca-container .lvca-flex-control-nav li a:hover.lvca-flex-active, .lvca-container .lvca-flex-control-nav li a:hover {
|
424 |
+
background: none; }
|
425 |
+
.lvca-container .lvca-flex-control-nav li a.lvca-flex-active, .lvca-container .lvca-flex-control-nav li a:hover.lvca-flex-active {
|
426 |
+
width: 14px;
|
427 |
+
height: 14px; }
|
428 |
+
.lvca-container .lvca-flex-control-thumbs {
|
429 |
+
bottom: -120px; }
|
430 |
+
@media only screen and (max-width: 600px) {
|
431 |
+
.lvca-container .lvca-flex-control-thumbs {
|
432 |
+
bottom: -80px; } }
|
433 |
+
.lvca-container .lvca-flex-control-thumbs li {
|
434 |
+
width: auto;
|
435 |
+
float: none; }
|
436 |
+
.lvca-container .lvca-flex-control-thumbs li img {
|
437 |
+
max-width: 100%;
|
438 |
+
width: 150px; }
|
439 |
+
@media only screen and (max-width: 600px) {
|
440 |
+
.lvca-container .lvca-flex-control-thumbs li img {
|
441 |
+
width: 100px; } }
|
442 |
+
|
443 |
+
/* Sleek Carousel Styles */
|
444 |
+
.slick-loading .slick-list {
|
445 |
+
background: #fff url("./ajax-loader.gif") center center no-repeat; }
|
446 |
+
|
447 |
+
.lvca-container button.slick-prev, .lvca-container button.slick-next {
|
448 |
+
position: absolute;
|
449 |
+
bottom: initial;
|
450 |
+
left: initial;
|
451 |
+
right: initial;
|
452 |
+
top: 50%;
|
453 |
+
width: 28px;
|
454 |
+
height: 28px;
|
455 |
+
margin: -14px 0 0; }
|
456 |
+
.lvca-container button.slick-prev, .lvca-container button.slick-prev:before, .lvca-container button.slick-prev:after, .lvca-container button.slick-next, .lvca-container button.slick-next:before, .lvca-container button.slick-next:after {
|
457 |
+
text-shadow: none;
|
458 |
+
background: none !important;
|
459 |
+
border: none;
|
460 |
+
padding: 0;
|
461 |
+
opacity: 1;
|
462 |
+
font-family: 'lvca-icomoon' !important;
|
463 |
+
speak: none;
|
464 |
+
font-style: normal;
|
465 |
+
font-weight: normal;
|
466 |
+
font-variant: normal;
|
467 |
+
text-transform: none;
|
468 |
+
line-height: 1;
|
469 |
+
-webkit-font-smoothing: antialiased;
|
470 |
+
-moz-osx-font-smoothing: grayscale;
|
471 |
+
font-size: 24px;
|
472 |
+
color: #aaa !important;
|
473 |
+
overflow: hidden;
|
474 |
+
-webkit-box-shadow: none;
|
475 |
+
box-shadow: none;
|
476 |
+
outline: none;
|
477 |
+
text-indent: 0;
|
478 |
+
text-align: center;
|
479 |
+
-webkit-transition: all 0.3s ease-in-out 0s;
|
480 |
+
transition: all 0.3s ease-in-out 0s; }
|
481 |
+
.lvca-container button.slick-prev:before, .lvca-container button.slick-next:before {
|
482 |
+
margin: 2px;
|
483 |
+
vertical-align: middle; }
|
484 |
+
.lvca-container button.slick-prev:hover:before, .lvca-container button.slick-prev:hover:after, .lvca-container button.slick-next:hover:before, .lvca-container button.slick-next:hover:after {
|
485 |
+
color: #888 !important; }
|
486 |
+
.lvca-dark-bg .lvca-container button.slick-prev:before, .lvca-dark-bg .lvca-container button.slick-prev:after, .lvca-dark-bg .lvca-container button.slick-next:before, .lvca-dark-bg .lvca-container button.slick-next:after {
|
487 |
+
color: #888 !important; }
|
488 |
+
.lvca-dark-bg .lvca-container button.slick-prev:hover:before, .lvca-dark-bg .lvca-container button.slick-prev:hover:after, .lvca-dark-bg .lvca-container button.slick-next:hover:before, .lvca-dark-bg .lvca-container button.slick-next:hover:after {
|
489 |
+
color: #aaa !important;
|
490 |
+
background: none !important; }
|
491 |
+
@media only screen and (max-width: 1024px) {
|
492 |
+
.lvca-container button.slick-prev, .lvca-container button.slick-next {
|
493 |
+
display: none !important;
|
494 |
+
/* Let users navigate via touch */ } }
|
495 |
+
.lvca-container button.slick-prev {
|
496 |
+
left: -40px; }
|
497 |
+
.lvca-container button.slick-prev:before {
|
498 |
+
content: "\e900"; }
|
499 |
+
.lvca-container button.slick-next {
|
500 |
+
right: -40px; }
|
501 |
+
.lvca-container button.slick-next:before {
|
502 |
+
content: "\e901"; }
|
503 |
+
.lvca-container ul.slick-dots {
|
504 |
+
width: 100%;
|
505 |
+
position: absolute;
|
506 |
+
bottom: -30px;
|
507 |
+
text-align: center;
|
508 |
+
padding: 0 !important;
|
509 |
+
margin: 0 !important; }
|
510 |
+
.lvca-container ul.slick-dots li {
|
511 |
+
margin: 0 8px 0 0 !important;
|
512 |
+
padding: 0 !important;
|
513 |
+
display: inline-block;
|
514 |
+
font-size: 0; }
|
515 |
+
.lvca-container ul.slick-dots li button {
|
516 |
+
padding: 0;
|
517 |
+
background: #aaa;
|
518 |
+
border: 1px solid #aaa;
|
519 |
+
border-radius: 50%;
|
520 |
+
width: 12px;
|
521 |
+
height: 12px;
|
522 |
+
-webkit-box-shadow: none;
|
523 |
+
box-shadow: none;
|
524 |
+
-webkit-transition: background 0.3s ease-in-out 0s;
|
525 |
+
transition: background 0.3s ease-in-out 0s;
|
526 |
+
font-size: 0;
|
527 |
+
outline: none; }
|
528 |
+
.lvca-dark-bg .lvca-container ul.slick-dots li button {
|
529 |
+
background: #888 !important;
|
530 |
+
border-color: #888 !important; }
|
531 |
+
.lvca-container ul.slick-dots li button:hover, .lvca-container ul.slick-dots li.slick-active button {
|
532 |
+
background: none !important;
|
533 |
+
border-color: #aaa !important; }
|
534 |
+
.lvca-container ul.slick-dots li.slick-active button {
|
535 |
+
width: 14px;
|
536 |
+
height: 14px; }
|
537 |
+
|
538 |
+
/* -------- Widget separator headline ------------ */
|
539 |
+
.lvca-widget-heading {
|
540 |
+
font-size: 18px;
|
541 |
+
line-height: 26px;
|
542 |
+
letter-spacing: 1px;
|
543 |
+
font-weight: bold;
|
544 |
+
color: #333;
|
545 |
+
text-transform: uppercase;
|
546 |
+
clear: none;
|
547 |
+
margin-top: 0;
|
548 |
+
margin-bottom: 10px;
|
549 |
+
font-size: 40px;
|
550 |
+
line-height: 52px;
|
551 |
+
text-align: center; }
|
552 |
+
@media only screen and (max-width: 767px) {
|
553 |
+
.lvca-widget-heading {
|
554 |
+
font-size: 32px;
|
555 |
+
line-height: 44px; } }
|
556 |
+
|
557 |
+
/* -------- Spacer styling ----------- */
|
558 |
+
.lvca-spacer {
|
559 |
+
clear: both; }
|
560 |
+
|
561 |
+
/* --------------- Button CSS -------------------- */
|
562 |
+
input.lvca-button, button.lvca-button, a.lvca-button, .lvca-button:active, .lvca-button:visited {
|
563 |
+
display: inline-block;
|
564 |
+
text-align: center;
|
565 |
+
line-height: 1;
|
566 |
+
cursor: pointer;
|
567 |
+
-webkit-appearance: none;
|
568 |
+
vertical-align: middle;
|
569 |
+
border: 1px solid transparent;
|
570 |
+
border-radius: 3px;
|
571 |
+
padding: 16px 40px;
|
572 |
+
margin: 0;
|
573 |
+
font-size: 12px;
|
574 |
+
font-weight: normal;
|
575 |
+
text-transform: uppercase;
|
576 |
+
letter-spacing: 2px;
|
577 |
+
background-color: #f94213;
|
578 |
+
color: #fefefe;
|
579 |
+
outline: none;
|
580 |
+
-webkit-transition: all 0.4s ease-in-out 0s;
|
581 |
+
transition: all 0.4s ease-in-out 0s; }
|
582 |
+
input.lvca-button.lvca-rounded, button.lvca-button.lvca-rounded, a.lvca-button.lvca-rounded, .lvca-button:active.lvca-rounded, .lvca-button:visited.lvca-rounded {
|
583 |
+
border-radius: 999px; }
|
584 |
+
input.lvca-button.lvca-large, button.lvca-button.lvca-large, a.lvca-button.lvca-large, .lvca-button:active.lvca-large, .lvca-button:visited.lvca-large {
|
585 |
+
padding: 20px 60px; }
|
586 |
+
input.lvca-button.lvca-small, button.lvca-button.lvca-small, a.lvca-button.lvca-small, .lvca-button:active.lvca-small, .lvca-button:visited.lvca-small {
|
587 |
+
padding: 12px 25px;
|
588 |
+
font-size: 11px; }
|
589 |
+
input.lvca-button:hover, button.lvca-button:hover, a.lvca-button:hover, .lvca-button:active:hover, .lvca-button:visited:hover {
|
590 |
+
background-color: #f9633e;
|
591 |
+
color: #fefefe; }
|
592 |
+
input.lvca-button img, input.lvca-button span.lvca-icon, button.lvca-button img, button.lvca-button span.lvca-icon, a.lvca-button img, a.lvca-button span.lvca-icon, .lvca-button:active img, .lvca-button:active span.lvca-icon, .lvca-button:visited img, .lvca-button:visited span.lvca-icon {
|
593 |
+
margin-right: 10px; }
|
594 |
+
|
595 |
+
.lvca-button.lvca-black {
|
596 |
+
background-color: #363636; }
|
597 |
+
|
598 |
+
.lvca-button.lvca-black:hover {
|
599 |
+
background-color: #434343; }
|
600 |
+
|
601 |
+
.lvca-button.lvca-blue {
|
602 |
+
background-color: #46a5d5; }
|
603 |
+
|
604 |
+
.lvca-button.lvca-blue:hover {
|
605 |
+
background-color: #5bafda; }
|
606 |
+
|
607 |
+
.lvca-button.lvca-cyan {
|
608 |
+
background-color: #57c0dc; }
|
609 |
+
|
610 |
+
.lvca-button.lvca-cyan:hover {
|
611 |
+
background-color: #6cc8e0; }
|
612 |
+
|
613 |
+
.lvca-button.lvca-green {
|
614 |
+
background-color: #00a57d; }
|
615 |
+
|
616 |
+
.lvca-button.lvca-green:hover {
|
617 |
+
background-color: #00bf90; }
|
618 |
+
|
619 |
+
.lvca-button.lvca-orange {
|
620 |
+
background-color: #e87151; }
|
621 |
+
|
622 |
+
.lvca-button.lvca-orange:hover {
|
623 |
+
background-color: #eb8368; }
|
624 |
+
|
625 |
+
.lvca-button.lvca-pink {
|
626 |
+
background-color: #dd5679; }
|
627 |
+
|
628 |
+
.lvca-button.lvca-pink:hover {
|
629 |
+
background-color: #e16b8a; }
|
630 |
+
|
631 |
+
.lvca-button.lvca-red {
|
632 |
+
background-color: #da4f49; }
|
633 |
+
|
634 |
+
.lvca-button.lvca-red:hover {
|
635 |
+
background-color: #de635e; }
|
636 |
+
|
637 |
+
.lvca-button.lvca-teal {
|
638 |
+
background-color: #28c2ba; }
|
639 |
+
|
640 |
+
.lvca-button.lvca-teal:hover {
|
641 |
+
background-color: #2fd4cc; }
|
642 |
+
|
643 |
+
.lvca-button.lvca-trans {
|
644 |
+
color: #333;
|
645 |
+
background-color: transparent;
|
646 |
+
/* IE */
|
647 |
+
background-color: rgba(0, 0, 0, 0);
|
648 |
+
border: 2px solid #a5a5a5; }
|
649 |
+
.lvca-button.lvca-trans:hover {
|
650 |
+
background-color: #fff;
|
651 |
+
color: #333 !important;
|
652 |
+
border-color: #fff; }
|
653 |
+
|
654 |
+
.lvca-button.lvca-semitrans {
|
655 |
+
color: #fff;
|
656 |
+
background-color: transparent;
|
657 |
+
/* IE */
|
658 |
+
background-color: rgba(125, 125, 125, 0.5); }
|
659 |
+
.lvca-button.lvca-semitrans:hover {
|
660 |
+
background-color: #fff;
|
661 |
+
color: #333 !important; }
|
662 |
+
|
663 |
+
/*# sourceMappingURL=lvca-frontend.css.map */
|
assets/css/lvca-frontend.css.map
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
{"version":3,"sources":["lvca-frontend.scss","_lvca-lib.scss","../../../../bower_components/neat/core/neat/mixins/_grid-collapse.scss","../../../../bower_components/neat/core/neat/mixins/_grid-container.scss","../../../../bower_components/neat/core/neat/mixins/_grid-media.scss","../../../../bower_components/neat/core/neat/mixins/_grid-column.scss","../../../../bower_components/neat/core/neat/functions/_neat-float-direction.scss"],"names":[],"mappings":"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","file":"lvca-frontend.css"}
|
assets/css/lvca-frontend.scss
ADDED
@@ -0,0 +1,878 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@import "bourbon";
|
2 |
+
@import "neat";
|
3 |
+
@import "grid-settings";
|
4 |
+
@import "lvca-lib";
|
5 |
+
|
6 |
+
/* --------------- Reset styles --------- */
|
7 |
+
|
8 |
+
.lvca-container, .lvca-grid-container {
|
9 |
+
box-sizing: border-box;
|
10 |
+
*, *::after, *::before {
|
11 |
+
box-sizing: inherit;
|
12 |
+
}
|
13 |
+
ol, ul, ol > li, ul > li, ol:hover, ul:hover, ul > li:hover, ol > li:hover, ol > li > a, ul > li > a, ol > li > a:hover, ul > li > a:hover, img {
|
14 |
+
padding: 0;
|
15 |
+
margin: 0;
|
16 |
+
border: none;
|
17 |
+
box-shadow: none;
|
18 |
+
list-style: none;
|
19 |
+
background: none;
|
20 |
+
&:before, &:after {
|
21 |
+
display: none;
|
22 |
+
}
|
23 |
+
}
|
24 |
+
a {
|
25 |
+
text-decoration: initial;
|
26 |
+
}
|
27 |
+
img {
|
28 |
+
max-width: 100%;
|
29 |
+
width: auto;
|
30 |
+
height: auto;
|
31 |
+
}
|
32 |
+
}
|
33 |
+
/* ------- General styles ------------ */
|
34 |
+
|
35 |
+
.lvca-container {
|
36 |
+
@include lvca-container;
|
37 |
+
margin-left: auto;
|
38 |
+
margin-right: auto;
|
39 |
+
}
|
40 |
+
.panel-grid .widget {
|
41 |
+
border: 0;
|
42 |
+
}
|
43 |
+
.lvca-center {
|
44 |
+
text-align: center;
|
45 |
+
}
|
46 |
+
.lvca-grid-container {
|
47 |
+
@include grid-container;
|
48 |
+
@include grid-collapse();
|
49 |
+
|
50 |
+
.lvca-grid-item {
|
51 |
+
min-height: 1px; /* Prevents columns from collapsing when housing absolute elements or when lazy loading content */
|
52 |
+
}
|
53 |
+
|
54 |
+
@include grid-media($lvca-mobile-only-grid) {
|
55 |
+
&.lvca-grid-mobile-2 {
|
56 |
+
.lvca-grid-item {
|
57 |
+
@include omega(2n);
|
58 |
+
}
|
59 |
+
}
|
60 |
+
|
61 |
+
&.lvca-grid-mobile-3 {
|
62 |
+
.lvca-grid-item {
|
63 |
+
@include omega(3n);
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
&.lvca-grid-mobile-4 {
|
68 |
+
.lvca-grid-item {
|
69 |
+
@include omega(4n);
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
+
&.lvca-grid-mobile-5 {
|
74 |
+
.lvca-grid-item {
|
75 |
+
@include omega(5n);
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
+
&.lvca-grid-mobile-6 {
|
80 |
+
.lvca-grid-item {
|
81 |
+
@include omega(6n);
|
82 |
+
}
|
83 |
+
}
|
84 |
+
}
|
85 |
+
|
86 |
+
@include grid-media($lvca-tablet-only-grid) {
|
87 |
+
&.lvca-grid-tablet-2 {
|
88 |
+
.lvca-grid-item {
|
89 |
+
@include omega(2n);
|
90 |
+
}
|
91 |
+
}
|
92 |
+
|
93 |
+
&.lvca-grid-tablet-3 {
|
94 |
+
.lvca-grid-item {
|
95 |
+
@include omega(3n);
|
96 |
+
}
|
97 |
+
}
|
98 |
+
|
99 |
+
&.lvca-grid-tablet-4 {
|
100 |
+
.lvca-grid-item {
|
101 |
+
@include omega(4n);
|
102 |
+
}
|
103 |
+
}
|
104 |
+
|
105 |
+
&.lvca-grid-tablet-5 {
|
106 |
+
.lvca-grid-item {
|
107 |
+
@include omega(5n);
|
108 |
+
}
|
109 |
+
}
|
110 |
+
|
111 |
+
&.lvca-grid-tablet-6 {
|
112 |
+
.lvca-grid-item {
|
113 |
+
@include omega(6n);
|
114 |
+
}
|
115 |
+
}
|
116 |
+
}
|
117 |
+
@include grid-media($lvca-desktop-grid) {
|
118 |
+
&.lvca-grid-desktop-2 {
|
119 |
+
.lvca-grid-item {
|
120 |
+
@include omega(2n);
|
121 |
+
}
|
122 |
+
}
|
123 |
+
|
124 |
+
&.lvca-grid-desktop-3 {
|
125 |
+
.lvca-grid-item {
|
126 |
+
@include omega(3n);
|
127 |
+
}
|
128 |
+
}
|
129 |
+
|
130 |
+
&.lvca-grid-desktop-4 {
|
131 |
+
.lvca-grid-item {
|
132 |
+
@include omega(4n);
|
133 |
+
}
|
134 |
+
}
|
135 |
+
|
136 |
+
&.lvca-grid-desktop-5 {
|
137 |
+
.lvca-grid-item {
|
138 |
+
@include omega(5n);
|
139 |
+
}
|
140 |
+
}
|
141 |
+
|
142 |
+
&.lvca-grid-desktop-6 {
|
143 |
+
.lvca-grid-item {
|
144 |
+
@include omega(6n);
|
145 |
+
}
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
|
150 |
+
|
151 |
+
&.lvca-grid-mobile-1 {
|
152 |
+
|
153 |
+
.lvca-grid-item {
|
154 |
+
@include grid-column(12);
|
155 |
+
}
|
156 |
+
}
|
157 |
+
&.lvca-grid-mobile-2 {
|
158 |
+
|
159 |
+
.lvca-grid-item {
|
160 |
+
@include grid-column(6);
|
161 |
+
}
|
162 |
+
}
|
163 |
+
|
164 |
+
&.lvca-grid-mobile-3 {
|
165 |
+
|
166 |
+
.lvca-grid-item {
|
167 |
+
@include grid-column(4);
|
168 |
+
}
|
169 |
+
}
|
170 |
+
|
171 |
+
&.lvca-grid-mobile-4 {
|
172 |
+
|
173 |
+
.lvca-grid-item {
|
174 |
+
@include grid-column(3);
|
175 |
+
}
|
176 |
+
}
|
177 |
+
|
178 |
+
&.lvca-grid-mobile-5 {
|
179 |
+
|
180 |
+
.lvca-grid-item {
|
181 |
+
@include grid-column(1, $lvca-five-col-grid);
|
182 |
+
}
|
183 |
+
}
|
184 |
+
|
185 |
+
&.lvca-grid-mobile-6 {
|
186 |
+
|
187 |
+
.lvca-grid-item {
|
188 |
+
@include grid-column(2);
|
189 |
+
}
|
190 |
+
}
|
191 |
+
|
192 |
+
@include grid-media($lvca-tablet-grid) {
|
193 |
+
|
194 |
+
&.lvca-grid-tablet-1 {
|
195 |
+
|
196 |
+
.lvca-grid-item {
|
197 |
+
@include grid-column(12);
|
198 |
+
}
|
199 |
+
}
|
200 |
+
&.lvca-grid-tablet-2 {
|
201 |
+
|
202 |
+
.lvca-grid-item {
|
203 |
+
@include grid-column(6);
|
204 |
+
}
|
205 |
+
}
|
206 |
+
|
207 |
+
&.lvca-grid-tablet-3 {
|
208 |
+
|
209 |
+
.lvca-grid-item {
|
210 |
+
@include grid-column(4);
|
211 |
+
}
|
212 |
+
}
|
213 |
+
|
214 |
+
&.lvca-grid-tablet-4 {
|
215 |
+
|
216 |
+
.lvca-grid-item {
|
217 |
+
@include grid-column(3);
|
218 |
+
}
|
219 |
+
}
|
220 |
+
|
221 |
+
&.lvca-grid-tablet-5 {
|
222 |
+
|
223 |
+
.lvca-grid-item {
|
224 |
+
@include grid-column(1, $lvca-five-col-grid);
|
225 |
+
}
|
226 |
+
}
|
227 |
+
|
228 |
+
&.lvca-grid-tablet-6 {
|
229 |
+
|
230 |
+
.lvca-grid-item {
|
231 |
+
@include grid-column(2);
|
232 |
+
}
|
233 |
+
}
|
234 |
+
}
|
235 |
+
|
236 |
+
@include grid-media($lvca-desktop-grid) {
|
237 |
+
|
238 |
+
&.lvca-grid-desktop-1 {
|
239 |
+
|
240 |
+
.lvca-grid-item {
|
241 |
+
@include grid-column(12);
|
242 |
+
}
|
243 |
+
}
|
244 |
+
&.lvca-grid-desktop-2 {
|
245 |
+
|
246 |
+
.lvca-grid-item {
|
247 |
+
@include grid-column(6);
|
248 |
+
}
|
249 |
+
}
|
250 |
+
|
251 |
+
&.lvca-grid-desktop-3 {
|
252 |
+
|
253 |
+
.lvca-grid-item {
|
254 |
+
@include grid-column(4);
|
255 |
+
}
|
256 |
+
}
|
257 |
+
|
258 |
+
&.lvca-grid-desktop-4 {
|
259 |
+
|
260 |
+
.lvca-grid-item {
|
261 |
+
@include grid-column(3);
|
262 |
+
}
|
263 |
+
}
|
264 |
+
|
265 |
+
&.lvca-grid-desktop-5 {
|
266 |
+
|
267 |
+
.lvca-grid-item {
|
268 |
+
@include grid-column(1, $lvca-five-col-grid);
|
269 |
+
}
|
270 |
+
}
|
271 |
+
|
272 |
+
&.lvca-grid-desktop-6 {
|
273 |
+
|
274 |
+
.lvca-grid-item {
|
275 |
+
@include grid-column(2);
|
276 |
+
}
|
277 |
+
}
|
278 |
+
}
|
279 |
+
}
|
280 |
+
/*--------- Gapless grid columns ----*/
|
281 |
+
|
282 |
+
.lvca-gapless-grid {
|
283 |
+
|
284 |
+
.lvca-grid-container {
|
285 |
+
margin-left: 0;
|
286 |
+
margin-right: 0;
|
287 |
+
width: auto;
|
288 |
+
|
289 |
+
&.lvca-grid-mobile-1 {
|
290 |
+
|
291 |
+
.lvca-grid-item {
|
292 |
+
@include grid-column(12, $lvca-gapless-grid);
|
293 |
+
}
|
294 |
+
}
|
295 |
+
&.lvca-grid-mobile-2 {
|
296 |
+
|
297 |
+
.lvca-grid-item {
|
298 |
+
@include grid-column(6, $lvca-gapless-grid);
|
299 |
+
}
|
300 |
+
}
|
301 |
+
|
302 |
+
&.lvca-grid-mobile-3 {
|
303 |
+
|
304 |
+
.lvca-grid-item {
|
305 |
+
@include grid-column(4, $lvca-gapless-grid);
|
306 |
+
}
|
307 |
+
}
|
308 |
+
|
309 |
+
&.lvca-grid-mobile-4 {
|
310 |
+
|
311 |
+
.lvca-grid-item {
|
312 |
+
@include grid-column(3, $lvca-gapless-grid);
|
313 |
+
}
|
314 |
+
}
|
315 |
+
|
316 |
+
&.lvca-grid-mobile-5 {
|
317 |
+
.lvca-grid-item {
|
318 |
+
@include grid-column(1, $lvca-gapless-five-col-grid);
|
319 |
+
}
|
320 |
+
}
|
321 |
+
|
322 |
+
&.lvca-grid-mobile-6 {
|
323 |
+
|
324 |
+
.lvca-grid-item {
|
325 |
+
@include grid-column(2, $lvca-gapless-grid);
|
326 |
+
}
|
327 |
+
}
|
328 |
+
|
329 |
+
@include grid-media($lvca-tablet-grid) {
|
330 |
+
|
331 |
+
&.lvca-grid-tablet-1 {
|
332 |
+
.lvca-grid-item {
|
333 |
+
@include grid-column(12, $lvca-gapless-grid);
|
334 |
+
}
|
335 |
+
}
|
336 |
+
|
337 |
+
&.lvca-grid-tablet-2 {
|
338 |
+
.lvca-grid-item {
|
339 |
+
@include grid-column(6, $lvca-gapless-grid);
|
340 |
+
}
|
341 |
+
}
|
342 |
+
|
343 |
+
&.lvca-grid-tablet-3 {
|
344 |
+
.lvca-grid-item {
|
345 |
+
@include grid-column(4, $lvca-gapless-grid);
|
346 |
+
}
|
347 |
+
}
|
348 |
+
&.lvca-grid-tablet-4 {
|
349 |
+
.lvca-grid-item {
|
350 |
+
@include grid-column(3, $lvca-gapless-grid);
|
351 |
+
}
|
352 |
+
}
|
353 |
+
&.lvca-grid-tablet-5 {
|
354 |
+
.lvca-grid-item {
|
355 |
+
@include grid-column(1, $lvca-gapless-five-col-grid);
|
356 |
+
}
|
357 |
+
}
|
358 |
+
&.lvca-grid-tablet-6 {
|
359 |
+
.lvca-grid-item {
|
360 |
+
@include grid-column(2, $lvca-gapless-grid);
|
361 |
+
}
|
362 |
+
}
|
363 |
+
}
|
364 |
+
|
365 |
+
@include grid-media($lvca-desktop-grid) {
|
366 |
+
|
367 |
+
&.lvca-grid-desktop-1 {
|
368 |
+
.lvca-grid-item {
|
369 |
+
@include grid-column(12, $lvca-gapless-grid);
|
370 |
+
}
|
371 |
+
}
|
372 |
+
|
373 |
+
&.lvca-grid-desktop-2 {
|
374 |
+
.lvca-grid-item {
|
375 |
+
@include grid-column(6, $lvca-gapless-grid);
|
376 |
+
}
|
377 |
+
}
|
378 |
+
|
379 |
+
&.lvca-grid-desktop-3 {
|
380 |
+
.lvca-grid-item {
|
381 |
+
@include grid-column(4, $lvca-gapless-grid);
|
382 |
+
}
|
383 |
+
}
|
384 |
+
&.lvca-grid-desktop-4 {
|
385 |
+
.lvca-grid-item {
|
386 |
+
@include grid-column(3, $lvca-gapless-grid);
|
387 |
+
}
|
388 |
+
}
|
389 |
+
&.lvca-grid-desktop-5 {
|
390 |
+
.lvca-grid-item {
|
391 |
+
@include grid-column(1, $lvca-gapless-five-col-grid);
|
392 |
+
}
|
393 |
+
}
|
394 |
+
&.lvca-grid-desktop-6 {
|
395 |
+
.lvca-grid-item {
|
396 |
+
@include grid-column(2, $lvca-gapless-grid);
|
397 |
+
}
|
398 |
+
}
|
399 |
+
}
|
400 |
+
}
|
401 |
+
}
|
402 |
+
|
403 |
+
/* ---------- Masonry Layout Grid columns -------------*/
|
404 |
+
|
405 |
+
.lvca-gapless-grid .lvca-masonry {
|
406 |
+
|
407 |
+
/* Clear the omega for masonry layout */
|
408 |
+
.lvca-grid-item {
|
409 |
+
clear: none !important;
|
410 |
+
}
|
411 |
+
|
412 |
+
.lvca-grid-sizer {
|
413 |
+
@include grid-column(1, $lvca-gapless-grid);
|
414 |
+
}
|
415 |
+
|
416 |
+
&.lvca-grid-mobile-1 {
|
417 |
+
|
418 |
+
.lvca-grid-item.lvca-wide {
|
419 |
+
@include grid-column(12, $lvca-gapless-grid);
|
420 |
+
}
|
421 |
+
}
|
422 |
+
&.lvca-grid-mobile-2 {
|
423 |
+
|
424 |
+
.lvca-grid-item.lvca-wide {
|
425 |
+
@include grid-column(6, $lvca-gapless-grid); // keep it small for now
|
426 |
+
}
|
427 |
+
}
|
428 |
+
|
429 |
+
&.lvca-grid-mobile-3 {
|
430 |
+
|
431 |
+
.lvca-grid-item.lvca-wide {
|
432 |
+
@include grid-column(8, $lvca-gapless-grid);
|
433 |
+
}
|
434 |
+
}
|
435 |
+
|
436 |
+
&.lvca-grid-mobile-4 {
|
437 |
+
|
438 |
+
.lvca-grid-item.lvca-wide {
|
439 |
+
@include grid-column(6, $lvca-gapless-grid);
|
440 |
+
}
|
441 |
+
}
|
442 |
+
|
443 |
+
&.lvca-grid-mobile-5 {
|
444 |
+
|
445 |
+
.lvca-grid-item.lvca-wide {
|
446 |
+
@include grid-column(2, $lvca-gapless-five-col-grid);
|
447 |
+
}
|
448 |
+
}
|
449 |
+
|
450 |
+
&.lvca-grid-mobile-6 {
|
451 |
+
|
452 |
+
.lvca-grid-item.lvca-wide {
|
453 |
+
@include grid-column(4, $lvca-gapless-grid);
|
454 |
+
}
|
455 |
+
}
|
456 |
+
|
457 |
+
@include grid-media($lvca-tablet-grid) {
|
458 |
+
|
459 |
+
&.lvca-grid-tablet-1 {
|
460 |
+
|
461 |
+
.lvca-grid-item.lvca-wide {
|
462 |
+
@include grid-column(12, $lvca-gapless-grid);
|
463 |
+
}
|
464 |
+
}
|
465 |
+
&.lvca-grid-tablet-2 {
|
466 |
+
|
467 |
+
.lvca-grid-item.lvca-wide {
|
468 |
+
@include grid-column(6, $lvca-gapless-grid); // keep it small for now
|
469 |
+
}
|
470 |
+
}
|
471 |
+
|
472 |
+
&.lvca-grid-tablet-3 {
|
473 |
+
|
474 |
+
.lvca-grid-item.lvca-wide {
|
475 |
+
@include grid-column(8, $lvca-gapless-grid);
|
476 |
+
}
|
477 |
+
}
|
478 |
+
|
479 |
+
&.lvca-grid-tablet-4 {
|
480 |
+
|
481 |
+
.lvca-grid-item.lvca-wide {
|
482 |
+
@include grid-column(6, $lvca-gapless-grid);
|
483 |
+
}
|
484 |
+
}
|
485 |
+
|
486 |
+
&.lvca-grid-tablet-5 {
|
487 |
+
|
488 |
+
.lvca-grid-item.lvca-wide {
|
489 |
+
@include grid-column(2, $lvca-gapless-five-col-grid);
|
490 |
+
}
|
491 |
+
}
|
492 |
+
|
493 |
+
&.lvca-grid-tablet-6 {
|
494 |
+
|
495 |
+
.lvca-grid-item.lvca-wide {
|
496 |
+
@include grid-column(4, $lvca-gapless-grid);
|
497 |
+
}
|
498 |
+
}
|
499 |
+
|
500 |
+
}
|
501 |
+
|
502 |
+
@include grid-media($lvca-desktop-grid) {
|
503 |
+
|
504 |
+
|
505 |
+
&.lvca-grid-desktop-1 {
|
506 |
+
|
507 |
+
.lvca-grid-item.lvca-wide {
|
508 |
+
@include grid-column(12, $lvca-gapless-grid);
|
509 |
+
}
|
510 |
+
}
|
511 |
+
&.lvca-grid-desktop-2 {
|
512 |
+
|
513 |
+
.lvca-grid-item.lvca-wide {
|
514 |
+
@include grid-column(6, $lvca-gapless-grid); // keep it small for now
|
515 |
+
}
|
516 |
+
}
|
517 |
+
|
518 |
+
&.lvca-grid-desktop-3 {
|
519 |
+
|
520 |
+
.lvca-grid-item.lvca-wide {
|
521 |
+
@include grid-column(8, $lvca-gapless-grid);
|
522 |
+
}
|
523 |
+
}
|
524 |
+
|
525 |
+
&.lvca-grid-desktop-4 {
|
526 |
+
|
527 |
+
.lvca-grid-item.lvca-wide {
|
528 |
+
@include grid-column(6, $lvca-gapless-grid);
|
529 |
+
}
|
530 |
+
}
|
531 |
+
|
532 |
+
&.lvca-grid-desktop-5 {
|
533 |
+
|
534 |
+
.lvca-grid-item.lvca-wide {
|
535 |
+
@include grid-column(2, $lvca-gapless-five-col-grid);
|
536 |
+
}
|
537 |
+
}
|
538 |
+
|
539 |
+
&.lvca-grid-desktop-6 {
|
540 |
+
|
541 |
+
.lvca-grid-item.lvca-wide {
|
542 |
+
@include grid-column(4, $lvca-gapless-grid);
|
543 |
+
}
|
544 |
+
}
|
545 |
+
}
|
546 |
+
}
|
547 |
+
|
548 |
+
/* --------------- Flexslider Styles -------------- */
|
549 |
+
|
550 |
+
.lvca-container {
|
551 |
+
.lvca-thumbnailslider.lvca-flexslider {
|
552 |
+
margin-top: 15px;
|
553 |
+
.lvca-slide {
|
554 |
+
margin: 0 5px 0 0;
|
555 |
+
img {
|
556 |
+
display: block;
|
557 |
+
opacity: .5;
|
558 |
+
cursor: pointer;
|
559 |
+
&:hover {
|
560 |
+
opacity: 1;
|
561 |
+
}
|
562 |
+
}
|
563 |
+
&.lvca-flex-active-slide img {
|
564 |
+
opacity: 1;
|
565 |
+
cursor: default;
|
566 |
+
}
|
567 |
+
}
|
568 |
+
}
|
569 |
+
.lvca-flex-direction-nav {
|
570 |
+
padding: 0 !important;
|
571 |
+
margin: 0 !important;
|
572 |
+
}
|
573 |
+
.lvca-flex-direction-nav li {
|
574 |
+
position: initial;
|
575 |
+
}
|
576 |
+
.lvca-flex-direction-nav a, .lvca-flex-direction-nav a:hover {
|
577 |
+
opacity: 1;
|
578 |
+
text-shadow: none;
|
579 |
+
background: none;
|
580 |
+
color: #888;
|
581 |
+
@include lvca-icon-font();
|
582 |
+
font-size: 24px;
|
583 |
+
width: 28px;
|
584 |
+
height: 28px;
|
585 |
+
margin: -14px 0 0;
|
586 |
+
bottom: initial;
|
587 |
+
left: initial;
|
588 |
+
right: initial;
|
589 |
+
top: 50%;
|
590 |
+
text-indent: 0;
|
591 |
+
text-align: center;
|
592 |
+
color: #aaa;
|
593 |
+
transition: all 0.3s ease-in-out 0s;
|
594 |
+
outline: none;
|
595 |
+
&:before, &:hover:before {
|
596 |
+
margin: 2px;
|
597 |
+
vertical-align: middle;
|
598 |
+
display: inline;
|
599 |
+
font-family: inherit !important;
|
600 |
+
opacity: 1;
|
601 |
+
}
|
602 |
+
&:hover {
|
603 |
+
color: #888;
|
604 |
+
}
|
605 |
+
.lvca-dark-bg & {
|
606 |
+
color: #888;
|
607 |
+
&:hover {
|
608 |
+
color: #aaa;
|
609 |
+
}
|
610 |
+
}
|
611 |
+
@include respond-to-max(960) {
|
612 |
+
display: none; /* Let users navigate via touch */
|
613 |
+
}
|
614 |
+
}
|
615 |
+
.lvca-flex-direction-nav a.lvca-flex-prev {
|
616 |
+
left: -30px;
|
617 |
+
&:before {
|
618 |
+
content: "\e900";
|
619 |
+
}
|
620 |
+
}
|
621 |
+
.lvca-flex-direction-nav a.lvca-flex-next {
|
622 |
+
right: -30px;
|
623 |
+
&:before {
|
624 |
+
content: "\e901";
|
625 |
+
}
|
626 |
+
}
|
627 |
+
.lvca-flex-control-nav {
|
628 |
+
width: 100%;
|
629 |
+
position: absolute;
|
630 |
+
bottom: -40px;
|
631 |
+
text-align: center;
|
632 |
+
padding: 0 !important;
|
633 |
+
margin: 0 !important;
|
634 |
+
li, li:hover {
|
635 |
+
margin: 0 8px 0 0;
|
636 |
+
padding: 0;
|
637 |
+
border: none;
|
638 |
+
box-shadow: none;
|
639 |
+
}
|
640 |
+
li a, li a:hover {
|
641 |
+
background: #aaa;
|
642 |
+
border: 1px solid #aaa;
|
643 |
+
border-radius: 50%;
|
644 |
+
width: 12px;
|
645 |
+
height: 12px;
|
646 |
+
box-shadow: none;
|
647 |
+
transition: all 0.2s ease-in 0s;
|
648 |
+
display: inline-block;
|
649 |
+
vertical-align: middle;
|
650 |
+
outline: none;
|
651 |
+
.lvca-dark-bg & {
|
652 |
+
background: #ccc;
|
653 |
+
border-color: #ccc;
|
654 |
+
}
|
655 |
+
}
|
656 |
+
li a.lvca-flex-active, li a:hover.lvca-flex-active, li a:hover {
|
657 |
+
background: none;
|
658 |
+
}
|
659 |
+
li a.lvca-flex-active, li a:hover.lvca-flex-active {
|
660 |
+
width: 14px;
|
661 |
+
height: 14px;
|
662 |
+
}
|
663 |
+
}
|
664 |
+
.lvca-flex-control-thumbs {
|
665 |
+
bottom: -120px;
|
666 |
+
@include respond-to-max(600) {
|
667 |
+
bottom: -80px;
|
668 |
+
}
|
669 |
+
li {
|
670 |
+
width: auto;
|
671 |
+
float: none;
|
672 |
+
img {
|
673 |
+
max-width: 100%;
|
674 |
+
width: 150px;
|
675 |
+
@include respond-to-max(600) {
|
676 |
+
width: 100px;
|
677 |
+
}
|
678 |
+
}
|
679 |
+
}
|
680 |
+
}
|
681 |
+
}
|
682 |
+
/* Sleek Carousel Styles */
|
683 |
+
|
684 |
+
.slick-loading .slick-list {
|
685 |
+
background: #fff url('./ajax-loader.gif') center center no-repeat;
|
686 |
+
}
|
687 |
+
.lvca-container {
|
688 |
+
|
689 |
+
button.slick-prev, button.slick-next {
|
690 |
+
position: absolute;
|
691 |
+
bottom: initial;
|
692 |
+
left: initial;
|
693 |
+
right: initial;
|
694 |
+
top: 50%;
|
695 |
+
width: 28px;
|
696 |
+
height: 28px;
|
697 |
+
margin: -14px 0 0;
|
698 |
+
&, &:before, &:after {
|
699 |
+
text-shadow: none;
|
700 |
+
background: none !important;
|
701 |
+
border: none;
|
702 |
+
padding: 0;
|
703 |
+
opacity: 1;
|
704 |
+
@include lvca-icon-font();
|
705 |
+
font-size: 24px;
|
706 |
+
color: #aaa !important;
|
707 |
+
overflow: hidden;
|
708 |
+
box-shadow: none;
|
709 |
+
outline: none;
|
710 |
+
text-indent: 0;
|
711 |
+
text-align: center;
|
712 |
+
transition: all 0.3s ease-in-out 0s;
|
713 |
+
}
|
714 |
+
&:before {
|
715 |
+
margin: 2px;
|
716 |
+
vertical-align: middle;
|
717 |
+
}
|
718 |
+
&:hover {
|
719 |
+
&:before, &:after {
|
720 |
+
color: #888 !important;
|
721 |
+
}
|
722 |
+
}
|
723 |
+
.lvca-dark-bg & {
|
724 |
+
&:before, &:after {
|
725 |
+
color: #888 !important;
|
726 |
+
}
|
727 |
+
&:hover {
|
728 |
+
&:before, &:after {
|
729 |
+
color: #aaa !important;
|
730 |
+
background: none !important;
|
731 |
+
}
|
732 |
+
}
|
733 |
+
}
|
734 |
+
@include respond-to-max(1024) {
|
735 |
+
display: none !important; /* Let users navigate via touch */
|
736 |
+
}
|
737 |
+
}
|
738 |
+
button.slick-prev {
|
739 |
+
left: -40px;
|
740 |
+
&:before {
|
741 |
+
content: "\e900";
|
742 |
+
}
|
743 |
+
}
|
744 |
+
button.slick-next {
|
745 |
+
right: -40px;
|
746 |
+
&:before {
|
747 |
+
content: "\e901";
|
748 |
+
}
|
749 |
+
}
|
750 |
+
ul.slick-dots {
|
751 |
+
width: 100%;
|
752 |
+
position: absolute;
|
753 |
+
bottom: -30px;
|
754 |
+
text-align: center;
|
755 |
+
padding: 0 !important;
|
756 |
+
margin: 0 !important;
|
757 |
+
li {
|
758 |
+
margin: 0 8px 0 0 !important;
|
759 |
+
padding: 0 !important;
|
760 |
+
display: inline-block;
|
761 |
+
font-size: 0;
|
762 |
+
}
|
763 |
+
li button {
|
764 |
+
padding: 0;
|
765 |
+
background: #aaa;
|
766 |
+
border: 1px solid #aaa;
|
767 |
+
border-radius: 50%;
|
768 |
+
width: 12px;
|
769 |
+
height: 12px;
|
770 |
+
box-shadow: none;
|
771 |
+
transition: background 0.3s ease-in-out 0s;
|
772 |
+
font-size: 0;
|
773 |
+
outline: none;
|
774 |
+
.lvca-dark-bg & {
|
775 |
+
background: #888 !important;
|
776 |
+
border-color: #888 !important;
|
777 |
+
}
|
778 |
+
}
|
779 |
+
li button:hover, li.slick-active button {
|
780 |
+
background: none !important;
|
781 |
+
border-color: #aaa !important;
|
782 |
+
}
|
783 |
+
li.slick-active button {
|
784 |
+
width: 14px;
|
785 |
+
height: 14px;
|
786 |
+
}
|
787 |
+
}
|
788 |
+
}
|
789 |
+
/* -------- Widget separator headline ------------ */
|
790 |
+
|
791 |
+
.lvca-widget-heading {
|
792 |
+
@include lvca-heading-style();
|
793 |
+
font-size: 40px;
|
794 |
+
line-height: 52px;
|
795 |
+
text-align: center;
|
796 |
+
@include respond-to-max(767) {
|
797 |
+
font-size: 32px;
|
798 |
+
line-height: 44px;
|
799 |
+
}
|
800 |
+
}
|
801 |
+
/* -------- Spacer styling ----------- */
|
802 |
+
|
803 |
+
.lvca-spacer {
|
804 |
+
clear: both;
|
805 |
+
}
|
806 |
+
|
807 |
+
/* --------------- Button CSS -------------------- */
|
808 |
+
|
809 |
+
input.lvca-button, button.lvca-button, a.lvca-button, .lvca-button:active, .lvca-button:visited {
|
810 |
+
display: inline-block;
|
811 |
+
text-align: center;
|
812 |
+
line-height: 1;
|
813 |
+
cursor: pointer;
|
814 |
+
-webkit-appearance: none;
|
815 |
+
vertical-align: middle;
|
816 |
+
border: 1px solid transparent;
|
817 |
+
border-radius: 3px;
|
818 |
+
padding: 16px 40px;
|
819 |
+
margin: 0;
|
820 |
+
font-size: 12px;
|
821 |
+
font-weight: normal;
|
822 |
+
text-transform: uppercase;
|
823 |
+
letter-spacing: 2px;
|
824 |
+
background-color: #f94213;
|
825 |
+
color: #fefefe;
|
826 |
+
outline: none;
|
827 |
+
transition: all 0.4s ease-in-out 0s;
|
828 |
+
&.lvca-rounded {
|
829 |
+
border-radius: 999px;
|
830 |
+
}
|
831 |
+
&.lvca-large {
|
832 |
+
padding: 20px 60px;
|
833 |
+
}
|
834 |
+
&.lvca-small {
|
835 |
+
padding: 12px 25px;
|
836 |
+
font-size: 11px;
|
837 |
+
}
|
838 |
+
&:hover {
|
839 |
+
background-color: #f9633e;
|
840 |
+
color: #fefefe;
|
841 |
+
}
|
842 |
+
img, span.lvca-icon {
|
843 |
+
margin-right: 10px;
|
844 |
+
}
|
845 |
+
}
|
846 |
+
$skin-names: ("black", "blue", "cyan", "green", "orange", "pink", "red", "teal");
|
847 |
+
$color-collection: (#363636, #46a5d5, #57c0dc, #00a57d, #e87151, #dd5679, #da4f49, #28c2ba);
|
848 |
+
|
849 |
+
@for $i from 0 to length($skin-names) {
|
850 |
+
$skin-name: nth($skin-names, $i+1);
|
851 |
+
$skin-color: nth($color-collection, $i+1);
|
852 |
+
.lvca-button.lvca-#{$skin-name} {
|
853 |
+
background-color: $skin-color;
|
854 |
+
}
|
855 |
+
.lvca-button.lvca-#{$skin-name}:hover {
|
856 |
+
background-color: lighten($skin-color, 5%);
|
857 |
+
}
|
858 |
+
}
|
859 |
+
.lvca-button.lvca-trans {
|
860 |
+
color: #333;
|
861 |
+
background-color: transparent; /* IE */
|
862 |
+
background-color: rgba(0, 0, 0, 0);
|
863 |
+
border: 2px solid #a5a5a5;
|
864 |
+
&:hover {
|
865 |
+
background-color: #fff;
|
866 |
+
color: #333 !important;
|
867 |
+
border-color: #fff;
|
868 |
+
}
|
869 |
+
}
|
870 |
+
.lvca-button.lvca-semitrans {
|
871 |
+
color: #fff;
|
872 |
+
background-color: transparent; /* IE */
|
873 |
+
background-color: rgba(125, 125, 125, 0.5);
|
874 |
+
&:hover {
|
875 |
+
background-color: #fff;
|
876 |
+
color: #333 !important;
|
877 |
+
}
|
878 |
+
}
|
assets/css/slick.css
ADDED
@@ -0,0 +1,116 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Slider */
|
2 |
+
.slick-slider
|
3 |
+
{
|
4 |
+
position: relative;
|
5 |
+
|
6 |
+
display: block;
|
7 |
+
-webkit-box-sizing: border-box;
|
8 |
+
box-sizing: border-box;
|
9 |
+
|
10 |
+
-webkit-user-select: none;
|
11 |
+
-moz-user-select: none;
|
12 |
+
-ms-user-select: none;
|
13 |
+
user-select: none;
|
14 |
+
|
15 |
+
-webkit-touch-callout: none;
|
16 |
+
-khtml-user-select: none;
|
17 |
+
-ms-touch-action: pan-y;
|
18 |
+
touch-action: pan-y;
|
19 |
+
-webkit-tap-highlight-color: transparent;
|
20 |
+
}
|
21 |
+
|
22 |
+
.slick-list
|
23 |
+
{
|
24 |
+
position: relative;
|
25 |
+
|
26 |
+
display: block;
|
27 |
+
overflow: hidden;
|
28 |
+
|
29 |
+
margin: 0;
|
30 |
+
padding: 0;
|
31 |
+
}
|
32 |
+
.slick-list:focus
|
33 |
+
{
|
34 |
+
outline: none;
|
35 |
+
}
|
36 |
+
.slick-list.dragging
|
37 |
+
{
|
38 |
+
cursor: pointer;
|
39 |
+
cursor: hand;
|
40 |
+
}
|
41 |
+
|
42 |
+
.slick-slider .slick-track,
|
43 |
+
.slick-slider .slick-list
|
44 |
+
{
|
45 |
+
-webkit-transform: translate3d(0, 0, 0);
|
46 |
+
transform: translate3d(0, 0, 0);
|
47 |
+
}
|
48 |
+
|
49 |
+
.slick-track
|
50 |
+
{
|
51 |
+
position: relative;
|
52 |
+
top: 0;
|
53 |
+
left: 0;
|
54 |
+
|
55 |
+
display: block;
|
56 |
+
}
|
57 |
+
.slick-track:before,
|
58 |
+
.slick-track:after
|
59 |
+
{
|
60 |
+
display: table;
|
61 |
+
|
62 |
+
content: '';
|
63 |
+
}
|
64 |
+
.slick-track:after
|
65 |
+
{
|
66 |
+
clear: both;
|
67 |
+
}
|
68 |
+
.slick-loading .slick-track
|
69 |
+
{
|
70 |
+
visibility: hidden;
|
71 |
+
}
|
72 |
+
|
73 |
+
.slick-slide
|
74 |
+
{
|
75 |
+
display: none;
|
76 |
+
float: left;
|
77 |
+
|
78 |
+
height: 100%;
|
79 |
+
min-height: 1px;
|
80 |
+
}
|
81 |
+
[dir='rtl'] .slick-slide
|
82 |
+
{
|
83 |
+
float: right;
|
84 |
+
}
|
85 |
+
.slick-slide img
|
86 |
+
{
|
87 |
+
display: block;
|
88 |
+
}
|
89 |
+
.slick-slide.slick-loading img
|
90 |
+
{
|
91 |
+
display: none;
|
92 |
+
}
|
93 |
+
.slick-slide.dragging img
|
94 |
+
{
|
95 |
+
pointer-events: none;
|
96 |
+
}
|
97 |
+
.slick-initialized .slick-slide
|
98 |
+
{
|
99 |
+
display: block;
|
100 |
+
}
|
101 |
+
.slick-loading .slick-slide
|
102 |
+
{
|
103 |
+
visibility: hidden;
|
104 |
+
}
|
105 |
+
.slick-vertical .slick-slide
|
106 |
+
{
|
107 |
+
display: block;
|
108 |
+
|
109 |
+
height: auto;
|
110 |
+
|
111 |
+
border: 1px solid transparent;
|
112 |
+
}
|
113 |
+
.slick-arrow.slick-hidden {
|
114 |
+
display: none;
|
115 |
+
}
|
116 |
+
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNsaWNrLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBQ1o7O0lBRUksbUJBQW1COztJQUVuQixlQUFlO0lBR1YsK0JBQXVCO1lBQXZCLHVCQUF1Qjs7SUFFNUIsMEJBQTBCO09BQ3ZCLHVCQUF1QjtRQUN0QixzQkFBc0I7WUFDbEIsa0JBQWtCOztJQUUxQiw0QkFBNEI7SUFDNUIseUJBQXlCO0lBQ3pCLHdCQUF3QjtRQUNwQixvQkFBb0I7SUFDeEIseUNBQXlDO0NBQzVDOztBQUVEOztJQUVJLG1CQUFtQjs7SUFFbkIsZUFBZTtJQUNmLGlCQUFpQjs7SUFFakIsVUFBVTtJQUNWLFdBQVc7Q0FDZDtBQUNEOztJQUVJLGNBQWM7Q0FDakI7QUFDRDs7SUFFSSxnQkFBZ0I7SUFDaEIsYUFBYTtDQUNoQjs7QUFFRDs7O0lBR0ksd0NBQXdDO1lBSWhDLGdDQUFnQztDQUMzQzs7QUFFRDs7SUFFSSxtQkFBbUI7SUFDbkIsT0FBTztJQUNQLFFBQVE7O0lBRVIsZUFBZTtDQUNsQjtBQUNEOzs7SUFHSSxlQUFlOztJQUVmLFlBQVk7Q0FDZjtBQUNEOztJQUVJLFlBQVk7Q0FDZjtBQUNEOztJQUVJLG1CQUFtQjtDQUN0Qjs7QUFFRDs7SUFFSSxjQUFjO0lBQ2QsWUFBWTs7SUFFWixhQUFhO0lBQ2IsZ0JBQWdCO0NBQ25CO0FBQ0Q7O0lBRUksYUFBYTtDQUNoQjtBQUNEOztJQUVJLGVBQWU7Q0FDbEI7QUFDRDs7SUFFSSxjQUFjO0NBQ2pCO0FBQ0Q7O0lBRUkscUJBQXFCO0NBQ3hCO0FBQ0Q7O0lBRUksZUFBZTtDQUNsQjtBQUNEOztJQUVJLG1CQUFtQjtDQUN0QjtBQUNEOztJQUVJLGVBQWU7O0lBRWYsYUFBYTs7SUFFYiw4QkFBOEI7Q0FDakM7QUFDRDtJQUNJLGNBQWM7Q0FDakIiLCJmaWxlIjoic2xpY2suY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLWxpc3RcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG4uc2xpY2stbGlzdDpmb2N1c1xue1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG4uc2xpY2stbGlzdC5kcmFnZ2luZ1xue1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7XG59XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdFxue1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFja1xue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNsaWNrLXRyYWNrOmJlZm9yZSxcbi5zbGljay10cmFjazphZnRlclxue1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgY29udGVudDogJyc7XG59XG4uc2xpY2stdHJhY2s6YWZ0ZXJcbntcbiAgICBjbGVhcjogYm90aDtcbn1cbi5zbGljay1sb2FkaW5nIC5zbGljay10cmFja1xue1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWNrLXNsaWRlXG57XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG59XG5bZGlyPSdydGwnXSAuc2xpY2stc2xpZGVcbntcbiAgICBmbG9hdDogcmlnaHQ7XG59XG4uc2xpY2stc2xpZGUgaW1nXG57XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWdcbntcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZ1xue1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlXG57XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufSJdfQ== */
|
assets/css/slider.css
ADDED
@@ -0,0 +1,426 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*! http://responsiveslides.com v1.54 by @viljamis */
|
2 |
+
|
3 |
+
.rslides {
|
4 |
+
position: relative;
|
5 |
+
list-style: none;
|
6 |
+
overflow: hidden;
|
7 |
+
width: 100%;
|
8 |
+
padding: 0;
|
9 |
+
margin: 0;
|
10 |
+
}
|
11 |
+
|
12 |
+
.rslides li {
|
13 |
+
-webkit-backface-visibility: hidden;
|
14 |
+
position: absolute;
|
15 |
+
display: none;
|
16 |
+
width: 100%;
|
17 |
+
left: 0;
|
18 |
+
top: 0;
|
19 |
+
}
|
20 |
+
|
21 |
+
.rslides li:first-child {
|
22 |
+
position: relative;
|
23 |
+
display: block;
|
24 |
+
float: left;
|
25 |
+
}
|
26 |
+
|
27 |
+
.rslides img {
|
28 |
+
display: block;
|
29 |
+
height: auto;
|
30 |
+
float: left;
|
31 |
+
width: 100%;
|
32 |
+
border: 0;
|
33 |
+
}
|
34 |
+
|
35 |
+
|
36 |
+
/* Customization by Livemesh plugin */
|
37 |
+
|
38 |
+
.rslides_container {
|
39 |
+
position: relative;
|
40 |
+
}
|
41 |
+
|
42 |
+
.rslides_container .rslides_tabs {
|
43 |
+
position: absolute;
|
44 |
+
bottom: -50px;
|
45 |
+
list-style: none;
|
46 |
+
margin: 0 !important;
|
47 |
+
padding: 0 !important;
|
48 |
+
text-align: center;
|
49 |
+
width: 100%;
|
50 |
+
}
|
51 |
+
|
52 |
+
.rslides_container .rslides_tabs li {
|
53 |
+
display: inline-block;
|
54 |
+
float: none;
|
55 |
+
margin: 0 !important;
|
56 |
+
padding: 0 !important;
|
57 |
+
outline: none;
|
58 |
+
}
|
59 |
+
|
60 |
+
.rslides_container .rslides_tabs a {
|
61 |
+
display: block;
|
62 |
+
width: 12px;
|
63 |
+
height: 12px;
|
64 |
+
background: #aaa;
|
65 |
+
border: 1px solid #aaa;
|
66 |
+
border-radius: 50%;
|
67 |
+
text-indent: -9999px;
|
68 |
+
margin: 0 4px;
|
69 |
+
-webkit-transition: background 0.2s ease-in 0s;
|
70 |
+
transition: background 0.2s ease-in 0s;
|
71 |
+
outline: none;
|
72 |
+
}
|
73 |
+
|
74 |
+
.rslides_container .rslides_tabs .rslides_here a , .rslides_container .rslides_tabs a:hover {
|
75 |
+
background: transparent;
|
76 |
+
border: 1px solid #aaa;
|
77 |
+
margin: 0 4px;
|
78 |
+
}
|
79 |
+
|
80 |
+
|
81 |
+
.rslides_container .rslides_tabs .rslides_here a {
|
82 |
+
width: 14px;
|
83 |
+
height: 14px;
|
84 |
+
}
|
85 |
+
|
86 |
+
|
87 |
+
.rslides_nav, .rslides_nav:hover {
|
88 |
+
position: absolute;
|
89 |
+
top: 50%;
|
90 |
+
z-index: 10;
|
91 |
+
opacity: 1;
|
92 |
+
text-shadow: none;
|
93 |
+
background: none;
|
94 |
+
font-family: 'lvca-icomoon' !important;
|
95 |
+
speak: none;
|
96 |
+
font-style: normal;
|
97 |
+
font-weight: normal;
|
98 |
+
font-variant: normal;
|
99 |
+
text-transform: none;
|
100 |
+
line-height: 1;
|
101 |
+
-webkit-font-smoothing: antialiased;
|
102 |
+
-moz-osx-font-smoothing: grayscale;
|
103 |
+
color: #ddd !important;
|
104 |
+
font-size: 32px;
|
105 |
+
width: 36px;
|
106 |
+
height: 36px;
|
107 |
+
margin: -18px 0 0;
|
108 |
+
bottom: initial;
|
109 |
+
left: initial;
|
110 |
+
right: initial;
|
111 |
+
text-indent: 0;
|
112 |
+
text-align: center;
|
113 |
+
overflow: hidden;
|
114 |
+
-webkit-transition: all 0.3s ease-in-out 0s;
|
115 |
+
transition: all 0.3s ease-in-out 0s;
|
116 |
+
outline: none;
|
117 |
+
}
|
118 |
+
|
119 |
+
.rslides_nav:hover {
|
120 |
+
color: #efefef !important;
|
121 |
+
}
|
122 |
+
|
123 |
+
.rslides_nav:before, .rslides_nav:hover:before {
|
124 |
+
margin: 2px;
|
125 |
+
vertical-align: middle;
|
126 |
+
display: inline;
|
127 |
+
font-family: inherit !important;
|
128 |
+
opacity: 1; }
|
129 |
+
.rslides_nav.prev:before {
|
130 |
+
content: "\e900"; }
|
131 |
+
.rslides_nav.next:before {
|
132 |
+
content: "\e901"; }
|
133 |
+
|
134 |
+
.rslides_nav.next {
|
135 |
+
right: 20px;
|
136 |
+
}
|
137 |
+
.rslides_nav.prev {
|
138 |
+
left: 20px;
|
139 |
+
}
|
140 |
+
|
141 |
+
|
142 |
+
/* Let users navigate via touch */
|
143 |
+
@media only screen and (max-width: 960px) {
|
144 |
+
.rslides_nav, .rslides_nav:hover {
|
145 |
+
display: none;
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
|
150 |
+
/*
|
151 |
+
* jQuery Nivo Slider v3.2
|
152 |
+
* http://nivo.dev7studios.com
|
153 |
+
*
|
154 |
+
* Copyright 2012, Dev7studios
|
155 |
+
* Free to use and abuse under the MIT license.
|
156 |
+
* http://www.opensource.org/licenses/mit-license.php
|
157 |
+
*/
|
158 |
+
|
159 |
+
/* The Nivo Slider styles */
|
160 |
+
.nivoSlider {
|
161 |
+
position:relative;
|
162 |
+
width:100%;
|
163 |
+
height:auto;
|
164 |
+
overflow: hidden;
|
165 |
+
}
|
166 |
+
.nivoSlider img {
|
167 |
+
position:absolute;
|
168 |
+
top:0px;
|
169 |
+
left:0px;
|
170 |
+
max-width: none;
|
171 |
+
}
|
172 |
+
.nivo-main-image {
|
173 |
+
display: block !important;
|
174 |
+
position: relative !important;
|
175 |
+
width: 100% !important;
|
176 |
+
}
|
177 |
+
|
178 |
+
/* If an image is wrapped in a link */
|
179 |
+
.nivoSlider a.nivo-imageLink {
|
180 |
+
position:absolute;
|
181 |
+
top:0px;
|
182 |
+
left:0px;
|
183 |
+
width:100%;
|
184 |
+
height:100%;
|
185 |
+
border:0;
|
186 |
+
padding:0;
|
187 |
+
margin:0;
|
188 |
+
z-index:6;
|
189 |
+
display:none;
|
190 |
+
background:white;
|
191 |
+
filter:alpha(opacity=0);
|
192 |
+
opacity:0;
|
193 |
+
}
|
194 |
+
/* The slices and boxes in the Slider */
|
195 |
+
.nivo-slice {
|
196 |
+
display:block;
|
197 |
+
position:absolute;
|
198 |
+
z-index:5;
|
199 |
+
height:100%;
|
200 |
+
top:0;
|
201 |
+
}
|
202 |
+
.nivo-box {
|
203 |
+
display:block;
|
204 |
+
position:absolute;
|
205 |
+
z-index:5;
|
206 |
+
overflow:hidden;
|
207 |
+
}
|
208 |
+
.nivo-box img { display:block; }
|
209 |
+
|
210 |
+
/* Caption styles */
|
211 |
+
.nivo-caption {
|
212 |
+
position:absolute;
|
213 |
+
left:0px;
|
214 |
+
bottom:0px;
|
215 |
+
background:#000;
|
216 |
+
color:#fff;
|
217 |
+
width:100%;
|
218 |
+
z-index:8;
|
219 |
+
padding: 5px 10px;
|
220 |
+
opacity: 0.8;
|
221 |
+
overflow: hidden;
|
222 |
+
display: none;
|
223 |
+
-moz-opacity: 0.8;
|
224 |
+
filter:alpha(opacity=8);
|
225 |
+
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */ /* Firefox, other Gecko */
|
226 |
+
box-sizing: border-box; /* Opera/IE 8+ */
|
227 |
+
}
|
228 |
+
.nivo-caption p {
|
229 |
+
padding:5px;
|
230 |
+
margin:0;
|
231 |
+
}
|
232 |
+
.nivo-caption a {
|
233 |
+
display:inline !important;
|
234 |
+
}
|
235 |
+
.nivo-html-caption {
|
236 |
+
display:none;
|
237 |
+
}
|
238 |
+
/* Direction nav styles (e.g. Next & Prev) */
|
239 |
+
.nivo-directionNav a {
|
240 |
+
position:absolute;
|
241 |
+
top:45%;
|
242 |
+
z-index:9;
|
243 |
+
cursor:pointer;
|
244 |
+
}
|
245 |
+
.nivo-prevNav {
|
246 |
+
left:0px;
|
247 |
+
}
|
248 |
+
.nivo-nextNav {
|
249 |
+
right:0px;
|
250 |
+
}
|
251 |
+
/* Control nav styles (e.g. 1,2,3...) */
|
252 |
+
.nivo-controlNav {
|
253 |
+
text-align:center;
|
254 |
+
padding: 15px 0;
|
255 |
+
}
|
256 |
+
.nivo-controlNav a {
|
257 |
+
cursor:pointer;
|
258 |
+
}
|
259 |
+
.nivo-controlNav a.active {
|
260 |
+
font-weight:bold;
|
261 |
+
}
|
262 |
+
|
263 |
+
|
264 |
+
/* ------------- Customize Nivo Slider -----------------*/
|
265 |
+
|
266 |
+
/* Required for effects to work in many themes */
|
267 |
+
.nivoSlider img {
|
268 |
+
max-width: none !important;
|
269 |
+
}
|
270 |
+
|
271 |
+
.nivo-controlNav:not(.nivo-thumbs-enabled) {
|
272 |
+
position: absolute;
|
273 |
+
left: 0;
|
274 |
+
text-align: center;
|
275 |
+
width: 100%;
|
276 |
+
margin: 0;
|
277 |
+
padding: 0;
|
278 |
+
bottom: 0;
|
279 |
+
}
|
280 |
+
.nivo-controlNav:not(.nivo-thumbs-enabled) a {
|
281 |
+
display: block;
|
282 |
+
background: #aaa;
|
283 |
+
border: 1px solid #aaa;
|
284 |
+
border-radius: 50%;
|
285 |
+
width: 12px;
|
286 |
+
height: 12px;
|
287 |
+
-webkit-box-shadow: none;
|
288 |
+
box-shadow: none;
|
289 |
+
-webkit-transition: background 0.2s ease-in 0s;
|
290 |
+
transition: background 0.2s ease-in 0s;
|
291 |
+
margin-right: 8px;
|
292 |
+
float: none;
|
293 |
+
text-indent: -9999px;
|
294 |
+
display: inline-block;
|
295 |
+
vertical-align: middle;
|
296 |
+
}
|
297 |
+
|
298 |
+
.nivo-controlNav a.active, .nivo-controlNav a:hover {
|
299 |
+
background: transparent;
|
300 |
+
}
|
301 |
+
|
302 |
+
.nivo-controlNav:not(.nivo-thumbs-enabled) a.active {
|
303 |
+
width: 14px;
|
304 |
+
height: 14px;
|
305 |
+
background: transparent;
|
306 |
+
}
|
307 |
+
|
308 |
+
|
309 |
+
.nivo-controlNav.nivo-thumbs-enabled {
|
310 |
+
width:100%;
|
311 |
+
margin: 0;
|
312 |
+
text-align: left;
|
313 |
+
}
|
314 |
+
.nivo-controlNav.nivo-thumbs-enabled a {
|
315 |
+
margin: 0;
|
316 |
+
}
|
317 |
+
.nivo-controlNav.nivo-thumbs-enabled a:first-child {
|
318 |
+
margin-left: 0;
|
319 |
+
}
|
320 |
+
.nivo-controlNav.nivo-thumbs-enabled a img {
|
321 |
+
margin-right: 10px;
|
322 |
+
}
|
323 |
+
|
324 |
+
.nivo-controlNav.nivo-thumbs-enabled img {
|
325 |
+
display: inline-block !important;
|
326 |
+
width: 120px;
|
327 |
+
height:auto;
|
328 |
+
border-radius: 2px;
|
329 |
+
margin-top: 5px;
|
330 |
+
}
|
331 |
+
|
332 |
+
@media screen and (max-width: 860px) {
|
333 |
+
.nivo-controlNav.nivo-thumbs-enabled img {
|
334 |
+
width: 90px;
|
335 |
+
}
|
336 |
+
}
|
337 |
+
|
338 |
+
.nivo-directionNav a, .nivo-directionNav a:hover {
|
339 |
+
position: absolute;
|
340 |
+
top: 50%;
|
341 |
+
z-index: 10;
|
342 |
+
opacity: 1;
|
343 |
+
text-shadow: none;
|
344 |
+
background: none;
|
345 |
+
font-family: 'lvca-icomoon' !important;
|
346 |
+
speak: none;
|
347 |
+
font-style: normal;
|
348 |
+
font-weight: normal;
|
349 |
+
font-variant: normal;
|
350 |
+
text-transform: none;
|
351 |
+
line-height: 1;
|
352 |
+
-webkit-font-smoothing: antialiased;
|
353 |
+
-moz-osx-font-smoothing: grayscale;
|
354 |
+
color: #ddd;
|
355 |
+
font-size: 32px;
|
356 |
+
width: 36px;
|
357 |
+
height: 36px;
|
358 |
+
margin: -18px 0 0;
|
359 |
+
bottom: initial;
|
360 |
+
left: initial;
|
361 |
+
right: initial;
|
362 |
+
text-indent: 0;
|
363 |
+
text-align: center;
|
364 |
+
overflow: hidden;
|
365 |
+
-webkit-transition: all 0.3s ease-in-out 0s;
|
366 |
+
transition: all 0.3s ease-in-out 0s;
|
367 |
+
}
|
368 |
+
.nivo-directionNav a:hover {
|
369 |
+
color: #efefef;
|
370 |
+
}
|
371 |
+
|
372 |
+
.nivo-directionNav a:before, .nivo-directionNav a:hover:before {
|
373 |
+
margin: 2px;
|
374 |
+
vertical-align: middle;
|
375 |
+
display: inline;
|
376 |
+
font-family: inherit !important;
|
377 |
+
opacity: 1; }
|
378 |
+
.nivo-directionNav a.nivo-prevNav:before {
|
379 |
+
content: "\e900"; }
|
380 |
+
.nivo-directionNav a.nivo-nextNav:before {
|
381 |
+
content: "\e901"; }
|
382 |
+
|
383 |
+
.nivo-directionNav a.nivo-nextNav {
|
384 |
+
right: 20px;
|
385 |
+
}
|
386 |
+
.nivo-directionNav a.nivo-prevNav {
|
387 |
+
left: 20px;
|
388 |
+
}
|
389 |
+
|
390 |
+
|
391 |
+
/* Let users navigate via touch */
|
392 |
+
@media only screen and (max-width: 960px) {
|
393 |
+
.nivo-directionNav a, .nivo-directionNav a:hover {
|
394 |
+
display: none;
|
395 |
+
}
|
396 |
+
}
|
397 |
+
|
398 |
+
/* Nivo caption styling */
|
399 |
+
.nivo-caption {
|
400 |
+
position:absolute;
|
401 |
+
left:0;
|
402 |
+
bottom:20px;
|
403 |
+
background: none;
|
404 |
+
color:#fff;
|
405 |
+
width:100%;
|
406 |
+
z-index:8;
|
407 |
+
padding: 25px 30px;
|
408 |
+
opacity: 1;
|
409 |
+
overflow: hidden;
|
410 |
+
display: none;
|
411 |
+
max-width: 600px;
|
412 |
+
border-radius: 5px;
|
413 |
+
}
|
414 |
+
|
415 |
+
.nivo-caption h1,.nivo-caption h2,.nivo-caption h3 {
|
416 |
+
color: #fff;
|
417 |
+
font-size: 36px;
|
418 |
+
line-height: 44px;
|
419 |
+
}
|
420 |
+
|
421 |
+
.nivo-caption p {
|
422 |
+
color: #bbb;
|
423 |
+
font-size: 14px;
|
424 |
+
line-height: 22px;
|
425 |
+
}
|
426 |
+
/*# sourceMappingURL=data:application/json;base64,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QixXQUFXO0NBQ1gsV0FBVztDQUNYLFVBQVU7Q0FDVixtQkFBbUI7Q0FDbkIsV0FBVztDQUNYLGlCQUFpQjtDQUNqQixjQUFjO0NBQ2QsaUJBQWlCO0NBQ2pCLG1CQUFtQjtDQUNuQjs7QUFFRDtDQUNDLFlBQVk7Q0FDWixnQkFBZ0I7Q0FDaEIsa0JBQWtCO0NBQ2xCOztBQUVEO0NBQ0MsWUFBWTtDQUNaLGdCQUFnQjtDQUNoQixrQkFBa0I7Q0FDbEIiLCJmaWxlIjoic2xpZGVyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBodHRwOi8vcmVzcG9uc2l2ZXNsaWRlcy5jb20gdjEuNTQgYnkgQHZpbGphbWlzICovXHJcblxyXG4ucnNsaWRlcyB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMDtcclxuXHR9XHJcblxyXG4ucnNsaWRlcyBsaSB7XHJcblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bGVmdDogMDtcclxuXHR0b3A6IDA7XHJcblx0fVxyXG5cclxuLnJzbGlkZXMgbGk6Zmlyc3QtY2hpbGQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRmbG9hdDogbGVmdDtcclxuXHR9XHJcblxyXG4ucnNsaWRlcyBpbWcge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGhlaWdodDogYXV0bztcclxuXHRmbG9hdDogbGVmdDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRib3JkZXI6IDA7XHJcblx0fVxyXG5cclxuXHJcbi8qIEN1c3RvbWl6YXRpb24gYnkgTGl2ZW1lc2ggcGx1Z2luICovXHJcblxyXG4ucnNsaWRlc19jb250YWluZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR9XHJcblxyXG4ucnNsaWRlc19jb250YWluZXIgLnJzbGlkZXNfdGFicyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGJvdHRvbTogLTUwcHg7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRtYXJnaW46IDAgIWltcG9ydGFudDtcclxuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcbi5yc2xpZGVzX2NvbnRhaW5lciAucnNsaWRlc190YWJzIGxpIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0ZmxvYXQ6IG5vbmU7XHJcblx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0fVxyXG5cclxuLnJzbGlkZXNfY29udGFpbmVyIC5yc2xpZGVzX3RhYnMgYSB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0d2lkdGg6IDEycHg7XHJcblx0aGVpZ2h0OiAxMnB4O1xyXG5cdGJhY2tncm91bmQ6ICNhYWE7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI2FhYTtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XHJcblx0bWFyZ2luOiAwIDRweDtcclxuXHQtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLWluIDBzO1xyXG5cdC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UtaW4gMHM7XHJcblx0LW1zLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLWluIDBzO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLWluIDBzO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0fVxyXG5cclxuLnJzbGlkZXNfY29udGFpbmVyIC5yc2xpZGVzX3RhYnMgLnJzbGlkZXNfaGVyZSBhICwgLnJzbGlkZXNfY29udGFpbmVyIC5yc2xpZGVzX3RhYnMgYTpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI2FhYTtcclxuXHRtYXJnaW46IDAgNHB4O1xyXG5cdH1cclxuXHJcblxyXG4ucnNsaWRlc19jb250YWluZXIgLnJzbGlkZXNfdGFicyAucnNsaWRlc19oZXJlIGEge1xyXG5cdHdpZHRoOiAxNHB4O1xyXG5cdGhlaWdodDogMTRweDtcclxuXHR9XHJcblxyXG5cclxuLnJzbGlkZXNfbmF2LCAucnNsaWRlc19uYXY6aG92ZXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDUwJTtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdHRleHQtc2hhZG93OiBub25lO1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0Zm9udC1mYW1pbHk6ICdsdmNhLWljb21vb24nICFpbXBvcnRhbnQ7XHJcblx0c3BlYWs6IG5vbmU7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XHJcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuXHRjb2xvcjogI2RkZCAhaW1wb3J0YW50O1xyXG5cdGZvbnQtc2l6ZTogMzJweDtcclxuXHR3aWR0aDogMzZweDtcclxuXHRoZWlnaHQ6IDM2cHg7XHJcblx0bWFyZ2luOiAtMThweCAwIDA7XHJcblx0Ym90dG9tOiBpbml0aWFsO1xyXG5cdGxlZnQ6IGluaXRpYWw7XHJcblx0cmlnaHQ6IGluaXRpYWw7XHJcblx0dGV4dC1pbmRlbnQ6IDA7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwcztcclxuXHQtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG5cdC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwcztcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwcztcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdH1cclxuXHJcbi5yc2xpZGVzX25hdjpob3ZlciB7XHJcblx0Y29sb3I6ICNlZmVmZWYgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG4ucnNsaWRlc19uYXY6YmVmb3JlLCAucnNsaWRlc19uYXY6aG92ZXI6YmVmb3JlIHtcclxuXHRtYXJnaW46IDJweDtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdGRpc3BsYXk6IGlubGluZTtcclxuXHRmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG5cdG9wYWNpdHk6IDE7IH1cclxuLnJzbGlkZXNfbmF2LnByZXY6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZTkwMFwiOyB9XHJcbi5yc2xpZGVzX25hdi5uZXh0OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU5MDFcIjsgfVxyXG5cclxuLnJzbGlkZXNfbmF2Lm5leHQge1xyXG5cdHJpZ2h0OiAyMHB4O1xyXG5cdH1cclxuLnJzbGlkZXNfbmF2LnByZXYge1xyXG5cdGxlZnQ6IDIwcHg7XHJcblx0fVxyXG5cclxuXHJcbi8qIExldCB1c2VycyBuYXZpZ2F0ZSB2aWEgdG91Y2ggKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xyXG5cdC5yc2xpZGVzX25hdiwgLnJzbGlkZXNfbmF2OmhvdmVyIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcbi8qXHJcbiAqIGpRdWVyeSBOaXZvIFNsaWRlciB2My4yXHJcbiAqIGh0dHA6Ly9uaXZvLmRldjdzdHVkaW9zLmNvbVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgMjAxMiwgRGV2N3N0dWRpb3NcclxuICogRnJlZSB0byB1c2UgYW5kIGFidXNlIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cclxuICogaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcclxuICovXHJcblxyXG4vKiBUaGUgTml2byBTbGlkZXIgc3R5bGVzICovXHJcbi5uaXZvU2xpZGVyIHtcclxuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHR3aWR0aDoxMDAlO1xyXG5cdGhlaWdodDphdXRvO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuLm5pdm9TbGlkZXIgaW1nIHtcclxuXHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHR0b3A6MHB4O1xyXG5cdGxlZnQ6MHB4O1xyXG5cdG1heC13aWR0aDogbm9uZTtcclxufVxyXG4ubml2by1tYWluLWltYWdlIHtcclxuXHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIElmIGFuIGltYWdlIGlzIHdyYXBwZWQgaW4gYSBsaW5rICovXHJcbi5uaXZvU2xpZGVyIGEubml2by1pbWFnZUxpbmsge1xyXG5cdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdHRvcDowcHg7XHJcblx0bGVmdDowcHg7XHJcblx0d2lkdGg6MTAwJTtcclxuXHRoZWlnaHQ6MTAwJTtcclxuXHRib3JkZXI6MDtcclxuXHRwYWRkaW5nOjA7XHJcblx0bWFyZ2luOjA7XHJcblx0ei1pbmRleDo2O1xyXG5cdGRpc3BsYXk6bm9uZTtcclxuXHRiYWNrZ3JvdW5kOndoaXRlO1xyXG5cdGZpbHRlcjphbHBoYShvcGFjaXR5PTApO1xyXG5cdG9wYWNpdHk6MDtcclxufVxyXG4vKiBUaGUgc2xpY2VzIGFuZCBib3hlcyBpbiB0aGUgU2xpZGVyICovXHJcbi5uaXZvLXNsaWNlIHtcclxuXHRkaXNwbGF5OmJsb2NrO1xyXG5cdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdHotaW5kZXg6NTtcclxuXHRoZWlnaHQ6MTAwJTtcclxuXHR0b3A6MDtcclxufVxyXG4ubml2by1ib3gge1xyXG5cdGRpc3BsYXk6YmxvY2s7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0ei1pbmRleDo1O1xyXG5cdG92ZXJmbG93OmhpZGRlbjtcclxufVxyXG4ubml2by1ib3ggaW1nIHsgZGlzcGxheTpibG9jazsgfVxyXG5cclxuLyogQ2FwdGlvbiBzdHlsZXMgKi9cclxuLm5pdm8tY2FwdGlvbiB7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0bGVmdDowcHg7XHJcblx0Ym90dG9tOjBweDtcclxuXHRiYWNrZ3JvdW5kOiMwMDA7XHJcblx0Y29sb3I6I2ZmZjtcclxuXHR3aWR0aDoxMDAlO1xyXG5cdHotaW5kZXg6ODtcclxuXHRwYWRkaW5nOiA1cHggMTBweDtcclxuXHRvcGFjaXR5OiAwLjg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdC1tb3otb3BhY2l0eTogMC44O1xyXG5cdGZpbHRlcjphbHBoYShvcGFjaXR5PTgpO1xyXG5cdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpL0Nocm9tZSwgb3RoZXIgV2ViS2l0ICovXHJcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAgICAvKiBGaXJlZm94LCBvdGhlciBHZWNrbyAqL1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7ICAgICAgICAgLyogT3BlcmEvSUUgOCsgKi9cclxufVxyXG4ubml2by1jYXB0aW9uIHAge1xyXG5cdHBhZGRpbmc6NXB4O1xyXG5cdG1hcmdpbjowO1xyXG59XHJcbi5uaXZvLWNhcHRpb24gYSB7XHJcblx0ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDtcclxufVxyXG4ubml2by1odG1sLWNhcHRpb24ge1xyXG4gICAgZGlzcGxheTpub25lO1xyXG59XHJcbi8qIERpcmVjdGlvbiBuYXYgc3R5bGVzIChlLmcuIE5leHQgJiBQcmV2KSAqL1xyXG4ubml2by1kaXJlY3Rpb25OYXYgYSB7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0dG9wOjQ1JTtcclxuXHR6LWluZGV4Ojk7XHJcblx0Y3Vyc29yOnBvaW50ZXI7XHJcbn1cclxuLm5pdm8tcHJldk5hdiB7XHJcblx0bGVmdDowcHg7XHJcbn1cclxuLm5pdm8tbmV4dE5hdiB7XHJcblx0cmlnaHQ6MHB4O1xyXG59XHJcbi8qIENvbnRyb2wgbmF2IHN0eWxlcyAoZS5nLiAxLDIsMy4uLikgKi9cclxuLm5pdm8tY29udHJvbE5hdiB7XHJcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0cGFkZGluZzogMTVweCAwO1xyXG59XHJcbi5uaXZvLWNvbnRyb2xOYXYgYSB7XHJcblx0Y3Vyc29yOnBvaW50ZXI7XHJcbn1cclxuLm5pdm8tY29udHJvbE5hdiBhLmFjdGl2ZSB7XHJcblx0Zm9udC13ZWlnaHQ6Ym9sZDtcclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0gQ3VzdG9taXplIE5pdm8gU2xpZGVyIC0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi8qIFJlcXVpcmVkIGZvciBlZmZlY3RzIHRvIHdvcmsgaW4gbWFueSB0aGVtZXMgKi9cclxuLm5pdm9TbGlkZXIgaW1nIHtcclxuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuLm5pdm8tY29udHJvbE5hdjpub3QoLm5pdm8tdGh1bWJzLWVuYWJsZWQpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB9XHJcbi5uaXZvLWNvbnRyb2xOYXY6bm90KC5uaXZvLXRodW1icy1lbmFibGVkKSBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZDogI2FhYTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB3aWR0aDogMTJweDtcclxuICAgIGhlaWdodDogMTJweDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLWluIDBzO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbiAwcztcclxuICAgIC1tcy10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbiAwcztcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLWluIDBzO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuXHJcbi5uaXZvLWNvbnRyb2xOYXYgYS5hY3RpdmUsIC5uaXZvLWNvbnRyb2xOYXYgYTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbi5uaXZvLWNvbnRyb2xOYXY6bm90KC5uaXZvLXRodW1icy1lbmFibGVkKSBhLmFjdGl2ZSB7XHJcbiAgICB3aWR0aDogMTRweDtcclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuXHJcbi5uaXZvLWNvbnRyb2xOYXYubml2by10aHVtYnMtZW5hYmxlZCB7XHJcblx0d2lkdGg6MTAwJTtcclxuXHRtYXJnaW46IDA7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR9XHJcbi5uaXZvLWNvbnRyb2xOYXYubml2by10aHVtYnMtZW5hYmxlZCBhIHtcclxuXHRtYXJnaW46IDA7XHJcblx0fVxyXG4ubml2by1jb250cm9sTmF2Lm5pdm8tdGh1bWJzLWVuYWJsZWQgYTpmaXJzdC1jaGlsZCB7XHJcblx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0fVxyXG4ubml2by1jb250cm9sTmF2Lm5pdm8tdGh1bWJzLWVuYWJsZWQgYSBpbWcge1xyXG5cdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHR9XHJcblxyXG4ubml2by1jb250cm9sTmF2Lm5pdm8tdGh1bWJzLWVuYWJsZWQgaW1nIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuXHR3aWR0aDogMTIwcHg7XHJcblx0aGVpZ2h0OmF1dG87XHJcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XHJcblx0LW1vei1ib3JkZXItcmFkaXVzOiAycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdG1hcmdpbi10b3A6IDVweDtcclxuXHR9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NjBweCkge1xyXG5cdC5uaXZvLWNvbnRyb2xOYXYubml2by10aHVtYnMtZW5hYmxlZCBpbWcge1xyXG5cdFx0d2lkdGg6IDkwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuLm5pdm8tZGlyZWN0aW9uTmF2IGEsIC5uaXZvLWRpcmVjdGlvbk5hdiBhOmhvdmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgZm9udC1mYW1pbHk6ICdsdmNhLWljb21vb24nICFpbXBvcnRhbnQ7XHJcbiAgICBzcGVhazogbm9uZTtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICBjb2xvcjogI2RkZDtcclxuICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgIHdpZHRoOiAzNnB4O1xyXG4gICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgbWFyZ2luOiAtMThweCAwIDA7XHJcbiAgICBib3R0b206IGluaXRpYWw7XHJcbiAgICBsZWZ0OiBpbml0aWFsO1xyXG4gICAgcmlnaHQ6IGluaXRpYWw7XHJcbiAgICB0ZXh0LWluZGVudDogMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwcztcclxuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwcztcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgfVxyXG4ubml2by1kaXJlY3Rpb25OYXYgYTpob3ZlciB7XHJcblx0Y29sb3I6ICNlZmVmZWY7XHJcbn1cclxuXHJcbi5uaXZvLWRpcmVjdGlvbk5hdiBhOmJlZm9yZSwgLm5pdm8tZGlyZWN0aW9uTmF2IGE6aG92ZXI6YmVmb3JlIHtcclxuICAgIG1hcmdpbjogMnB4O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICBvcGFjaXR5OiAxOyB9XHJcbi5uaXZvLWRpcmVjdGlvbk5hdiBhLm5pdm8tcHJldk5hdjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU5MDBcIjsgfVxyXG4ubml2by1kaXJlY3Rpb25OYXYgYS5uaXZvLW5leHROYXY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7IH1cclxuXHJcbi5uaXZvLWRpcmVjdGlvbk5hdiBhLm5pdm8tbmV4dE5hdiB7XHJcbiAgICByaWdodDogMjBweDtcclxuICAgIH1cclxuLm5pdm8tZGlyZWN0aW9uTmF2IGEubml2by1wcmV2TmF2IHtcclxuICAgIGxlZnQ6IDIwcHg7XHJcbiAgICB9XHJcblxyXG5cclxuLyogTGV0IHVzZXJzIG5hdmlnYXRlIHZpYSB0b3VjaCAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XHJcbiAgICAubml2by1kaXJlY3Rpb25OYXYgYSwgLm5pdm8tZGlyZWN0aW9uTmF2IGE6aG92ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuLyogTml2byBjYXB0aW9uIHN0eWxpbmcgKi9cclxuLm5pdm8tY2FwdGlvbiB7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0bGVmdDowO1xyXG5cdGJvdHRvbToyMHB4O1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0Y29sb3I6I2ZmZjtcclxuXHR3aWR0aDoxMDAlO1xyXG5cdHotaW5kZXg6ODtcclxuXHRwYWRkaW5nOiAyNXB4IDMwcHg7XHJcblx0b3BhY2l0eTogMTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0bWF4LXdpZHRoOiA2MDBweDtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbi5uaXZvLWNhcHRpb24gaDEsLm5pdm8tY2FwdGlvbiBoMiwubml2by1jYXB0aW9uIGgzIHtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRmb250LXNpemU6IDM2cHg7XHJcblx0bGluZS1oZWlnaHQ6IDQ0cHg7XHJcbn1cclxuXHJcbi5uaXZvLWNhcHRpb24gcCB7XHJcblx0Y29sb3I6ICNiYmI7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG59XHJcblxyXG4iXX0= */
|
assets/images/bricks-loader.gif
ADDED
Binary file
|
assets/images/loader.gif
ADDED
Binary file
|
assets/images/loading.gif
ADDED
Binary file
|
assets/img/admin/accordion-add.png
ADDED
Binary file
|
assets/img/admin/accordion.png
ADDED
Binary file
|
assets/img/admin/carousel-add.png
ADDED
Binary file
|
assets/img/admin/client-add.png
ADDED
Binary file
|
assets/img/admin/clients.png
ADDED
Binary file
|
assets/img/admin/generic-carousel.png
ADDED
Binary file
|
assets/img/admin/heading.png
ADDED
Binary file
|
assets/img/admin/odometer-add.png
ADDED
Binary file
|
assets/img/admin/odometers.png
ADDED
Binary file
|
assets/img/admin/piechart-add.png
ADDED
Binary file
|
assets/img/admin/piecharts.png
ADDED
Binary file
|
assets/img/admin/portfolio-add.png
ADDED
Binary file
|
assets/img/admin/portfolio.png
ADDED
Binary file
|
assets/img/admin/posts-carousel.png
ADDED
Binary file
|
assets/img/admin/pricing-plan.png
ADDED
Binary file
|
assets/img/admin/pricing-table.png
ADDED
Binary file
|
assets/img/admin/service-add.png
ADDED
Binary file
|
assets/img/admin/services.png
ADDED
Binary file
|
assets/img/admin/spacer.png
ADDED
Binary file
|
assets/img/admin/stats-bar.png
ADDED
Binary file
|
assets/img/admin/tab-add.png
ADDED
Binary file
|
assets/img/admin/tabs.png
ADDED
Binary file
|
assets/img/admin/team-member-add.png
ADDED
Binary file
|
assets/img/admin/team.png
ADDED
Binary file
|
assets/img/admin/testimonial-add.png
ADDED
Binary file
|
assets/img/admin/testimonials-slider-add.png
ADDED
Binary file
|
assets/img/admin/testimonials-slider.png
ADDED
Binary file
|
assets/img/admin/testimonials.png
ADDED
Binary file
|
assets/js/imagesloaded.pkgd.js
ADDED
@@ -0,0 +1,487 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* imagesLoaded PACKAGED v4.1.1
|
3 |
+
* JavaScript is all like "You images are done yet or what?"
|
4 |
+
* MIT License
|
5 |
+
*/
|
6 |
+
|
7 |
+
/**
|
8 |
+
* EvEmitter v1.0.3
|
9 |
+
* Lil' event emitter
|
10 |
+
* MIT License
|
11 |
+
*/
|
12 |
+
|
13 |
+
/* jshint unused: true, undef: true, strict: true */
|
14 |
+
|
15 |
+
( function( global, factory ) {
|
16 |
+
// universal module definition
|
17 |
+
/* jshint strict: false */ /* globals define, module, window */
|
18 |
+
if ( typeof define == 'function' && define.amd ) {
|
19 |
+
// AMD - RequireJS
|
20 |
+
define( 'ev-emitter/ev-emitter',factory );
|
21 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
22 |
+
// CommonJS - Browserify, Webpack
|
23 |
+
module.exports = factory();
|
24 |
+
} else {
|
25 |
+
// Browser globals
|
26 |
+
global.EvEmitter = factory();
|
27 |
+
}
|
28 |
+
|
29 |
+
}( typeof window != 'undefined' ? window : this, function() {
|
30 |
+
|
31 |
+
|
32 |
+
|
33 |
+
function EvEmitter() {}
|
34 |
+
|
35 |
+
var proto = EvEmitter.prototype;
|
36 |
+
|
37 |
+
proto.on = function( eventName, listener ) {
|
38 |
+
if ( !eventName || !listener ) {
|
39 |
+
return;
|
40 |
+
}
|
41 |
+
// set events hash
|
42 |
+
var events = this._events = this._events || {};
|
43 |
+
// set listeners array
|
44 |
+
var listeners = events[ eventName ] = events[ eventName ] || [];
|
45 |
+
// only add once
|
46 |
+
if ( listeners.indexOf( listener ) == -1 ) {
|
47 |
+
listeners.push( listener );
|
48 |
+
}
|
49 |
+
|
50 |
+
return this;
|
51 |
+
};
|
52 |
+
|
53 |
+
proto.once = function( eventName, listener ) {
|
54 |
+
if ( !eventName || !listener ) {
|
55 |
+
return;
|
56 |
+
}
|
57 |
+
// add event
|
58 |
+
this.on( eventName, listener );
|
59 |
+
// set once flag
|
60 |
+
// set onceEvents hash
|
61 |
+
var onceEvents = this._onceEvents = this._onceEvents || {};
|
62 |
+
// set onceListeners object
|
63 |
+
var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
|
64 |
+
// set flag
|
65 |
+
onceListeners[ listener ] = true;
|
66 |
+
|
67 |
+
return this;
|
68 |
+
};
|
69 |
+
|
70 |
+
proto.off = function( eventName, listener ) {
|
71 |
+
var listeners = this._events && this._events[ eventName ];
|
72 |
+
if ( !listeners || !listeners.length ) {
|
73 |
+
return;
|
74 |
+
}
|
75 |
+
var index = listeners.indexOf( listener );
|
76 |
+
if ( index != -1 ) {
|
77 |
+
listeners.splice( index, 1 );
|
78 |
+
}
|
79 |
+
|
80 |
+
return this;
|
81 |
+
};
|
82 |
+
|
83 |
+
proto.emitEvent = function( eventName, args ) {
|
84 |
+
var listeners = this._events && this._events[ eventName ];
|
85 |
+
if ( !listeners || !listeners.length ) {
|
86 |
+
return;
|
87 |
+
}
|
88 |
+
var i = 0;
|
89 |
+
var listener = listeners[i];
|
90 |
+
args = args || [];
|
91 |
+
// once stuff
|
92 |
+
var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
|
93 |
+
|
94 |
+
while ( listener ) {
|
95 |
+
var isOnce = onceListeners && onceListeners[ listener ];
|
96 |
+
if ( isOnce ) {
|
97 |
+
// remove listener
|
98 |
+
// remove before trigger to prevent recursion
|
99 |
+
this.off( eventName, listener );
|
100 |
+
// unset once flag
|
101 |
+
delete onceListeners[ listener ];
|
102 |
+
}
|
103 |
+
// trigger listener
|
104 |
+
listener.apply( this, args );
|
105 |
+
// get next listener
|
106 |
+
i += isOnce ? 0 : 1;
|
107 |
+
listener = listeners[i];
|
108 |
+
}
|
109 |
+
|
110 |
+
return this;
|
111 |
+
};
|
112 |
+
|
113 |
+
return EvEmitter;
|
114 |
+
|
115 |
+
}));
|
116 |
+
|
117 |
+
/*!
|
118 |
+
* imagesLoaded v4.1.1
|
119 |
+
* JavaScript is all like "You images are done yet or what?"
|
120 |
+
* MIT License
|
121 |
+
*/
|
122 |
+
|
123 |
+
( function( window, factory ) { 'use strict';
|
124 |
+
// universal module definition
|
125 |
+
|
126 |
+
/*global define: false, module: false, require: false */
|
127 |
+
|
128 |
+
if ( typeof define == 'function' && define.amd ) {
|
129 |
+
// AMD
|
130 |
+
define( [
|
131 |
+
'ev-emitter/ev-emitter'
|
132 |
+
], function( EvEmitter ) {
|
133 |
+
return factory( window, EvEmitter );
|
134 |
+
});
|
135 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
136 |
+
// CommonJS
|
137 |
+
module.exports = factory(
|
138 |
+
window,
|
139 |
+
require('ev-emitter')
|
140 |
+
);
|
141 |
+
} else {
|
142 |
+
// browser global
|
143 |
+
window.imagesLoaded = factory(
|
144 |
+
window,
|
145 |
+
window.EvEmitter
|
146 |
+
);
|
147 |
+
}
|
148 |
+
|
149 |
+
})( window,
|
150 |
+
|
151 |
+
// -------------------------- factory -------------------------- //
|
152 |
+
|
153 |
+
function factory( window, EvEmitter ) {
|
154 |
+
|
155 |
+
|
156 |
+
|
157 |
+
var $ = window.jQuery;
|
158 |
+
var console = window.console;
|
159 |
+
|
160 |
+
// -------------------------- helpers -------------------------- //
|
161 |
+
|
162 |
+
// extend objects
|
163 |
+
function extend( a, b ) {
|
164 |
+
for ( var prop in b ) {
|
165 |
+
a[ prop ] = b[ prop ];
|
166 |
+
}
|
167 |
+
return a;
|
168 |
+
}
|
169 |
+
|
170 |
+
// turn element or nodeList into an array
|
171 |
+
function makeArray( obj ) {
|
172 |
+
var ary = [];
|
173 |
+
if ( Array.isArray( obj ) ) {
|
174 |
+
// use object if already an array
|
175 |
+
ary = obj;
|
176 |
+
} else if ( typeof obj.length == 'number' ) {
|
177 |
+
// convert nodeList to array
|
178 |
+
for ( var i=0; i < obj.length; i++ ) {
|
179 |
+
ary.push( obj[i] );
|
180 |
+
}
|
181 |
+
} else {
|
182 |
+
// array of single index
|
183 |
+
ary.push( obj );
|
184 |
+
}
|
185 |
+
return ary;
|
186 |
+
}
|
187 |
+
|
188 |
+
// -------------------------- imagesLoaded -------------------------- //
|
189 |
+
|
190 |
+
/**
|
191 |
+
* @param {Array, Element, NodeList, String} elem
|
192 |
+
* @param {Object or Function} options - if function, use as callback
|
193 |
+
* @param {Function} onAlways - callback function
|
194 |
+
*/
|
195 |
+
function ImagesLoaded( elem, options, onAlways ) {
|
196 |
+
// coerce ImagesLoaded() without new, to be new ImagesLoaded()
|
197 |
+
if ( !( this instanceof ImagesLoaded ) ) {
|
198 |
+
return new ImagesLoaded( elem, options, onAlways );
|
199 |
+
}
|
200 |
+
// use elem as selector string
|
201 |
+
if ( typeof elem == 'string' ) {
|
202 |
+
elem = document.querySelectorAll( elem );
|
203 |
+
}
|
204 |
+
|
205 |
+
this.elements = makeArray( elem );
|
206 |
+
this.options = extend( {}, this.options );
|
207 |
+
|
208 |
+
if ( typeof options == 'function' ) {
|
209 |
+
onAlways = options;
|
210 |
+
} else {
|
211 |
+
extend( this.options, options );
|
212 |
+
}
|
213 |
+
|
214 |
+
if ( onAlways ) {
|
215 |
+
this.on( 'always', onAlways );
|
216 |
+
}
|
217 |
+
|
218 |
+
this.getImages();
|
219 |
+
|
220 |
+
if ( $ ) {
|
221 |
+
// add jQuery Deferred object
|
222 |
+
this.jqDeferred = new $.Deferred();
|
223 |
+
}
|
224 |
+
|
225 |
+
// HACK check async to allow time to bind listeners
|
226 |
+
setTimeout( function() {
|
227 |
+
this.check();
|
228 |
+
}.bind( this ));
|
229 |
+
}
|
230 |
+
|
231 |
+
ImagesLoaded.prototype = Object.create( EvEmitter.prototype );
|
232 |
+
|
233 |
+
ImagesLoaded.prototype.options = {};
|
234 |
+
|
235 |
+
ImagesLoaded.prototype.getImages = function() {
|
236 |
+
this.images = [];
|
237 |
+
|
238 |
+
// filter & find items if we have an item selector
|
239 |
+
this.elements.forEach( this.addElementImages, this );
|
240 |
+
};
|
241 |
+
|
242 |
+
/**
|
243 |
+
* @param {Node} element
|
244 |
+
*/
|
245 |
+
ImagesLoaded.prototype.addElementImages = function( elem ) {
|
246 |
+
// filter siblings
|
247 |
+
if ( elem.nodeName == 'IMG' ) {
|
248 |
+
this.addImage( elem );
|
249 |
+
}
|
250 |
+
// get background image on element
|
251 |
+
if ( this.options.background === true ) {
|
252 |
+
this.addElementBackgroundImages( elem );
|
253 |
+
}
|
254 |
+
|
255 |
+
// find children
|
256 |
+
// no non-element nodes, #143
|
257 |
+
var nodeType = elem.nodeType;
|
258 |
+
if ( !nodeType || !elementNodeTypes[ nodeType ] ) {
|
259 |
+
return;
|
260 |
+
}
|
261 |
+
var childImgs = elem.querySelectorAll('img');
|
262 |
+
// concat childElems to filterFound array
|
263 |
+
for ( var i=0; i < childImgs.length; i++ ) {
|
264 |
+
var img = childImgs[i];
|
265 |
+
this.addImage( img );
|
266 |
+
}
|
267 |
+
|
268 |
+
// get child background images
|
269 |
+
if ( typeof this.options.background == 'string' ) {
|
270 |
+
var children = elem.querySelectorAll( this.options.background );
|
271 |
+
for ( i=0; i < children.length; i++ ) {
|
272 |
+
var child = children[i];
|
273 |
+
this.addElementBackgroundImages( child );
|
274 |
+
}
|
275 |
+
}
|
276 |
+
};
|
277 |
+
|
278 |
+
var elementNodeTypes = {
|
279 |
+
1: true,
|
280 |
+
9: true,
|
281 |
+
11: true
|
282 |
+
};
|
283 |
+
|
284 |
+
ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {
|
285 |
+
var style = getComputedStyle( elem );
|
286 |
+
if ( !style ) {
|
287 |
+
// Firefox returns null if in a hidden iframe https://bugzil.la/548397
|
288 |
+
return;
|
289 |
+
}
|
290 |
+
// get url inside url("...")
|
291 |
+
var reURL = /url\((['"])?(.*?)\1\)/gi;
|
292 |
+
var matches = reURL.exec( style.backgroundImage );
|
293 |
+
while ( matches !== null ) {
|
294 |
+
var url = matches && matches[2];
|
295 |
+
if ( url ) {
|
296 |
+
this.addBackground( url, elem );
|
297 |
+
}
|
298 |
+
matches = reURL.exec( style.backgroundImage );
|
299 |
+
}
|
300 |
+
};
|
301 |
+
|
302 |
+
/**
|
303 |
+
* @param {Image} img
|
304 |
+
*/
|
305 |
+
ImagesLoaded.prototype.addImage = function( img ) {
|
306 |
+
var loadingImage = new LoadingImage( img );
|
307 |
+
this.images.push( loadingImage );
|
308 |
+
};
|
309 |
+
|
310 |
+
ImagesLoaded.prototype.addBackground = function( url, elem ) {
|
311 |
+
var background = new Background( url, elem );
|
312 |
+
this.images.push( background );
|
313 |
+
};
|
314 |
+
|
315 |
+
ImagesLoaded.prototype.check = function() {
|
316 |
+
var _this = this;
|
317 |
+
this.progressedCount = 0;
|
318 |
+
this.hasAnyBroken = false;
|
319 |
+
// complete if no images
|
320 |
+
if ( !this.images.length ) {
|
321 |
+
this.complete();
|
322 |
+
return;
|
323 |
+
}
|
324 |
+
|
325 |
+
function onProgress( image, elem, message ) {
|
326 |
+
// HACK - Chrome triggers event before object properties have changed. #83
|
327 |
+
setTimeout( function() {
|
328 |
+
_this.progress( image, elem, message );
|
329 |
+
});
|
330 |
+
}
|
331 |
+
|
332 |
+
this.images.forEach( function( loadingImage ) {
|
333 |
+
loadingImage.once( 'progress', onProgress );
|
334 |
+
loadingImage.check();
|
335 |
+
});
|
336 |
+
};
|
337 |
+
|
338 |
+
ImagesLoaded.prototype.progress = function( image, elem, message ) {
|
339 |
+
this.progressedCount++;
|
340 |
+
this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;
|
341 |
+
// progress event
|
342 |
+
this.emitEvent( 'progress', [ this, image, elem ] );
|
343 |
+
if ( this.jqDeferred && this.jqDeferred.notify ) {
|
344 |
+
this.jqDeferred.notify( this, image );
|
345 |
+
}
|
346 |
+
// check if completed
|
347 |
+
if ( this.progressedCount == this.images.length ) {
|
348 |
+
this.complete();
|
349 |
+
}
|
350 |
+
|
351 |
+
if ( this.options.debug && console ) {
|
352 |
+
console.log( 'progress: ' + message, image, elem );
|
353 |
+
}
|
354 |
+
};
|
355 |
+
|
356 |
+
ImagesLoaded.prototype.complete = function() {
|
357 |
+
var eventName = this.hasAnyBroken ? 'fail' : 'done';
|
358 |
+
this.isComplete = true;
|
359 |
+
this.emitEvent( eventName, [ this ] );
|
360 |
+
this.emitEvent( 'always', [ this ] );
|
361 |
+
if ( this.jqDeferred ) {
|
362 |
+
var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';
|
363 |
+
this.jqDeferred[ jqMethod ]( this );
|
364 |
+
}
|
365 |
+
};
|
366 |
+
|
367 |
+
// -------------------------- -------------------------- //
|
368 |
+
|
369 |
+
function LoadingImage( img ) {
|
370 |
+
this.img = img;
|
371 |
+
}
|
372 |
+
|
373 |
+
LoadingImage.prototype = Object.create( EvEmitter.prototype );
|
374 |
+
|
375 |
+
LoadingImage.prototype.check = function() {
|
376 |
+
// If complete is true and browser supports natural sizes,
|
377 |
+
// try to check for image status manually.
|
378 |
+
var isComplete = this.getIsImageComplete();
|
379 |
+
if ( isComplete ) {
|
380 |
+
// report based on naturalWidth
|
381 |
+
this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
|
382 |
+
return;
|
383 |
+
}
|
384 |
+
|
385 |
+
// If none of the checks above matched, simulate loading on detached element.
|
386 |
+
this.proxyImage = new Image();
|
387 |
+
this.proxyImage.addEventListener( 'load', this );
|
388 |
+
this.proxyImage.addEventListener( 'error', this );
|
389 |
+
// bind to image as well for Firefox. #191
|
390 |
+
this.img.addEventListener( 'load', this );
|
391 |
+
this.img.addEventListener( 'error', this );
|
392 |
+
this.proxyImage.src = this.img.src;
|
393 |
+
};
|
394 |
+
|
395 |
+
LoadingImage.prototype.getIsImageComplete = function() {
|
396 |
+
return this.img.complete && this.img.naturalWidth !== undefined;
|
397 |
+
};
|
398 |
+
|
399 |
+
LoadingImage.prototype.confirm = function( isLoaded, message ) {
|
400 |
+
this.isLoaded = isLoaded;
|
401 |
+
this.emitEvent( 'progress', [ this, this.img, message ] );
|
402 |
+
};
|
403 |
+
|
404 |
+
// ----- events ----- //
|
405 |
+
|
406 |
+
// trigger specified handler for event type
|
407 |
+
LoadingImage.prototype.handleEvent = function( event ) {
|
408 |
+
var method = 'on' + event.type;
|
409 |
+
if ( this[ method ] ) {
|
410 |
+
this[ method ]( event );
|
411 |
+
}
|
412 |
+
};
|
413 |
+
|
414 |
+
LoadingImage.prototype.onload = function() {
|
415 |
+
this.confirm( true, 'onload' );
|
416 |
+
this.unbindEvents();
|
417 |
+
};
|
418 |
+
|
419 |
+
LoadingImage.prototype.onerror = function() {
|
420 |
+
this.confirm( false, 'onerror' );
|
421 |
+
this.unbindEvents();
|
422 |
+
};
|
423 |
+
|
424 |
+
LoadingImage.prototype.unbindEvents = function() {
|
425 |
+
this.proxyImage.removeEventListener( 'load', this );
|
426 |
+
this.proxyImage.removeEventListener( 'error', this );
|
427 |
+
this.img.removeEventListener( 'load', this );
|
428 |
+
this.img.removeEventListener( 'error', this );
|
429 |
+
};
|
430 |
+
|
431 |
+
// -------------------------- Background -------------------------- //
|
432 |
+
|
433 |
+
function Background( url, element ) {
|
434 |
+
this.url = url;
|
435 |
+
this.element = element;
|
436 |
+
this.img = new Image();
|
437 |
+
}
|
438 |
+
|
439 |
+
// inherit LoadingImage prototype
|
440 |
+
Background.prototype = Object.create( LoadingImage.prototype );
|
441 |
+
|
442 |
+
Background.prototype.check = function() {
|
443 |
+
this.img.addEventListener( 'load', this );
|
444 |
+
this.img.addEventListener( 'error', this );
|
445 |
+
this.img.src = this.url;
|
446 |
+
// check if image is already complete
|
447 |
+
var isComplete = this.getIsImageComplete();
|
448 |
+
if ( isComplete ) {
|
449 |
+
this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
|
450 |
+
this.unbindEvents();
|
451 |
+
}
|
452 |
+
};
|
453 |
+
|
454 |
+
Background.prototype.unbindEvents = function() {
|
455 |
+
this.img.removeEventListener( 'load', this );
|
456 |
+
this.img.removeEventListener( 'error', this );
|
457 |
+
};
|
458 |
+
|
459 |
+
Background.prototype.confirm = function( isLoaded, message ) {
|
460 |
+
this.isLoaded = isLoaded;
|
461 |
+
this.emitEvent( 'progress', [ this, this.element, message ] );
|
462 |
+
};
|
463 |
+
|
464 |
+
// -------------------------- jQuery -------------------------- //
|
465 |
+
|
466 |
+
ImagesLoaded.makeJQueryPlugin = function( jQuery ) {
|
467 |
+
jQuery = jQuery || window.jQuery;
|
468 |
+
if ( !jQuery ) {
|
469 |
+
return;
|
470 |
+
}
|
471 |
+
// set local variable
|
472 |
+
$ = jQuery;
|
473 |
+
// $().imagesLoaded()
|
474 |
+
$.fn.imagesLoaded = function( options, callback ) {
|
475 |
+
var instance = new ImagesLoaded( this, options, callback );
|
476 |
+
return instance.jqDeferred.promise( $(this) );
|
477 |
+
};
|
478 |
+
};
|
479 |
+
// try making plugin
|
480 |
+
ImagesLoaded.makeJQueryPlugin();
|
481 |
+
|
482 |
+
// -------------------------- -------------------------- //
|
483 |
+
|
484 |
+
return ImagesLoaded;
|
485 |
+
|
486 |
+
});
|
487 |
+
|
assets/js/imagesloaded.pkgd.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
(function(global,factory){if(typeof define=="function"&&define.amd){define("ev-emitter/ev-emitter",factory)}else if(typeof module=="object"&&module.exports){module.exports=factory()}else{global.EvEmitter=factory()}})(typeof window!="undefined"?window:this,function(){function EvEmitter(){}var proto=EvEmitter.prototype;proto.on=function(eventName,listener){if(!eventName||!listener){return}var events=this._events=this._events||{};var listeners=events[eventName]=events[eventName]||[];if(listeners.indexOf(listener)==-1){listeners.push(listener)}return this};proto.once=function(eventName,listener){if(!eventName||!listener){return}this.on(eventName,listener);var onceEvents=this._onceEvents=this._onceEvents||{};var onceListeners=onceEvents[eventName]=onceEvents[eventName]||{};onceListeners[listener]=true;return this};proto.off=function(eventName,listener){var listeners=this._events&&this._events[eventName];if(!listeners||!listeners.length){return}var index=listeners.indexOf(listener);if(index!=-1){listeners.splice(index,1)}return this};proto.emitEvent=function(eventName,args){var listeners=this._events&&this._events[eventName];if(!listeners||!listeners.length){return}var i=0;var listener=listeners[i];args=args||[];var onceListeners=this._onceEvents&&this._onceEvents[eventName];while(listener){var isOnce=onceListeners&&onceListeners[listener];if(isOnce){this.off(eventName,listener);delete onceListeners[listener]}listener.apply(this,args);i+=isOnce?0:1;listener=listeners[i]}return this};return EvEmitter});(function(window,factory){"use strict";if(typeof define=="function"&&define.amd){define(["ev-emitter/ev-emitter"],function(EvEmitter){return factory(window,EvEmitter)})}else if(typeof module=="object"&&module.exports){module.exports=factory(window,require("ev-emitter"))}else{window.imagesLoaded=factory(window,window.EvEmitter)}})(window,function factory(window,EvEmitter){var $=window.jQuery;var console=window.console;function extend(a,b){for(var prop in b){a[prop]=b[prop]}return a}function makeArray(obj){var ary=[];if(Array.isArray(obj)){ary=obj}else if(typeof obj.length=="number"){for(var i=0;i<obj.length;i++){ary.push(obj[i])}}else{ary.push(obj)}return ary}function ImagesLoaded(elem,options,onAlways){if(!(this instanceof ImagesLoaded)){return new ImagesLoaded(elem,options,onAlways)}if(typeof elem=="string"){elem=document.querySelectorAll(elem)}this.elements=makeArray(elem);this.options=extend({},this.options);if(typeof options=="function"){onAlways=options}else{extend(this.options,options)}if(onAlways){this.on("always",onAlways)}this.getImages();if($){this.jqDeferred=new $.Deferred}setTimeout(function(){this.check()}.bind(this))}ImagesLoaded.prototype=Object.create(EvEmitter.prototype);ImagesLoaded.prototype.options={};ImagesLoaded.prototype.getImages=function(){this.images=[];this.elements.forEach(this.addElementImages,this)};ImagesLoaded.prototype.addElementImages=function(elem){if(elem.nodeName=="IMG"){this.addImage(elem)}if(this.options.background===true){this.addElementBackgroundImages(elem)}var nodeType=elem.nodeType;if(!nodeType||!elementNodeTypes[nodeType]){return}var childImgs=elem.querySelectorAll("img");for(var i=0;i<childImgs.length;i++){var img=childImgs[i];this.addImage(img)}if(typeof this.options.background=="string"){var children=elem.querySelectorAll(this.options.background);for(i=0;i<children.length;i++){var child=children[i];this.addElementBackgroundImages(child)}}};var elementNodeTypes={1:true,9:true,11:true};ImagesLoaded.prototype.addElementBackgroundImages=function(elem){var style=getComputedStyle(elem);if(!style){return}var reURL=/url\((['"])?(.*?)\1\)/gi;var matches=reURL.exec(style.backgroundImage);while(matches!==null){var url=matches&&matches[2];if(url){this.addBackground(url,elem)}matches=reURL.exec(style.backgroundImage)}};ImagesLoaded.prototype.addImage=function(img){var loadingImage=new LoadingImage(img);this.images.push(loadingImage)};ImagesLoaded.prototype.addBackground=function(url,elem){var background=new Background(url,elem);this.images.push(background)};ImagesLoaded.prototype.check=function(){var _this=this;this.progressedCount=0;this.hasAnyBroken=false;if(!this.images.length){this.complete();return}function onProgress(image,elem,message){setTimeout(function(){_this.progress(image,elem,message)})}this.images.forEach(function(loadingImage){loadingImage.once("progress",onProgress);loadingImage.check()})};ImagesLoaded.prototype.progress=function(image,elem,message){this.progressedCount++;this.hasAnyBroken=this.hasAnyBroken||!image.isLoaded;this.emitEvent("progress",[this,image,elem]);if(this.jqDeferred&&this.jqDeferred.notify){this.jqDeferred.notify(this,image)}if(this.progressedCount==this.images.length){this.complete()}if(this.options.debug&&console){console.log("progress: "+message,image,elem)}};ImagesLoaded.prototype.complete=function(){var eventName=this.hasAnyBroken?"fail":"done";this.isComplete=true;this.emitEvent(eventName,[this]);this.emitEvent("always",[this]);if(this.jqDeferred){var jqMethod=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[jqMethod](this)}};function LoadingImage(img){this.img=img}LoadingImage.prototype=Object.create(EvEmitter.prototype);LoadingImage.prototype.check=function(){var isComplete=this.getIsImageComplete();if(isComplete){this.confirm(this.img.naturalWidth!==0,"naturalWidth");return}this.proxyImage=new Image;this.proxyImage.addEventListener("load",this);this.proxyImage.addEventListener("error",this);this.img.addEventListener("load",this);this.img.addEventListener("error",this);this.proxyImage.src=this.img.src};LoadingImage.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth!==undefined};LoadingImage.prototype.confirm=function(isLoaded,message){this.isLoaded=isLoaded;this.emitEvent("progress",[this,this.img,message])};LoadingImage.prototype.handleEvent=function(event){var method="on"+event.type;if(this[method]){this[method](event)}};LoadingImage.prototype.onload=function(){this.confirm(true,"onload");this.unbindEvents()};LoadingImage.prototype.onerror=function(){this.confirm(false,"onerror");this.unbindEvents()};LoadingImage.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this);this.proxyImage.removeEventListener("error",this);this.img.removeEventListener("load",this);this.img.removeEventListener("error",this)};function Background(url,element){this.url=url;this.element=element;this.img=new Image}Background.prototype=Object.create(LoadingImage.prototype);Background.prototype.check=function(){this.img.addEventListener("load",this);this.img.addEventListener("error",this);this.img.src=this.url;var isComplete=this.getIsImageComplete();if(isComplete){this.confirm(this.img.naturalWidth!==0,"naturalWidth");this.unbindEvents()}};Background.prototype.unbindEvents=function(){this.img.removeEventListener("load",this);this.img.removeEventListener("error",this)};Background.prototype.confirm=function(isLoaded,message){this.isLoaded=isLoaded;this.emitEvent("progress",[this,this.element,message])};ImagesLoaded.makeJQueryPlugin=function(jQuery){jQuery=jQuery||window.jQuery;if(!jQuery){return}$=jQuery;$.fn.imagesLoaded=function(options,callback){var instance=new ImagesLoaded(this,options,callback);return instance.jqDeferred.promise($(this))}};ImagesLoaded.makeJQueryPlugin();return ImagesLoaded});
|
assets/js/isotope.pkgd.js
ADDED
@@ -0,0 +1,3524 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Isotope PACKAGED v3.0.3
|
3 |
+
*
|
4 |
+
* Licensed GPLv3 for open source use
|
5 |
+
* or Isotope Commercial License for commercial use
|
6 |
+
*
|
7 |
+
* http://isotope.metafizzy.co
|
8 |
+
* Copyright 2017 Metafizzy
|
9 |
+
*/
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Bridget makes jQuery widgets
|
13 |
+
* v2.0.1
|
14 |
+
* MIT license
|
15 |
+
*/
|
16 |
+
|
17 |
+
/* jshint browser: true, strict: true, undef: true, unused: true */
|
18 |
+
|
19 |
+
( function( window, factory ) {
|
20 |
+
// universal module definition
|
21 |
+
/*jshint strict: false */ /* globals define, module, require */
|
22 |
+
if ( typeof define == 'function' && define.amd ) {
|
23 |
+
// AMD
|
24 |
+
define( 'jquery-bridget/jquery-bridget',[ 'jquery' ], function( jQuery ) {
|
25 |
+
return factory( window, jQuery );
|
26 |
+
});
|
27 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
28 |
+
// CommonJS
|
29 |
+
module.exports = factory(
|
30 |
+
window,
|
31 |
+
require('jquery')
|
32 |
+
);
|
33 |
+
} else {
|
34 |
+
// browser global
|
35 |
+
window.jQueryBridget = factory(
|
36 |
+
window,
|
37 |
+
window.jQuery
|
38 |
+
);
|
39 |
+
}
|
40 |
+
|
41 |
+
}( window, function factory( window, jQuery ) {
|
42 |
+
'use strict';
|
43 |
+
|
44 |
+
// ----- utils ----- //
|
45 |
+
|
46 |
+
var arraySlice = Array.prototype.slice;
|
47 |
+
|
48 |
+
// helper function for logging errors
|
49 |
+
// $.error breaks jQuery chaining
|
50 |
+
var console = window.console;
|
51 |
+
var logError = typeof console == 'undefined' ? function() {} :
|
52 |
+
function( message ) {
|
53 |
+
console.error( message );
|
54 |
+
};
|
55 |
+
|
56 |
+
// ----- jQueryBridget ----- //
|
57 |
+
|
58 |
+
function jQueryBridget( namespace, PluginClass, $ ) {
|
59 |
+
$ = $ || jQuery || window.jQuery;
|
60 |
+
if ( !$ ) {
|
61 |
+
return;
|
62 |
+
}
|
63 |
+
|
64 |
+
// add option method -> $().plugin('option', {...})
|
65 |
+
if ( !PluginClass.prototype.option ) {
|
66 |
+
// option setter
|
67 |
+
PluginClass.prototype.option = function( opts ) {
|
68 |
+
// bail out if not an object
|
69 |
+
if ( !$.isPlainObject( opts ) ){
|
70 |
+
return;
|
71 |
+
}
|
72 |
+
this.options = $.extend( true, this.options, opts );
|
73 |
+
};
|
74 |
+
}
|
75 |
+
|
76 |
+
// make jQuery plugin
|
77 |
+
$.fn[ namespace ] = function( arg0 /*, arg1 */ ) {
|
78 |
+
if ( typeof arg0 == 'string' ) {
|
79 |
+
// method call $().plugin( 'methodName', { options } )
|
80 |
+
// shift arguments by 1
|
81 |
+
var args = arraySlice.call( arguments, 1 );
|
82 |
+
return methodCall( this, arg0, args );
|
83 |
+
}
|
84 |
+
// just $().plugin({ options })
|
85 |
+
plainCall( this, arg0 );
|
86 |
+
return this;
|
87 |
+
};
|
88 |
+
|
89 |
+
// $().plugin('methodName')
|
90 |
+
function methodCall( $elems, methodName, args ) {
|
91 |
+
var returnValue;
|
92 |
+
var pluginMethodStr = '$().' + namespace + '("' + methodName + '")';
|
93 |
+
|
94 |
+
$elems.each( function( i, elem ) {
|
95 |
+
// get instance
|
96 |
+
var instance = $.data( elem, namespace );
|
97 |
+
if ( !instance ) {
|
98 |
+
logError( namespace + ' not initialized. Cannot call methods, i.e. ' +
|
99 |
+
pluginMethodStr );
|
100 |
+
return;
|
101 |
+
}
|
102 |
+
|
103 |
+
var method = instance[ methodName ];
|
104 |
+
if ( !method || methodName.charAt(0) == '_' ) {
|
105 |
+
logError( pluginMethodStr + ' is not a valid method' );
|
106 |
+
return;
|
107 |
+
}
|
108 |
+
|
109 |
+
// apply method, get return value
|
110 |
+
var value = method.apply( instance, args );
|
111 |
+
// set return value if value is returned, use only first value
|
112 |
+
returnValue = returnValue === undefined ? value : returnValue;
|
113 |
+
});
|
114 |
+
|
115 |
+
return returnValue !== undefined ? returnValue : $elems;
|
116 |
+
}
|
117 |
+
|
118 |
+
function plainCall( $elems, options ) {
|
119 |
+
$elems.each( function( i, elem ) {
|
120 |
+
var instance = $.data( elem, namespace );
|
121 |
+
if ( instance ) {
|
122 |
+
// set options & init
|
123 |
+
instance.option( options );
|
124 |
+
instance._init();
|
125 |
+
} else {
|
126 |
+
// initialize new instance
|
127 |
+
instance = new PluginClass( elem, options );
|
128 |
+
$.data( elem, namespace, instance );
|
129 |
+
}
|
130 |
+
});
|
131 |
+
}
|
132 |
+
|
133 |
+
updateJQuery( $ );
|
134 |
+
|
135 |
+
}
|
136 |
+
|
137 |
+
// ----- updateJQuery ----- //
|
138 |
+
|
139 |
+
// set $.bridget for v1 backwards compatibility
|
140 |
+
function updateJQuery( $ ) {
|
141 |
+
if ( !$ || ( $ && $.bridget ) ) {
|
142 |
+
return;
|
143 |
+
}
|
144 |
+
$.bridget = jQueryBridget;
|
145 |
+
}
|
146 |
+
|
147 |
+
updateJQuery( jQuery || window.jQuery );
|
148 |
+
|
149 |
+
// ----- ----- //
|
150 |
+
|
151 |
+
return jQueryBridget;
|
152 |
+
|
153 |
+
}));
|
154 |
+
|
155 |
+
/**
|
156 |
+
* EvEmitter v1.0.3
|
157 |
+
* Lil' event emitter
|
158 |
+
* MIT License
|
159 |
+
*/
|
160 |
+
|
161 |
+
/* jshint unused: true, undef: true, strict: true */
|
162 |
+
|
163 |
+
( function( global, factory ) {
|
164 |
+
// universal module definition
|
165 |
+
/* jshint strict: false */ /* globals define, module, window */
|
166 |
+
if ( typeof define == 'function' && define.amd ) {
|
167 |
+
// AMD - RequireJS
|
168 |
+
define( 'ev-emitter/ev-emitter',factory );
|
169 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
170 |
+
// CommonJS - Browserify, Webpack
|
171 |
+
module.exports = factory();
|
172 |
+
} else {
|
173 |
+
// Browser globals
|
174 |
+
global.EvEmitter = factory();
|
175 |
+
}
|
176 |
+
|
177 |
+
}( typeof window != 'undefined' ? window : this, function() {
|
178 |
+
|
179 |
+
|
180 |
+
|
181 |
+
function EvEmitter() {}
|
182 |
+
|
183 |
+
var proto = EvEmitter.prototype;
|
184 |
+
|
185 |
+
proto.on = function( eventName, listener ) {
|
186 |
+
if ( !eventName || !listener ) {
|
187 |
+
return;
|
188 |
+
}
|
189 |
+
// set events hash
|
190 |
+
var events = this._events = this._events || {};
|
191 |
+
// set listeners array
|
192 |
+
var listeners = events[ eventName ] = events[ eventName ] || [];
|
193 |
+
// only add once
|
194 |
+
if ( listeners.indexOf( listener ) == -1 ) {
|
195 |
+
listeners.push( listener );
|
196 |
+
}
|
197 |
+
|
198 |
+
return this;
|
199 |
+
};
|
200 |
+
|
201 |
+
proto.once = function( eventName, listener ) {
|
202 |
+
if ( !eventName || !listener ) {
|
203 |
+
return;
|
204 |
+
}
|
205 |
+
// add event
|
206 |
+
this.on( eventName, listener );
|
207 |
+
// set once flag
|
208 |
+
// set onceEvents hash
|
209 |
+
var onceEvents = this._onceEvents = this._onceEvents || {};
|
210 |
+
// set onceListeners object
|
211 |
+
var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
|
212 |
+
// set flag
|
213 |
+
onceListeners[ listener ] = true;
|
214 |
+
|
215 |
+
return this;
|
216 |
+
};
|
217 |
+
|
218 |
+
proto.off = function( eventName, listener ) {
|
219 |
+
var listeners = this._events && this._events[ eventName ];
|
220 |
+
if ( !listeners || !listeners.length ) {
|
221 |
+
return;
|
222 |
+
}
|
223 |
+
var index = listeners.indexOf( listener );
|
224 |
+
if ( index != -1 ) {
|
225 |
+
listeners.splice( index, 1 );
|
226 |
+
}
|
227 |
+
|
228 |
+
return this;
|
229 |
+
};
|
230 |
+
|
231 |
+
proto.emitEvent = function( eventName, args ) {
|
232 |
+
var listeners = this._events && this._events[ eventName ];
|
233 |
+
if ( !listeners || !listeners.length ) {
|
234 |
+
return;
|
235 |
+
}
|
236 |
+
var i = 0;
|
237 |
+
var listener = listeners[i];
|
238 |
+
args = args || [];
|
239 |
+
// once stuff
|
240 |
+
var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
|
241 |
+
|
242 |
+
while ( listener ) {
|
243 |
+
var isOnce = onceListeners && onceListeners[ listener ];
|
244 |
+
if ( isOnce ) {
|
245 |
+
// remove listener
|
246 |
+
// remove before trigger to prevent recursion
|
247 |
+
this.off( eventName, listener );
|
248 |
+
// unset once flag
|
249 |
+
delete onceListeners[ listener ];
|
250 |
+
}
|
251 |
+
// trigger listener
|
252 |
+
listener.apply( this, args );
|
253 |
+
// get next listener
|
254 |
+
i += isOnce ? 0 : 1;
|
255 |
+
listener = listeners[i];
|
256 |
+
}
|
257 |
+
|
258 |
+
return this;
|
259 |
+
};
|
260 |
+
|
261 |
+
return EvEmitter;
|
262 |
+
|
263 |
+
}));
|
264 |
+
|
265 |
+
/*!
|
266 |
+
* getSize v2.0.2
|
267 |
+
* measure size of elements
|
268 |
+
* MIT license
|
269 |
+
*/
|
270 |
+
|
271 |
+
/*jshint browser: true, strict: true, undef: true, unused: true */
|
272 |
+
/*global define: false, module: false, console: false */
|
273 |
+
|
274 |
+
( function( window, factory ) {
|
275 |
+
'use strict';
|
276 |
+
|
277 |
+
if ( typeof define == 'function' && define.amd ) {
|
278 |
+
// AMD
|
279 |
+
define( 'get-size/get-size',[],function() {
|
280 |
+
return factory();
|
281 |
+
});
|
282 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
283 |
+
// CommonJS
|
284 |
+
module.exports = factory();
|
285 |
+
} else {
|
286 |
+
// browser global
|
287 |
+
window.getSize = factory();
|
288 |
+
}
|
289 |
+
|
290 |
+
})( window, function factory() {
|
291 |
+
'use strict';
|
292 |
+
|
293 |
+
// -------------------------- helpers -------------------------- //
|
294 |
+
|
295 |
+
// get a number from a string, not a percentage
|
296 |
+
function getStyleSize( value ) {
|
297 |
+
var num = parseFloat( value );
|
298 |
+
// not a percent like '100%', and a number
|
299 |
+
var isValid = value.indexOf('%') == -1 && !isNaN( num );
|
300 |
+
return isValid && num;
|
301 |
+
}
|
302 |
+
|
303 |
+
function noop() {}
|
304 |
+
|
305 |
+
var logError = typeof console == 'undefined' ? noop :
|
306 |
+
function( message ) {
|
307 |
+
console.error( message );
|
308 |
+
};
|
309 |
+
|
310 |
+
// -------------------------- measurements -------------------------- //
|
311 |
+
|
312 |
+
var measurements = [
|
313 |
+
'paddingLeft',
|
314 |
+
'paddingRight',
|
315 |
+
'paddingTop',
|
316 |
+
'paddingBottom',
|
317 |
+
'marginLeft',
|
318 |
+
'marginRight',
|
319 |
+
'marginTop',
|
320 |
+
'marginBottom',
|
321 |
+
'borderLeftWidth',
|
322 |
+
'borderRightWidth',
|
323 |
+
'borderTopWidth',
|
324 |
+
'borderBottomWidth'
|
325 |
+
];
|
326 |
+
|
327 |
+
var measurementsLength = measurements.length;
|
328 |
+
|
329 |
+
function getZeroSize() {
|
330 |
+
var size = {
|
331 |
+
width: 0,
|
332 |
+
height: 0,
|
333 |
+
innerWidth: 0,
|
334 |
+
innerHeight: 0,
|
335 |
+
outerWidth: 0,
|
336 |
+
outerHeight: 0
|
337 |
+
};
|
338 |
+
for ( var i=0; i < measurementsLength; i++ ) {
|
339 |
+
var measurement = measurements[i];
|
340 |
+
size[ measurement ] = 0;
|
341 |
+
}
|
342 |
+
return size;
|
343 |
+
}
|
344 |
+
|
345 |
+
// -------------------------- getStyle -------------------------- //
|
346 |
+
|
347 |
+
/**
|
348 |
+
* getStyle, get style of element, check for Firefox bug
|
349 |
+
* https://bugzilla.mozilla.org/show_bug.cgi?id=548397
|
350 |
+
*/
|
351 |
+
function getStyle( elem ) {
|
352 |
+
var style = getComputedStyle( elem );
|
353 |
+
if ( !style ) {
|
354 |
+
logError( 'Style returned ' + style +
|
355 |
+
'. Are you running this code in a hidden iframe on Firefox? ' +
|
356 |
+
'See http://bit.ly/getsizebug1' );
|
357 |
+
}
|
358 |
+
return style;
|
359 |
+
}
|
360 |
+
|
361 |
+
// -------------------------- setup -------------------------- //
|
362 |
+
|
363 |
+
var isSetup = false;
|
364 |
+
|
365 |
+
var isBoxSizeOuter;
|
366 |
+
|
367 |
+
/**
|
368 |
+
* setup
|
369 |
+
* check isBoxSizerOuter
|
370 |
+
* do on first getSize() rather than on page load for Firefox bug
|
371 |
+
*/
|
372 |
+
function setup() {
|
373 |
+
// setup once
|
374 |
+
if ( isSetup ) {
|
375 |
+
return;
|
376 |
+
}
|
377 |
+
isSetup = true;
|
378 |
+
|
379 |
+
// -------------------------- box sizing -------------------------- //
|
380 |
+
|
381 |
+
/**
|
382 |
+
* WebKit measures the outer-width on style.width on border-box elems
|
383 |
+
* IE & Firefox<29 measures the inner-width
|
384 |
+
*/
|
385 |
+
var div = document.createElement('div');
|
386 |
+
div.style.width = '200px';
|
387 |
+
div.style.padding = '1px 2px 3px 4px';
|
388 |
+
div.style.borderStyle = 'solid';
|
389 |
+
div.style.borderWidth = '1px 2px 3px 4px';
|
390 |
+
div.style.boxSizing = 'border-box';
|
391 |
+
|
392 |
+
var body = document.body || document.documentElement;
|
393 |
+
body.appendChild( div );
|
394 |
+
var style = getStyle( div );
|
395 |
+
|
396 |
+
getSize.isBoxSizeOuter = isBoxSizeOuter = getStyleSize( style.width ) == 200;
|
397 |
+
body.removeChild( div );
|
398 |
+
|
399 |
+
}
|
400 |
+
|
401 |
+
// -------------------------- getSize -------------------------- //
|
402 |
+
|
403 |
+
function getSize( elem ) {
|
404 |
+
setup();
|
405 |
+
|
406 |
+
// use querySeletor if elem is string
|
407 |
+
if ( typeof elem == 'string' ) {
|
408 |
+
elem = document.querySelector( elem );
|
409 |
+
}
|
410 |
+
|
411 |
+
// do not proceed on non-objects
|
412 |
+
if ( !elem || typeof elem != 'object' || !elem.nodeType ) {
|
413 |
+
return;
|
414 |
+
}
|
415 |
+
|
416 |
+
var style = getStyle( elem );
|
417 |
+
|
418 |
+
// if hidden, everything is 0
|
419 |
+
if ( style.display == 'none' ) {
|
420 |
+
return getZeroSize();
|
421 |
+
}
|
422 |
+
|
423 |
+
var size = {};
|
424 |
+
size.width = elem.offsetWidth;
|
425 |
+
size.height = elem.offsetHeight;
|
426 |
+
|
427 |
+
var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';
|
428 |
+
|
429 |
+
// get all measurements
|
430 |
+
for ( var i=0; i < measurementsLength; i++ ) {
|
431 |
+
var measurement = measurements[i];
|
432 |
+
var value = style[ measurement ];
|
433 |
+
var num = parseFloat( value );
|
434 |
+
// any 'auto', 'medium' value will be 0
|
435 |
+
size[ measurement ] = !isNaN( num ) ? num : 0;
|
436 |
+
}
|
437 |
+
|
438 |
+
var paddingWidth = size.paddingLeft + size.paddingRight;
|
439 |
+
var paddingHeight = size.paddingTop + size.paddingBottom;
|
440 |
+
var marginWidth = size.marginLeft + size.marginRight;
|
441 |
+
var marginHeight = size.marginTop + size.marginBottom;
|
442 |
+
var borderWidth = size.borderLeftWidth + size.borderRightWidth;
|
443 |
+
var borderHeight = size.borderTopWidth + size.borderBottomWidth;
|
444 |
+
|
445 |
+
var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;
|
446 |
+
|
447 |
+
// overwrite width and height if we can get it from style
|
448 |
+
var styleWidth = getStyleSize( style.width );
|
449 |
+
if ( styleWidth !== false ) {
|
450 |
+
size.width = styleWidth +
|
451 |
+
// add padding and border unless it's already including it
|
452 |
+
( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );
|
453 |
+
}
|
454 |
+
|
455 |
+
var styleHeight = getStyleSize( style.height );
|
456 |
+
if ( styleHeight !== false ) {
|
457 |
+
size.height = styleHeight +
|
458 |
+
// add padding and border unless it's already including it
|
459 |
+
( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );
|
460 |
+
}
|
461 |
+
|
462 |
+
size.innerWidth = size.width - ( paddingWidth + borderWidth );
|
463 |
+
size.innerHeight = size.height - ( paddingHeight + borderHeight );
|
464 |
+
|
465 |
+
size.outerWidth = size.width + marginWidth;
|
466 |
+
size.outerHeight = size.height + marginHeight;
|
467 |
+
|
468 |
+
return size;
|
469 |
+
}
|
470 |
+
|
471 |
+
return getSize;
|
472 |
+
|
473 |
+
});
|
474 |
+
|
475 |
+
/**
|
476 |
+
* matchesSelector v2.0.2
|
477 |
+
* matchesSelector( element, '.selector' )
|
478 |
+
* MIT license
|
479 |
+
*/
|
480 |
+
|
481 |
+
/*jshint browser: true, strict: true, undef: true, unused: true */
|
482 |
+
|
483 |
+
( function( window, factory ) {
|
484 |
+
/*global define: false, module: false */
|
485 |
+
'use strict';
|
486 |
+
// universal module definition
|
487 |
+
if ( typeof define == 'function' && define.amd ) {
|
488 |
+
// AMD
|
489 |
+
define( 'desandro-matches-selector/matches-selector',factory );
|
490 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
491 |
+
// CommonJS
|
492 |
+
module.exports = factory();
|
493 |
+
} else {
|
494 |
+
// browser global
|
495 |
+
window.matchesSelector = factory();
|
496 |
+
}
|
497 |
+
|
498 |
+
}( window, function factory() {
|
499 |
+
'use strict';
|
500 |
+
|
501 |
+
var matchesMethod = ( function() {
|
502 |
+
var ElemProto = window.Element.prototype;
|
503 |
+
// check for the standard method name first
|
504 |
+
if ( ElemProto.matches ) {
|
505 |
+
return 'matches';
|
506 |
+
}
|
507 |
+
// check un-prefixed
|
508 |
+
if ( ElemProto.matchesSelector ) {
|
509 |
+
return 'matchesSelector';
|
510 |
+
}
|
511 |
+
// check vendor prefixes
|
512 |
+
var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];
|
513 |
+
|
514 |
+
for ( var i=0; i < prefixes.length; i++ ) {
|
515 |
+
var prefix = prefixes[i];
|
516 |
+
var method = prefix + 'MatchesSelector';
|
517 |
+
if ( ElemProto[ method ] ) {
|
518 |
+
return method;
|
519 |
+
}
|
520 |
+
}
|
521 |
+
})();
|
522 |
+
|
523 |
+
return function matchesSelector( elem, selector ) {
|
524 |
+
return elem[ matchesMethod ]( selector );
|
525 |
+
};
|
526 |
+
|
527 |
+
}));
|
528 |
+
|
529 |
+
/**
|
530 |
+
* Fizzy UI utils v2.0.4
|
531 |
+
* MIT license
|
532 |
+
*/
|
533 |
+
|
534 |
+
/*jshint browser: true, undef: true, unused: true, strict: true */
|
535 |
+
|
536 |
+
( function( window, factory ) {
|
537 |
+
// universal module definition
|
538 |
+
/*jshint strict: false */ /*globals define, module, require */
|
539 |
+
|
540 |
+
if ( typeof define == 'function' && define.amd ) {
|
541 |
+
// AMD
|
542 |
+
define( 'fizzy-ui-utils/utils',[
|
543 |
+
'desandro-matches-selector/matches-selector'
|
544 |
+
], function( matchesSelector ) {
|
545 |
+
return factory( window, matchesSelector );
|
546 |
+
});
|
547 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
548 |
+
// CommonJS
|
549 |
+
module.exports = factory(
|
550 |
+
window,
|
551 |
+
require('desandro-matches-selector')
|
552 |
+
);
|
553 |
+
} else {
|
554 |
+
// browser global
|
555 |
+
window.fizzyUIUtils = factory(
|
556 |
+
window,
|
557 |
+
window.matchesSelector
|
558 |
+
);
|
559 |
+
}
|
560 |
+
|
561 |
+
}( window, function factory( window, matchesSelector ) {
|
562 |
+
|
563 |
+
|
564 |
+
|
565 |
+
var utils = {};
|
566 |
+
|
567 |
+
// ----- extend ----- //
|
568 |
+
|
569 |
+
// extends objects
|
570 |
+
utils.extend = function( a, b ) {
|
571 |
+
for ( var prop in b ) {
|
572 |
+
a[ prop ] = b[ prop ];
|
573 |
+
}
|
574 |
+
return a;
|
575 |
+
};
|
576 |
+
|
577 |
+
// ----- modulo ----- //
|
578 |
+
|
579 |
+
utils.modulo = function( num, div ) {
|
580 |
+
return ( ( num % div ) + div ) % div;
|
581 |
+
};
|
582 |
+
|
583 |
+
// ----- makeArray ----- //
|
584 |
+
|
585 |
+
// turn element or nodeList into an array
|
586 |
+
utils.makeArray = function( obj ) {
|
587 |
+
var ary = [];
|
588 |
+
if ( Array.isArray( obj ) ) {
|
589 |
+
// use object if already an array
|
590 |
+
ary = obj;
|
591 |
+
} else if ( obj && typeof obj == 'object' &&
|
592 |
+
typeof obj.length == 'number' ) {
|
593 |
+
// convert nodeList to array
|
594 |
+
for ( var i=0; i < obj.length; i++ ) {
|
595 |
+
ary.push( obj[i] );
|
596 |
+
}
|
597 |
+
} else {
|
598 |
+
// array of single index
|
599 |
+
ary.push( obj );
|
600 |
+
}
|
601 |
+
return ary;
|
602 |
+
};
|
603 |
+
|
604 |
+
// ----- removeFrom ----- //
|
605 |
+
|
606 |
+
utils.removeFrom = function( ary, obj ) {
|
607 |
+
var index = ary.indexOf( obj );
|
608 |
+
if ( index != -1 ) {
|
609 |
+
ary.splice( index, 1 );
|
610 |
+
}
|
611 |
+
};
|
612 |
+
|
613 |
+
// ----- getParent ----- //
|
614 |
+
|
615 |
+
utils.getParent = function( elem, selector ) {
|
616 |
+
while ( elem != document.body ) {
|
617 |
+
elem = elem.parentNode;
|
618 |
+
if ( matchesSelector( elem, selector ) ) {
|
619 |
+
return elem;
|
620 |
+
}
|
621 |
+
}
|
622 |
+
};
|
623 |
+
|
624 |
+
// ----- getQueryElement ----- //
|
625 |
+
|
626 |
+
// use element as selector string
|
627 |
+
utils.getQueryElement = function( elem ) {
|
628 |
+
if ( typeof elem == 'string' ) {
|
629 |
+
return document.querySelector( elem );
|
630 |
+
}
|
631 |
+
return elem;
|
632 |
+
};
|
633 |
+
|
634 |
+
// ----- handleEvent ----- //
|
635 |
+
|
636 |
+
// enable .ontype to trigger from .addEventListener( elem, 'type' )
|
637 |
+
utils.handleEvent = function( event ) {
|
638 |
+
var method = 'on' + event.type;
|
639 |
+
if ( this[ method ] ) {
|
640 |
+
this[ method ]( event );
|
641 |
+
}
|
642 |
+
};
|
643 |
+
|
644 |
+
// ----- filterFindElements ----- //
|
645 |
+
|
646 |
+
utils.filterFindElements = function( elems, selector ) {
|
647 |
+
// make array of elems
|
648 |
+
elems = utils.makeArray( elems );
|
649 |
+
var ffElems = [];
|
650 |
+
|
651 |
+
elems.forEach( function( elem ) {
|
652 |
+
// check that elem is an actual element
|
653 |
+
if ( !( elem instanceof HTMLElement ) ) {
|
654 |
+
return;
|
655 |
+
}
|
656 |
+
// add elem if no selector
|
657 |
+
if ( !selector ) {
|
658 |
+
ffElems.push( elem );
|
659 |
+
return;
|
660 |
+
}
|
661 |
+
// filter & find items if we have a selector
|
662 |
+
// filter
|
663 |
+
if ( matchesSelector( elem, selector ) ) {
|
664 |
+
ffElems.push( elem );
|
665 |
+
}
|
666 |
+
// find children
|
667 |
+
var childElems = elem.querySelectorAll( selector );
|
668 |
+
// concat childElems to filterFound array
|
669 |
+
for ( var i=0; i < childElems.length; i++ ) {
|
670 |
+
ffElems.push( childElems[i] );
|
671 |
+
}
|
672 |
+
});
|
673 |
+
|
674 |
+
return ffElems;
|
675 |
+
};
|
676 |
+
|
677 |
+
// ----- debounceMethod ----- //
|
678 |
+
|
679 |
+
utils.debounceMethod = function( _class, methodName, threshold ) {
|
680 |
+
// original method
|
681 |
+
var method = _class.prototype[ methodName ];
|
682 |
+
var timeoutName = methodName + 'Timeout';
|
683 |
+
|
684 |
+
_class.prototype[ methodName ] = function() {
|
685 |
+
var timeout = this[ timeoutName ];
|
686 |
+
if ( timeout ) {
|
687 |
+
clearTimeout( timeout );
|
688 |
+
}
|
689 |
+
var args = arguments;
|
690 |
+
|
691 |
+
var _this = this;
|
692 |
+
this[ timeoutName ] = setTimeout( function() {
|
693 |
+
method.apply( _this, args );
|
694 |
+
delete _this[ timeoutName ];
|
695 |
+
}, threshold || 100 );
|
696 |
+
};
|
697 |
+
};
|
698 |
+
|
699 |
+
// ----- docReady ----- //
|
700 |
+
|
701 |
+
utils.docReady = function( callback ) {
|
702 |
+
var readyState = document.readyState;
|
703 |
+
if ( readyState == 'complete' || readyState == 'interactive' ) {
|
704 |
+
// do async to allow for other scripts to run. metafizzy/flickity#441
|
705 |
+
setTimeout( callback );
|
706 |
+
} else {
|
707 |
+
document.addEventListener( 'DOMContentLoaded', callback );
|
708 |
+
}
|
709 |
+
};
|
710 |
+
|
711 |
+
// ----- htmlInit ----- //
|
712 |
+
|
713 |
+
// http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/
|
714 |
+
utils.toDashed = function( str ) {
|
715 |
+
return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {
|
716 |
+
return $1 + '-' + $2;
|
717 |
+
}).toLowerCase();
|
718 |
+
};
|
719 |
+
|
720 |
+
var console = window.console;
|
721 |
+
/**
|
722 |
+
* allow user to initialize classes via [data-namespace] or .js-namespace class
|
723 |
+
* htmlInit( Widget, 'widgetName' )
|
724 |
+
* options are parsed from data-namespace-options
|
725 |
+
*/
|
726 |
+
utils.htmlInit = function( WidgetClass, namespace ) {
|
727 |
+
utils.docReady( function() {
|
728 |
+
var dashedNamespace = utils.toDashed( namespace );
|
729 |
+
var dataAttr = 'data-' + dashedNamespace;
|
730 |
+
var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' );
|
731 |
+
var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace );
|
732 |
+
var elems = utils.makeArray( dataAttrElems )
|
733 |
+
.concat( utils.makeArray( jsDashElems ) );
|
734 |
+
var dataOptionsAttr = dataAttr + '-options';
|
735 |
+
var jQuery = window.jQuery;
|
736 |
+
|
737 |
+
elems.forEach( function( elem ) {
|
738 |
+
var attr = elem.getAttribute( dataAttr ) ||
|
739 |
+
elem.getAttribute( dataOptionsAttr );
|
740 |
+
var options;
|
741 |
+
try {
|
742 |
+
options = attr && JSON.parse( attr );
|
743 |
+
} catch ( error ) {
|
744 |
+
// log error, do not initialize
|
745 |
+
if ( console ) {
|
746 |
+
console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +
|
747 |
+
': ' + error );
|
748 |
+
}
|
749 |
+
return;
|
750 |
+
}
|
751 |
+
// initialize
|
752 |
+
var instance = new WidgetClass( elem, options );
|
753 |
+
// make available via $().data('namespace')
|
754 |
+
if ( jQuery ) {
|
755 |
+
jQuery.data( elem, namespace, instance );
|
756 |
+
}
|
757 |
+
});
|
758 |
+
|
759 |
+
});
|
760 |
+
};
|
761 |
+
|
762 |
+
// ----- ----- //
|
763 |
+
|
764 |
+
return utils;
|
765 |
+
|
766 |
+
}));
|
767 |
+
|
768 |
+
/**
|
769 |
+
* Outlayer Item
|
770 |
+
*/
|
771 |
+
|
772 |
+
( function( window, factory ) {
|
773 |
+
// universal module definition
|
774 |
+
/* jshint strict: false */ /* globals define, module, require */
|
775 |
+
if ( typeof define == 'function' && define.amd ) {
|
776 |
+
// AMD - RequireJS
|
777 |
+
define( 'outlayer/item',[
|
778 |
+
'ev-emitter/ev-emitter',
|
779 |
+
'get-size/get-size'
|
780 |
+
],
|
781 |
+
factory
|
782 |
+
);
|
783 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
784 |
+
// CommonJS - Browserify, Webpack
|
785 |
+
module.exports = factory(
|
786 |
+
require('ev-emitter'),
|
787 |
+
require('get-size')
|
788 |
+
);
|
789 |
+
} else {
|
790 |
+
// browser global
|
791 |
+
window.Outlayer = {};
|
792 |
+
window.Outlayer.Item = factory(
|
793 |
+
window.EvEmitter,
|
794 |
+
window.getSize
|
795 |
+
);
|
796 |
+
}
|
797 |
+
|
798 |
+
}( window, function factory( EvEmitter, getSize ) {
|
799 |
+
'use strict';
|
800 |
+
|
801 |
+
// ----- helpers ----- //
|
802 |
+
|
803 |
+
function isEmptyObj( obj ) {
|
804 |
+
for ( var prop in obj ) {
|
805 |
+
return false;
|
806 |
+
}
|
807 |
+
prop = null;
|
808 |
+
return true;
|
809 |
+
}
|
810 |
+
|
811 |
+
// -------------------------- CSS3 support -------------------------- //
|
812 |
+
|
813 |
+
|
814 |
+
var docElemStyle = document.documentElement.style;
|
815 |
+
|
816 |
+
var transitionProperty = typeof docElemStyle.transition == 'string' ?
|
817 |
+
'transition' : 'WebkitTransition';
|
818 |
+
var transformProperty = typeof docElemStyle.transform == 'string' ?
|
819 |
+
'transform' : 'WebkitTransform';
|
820 |
+
|
821 |
+
var transitionEndEvent = {
|
822 |
+
WebkitTransition: 'webkitTransitionEnd',
|
823 |
+
transition: 'transitionend'
|
824 |
+
}[ transitionProperty ];
|
825 |
+
|
826 |
+
// cache all vendor properties that could have vendor prefix
|
827 |
+
var vendorProperties = {
|
828 |
+
transform: transformProperty,
|
829 |
+
transition: transitionProperty,
|
830 |
+
transitionDuration: transitionProperty + 'Duration',
|
831 |
+
transitionProperty: transitionProperty + 'Property',
|
832 |
+
transitionDelay: transitionProperty + 'Delay'
|
833 |
+
};
|
834 |
+
|
835 |
+
// -------------------------- Item -------------------------- //
|
836 |
+
|
837 |
+
function Item( element, layout ) {
|
838 |
+
if ( !element ) {
|
839 |
+
return;
|
840 |
+
}
|
841 |
+
|
842 |
+
this.element = element;
|
843 |
+
// parent layout class, i.e. Masonry, Isotope, or Packery
|
844 |
+
this.layout = layout;
|
845 |
+
this.position = {
|
846 |
+
x: 0,
|
847 |
+
y: 0
|
848 |
+
};
|
849 |
+
|
850 |
+
this._create();
|
851 |
+
}
|
852 |
+
|
853 |
+
// inherit EvEmitter
|
854 |
+
var proto = Item.prototype = Object.create( EvEmitter.prototype );
|
855 |
+
proto.constructor = Item;
|
856 |
+
|
857 |
+
proto._create = function() {
|
858 |
+
// transition objects
|
859 |
+
this._transn = {
|
860 |
+
ingProperties: {},
|
861 |
+
clean: {},
|
862 |
+
onEnd: {}
|
863 |
+
};
|
864 |
+
|
865 |
+
this.css({
|
866 |
+
position: 'absolute'
|
867 |
+
});
|
868 |
+
};
|
869 |
+
|
870 |
+
// trigger specified handler for event type
|
871 |
+
proto.handleEvent = function( event ) {
|
872 |
+
var method = 'on' + event.type;
|
873 |
+
if ( this[ method ] ) {
|
874 |
+
this[ method ]( event );
|
875 |
+
}
|
876 |
+
};
|
877 |
+
|
878 |
+
proto.getSize = function() {
|
879 |
+
this.size = getSize( this.element );
|
880 |
+
};
|
881 |
+
|
882 |
+
/**
|
883 |
+
* apply CSS styles to element
|
884 |
+
* @param {Object} style
|
885 |
+
*/
|
886 |
+
proto.css = function( style ) {
|
887 |
+
var elemStyle = this.element.style;
|
888 |
+
|
889 |
+
for ( var prop in style ) {
|
890 |
+
// use vendor property if available
|
891 |
+
var supportedProp = vendorProperties[ prop ] || prop;
|
892 |
+
elemStyle[ supportedProp ] = style[ prop ];
|
893 |
+
}
|
894 |
+
};
|
895 |
+
|
896 |
+
// measure position, and sets it
|
897 |
+
proto.getPosition = function() {
|
898 |
+
var style = getComputedStyle( this.element );
|
899 |
+
var isOriginLeft = this.layout._getOption('originLeft');
|
900 |
+
var isOriginTop = this.layout._getOption('originTop');
|
901 |
+
var xValue = style[ isOriginLeft ? 'left' : 'right' ];
|
902 |
+
var yValue = style[ isOriginTop ? 'top' : 'bottom' ];
|
903 |
+
// convert percent to pixels
|
904 |
+
var layoutSize = this.layout.size;
|
905 |
+
var x = xValue.indexOf('%') != -1 ?
|
906 |
+
( parseFloat( xValue ) / 100 ) * layoutSize.width : parseInt( xValue, 10 );
|
907 |
+
var y = yValue.indexOf('%') != -1 ?
|
908 |
+
( parseFloat( yValue ) / 100 ) * layoutSize.height : parseInt( yValue, 10 );
|
909 |
+
|
910 |
+
// clean up 'auto' or other non-integer values
|
911 |
+
x = isNaN( x ) ? 0 : x;
|
912 |
+
y = isNaN( y ) ? 0 : y;
|
913 |
+
// remove padding from measurement
|
914 |
+
x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;
|
915 |
+
y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;
|
916 |
+
|
917 |
+
this.position.x = x;
|
918 |
+
this.position.y = y;
|
919 |
+
};
|
920 |
+
|
921 |
+
// set settled position, apply padding
|
922 |
+
proto.layoutPosition = function() {
|
923 |
+
var layoutSize = this.layout.size;
|
924 |
+
var style = {};
|
925 |
+
var isOriginLeft = this.layout._getOption('originLeft');
|
926 |
+
var isOriginTop = this.layout._getOption('originTop');
|
927 |
+
|
928 |
+
// x
|
929 |
+
var xPadding = isOriginLeft ? 'paddingLeft' : 'paddingRight';
|
930 |
+
var xProperty = isOriginLeft ? 'left' : 'right';
|
931 |
+
var xResetProperty = isOriginLeft ? 'right' : 'left';
|
932 |
+
|
933 |
+
var x = this.position.x + layoutSize[ xPadding ];
|
934 |
+
// set in percentage or pixels
|
935 |
+
style[ xProperty ] = this.getXValue( x );
|
936 |
+
// reset other property
|
937 |
+
style[ xResetProperty ] = '';
|
938 |
+
|
939 |
+
// y
|
940 |
+
var yPadding = isOriginTop ? 'paddingTop' : 'paddingBottom';
|
941 |
+
var yProperty = isOriginTop ? 'top' : 'bottom';
|
942 |
+
var yResetProperty = isOriginTop ? 'bottom' : 'top';
|
943 |
+
|
944 |
+
var y = this.position.y + layoutSize[ yPadding ];
|
945 |
+
// set in percentage or pixels
|
946 |
+
style[ yProperty ] = this.getYValue( y );
|
947 |
+
// reset other property
|
948 |
+
style[ yResetProperty ] = '';
|
949 |
+
|
950 |
+
this.css( style );
|
951 |
+
this.emitEvent( 'layout', [ this ] );
|
952 |
+
};
|
953 |
+
|
954 |
+
proto.getXValue = function( x ) {
|
955 |
+
var isHorizontal = this.layout._getOption('horizontal');
|
956 |
+
return this.layout.options.percentPosition && !isHorizontal ?
|
957 |
+
( ( x / this.layout.size.width ) * 100 ) + '%' : x + 'px';
|
958 |
+
};
|
959 |
+
|
960 |
+
proto.getYValue = function( y ) {
|
961 |
+
var isHorizontal = this.layout._getOption('horizontal');
|
962 |
+
return this.layout.options.percentPosition && isHorizontal ?
|
963 |
+
( ( y / this.layout.size.height ) * 100 ) + '%' : y + 'px';
|
964 |
+
};
|
965 |
+
|
966 |
+
proto._transitionTo = function( x, y ) {
|
967 |
+
this.getPosition();
|
968 |
+
// get current x & y from top/left
|
969 |
+
var curX = this.position.x;
|
970 |
+
var curY = this.position.y;
|
971 |
+
|
972 |
+
var compareX = parseInt( x, 10 );
|
973 |
+
var compareY = parseInt( y, 10 );
|
974 |
+
var didNotMove = compareX === this.position.x && compareY === this.position.y;
|
975 |
+
|
976 |
+
// save end position
|
977 |
+
this.setPosition( x, y );
|
978 |
+
|
979 |
+
// if did not move and not transitioning, just go to layout
|
980 |
+
if ( didNotMove && !this.isTransitioning ) {
|
981 |
+
this.layoutPosition();
|
982 |
+
return;
|
983 |
+
}
|
984 |
+
|
985 |
+
var transX = x - curX;
|
986 |
+
var transY = y - curY;
|
987 |
+
var transitionStyle = {};
|
988 |
+
transitionStyle.transform = this.getTranslate( transX, transY );
|
989 |
+
|
990 |
+
this.transition({
|
991 |
+
to: transitionStyle,
|
992 |
+
onTransitionEnd: {
|
993 |
+
transform: this.layoutPosition
|
994 |
+
},
|
995 |
+
isCleaning: true
|
996 |
+
});
|
997 |
+
};
|
998 |
+
|
999 |
+
proto.getTranslate = function( x, y ) {
|
1000 |
+
// flip cooridinates if origin on right or bottom
|
1001 |
+
var isOriginLeft = this.layout._getOption('originLeft');
|
1002 |
+
var isOriginTop = this.layout._getOption('originTop');
|
1003 |
+
x = isOriginLeft ? x : -x;
|
1004 |
+
y = isOriginTop ? y : -y;
|
1005 |
+
return 'translate3d(' + x + 'px, ' + y + 'px, 0)';
|
1006 |
+
};
|
1007 |
+
|
1008 |
+
// non transition + transform support
|
1009 |
+
proto.goTo = function( x, y ) {
|
1010 |
+
this.setPosition( x, y );
|
1011 |
+
this.layoutPosition();
|
1012 |
+
};
|
1013 |
+
|
1014 |
+
proto.moveTo = proto._transitionTo;
|
1015 |
+
|
1016 |
+
proto.setPosition = function( x, y ) {
|
1017 |
+
this.position.x = parseInt( x, 10 );
|
1018 |
+
this.position.y = parseInt( y, 10 );
|
1019 |
+
};
|
1020 |
+
|
1021 |
+
// ----- transition ----- //
|
1022 |
+
|
1023 |
+
/**
|
1024 |
+
* @param {Object} style - CSS
|
1025 |
+
* @param {Function} onTransitionEnd
|
1026 |
+
*/
|
1027 |
+
|
1028 |
+
// non transition, just trigger callback
|
1029 |
+
proto._nonTransition = function( args ) {
|
1030 |
+
this.css( args.to );
|
1031 |
+
if ( args.isCleaning ) {
|
1032 |
+
this._removeStyles( args.to );
|
1033 |
+
}
|
1034 |
+
for ( var prop in args.onTransitionEnd ) {
|
1035 |
+
args.onTransitionEnd[ prop ].call( this );
|
1036 |
+
}
|
1037 |
+
};
|
1038 |
+
|
1039 |
+
/**
|
1040 |
+
* proper transition
|
1041 |
+
* @param {Object} args - arguments
|
1042 |
+
* @param {Object} to - style to transition to
|
1043 |
+
* @param {Object} from - style to start transition from
|
1044 |
+
* @param {Boolean} isCleaning - removes transition styles after transition
|
1045 |
+
* @param {Function} onTransitionEnd - callback
|
1046 |
+
*/
|
1047 |
+
proto.transition = function( args ) {
|
1048 |
+
// redirect to nonTransition if no transition duration
|
1049 |
+
if ( !parseFloat( this.layout.options.transitionDuration ) ) {
|
1050 |
+
this._nonTransition( args );
|
1051 |
+
return;
|
1052 |
+
}
|
1053 |
+
|
1054 |
+
var _transition = this._transn;
|
1055 |
+
// keep track of onTransitionEnd callback by css property
|
1056 |
+
for ( var prop in args.onTransitionEnd ) {
|
1057 |
+
_transition.onEnd[ prop ] = args.onTransitionEnd[ prop ];
|
1058 |
+
}
|
1059 |
+
// keep track of properties that are transitioning
|
1060 |
+
for ( prop in args.to ) {
|
1061 |
+
_transition.ingProperties[ prop ] = true;
|
1062 |
+
// keep track of properties to clean up when transition is done
|
1063 |
+
if ( args.isCleaning ) {
|
1064 |
+
_transition.clean[ prop ] = true;
|
1065 |
+
}
|
1066 |
+
}
|
1067 |
+
|
1068 |
+
// set from styles
|
1069 |
+
if ( args.from ) {
|
1070 |
+
this.css( args.from );
|
1071 |
+
// force redraw. http://blog.alexmaccaw.com/css-transitions
|
1072 |
+
var h = this.element.offsetHeight;
|
1073 |
+
// hack for JSHint to hush about unused var
|
1074 |
+
h = null;
|
1075 |
+
}
|
1076 |
+
// enable transition
|
1077 |
+
this.enableTransition( args.to );
|
1078 |
+
// set styles that are transitioning
|
1079 |
+
this.css( args.to );
|
1080 |
+
|
1081 |
+
this.isTransitioning = true;
|
1082 |
+
|
1083 |
+
};
|
1084 |
+
|
1085 |
+
// dash before all cap letters, including first for
|
1086 |
+
// WebkitTransform => -webkit-transform
|
1087 |
+
function toDashedAll( str ) {
|
1088 |
+
return str.replace( /([A-Z])/g, function( $1 ) {
|
1089 |
+
return '-' + $1.toLowerCase();
|
1090 |
+
});
|
1091 |
+
}
|
1092 |
+
|
1093 |
+
var transitionProps = 'opacity,' + toDashedAll( transformProperty );
|
1094 |
+
|
1095 |
+
proto.enableTransition = function(/* style */) {
|
1096 |
+
// HACK changing transitionProperty during a transition
|
1097 |
+
// will cause transition to jump
|
1098 |
+
if ( this.isTransitioning ) {
|
1099 |
+
return;
|
1100 |
+
}
|
1101 |
+
|
1102 |
+
// make `transition: foo, bar, baz` from style object
|
1103 |
+
// HACK un-comment this when enableTransition can work
|
1104 |
+
// while a transition is happening
|
1105 |
+
// var transitionValues = [];
|
1106 |
+
// for ( var prop in style ) {
|
1107 |
+
// // dash-ify camelCased properties like WebkitTransition
|
1108 |
+
// prop = vendorProperties[ prop ] || prop;
|
1109 |
+
// transitionValues.push( toDashedAll( prop ) );
|
1110 |
+
// }
|
1111 |
+
// munge number to millisecond, to match stagger
|
1112 |
+
var duration = this.layout.options.transitionDuration;
|
1113 |
+
duration = typeof duration == 'number' ? duration + 'ms' : duration;
|
1114 |
+
// enable transition styles
|
1115 |
+
this.css({
|
1116 |
+
transitionProperty: transitionProps,
|
1117 |
+
transitionDuration: duration,
|
1118 |
+
transitionDelay: this.staggerDelay || 0
|
1119 |
+
});
|
1120 |
+
// listen for transition end event
|
1121 |
+
this.element.addEventListener( transitionEndEvent, this, false );
|
1122 |
+
};
|
1123 |
+
|
1124 |
+
// ----- events ----- //
|
1125 |
+
|
1126 |
+
proto.onwebkitTransitionEnd = function( event ) {
|
1127 |
+
this.ontransitionend( event );
|
1128 |
+
};
|
1129 |
+
|
1130 |
+
proto.onotransitionend = function( event ) {
|
1131 |
+
this.ontransitionend( event );
|
1132 |
+
};
|
1133 |
+
|
1134 |
+
// properties that I munge to make my life easier
|
1135 |
+
var dashedVendorProperties = {
|
1136 |
+
'-webkit-transform': 'transform'
|
1137 |
+
};
|
1138 |
+
|
1139 |
+
proto.ontransitionend = function( event ) {
|
1140 |
+
// disregard bubbled events from children
|
1141 |
+
if ( event.target !== this.element ) {
|
1142 |
+
return;
|
1143 |
+
}
|
1144 |
+
var _transition = this._transn;
|
1145 |
+
// get property name of transitioned property, convert to prefix-free
|
1146 |
+
var propertyName = dashedVendorProperties[ event.propertyName ] || event.propertyName;
|
1147 |
+
|
1148 |
+
// remove property that has completed transitioning
|
1149 |
+
delete _transition.ingProperties[ propertyName ];
|
1150 |
+
// check if any properties are still transitioning
|
1151 |
+
if ( isEmptyObj( _transition.ingProperties ) ) {
|
1152 |
+
// all properties have completed transitioning
|
1153 |
+
this.disableTransition();
|
1154 |
+
}
|
1155 |
+
// clean style
|
1156 |
+
if ( propertyName in _transition.clean ) {
|
1157 |
+
// clean up style
|
1158 |
+
this.element.style[ event.propertyName ] = '';
|
1159 |
+
delete _transition.clean[ propertyName ];
|
1160 |
+
}
|
1161 |
+
// trigger onTransitionEnd callback
|
1162 |
+
if ( propertyName in _transition.onEnd ) {
|
1163 |
+
var onTransitionEnd = _transition.onEnd[ propertyName ];
|
1164 |
+
onTransitionEnd.call( this );
|
1165 |
+
delete _transition.onEnd[ propertyName ];
|
1166 |
+
}
|
1167 |
+
|
1168 |
+
this.emitEvent( 'transitionEnd', [ this ] );
|
1169 |
+
};
|
1170 |
+
|
1171 |
+
proto.disableTransition = function() {
|
1172 |
+
this.removeTransitionStyles();
|
1173 |
+
this.element.removeEventListener( transitionEndEvent, this, false );
|
1174 |
+
this.isTransitioning = false;
|
1175 |
+
};
|
1176 |
+
|
1177 |
+
/**
|
1178 |
+
* removes style property from element
|
1179 |
+
* @param {Object} style
|
1180 |
+
**/
|
1181 |
+
proto._removeStyles = function( style ) {
|
1182 |
+
// clean up transition styles
|
1183 |
+
var cleanStyle = {};
|
1184 |
+
for ( var prop in style ) {
|
1185 |
+
cleanStyle[ prop ] = '';
|
1186 |
+
}
|
1187 |
+
this.css( cleanStyle );
|
1188 |
+
};
|
1189 |
+
|
1190 |
+
var cleanTransitionStyle = {
|
1191 |
+
transitionProperty: '',
|
1192 |
+
transitionDuration: '',
|
1193 |
+
transitionDelay: ''
|
1194 |
+
};
|
1195 |
+
|
1196 |
+
proto.removeTransitionStyles = function() {
|
1197 |
+
// remove transition
|
1198 |
+
this.css( cleanTransitionStyle );
|
1199 |
+
};
|
1200 |
+
|
1201 |
+
// ----- stagger ----- //
|
1202 |
+
|
1203 |
+
proto.stagger = function( delay ) {
|
1204 |
+
delay = isNaN( delay ) ? 0 : delay;
|
1205 |
+
this.staggerDelay = delay + 'ms';
|
1206 |
+
};
|
1207 |
+
|
1208 |
+
// ----- show/hide/remove ----- //
|
1209 |
+
|
1210 |
+
// remove element from DOM
|
1211 |
+
proto.removeElem = function() {
|
1212 |
+
this.element.parentNode.removeChild( this.element );
|
1213 |
+
// remove display: none
|
1214 |
+
this.css({ display: '' });
|
1215 |
+
this.emitEvent( 'remove', [ this ] );
|
1216 |
+
};
|
1217 |
+
|
1218 |
+
proto.remove = function() {
|
1219 |
+
// just remove element if no transition support or no transition
|
1220 |
+
if ( !transitionProperty || !parseFloat( this.layout.options.transitionDuration ) ) {
|
1221 |
+
this.removeElem();
|
1222 |
+
return;
|
1223 |
+
}
|
1224 |
+
|
1225 |
+
// start transition
|
1226 |
+
this.once( 'transitionEnd', function() {
|
1227 |
+
this.removeElem();
|
1228 |
+
});
|
1229 |
+
this.hide();
|
1230 |
+
};
|
1231 |
+
|
1232 |
+
proto.reveal = function() {
|
1233 |
+
delete this.isHidden;
|
1234 |
+
// remove display: none
|
1235 |
+
this.css({ display: '' });
|
1236 |
+
|
1237 |
+
var options = this.layout.options;
|
1238 |
+
|
1239 |
+
var onTransitionEnd = {};
|
1240 |
+
var transitionEndProperty = this.getHideRevealTransitionEndProperty('visibleStyle');
|
1241 |
+
onTransitionEnd[ transitionEndProperty ] = this.onRevealTransitionEnd;
|
1242 |
+
|
1243 |
+
this.transition({
|
1244 |
+
from: options.hiddenStyle,
|
1245 |
+
to: options.visibleStyle,
|
1246 |
+
isCleaning: true,
|
1247 |
+
onTransitionEnd: onTransitionEnd
|
1248 |
+
});
|
1249 |
+
};
|
1250 |
+
|
1251 |
+
proto.onRevealTransitionEnd = function() {
|
1252 |
+
// check if still visible
|
1253 |
+
// during transition, item may have been hidden
|
1254 |
+
if ( !this.isHidden ) {
|
1255 |
+
this.emitEvent('reveal');
|
1256 |
+
}
|
1257 |
+
};
|
1258 |
+
|
1259 |
+
/**
|
1260 |
+
* get style property use for hide/reveal transition end
|
1261 |
+
* @param {String} styleProperty - hiddenStyle/visibleStyle
|
1262 |
+
* @returns {String}
|
1263 |
+
*/
|
1264 |
+
proto.getHideRevealTransitionEndProperty = function( styleProperty ) {
|
1265 |
+
var optionStyle = this.layout.options[ styleProperty ];
|
1266 |
+
// use opacity
|
1267 |
+
if ( optionStyle.opacity ) {
|
1268 |
+
return 'opacity';
|
1269 |
+
}
|
1270 |
+
// get first property
|
1271 |
+
for ( var prop in optionStyle ) {
|
1272 |
+
return prop;
|
1273 |
+
}
|
1274 |
+
};
|
1275 |
+
|
1276 |
+
proto.hide = function() {
|
1277 |
+
// set flag
|
1278 |
+
this.isHidden = true;
|
1279 |
+
// remove display: none
|
1280 |
+
this.css({ display: '' });
|
1281 |
+
|
1282 |
+
var options = this.layout.options;
|
1283 |
+
|
1284 |
+
var onTransitionEnd = {};
|
1285 |
+
var transitionEndProperty = this.getHideRevealTransitionEndProperty('hiddenStyle');
|
1286 |
+
onTransitionEnd[ transitionEndProperty ] = this.onHideTransitionEnd;
|
1287 |
+
|
1288 |
+
this.transition({
|
1289 |
+
from: options.visibleStyle,
|
1290 |
+
to: options.hiddenStyle,
|
1291 |
+
// keep hidden stuff hidden
|
1292 |
+
isCleaning: true,
|
1293 |
+
onTransitionEnd: onTransitionEnd
|
1294 |
+
});
|
1295 |
+
};
|
1296 |
+
|
1297 |
+
proto.onHideTransitionEnd = function() {
|
1298 |
+
// check if still hidden
|
1299 |
+
// during transition, item may have been un-hidden
|
1300 |
+
if ( this.isHidden ) {
|
1301 |
+
this.css({ display: 'none' });
|
1302 |
+
this.emitEvent('hide');
|
1303 |
+
}
|
1304 |
+
};
|
1305 |
+
|
1306 |
+
proto.destroy = function() {
|
1307 |
+
this.css({
|
1308 |
+
position: '',
|
1309 |
+
left: '',
|
1310 |
+
right: '',
|
1311 |
+
top: '',
|
1312 |
+
bottom: '',
|
1313 |
+
transition: '',
|
1314 |
+
transform: ''
|
1315 |
+
});
|
1316 |
+
};
|
1317 |
+
|
1318 |
+
return Item;
|
1319 |
+
|
1320 |
+
}));
|
1321 |
+
|
1322 |
+
/*!
|
1323 |
+
* Outlayer v2.1.0
|
1324 |
+
* the brains and guts of a layout library
|
1325 |
+
* MIT license
|
1326 |
+
*/
|
1327 |
+
|
1328 |
+
( function( window, factory ) {
|
1329 |
+
'use strict';
|
1330 |
+
// universal module definition
|
1331 |
+
/* jshint strict: false */ /* globals define, module, require */
|
1332 |
+
if ( typeof define == 'function' && define.amd ) {
|
1333 |
+
// AMD - RequireJS
|
1334 |
+
define( 'outlayer/outlayer',[
|
1335 |
+
'ev-emitter/ev-emitter',
|
1336 |
+
'get-size/get-size',
|
1337 |
+
'fizzy-ui-utils/utils',
|
1338 |
+
'./item'
|
1339 |
+
],
|
1340 |
+
function( EvEmitter, getSize, utils, Item ) {
|
1341 |
+
return factory( window, EvEmitter, getSize, utils, Item);
|
1342 |
+
}
|
1343 |
+
);
|
1344 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
1345 |
+
// CommonJS - Browserify, Webpack
|
1346 |
+
module.exports = factory(
|
1347 |
+
window,
|
1348 |
+
require('ev-emitter'),
|
1349 |
+
require('get-size'),
|
1350 |
+
require('fizzy-ui-utils'),
|
1351 |
+
require('./item')
|
1352 |
+
);
|
1353 |
+
} else {
|
1354 |
+
// browser global
|
1355 |
+
window.Outlayer = factory(
|
1356 |
+
window,
|
1357 |
+
window.EvEmitter,
|
1358 |
+
window.getSize,
|
1359 |
+
window.fizzyUIUtils,
|
1360 |
+
window.Outlayer.Item
|
1361 |
+
);
|
1362 |
+
}
|
1363 |
+
|
1364 |
+
}( window, function factory( window, EvEmitter, getSize, utils, Item ) {
|
1365 |
+
'use strict';
|
1366 |
+
|
1367 |
+
// ----- vars ----- //
|
1368 |
+
|
1369 |
+
var console = window.console;
|
1370 |
+
var jQuery = window.jQuery;
|
1371 |
+
var noop = function() {};
|
1372 |
+
|
1373 |
+
// -------------------------- Outlayer -------------------------- //
|
1374 |
+
|
1375 |
+
// globally unique identifiers
|
1376 |
+
var GUID = 0;
|
1377 |
+
// internal store of all Outlayer intances
|
1378 |
+
var instances = {};
|
1379 |
+
|
1380 |
+
|
1381 |
+
/**
|
1382 |
+
* @param {Element, String} element
|
1383 |
+
* @param {Object} options
|
1384 |
+
* @constructor
|
1385 |
+
*/
|
1386 |
+
function Outlayer( element, options ) {
|
1387 |
+
var queryElement = utils.getQueryElement( element );
|
1388 |
+
if ( !queryElement ) {
|
1389 |
+
if ( console ) {
|
1390 |
+
console.error( 'Bad element for ' + this.constructor.namespace +
|
1391 |
+
': ' + ( queryElement || element ) );
|
1392 |
+
}
|
1393 |
+
return;
|
1394 |
+
}
|
1395 |
+
this.element = queryElement;
|
1396 |
+
// add jQuery
|
1397 |
+
if ( jQuery ) {
|
1398 |
+
this.$element = jQuery( this.element );
|
1399 |
+
}
|
1400 |
+
|
1401 |
+
// options
|
1402 |
+
this.options = utils.extend( {}, this.constructor.defaults );
|
1403 |
+
this.option( options );
|
1404 |
+
|
1405 |
+
// add id for Outlayer.getFromElement
|
1406 |
+
var id = ++GUID;
|
1407 |
+
this.element.outlayerGUID = id; // expando
|
1408 |
+
instances[ id ] = this; // associate via id
|
1409 |
+
|
1410 |
+
// kick it off
|
1411 |
+
this._create();
|
1412 |
+
|
1413 |
+
var isInitLayout = this._getOption('initLayout');
|
1414 |
+
if ( isInitLayout ) {
|
1415 |
+
this.layout();
|
1416 |
+
}
|
1417 |
+
}
|
1418 |
+
|
1419 |
+
// settings are for internal use only
|
1420 |
+
Outlayer.namespace = 'outlayer';
|
1421 |
+
Outlayer.Item = Item;
|
1422 |
+
|
1423 |
+
// default options
|
1424 |
+
Outlayer.defaults = {
|
1425 |
+
containerStyle: {
|
1426 |
+
position: 'relative'
|
1427 |
+
},
|
1428 |
+
initLayout: true,
|
1429 |
+
originLeft: true,
|
1430 |
+
originTop: true,
|
1431 |
+
resize: true,
|
1432 |
+
resizeContainer: true,
|
1433 |
+
// item options
|
1434 |
+
transitionDuration: '0.4s',
|
1435 |
+
hiddenStyle: {
|
1436 |
+
opacity: 0,
|
1437 |
+
transform: 'scale(0.001)'
|
1438 |
+
},
|
1439 |
+
visibleStyle: {
|
1440 |
+
opacity: 1,
|
1441 |
+
transform: 'scale(1)'
|
1442 |
+
}
|
1443 |
+
};
|
1444 |
+
|
1445 |
+
var proto = Outlayer.prototype;
|
1446 |
+
// inherit EvEmitter
|
1447 |
+
utils.extend( proto, EvEmitter.prototype );
|
1448 |
+
|
1449 |
+
/**
|
1450 |
+
* set options
|
1451 |
+
* @param {Object} opts
|
1452 |
+
*/
|
1453 |
+
proto.option = function( opts ) {
|
1454 |
+
utils.extend( this.options, opts );
|
1455 |
+
};
|
1456 |
+
|
1457 |
+
/**
|
1458 |
+
* get backwards compatible option value, check old name
|
1459 |
+
*/
|
1460 |
+
proto._getOption = function( option ) {
|
1461 |
+
var oldOption = this.constructor.compatOptions[ option ];
|
1462 |
+
return oldOption && this.options[ oldOption ] !== undefined ?
|
1463 |
+
this.options[ oldOption ] : this.options[ option ];
|
1464 |
+
};
|
1465 |
+
|
1466 |
+
Outlayer.compatOptions = {
|
1467 |
+
// currentName: oldName
|
1468 |
+
initLayout: 'isInitLayout',
|
1469 |
+
horizontal: 'isHorizontal',
|
1470 |
+
layoutInstant: 'isLayoutInstant',
|
1471 |
+
originLeft: 'isOriginLeft',
|
1472 |
+
originTop: 'isOriginTop',
|
1473 |
+
resize: 'isResizeBound',
|
1474 |
+
resizeContainer: 'isResizingContainer'
|
1475 |
+
};
|
1476 |
+
|
1477 |
+
proto._create = function() {
|
1478 |
+
// get items from children
|
1479 |
+
this.reloadItems();
|
1480 |
+
// elements that affect layout, but are not laid out
|
1481 |
+
this.stamps = [];
|
1482 |
+
this.stamp( this.options.stamp );
|
1483 |
+
// set container style
|
1484 |
+
utils.extend( this.element.style, this.options.containerStyle );
|
1485 |
+
|
1486 |
+
// bind resize method
|
1487 |
+
var canBindResize = this._getOption('resize');
|
1488 |
+
if ( canBindResize ) {
|
1489 |
+
this.bindResize();
|
1490 |
+
}
|
1491 |
+
};
|
1492 |
+
|
1493 |
+
// goes through all children again and gets bricks in proper order
|
1494 |
+
proto.reloadItems = function() {
|
1495 |
+
// collection of item elements
|
1496 |
+
this.items = this._itemize( this.element.children );
|
1497 |
+
};
|
1498 |
+
|
1499 |
+
|
1500 |
+
/**
|
1501 |
+
* turn elements into Outlayer.Items to be used in layout
|
1502 |
+
* @param {Array or NodeList or HTMLElement} elems
|
1503 |
+
* @returns {Array} items - collection of new Outlayer Items
|
1504 |
+
*/
|
1505 |
+
proto._itemize = function( elems ) {
|
1506 |
+
|
1507 |
+
var itemElems = this._filterFindItemElements( elems );
|
1508 |
+
var Item = this.constructor.Item;
|
1509 |
+
|
1510 |
+
// create new Outlayer Items for collection
|
1511 |
+
var items = [];
|
1512 |
+
for ( var i=0; i < itemElems.length; i++ ) {
|
1513 |
+
var elem = itemElems[i];
|
1514 |
+
var item = new Item( elem, this );
|
1515 |
+
items.push( item );
|
1516 |
+
}
|
1517 |
+
|
1518 |
+
return items;
|
1519 |
+
};
|
1520 |
+
|
1521 |
+
/**
|
1522 |
+
* get item elements to be used in layout
|
1523 |
+
* @param {Array or NodeList or HTMLElement} elems
|
1524 |
+
* @returns {Array} items - item elements
|
1525 |
+
*/
|
1526 |
+
proto._filterFindItemElements = function( elems ) {
|
1527 |
+
return utils.filterFindElements( elems, this.options.itemSelector );
|
1528 |
+
};
|
1529 |
+
|
1530 |
+
/**
|
1531 |
+
* getter method for getting item elements
|
1532 |
+
* @returns {Array} elems - collection of item elements
|
1533 |
+
*/
|
1534 |
+
proto.getItemElements = function() {
|
1535 |
+
return this.items.map( function( item ) {
|
1536 |
+
return item.element;
|
1537 |
+
});
|
1538 |
+
};
|
1539 |
+
|
1540 |
+
// ----- init & layout ----- //
|
1541 |
+
|
1542 |
+
/**
|
1543 |
+
* lays out all items
|
1544 |
+
*/
|
1545 |
+
proto.layout = function() {
|
1546 |
+
this._resetLayout();
|
1547 |
+
this._manageStamps();
|
1548 |
+
|
1549 |
+
// don't animate first layout
|
1550 |
+
var layoutInstant = this._getOption('layoutInstant');
|
1551 |
+
var isInstant = layoutInstant !== undefined ?
|
1552 |
+
layoutInstant : !this._isLayoutInited;
|
1553 |
+
this.layoutItems( this.items, isInstant );
|
1554 |
+
|
1555 |
+
// flag for initalized
|
1556 |
+
this._isLayoutInited = true;
|
1557 |
+
};
|
1558 |
+
|
1559 |
+
// _init is alias for layout
|
1560 |
+
proto._init = proto.layout;
|
1561 |
+
|
1562 |
+
/**
|
1563 |
+
* logic before any new layout
|
1564 |
+
*/
|
1565 |
+
proto._resetLayout = function() {
|
1566 |
+
this.getSize();
|
1567 |
+
};
|
1568 |
+
|
1569 |
+
|
1570 |
+
proto.getSize = function() {
|
1571 |
+
this.size = getSize( this.element );
|
1572 |
+
};
|
1573 |
+
|
1574 |
+
/**
|
1575 |
+
* get measurement from option, for columnWidth, rowHeight, gutter
|
1576 |
+
* if option is String -> get element from selector string, & get size of element
|
1577 |
+
* if option is Element -> get size of element
|
1578 |
+
* else use option as a number
|
1579 |
+
*
|
1580 |
+
* @param {String} measurement
|
1581 |
+
* @param {String} size - width or height
|
1582 |
+
* @private
|
1583 |
+
*/
|
1584 |
+
proto._getMeasurement = function( measurement, size ) {
|
1585 |
+
var option = this.options[ measurement ];
|
1586 |
+
var elem;
|
1587 |
+
if ( !option ) {
|
1588 |
+
// default to 0
|
1589 |
+
this[ measurement ] = 0;
|
1590 |
+
} else {
|
1591 |
+
// use option as an element
|
1592 |
+
if ( typeof option == 'string' ) {
|
1593 |
+
elem = this.element.querySelector( option );
|
1594 |
+
} else if ( option instanceof HTMLElement ) {
|
1595 |
+
elem = option;
|
1596 |
+
}
|
1597 |
+
// use size of element, if element
|
1598 |
+
this[ measurement ] = elem ? getSize( elem )[ size ] : option;
|
1599 |
+
}
|
1600 |
+
};
|
1601 |
+
|
1602 |
+
/**
|
1603 |
+
* layout a collection of item elements
|
1604 |
+
* @api public
|
1605 |
+
*/
|
1606 |
+
proto.layoutItems = function( items, isInstant ) {
|
1607 |
+
items = this._getItemsForLayout( items );
|
1608 |
+
|
1609 |
+
this._layoutItems( items, isInstant );
|
1610 |
+
|
1611 |
+
this._postLayout();
|
1612 |
+
};
|
1613 |
+
|
1614 |
+
/**
|
1615 |
+
* get the items to be laid out
|
1616 |
+
* you may want to skip over some items
|
1617 |
+
* @param {Array} items
|
1618 |
+
* @returns {Array} items
|
1619 |
+
*/
|
1620 |
+
proto._getItemsForLayout = function( items ) {
|
1621 |
+
return items.filter( function( item ) {
|
1622 |
+
return !item.isIgnored;
|
1623 |
+
});
|
1624 |
+
};
|
1625 |
+
|
1626 |
+
/**
|
1627 |
+
* layout items
|
1628 |
+
* @param {Array} items
|
1629 |
+
* @param {Boolean} isInstant
|
1630 |
+
*/
|
1631 |
+
proto._layoutItems = function( items, isInstant ) {
|
1632 |
+
this._emitCompleteOnItems( 'layout', items );
|
1633 |
+
|
1634 |
+
if ( !items || !items.length ) {
|
1635 |
+
// no items, emit event with empty array
|
1636 |
+
return;
|
1637 |
+
}
|
1638 |
+
|
1639 |
+
var queue = [];
|
1640 |
+
|
1641 |
+
items.forEach( function( item ) {
|
1642 |
+
// get x/y object from method
|
1643 |
+
var position = this._getItemLayoutPosition( item );
|
1644 |
+
// enqueue
|
1645 |
+
position.item = item;
|
1646 |
+
position.isInstant = isInstant || item.isLayoutInstant;
|
1647 |
+
queue.push( position );
|
1648 |
+
}, this );
|
1649 |
+
|
1650 |
+
this._processLayoutQueue( queue );
|
1651 |
+
};
|
1652 |
+
|
1653 |
+
/**
|
1654 |
+
* get item layout position
|
1655 |
+
* @param {Outlayer.Item} item
|
1656 |
+
* @returns {Object} x and y position
|
1657 |
+
*/
|
1658 |
+
proto._getItemLayoutPosition = function( /* item */ ) {
|
1659 |
+
return {
|
1660 |
+
x: 0,
|
1661 |
+
y: 0
|
1662 |
+
};
|
1663 |
+
};
|
1664 |
+
|
1665 |
+
/**
|
1666 |
+
* iterate over array and position each item
|
1667 |
+
* Reason being - separating this logic prevents 'layout invalidation'
|
1668 |
+
* thx @paul_irish
|
1669 |
+
* @param {Array} queue
|
1670 |
+
*/
|
1671 |
+
proto._processLayoutQueue = function( queue ) {
|
1672 |
+
this.updateStagger();
|
1673 |
+
queue.forEach( function( obj, i ) {
|
1674 |
+
this._positionItem( obj.item, obj.x, obj.y, obj.isInstant, i );
|
1675 |
+
}, this );
|
1676 |
+
};
|
1677 |
+
|
1678 |
+
// set stagger from option in milliseconds number
|
1679 |
+
proto.updateStagger = function() {
|
1680 |
+
var stagger = this.options.stagger;
|
1681 |
+
if ( stagger === null || stagger === undefined ) {
|
1682 |
+
this.stagger = 0;
|
1683 |
+
return;
|
1684 |
+
}
|
1685 |
+
this.stagger = getMilliseconds( stagger );
|
1686 |
+
return this.stagger;
|
1687 |
+
};
|
1688 |
+
|
1689 |
+
/**
|
1690 |
+
* Sets position of item in DOM
|
1691 |
+
* @param {Outlayer.Item} item
|
1692 |
+
* @param {Number} x - horizontal position
|
1693 |
+
* @param {Number} y - vertical position
|
1694 |
+
* @param {Boolean} isInstant - disables transitions
|
1695 |
+
*/
|
1696 |
+
proto._positionItem = function( item, x, y, isInstant, i ) {
|
1697 |
+
if ( isInstant ) {
|
1698 |
+
// if not transition, just set CSS
|
1699 |
+
item.goTo( x, y );
|
1700 |
+
} else {
|
1701 |
+
item.stagger( i * this.stagger );
|
1702 |
+
item.moveTo( x, y );
|
1703 |
+
}
|
1704 |
+
};
|
1705 |
+
|
1706 |
+
/**
|
1707 |
+
* Any logic you want to do after each layout,
|
1708 |
+
* i.e. size the container
|
1709 |
+
*/
|
1710 |
+
proto._postLayout = function() {
|
1711 |
+
this.resizeContainer();
|
1712 |
+
};
|
1713 |
+
|
1714 |
+
proto.resizeContainer = function() {
|
1715 |
+
var isResizingContainer = this._getOption('resizeContainer');
|
1716 |
+
if ( !isResizingContainer ) {
|
1717 |
+
return;
|
1718 |
+
}
|
1719 |
+
var size = this._getContainerSize();
|
1720 |
+
if ( size ) {
|
1721 |
+
this._setContainerMeasure( size.width, true );
|
1722 |
+
this._setContainerMeasure( size.height, false );
|
1723 |
+
}
|
1724 |
+
};
|
1725 |
+
|
1726 |
+
/**
|
1727 |
+
* Sets width or height of container if returned
|
1728 |
+
* @returns {Object} size
|
1729 |
+
* @param {Number} width
|
1730 |
+
* @param {Number} height
|
1731 |
+
*/
|
1732 |
+
proto._getContainerSize = noop;
|
1733 |
+
|
1734 |
+
/**
|
1735 |
+
* @param {Number} measure - size of width or height
|
1736 |
+
* @param {Boolean} isWidth
|
1737 |
+
*/
|
1738 |
+
proto._setContainerMeasure = function( measure, isWidth ) {
|
1739 |
+
if ( measure === undefined ) {
|
1740 |
+
return;
|
1741 |
+
}
|
1742 |
+
|
1743 |
+
var elemSize = this.size;
|
1744 |
+
// add padding and border width if border box
|
1745 |
+
if ( elemSize.isBorderBox ) {
|
1746 |
+
measure += isWidth ? elemSize.paddingLeft + elemSize.paddingRight +
|
1747 |
+
elemSize.borderLeftWidth + elemSize.borderRightWidth :
|
1748 |
+
elemSize.paddingBottom + elemSize.paddingTop +
|
1749 |
+
elemSize.borderTopWidth + elemSize.borderBottomWidth;
|
1750 |
+
}
|
1751 |
+
|
1752 |
+
measure = Math.max( measure, 0 );
|
1753 |
+
this.element.style[ isWidth ? 'width' : 'height' ] = measure + 'px';
|
1754 |
+
};
|
1755 |
+
|
1756 |
+
/**
|
1757 |
+
* emit eventComplete on a collection of items events
|
1758 |
+
* @param {String} eventName
|
1759 |
+
* @param {Array} items - Outlayer.Items
|
1760 |
+
*/
|
1761 |
+
proto._emitCompleteOnItems = function( eventName, items ) {
|
1762 |
+
var _this = this;
|
1763 |
+
function onComplete() {
|
1764 |
+
_this.dispatchEvent( eventName + 'Complete', null, [ items ] );
|
1765 |
+
}
|
1766 |
+
|
1767 |
+
var count = items.length;
|
1768 |
+
if ( !items || !count ) {
|
1769 |
+
onComplete();
|
1770 |
+
return;
|
1771 |
+
}
|
1772 |
+
|
1773 |
+
var doneCount = 0;
|
1774 |
+
function tick() {
|
1775 |
+
doneCount++;
|
1776 |
+
if ( doneCount == count ) {
|
1777 |
+
onComplete();
|
1778 |
+
}
|
1779 |
+
}
|
1780 |
+
|
1781 |
+
// bind callback
|
1782 |
+
items.forEach( function( item ) {
|
1783 |
+
item.once( eventName, tick );
|
1784 |
+
});
|
1785 |
+
};
|
1786 |
+
|
1787 |
+
/**
|
1788 |
+
* emits events via EvEmitter and jQuery events
|
1789 |
+
* @param {String} type - name of event
|
1790 |
+
* @param {Event} event - original event
|
1791 |
+
* @param {Array} args - extra arguments
|
1792 |
+
*/
|
1793 |
+
proto.dispatchEvent = function( type, event, args ) {
|
1794 |
+
// add original event to arguments
|
1795 |
+
var emitArgs = event ? [ event ].concat( args ) : args;
|
1796 |
+
this.emitEvent( type, emitArgs );
|
1797 |
+
|
1798 |
+
if ( jQuery ) {
|
1799 |
+
// set this.$element
|
1800 |
+
this.$element = this.$element || jQuery( this.element );
|
1801 |
+
if ( event ) {
|
1802 |
+
// create jQuery event
|
1803 |
+
var $event = jQuery.Event( event );
|
1804 |
+
$event.type = type;
|
1805 |
+
this.$element.trigger( $event, args );
|
1806 |
+
} else {
|
1807 |
+
// just trigger with type if no event available
|
1808 |
+
this.$element.trigger( type, args );
|
1809 |
+
}
|
1810 |
+
}
|
1811 |
+
};
|
1812 |
+
|
1813 |
+
// -------------------------- ignore & stamps -------------------------- //
|
1814 |
+
|
1815 |
+
|
1816 |
+
/**
|
1817 |
+
* keep item in collection, but do not lay it out
|
1818 |
+
* ignored items do not get skipped in layout
|
1819 |
+
* @param {Element} elem
|
1820 |
+
*/
|
1821 |
+
proto.ignore = function( elem ) {
|
1822 |
+
var item = this.getItem( elem );
|
1823 |
+
if ( item ) {
|
1824 |
+
item.isIgnored = true;
|
1825 |
+
}
|
1826 |
+
};
|
1827 |
+
|
1828 |
+
/**
|
1829 |
+
* return item to layout collection
|
1830 |
+
* @param {Element} elem
|
1831 |
+
*/
|
1832 |
+
proto.unignore = function( elem ) {
|
1833 |
+
var item = this.getItem( elem );
|
1834 |
+
if ( item ) {
|
1835 |
+
delete item.isIgnored;
|
1836 |
+
}
|
1837 |
+
};
|
1838 |
+
|
1839 |
+
/**
|
1840 |
+
* adds elements to stamps
|
1841 |
+
* @param {NodeList, Array, Element, or String} elems
|
1842 |
+
*/
|
1843 |
+
proto.stamp = function( elems ) {
|
1844 |
+
elems = this._find( elems );
|
1845 |
+
if ( !elems ) {
|
1846 |
+
return;
|
1847 |
+
}
|
1848 |
+
|
1849 |
+
this.stamps = this.stamps.concat( elems );
|
1850 |
+
// ignore
|
1851 |
+
elems.forEach( this.ignore, this );
|
1852 |
+
};
|
1853 |
+
|
1854 |
+
/**
|
1855 |
+
* removes elements to stamps
|
1856 |
+
* @param {NodeList, Array, or Element} elems
|
1857 |
+
*/
|
1858 |
+
proto.unstamp = function( elems ) {
|
1859 |
+
elems = this._find( elems );
|
1860 |
+
if ( !elems ){
|
1861 |
+
return;
|
1862 |
+
}
|
1863 |
+
|
1864 |
+
elems.forEach( function( elem ) {
|
1865 |
+
// filter out removed stamp elements
|
1866 |
+
utils.removeFrom( this.stamps, elem );
|
1867 |
+
this.unignore( elem );
|
1868 |
+
}, this );
|
1869 |
+
};
|
1870 |
+
|
1871 |
+
/**
|
1872 |
+
* finds child elements
|
1873 |
+
* @param {NodeList, Array, Element, or String} elems
|
1874 |
+
* @returns {Array} elems
|
1875 |
+
*/
|
1876 |
+
proto._find = function( elems ) {
|
1877 |
+
if ( !elems ) {
|
1878 |
+
return;
|
1879 |
+
}
|
1880 |
+
// if string, use argument as selector string
|
1881 |
+
if ( typeof elems == 'string' ) {
|
1882 |
+
elems = this.element.querySelectorAll( elems );
|
1883 |
+
}
|
1884 |
+
elems = utils.makeArray( elems );
|
1885 |
+
return elems;
|
1886 |
+
};
|
1887 |
+
|
1888 |
+
proto._manageStamps = function() {
|
1889 |
+
if ( !this.stamps || !this.stamps.length ) {
|
1890 |
+
return;
|
1891 |
+
}
|
1892 |
+
|
1893 |
+
this._getBoundingRect();
|
1894 |
+
|
1895 |
+
this.stamps.forEach( this._manageStamp, this );
|
1896 |
+
};
|
1897 |
+
|
1898 |
+
// update boundingLeft / Top
|
1899 |
+
proto._getBoundingRect = function() {
|
1900 |
+
// get bounding rect for container element
|
1901 |
+
var boundingRect = this.element.getBoundingClientRect();
|
1902 |
+
var size = this.size;
|
1903 |
+
this._boundingRect = {
|
1904 |
+
left: boundingRect.left + size.paddingLeft + size.borderLeftWidth,
|
1905 |
+
top: boundingRect.top + size.paddingTop + size.borderTopWidth,
|
1906 |
+
right: boundingRect.right - ( size.paddingRight + size.borderRightWidth ),
|
1907 |
+
bottom: boundingRect.bottom - ( size.paddingBottom + size.borderBottomWidth )
|
1908 |
+
};
|
1909 |
+
};
|
1910 |
+
|
1911 |
+
/**
|
1912 |
+
* @param {Element} stamp
|
1913 |
+
**/
|
1914 |
+
proto._manageStamp = noop;
|
1915 |
+
|
1916 |
+
/**
|
1917 |
+
* get x/y position of element relative to container element
|
1918 |
+
* @param {Element} elem
|
1919 |
+
* @returns {Object} offset - has left, top, right, bottom
|
1920 |
+
*/
|
1921 |
+
proto._getElementOffset = function( elem ) {
|
1922 |
+
var boundingRect = elem.getBoundingClientRect();
|
1923 |
+
var thisRect = this._boundingRect;
|
1924 |
+
var size = getSize( elem );
|
1925 |
+
var offset = {
|
1926 |
+
left: boundingRect.left - thisRect.left - size.marginLeft,
|
1927 |
+
top: boundingRect.top - thisRect.top - size.marginTop,
|
1928 |
+
right: thisRect.right - boundingRect.right - size.marginRight,
|
1929 |
+
bottom: thisRect.bottom - boundingRect.bottom - size.marginBottom
|
1930 |
+
};
|
1931 |
+
return offset;
|
1932 |
+
};
|
1933 |
+
|
1934 |
+
// -------------------------- resize -------------------------- //
|
1935 |
+
|
1936 |
+
// enable event handlers for listeners
|
1937 |
+
// i.e. resize -> onresize
|
1938 |
+
proto.handleEvent = utils.handleEvent;
|
1939 |
+
|
1940 |
+
/**
|
1941 |
+
* Bind layout to window resizing
|
1942 |
+
*/
|
1943 |
+
proto.bindResize = function() {
|
1944 |
+
window.addEventListener( 'resize', this );
|
1945 |
+
this.isResizeBound = true;
|
1946 |
+
};
|
1947 |
+
|
1948 |
+
/**
|
1949 |
+
* Unbind layout to window resizing
|
1950 |
+
*/
|
1951 |
+
proto.unbindResize = function() {
|
1952 |
+
window.removeEventListener( 'resize', this );
|
1953 |
+
this.isResizeBound = false;
|
1954 |
+
};
|
1955 |
+
|
1956 |
+
proto.onresize = function() {
|
1957 |
+
this.resize();
|
1958 |
+
};
|
1959 |
+
|
1960 |
+
utils.debounceMethod( Outlayer, 'onresize', 100 );
|
1961 |
+
|
1962 |
+
proto.resize = function() {
|
1963 |
+
// don't trigger if size did not change
|
1964 |
+
// or if resize was unbound. See #9
|
1965 |
+
if ( !this.isResizeBound || !this.needsResizeLayout() ) {
|
1966 |
+
return;
|
1967 |
+
}
|
1968 |
+
|
1969 |
+
this.layout();
|
1970 |
+
};
|
1971 |
+
|
1972 |
+
/**
|
1973 |
+
* check if layout is needed post layout
|
1974 |
+
* @returns Boolean
|
1975 |
+
*/
|
1976 |
+
proto.needsResizeLayout = function() {
|
1977 |
+
var size = getSize( this.element );
|
1978 |
+
// check that this.size and size are there
|
1979 |
+
// IE8 triggers resize on body size change, so they might not be
|
1980 |
+
var hasSizes = this.size && size;
|
1981 |
+
return hasSizes && size.innerWidth !== this.size.innerWidth;
|
1982 |
+
};
|
1983 |
+
|
1984 |
+
// -------------------------- methods -------------------------- //
|
1985 |
+
|
1986 |
+
/**
|
1987 |
+
* add items to Outlayer instance
|
1988 |
+
* @param {Array or NodeList or Element} elems
|
1989 |
+
* @returns {Array} items - Outlayer.Items
|
1990 |
+
**/
|
1991 |
+
proto.addItems = function( elems ) {
|
1992 |
+
var items = this._itemize( elems );
|
1993 |
+
// add items to collection
|
1994 |
+
if ( items.length ) {
|
1995 |
+
this.items = this.items.concat( items );
|
1996 |
+
}
|
1997 |
+
return items;
|
1998 |
+
};
|
1999 |
+
|
2000 |
+
/**
|
2001 |
+
* Layout newly-appended item elements
|
2002 |
+
* @param {Array or NodeList or Element} elems
|
2003 |
+
*/
|
2004 |
+
proto.appended = function( elems ) {
|
2005 |
+
var items = this.addItems( elems );
|
2006 |
+
if ( !items.length ) {
|
2007 |
+
return;
|
2008 |
+
}
|
2009 |
+
// layout and reveal just the new items
|
2010 |
+
this.layoutItems( items, true );
|
2011 |
+
this.reveal( items );
|
2012 |
+
};
|
2013 |
+
|
2014 |
+
/**
|
2015 |
+
* Layout prepended elements
|
2016 |
+
* @param {Array or NodeList or Element} elems
|
2017 |
+
*/
|
2018 |
+
proto.prepended = function( elems ) {
|
2019 |
+
var items = this._itemize( elems );
|
2020 |
+
if ( !items.length ) {
|
2021 |
+
return;
|
2022 |
+
}
|
2023 |
+
// add items to beginning of collection
|
2024 |
+
var previousItems = this.items.slice(0);
|
2025 |
+
this.items = items.concat( previousItems );
|
2026 |
+
// start new layout
|
2027 |
+
this._resetLayout();
|
2028 |
+
this._manageStamps();
|
2029 |
+
// layout new stuff without transition
|
2030 |
+
this.layoutItems( items, true );
|
2031 |
+
this.reveal( items );
|
2032 |
+
// layout previous items
|
2033 |
+
this.layoutItems( previousItems );
|
2034 |
+
};
|
2035 |
+
|
2036 |
+
/**
|
2037 |
+
* reveal a collection of items
|
2038 |
+
* @param {Array of Outlayer.Items} items
|
2039 |
+
*/
|
2040 |
+
proto.reveal = function( items ) {
|
2041 |
+
this._emitCompleteOnItems( 'reveal', items );
|
2042 |
+
if ( !items || !items.length ) {
|
2043 |
+
return;
|
2044 |
+
}
|
2045 |
+
var stagger = this.updateStagger();
|
2046 |
+
items.forEach( function( item, i ) {
|
2047 |
+
item.stagger( i * stagger );
|
2048 |
+
item.reveal();
|
2049 |
+
});
|
2050 |
+
};
|
2051 |
+
|
2052 |
+
/**
|
2053 |
+
* hide a collection of items
|
2054 |
+
* @param {Array of Outlayer.Items} items
|
2055 |
+
*/
|
2056 |
+
proto.hide = function( items ) {
|
2057 |
+
this._emitCompleteOnItems( 'hide', items );
|
2058 |
+
if ( !items || !items.length ) {
|
2059 |
+
return;
|
2060 |
+
}
|
2061 |
+
var stagger = this.updateStagger();
|
2062 |
+
items.forEach( function( item, i ) {
|
2063 |
+
item.stagger( i * stagger );
|
2064 |
+
item.hide();
|
2065 |
+
});
|
2066 |
+
};
|
2067 |
+
|
2068 |
+
/**
|
2069 |
+
* reveal item elements
|
2070 |
+
* @param {Array}, {Element}, {NodeList} items
|
2071 |
+
*/
|
2072 |
+
proto.revealItemElements = function( elems ) {
|
2073 |
+
var items = this.getItems( elems );
|
2074 |
+
this.reveal( items );
|
2075 |
+
};
|
2076 |
+
|
2077 |
+
/**
|
2078 |
+
* hide item elements
|
2079 |
+
* @param {Array}, {Element}, {NodeList} items
|
2080 |
+
*/
|
2081 |
+
proto.hideItemElements = function( elems ) {
|
2082 |
+
var items = this.getItems( elems );
|
2083 |
+
this.hide( items );
|
2084 |
+
};
|
2085 |
+
|
2086 |
+
/**
|
2087 |
+
* get Outlayer.Item, given an Element
|
2088 |
+
* @param {Element} elem
|
2089 |
+
* @param {Function} callback
|
2090 |
+
* @returns {Outlayer.Item} item
|
2091 |
+
*/
|
2092 |
+
proto.getItem = function( elem ) {
|
2093 |
+
// loop through items to get the one that matches
|
2094 |
+
for ( var i=0; i < this.items.length; i++ ) {
|
2095 |
+
var item = this.items[i];
|
2096 |
+
if ( item.element == elem ) {
|
2097 |
+
// return item
|
2098 |
+
return item;
|
2099 |
+
}
|
2100 |
+
}
|
2101 |
+
};
|
2102 |
+
|
2103 |
+
/**
|
2104 |
+
* get collection of Outlayer.Items, given Elements
|
2105 |
+
* @param {Array} elems
|
2106 |
+
* @returns {Array} items - Outlayer.Items
|
2107 |
+
*/
|
2108 |
+
proto.getItems = function( elems ) {
|
2109 |
+
elems = utils.makeArray( elems );
|
2110 |
+
var items = [];
|
2111 |
+
elems.forEach( function( elem ) {
|
2112 |
+
var item = this.getItem( elem );
|
2113 |
+
if ( item ) {
|
2114 |
+
items.push( item );
|
2115 |
+
}
|
2116 |
+
}, this );
|
2117 |
+
|
2118 |
+
return items;
|
2119 |
+
};
|
2120 |
+
|
2121 |
+
/**
|
2122 |
+
* remove element(s) from instance and DOM
|
2123 |
+
* @param {Array or NodeList or Element} elems
|
2124 |
+
*/
|
2125 |
+
proto.remove = function( elems ) {
|
2126 |
+
var removeItems = this.getItems( elems );
|
2127 |
+
|
2128 |
+
this._emitCompleteOnItems( 'remove', removeItems );
|
2129 |
+
|
2130 |
+
// bail if no items to remove
|
2131 |
+
if ( !removeItems || !removeItems.length ) {
|
2132 |
+
return;
|
2133 |
+
}
|
2134 |
+
|
2135 |
+
removeItems.forEach( function( item ) {
|
2136 |
+
item.remove();
|
2137 |
+
// remove item from collection
|
2138 |
+
utils.removeFrom( this.items, item );
|
2139 |
+
}, this );
|
2140 |
+
};
|
2141 |
+
|
2142 |
+
// ----- destroy ----- //
|
2143 |
+
|
2144 |
+
// remove and disable Outlayer instance
|
2145 |
+
proto.destroy = function() {
|
2146 |
+
// clean up dynamic styles
|
2147 |
+
var style = this.element.style;
|
2148 |
+
style.height = '';
|
2149 |
+
style.position = '';
|
2150 |
+
style.width = '';
|
2151 |
+
// destroy items
|
2152 |
+
this.items.forEach( function( item ) {
|
2153 |
+
item.destroy();
|
2154 |
+
});
|
2155 |
+
|
2156 |
+
this.unbindResize();
|
2157 |
+
|
2158 |
+
var id = this.element.outlayerGUID;
|
2159 |
+
delete instances[ id ]; // remove reference to instance by id
|
2160 |
+
delete this.element.outlayerGUID;
|
2161 |
+
// remove data for jQuery
|
2162 |
+
if ( jQuery ) {
|
2163 |
+
jQuery.removeData( this.element, this.constructor.namespace );
|
2164 |
+
}
|
2165 |
+
|
2166 |
+
};
|
2167 |
+
|
2168 |
+
// -------------------------- data -------------------------- //
|
2169 |
+
|
2170 |
+
/**
|
2171 |
+
* get Outlayer instance from element
|
2172 |
+
* @param {Element} elem
|
2173 |
+
* @returns {Outlayer}
|
2174 |
+
*/
|
2175 |
+
Outlayer.data = function( elem ) {
|
2176 |
+
elem = utils.getQueryElement( elem );
|
2177 |
+
var id = elem && elem.outlayerGUID;
|
2178 |
+
return id && instances[ id ];
|
2179 |
+
};
|
2180 |
+
|
2181 |
+
|
2182 |
+
// -------------------------- create Outlayer class -------------------------- //
|
2183 |
+
|
2184 |
+
/**
|
2185 |
+
* create a layout class
|
2186 |
+
* @param {String} namespace
|
2187 |
+
*/
|
2188 |
+
Outlayer.create = function( namespace, options ) {
|
2189 |
+
// sub-class Outlayer
|
2190 |
+
var Layout = subclass( Outlayer );
|
2191 |
+
// apply new options and compatOptions
|
2192 |
+
Layout.defaults = utils.extend( {}, Outlayer.defaults );
|
2193 |
+
utils.extend( Layout.defaults, options );
|
2194 |
+
Layout.compatOptions = utils.extend( {}, Outlayer.compatOptions );
|
2195 |
+
|
2196 |
+
Layout.namespace = namespace;
|
2197 |
+
|
2198 |
+
Layout.data = Outlayer.data;
|
2199 |
+
|
2200 |
+
// sub-class Item
|
2201 |
+
Layout.Item = subclass( Item );
|
2202 |
+
|
2203 |
+
// -------------------------- declarative -------------------------- //
|
2204 |
+
|
2205 |
+
utils.htmlInit( Layout, namespace );
|
2206 |
+
|
2207 |
+
// -------------------------- jQuery bridge -------------------------- //
|
2208 |
+
|
2209 |
+
// make into jQuery plugin
|
2210 |
+
if ( jQuery && jQuery.bridget ) {
|
2211 |
+
jQuery.bridget( namespace, Layout );
|
2212 |
+
}
|
2213 |
+
|
2214 |
+
return Layout;
|
2215 |
+
};
|
2216 |
+
|
2217 |
+
function subclass( Parent ) {
|
2218 |
+
function SubClass() {
|
2219 |
+
Parent.apply( this, arguments );
|
2220 |
+
}
|
2221 |
+
|
2222 |
+
SubClass.prototype = Object.create( Parent.prototype );
|
2223 |
+
SubClass.prototype.constructor = SubClass;
|
2224 |
+
|
2225 |
+
return SubClass;
|
2226 |
+
}
|
2227 |
+
|
2228 |
+
// ----- helpers ----- //
|
2229 |
+
|
2230 |
+
// how many milliseconds are in each unit
|
2231 |
+
var msUnits = {
|
2232 |
+
ms: 1,
|
2233 |
+
s: 1000
|
2234 |
+
};
|
2235 |
+
|
2236 |
+
// munge time-like parameter into millisecond number
|
2237 |
+
// '0.4s' -> 40
|
2238 |
+
function getMilliseconds( time ) {
|
2239 |
+
if ( typeof time == 'number' ) {
|
2240 |
+
return time;
|
2241 |
+
}
|
2242 |
+
var matches = time.match( /(^\d*\.?\d*)(\w*)/ );
|
2243 |
+
var num = matches && matches[1];
|
2244 |
+
var unit = matches && matches[2];
|
2245 |
+
if ( !num.length ) {
|
2246 |
+
return 0;
|
2247 |
+
}
|
2248 |
+
num = parseFloat( num );
|
2249 |
+
var mult = msUnits[ unit ] || 1;
|
2250 |
+
return num * mult;
|
2251 |
+
}
|
2252 |
+
|
2253 |
+
// ----- fin ----- //
|
2254 |
+
|
2255 |
+
// back in global
|
2256 |
+
Outlayer.Item = Item;
|
2257 |
+
|
2258 |
+
return Outlayer;
|
2259 |
+
|
2260 |
+
}));
|
2261 |
+
|
2262 |
+
/**
|
2263 |
+
* Isotope Item
|
2264 |
+
**/
|
2265 |
+
|
2266 |
+
( function( window, factory ) {
|
2267 |
+
// universal module definition
|
2268 |
+
/* jshint strict: false */ /*globals define, module, require */
|
2269 |
+
if ( typeof define == 'function' && define.amd ) {
|
2270 |
+
// AMD
|
2271 |
+
define( 'isotope/js/item',[
|
2272 |
+
'outlayer/outlayer'
|
2273 |
+
],
|
2274 |
+
factory );
|
2275 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
2276 |
+
// CommonJS
|
2277 |
+
module.exports = factory(
|
2278 |
+
require('outlayer')
|
2279 |
+
);
|
2280 |
+
} else {
|
2281 |
+
// browser global
|
2282 |
+
window.Isotope = window.Isotope || {};
|
2283 |
+
window.Isotope.Item = factory(
|
2284 |
+
window.Outlayer
|
2285 |
+
);
|
2286 |
+
}
|
2287 |
+
|
2288 |
+
}( window, function factory( Outlayer ) {
|
2289 |
+
'use strict';
|
2290 |
+
|
2291 |
+
// -------------------------- Item -------------------------- //
|
2292 |
+
|
2293 |
+
// sub-class Outlayer Item
|
2294 |
+
function Item() {
|
2295 |
+
Outlayer.Item.apply( this, arguments );
|
2296 |
+
}
|
2297 |
+
|
2298 |
+
var proto = Item.prototype = Object.create( Outlayer.Item.prototype );
|
2299 |
+
|
2300 |
+
var _create = proto._create;
|
2301 |
+
proto._create = function() {
|
2302 |
+
// assign id, used for original-order sorting
|
2303 |
+
this.id = this.layout.itemGUID++;
|
2304 |
+
_create.call( this );
|
2305 |
+
this.sortData = {};
|
2306 |
+
};
|
2307 |
+
|
2308 |
+
proto.updateSortData = function() {
|
2309 |
+
if ( this.isIgnored ) {
|
2310 |
+
return;
|
2311 |
+
}
|
2312 |
+
// default sorters
|
2313 |
+
this.sortData.id = this.id;
|
2314 |
+
// for backward compatibility
|
2315 |
+
this.sortData['original-order'] = this.id;
|
2316 |
+
this.sortData.random = Math.random();
|
2317 |
+
// go thru getSortData obj and apply the sorters
|
2318 |
+
var getSortData = this.layout.options.getSortData;
|
2319 |
+
var sorters = this.layout._sorters;
|
2320 |
+
for ( var key in getSortData ) {
|
2321 |
+
var sorter = sorters[ key ];
|
2322 |
+
this.sortData[ key ] = sorter( this.element, this );
|
2323 |
+
}
|
2324 |
+
};
|
2325 |
+
|
2326 |
+
var _destroy = proto.destroy;
|
2327 |
+
proto.destroy = function() {
|
2328 |
+
// call super
|
2329 |
+
_destroy.apply( this, arguments );
|
2330 |
+
// reset display, #741
|
2331 |
+
this.css({
|
2332 |
+
display: ''
|
2333 |
+
});
|
2334 |
+
};
|
2335 |
+
|
2336 |
+
return Item;
|
2337 |
+
|
2338 |
+
}));
|
2339 |
+
|
2340 |
+
/**
|
2341 |
+
* Isotope LayoutMode
|
2342 |
+
*/
|
2343 |
+
|
2344 |
+
( function( window, factory ) {
|
2345 |
+
// universal module definition
|
2346 |
+
/* jshint strict: false */ /*globals define, module, require */
|
2347 |
+
if ( typeof define == 'function' && define.amd ) {
|
2348 |
+
// AMD
|
2349 |
+
define( 'isotope/js/layout-mode',[
|
2350 |
+
'get-size/get-size',
|
2351 |
+
'outlayer/outlayer'
|
2352 |
+
],
|
2353 |
+
factory );
|
2354 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
2355 |
+
// CommonJS
|
2356 |
+
module.exports = factory(
|
2357 |
+
require('get-size'),
|
2358 |
+
require('outlayer')
|
2359 |
+
);
|
2360 |
+
} else {
|
2361 |
+
// browser global
|
2362 |
+
window.Isotope = window.Isotope || {};
|
2363 |
+
window.Isotope.LayoutMode = factory(
|
2364 |
+
window.getSize,
|
2365 |
+
window.Outlayer
|
2366 |
+
);
|
2367 |
+
}
|
2368 |
+
|
2369 |
+
}( window, function factory( getSize, Outlayer ) {
|
2370 |
+
'use strict';
|
2371 |
+
|
2372 |
+
// layout mode class
|
2373 |
+
function LayoutMode( isotope ) {
|
2374 |
+
this.isotope = isotope;
|
2375 |
+
// link properties
|
2376 |
+
if ( isotope ) {
|
2377 |
+
this.options = isotope.options[ this.namespace ];
|
2378 |
+
this.element = isotope.element;
|
2379 |
+
this.items = isotope.filteredItems;
|
2380 |
+
this.size = isotope.size;
|
2381 |
+
}
|
2382 |
+
}
|
2383 |
+
|
2384 |
+
var proto = LayoutMode.prototype;
|
2385 |
+
|
2386 |
+
/**
|
2387 |
+
* some methods should just defer to default Outlayer method
|
2388 |
+
* and reference the Isotope instance as `this`
|
2389 |
+
**/
|
2390 |
+
var facadeMethods = [
|
2391 |
+
'_resetLayout',
|
2392 |
+
'_getItemLayoutPosition',
|
2393 |
+
'_manageStamp',
|
2394 |
+
'_getContainerSize',
|
2395 |
+
'_getElementOffset',
|
2396 |
+
'needsResizeLayout',
|
2397 |
+
'_getOption'
|
2398 |
+
];
|
2399 |
+
|
2400 |
+
facadeMethods.forEach( function( methodName ) {
|
2401 |
+
proto[ methodName ] = function() {
|
2402 |
+
return Outlayer.prototype[ methodName ].apply( this.isotope, arguments );
|
2403 |
+
};
|
2404 |
+
});
|
2405 |
+
|
2406 |
+
// ----- ----- //
|
2407 |
+
|
2408 |
+
// for horizontal layout modes, check vertical size
|
2409 |
+
proto.needsVerticalResizeLayout = function() {
|
2410 |
+
// don't trigger if size did not change
|
2411 |
+
var size = getSize( this.isotope.element );
|
2412 |
+
// check that this.size and size are there
|
2413 |
+
// IE8 triggers resize on body size change, so they might not be
|
2414 |
+
var hasSizes = this.isotope.size && size;
|
2415 |
+
return hasSizes && size.innerHeight != this.isotope.size.innerHeight;
|
2416 |
+
};
|
2417 |
+
|
2418 |
+
// ----- measurements ----- //
|
2419 |
+
|
2420 |
+
proto._getMeasurement = function() {
|
2421 |
+
this.isotope._getMeasurement.apply( this, arguments );
|
2422 |
+
};
|
2423 |
+
|
2424 |
+
proto.getColumnWidth = function() {
|
2425 |
+
this.getSegmentSize( 'column', 'Width' );
|
2426 |
+
};
|
2427 |
+
|
2428 |
+
proto.getRowHeight = function() {
|
2429 |
+
this.getSegmentSize( 'row', 'Height' );
|
2430 |
+
};
|
2431 |
+
|
2432 |
+
/**
|
2433 |
+
* get columnWidth or rowHeight
|
2434 |
+
* segment: 'column' or 'row'
|
2435 |
+
* size 'Width' or 'Height'
|
2436 |
+
**/
|
2437 |
+
proto.getSegmentSize = function( segment, size ) {
|
2438 |
+
var segmentName = segment + size;
|
2439 |
+
var outerSize = 'outer' + size;
|
2440 |
+
// columnWidth / outerWidth // rowHeight / outerHeight
|
2441 |
+
this._getMeasurement( segmentName, outerSize );
|
2442 |
+
// got rowHeight or columnWidth, we can chill
|
2443 |
+
if ( this[ segmentName ] ) {
|
2444 |
+
return;
|
2445 |
+
}
|
2446 |
+
// fall back to item of first element
|
2447 |
+
var firstItemSize = this.getFirstItemSize();
|
2448 |
+
this[ segmentName ] = firstItemSize && firstItemSize[ outerSize ] ||
|
2449 |
+
// or size of container
|
2450 |
+
this.isotope.size[ 'inner' + size ];
|
2451 |
+
};
|
2452 |
+
|
2453 |
+
proto.getFirstItemSize = function() {
|
2454 |
+
var firstItem = this.isotope.filteredItems[0];
|
2455 |
+
return firstItem && firstItem.element && getSize( firstItem.element );
|
2456 |
+
};
|
2457 |
+
|
2458 |
+
// ----- methods that should reference isotope ----- //
|
2459 |
+
|
2460 |
+
proto.layout = function() {
|
2461 |
+
this.isotope.layout.apply( this.isotope, arguments );
|
2462 |
+
};
|
2463 |
+
|
2464 |
+
proto.getSize = function() {
|
2465 |
+
this.isotope.getSize();
|
2466 |
+
this.size = this.isotope.size;
|
2467 |
+
};
|
2468 |
+
|
2469 |
+
// -------------------------- create -------------------------- //
|
2470 |
+
|
2471 |
+
LayoutMode.modes = {};
|
2472 |
+
|
2473 |
+
LayoutMode.create = function( namespace, options ) {
|
2474 |
+
|
2475 |
+
function Mode() {
|
2476 |
+
LayoutMode.apply( this, arguments );
|
2477 |
+
}
|
2478 |
+
|
2479 |
+
Mode.prototype = Object.create( proto );
|
2480 |
+
Mode.prototype.constructor = Mode;
|
2481 |
+
|
2482 |
+
// default options
|
2483 |
+
if ( options ) {
|
2484 |
+
Mode.options = options;
|
2485 |
+
}
|
2486 |
+
|
2487 |
+
Mode.prototype.namespace = namespace;
|
2488 |
+
// register in Isotope
|
2489 |
+
LayoutMode.modes[ namespace ] = Mode;
|
2490 |
+
|
2491 |
+
return Mode;
|
2492 |
+
};
|
2493 |
+
|
2494 |
+
return LayoutMode;
|
2495 |
+
|
2496 |
+
}));
|
2497 |
+
|
2498 |
+
/*!
|
2499 |
+
* Masonry v4.1.1
|
2500 |
+
* Cascading grid layout library
|
2501 |
+
* http://masonry.desandro.com
|
2502 |
+
* MIT License
|
2503 |
+
* by David DeSandro
|
2504 |
+
*/
|
2505 |
+
|
2506 |
+
( function( window, factory ) {
|
2507 |
+
// universal module definition
|
2508 |
+
/* jshint strict: false */ /*globals define, module, require */
|
2509 |
+
if ( typeof define == 'function' && define.amd ) {
|
2510 |
+
// AMD
|
2511 |
+
define( 'masonry/masonry',[
|
2512 |
+
'outlayer/outlayer',
|
2513 |
+
'get-size/get-size'
|
2514 |
+
],
|
2515 |
+
factory );
|
2516 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
2517 |
+
// CommonJS
|
2518 |
+
module.exports = factory(
|
2519 |
+
require('outlayer'),
|
2520 |
+
require('get-size')
|
2521 |
+
);
|
2522 |
+
} else {
|
2523 |
+
// browser global
|
2524 |
+
window.Masonry = factory(
|
2525 |
+
window.Outlayer,
|
2526 |
+
window.getSize
|
2527 |
+
);
|
2528 |
+
}
|
2529 |
+
|
2530 |
+
}( window, function factory( Outlayer, getSize ) {
|
2531 |
+
|
2532 |
+
|
2533 |
+
|
2534 |
+
// -------------------------- masonryDefinition -------------------------- //
|
2535 |
+
|
2536 |
+
// create an Outlayer layout class
|
2537 |
+
var Masonry = Outlayer.create('masonry');
|
2538 |
+
// isFitWidth -> fitWidth
|
2539 |
+
Masonry.compatOptions.fitWidth = 'isFitWidth';
|
2540 |
+
|
2541 |
+
Masonry.prototype._resetLayout = function() {
|
2542 |
+
this.getSize();
|
2543 |
+
this._getMeasurement( 'columnWidth', 'outerWidth' );
|
2544 |
+
this._getMeasurement( 'gutter', 'outerWidth' );
|
2545 |
+
this.measureColumns();
|
2546 |
+
|
2547 |
+
// reset column Y
|
2548 |
+
this.colYs = [];
|
2549 |
+
for ( var i=0; i < this.cols; i++ ) {
|
2550 |
+
this.colYs.push( 0 );
|
2551 |
+
}
|
2552 |
+
|
2553 |
+
this.maxY = 0;
|
2554 |
+
};
|
2555 |
+
|
2556 |
+
Masonry.prototype.measureColumns = function() {
|
2557 |
+
this.getContainerWidth();
|
2558 |
+
// if columnWidth is 0, default to outerWidth of first item
|
2559 |
+
if ( !this.columnWidth ) {
|
2560 |
+
var firstItem = this.items[0];
|
2561 |
+
var firstItemElem = firstItem && firstItem.element;
|
2562 |
+
// columnWidth fall back to item of first element
|
2563 |
+
this.columnWidth = firstItemElem && getSize( firstItemElem ).outerWidth ||
|
2564 |
+
// if first elem has no width, default to size of container
|
2565 |
+
this.containerWidth;
|
2566 |
+
}
|
2567 |
+
|
2568 |
+
var columnWidth = this.columnWidth += this.gutter;
|
2569 |
+
|
2570 |
+
// calculate columns
|
2571 |
+
var containerWidth = this.containerWidth + this.gutter;
|
2572 |
+
var cols = containerWidth / columnWidth;
|
2573 |
+
// fix rounding errors, typically with gutters
|
2574 |
+
var excess = columnWidth - containerWidth % columnWidth;
|
2575 |
+
// if overshoot is less than a pixel, round up, otherwise floor it
|
2576 |
+
var mathMethod = excess && excess < 1 ? 'round' : 'floor';
|
2577 |
+
cols = Math[ mathMethod ]( cols );
|
2578 |
+
this.cols = Math.max( cols, 1 );
|
2579 |
+
};
|
2580 |
+
|
2581 |
+
Masonry.prototype.getContainerWidth = function() {
|
2582 |
+
// container is parent if fit width
|
2583 |
+
var isFitWidth = this._getOption('fitWidth');
|
2584 |
+
var container = isFitWidth ? this.element.parentNode : this.element;
|
2585 |
+
// check that this.size and size are there
|
2586 |
+
// IE8 triggers resize on body size change, so they might not be
|
2587 |
+
var size = getSize( container );
|
2588 |
+
this.containerWidth = size && size.innerWidth;
|
2589 |
+
};
|
2590 |
+
|
2591 |
+
Masonry.prototype._getItemLayoutPosition = function( item ) {
|
2592 |
+
item.getSize();
|
2593 |
+
// how many columns does this brick span
|
2594 |
+
var remainder = item.size.outerWidth % this.columnWidth;
|
2595 |
+
var mathMethod = remainder && remainder < 1 ? 'round' : 'ceil';
|
2596 |
+
// round if off by 1 pixel, otherwise use ceil
|
2597 |
+
var colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
|
2598 |
+
colSpan = Math.min( colSpan, this.cols );
|
2599 |
+
|
2600 |
+
var colGroup = this._getColGroup( colSpan );
|
2601 |
+
// get the minimum Y value from the columns
|
2602 |
+
var minimumY = Math.min.apply( Math, colGroup );
|
2603 |
+
var shortColIndex = colGroup.indexOf( minimumY );
|
2604 |
+
|
2605 |
+
// position the brick
|
2606 |
+
var position = {
|
2607 |
+
x: this.columnWidth * shortColIndex,
|
2608 |
+
y: minimumY
|
2609 |
+
};
|
2610 |
+
|
2611 |
+
// apply setHeight to necessary columns
|
2612 |
+
var setHeight = minimumY + item.size.outerHeight;
|
2613 |
+
var setSpan = this.cols + 1 - colGroup.length;
|
2614 |
+
for ( var i = 0; i < setSpan; i++ ) {
|
2615 |
+
this.colYs[ shortColIndex + i ] = setHeight;
|
2616 |
+
}
|
2617 |
+
|
2618 |
+
return position;
|
2619 |
+
};
|
2620 |
+
|
2621 |
+
/**
|
2622 |
+
* @param {Number} colSpan - number of columns the element spans
|
2623 |
+
* @returns {Array} colGroup
|
2624 |
+
*/
|
2625 |
+
Masonry.prototype._getColGroup = function( colSpan ) {
|
2626 |
+
if ( colSpan < 2 ) {
|
2627 |
+
// if brick spans only one column, use all the column Ys
|
2628 |
+
return this.colYs;
|
2629 |
+
}
|
2630 |
+
|
2631 |
+
var colGroup = [];
|
2632 |
+
// how many different places could this brick fit horizontally
|
2633 |
+
var groupCount = this.cols + 1 - colSpan;
|
2634 |
+
// for each group potential horizontal position
|
2635 |
+
for ( var i = 0; i < groupCount; i++ ) {
|
2636 |
+
// make an array of colY values for that one group
|
2637 |
+
var groupColYs = this.colYs.slice( i, i + colSpan );
|
2638 |
+
// and get the max value of the array
|
2639 |
+
colGroup[i] = Math.max.apply( Math, groupColYs );
|
2640 |
+
}
|
2641 |
+
return colGroup;
|
2642 |
+
};
|
2643 |
+
|
2644 |
+
Masonry.prototype._manageStamp = function( stamp ) {
|
2645 |
+
var stampSize = getSize( stamp );
|
2646 |
+
var offset = this._getElementOffset( stamp );
|
2647 |
+
// get the columns that this stamp affects
|
2648 |
+
var isOriginLeft = this._getOption('originLeft');
|
2649 |
+
var firstX = isOriginLeft ? offset.left : offset.right;
|
2650 |
+
var lastX = firstX + stampSize.outerWidth;
|
2651 |
+
var firstCol = Math.floor( firstX / this.columnWidth );
|
2652 |
+
firstCol = Math.max( 0, firstCol );
|
2653 |
+
var lastCol = Math.floor( lastX / this.columnWidth );
|
2654 |
+
// lastCol should not go over if multiple of columnWidth #425
|
2655 |
+
lastCol -= lastX % this.columnWidth ? 0 : 1;
|
2656 |
+
lastCol = Math.min( this.cols - 1, lastCol );
|
2657 |
+
// set colYs to bottom of the stamp
|
2658 |
+
|
2659 |
+
var isOriginTop = this._getOption('originTop');
|
2660 |
+
var stampMaxY = ( isOriginTop ? offset.top : offset.bottom ) +
|
2661 |
+
stampSize.outerHeight;
|
2662 |
+
for ( var i = firstCol; i <= lastCol; i++ ) {
|
2663 |
+
this.colYs[i] = Math.max( stampMaxY, this.colYs[i] );
|
2664 |
+
}
|
2665 |
+
};
|
2666 |
+
|
2667 |
+
Masonry.prototype._getContainerSize = function() {
|
2668 |
+
this.maxY = Math.max.apply( Math, this.colYs );
|
2669 |
+
var size = {
|
2670 |
+
height: this.maxY
|
2671 |
+
};
|
2672 |
+
|
2673 |
+
if ( this._getOption('fitWidth') ) {
|
2674 |
+
size.width = this._getContainerFitWidth();
|
2675 |
+
}
|
2676 |
+
|
2677 |
+
return size;
|
2678 |
+
};
|
2679 |
+
|
2680 |
+
Masonry.prototype._getContainerFitWidth = function() {
|
2681 |
+
var unusedCols = 0;
|
2682 |
+
// count unused columns
|
2683 |
+
var i = this.cols;
|
2684 |
+
while ( --i ) {
|
2685 |
+
if ( this.colYs[i] !== 0 ) {
|
2686 |
+
break;
|
2687 |
+
}
|
2688 |
+
unusedCols++;
|
2689 |
+
}
|
2690 |
+
// fit container to columns that have been used
|
2691 |
+
return ( this.cols - unusedCols ) * this.columnWidth - this.gutter;
|
2692 |
+
};
|
2693 |
+
|
2694 |
+
Masonry.prototype.needsResizeLayout = function() {
|
2695 |
+
var previousWidth = this.containerWidth;
|
2696 |
+
this.getContainerWidth();
|
2697 |
+
return previousWidth != this.containerWidth;
|
2698 |
+
};
|
2699 |
+
|
2700 |
+
return Masonry;
|
2701 |
+
|
2702 |
+
}));
|
2703 |
+
|
2704 |
+
/*!
|
2705 |
+
* Masonry layout mode
|
2706 |
+
* sub-classes Masonry
|
2707 |
+
* http://masonry.desandro.com
|
2708 |
+
*/
|
2709 |
+
|
2710 |
+
( function( window, factory ) {
|
2711 |
+
// universal module definition
|
2712 |
+
/* jshint strict: false */ /*globals define, module, require */
|
2713 |
+
if ( typeof define == 'function' && define.amd ) {
|
2714 |
+
// AMD
|
2715 |
+
define( 'isotope/js/layout-modes/masonry',[
|
2716 |
+
'../layout-mode',
|
2717 |
+
'masonry/masonry'
|
2718 |
+
],
|
2719 |
+
factory );
|
2720 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
2721 |
+
// CommonJS
|
2722 |
+
module.exports = factory(
|
2723 |
+
require('../layout-mode'),
|
2724 |
+
require('masonry-layout')
|
2725 |
+
);
|
2726 |
+
} else {
|
2727 |
+
// browser global
|
2728 |
+
factory(
|
2729 |
+
window.Isotope.LayoutMode,
|
2730 |
+
window.Masonry
|
2731 |
+
);
|
2732 |
+
}
|
2733 |
+
|
2734 |
+
}( window, function factory( LayoutMode, Masonry ) {
|
2735 |
+
'use strict';
|
2736 |
+
|
2737 |
+
// -------------------------- masonryDefinition -------------------------- //
|
2738 |
+
|
2739 |
+
// create an Outlayer layout class
|
2740 |
+
var MasonryMode = LayoutMode.create('masonry');
|
2741 |
+
|
2742 |
+
var proto = MasonryMode.prototype;
|
2743 |
+
|
2744 |
+
var keepModeMethods = {
|
2745 |
+
_getElementOffset: true,
|
2746 |
+
layout: true,
|
2747 |
+
_getMeasurement: true
|
2748 |
+
};
|
2749 |
+
|
2750 |
+
// inherit Masonry prototype
|
2751 |
+
for ( var method in Masonry.prototype ) {
|
2752 |
+
// do not inherit mode methods
|
2753 |
+
if ( !keepModeMethods[ method ] ) {
|
2754 |
+
proto[ method ] = Masonry.prototype[ method ];
|
2755 |
+
}
|
2756 |
+
}
|
2757 |
+
|
2758 |
+
var measureColumns = proto.measureColumns;
|
2759 |
+
proto.measureColumns = function() {
|
2760 |
+
// set items, used if measuring first item
|
2761 |
+
this.items = this.isotope.filteredItems;
|
2762 |
+
measureColumns.call( this );
|
2763 |
+
};
|
2764 |
+
|
2765 |
+
// point to mode options for fitWidth
|
2766 |
+
var _getOption = proto._getOption;
|
2767 |
+
proto._getOption = function( option ) {
|
2768 |
+
if ( option == 'fitWidth' ) {
|
2769 |
+
return this.options.isFitWidth !== undefined ?
|
2770 |
+
this.options.isFitWidth : this.options.fitWidth;
|
2771 |
+
}
|
2772 |
+
return _getOption.apply( this.isotope, arguments );
|
2773 |
+
};
|
2774 |
+
|
2775 |
+
return MasonryMode;
|
2776 |
+
|
2777 |
+
}));
|
2778 |
+
|
2779 |
+
/**
|
2780 |
+
* fitRows layout mode
|
2781 |
+
*/
|
2782 |
+
|
2783 |
+
( function( window, factory ) {
|
2784 |
+
// universal module definition
|
2785 |
+
/* jshint strict: false */ /*globals define, module, require */
|
2786 |
+
if ( typeof define == 'function' && define.amd ) {
|
2787 |
+
// AMD
|
2788 |
+
define( 'isotope/js/layout-modes/fit-rows',[
|
2789 |
+
'../layout-mode'
|
2790 |
+
],
|
2791 |
+
factory );
|
2792 |
+
} else if ( typeof exports == 'object' ) {
|
2793 |
+
// CommonJS
|
2794 |
+
module.exports = factory(
|
2795 |
+
require('../layout-mode')
|
2796 |
+
);
|
2797 |
+
} else {
|
2798 |
+
// browser global
|
2799 |
+
factory(
|
2800 |
+
window.Isotope.LayoutMode
|
2801 |
+
);
|
2802 |
+
}
|
2803 |
+
|
2804 |
+
}( window, function factory( LayoutMode ) {
|
2805 |
+
'use strict';
|
2806 |
+
|
2807 |
+
var FitRows = LayoutMode.create('fitRows');
|
2808 |
+
|
2809 |
+
var proto = FitRows.prototype;
|
2810 |
+
|
2811 |
+
proto._resetLayout = function() {
|
2812 |
+
this.x = 0;
|
2813 |
+
this.y = 0;
|
2814 |
+
this.maxY = 0;
|
2815 |
+
this._getMeasurement( 'gutter', 'outerWidth' );
|
2816 |
+
};
|
2817 |
+
|
2818 |
+
proto._getItemLayoutPosition = function( item ) {
|
2819 |
+
item.getSize();
|
2820 |
+
|
2821 |
+
var itemWidth = item.size.outerWidth + this.gutter;
|
2822 |
+
// if this element cannot fit in the current row
|
2823 |
+
var containerWidth = this.isotope.size.innerWidth + this.gutter;
|
2824 |
+
if ( this.x !== 0 && itemWidth + this.x > containerWidth ) {
|
2825 |
+
this.x = 0;
|
2826 |
+
this.y = this.maxY;
|
2827 |
+
}
|
2828 |
+
|
2829 |
+
var position = {
|
2830 |
+
x: this.x,
|
2831 |
+
y: this.y
|
2832 |
+
};
|
2833 |
+
|
2834 |
+
this.maxY = Math.max( this.maxY, this.y + item.size.outerHeight );
|
2835 |
+
this.x += itemWidth;
|
2836 |
+
|
2837 |
+
return position;
|
2838 |
+
};
|
2839 |
+
|
2840 |
+
proto._getContainerSize = function() {
|
2841 |
+
return { height: this.maxY };
|
2842 |
+
};
|
2843 |
+
|
2844 |
+
return FitRows;
|
2845 |
+
|
2846 |
+
}));
|
2847 |
+
|
2848 |
+
/**
|
2849 |
+
* vertical layout mode
|
2850 |
+
*/
|
2851 |
+
|
2852 |
+
( function( window, factory ) {
|
2853 |
+
// universal module definition
|
2854 |
+
/* jshint strict: false */ /*globals define, module, require */
|
2855 |
+
if ( typeof define == 'function' && define.amd ) {
|
2856 |
+
// AMD
|
2857 |
+
define( 'isotope/js/layout-modes/vertical',[
|
2858 |
+
'../layout-mode'
|
2859 |
+
],
|
2860 |
+
factory );
|
2861 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
2862 |
+
// CommonJS
|
2863 |
+
module.exports = factory(
|
2864 |
+
require('../layout-mode')
|
2865 |
+
);
|
2866 |
+
} else {
|
2867 |
+
// browser global
|
2868 |
+
factory(
|
2869 |
+
window.Isotope.LayoutMode
|
2870 |
+
);
|
2871 |
+
}
|
2872 |
+
|
2873 |
+
}( window, function factory( LayoutMode ) {
|
2874 |
+
'use strict';
|
2875 |
+
|
2876 |
+
var Vertical = LayoutMode.create( 'vertical', {
|
2877 |
+
horizontalAlignment: 0
|
2878 |
+
});
|
2879 |
+
|
2880 |
+
var proto = Vertical.prototype;
|
2881 |
+
|
2882 |
+
proto._resetLayout = function() {
|
2883 |
+
this.y = 0;
|
2884 |
+
};
|
2885 |
+
|
2886 |
+
proto._getItemLayoutPosition = function( item ) {
|
2887 |
+
item.getSize();
|
2888 |
+
var x = ( this.isotope.size.innerWidth - item.size.outerWidth ) *
|
2889 |
+
this.options.horizontalAlignment;
|
2890 |
+
var y = this.y;
|
2891 |
+
this.y += item.size.outerHeight;
|
2892 |
+
return { x: x, y: y };
|
2893 |
+
};
|
2894 |
+
|
2895 |
+
proto._getContainerSize = function() {
|
2896 |
+
return { height: this.y };
|
2897 |
+
};
|
2898 |
+
|
2899 |
+
return Vertical;
|
2900 |
+
|
2901 |
+
}));
|
2902 |
+
|
2903 |
+
/*!
|
2904 |
+
* Isotope v3.0.3
|
2905 |
+
*
|
2906 |
+
* Licensed GPLv3 for open source use
|
2907 |
+
* or Isotope Commercial License for commercial use
|
2908 |
+
*
|
2909 |
+
* http://isotope.metafizzy.co
|
2910 |
+
* Copyright 2017 Metafizzy
|
2911 |
+
*/
|
2912 |
+
|
2913 |
+
( function( window, factory ) {
|
2914 |
+
// universal module definition
|
2915 |
+
/* jshint strict: false */ /*globals define, module, require */
|
2916 |
+
if ( typeof define == 'function' && define.amd ) {
|
2917 |
+
// AMD
|
2918 |
+
define( [
|
2919 |
+
'outlayer/outlayer',
|
2920 |
+
'get-size/get-size',
|
2921 |
+
'desandro-matches-selector/matches-selector',
|
2922 |
+
'fizzy-ui-utils/utils',
|
2923 |
+
'isotope/js/item',
|
2924 |
+
'isotope/js/layout-mode',
|
2925 |
+
// include default layout modes
|
2926 |
+
'isotope/js/layout-modes/masonry',
|
2927 |
+
'isotope/js/layout-modes/fit-rows',
|
2928 |
+
'isotope/js/layout-modes/vertical'
|
2929 |
+
],
|
2930 |
+
function( Outlayer, getSize, matchesSelector, utils, Item, LayoutMode ) {
|
2931 |
+
return factory( window, Outlayer, getSize, matchesSelector, utils, Item, LayoutMode );
|
2932 |
+
});
|
2933 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
2934 |
+
// CommonJS
|
2935 |
+
module.exports = factory(
|
2936 |
+
window,
|
2937 |
+
require('outlayer'),
|
2938 |
+
require('get-size'),
|
2939 |
+
require('desandro-matches-selector'),
|
2940 |
+
require('fizzy-ui-utils'),
|
2941 |
+
require('isotope/js/item'),
|
2942 |
+
require('isotope/js/layout-mode'),
|
2943 |
+
// include default layout modes
|
2944 |
+
require('isotope/js/layout-modes/masonry'),
|
2945 |
+
require('isotope/js/layout-modes/fit-rows'),
|
2946 |
+
require('isotope/js/layout-modes/vertical')
|
2947 |
+
);
|
2948 |
+
} else {
|
2949 |
+
// browser global
|
2950 |
+
window.Isotope = factory(
|
2951 |
+
window,
|
2952 |
+
window.Outlayer,
|
2953 |
+
window.getSize,
|
2954 |
+
window.matchesSelector,
|
2955 |
+
window.fizzyUIUtils,
|
2956 |
+
window.Isotope.Item,
|
2957 |
+
window.Isotope.LayoutMode
|
2958 |
+
);
|
2959 |
+
}
|
2960 |
+
|
2961 |
+
}( window, function factory( window, Outlayer, getSize, matchesSelector, utils,
|
2962 |
+
Item, LayoutMode ) {
|
2963 |
+
|
2964 |
+
|
2965 |
+
|
2966 |
+
// -------------------------- vars -------------------------- //
|
2967 |
+
|
2968 |
+
var jQuery = window.jQuery;
|
2969 |
+
|
2970 |
+
// -------------------------- helpers -------------------------- //
|
2971 |
+
|
2972 |
+
var trim = String.prototype.trim ?
|
2973 |
+
function( str ) {
|
2974 |
+
return str.trim();
|
2975 |
+
} :
|
2976 |
+
function( str ) {
|
2977 |
+
return str.replace( /^\s+|\s+$/g, '' );
|
2978 |
+
};
|
2979 |
+
|
2980 |
+
// -------------------------- isotopeDefinition -------------------------- //
|
2981 |
+
|
2982 |
+
// create an Outlayer layout class
|
2983 |
+
var Isotope = Outlayer.create( 'isotope', {
|
2984 |
+
layoutMode: 'masonry',
|
2985 |
+
isJQueryFiltering: true,
|
2986 |
+
sortAscending: true
|
2987 |
+
});
|
2988 |
+
|
2989 |
+
Isotope.Item = Item;
|
2990 |
+
Isotope.LayoutMode = LayoutMode;
|
2991 |
+
|
2992 |
+
var proto = Isotope.prototype;
|
2993 |
+
|
2994 |
+
proto._create = function() {
|
2995 |
+
this.itemGUID = 0;
|
2996 |
+
// functions that sort items
|
2997 |
+
this._sorters = {};
|
2998 |
+
this._getSorters();
|
2999 |
+
// call super
|
3000 |
+
Outlayer.prototype._create.call( this );
|
3001 |
+
|
3002 |
+
// create layout modes
|
3003 |
+
this.modes = {};
|
3004 |
+
// start filteredItems with all items
|
3005 |
+
this.filteredItems = this.items;
|
3006 |
+
// keep of track of sortBys
|
3007 |
+
this.sortHistory = [ 'original-order' ];
|
3008 |
+
// create from registered layout modes
|
3009 |
+
for ( var name in LayoutMode.modes ) {
|
3010 |
+
this._initLayoutMode( name );
|
3011 |
+
}
|
3012 |
+
};
|
3013 |
+
|
3014 |
+
proto.reloadItems = function() {
|
3015 |
+
// reset item ID counter
|
3016 |
+
this.itemGUID = 0;
|
3017 |
+
// call super
|
3018 |
+
Outlayer.prototype.reloadItems.call( this );
|
3019 |
+
};
|
3020 |
+
|
3021 |
+
proto._itemize = function() {
|
3022 |
+
var items = Outlayer.prototype._itemize.apply( this, arguments );
|
3023 |
+
// assign ID for original-order
|
3024 |
+
for ( var i=0; i < items.length; i++ ) {
|
3025 |
+
var item = items[i];
|
3026 |
+
item.id = this.itemGUID++;
|
3027 |
+
}
|
3028 |
+
this._updateItemsSortData( items );
|
3029 |
+
return items;
|
3030 |
+
};
|
3031 |
+
|
3032 |
+
|
3033 |
+
// -------------------------- layout -------------------------- //
|
3034 |
+
|
3035 |
+
proto._initLayoutMode = function( name ) {
|
3036 |
+
var Mode = LayoutMode.modes[ name ];
|
3037 |
+
// set mode options
|
3038 |
+
// HACK extend initial options, back-fill in default options
|
3039 |
+
var initialOpts = this.options[ name ] || {};
|
3040 |
+
this.options[ name ] = Mode.options ?
|
3041 |
+
utils.extend( Mode.options, initialOpts ) : initialOpts;
|
3042 |
+
// init layout mode instance
|
3043 |
+
this.modes[ name ] = new Mode( this );
|
3044 |
+
};
|
3045 |
+
|
3046 |
+
|
3047 |
+
proto.layout = function() {
|
3048 |
+
// if first time doing layout, do all magic
|
3049 |
+
if ( !this._isLayoutInited && this._getOption('initLayout') ) {
|
3050 |
+
this.arrange();
|
3051 |
+
return;
|
3052 |
+
}
|
3053 |
+
this._layout();
|
3054 |
+
};
|
3055 |
+
|
3056 |
+
// private method to be used in layout() & magic()
|
3057 |
+
proto._layout = function() {
|
3058 |
+
// don't animate first layout
|
3059 |
+
var isInstant = this._getIsInstant();
|
3060 |
+
// layout flow
|
3061 |
+
this._resetLayout();
|
3062 |
+
this._manageStamps();
|
3063 |
+
this.layoutItems( this.filteredItems, isInstant );
|
3064 |
+
|
3065 |
+
// flag for initalized
|
3066 |
+
this._isLayoutInited = true;
|
3067 |
+
};
|
3068 |
+
|
3069 |
+
// filter + sort + layout
|
3070 |
+
proto.arrange = function( opts ) {
|
3071 |
+
// set any options pass
|
3072 |
+
this.option( opts );
|
3073 |
+
this._getIsInstant();
|
3074 |
+
// filter, sort, and layout
|
3075 |
+
|
3076 |
+
// filter
|
3077 |
+
var filtered = this._filter( this.items );
|
3078 |
+
this.filteredItems = filtered.matches;
|
3079 |
+
|
3080 |
+
this._bindArrangeComplete();
|
3081 |
+
|
3082 |
+
if ( this._isInstant ) {
|
3083 |
+
this._noTransition( this._hideReveal, [ filtered ] );
|
3084 |
+
} else {
|
3085 |
+
this._hideReveal( filtered );
|
3086 |
+
}
|
3087 |
+
|
3088 |
+
this._sort();
|
3089 |
+
this._layout();
|
3090 |
+
};
|
3091 |
+
// alias to _init for main plugin method
|
3092 |
+
proto._init = proto.arrange;
|
3093 |
+
|
3094 |
+
proto._hideReveal = function( filtered ) {
|
3095 |
+
this.reveal( filtered.needReveal );
|
3096 |
+
this.hide( filtered.needHide );
|
3097 |
+
};
|
3098 |
+
|
3099 |
+
// HACK
|
3100 |
+
// Don't animate/transition first layout
|
3101 |
+
// Or don't animate/transition other layouts
|
3102 |
+
proto._getIsInstant = function() {
|
3103 |
+
var isLayoutInstant = this._getOption('layoutInstant');
|
3104 |
+
var isInstant = isLayoutInstant !== undefined ? isLayoutInstant :
|
3105 |
+
!this._isLayoutInited;
|
3106 |
+
this._isInstant = isInstant;
|
3107 |
+
return isInstant;
|
3108 |
+
};
|
3109 |
+
|
3110 |
+
// listen for layoutComplete, hideComplete and revealComplete
|
3111 |
+
// to trigger arrangeComplete
|
3112 |
+
proto._bindArrangeComplete = function() {
|
3113 |
+
// listen for 3 events to trigger arrangeComplete
|
3114 |
+
var isLayoutComplete, isHideComplete, isRevealComplete;
|
3115 |
+
var _this = this;
|
3116 |
+
function arrangeParallelCallback() {
|
3117 |
+
if ( isLayoutComplete && isHideComplete && isRevealComplete ) {
|
3118 |
+
_this.dispatchEvent( 'arrangeComplete', null, [ _this.filteredItems ] );
|
3119 |
+
}
|
3120 |
+
}
|
3121 |
+
this.once( 'layoutComplete', function() {
|
3122 |
+
isLayoutComplete = true;
|
3123 |
+
arrangeParallelCallback();
|
3124 |
+
});
|
3125 |
+
this.once( 'hideComplete', function() {
|
3126 |
+
isHideComplete = true;
|
3127 |
+
arrangeParallelCallback();
|
3128 |
+
});
|
3129 |
+
this.once( 'revealComplete', function() {
|
3130 |
+
isRevealComplete = true;
|
3131 |
+
arrangeParallelCallback();
|
3132 |
+
});
|
3133 |
+
};
|
3134 |
+
|
3135 |
+
// -------------------------- filter -------------------------- //
|
3136 |
+
|
3137 |
+
proto._filter = function( items ) {
|
3138 |
+
var filter = this.options.filter;
|
3139 |
+
filter = filter || '*';
|
3140 |
+
var matches = [];
|
3141 |
+
var hiddenMatched = [];
|
3142 |
+
var visibleUnmatched = [];
|
3143 |
+
|
3144 |
+
var test = this._getFilterTest( filter );
|
3145 |
+
|
3146 |
+
// test each item
|
3147 |
+
for ( var i=0; i < items.length; i++ ) {
|
3148 |
+
var item = items[i];
|
3149 |
+
if ( item.isIgnored ) {
|
3150 |
+
continue;
|
3151 |
+
}
|
3152 |
+
// add item to either matched or unmatched group
|
3153 |
+
var isMatched = test( item );
|
3154 |
+
// item.isFilterMatched = isMatched;
|
3155 |
+
// add to matches if its a match
|
3156 |
+
if ( isMatched ) {
|
3157 |
+
matches.push( item );
|
3158 |
+
}
|
3159 |
+
// add to additional group if item needs to be hidden or revealed
|
3160 |
+
if ( isMatched && item.isHidden ) {
|
3161 |
+
hiddenMatched.push( item );
|
3162 |
+
} else if ( !isMatched && !item.isHidden ) {
|
3163 |
+
visibleUnmatched.push( item );
|
3164 |
+
}
|
3165 |
+
}
|
3166 |
+
|
3167 |
+
// return collections of items to be manipulated
|
3168 |
+
return {
|
3169 |
+
matches: matches,
|
3170 |
+
needReveal: hiddenMatched,
|
3171 |
+
needHide: visibleUnmatched
|
3172 |
+
};
|
3173 |
+
};
|
3174 |
+
|
3175 |
+
// get a jQuery, function, or a matchesSelector test given the filter
|
3176 |
+
proto._getFilterTest = function( filter ) {
|
3177 |
+
if ( jQuery && this.options.isJQueryFiltering ) {
|
3178 |
+
// use jQuery
|
3179 |
+
return function( item ) {
|
3180 |
+
return jQuery( item.element ).is( filter );
|
3181 |
+
};
|
3182 |
+
}
|
3183 |
+
if ( typeof filter == 'function' ) {
|
3184 |
+
// use filter as function
|
3185 |
+
return function( item ) {
|
3186 |
+
return filter( item.element );
|
3187 |
+
};
|
3188 |
+
}
|
3189 |
+
// default, use filter as selector string
|
3190 |
+
return function( item ) {
|
3191 |
+
return matchesSelector( item.element, filter );
|
3192 |
+
};
|
3193 |
+
};
|
3194 |
+
|
3195 |
+
// -------------------------- sorting -------------------------- //
|
3196 |
+
|
3197 |
+
/**
|
3198 |
+
* @params {Array} elems
|
3199 |
+
* @public
|
3200 |
+
*/
|
3201 |
+
proto.updateSortData = function( elems ) {
|
3202 |
+
// get items
|
3203 |
+
var items;
|
3204 |
+
if ( elems ) {
|
3205 |
+
elems = utils.makeArray( elems );
|
3206 |
+
items = this.getItems( elems );
|
3207 |
+
} else {
|
3208 |
+
// update all items if no elems provided
|
3209 |
+
items = this.items;
|
3210 |
+
}
|
3211 |
+
|
3212 |
+
this._getSorters();
|
3213 |
+
this._updateItemsSortData( items );
|
3214 |
+
};
|
3215 |
+
|
3216 |
+
proto._getSorters = function() {
|
3217 |
+
var getSortData = this.options.getSortData;
|
3218 |
+
for ( var key in getSortData ) {
|
3219 |
+
var sorter = getSortData[ key ];
|
3220 |
+
this._sorters[ key ] = mungeSorter( sorter );
|
3221 |
+
}
|
3222 |
+
};
|
3223 |
+
|
3224 |
+
/**
|
3225 |
+
* @params {Array} items - of Isotope.Items
|
3226 |
+
* @private
|
3227 |
+
*/
|
3228 |
+
proto._updateItemsSortData = function( items ) {
|
3229 |
+
// do not update if no items
|
3230 |
+
var len = items && items.length;
|
3231 |
+
|
3232 |
+
for ( var i=0; len && i < len; i++ ) {
|
3233 |
+
var item = items[i];
|
3234 |
+
item.updateSortData();
|
3235 |
+
}
|
3236 |
+
};
|
3237 |
+
|
3238 |
+
// ----- munge sorter ----- //
|
3239 |
+
|
3240 |
+
// encapsulate this, as we just need mungeSorter
|
3241 |
+
// other functions in here are just for munging
|
3242 |
+
var mungeSorter = ( function() {
|
3243 |
+
// add a magic layer to sorters for convienent shorthands
|
3244 |
+
// `.foo-bar` will use the text of .foo-bar querySelector
|
3245 |
+
// `[foo-bar]` will use attribute
|
3246 |
+
// you can also add parser
|
3247 |
+
// `.foo-bar parseInt` will parse that as a number
|
3248 |
+
function mungeSorter( sorter ) {
|
3249 |
+
// if not a string, return function or whatever it is
|
3250 |
+
if ( typeof sorter != 'string' ) {
|
3251 |
+
return sorter;
|
3252 |
+
}
|
3253 |
+
// parse the sorter string
|
3254 |
+
var args = trim( sorter ).split(' ');
|
3255 |
+
var query = args[0];
|
3256 |
+
// check if query looks like [an-attribute]
|
3257 |
+
var attrMatch = query.match( /^\[(.+)\]$/ );
|
3258 |
+
var attr = attrMatch && attrMatch[1];
|
3259 |
+
var getValue = getValueGetter( attr, query );
|
3260 |
+
// use second argument as a parser
|
3261 |
+
var parser = Isotope.sortDataParsers[ args[1] ];
|
3262 |
+
// parse the value, if there was a parser
|
3263 |
+
sorter = parser ? function( elem ) {
|
3264 |
+
return elem && parser( getValue( elem ) );
|
3265 |
+
} :
|
3266 |
+
// otherwise just return value
|
3267 |
+
function( elem ) {
|
3268 |
+
return elem && getValue( elem );
|
3269 |
+
};
|
3270 |
+
|
3271 |
+
return sorter;
|
3272 |
+
}
|
3273 |
+
|
3274 |
+
// get an attribute getter, or get text of the querySelector
|
3275 |
+
function getValueGetter( attr, query ) {
|
3276 |
+
// if query looks like [foo-bar], get attribute
|
3277 |
+
if ( attr ) {
|
3278 |
+
return function getAttribute( elem ) {
|
3279 |
+
return elem.getAttribute( attr );
|
3280 |
+
};
|
3281 |
+
}
|
3282 |
+
|
3283 |
+
// otherwise, assume its a querySelector, and get its text
|
3284 |
+
return function getChildText( elem ) {
|
3285 |
+
var child = elem.querySelector( query );
|
3286 |
+
return child && child.textContent;
|
3287 |
+
};
|
3288 |
+
}
|
3289 |
+
|
3290 |
+
return mungeSorter;
|
3291 |
+
})();
|
3292 |
+
|
3293 |
+
// parsers used in getSortData shortcut strings
|
3294 |
+
Isotope.sortDataParsers = {
|
3295 |
+
'parseInt': function( val ) {
|
3296 |
+
return parseInt( val, 10 );
|
3297 |
+
},
|
3298 |
+
'parseFloat': function( val ) {
|
3299 |
+
return parseFloat( val );
|
3300 |
+
}
|
3301 |
+
};
|
3302 |
+
|
3303 |
+
// ----- sort method ----- //
|
3304 |
+
|
3305 |
+
// sort filteredItem order
|
3306 |
+
proto._sort = function() {
|
3307 |
+
if ( !this.options.sortBy ) {
|
3308 |
+
return;
|
3309 |
+
}
|
3310 |
+
// keep track of sortBy History
|
3311 |
+
var sortBys = utils.makeArray( this.options.sortBy );
|
3312 |
+
if ( !this._getIsSameSortBy( sortBys ) ) {
|
3313 |
+
// concat all sortBy and sortHistory, add to front, oldest goes in last
|
3314 |
+
this.sortHistory = sortBys.concat( this.sortHistory );
|
3315 |
+
}
|
3316 |
+
// sort magic
|
3317 |
+
var itemSorter = getItemSorter( this.sortHistory, this.options.sortAscending );
|
3318 |
+
this.filteredItems.sort( itemSorter );
|
3319 |
+
};
|
3320 |
+
|
3321 |
+
// check if sortBys is same as start of sortHistory
|
3322 |
+
proto._getIsSameSortBy = function( sortBys ) {
|
3323 |
+
for ( var i=0; i < sortBys.length; i++ ) {
|
3324 |
+
if ( sortBys[i] != this.sortHistory[i] ) {
|
3325 |
+
return false;
|
3326 |
+
}
|
3327 |
+
}
|
3328 |
+
return true;
|
3329 |
+
};
|
3330 |
+
|
3331 |
+
// returns a function used for sorting
|
3332 |
+
function getItemSorter( sortBys, sortAsc ) {
|
3333 |
+
return function sorter( itemA, itemB ) {
|
3334 |
+
// cycle through all sortKeys
|
3335 |
+
for ( var i = 0; i < sortBys.length; i++ ) {
|
3336 |
+
var sortBy = sortBys[i];
|
3337 |
+
var a = itemA.sortData[ sortBy ];
|
3338 |
+
var b = itemB.sortData[ sortBy ];
|
3339 |
+
if ( a > b || a < b ) {
|
3340 |
+
// if sortAsc is an object, use the value given the sortBy key
|
3341 |
+
var isAscending = sortAsc[ sortBy ] !== undefined ? sortAsc[ sortBy ] : sortAsc;
|
3342 |
+
var direction = isAscending ? 1 : -1;
|
3343 |
+
return ( a > b ? 1 : -1 ) * direction;
|
3344 |
+
}
|
3345 |
+
}
|
3346 |
+
return 0;
|
3347 |
+
};
|
3348 |
+
}
|
3349 |
+
|
3350 |
+
// -------------------------- methods -------------------------- //
|
3351 |
+
|
3352 |
+
// get layout mode
|
3353 |
+
proto._mode = function() {
|
3354 |
+
var layoutMode = this.options.layoutMode;
|
3355 |
+
var mode = this.modes[ layoutMode ];
|
3356 |
+
if ( !mode ) {
|
3357 |
+
// TODO console.error
|
3358 |
+
throw new Error( 'No layout mode: ' + layoutMode );
|
3359 |
+
}
|
3360 |
+
// HACK sync mode's options
|
3361 |
+
// any options set after init for layout mode need to be synced
|
3362 |
+
mode.options = this.options[ layoutMode ];
|
3363 |
+
return mode;
|
3364 |
+
};
|
3365 |
+
|
3366 |
+
proto._resetLayout = function() {
|
3367 |
+
// trigger original reset layout
|
3368 |
+
Outlayer.prototype._resetLayout.call( this );
|
3369 |
+
this._mode()._resetLayout();
|
3370 |
+
};
|
3371 |
+
|
3372 |
+
proto._getItemLayoutPosition = function( item ) {
|
3373 |
+
return this._mode()._getItemLayoutPosition( item );
|
3374 |
+
};
|
3375 |
+
|
3376 |
+
proto._manageStamp = function( stamp ) {
|
3377 |
+
this._mode()._manageStamp( stamp );
|
3378 |
+
};
|
3379 |
+
|
3380 |
+
proto._getContainerSize = function() {
|
3381 |
+
return this._mode()._getContainerSize();
|
3382 |
+
};
|
3383 |
+
|
3384 |
+
proto.needsResizeLayout = function() {
|
3385 |
+
return this._mode().needsResizeLayout();
|
3386 |
+
};
|
3387 |
+
|
3388 |
+
// -------------------------- adding & removing -------------------------- //
|
3389 |
+
|
3390 |
+
// HEADS UP overwrites default Outlayer appended
|
3391 |
+
proto.appended = function( elems ) {
|
3392 |
+
var items = this.addItems( elems );
|
3393 |
+
if ( !items.length ) {
|
3394 |
+
return;
|
3395 |
+
}
|
3396 |
+
// filter, layout, reveal new items
|
3397 |
+
var filteredItems = this._filterRevealAdded( items );
|
3398 |
+
// add to filteredItems
|
3399 |
+
this.filteredItems = this.filteredItems.concat( filteredItems );
|
3400 |
+
};
|
3401 |
+
|
3402 |
+
// HEADS UP overwrites default Outlayer prepended
|
3403 |
+
proto.prepended = function( elems ) {
|
3404 |
+
var items = this._itemize( elems );
|
3405 |
+
if ( !items.length ) {
|
3406 |
+
return;
|
3407 |
+
}
|
3408 |
+
// start new layout
|
3409 |
+
this._resetLayout();
|
3410 |
+
this._manageStamps();
|
3411 |
+
// filter, layout, reveal new items
|
3412 |
+
var filteredItems = this._filterRevealAdded( items );
|
3413 |
+
// layout previous items
|
3414 |
+
this.layoutItems( this.filteredItems );
|
3415 |
+
// add to items and filteredItems
|
3416 |
+
this.filteredItems = filteredItems.concat( this.filteredItems );
|
3417 |
+
this.items = items.concat( this.items );
|
3418 |
+
};
|
3419 |
+
|
3420 |
+
proto._filterRevealAdded = function( items ) {
|
3421 |
+
var filtered = this._filter( items );
|
3422 |
+
this.hide( filtered.needHide );
|
3423 |
+
// reveal all new items
|
3424 |
+
this.reveal( filtered.matches );
|
3425 |
+
// layout new items, no transition
|
3426 |
+
this.layoutItems( filtered.matches, true );
|
3427 |
+
return filtered.matches;
|
3428 |
+
};
|
3429 |
+
|
3430 |
+
/**
|
3431 |
+
* Filter, sort, and layout newly-appended item elements
|
3432 |
+
* @param {Array or NodeList or Element} elems
|
3433 |
+
*/
|
3434 |
+
proto.insert = function( elems ) {
|
3435 |
+
var items = this.addItems( elems );
|
3436 |
+
if ( !items.length ) {
|
3437 |
+
return;
|
3438 |
+
}
|
3439 |
+
// append item elements
|
3440 |
+
var i, item;
|
3441 |
+
var len = items.length;
|
3442 |
+
for ( i=0; i < len; i++ ) {
|
3443 |
+
item = items[i];
|
3444 |
+
this.element.appendChild( item.element );
|
3445 |
+
}
|
3446 |
+
// filter new stuff
|
3447 |
+
var filteredInsertItems = this._filter( items ).matches;
|
3448 |
+
// set flag
|
3449 |
+
for ( i=0; i < len; i++ ) {
|
3450 |
+
items[i].isLayoutInstant = true;
|
3451 |
+
}
|
3452 |
+
this.arrange();
|
3453 |
+
// reset flag
|
3454 |
+
for ( i=0; i < len; i++ ) {
|
3455 |
+
delete items[i].isLayoutInstant;
|
3456 |
+
}
|
3457 |
+
this.reveal( filteredInsertItems );
|
3458 |
+
};
|
3459 |
+
|
3460 |
+
var _remove = proto.remove;
|
3461 |
+
proto.remove = function( elems ) {
|
3462 |
+
elems = utils.makeArray( elems );
|
3463 |
+
var removeItems = this.getItems( elems );
|
3464 |
+
// do regular thing
|
3465 |
+
_remove.call( this, elems );
|
3466 |
+
// bail if no items to remove
|
3467 |
+
var len = removeItems && removeItems.length;
|
3468 |
+
// remove elems from filteredItems
|
3469 |
+
for ( var i=0; len && i < len; i++ ) {
|
3470 |
+
var item = removeItems[i];
|
3471 |
+
// remove item from collection
|
3472 |
+
utils.removeFrom( this.filteredItems, item );
|
3473 |
+
}
|
3474 |
+
};
|
3475 |
+
|
3476 |
+
proto.shuffle = function() {
|
3477 |
+
// update random sortData
|
3478 |
+
for ( var i=0; i < this.items.length; i++ ) {
|
3479 |
+
var item = this.items[i];
|
3480 |
+
item.sortData.random = Math.random();
|
3481 |
+
}
|
3482 |
+
this.options.sortBy = 'random';
|
3483 |
+
this._sort();
|
3484 |
+
this._layout();
|
3485 |
+
};
|
3486 |
+
|
3487 |
+
/**
|
3488 |
+
* trigger fn without transition
|
3489 |
+
* kind of hacky to have this in the first place
|
3490 |
+
* @param {Function} fn
|
3491 |
+
* @param {Array} args
|
3492 |
+
* @returns ret
|
3493 |
+
* @private
|
3494 |
+
*/
|
3495 |
+
proto._noTransition = function( fn, args ) {
|
3496 |
+
// save transitionDuration before disabling
|
3497 |
+
var transitionDuration = this.options.transitionDuration;
|
3498 |
+
// disable transition
|
3499 |
+
this.options.transitionDuration = 0;
|
3500 |
+
// do it
|
3501 |
+
var returnValue = fn.apply( this, args );
|
3502 |
+
// re-enable transition for reveal
|
3503 |
+
this.options.transitionDuration = transitionDuration;
|
3504 |
+
return returnValue;
|
3505 |
+
};
|
3506 |
+
|
3507 |
+
// ----- helper methods ----- //
|
3508 |
+
|
3509 |
+
/**
|
3510 |
+
* getter method for getting filtered item elements
|
3511 |
+
* @returns {Array} elems - collection of item elements
|
3512 |
+
*/
|
3513 |
+
proto.getFilteredItemElements = function() {
|
3514 |
+
return this.filteredItems.map( function( item ) {
|
3515 |
+
return item.element;
|
3516 |
+
});
|
3517 |
+
};
|
3518 |
+
|
3519 |
+
// ----- ----- //
|
3520 |
+
|
3521 |
+
return Isotope;
|
3522 |
+
|
3523 |
+
}));
|
3524 |
+
|
assets/js/isotope.pkgd.min.js
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
(function(window,factory){if(typeof define=="function"&&define.amd){define("jquery-bridget/jquery-bridget",["jquery"],function(jQuery){return factory(window,jQuery)})}else if(typeof module=="object"&&module.exports){module.exports=factory(window,require("jquery"))}else{window.jQueryBridget=factory(window,window.jQuery)}})(window,function factory(window,jQuery){"use strict";var arraySlice=Array.prototype.slice;var console=window.console;var logError=typeof console=="undefined"?function(){}:function(message){console.error(message)};function jQueryBridget(namespace,PluginClass,$){$=$||jQuery||window.jQuery;if(!$){return}if(!PluginClass.prototype.option){PluginClass.prototype.option=function(opts){if(!$.isPlainObject(opts)){return}this.options=$.extend(true,this.options,opts)}}$.fn[namespace]=function(arg0){if(typeof arg0=="string"){var args=arraySlice.call(arguments,1);return methodCall(this,arg0,args)}plainCall(this,arg0);return this};function methodCall($elems,methodName,args){var returnValue;var pluginMethodStr="$()."+namespace+'("'+methodName+'")';$elems.each(function(i,elem){var instance=$.data(elem,namespace);if(!instance){logError(namespace+" not initialized. Cannot call methods, i.e. "+pluginMethodStr);return}var method=instance[methodName];if(!method||methodName.charAt(0)=="_"){logError(pluginMethodStr+" is not a valid method");return}var value=method.apply(instance,args);returnValue=returnValue===undefined?value:returnValue});return returnValue!==undefined?returnValue:$elems}function plainCall($elems,options){$elems.each(function(i,elem){var instance=$.data(elem,namespace);if(instance){instance.option(options);instance._init()}else{instance=new PluginClass(elem,options);$.data(elem,namespace,instance)}})}updateJQuery($)}function updateJQuery($){if(!$||$&&$.bridget){return}$.bridget=jQueryBridget}updateJQuery(jQuery||window.jQuery);return jQueryBridget});(function(global,factory){if(typeof define=="function"&&define.amd){define("ev-emitter/ev-emitter",factory)}else if(typeof module=="object"&&module.exports){module.exports=factory()}else{global.EvEmitter=factory()}})(typeof window!="undefined"?window:this,function(){function EvEmitter(){}var proto=EvEmitter.prototype;proto.on=function(eventName,listener){if(!eventName||!listener){return}var events=this._events=this._events||{};var listeners=events[eventName]=events[eventName]||[];if(listeners.indexOf(listener)==-1){listeners.push(listener)}return this};proto.once=function(eventName,listener){if(!eventName||!listener){return}this.on(eventName,listener);var onceEvents=this._onceEvents=this._onceEvents||{};var onceListeners=onceEvents[eventName]=onceEvents[eventName]||{};onceListeners[listener]=true;return this};proto.off=function(eventName,listener){var listeners=this._events&&this._events[eventName];if(!listeners||!listeners.length){return}var index=listeners.indexOf(listener);if(index!=-1){listeners.splice(index,1)}return this};proto.emitEvent=function(eventName,args){var listeners=this._events&&this._events[eventName];if(!listeners||!listeners.length){return}var i=0;var listener=listeners[i];args=args||[];var onceListeners=this._onceEvents&&this._onceEvents[eventName];while(listener){var isOnce=onceListeners&&onceListeners[listener];if(isOnce){this.off(eventName,listener);delete onceListeners[listener]}listener.apply(this,args);i+=isOnce?0:1;listener=listeners[i]}return this};return EvEmitter});(function(window,factory){"use strict";if(typeof define=="function"&&define.amd){define("get-size/get-size",[],function(){return factory()})}else if(typeof module=="object"&&module.exports){module.exports=factory()}else{window.getSize=factory()}})(window,function factory(){"use strict";function getStyleSize(value){var num=parseFloat(value);var isValid=value.indexOf("%")==-1&&!isNaN(num);return isValid&&num}function noop(){}var logError=typeof console=="undefined"?noop:function(message){console.error(message)};var measurements=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];var measurementsLength=measurements.length;function getZeroSize(){var size={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0};for(var i=0;i<measurementsLength;i++){var measurement=measurements[i];size[measurement]=0}return size}function getStyle(elem){var style=getComputedStyle(elem);if(!style){logError("Style returned "+style+". Are you running this code in a hidden iframe on Firefox? "+"See http://bit.ly/getsizebug1")}return style}var isSetup=false;var isBoxSizeOuter;function setup(){if(isSetup){return}isSetup=true;var div=document.createElement("div");div.style.width="200px";div.style.padding="1px 2px 3px 4px";div.style.borderStyle="solid";div.style.borderWidth="1px 2px 3px 4px";div.style.boxSizing="border-box";var body=document.body||document.documentElement;body.appendChild(div);var style=getStyle(div);getSize.isBoxSizeOuter=isBoxSizeOuter=getStyleSize(style.width)==200;body.removeChild(div)}function getSize(elem){setup();if(typeof elem=="string"){elem=document.querySelector(elem)}if(!elem||typeof elem!="object"||!elem.nodeType){return}var style=getStyle(elem);if(style.display=="none"){return getZeroSize()}var size={};size.width=elem.offsetWidth;size.height=elem.offsetHeight;var isBorderBox=size.isBorderBox=style.boxSizing=="border-box";for(var i=0;i<measurementsLength;i++){var measurement=measurements[i];var value=style[measurement];var num=parseFloat(value);size[measurement]=!isNaN(num)?num:0}var paddingWidth=size.paddingLeft+size.paddingRight;var paddingHeight=size.paddingTop+size.paddingBottom;var marginWidth=size.marginLeft+size.marginRight;var marginHeight=size.marginTop+size.marginBottom;var borderWidth=size.borderLeftWidth+size.borderRightWidth;var borderHeight=size.borderTopWidth+size.borderBottomWidth;var isBorderBoxSizeOuter=isBorderBox&&isBoxSizeOuter;var styleWidth=getStyleSize(style.width);if(styleWidth!==false){size.width=styleWidth+(isBorderBoxSizeOuter?0:paddingWidth+borderWidth)}var styleHeight=getStyleSize(style.height);if(styleHeight!==false){size.height=styleHeight+(isBorderBoxSizeOuter?0:paddingHeight+borderHeight)}size.innerWidth=size.width-(paddingWidth+borderWidth);size.innerHeight=size.height-(paddingHeight+borderHeight);size.outerWidth=size.width+marginWidth;size.outerHeight=size.height+marginHeight;return size}return getSize});(function(window,factory){"use strict";if(typeof define=="function"&&define.amd){define("desandro-matches-selector/matches-selector",factory)}else if(typeof module=="object"&&module.exports){module.exports=factory()}else{window.matchesSelector=factory()}})(window,function factory(){"use strict";var matchesMethod=function(){var ElemProto=window.Element.prototype;if(ElemProto.matches){return"matches"}if(ElemProto.matchesSelector){return"matchesSelector"}var prefixes=["webkit","moz","ms","o"];for(var i=0;i<prefixes.length;i++){var prefix=prefixes[i];var method=prefix+"MatchesSelector";if(ElemProto[method]){return method}}}();return function matchesSelector(elem,selector){return elem[matchesMethod](selector)}});(function(window,factory){if(typeof define=="function"&&define.amd){define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(matchesSelector){return factory(window,matchesSelector)})}else if(typeof module=="object"&&module.exports){module.exports=factory(window,require("desandro-matches-selector"))}else{window.fizzyUIUtils=factory(window,window.matchesSelector)}})(window,function factory(window,matchesSelector){var utils={};utils.extend=function(a,b){for(var prop in b){a[prop]=b[prop]}return a};utils.modulo=function(num,div){return(num%div+div)%div};utils.makeArray=function(obj){var ary=[];if(Array.isArray(obj)){ary=obj}else if(obj&&typeof obj=="object"&&typeof obj.length=="number"){for(var i=0;i<obj.length;i++){ary.push(obj[i])}}else{ary.push(obj)}return ary};utils.removeFrom=function(ary,obj){var index=ary.indexOf(obj);if(index!=-1){ary.splice(index,1)}};utils.getParent=function(elem,selector){while(elem!=document.body){elem=elem.parentNode;if(matchesSelector(elem,selector)){return elem}}};utils.getQueryElement=function(elem){if(typeof elem=="string"){return document.querySelector(elem)}return elem};utils.handleEvent=function(event){var method="on"+event.type;if(this[method]){this[method](event)}};utils.filterFindElements=function(elems,selector){elems=utils.makeArray(elems);var ffElems=[];elems.forEach(function(elem){if(!(elem instanceof HTMLElement)){return}if(!selector){ffElems.push(elem);return}if(matchesSelector(elem,selector)){ffElems.push(elem)}var childElems=elem.querySelectorAll(selector);for(var i=0;i<childElems.length;i++){ffElems.push(childElems[i])}});return ffElems};utils.debounceMethod=function(_class,methodName,threshold){var method=_class.prototype[methodName];var timeoutName=methodName+"Timeout";_class.prototype[methodName]=function(){var timeout=this[timeoutName];if(timeout){clearTimeout(timeout)}var args=arguments;var _this=this;this[timeoutName]=setTimeout(function(){method.apply(_this,args);delete _this[timeoutName]},threshold||100)}};utils.docReady=function(callback){var readyState=document.readyState;if(readyState=="complete"||readyState=="interactive"){setTimeout(callback)}else{document.addEventListener("DOMContentLoaded",callback)}};utils.toDashed=function(str){return str.replace(/(.)([A-Z])/g,function(match,$1,$2){return $1+"-"+$2}).toLowerCase()};var console=window.console;utils.htmlInit=function(WidgetClass,namespace){utils.docReady(function(){var dashedNamespace=utils.toDashed(namespace);var dataAttr="data-"+dashedNamespace;var dataAttrElems=document.querySelectorAll("["+dataAttr+"]");var jsDashElems=document.querySelectorAll(".js-"+dashedNamespace);var elems=utils.makeArray(dataAttrElems).concat(utils.makeArray(jsDashElems));var dataOptionsAttr=dataAttr+"-options";var jQuery=window.jQuery;elems.forEach(function(elem){var attr=elem.getAttribute(dataAttr)||elem.getAttribute(dataOptionsAttr);var options;try{options=attr&&JSON.parse(attr)}catch(error){if(console){console.error("Error parsing "+dataAttr+" on "+elem.className+": "+error)}return}var instance=new WidgetClass(elem,options);if(jQuery){jQuery.data(elem,namespace,instance)}})})};return utils});(function(window,factory){if(typeof define=="function"&&define.amd){define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],factory)}else if(typeof module=="object"&&module.exports){module.exports=factory(require("ev-emitter"),require("get-size"))}else{window.Outlayer={};window.Outlayer.Item=factory(window.EvEmitter,window.getSize)}})(window,function factory(EvEmitter,getSize){"use strict";function isEmptyObj(obj){for(var prop in obj){return false}prop=null;return true}var docElemStyle=document.documentElement.style;var transitionProperty=typeof docElemStyle.transition=="string"?"transition":"WebkitTransition";var transformProperty=typeof docElemStyle.transform=="string"?"transform":"WebkitTransform";var transitionEndEvent={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[transitionProperty];var vendorProperties={transform:transformProperty,transition:transitionProperty,transitionDuration:transitionProperty+"Duration",transitionProperty:transitionProperty+"Property",transitionDelay:transitionProperty+"Delay"};function Item(element,layout){if(!element){return}this.element=element;this.layout=layout;this.position={x:0,y:0};this._create()}var proto=Item.prototype=Object.create(EvEmitter.prototype);proto.constructor=Item;proto._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}};this.css({position:"absolute"})};proto.handleEvent=function(event){var method="on"+event.type;if(this[method]){this[method](event)}};proto.getSize=function(){this.size=getSize(this.element)};proto.css=function(style){var elemStyle=this.element.style;for(var prop in style){var supportedProp=vendorProperties[prop]||prop;elemStyle[supportedProp]=style[prop]}};proto.getPosition=function(){var style=getComputedStyle(this.element);var isOriginLeft=this.layout._getOption("originLeft");var isOriginTop=this.layout._getOption("originTop");var xValue=style[isOriginLeft?"left":"right"];var yValue=style[isOriginTop?"top":"bottom"];var layoutSize=this.layout.size;var x=xValue.indexOf("%")!=-1?parseFloat(xValue)/100*layoutSize.width:parseInt(xValue,10);var y=yValue.indexOf("%")!=-1?parseFloat(yValue)/100*layoutSize.height:parseInt(yValue,10);x=isNaN(x)?0:x;y=isNaN(y)?0:y;x-=isOriginLeft?layoutSize.paddingLeft:layoutSize.paddingRight;y-=isOriginTop?layoutSize.paddingTop:layoutSize.paddingBottom;this.position.x=x;this.position.y=y};proto.layoutPosition=function(){var layoutSize=this.layout.size;var style={};var isOriginLeft=this.layout._getOption("originLeft");var isOriginTop=this.layout._getOption("originTop");var xPadding=isOriginLeft?"paddingLeft":"paddingRight";var xProperty=isOriginLeft?"left":"right";var xResetProperty=isOriginLeft?"right":"left";var x=this.position.x+layoutSize[xPadding];style[xProperty]=this.getXValue(x);style[xResetProperty]="";var yPadding=isOriginTop?"paddingTop":"paddingBottom";var yProperty=isOriginTop?"top":"bottom";var yResetProperty=isOriginTop?"bottom":"top";var y=this.position.y+layoutSize[yPadding];style[yProperty]=this.getYValue(y);style[yResetProperty]="";this.css(style);this.emitEvent("layout",[this])};proto.getXValue=function(x){var isHorizontal=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!isHorizontal?x/this.layout.size.width*100+"%":x+"px"};proto.getYValue=function(y){var isHorizontal=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&isHorizontal?y/this.layout.size.height*100+"%":y+"px"};proto._transitionTo=function(x,y){this.getPosition();var curX=this.position.x;var curY=this.position.y;var compareX=parseInt(x,10);var compareY=parseInt(y,10);var didNotMove=compareX===this.position.x&&compareY===this.position.y;this.setPosition(x,y);if(didNotMove&&!this.isTransitioning){this.layoutPosition();return}var transX=x-curX;var transY=y-curY;var transitionStyle={};transitionStyle.transform=this.getTranslate(transX,transY);this.transition({to:transitionStyle,onTransitionEnd:{transform:this.layoutPosition},isCleaning:true})};proto.getTranslate=function(x,y){var isOriginLeft=this.layout._getOption("originLeft");var isOriginTop=this.layout._getOption("originTop");x=isOriginLeft?x:-x;y=isOriginTop?y:-y;return"translate3d("+x+"px, "+y+"px, 0)"};proto.goTo=function(x,y){this.setPosition(x,y);this.layoutPosition()};proto.moveTo=proto._transitionTo;proto.setPosition=function(x,y){this.position.x=parseInt(x,10);this.position.y=parseInt(y,10)};proto._nonTransition=function(args){this.css(args.to);if(args.isCleaning){this._removeStyles(args.to)}for(var prop in args.onTransitionEnd){args.onTransitionEnd[prop].call(this)}};proto.transition=function(args){if(!parseFloat(this.layout.options.transitionDuration)){this._nonTransition(args);return}var _transition=this._transn;for(var prop in args.onTransitionEnd){_transition.onEnd[prop]=args.onTransitionEnd[prop]}for(prop in args.to){_transition.ingProperties[prop]=true;if(args.isCleaning){_transition.clean[prop]=true}}if(args.from){this.css(args.from);var h=this.element.offsetHeight;h=null}this.enableTransition(args.to);this.css(args.to);this.isTransitioning=true};function toDashedAll(str){return str.replace(/([A-Z])/g,function($1){return"-"+$1.toLowerCase()})}var transitionProps="opacity,"+toDashedAll(transformProperty);proto.enableTransition=function(){if(this.isTransitioning){return}var duration=this.layout.options.transitionDuration;duration=typeof duration=="number"?duration+"ms":duration;this.css({transitionProperty:transitionProps,transitionDuration:duration,transitionDelay:this.staggerDelay||0});this.element.addEventListener(transitionEndEvent,this,false)};proto.onwebkitTransitionEnd=function(event){this.ontransitionend(event)};proto.onotransitionend=function(event){this.ontransitionend(event)};var dashedVendorProperties={"-webkit-transform":"transform"};proto.ontransitionend=function(event){if(event.target!==this.element){return}var _transition=this._transn;var propertyName=dashedVendorProperties[event.propertyName]||event.propertyName;delete _transition.ingProperties[propertyName];if(isEmptyObj(_transition.ingProperties)){this.disableTransition()}if(propertyName in _transition.clean){this.element.style[event.propertyName]="";delete _transition.clean[propertyName]}if(propertyName in _transition.onEnd){var onTransitionEnd=_transition.onEnd[propertyName];onTransitionEnd.call(this);delete _transition.onEnd[propertyName]}this.emitEvent("transitionEnd",[this])};proto.disableTransition=function(){this.removeTransitionStyles();this.element.removeEventListener(transitionEndEvent,this,false);this.isTransitioning=false};proto._removeStyles=function(style){var cleanStyle={};for(var prop in style){cleanStyle[prop]=""}this.css(cleanStyle)};var cleanTransitionStyle={transitionProperty:"",transitionDuration:"",transitionDelay:""};proto.removeTransitionStyles=function(){this.css(cleanTransitionStyle)};proto.stagger=function(delay){delay=isNaN(delay)?0:delay;this.staggerDelay=delay+"ms"};proto.removeElem=function(){this.element.parentNode.removeChild(this.element);this.css({display:""});this.emitEvent("remove",[this])};proto.remove=function(){if(!transitionProperty||!parseFloat(this.layout.options.transitionDuration)){this.removeElem();return}this.once("transitionEnd",function(){this.removeElem()});this.hide()};proto.reveal=function(){delete this.isHidden;this.css({display:""});var options=this.layout.options;var onTransitionEnd={};var transitionEndProperty=this.getHideRevealTransitionEndProperty("visibleStyle");onTransitionEnd[transitionEndProperty]=this.onRevealTransitionEnd;this.transition({from:options.hiddenStyle,to:options.visibleStyle,isCleaning:true,onTransitionEnd:onTransitionEnd})};proto.onRevealTransitionEnd=function(){if(!this.isHidden){this.emitEvent("reveal")}};proto.getHideRevealTransitionEndProperty=function(styleProperty){var optionStyle=this.layout.options[styleProperty];if(optionStyle.opacity){return"opacity"}for(var prop in optionStyle){return prop}};proto.hide=function(){this.isHidden=true;this.css({display:""});var options=this.layout.options;var onTransitionEnd={};var transitionEndProperty=this.getHideRevealTransitionEndProperty("hiddenStyle");onTransitionEnd[transitionEndProperty]=this.onHideTransitionEnd;this.transition({from:options.visibleStyle,to:options.hiddenStyle,isCleaning:true,onTransitionEnd:onTransitionEnd})};proto.onHideTransitionEnd=function(){if(this.isHidden){this.css({display:"none"});this.emitEvent("hide")}};proto.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})};return Item});(function(window,factory){"use strict";if(typeof define=="function"&&define.amd){define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(EvEmitter,getSize,utils,Item){return factory(window,EvEmitter,getSize,utils,Item)})}else if(typeof module=="object"&&module.exports){module.exports=factory(window,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item"))}else{window.Outlayer=factory(window,window.EvEmitter,window.getSize,window.fizzyUIUtils,window.Outlayer.Item)}})(window,function factory(window,EvEmitter,getSize,utils,Item){"use strict";var console=window.console;var jQuery=window.jQuery;var noop=function(){};var GUID=0;var instances={};function Outlayer(element,options){var queryElement=utils.getQueryElement(element);if(!queryElement){if(console){console.error("Bad element for "+this.constructor.namespace+": "+(queryElement||element))}return}this.element=queryElement;if(jQuery){this.$element=jQuery(this.element)}this.options=utils.extend({},this.constructor.defaults);this.option(options);var id=++GUID;this.element.outlayerGUID=id;instances[id]=this;this._create();var isInitLayout=this._getOption("initLayout");if(isInitLayout){this.layout()}}Outlayer.namespace="outlayer";Outlayer.Item=Item;Outlayer.defaults={containerStyle:{position:"relative"},initLayout:true,originLeft:true,originTop:true,resize:true,resizeContainer:true,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var proto=Outlayer.prototype;utils.extend(proto,EvEmitter.prototype);proto.option=function(opts){utils.extend(this.options,opts)};proto._getOption=function(option){var oldOption=this.constructor.compatOptions[option];return oldOption&&this.options[oldOption]!==undefined?this.options[oldOption]:this.options[option]};Outlayer.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"};proto._create=function(){this.reloadItems();this.stamps=[];this.stamp(this.options.stamp);utils.extend(this.element.style,this.options.containerStyle);var canBindResize=this._getOption("resize");if(canBindResize){this.bindResize()}};proto.reloadItems=function(){this.items=this._itemize(this.element.children)};proto._itemize=function(elems){var itemElems=this._filterFindItemElements(elems);var Item=this.constructor.Item;var items=[];for(var i=0;i<itemElems.length;i++){var elem=itemElems[i];var item=new Item(elem,this);items.push(item)}return items};proto._filterFindItemElements=function(elems){return utils.filterFindElements(elems,this.options.itemSelector)};proto.getItemElements=function(){return this.items.map(function(item){return item.element})};proto.layout=function(){this._resetLayout();this._manageStamps();var layoutInstant=this._getOption("layoutInstant");var isInstant=layoutInstant!==undefined?layoutInstant:!this._isLayoutInited;this.layoutItems(this.items,isInstant);this._isLayoutInited=true};proto._init=proto.layout;proto._resetLayout=function(){this.getSize()};proto.getSize=function(){this.size=getSize(this.element)};proto._getMeasurement=function(measurement,size){var option=this.options[measurement];var elem;if(!option){this[measurement]=0}else{if(typeof option=="string"){elem=this.element.querySelector(option)}else if(option instanceof HTMLElement){elem=option}this[measurement]=elem?getSize(elem)[size]:option}};proto.layoutItems=function(items,isInstant){items=this._getItemsForLayout(items);this._layoutItems(items,isInstant);this._postLayout()};proto._getItemsForLayout=function(items){return items.filter(function(item){return!item.isIgnored})};proto._layoutItems=function(items,isInstant){this._emitCompleteOnItems("layout",items);if(!items||!items.length){return}var queue=[];items.forEach(function(item){var position=this._getItemLayoutPosition(item);position.item=item;position.isInstant=isInstant||item.isLayoutInstant;queue.push(position)},this);this._processLayoutQueue(queue)};proto._getItemLayoutPosition=function(){return{x:0,y:0}};proto._processLayoutQueue=function(queue){this.updateStagger();queue.forEach(function(obj,i){this._positionItem(obj.item,obj.x,obj.y,obj.isInstant,i)},this)};proto.updateStagger=function(){var stagger=this.options.stagger;if(stagger===null||stagger===undefined){this.stagger=0;return}this.stagger=getMilliseconds(stagger);return this.stagger};proto._positionItem=function(item,x,y,isInstant,i){if(isInstant){item.goTo(x,y)}else{item.stagger(i*this.stagger);item.moveTo(x,y)}};proto._postLayout=function(){this.resizeContainer()};proto.resizeContainer=function(){var isResizingContainer=this._getOption("resizeContainer");if(!isResizingContainer){return}var size=this._getContainerSize();if(size){this._setContainerMeasure(size.width,true);this._setContainerMeasure(size.height,false)}};proto._getContainerSize=noop;proto._setContainerMeasure=function(measure,isWidth){if(measure===undefined){return}var elemSize=this.size;if(elemSize.isBorderBox){measure+=isWidth?elemSize.paddingLeft+elemSize.paddingRight+elemSize.borderLeftWidth+elemSize.borderRightWidth:elemSize.paddingBottom+elemSize.paddingTop+elemSize.borderTopWidth+elemSize.borderBottomWidth}measure=Math.max(measure,0);this.element.style[isWidth?"width":"height"]=measure+"px"};proto._emitCompleteOnItems=function(eventName,items){var _this=this;function onComplete(){_this.dispatchEvent(eventName+"Complete",null,[items])}var count=items.length;if(!items||!count){onComplete();return}var doneCount=0;function tick(){doneCount++;if(doneCount==count){onComplete()}}items.forEach(function(item){item.once(eventName,tick)})};proto.dispatchEvent=function(type,event,args){var emitArgs=event?[event].concat(args):args;this.emitEvent(type,emitArgs);if(jQuery){this.$element=this.$element||jQuery(this.element);if(event){var $event=jQuery.Event(event);$event.type=type;this.$element.trigger($event,args)}else{this.$element.trigger(type,args)}}};proto.ignore=function(elem){var item=this.getItem(elem);if(item){item.isIgnored=true}};proto.unignore=function(elem){var item=this.getItem(elem);if(item){delete item.isIgnored}};proto.stamp=function(elems){elems=this._find(elems);if(!elems){return}this.stamps=this.stamps.concat(elems);elems.forEach(this.ignore,this)};proto.unstamp=function(elems){elems=this._find(elems);if(!elems){return}elems.forEach(function(elem){utils.removeFrom(this.stamps,elem);this.unignore(elem)},this)};proto._find=function(elems){if(!elems){return}if(typeof elems=="string"){elems=this.element.querySelectorAll(elems)}elems=utils.makeArray(elems);return elems};proto._manageStamps=function(){if(!this.stamps||!this.stamps.length){return}this._getBoundingRect();this.stamps.forEach(this._manageStamp,this)};proto._getBoundingRect=function(){var boundingRect=this.element.getBoundingClientRect();var size=this.size;this._boundingRect={left:boundingRect.left+size.paddingLeft+size.borderLeftWidth,top:boundingRect.top+size.paddingTop+size.borderTopWidth,right:boundingRect.right-(size.paddingRight+size.borderRightWidth),bottom:boundingRect.bottom-(size.paddingBottom+size.borderBottomWidth)}};proto._manageStamp=noop;proto._getElementOffset=function(elem){var boundingRect=elem.getBoundingClientRect();var thisRect=this._boundingRect;var size=getSize(elem);var offset={left:boundingRect.left-thisRect.left-size.marginLeft,top:boundingRect.top-thisRect.top-size.marginTop,right:thisRect.right-boundingRect.right-size.marginRight,bottom:thisRect.bottom-boundingRect.bottom-size.marginBottom};return offset};proto.handleEvent=utils.handleEvent;proto.bindResize=function(){window.addEventListener("resize",this);this.isResizeBound=true};proto.unbindResize=function(){window.removeEventListener("resize",this);this.isResizeBound=false};proto.onresize=function(){this.resize()};utils.debounceMethod(Outlayer,"onresize",100);proto.resize=function(){if(!this.isResizeBound||!this.needsResizeLayout()){return}this.layout()};proto.needsResizeLayout=function(){var size=getSize(this.element);var hasSizes=this.size&&size;return hasSizes&&size.innerWidth!==this.size.innerWidth};proto.addItems=function(elems){var items=this._itemize(elems);if(items.length){this.items=this.items.concat(items)}return items};proto.appended=function(elems){var items=this.addItems(elems);if(!items.length){return}this.layoutItems(items,true);this.reveal(items)};proto.prepended=function(elems){var items=this._itemize(elems);if(!items.length){return}var previousItems=this.items.slice(0);this.items=items.concat(previousItems);this._resetLayout();this._manageStamps();this.layoutItems(items,true);this.reveal(items);this.layoutItems(previousItems)};proto.reveal=function(items){this._emitCompleteOnItems("reveal",items);if(!items||!items.length){return}var stagger=this.updateStagger();items.forEach(function(item,i){item.stagger(i*stagger);item.reveal()})};proto.hide=function(items){this._emitCompleteOnItems("hide",items);if(!items||!items.length){return}var stagger=this.updateStagger();items.forEach(function(item,i){item.stagger(i*stagger);item.hide()})};proto.revealItemElements=function(elems){var items=this.getItems(elems);this.reveal(items)};proto.hideItemElements=function(elems){var items=this.getItems(elems);this.hide(items)};proto.getItem=function(elem){for(var i=0;i<this.items.length;i++){var item=this.items[i];if(item.element==elem){return item}}};proto.getItems=function(elems){elems=utils.makeArray(elems);var items=[];elems.forEach(function(elem){var item=this.getItem(elem);if(item){items.push(item)}},this);return items};proto.remove=function(elems){var removeItems=this.getItems(elems);this._emitCompleteOnItems("remove",removeItems);if(!removeItems||!removeItems.length){return}removeItems.forEach(function(item){item.remove();utils.removeFrom(this.items,item)},this)};proto.destroy=function(){var style=this.element.style;style.height="";style.position="";style.width="";this.items.forEach(function(item){item.destroy()});this.unbindResize();var id=this.element.outlayerGUID;delete instances[id];delete this.element.outlayerGUID;if(jQuery){jQuery.removeData(this.element,this.constructor.namespace)}};Outlayer.data=function(elem){elem=utils.getQueryElement(elem);var id=elem&&elem.outlayerGUID;return id&&instances[id]};Outlayer.create=function(namespace,options){var Layout=subclass(Outlayer);Layout.defaults=utils.extend({},Outlayer.defaults);utils.extend(Layout.defaults,options);Layout.compatOptions=utils.extend({},Outlayer.compatOptions);Layout.namespace=namespace;Layout.data=Outlayer.data;Layout.Item=subclass(Item);utils.htmlInit(Layout,namespace);if(jQuery&&jQuery.bridget){jQuery.bridget(namespace,Layout)}return Layout};function subclass(Parent){function SubClass(){Parent.apply(this,arguments)}SubClass.prototype=Object.create(Parent.prototype);SubClass.prototype.constructor=SubClass;return SubClass}var msUnits={ms:1,s:1e3};function getMilliseconds(time){if(typeof time=="number"){return time}var matches=time.match(/(^\d*\.?\d*)(\w*)/);var num=matches&&matches[1];var unit=matches&&matches[2];if(!num.length){return 0}num=parseFloat(num);var mult=msUnits[unit]||1;return num*mult}Outlayer.Item=Item;return Outlayer});(function(window,factory){if(typeof define=="function"&&define.amd){define("isotope/js/item",["outlayer/outlayer"],factory)}else if(typeof module=="object"&&module.exports){module.exports=factory(require("outlayer"))}else{window.Isotope=window.Isotope||{};window.Isotope.Item=factory(window.Outlayer)}})(window,function factory(Outlayer){"use strict";function Item(){Outlayer.Item.apply(this,arguments)}var proto=Item.prototype=Object.create(Outlayer.Item.prototype);var _create=proto._create;proto._create=function(){this.id=this.layout.itemGUID++;_create.call(this);this.sortData={}};proto.updateSortData=function(){if(this.isIgnored){return}this.sortData.id=this.id;this.sortData["original-order"]=this.id;this.sortData.random=Math.random();var getSortData=this.layout.options.getSortData;var sorters=this.layout._sorters;for(var key in getSortData){var sorter=sorters[key];this.sortData[key]=sorter(this.element,this)}};var _destroy=proto.destroy;proto.destroy=function(){_destroy.apply(this,arguments);this.css({display:""})};return Item});(function(window,factory){if(typeof define=="function"&&define.amd){define("isotope/js/layout-mode",["get-size/get-size","outlayer/outlayer"],factory)}else if(typeof module=="object"&&module.exports){module.exports=factory(require("get-size"),require("outlayer"))}else{window.Isotope=window.Isotope||{};window.Isotope.LayoutMode=factory(window.getSize,window.Outlayer)}})(window,function factory(getSize,Outlayer){"use strict";function LayoutMode(isotope){this.isotope=isotope;if(isotope){this.options=isotope.options[this.namespace];this.element=isotope.element;this.items=isotope.filteredItems;this.size=isotope.size}}var proto=LayoutMode.prototype
|
2 |
+
;var facadeMethods=["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout","_getOption"];facadeMethods.forEach(function(methodName){proto[methodName]=function(){return Outlayer.prototype[methodName].apply(this.isotope,arguments)}});proto.needsVerticalResizeLayout=function(){var size=getSize(this.isotope.element);var hasSizes=this.isotope.size&&size;return hasSizes&&size.innerHeight!=this.isotope.size.innerHeight};proto._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)};proto.getColumnWidth=function(){this.getSegmentSize("column","Width")};proto.getRowHeight=function(){this.getSegmentSize("row","Height")};proto.getSegmentSize=function(segment,size){var segmentName=segment+size;var outerSize="outer"+size;this._getMeasurement(segmentName,outerSize);if(this[segmentName]){return}var firstItemSize=this.getFirstItemSize();this[segmentName]=firstItemSize&&firstItemSize[outerSize]||this.isotope.size["inner"+size]};proto.getFirstItemSize=function(){var firstItem=this.isotope.filteredItems[0];return firstItem&&firstItem.element&&getSize(firstItem.element)};proto.layout=function(){this.isotope.layout.apply(this.isotope,arguments)};proto.getSize=function(){this.isotope.getSize();this.size=this.isotope.size};LayoutMode.modes={};LayoutMode.create=function(namespace,options){function Mode(){LayoutMode.apply(this,arguments)}Mode.prototype=Object.create(proto);Mode.prototype.constructor=Mode;if(options){Mode.options=options}Mode.prototype.namespace=namespace;LayoutMode.modes[namespace]=Mode;return Mode};return LayoutMode});(function(window,factory){if(typeof define=="function"&&define.amd){define("masonry/masonry",["outlayer/outlayer","get-size/get-size"],factory)}else if(typeof module=="object"&&module.exports){module.exports=factory(require("outlayer"),require("get-size"))}else{window.Masonry=factory(window.Outlayer,window.getSize)}})(window,function factory(Outlayer,getSize){var Masonry=Outlayer.create("masonry");Masonry.compatOptions.fitWidth="isFitWidth";Masonry.prototype._resetLayout=function(){this.getSize();this._getMeasurement("columnWidth","outerWidth");this._getMeasurement("gutter","outerWidth");this.measureColumns();this.colYs=[];for(var i=0;i<this.cols;i++){this.colYs.push(0)}this.maxY=0};Masonry.prototype.measureColumns=function(){this.getContainerWidth();if(!this.columnWidth){var firstItem=this.items[0];var firstItemElem=firstItem&&firstItem.element;this.columnWidth=firstItemElem&&getSize(firstItemElem).outerWidth||this.containerWidth}var columnWidth=this.columnWidth+=this.gutter;var containerWidth=this.containerWidth+this.gutter;var cols=containerWidth/columnWidth;var excess=columnWidth-containerWidth%columnWidth;var mathMethod=excess&&excess<1?"round":"floor";cols=Math[mathMethod](cols);this.cols=Math.max(cols,1)};Masonry.prototype.getContainerWidth=function(){var isFitWidth=this._getOption("fitWidth");var container=isFitWidth?this.element.parentNode:this.element;var size=getSize(container);this.containerWidth=size&&size.innerWidth};Masonry.prototype._getItemLayoutPosition=function(item){item.getSize();var remainder=item.size.outerWidth%this.columnWidth;var mathMethod=remainder&&remainder<1?"round":"ceil";var colSpan=Math[mathMethod](item.size.outerWidth/this.columnWidth);colSpan=Math.min(colSpan,this.cols);var colGroup=this._getColGroup(colSpan);var minimumY=Math.min.apply(Math,colGroup);var shortColIndex=colGroup.indexOf(minimumY);var position={x:this.columnWidth*shortColIndex,y:minimumY};var setHeight=minimumY+item.size.outerHeight;var setSpan=this.cols+1-colGroup.length;for(var i=0;i<setSpan;i++){this.colYs[shortColIndex+i]=setHeight}return position};Masonry.prototype._getColGroup=function(colSpan){if(colSpan<2){return this.colYs}var colGroup=[];var groupCount=this.cols+1-colSpan;for(var i=0;i<groupCount;i++){var groupColYs=this.colYs.slice(i,i+colSpan);colGroup[i]=Math.max.apply(Math,groupColYs)}return colGroup};Masonry.prototype._manageStamp=function(stamp){var stampSize=getSize(stamp);var offset=this._getElementOffset(stamp);var isOriginLeft=this._getOption("originLeft");var firstX=isOriginLeft?offset.left:offset.right;var lastX=firstX+stampSize.outerWidth;var firstCol=Math.floor(firstX/this.columnWidth);firstCol=Math.max(0,firstCol);var lastCol=Math.floor(lastX/this.columnWidth);lastCol-=lastX%this.columnWidth?0:1;lastCol=Math.min(this.cols-1,lastCol);var isOriginTop=this._getOption("originTop");var stampMaxY=(isOriginTop?offset.top:offset.bottom)+stampSize.outerHeight;for(var i=firstCol;i<=lastCol;i++){this.colYs[i]=Math.max(stampMaxY,this.colYs[i])}};Masonry.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var size={height:this.maxY};if(this._getOption("fitWidth")){size.width=this._getContainerFitWidth()}return size};Masonry.prototype._getContainerFitWidth=function(){var unusedCols=0;var i=this.cols;while(--i){if(this.colYs[i]!==0){break}unusedCols++}return(this.cols-unusedCols)*this.columnWidth-this.gutter};Masonry.prototype.needsResizeLayout=function(){var previousWidth=this.containerWidth;this.getContainerWidth();return previousWidth!=this.containerWidth};return Masonry});(function(window,factory){if(typeof define=="function"&&define.amd){define("isotope/js/layout-modes/masonry",["../layout-mode","masonry/masonry"],factory)}else if(typeof module=="object"&&module.exports){module.exports=factory(require("../layout-mode"),require("masonry-layout"))}else{factory(window.Isotope.LayoutMode,window.Masonry)}})(window,function factory(LayoutMode,Masonry){"use strict";var MasonryMode=LayoutMode.create("masonry");var proto=MasonryMode.prototype;var keepModeMethods={_getElementOffset:true,layout:true,_getMeasurement:true};for(var method in Masonry.prototype){if(!keepModeMethods[method]){proto[method]=Masonry.prototype[method]}}var measureColumns=proto.measureColumns;proto.measureColumns=function(){this.items=this.isotope.filteredItems;measureColumns.call(this)};var _getOption=proto._getOption;proto._getOption=function(option){if(option=="fitWidth"){return this.options.isFitWidth!==undefined?this.options.isFitWidth:this.options.fitWidth}return _getOption.apply(this.isotope,arguments)};return MasonryMode});(function(window,factory){if(typeof define=="function"&&define.amd){define("isotope/js/layout-modes/fit-rows",["../layout-mode"],factory)}else if(typeof exports=="object"){module.exports=factory(require("../layout-mode"))}else{factory(window.Isotope.LayoutMode)}})(window,function factory(LayoutMode){"use strict";var FitRows=LayoutMode.create("fitRows");var proto=FitRows.prototype;proto._resetLayout=function(){this.x=0;this.y=0;this.maxY=0;this._getMeasurement("gutter","outerWidth")};proto._getItemLayoutPosition=function(item){item.getSize();var itemWidth=item.size.outerWidth+this.gutter;var containerWidth=this.isotope.size.innerWidth+this.gutter;if(this.x!==0&&itemWidth+this.x>containerWidth){this.x=0;this.y=this.maxY}var position={x:this.x,y:this.y};this.maxY=Math.max(this.maxY,this.y+item.size.outerHeight);this.x+=itemWidth;return position};proto._getContainerSize=function(){return{height:this.maxY}};return FitRows});(function(window,factory){if(typeof define=="function"&&define.amd){define("isotope/js/layout-modes/vertical",["../layout-mode"],factory)}else if(typeof module=="object"&&module.exports){module.exports=factory(require("../layout-mode"))}else{factory(window.Isotope.LayoutMode)}})(window,function factory(LayoutMode){"use strict";var Vertical=LayoutMode.create("vertical",{horizontalAlignment:0});var proto=Vertical.prototype;proto._resetLayout=function(){this.y=0};proto._getItemLayoutPosition=function(item){item.getSize();var x=(this.isotope.size.innerWidth-item.size.outerWidth)*this.options.horizontalAlignment;var y=this.y;this.y+=item.size.outerHeight;return{x:x,y:y}};proto._getContainerSize=function(){return{height:this.y}};return Vertical});(function(window,factory){if(typeof define=="function"&&define.amd){define(["outlayer/outlayer","get-size/get-size","desandro-matches-selector/matches-selector","fizzy-ui-utils/utils","isotope/js/item","isotope/js/layout-mode","isotope/js/layout-modes/masonry","isotope/js/layout-modes/fit-rows","isotope/js/layout-modes/vertical"],function(Outlayer,getSize,matchesSelector,utils,Item,LayoutMode){return factory(window,Outlayer,getSize,matchesSelector,utils,Item,LayoutMode)})}else if(typeof module=="object"&&module.exports){module.exports=factory(window,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("isotope/js/item"),require("isotope/js/layout-mode"),require("isotope/js/layout-modes/masonry"),require("isotope/js/layout-modes/fit-rows"),require("isotope/js/layout-modes/vertical"))}else{window.Isotope=factory(window,window.Outlayer,window.getSize,window.matchesSelector,window.fizzyUIUtils,window.Isotope.Item,window.Isotope.LayoutMode)}})(window,function factory(window,Outlayer,getSize,matchesSelector,utils,Item,LayoutMode){var jQuery=window.jQuery;var trim=String.prototype.trim?function(str){return str.trim()}:function(str){return str.replace(/^\s+|\s+$/g,"")};var Isotope=Outlayer.create("isotope",{layoutMode:"masonry",isJQueryFiltering:true,sortAscending:true});Isotope.Item=Item;Isotope.LayoutMode=LayoutMode;var proto=Isotope.prototype;proto._create=function(){this.itemGUID=0;this._sorters={};this._getSorters();Outlayer.prototype._create.call(this);this.modes={};this.filteredItems=this.items;this.sortHistory=["original-order"];for(var name in LayoutMode.modes){this._initLayoutMode(name)}};proto.reloadItems=function(){this.itemGUID=0;Outlayer.prototype.reloadItems.call(this)};proto._itemize=function(){var items=Outlayer.prototype._itemize.apply(this,arguments);for(var i=0;i<items.length;i++){var item=items[i];item.id=this.itemGUID++}this._updateItemsSortData(items);return items};proto._initLayoutMode=function(name){var Mode=LayoutMode.modes[name];var initialOpts=this.options[name]||{};this.options[name]=Mode.options?utils.extend(Mode.options,initialOpts):initialOpts;this.modes[name]=new Mode(this)};proto.layout=function(){if(!this._isLayoutInited&&this._getOption("initLayout")){this.arrange();return}this._layout()};proto._layout=function(){var isInstant=this._getIsInstant();this._resetLayout();this._manageStamps();this.layoutItems(this.filteredItems,isInstant);this._isLayoutInited=true};proto.arrange=function(opts){this.option(opts);this._getIsInstant();var filtered=this._filter(this.items);this.filteredItems=filtered.matches;this._bindArrangeComplete();if(this._isInstant){this._noTransition(this._hideReveal,[filtered])}else{this._hideReveal(filtered)}this._sort();this._layout()};proto._init=proto.arrange;proto._hideReveal=function(filtered){this.reveal(filtered.needReveal);this.hide(filtered.needHide)};proto._getIsInstant=function(){var isLayoutInstant=this._getOption("layoutInstant");var isInstant=isLayoutInstant!==undefined?isLayoutInstant:!this._isLayoutInited;this._isInstant=isInstant;return isInstant};proto._bindArrangeComplete=function(){var isLayoutComplete,isHideComplete,isRevealComplete;var _this=this;function arrangeParallelCallback(){if(isLayoutComplete&&isHideComplete&&isRevealComplete){_this.dispatchEvent("arrangeComplete",null,[_this.filteredItems])}}this.once("layoutComplete",function(){isLayoutComplete=true;arrangeParallelCallback()});this.once("hideComplete",function(){isHideComplete=true;arrangeParallelCallback()});this.once("revealComplete",function(){isRevealComplete=true;arrangeParallelCallback()})};proto._filter=function(items){var filter=this.options.filter;filter=filter||"*";var matches=[];var hiddenMatched=[];var visibleUnmatched=[];var test=this._getFilterTest(filter);for(var i=0;i<items.length;i++){var item=items[i];if(item.isIgnored){continue}var isMatched=test(item);if(isMatched){matches.push(item)}if(isMatched&&item.isHidden){hiddenMatched.push(item)}else if(!isMatched&&!item.isHidden){visibleUnmatched.push(item)}}return{matches:matches,needReveal:hiddenMatched,needHide:visibleUnmatched}};proto._getFilterTest=function(filter){if(jQuery&&this.options.isJQueryFiltering){return function(item){return jQuery(item.element).is(filter)}}if(typeof filter=="function"){return function(item){return filter(item.element)}}return function(item){return matchesSelector(item.element,filter)}};proto.updateSortData=function(elems){var items;if(elems){elems=utils.makeArray(elems);items=this.getItems(elems)}else{items=this.items}this._getSorters();this._updateItemsSortData(items)};proto._getSorters=function(){var getSortData=this.options.getSortData;for(var key in getSortData){var sorter=getSortData[key];this._sorters[key]=mungeSorter(sorter)}};proto._updateItemsSortData=function(items){var len=items&&items.length;for(var i=0;len&&i<len;i++){var item=items[i];item.updateSortData()}};var mungeSorter=function(){function mungeSorter(sorter){if(typeof sorter!="string"){return sorter}var args=trim(sorter).split(" ");var query=args[0];var attrMatch=query.match(/^\[(.+)\]$/);var attr=attrMatch&&attrMatch[1];var getValue=getValueGetter(attr,query);var parser=Isotope.sortDataParsers[args[1]];sorter=parser?function(elem){return elem&&parser(getValue(elem))}:function(elem){return elem&&getValue(elem)};return sorter}function getValueGetter(attr,query){if(attr){return function getAttribute(elem){return elem.getAttribute(attr)}}return function getChildText(elem){var child=elem.querySelector(query);return child&&child.textContent}}return mungeSorter}();Isotope.sortDataParsers={parseInt:function(val){return parseInt(val,10)},parseFloat:function(val){return parseFloat(val)}};proto._sort=function(){if(!this.options.sortBy){return}var sortBys=utils.makeArray(this.options.sortBy);if(!this._getIsSameSortBy(sortBys)){this.sortHistory=sortBys.concat(this.sortHistory)}var itemSorter=getItemSorter(this.sortHistory,this.options.sortAscending);this.filteredItems.sort(itemSorter)};proto._getIsSameSortBy=function(sortBys){for(var i=0;i<sortBys.length;i++){if(sortBys[i]!=this.sortHistory[i]){return false}}return true};function getItemSorter(sortBys,sortAsc){return function sorter(itemA,itemB){for(var i=0;i<sortBys.length;i++){var sortBy=sortBys[i];var a=itemA.sortData[sortBy];var b=itemB.sortData[sortBy];if(a>b||a<b){var isAscending=sortAsc[sortBy]!==undefined?sortAsc[sortBy]:sortAsc;var direction=isAscending?1:-1;return(a>b?1:-1)*direction}}return 0}}proto._mode=function(){var layoutMode=this.options.layoutMode;var mode=this.modes[layoutMode];if(!mode){throw new Error("No layout mode: "+layoutMode)}mode.options=this.options[layoutMode];return mode};proto._resetLayout=function(){Outlayer.prototype._resetLayout.call(this);this._mode()._resetLayout()};proto._getItemLayoutPosition=function(item){return this._mode()._getItemLayoutPosition(item)};proto._manageStamp=function(stamp){this._mode()._manageStamp(stamp)};proto._getContainerSize=function(){return this._mode()._getContainerSize()};proto.needsResizeLayout=function(){return this._mode().needsResizeLayout()};proto.appended=function(elems){var items=this.addItems(elems);if(!items.length){return}var filteredItems=this._filterRevealAdded(items);this.filteredItems=this.filteredItems.concat(filteredItems)};proto.prepended=function(elems){var items=this._itemize(elems);if(!items.length){return}this._resetLayout();this._manageStamps();var filteredItems=this._filterRevealAdded(items);this.layoutItems(this.filteredItems);this.filteredItems=filteredItems.concat(this.filteredItems);this.items=items.concat(this.items)};proto._filterRevealAdded=function(items){var filtered=this._filter(items);this.hide(filtered.needHide);this.reveal(filtered.matches);this.layoutItems(filtered.matches,true);return filtered.matches};proto.insert=function(elems){var items=this.addItems(elems);if(!items.length){return}var i,item;var len=items.length;for(i=0;i<len;i++){item=items[i];this.element.appendChild(item.element)}var filteredInsertItems=this._filter(items).matches;for(i=0;i<len;i++){items[i].isLayoutInstant=true}this.arrange();for(i=0;i<len;i++){delete items[i].isLayoutInstant}this.reveal(filteredInsertItems)};var _remove=proto.remove;proto.remove=function(elems){elems=utils.makeArray(elems);var removeItems=this.getItems(elems);_remove.call(this,elems);var len=removeItems&&removeItems.length;for(var i=0;len&&i<len;i++){var item=removeItems[i];utils.removeFrom(this.filteredItems,item)}};proto.shuffle=function(){for(var i=0;i<this.items.length;i++){var item=this.items[i];item.sortData.random=Math.random()}this.options.sortBy="random";this._sort();this._layout()};proto._noTransition=function(fn,args){var transitionDuration=this.options.transitionDuration;this.options.transitionDuration=0;var returnValue=fn.apply(this,args);this.options.transitionDuration=transitionDuration;return returnValue};proto.getFilteredItemElements=function(){return this.filteredItems.map(function(item){return item.element})};return Isotope});
|
assets/js/jquery.flexslider.js
ADDED
@@ -0,0 +1,1195 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* jQuery FlexSlider v2.6.0
|
3 |
+
* Copyright 2012 WooThemes
|
4 |
+
* Contributing Author: Tyler Smith
|
5 |
+
*/
|
6 |
+
;
|
7 |
+
(function ($) {
|
8 |
+
|
9 |
+
var focused = true;
|
10 |
+
|
11 |
+
//FlexSlider: Object Instance
|
12 |
+
$.flexslider = function(el, options) {
|
13 |
+
var slider = $(el);
|
14 |
+
|
15 |
+
// making variables public
|
16 |
+
slider.vars = $.extend({}, $.flexslider.defaults, options);
|
17 |
+
|
18 |
+
var namespace = slider.vars.namespace,
|
19 |
+
msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
|
20 |
+
touch = (( "ontouchstart" in window ) || msGesture || window.DocumentTouch && document instanceof DocumentTouch) && slider.vars.touch,
|
21 |
+
// depricating this idea, as devices are being released with both of these events
|
22 |
+
eventType = "click touchend MSPointerUp keyup",
|
23 |
+
watchedEvent = "",
|
24 |
+
watchedEventClearTimer,
|
25 |
+
vertical = slider.vars.direction === "vertical",
|
26 |
+
reverse = slider.vars.reverse,
|
27 |
+
carousel = (slider.vars.itemWidth > 0),
|
28 |
+
fade = slider.vars.animation === "fade",
|
29 |
+
asNav = slider.vars.asNavFor !== "",
|
30 |
+
methods = {};
|
31 |
+
|
32 |
+
// Store a reference to the slider object
|
33 |
+
$.data(el, "flexslider", slider);
|
34 |
+
|
35 |
+
// Private slider methods
|
36 |
+
methods = {
|
37 |
+
init: function() {
|
38 |
+
slider.animating = false;
|
39 |
+
// Get current slide and make sure it is a number
|
40 |
+
slider.currentSlide = parseInt( ( slider.vars.startAt ? slider.vars.startAt : 0), 10 );
|
41 |
+
if ( isNaN( slider.currentSlide ) ) { slider.currentSlide = 0; }
|
42 |
+
slider.animatingTo = slider.currentSlide;
|
43 |
+
slider.atEnd = (slider.currentSlide === 0 || slider.currentSlide === slider.last);
|
44 |
+
slider.containerSelector = slider.vars.selector.substr(0,slider.vars.selector.search(' '));
|
45 |
+
slider.slides = $(slider.vars.selector, slider);
|
46 |
+
slider.container = $(slider.containerSelector, slider);
|
47 |
+
slider.count = slider.slides.length;
|
48 |
+
// SYNC:
|
49 |
+
slider.syncExists = $(slider.vars.sync).length > 0;
|
50 |
+
// SLIDE:
|
51 |
+
if (slider.vars.animation === "slide") { slider.vars.animation = "swing"; }
|
52 |
+
slider.prop = (vertical) ? "top" : "marginLeft";
|
53 |
+
slider.args = {};
|
54 |
+
// SLIDESHOW:
|
55 |
+
slider.manualPause = false;
|
56 |
+
slider.stopped = false;
|
57 |
+
//PAUSE WHEN INVISIBLE
|
58 |
+
slider.started = false;
|
59 |
+
slider.startTimeout = null;
|
60 |
+
// TOUCH/USECSS:
|
61 |
+
slider.transitions = !slider.vars.video && !fade && slider.vars.useCSS && (function() {
|
62 |
+
var obj = document.createElement('div'),
|
63 |
+
props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
|
64 |
+
for (var i in props) {
|
65 |
+
if ( obj.style[ props[i] ] !== undefined ) {
|
66 |
+
slider.pfx = props[i].replace('Perspective','').toLowerCase();
|
67 |
+
slider.prop = "-" + slider.pfx + "-transform";
|
68 |
+
return true;
|
69 |
+
}
|
70 |
+
}
|
71 |
+
return false;
|
72 |
+
}());
|
73 |
+
slider.ensureAnimationEnd = '';
|
74 |
+
// CONTROLSCONTAINER:
|
75 |
+
if (slider.vars.controlsContainer !== "") slider.controlsContainer = $(slider.vars.controlsContainer).length > 0 && $(slider.vars.controlsContainer);
|
76 |
+
// MANUAL:
|
77 |
+
if (slider.vars.manualControls !== "") slider.manualControls = $(slider.vars.manualControls).length > 0 && $(slider.vars.manualControls);
|
78 |
+
|
79 |
+
// CUSTOM DIRECTION NAV:
|
80 |
+
if (slider.vars.customDirectionNav !== "") slider.customDirectionNav = $(slider.vars.customDirectionNav).length === 2 && $(slider.vars.customDirectionNav);
|
81 |
+
|
82 |
+
// RANDOMIZE:
|
83 |
+
if (slider.vars.randomize) {
|
84 |
+
slider.slides.sort(function() { return (Math.round(Math.random())-0.5); });
|
85 |
+
slider.container.empty().append(slider.slides);
|
86 |
+
}
|
87 |
+
|
88 |
+
slider.doMath();
|
89 |
+
|
90 |
+
// INIT
|
91 |
+
slider.setup("init");
|
92 |
+
|
93 |
+
// CONTROLNAV:
|
94 |
+
if (slider.vars.controlNav) { methods.controlNav.setup(); }
|
95 |
+
|
96 |
+
// DIRECTIONNAV:
|
97 |
+
if (slider.vars.directionNav) { methods.directionNav.setup(); }
|
98 |
+
|
99 |
+
// KEYBOARD:
|
100 |
+
if (slider.vars.keyboard && ($(slider.containerSelector).length === 1 || slider.vars.multipleKeyboard)) {
|
101 |
+
$(document).bind('keyup', function(event) {
|
102 |
+
var keycode = event.keyCode;
|
103 |
+
if (!slider.animating && (keycode === 39 || keycode === 37)) {
|
104 |
+
var target = (keycode === 39) ? slider.getTarget('next') :
|
105 |
+
(keycode === 37) ? slider.getTarget('prev') : false;
|
106 |
+
slider.flexAnimate(target, slider.vars.pauseOnAction);
|
107 |
+
}
|
108 |
+
});
|
109 |
+
}
|
110 |
+
// MOUSEWHEEL:
|
111 |
+
if (slider.vars.mousewheel) {
|
112 |
+
slider.bind('mousewheel', function(event, delta, deltaX, deltaY) {
|
113 |
+
event.preventDefault();
|
114 |
+
var target = (delta < 0) ? slider.getTarget('next') : slider.getTarget('prev');
|
115 |
+
slider.flexAnimate(target, slider.vars.pauseOnAction);
|
116 |
+
});
|
117 |
+
}
|
118 |
+
|
119 |
+
// PAUSEPLAY
|
120 |
+
if (slider.vars.pausePlay) { methods.pausePlay.setup(); }
|
121 |
+
|
122 |
+
//PAUSE WHEN INVISIBLE
|
123 |
+
if (slider.vars.slideshow && slider.vars.pauseInvisible) { methods.pauseInvisible.init(); }
|
124 |
+
|
125 |
+
// SLIDSESHOW
|
126 |
+
if (slider.vars.slideshow) {
|
127 |
+
if (slider.vars.pauseOnHover) {
|
128 |
+
slider.hover(function() {
|
129 |
+
if (!slider.manualPlay && !slider.manualPause) { slider.pause(); }
|
130 |
+
}, function() {
|
131 |
+
if (!slider.manualPause && !slider.manualPlay && !slider.stopped) { slider.play(); }
|
132 |
+
});
|
133 |
+
}
|
134 |
+
// initialize animation
|
135 |
+
//If we're visible, or we don't use PageVisibility API
|
136 |
+
if(!slider.vars.pauseInvisible || !methods.pauseInvisible.isHidden()) {
|
137 |
+
(slider.vars.initDelay > 0) ? slider.startTimeout = setTimeout(slider.play, slider.vars.initDelay) : slider.play();
|
138 |
+
}
|
139 |
+
}
|
140 |
+
|
141 |
+
// ASNAV:
|
142 |
+
if (asNav) { methods.asNav.setup(); }
|
143 |
+
|
144 |
+
// TOUCH
|
145 |
+
if (touch && slider.vars.touch) { methods.touch(); }
|
146 |
+
|
147 |
+
// FADE&&SMOOTHHEIGHT || SLIDE:
|
148 |
+
if (!fade || (fade && slider.vars.smoothHeight)) { $(window).bind("resize orientationchange focus", methods.resize); }
|
149 |
+
|
150 |
+
slider.find("img").attr("draggable", "false");
|
151 |
+
|
152 |
+
// API: start() Callback
|
153 |
+
setTimeout(function(){
|
154 |
+
slider.vars.start(slider);
|
155 |
+
}, 200);
|
156 |
+
},
|
157 |
+
asNav: {
|
158 |
+
setup: function() {
|
159 |
+
slider.asNav = true;
|
160 |
+
slider.animatingTo = Math.floor(slider.currentSlide/slider.move);
|
161 |
+
slider.currentItem = slider.currentSlide;
|
162 |
+
slider.slides.removeClass(namespace + "active-slide").eq(slider.currentItem).addClass(namespace + "active-slide");
|
163 |
+
if(!msGesture){
|
164 |
+
slider.slides.on(eventType, function(e){
|
165 |
+
e.preventDefault();
|
166 |
+
var $slide = $(this),
|
167 |
+
target = $slide.index();
|
168 |
+
var posFromLeft = $slide.offset().left - $(slider).scrollLeft(); // Find position of slide relative to left of slider container
|
169 |
+
if( posFromLeft <= 0 && $slide.hasClass( namespace + 'active-slide' ) ) {
|
170 |
+
slider.flexAnimate(slider.getTarget("prev"), true);
|
171 |
+
} else if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass(namespace + "active-slide")) {
|
172 |
+
slider.direction = (slider.currentItem < target) ? "next" : "prev";
|
173 |
+
slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);
|
174 |
+
}
|
175 |
+
});
|
176 |
+
}else{
|
177 |
+
el._slider = slider;
|
178 |
+
slider.slides.each(function (){
|
179 |
+
var that = this;
|
180 |
+
that._gesture = new MSGesture();
|
181 |
+
that._gesture.target = that;
|
182 |
+
that.addEventListener("MSPointerDown", function (e){
|
183 |
+
e.preventDefault();
|
184 |
+
if(e.currentTarget._gesture) {
|
185 |
+
e.currentTarget._gesture.addPointer(e.pointerId);
|
186 |
+
}
|
187 |
+
}, false);
|
188 |
+
that.addEventListener("MSGestureTap", function (e){
|
189 |
+
e.preventDefault();
|
190 |
+
var $slide = $(this),
|
191 |
+
target = $slide.index();
|
192 |
+
if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass('active')) {
|
193 |
+
slider.direction = (slider.currentItem < target) ? "next" : "prev";
|
194 |
+
slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);
|
195 |
+
}
|
196 |
+
});
|
197 |
+
});
|
198 |
+
}
|
199 |
+
}
|
200 |
+
},
|
201 |
+
controlNav: {
|
202 |
+
setup: function() {
|
203 |
+
if (!slider.manualControls) {
|
204 |
+
methods.controlNav.setupPaging();
|
205 |
+
} else { // MANUALCONTROLS:
|
206 |
+
methods.controlNav.setupManual();
|
207 |
+
}
|
208 |
+
},
|
209 |
+
setupPaging: function() {
|
210 |
+
var type = (slider.vars.controlNav === "thumbnails") ? 'control-thumbs' : 'control-paging',
|
211 |
+
j = 1,
|
212 |
+
item,
|
213 |
+
slide;
|
214 |
+
|
215 |
+
slider.controlNavScaffold = $('<ol class="'+ namespace + 'control-nav ' + namespace + type + '"></ol>');
|
216 |
+
|
217 |
+
if (slider.pagingCount > 1) {
|
218 |
+
for (var i = 0; i < slider.pagingCount; i++) {
|
219 |
+
slide = slider.slides.eq(i);
|
220 |
+
if ( undefined === slide.attr( 'data-thumb-alt' ) ) { slide.attr( 'data-thumb-alt', '' ); }
|
221 |
+
altText = ( '' !== slide.attr( 'data-thumb-alt' ) ) ? altText = ' alt="' + slide.attr( 'data-thumb-alt' ) + '"' : '';
|
222 |
+
item = (slider.vars.controlNav === "thumbnails") ? '<img src="' + slide.attr( 'data-thumb' ) + '"' + altText + '/>' : '<a href="#">' + j + '</a>';
|
223 |
+
if ( 'thumbnails' === slider.vars.controlNav && true === slider.vars.thumbCaptions ) {
|
224 |
+
var captn = slide.attr( 'data-thumbcaption' );
|
225 |
+
if ( '' !== captn && undefined !== captn ) { item += '<span class="' + namespace + 'caption">' + captn + '</span>'; }
|
226 |
+
}
|
227 |
+
slider.controlNavScaffold.append('<li>' + item + '</li>');
|
228 |
+
j++;
|
229 |
+
}
|
230 |
+
}
|
231 |
+
|
232 |
+
// CONTROLSCONTAINER:
|
233 |
+
(slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold) : slider.append(slider.controlNavScaffold);
|
234 |
+
methods.controlNav.set();
|
235 |
+
|
236 |
+
methods.controlNav.active();
|
237 |
+
|
238 |
+
slider.controlNavScaffold.delegate('a, img', eventType, function(event) {
|
239 |
+
event.preventDefault();
|
240 |
+
|
241 |
+
if (watchedEvent === "" || watchedEvent === event.type) {
|
242 |
+
var $this = $(this),
|
243 |
+
target = slider.controlNav.index($this);
|
244 |
+
|
245 |
+
if (!$this.hasClass(namespace + 'active')) {
|
246 |
+
slider.direction = (target > slider.currentSlide) ? "next" : "prev";
|
247 |
+
slider.flexAnimate(target, slider.vars.pauseOnAction);
|
248 |
+
}
|
249 |
+
}
|
250 |
+
|
251 |
+
// setup flags to prevent event duplication
|
252 |
+
if (watchedEvent === "") {
|
253 |
+
watchedEvent = event.type;
|
254 |
+
}
|
255 |
+
methods.setToClearWatchedEvent();
|
256 |
+
|
257 |
+
});
|
258 |
+
},
|
259 |
+
setupManual: function() {
|
260 |
+
slider.controlNav = slider.manualControls;
|
261 |
+
methods.controlNav.active();
|
262 |
+
|
263 |
+
slider.controlNav.bind(eventType, function(event) {
|
264 |
+
event.preventDefault();
|
265 |
+
|
266 |
+
if (watchedEvent === "" || watchedEvent === event.type) {
|
267 |
+
var $this = $(this),
|
268 |
+
target = slider.controlNav.index($this);
|
269 |
+
|
270 |
+
if (!$this.hasClass(namespace + 'active')) {
|
271 |
+
(target > slider.currentSlide) ? slider.direction = "next" : slider.direction = "prev";
|
272 |
+
slider.flexAnimate(target, slider.vars.pauseOnAction);
|
273 |
+
}
|
274 |
+
}
|
275 |
+
|
276 |
+
// setup flags to prevent event duplication
|
277 |
+
if (watchedEvent === "") {
|
278 |
+
watchedEvent = event.type;
|
279 |
+
}
|
280 |
+
methods.setToClearWatchedEvent();
|
281 |
+
});
|
282 |
+
},
|
283 |
+
set: function() {
|
284 |
+
var selector = (slider.vars.controlNav === "thumbnails") ? 'img' : 'a';
|
285 |
+
slider.controlNav = $('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer : slider);
|
286 |
+
},
|
287 |
+
active: function() {
|
288 |
+
slider.controlNav.removeClass(namespace + "active").eq(slider.animatingTo).addClass(namespace + "active");
|
289 |
+
},
|
290 |
+
update: function(action, pos) {
|
291 |
+
if (slider.pagingCount > 1 && action === "add") {
|
292 |
+
slider.controlNavScaffold.append($('<li><a href="#">' + slider.count + '</a></li>'));
|
293 |
+
} else if (slider.pagingCount === 1) {
|
294 |
+
slider.controlNavScaffold.find('li').remove();
|
295 |
+
} else {
|
296 |
+
slider.controlNav.eq(pos).closest('li').remove();
|
297 |
+
}
|
298 |
+
methods.controlNav.set();
|
299 |
+
(slider.pagingCount > 1 && slider.pagingCount !== slider.controlNav.length) ? slider.update(pos, action) : methods.controlNav.active();
|
300 |
+
}
|
301 |
+
},
|
302 |
+
directionNav: {
|
303 |
+
setup: function() {
|
304 |
+
var directionNavScaffold = $('<ul class="' + namespace + 'direction-nav"><li class="' + namespace + 'nav-prev"><a class="' + namespace + 'prev" href="#">' + slider.vars.prevText + '</a></li><li class="' + namespace + 'nav-next"><a class="' + namespace + 'next" href="#">' + slider.vars.nextText + '</a></li></ul>');
|
305 |
+
|
306 |
+
// CUSTOM DIRECTION NAV:
|
307 |
+
if (slider.customDirectionNav) {
|
308 |
+
slider.directionNav = slider.customDirectionNav;
|
309 |
+
// CONTROLSCONTAINER:
|
310 |
+
} else if (slider.controlsContainer) {
|
311 |
+
$(slider.controlsContainer).append(directionNavScaffold);
|
312 |
+
slider.directionNav = $('.' + namespace + 'direction-nav li a', slider.controlsContainer);
|
313 |
+
} else {
|
314 |
+
slider.append(directionNavScaffold);
|
315 |
+
slider.directionNav = $('.' + namespace + 'direction-nav li a', slider);
|
316 |
+
}
|
317 |
+
|
318 |
+
methods.directionNav.update();
|
319 |
+
|
320 |
+
slider.directionNav.bind(eventType, function(event) {
|
321 |
+
event.preventDefault();
|
322 |
+
var target;
|
323 |
+
|
324 |
+
if (watchedEvent === "" || watchedEvent === event.type) {
|
325 |
+
target = ($(this).hasClass(namespace + 'next')) ? slider.getTarget('next') : slider.getTarget('prev');
|
326 |
+
slider.flexAnimate(target, slider.vars.pauseOnAction);
|
327 |
+
}
|
328 |
+
|
329 |
+
// setup flags to prevent event duplication
|
330 |
+
if (watchedEvent === "") {
|
331 |
+
watchedEvent = event.type;
|
332 |
+
}
|
333 |
+
methods.setToClearWatchedEvent();
|
334 |
+
});
|
335 |
+
},
|
336 |
+
update: function() {
|
337 |
+
var disabledClass = namespace + 'disabled';
|
338 |
+
if (slider.pagingCount === 1) {
|
339 |
+
slider.directionNav.addClass(disabledClass).attr('tabindex', '-1');
|
340 |
+
} else if (!slider.vars.animationLoop) {
|
341 |
+
if (slider.animatingTo === 0) {
|
342 |
+
slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "prev").addClass(disabledClass).attr('tabindex', '-1');
|
343 |
+
} else if (slider.animatingTo === slider.last) {
|
344 |
+
slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "next").addClass(disabledClass).attr('tabindex', '-1');
|
345 |
+
} else {
|
346 |
+
slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');
|
347 |
+
}
|
348 |
+
} else {
|
349 |
+
slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');
|
350 |
+
}
|
351 |
+
}
|
352 |
+
},
|
353 |
+
pausePlay: {
|
354 |
+
setup: function() {
|
355 |
+
var pausePlayScaffold = $('<div class="' + namespace + 'pauseplay"><a href="#"></a></div>');
|
356 |
+
|
357 |
+
// CONTROLSCONTAINER:
|
358 |
+
if (slider.controlsContainer) {
|
359 |
+
slider.controlsContainer.append(pausePlayScaffold);
|
360 |
+
slider.pausePlay = $('.' + namespace + 'pauseplay a', slider.controlsContainer);
|
361 |
+
} else {
|
362 |
+
slider.append(pausePlayScaffold);
|
363 |
+
slider.pausePlay = $('.' + namespace + 'pauseplay a', slider);
|
364 |
+
}
|
365 |
+
|
366 |
+
methods.pausePlay.update((slider.vars.slideshow) ? namespace + 'pause' : namespace + 'play');
|
367 |
+
|
368 |
+
slider.pausePlay.bind(eventType, function(event) {
|
369 |
+
event.preventDefault();
|
370 |
+
|
371 |
+
if (watchedEvent === "" || watchedEvent === event.type) {
|
372 |
+
if ($(this).hasClass(namespace + 'pause')) {
|
373 |
+
slider.manualPause = true;
|
374 |
+
slider.manualPlay = false;
|
375 |
+
slider.pause();
|
376 |
+
} else {
|
377 |
+
slider.manualPause = false;
|
378 |
+
slider.manualPlay = true;
|
379 |
+
slider.play();
|
380 |
+
}
|
381 |
+
}
|
382 |
+
|
383 |
+
// setup flags to prevent event duplication
|
384 |
+
if (watchedEvent === "") {
|
385 |
+
watchedEvent = event.type;
|
386 |
+
}
|
387 |
+
methods.setToClearWatchedEvent();
|
388 |
+
});
|
389 |
+
},
|
390 |
+
update: function(state) {
|
391 |
+
(state === "play") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').html(slider.vars.playText) : slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').html(slider.vars.pauseText);
|
392 |
+
}
|
393 |
+
},
|
394 |
+
touch: function() {
|
395 |
+
var startX,
|
396 |
+
startY,
|
397 |
+
offset,
|
398 |
+
cwidth,
|
399 |
+
dx,
|
400 |
+
startT,
|
401 |
+
onTouchStart,
|
402 |
+
onTouchMove,
|
403 |
+
onTouchEnd,
|
404 |
+
scrolling = false,
|
405 |
+
localX = 0,
|
406 |
+
localY = 0,
|
407 |
+
accDx = 0;
|
408 |
+
|
409 |
+
if(!msGesture){
|
410 |
+
onTouchStart = function(e) {
|
411 |
+
if (slider.animating) {
|
412 |
+
e.preventDefault();
|
413 |
+
} else if ( ( window.navigator.msPointerEnabled ) || e.touches.length === 1 ) {
|
414 |
+
slider.pause();
|
415 |
+
// CAROUSEL:
|
416 |
+
cwidth = (vertical) ? slider.h : slider. w;
|
417 |
+
startT = Number(new Date());
|
418 |
+
// CAROUSEL:
|
419 |
+
|
420 |
+
// Local vars for X and Y points.
|
421 |
+
localX = e.touches[0].pageX;
|
422 |
+
localY = e.touches[0].pageY;
|
423 |
+
|
424 |
+
offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
|
425 |
+
(carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
|
426 |
+
(carousel && slider.currentSlide === slider.last) ? slider.limit :
|
427 |
+
(carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :
|
428 |
+
(reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
|
429 |
+
startX = (vertical) ? localY : localX;
|
430 |
+
startY = (vertical) ? localX : localY;
|
431 |
+
|
432 |
+
el.addEventListener('touchmove', onTouchMove, false);
|
433 |
+
el.addEventListener('touchend', onTouchEnd, false);
|
434 |
+
}
|
435 |
+
};
|
436 |
+
|
437 |
+
onTouchMove = function(e) {
|
438 |
+
// Local vars for X and Y points.
|
439 |
+
|
440 |
+
localX = e.touches[0].pageX;
|
441 |
+
localY = e.touches[0].pageY;
|
442 |
+
|
443 |
+
dx = (vertical) ? startX - localY : startX - localX;
|
444 |
+
scrolling = (vertical) ? (Math.abs(dx) < Math.abs(localX - startY)) : (Math.abs(dx) < Math.abs(localY - startY));
|
445 |
+
|
446 |
+
var fxms = 500;
|
447 |
+
|
448 |
+
if ( ! scrolling || Number( new Date() ) - startT > fxms ) {
|
449 |
+
e.preventDefault();
|
450 |
+
if (!fade && slider.transitions) {
|
451 |
+
if (!slider.vars.animationLoop) {
|
452 |
+
dx = dx/((slider.currentSlide === 0 && dx < 0 || slider.currentSlide === slider.last && dx > 0) ? (Math.abs(dx)/cwidth+2) : 1);
|
453 |
+
}
|
454 |
+
slider.setProps(offset + dx, "setTouch");
|
455 |
+
}
|
456 |
+
}
|
457 |
+
};
|
458 |
+
|
459 |
+
onTouchEnd = function(e) {
|
460 |
+
// finish the touch by undoing the touch session
|
461 |
+
el.removeEventListener('touchmove', onTouchMove, false);
|
462 |
+
|
463 |
+
if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
|
464 |
+
var updateDx = (reverse) ? -dx : dx,
|
465 |
+
target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');
|
466 |
+
|
467 |
+
if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
|
468 |
+
slider.flexAnimate(target, slider.vars.pauseOnAction);
|
469 |
+
} else {
|
470 |
+
if (!fade) { slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true); }
|
471 |
+
}
|
472 |
+
}
|
473 |
+
el.removeEventListener('touchend', onTouchEnd, false);
|
474 |
+
|
475 |
+
startX = null;
|
476 |
+
startY = null;
|
477 |
+
dx = null;
|
478 |
+
offset = null;
|
479 |
+
};
|
480 |
+
|
481 |
+
el.addEventListener('touchstart', onTouchStart, false);
|
482 |
+
}else{
|
483 |
+
el.style.msTouchAction = "none";
|
484 |
+
el._gesture = new MSGesture();
|
485 |
+
el._gesture.target = el;
|
486 |
+
el.addEventListener("MSPointerDown", onMSPointerDown, false);
|
487 |
+
el._slider = slider;
|
488 |
+
el.addEventListener("MSGestureChange", onMSGestureChange, false);
|
489 |
+
el.addEventListener("MSGestureEnd", onMSGestureEnd, false);
|
490 |
+
|
491 |
+
function onMSPointerDown(e){
|
492 |
+
e.stopPropagation();
|
493 |
+
if (slider.animating) {
|
494 |
+
e.preventDefault();
|
495 |
+
}else{
|
496 |
+
slider.pause();
|
497 |
+
el._gesture.addPointer(e.pointerId);
|
498 |
+
accDx = 0;
|
499 |
+
cwidth = (vertical) ? slider.h : slider. w;
|
500 |
+
startT = Number(new Date());
|
501 |
+
// CAROUSEL:
|
502 |
+
|
503 |
+
offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
|
504 |
+
(carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
|
505 |
+
(carousel && slider.currentSlide === slider.last) ? slider.limit :
|
506 |
+
(carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :
|
507 |
+
(reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
|
508 |
+
}
|
509 |
+
}
|
510 |
+
|
511 |
+
function onMSGestureChange(e) {
|
512 |
+
e.stopPropagation();
|
513 |
+
var slider = e.target._slider;
|
514 |
+
if(!slider){
|
515 |
+
return;
|
516 |
+
}
|
517 |
+
var transX = -e.translationX,
|
518 |
+
transY = -e.translationY;
|
519 |
+
|
520 |
+
//Accumulate translations.
|
521 |
+
accDx = accDx + ((vertical) ? transY : transX);
|
522 |
+
dx = accDx;
|
523 |
+
scrolling = (vertical) ? (Math.abs(accDx) < Math.abs(-transX)) : (Math.abs(accDx) < Math.abs(-transY));
|
524 |
+
|
525 |
+
if(e.detail === e.MSGESTURE_FLAG_INERTIA){
|
526 |
+
setImmediate(function (){
|
527 |
+
el._gesture.stop();
|
528 |
+
});
|
529 |
+
|
530 |
+
return;
|
531 |
+
}
|
532 |
+
|
533 |
+
if (!scrolling || Number(new Date()) - startT > 500) {
|
534 |
+
e.preventDefault();
|
535 |
+
if (!fade && slider.transitions) {
|
536 |
+
if (!slider.vars.animationLoop) {
|
537 |
+
dx = accDx / ((slider.currentSlide === 0 && accDx < 0 || slider.currentSlide === slider.last && accDx > 0) ? (Math.abs(accDx) / cwidth + 2) : 1);
|
538 |
+
}
|
539 |
+
slider.setProps(offset + dx, "setTouch");
|
540 |
+
}
|
541 |
+
}
|
542 |
+
}
|
543 |
+
|
544 |
+
function onMSGestureEnd(e) {
|
545 |
+
e.stopPropagation();
|
546 |
+
var slider = e.target._slider;
|
547 |
+
if(!slider){
|
548 |
+
return;
|
549 |
+
}
|
550 |
+
if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
|
551 |
+
var updateDx = (reverse) ? -dx : dx,
|
552 |
+
target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');
|
553 |
+
|
554 |
+
if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
|
555 |
+
slider.flexAnimate(target, slider.vars.pauseOnAction);
|
556 |
+
} else {
|
557 |
+
if (!fade) { slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true); }
|
558 |
+
}
|
559 |
+
}
|
560 |
+
|
561 |
+
startX = null;
|
562 |
+
startY = null;
|
563 |
+
dx = null;
|
564 |
+
offset = null;
|
565 |
+
accDx = 0;
|
566 |
+
}
|
567 |
+
}
|
568 |
+
},
|
569 |
+
resize: function() {
|
570 |
+
if (!slider.animating && slider.is(':visible')) {
|
571 |
+
if (!carousel) { slider.doMath(); }
|
572 |
+
|
573 |
+
if (fade) {
|
574 |
+
// SMOOTH HEIGHT:
|
575 |
+
methods.smoothHeight();
|
576 |
+
} else if (carousel) { //CAROUSEL:
|
577 |
+
slider.slides.width(slider.computedW);
|
578 |
+
slider.update(slider.pagingCount);
|
579 |
+
slider.setProps();
|
580 |
+
}
|
581 |
+
else if (vertical) { //VERTICAL:
|
582 |
+
slider.viewport.height(slider.h);
|
583 |
+
slider.setProps(slider.h, "setTotal");
|
584 |
+
} else {
|
585 |
+
// SMOOTH HEIGHT:
|
586 |
+
if (slider.vars.smoothHeight) { methods.smoothHeight(); }
|
587 |
+
slider.newSlides.width(slider.computedW);
|
588 |
+
slider.setProps(slider.computedW, "setTotal");
|
589 |
+
}
|
590 |
+
}
|
591 |
+
},
|
592 |
+
smoothHeight: function(dur) {
|
593 |
+
if (!vertical || fade) {
|
594 |
+
var $obj = (fade) ? slider : slider.viewport;
|
595 |
+
(dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur) : $obj.height(slider.slides.eq(slider.animatingTo).height());
|
596 |
+
}
|
597 |
+
},
|
598 |
+
sync: function(action) {
|
599 |
+
var $obj = $(slider.vars.sync).data("flexslider"),
|
600 |
+
target = slider.animatingTo;
|
601 |
+
|
602 |
+
switch (action) {
|
603 |
+
case "animate": $obj.flexAnimate(target, slider.vars.pauseOnAction, false, true); break;
|
604 |
+
case "play": if (!$obj.playing && !$obj.asNav) { $obj.play(); } break;
|
605 |
+
case "pause": $obj.pause(); break;
|
606 |
+
}
|
607 |
+
},
|
608 |
+
uniqueID: function($clone) {
|
609 |
+
// Append _clone to current level and children elements with id attributes
|
610 |
+
$clone.filter( '[id]' ).add($clone.find( '[id]' )).each(function() {
|
611 |
+
var $this = $(this);
|
612 |
+
$this.attr( 'id', $this.attr( 'id' ) + '_clone' );
|
613 |
+
});
|
614 |
+
return $clone;
|
615 |
+
},
|
616 |
+
pauseInvisible: {
|
617 |
+
visProp: null,
|
618 |
+
init: function() {
|
619 |
+
var visProp = methods.pauseInvisible.getHiddenProp();
|
620 |
+
if (visProp) {
|
621 |
+
var evtname = visProp.replace(/[H|h]idden/,'') + 'visibilitychange';
|
622 |
+
document.addEventListener(evtname, function() {
|
623 |
+
if (methods.pauseInvisible.isHidden()) {
|
624 |
+
if(slider.startTimeout) {
|
625 |
+
clearTimeout(slider.startTimeout); //If clock is ticking, stop timer and prevent from starting while invisible
|
626 |
+
} else {
|
627 |
+
slider.pause(); //Or just pause
|
628 |
+
}
|
629 |
+
}
|
630 |
+
else {
|
631 |
+
if(slider.started) {
|
632 |
+
slider.play(); //Initiated before, just play
|
633 |
+
} else {
|
634 |
+
if (slider.vars.initDelay > 0) {
|
635 |
+
setTimeout(slider.play, slider.vars.initDelay);
|
636 |
+
} else {
|
637 |
+
slider.play(); //Didn't init before: simply init or wait for it
|
638 |
+
}
|
639 |
+
}
|
640 |
+
}
|
641 |
+
});
|
642 |
+
}
|
643 |
+
},
|
644 |
+
isHidden: function() {
|
645 |
+
var prop = methods.pauseInvisible.getHiddenProp();
|
646 |
+
if (!prop) {
|
647 |
+
return false;
|
648 |
+
}
|
649 |
+
return document[prop];
|
650 |
+
},
|
651 |
+
getHiddenProp: function() {
|
652 |
+
var prefixes = ['webkit','moz','ms','o'];
|
653 |
+
// if 'hidden' is natively supported just return it
|
654 |
+
if ('hidden' in document) {
|
655 |
+
return 'hidden';
|
656 |
+
}
|
657 |
+
// otherwise loop over all the known prefixes until we find one
|
658 |
+
for ( var i = 0; i < prefixes.length; i++ ) {
|
659 |
+
if ((prefixes[i] + 'Hidden') in document) {
|
660 |
+
return prefixes[i] + 'Hidden';
|
661 |
+
}
|
662 |
+
}
|
663 |
+
// otherwise it's not supported
|
664 |
+
return null;
|
665 |
+
}
|
666 |
+
},
|
667 |
+
setToClearWatchedEvent: function() {
|
668 |
+
clearTimeout(watchedEventClearTimer);
|
669 |
+
watchedEventClearTimer = setTimeout(function() {
|
670 |
+
watchedEvent = "";
|
671 |
+
}, 3000);
|
672 |
+
}
|
673 |
+
};
|
674 |
+
|
675 |
+
// public methods
|
676 |
+
slider.flexAnimate = function(target, pause, override, withSync, fromNav) {
|
677 |
+
if (!slider.vars.animationLoop && target !== slider.currentSlide) {
|
678 |
+
slider.direction = (target > slider.currentSlide) ? "next" : "prev";
|
679 |
+
}
|
680 |
+
|
681 |
+
if (asNav && slider.pagingCount === 1) slider.direction = (slider.currentItem < target) ? "next" : "prev";
|
682 |
+
|
683 |
+
if (!slider.animating && (slider.canAdvance(target, fromNav) || override) && slider.is(":visible")) {
|
684 |
+
if (asNav && withSync) {
|
685 |
+
var master = $(slider.vars.asNavFor).data('flexslider');
|
686 |
+
slider.atEnd = target === 0 || target === slider.count - 1;
|
687 |
+
master.flexAnimate(target, true, false, true, fromNav);
|
688 |
+
slider.direction = (slider.currentItem < target) ? "next" : "prev";
|
689 |
+
master.direction = slider.direction;
|
690 |
+
|
691 |
+
if (Math.ceil((target + 1)/slider.visible) - 1 !== slider.currentSlide && target !== 0) {
|
692 |
+
slider.currentItem = target;
|
693 |
+
slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
|
694 |
+
target = Math.floor(target/slider.visible);
|
695 |
+
} else {
|
696 |
+
slider.currentItem = target;
|
697 |
+
slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
|
698 |
+
return false;
|
699 |
+
}
|
700 |
+
}
|
701 |
+
|
702 |
+
slider.animating = true;
|
703 |
+
slider.animatingTo = target;
|
704 |
+
|
705 |
+
// SLIDESHOW:
|
706 |
+
if (pause) { slider.pause(); }
|
707 |
+
|
708 |
+
// API: before() animation Callback
|
709 |
+
slider.vars.before(slider);
|
710 |
+
|
711 |
+
// SYNC:
|
712 |
+
if (slider.syncExists && !fromNav) { methods.sync("animate"); }
|
713 |
+
|
714 |
+
// CONTROLNAV
|
715 |
+
if (slider.vars.controlNav) { methods.controlNav.active(); }
|
716 |
+
|
717 |
+
// !CAROUSEL:
|
718 |
+
// CANDIDATE: slide active class (for add/remove slide)
|
719 |
+
if (!carousel) { slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide'); }
|
720 |
+
|
721 |
+
// INFINITE LOOP:
|
722 |
+
// CANDIDATE: atEnd
|
723 |
+
slider.atEnd = target === 0 || target === slider.last;
|
724 |
+
|
725 |
+
// DIRECTIONNAV:
|
726 |
+
if (slider.vars.directionNav) { methods.directionNav.update(); }
|
727 |
+
|
728 |
+
if (target === slider.last) {
|
729 |
+
// API: end() of cycle Callback
|
730 |
+
slider.vars.end(slider);
|
731 |
+
// SLIDESHOW && !INFINITE LOOP:
|
732 |
+
if (!slider.vars.animationLoop) { slider.pause(); }
|
733 |
+
}
|
734 |
+
|
735 |
+
// SLIDE:
|
736 |
+
if (!fade) {
|
737 |
+
var dimension = (vertical) ? slider.slides.filter(':first').height() : slider.computedW,
|
738 |
+
margin, slideString, calcNext;
|
739 |
+
|
740 |
+
// INFINITE LOOP / REVERSE:
|
741 |
+
if (carousel) {
|
742 |
+
margin = slider.vars.itemMargin;
|
743 |
+
calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;
|
744 |
+
slideString = (calcNext > slider.limit && slider.visible !== 1) ? slider.limit : calcNext;
|
745 |
+
} else if (slider.currentSlide === 0 && target === slider.count - 1 && slider.vars.animationLoop && slider.direction !== "next") {
|
746 |
+
slideString = (reverse) ? (slider.count + slider.cloneOffset) * dimension : 0;
|
747 |
+
} else if (slider.currentSlide === slider.last && target === 0 && slider.vars.animationLoop && slider.direction !== "prev") {
|
748 |
+
slideString = (reverse) ? 0 : (slider.count + 1) * dimension;
|
749 |
+
} else {
|
750 |
+
slideString = (reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension : (target + slider.cloneOffset) * dimension;
|
751 |
+
}
|
752 |
+
slider.setProps(slideString, "", slider.vars.animationSpeed);
|
753 |
+
if (slider.transitions) {
|
754 |
+
if (!slider.vars.animationLoop || !slider.atEnd) {
|
755 |
+
slider.animating = false;
|
756 |
+
slider.currentSlide = slider.animatingTo;
|
757 |
+
}
|
758 |
+
|
759 |
+
// Unbind previous transitionEnd events and re-bind new transitionEnd event
|
760 |
+
slider.container.unbind("webkitTransitionEnd transitionend");
|
761 |
+
slider.container.bind("webkitTransitionEnd transitionend", function() {
|
762 |
+
clearTimeout(slider.ensureAnimationEnd);
|
763 |
+
slider.wrapup(dimension);
|
764 |
+
});
|
765 |
+
|
766 |
+
// Insurance for the ever-so-fickle transitionEnd event
|
767 |
+
clearTimeout(slider.ensureAnimationEnd);
|
768 |
+
slider.ensureAnimationEnd = setTimeout(function() {
|
769 |
+
slider.wrapup(dimension);
|
770 |
+
}, slider.vars.animationSpeed + 100);
|
771 |
+
|
772 |
+
} else {
|
773 |
+
slider.container.animate(slider.args, slider.vars.animationSpeed, slider.vars.easing, function(){
|
774 |
+
slider.wrapup(dimension);
|
775 |
+
});
|
776 |
+
}
|
777 |
+
} else { // FADE:
|
778 |
+
if (!touch) {
|
779 |
+
//slider.slides.eq(slider.currentSlide).fadeOut(slider.vars.animationSpeed, slider.vars.easing);
|
780 |
+
//slider.slides.eq(target).fadeIn(slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);
|
781 |
+
|
782 |
+
slider.slides.eq(slider.currentSlide).css({"zIndex": 1}).animate({"opacity": 0}, slider.vars.animationSpeed, slider.vars.easing);
|
783 |
+
slider.slides.eq(target).css({"zIndex": 2}).animate({"opacity": 1}, slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);
|
784 |
+
|
785 |
+
} else {
|
786 |
+
slider.slides.eq(slider.currentSlide).css({ "opacity": 0, "zIndex": 1 });
|
787 |
+
slider.slides.eq(target).css({ "opacity": 1, "zIndex": 2 });
|
788 |
+
slider.wrapup(dimension);
|
789 |
+
}
|
790 |
+
}
|
791 |
+
// SMOOTH HEIGHT:
|
792 |
+
if (slider.vars.smoothHeight) { methods.smoothHeight(slider.vars.animationSpeed); }
|
793 |
+
}
|
794 |
+
};
|
795 |
+
slider.wrapup = function(dimension) {
|
796 |
+
// SLIDE:
|
797 |
+
if (!fade && !carousel) {
|
798 |
+
if (slider.currentSlide === 0 && slider.animatingTo === slider.last && slider.vars.animationLoop) {
|
799 |
+
slider.setProps(dimension, "jumpEnd");
|
800 |
+
} else if (slider.currentSlide === slider.last && slider.animatingTo === 0 && slider.vars.animationLoop) {
|
801 |
+
slider.setProps(dimension, "jumpStart");
|
802 |
+
}
|
803 |
+
}
|
804 |
+
slider.animating = false;
|
805 |
+
slider.currentSlide = slider.animatingTo;
|
806 |
+
// API: after() animation Callback
|
807 |
+
slider.vars.after(slider);
|
808 |
+
};
|
809 |
+
|
810 |
+
// SLIDESHOW:
|
811 |
+
slider.animateSlides = function() {
|
812 |
+
if (!slider.animating && focused ) { slider.flexAnimate(slider.getTarget("next")); }
|
813 |
+
};
|
814 |
+
// SLIDESHOW:
|
815 |
+
slider.pause = function() {
|
816 |
+
clearInterval(slider.animatedSlides);
|
817 |
+
slider.animatedSlides = null;
|
818 |
+
slider.playing = false;
|
819 |
+
// PAUSEPLAY:
|
820 |
+
if (slider.vars.pausePlay) { methods.pausePlay.update("play"); }
|
821 |
+
// SYNC:
|
822 |
+
if (slider.syncExists) { methods.sync("pause"); }
|
823 |
+
};
|
824 |
+
// SLIDESHOW:
|
825 |
+
slider.play = function() {
|
826 |
+
if (slider.playing) { clearInterval(slider.animatedSlides); }
|
827 |
+
slider.animatedSlides = slider.animatedSlides || setInterval(slider.animateSlides, slider.vars.slideshowSpeed);
|
828 |
+
slider.started = slider.playing = true;
|
829 |
+
// PAUSEPLAY:
|
830 |
+
if (slider.vars.pausePlay) { methods.pausePlay.update("pause"); }
|
831 |
+
// SYNC:
|
832 |
+
if (slider.syncExists) { methods.sync("play"); }
|
833 |
+
};
|
834 |
+
// STOP:
|
835 |
+
slider.stop = function () {
|
836 |
+
slider.pause();
|
837 |
+
slider.stopped = true;
|
838 |
+
};
|
839 |
+
slider.canAdvance = function(target, fromNav) {
|
840 |
+
// ASNAV:
|
841 |
+
var last = (asNav) ? slider.pagingCount - 1 : slider.last;
|
842 |
+
return (fromNav) ? true :
|
843 |
+
(asNav && slider.currentItem === slider.count - 1 && target === 0 && slider.direction === "prev") ? true :
|
844 |
+
(asNav && slider.currentItem === 0 && target === slider.pagingCount - 1 && slider.direction !== "next") ? false :
|
845 |
+
(target === slider.currentSlide && !asNav) ? false :
|
846 |
+
(slider.vars.animationLoop) ? true :
|
847 |
+
(slider.atEnd && slider.currentSlide === 0 && target === last && slider.direction !== "next") ? false :
|
848 |
+
(slider.atEnd && slider.currentSlide === last && target === 0 && slider.direction === "next") ? false :
|
849 |
+
true;
|
850 |
+
};
|
851 |
+
slider.getTarget = function(dir) {
|
852 |
+
slider.direction = dir;
|
853 |
+
if (dir === "next") {
|
854 |
+
return (slider.currentSlide === slider.last) ? 0 : slider.currentSlide + 1;
|
855 |
+
} else {
|
856 |
+
return (slider.currentSlide === 0) ? slider.last : slider.currentSlide - 1;
|
857 |
+
}
|
858 |
+
};
|
859 |
+
|
860 |
+
// SLIDE:
|
861 |
+
slider.setProps = function(pos, special, dur) {
|
862 |
+
var target = (function() {
|
863 |
+
var posCheck = (pos) ? pos : ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo,
|
864 |
+
posCalc = (function() {
|
865 |
+
if (carousel) {
|
866 |
+
return (special === "setTouch") ? pos :
|
867 |
+
(reverse && slider.animatingTo === slider.last) ? 0 :
|
868 |
+
(reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
|
869 |
+
(slider.animatingTo === slider.last) ? slider.limit : posCheck;
|
870 |
+
} else {
|
871 |
+
switch (special) {
|
872 |
+
case "setTotal": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos : (slider.currentSlide + slider.cloneOffset) * pos;
|
873 |
+
case "setTouch": return (reverse) ? pos : pos;
|
874 |
+
case "jumpEnd": return (reverse) ? pos : slider.count * pos;
|
875 |
+
case "jumpStart": return (reverse) ? slider.count * pos : pos;
|
876 |
+
default: return pos;
|
877 |
+
}
|
878 |
+
}
|
879 |
+
}());
|
880 |
+
|
881 |
+
return (posCalc * -1) + "px";
|
882 |
+
}());
|
883 |
+
|
884 |
+
if (slider.transitions) {
|
885 |
+
target = (vertical) ? "translate3d(0," + target + ",0)" : "translate3d(" + target + ",0,0)";
|
886 |
+
dur = (dur !== undefined) ? (dur/1000) + "s" : "0s";
|
887 |
+
slider.container.css("-" + slider.pfx + "-transition-duration", dur);
|
888 |
+
slider.container.css("transition-duration", dur);
|
889 |
+
}
|
890 |
+
|
891 |
+
slider.args[slider.prop] = target;
|
892 |
+
if (slider.transitions || dur === undefined) { slider.container.css(slider.args); }
|
893 |
+
|
894 |
+
slider.container.css('transform',target);
|
895 |
+
};
|
896 |
+
|
897 |
+
slider.setup = function(type) {
|
898 |
+
// SLIDE:
|
899 |
+
if (!fade) {
|
900 |
+
var sliderOffset, arr;
|
901 |
+
|
902 |
+
if (type === "init") {
|
903 |
+
slider.viewport = $('<div class="' + namespace + 'viewport"></div>').css({"overflow": "hidden", "position": "relative"}).appendTo(slider).append(slider.container);
|
904 |
+
// INFINITE LOOP:
|
905 |
+
slider.cloneCount = 0;
|
906 |
+
slider.cloneOffset = 0;
|
907 |
+
// REVERSE:
|
908 |
+
if (reverse) {
|
909 |
+
arr = $.makeArray(slider.slides).reverse();
|
910 |
+
slider.slides = $(arr);
|
911 |
+
slider.container.empty().append(slider.slides);
|
912 |
+
}
|
913 |
+
}
|
914 |
+
// INFINITE LOOP && !CAROUSEL:
|
915 |
+
if (slider.vars.animationLoop && !carousel) {
|
916 |
+
slider.cloneCount = 2;
|
917 |
+
slider.cloneOffset = 1;
|
918 |
+
// clear out old clones
|
919 |
+
if (type !== "init") { slider.container.find('.clone').remove(); }
|
920 |
+
slider.container.append(methods.uniqueID(slider.slides.first().clone().addClass('clone')).attr('aria-hidden', 'true'))
|
921 |
+
.prepend(methods.uniqueID(slider.slides.last().clone().addClass('clone')).attr('aria-hidden', 'true'));
|
922 |
+
}
|
923 |
+
slider.newSlides = $(slider.vars.selector, slider);
|
924 |
+
|
925 |
+
sliderOffset = (reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset : slider.currentSlide + slider.cloneOffset;
|
926 |
+
// VERTICAL:
|
927 |
+
if (vertical && !carousel) {
|
928 |
+
slider.container.height((slider.count + slider.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
|
929 |
+
setTimeout(function(){
|
930 |
+
slider.newSlides.css({"display": "block"});
|
931 |
+
slider.doMath();
|
932 |
+
slider.viewport.height(slider.h);
|
933 |
+
slider.setProps(sliderOffset * slider.h, "init");
|
934 |
+
}, (type === "init") ? 100 : 0);
|
935 |
+
} else {
|
936 |
+
slider.container.width((slider.count + slider.cloneCount) * 200 + "%");
|
937 |
+
slider.setProps(sliderOffset * slider.computedW, "init");
|
938 |
+
setTimeout(function(){
|
939 |
+
slider.doMath();
|
940 |
+
slider.newSlides.css({"width": slider.computedW, "marginRight" : slider.computedM, "float": "left", "display": "block"});
|
941 |
+
// SMOOTH HEIGHT:
|
942 |
+
if (slider.vars.smoothHeight) { methods.smoothHeight(); }
|
943 |
+
}, (type === "init") ? 100 : 0);
|
944 |
+
}
|
945 |
+
} else { // FADE:
|
946 |
+
slider.slides.css({"width": "100%", "float": "left", "marginRight": "-100%", "position": "relative"});
|
947 |
+
if (type === "init") {
|
948 |
+
if (!touch) {
|
949 |
+
//slider.slides.eq(slider.currentSlide).fadeIn(slider.vars.animationSpeed, slider.vars.easing);
|
950 |
+
if (slider.vars.fadeFirstSlide == false) {
|
951 |
+
slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).css({"opacity": 1});
|
952 |
+
} else {
|
953 |
+
slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).animate({"opacity": 1},slider.vars.animationSpeed,slider.vars.easing);
|
954 |
+
}
|
955 |
+
} else {
|
956 |
+
slider.slides.css({ "opacity": 0, "display": "block", "webkitTransition": "opacity " + slider.vars.animationSpeed / 1000 + "s ease", "zIndex": 1 }).eq(slider.currentSlide).css({ "opacity": 1, "zIndex": 2});
|
957 |
+
}
|
958 |
+
}
|
959 |
+
// SMOOTH HEIGHT:
|
960 |
+
if (slider.vars.smoothHeight) { methods.smoothHeight(); }
|
961 |
+
}
|
962 |
+
// !CAROUSEL:
|
963 |
+
// CANDIDATE: active slide
|
964 |
+
if (!carousel) { slider.slides.removeClass(namespace + "active-slide").eq(slider.currentSlide).addClass(namespace + "active-slide"); }
|
965 |
+
|
966 |
+
//FlexSlider: init() Callback
|
967 |
+
slider.vars.init(slider);
|
968 |
+
};
|
969 |
+
|
970 |
+
slider.doMath = function() {
|
971 |
+
var slide = slider.slides.first(),
|
972 |
+
slideMargin = slider.vars.itemMargin,
|
973 |
+
minItems = slider.vars.minItems,
|
974 |
+
maxItems = slider.vars.maxItems;
|
975 |
+
|
976 |
+
slider.w = (slider.viewport===undefined) ? slider.width() : slider.viewport.width();
|
977 |
+
slider.h = slide.height();
|
978 |
+
slider.boxPadding = slide.outerWidth() - slide.width();
|
979 |
+
|
980 |
+
// CAROUSEL:
|
981 |
+
if (carousel) {
|
982 |
+
slider.itemT = slider.vars.itemWidth + slideMargin;
|
983 |
+
slider.itemM = slideMargin;
|
984 |
+
slider.minW = (minItems) ? minItems * slider.itemT : slider.w;
|
985 |
+
slider.maxW = (maxItems) ? (maxItems * slider.itemT) - slideMargin : slider.w;
|
986 |
+
slider.itemW = (slider.minW > slider.w) ? (slider.w - (slideMargin * (minItems - 1)))/minItems :
|
987 |
+
(slider.maxW < slider.w) ? (slider.w - (slideMargin * (maxItems - 1)))/maxItems :
|
988 |
+
(slider.vars.itemWidth > slider.w) ? slider.w : slider.vars.itemWidth;
|
989 |
+
|
990 |
+
slider.visible = Math.floor(slider.w/(slider.itemW));
|
991 |
+
slider.move = (slider.vars.move > 0 && slider.vars.move < slider.visible ) ? slider.vars.move : slider.visible;
|
992 |
+
slider.pagingCount = Math.ceil(((slider.count - slider.visible)/slider.move) + 1);
|
993 |
+
slider.last = slider.pagingCount - 1;
|
994 |
+
slider.limit = (slider.pagingCount === 1) ? 0 :
|
995 |
+
(slider.vars.itemWidth > slider.w) ? (slider.itemW * (slider.count - 1)) + (slideMargin * (slider.count - 1)) : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;
|
996 |
+
} else {
|
997 |
+
slider.itemW = slider.w;
|
998 |
+
slider.itemM = slideMargin;
|
999 |
+
slider.pagingCount = slider.count;
|
1000 |
+
slider.last = slider.count - 1;
|
1001 |
+
}
|
1002 |
+
slider.computedW = slider.itemW - slider.boxPadding;
|
1003 |
+
slider.computedM = slider.itemM;
|
1004 |
+
};
|
1005 |
+
|
1006 |
+
slider.update = function(pos, action) {
|
1007 |
+
slider.doMath();
|
1008 |
+
|
1009 |
+
// update currentSlide and slider.animatingTo if necessary
|
1010 |
+
if (!carousel) {
|
1011 |
+
if (pos < slider.currentSlide) {
|
1012 |
+
slider.currentSlide += 1;
|
1013 |
+
} else if (pos <= slider.currentSlide && pos !== 0) {
|
1014 |
+
slider.currentSlide -= 1;
|
1015 |
+
}
|
1016 |
+
slider.animatingTo = slider.currentSlide;
|
1017 |
+
}
|
1018 |
+
|
1019 |
+
// update controlNav
|
1020 |
+
if (slider.vars.controlNav && !slider.manualControls) {
|
1021 |
+
if ((action === "add" && !carousel) || slider.pagingCount > slider.controlNav.length) {
|
1022 |
+
methods.controlNav.update("add");
|
1023 |
+
} else if ((action === "remove" && !carousel) || slider.pagingCount < slider.controlNav.length) {
|
1024 |
+
if (carousel && slider.currentSlide > slider.last) {
|
1025 |
+
slider.currentSlide -= 1;
|
1026 |
+
slider.animatingTo -= 1;
|
1027 |
+
}
|
1028 |
+
methods.controlNav.update("remove", slider.last);
|
1029 |
+
}
|
1030 |
+
}
|
1031 |
+
// update directionNav
|
1032 |
+
if (slider.vars.directionNav) { methods.directionNav.update(); }
|
1033 |
+
|
1034 |
+
};
|
1035 |
+
|
1036 |
+
slider.addSlide = function(obj, pos) {
|
1037 |
+
var $obj = $(obj);
|
1038 |
+
|
1039 |
+
slider.count += 1;
|
1040 |
+
slider.last = slider.count - 1;
|
1041 |
+
|
1042 |
+
// append new slide
|
1043 |
+
if (vertical && reverse) {
|
1044 |
+
(pos !== undefined) ? slider.slides.eq(slider.count - pos).after($obj) : slider.container.prepend($obj);
|
1045 |
+
} else {
|
1046 |
+
(pos !== undefined) ? slider.slides.eq(pos).before($obj) : slider.container.append($obj);
|
1047 |
+
}
|
1048 |
+
|
1049 |
+
// update currentSlide, animatingTo, controlNav, and directionNav
|
1050 |
+
slider.update(pos, "add");
|
1051 |
+
|
1052 |
+
// update slider.slides
|
1053 |
+
slider.slides = $(slider.vars.selector + ':not(.clone)', slider);
|
1054 |
+
// re-setup the slider to accomdate new slide
|
1055 |
+
slider.setup();
|
1056 |
+
|
1057 |
+
//FlexSlider: added() Callback
|
1058 |
+
slider.vars.added(slider);
|
1059 |
+
};
|
1060 |
+
slider.removeSlide = function(obj) {
|
1061 |
+
var pos = (isNaN(obj)) ? slider.slides.index($(obj)) : obj;
|
1062 |
+
|
1063 |
+
// update count
|
1064 |
+
slider.count -= 1;
|
1065 |
+
slider.last = slider.count - 1;
|
1066 |
+
|
1067 |
+
// remove slide
|
1068 |
+
if (isNaN(obj)) {
|
1069 |
+
$(obj, slider.slides).remove();
|
1070 |
+
} else {
|
1071 |
+
(vertical && reverse) ? slider.slides.eq(slider.last).remove() : slider.slides.eq(obj).remove();
|
1072 |
+
}
|
1073 |
+
|
1074 |
+
// update currentSlide, animatingTo, controlNav, and directionNav
|
1075 |
+
slider.doMath();
|
1076 |
+
slider.update(pos, "remove");
|
1077 |
+
|
1078 |
+
// update slider.slides
|
1079 |
+
slider.slides = $(slider.vars.selector + ':not(.clone)', slider);
|
1080 |
+
// re-setup the slider to accomdate new slide
|
1081 |
+
slider.setup();
|
1082 |
+
|
1083 |
+
// FlexSlider: removed() Callback
|
1084 |
+
slider.vars.removed(slider);
|
1085 |
+
};
|
1086 |
+
|
1087 |
+
//FlexSlider: Initialize
|
1088 |
+
methods.init();
|
1089 |
+
};
|
1090 |
+
|
1091 |
+
// Ensure the slider isn't focussed if the window loses focus.
|
1092 |
+
$( window ).blur( function ( e ) {
|
1093 |
+
focused = false;
|
1094 |
+
}).focus( function ( e ) {
|
1095 |
+
focused = true;
|
1096 |
+
});
|
1097 |
+
|
1098 |
+
//FlexSlider: Default Settings
|
1099 |
+
$.flexslider.defaults = {
|
1100 |
+
namespace: "flex-", //{NEW} String: Prefix string attached to the class of every element generated by the plugin
|
1101 |
+
selector: ".slides > li", //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril
|
1102 |
+
animation: "fade", //String: Select your animation type, "fade" or "slide"
|
1103 |
+
easing: "swing", //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
|
1104 |
+
direction: "horizontal", //String: Select the sliding direction, "horizontal" or "vertical"
|
1105 |
+
reverse: false, //{NEW} Boolean: Reverse the animation direction
|
1106 |
+
animationLoop: true, //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
|
1107 |
+
smoothHeight: false, //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode
|
1108 |
+
startAt: 0, //Integer: The slide that the slider should start on. Array notation (0 = first slide)
|
1109 |
+
slideshow: true, //Boolean: Animate slider automatically
|
1110 |
+
slideshowSpeed: 7000, //Integer: Set the speed of the slideshow cycling, in milliseconds
|
1111 |
+
animationSpeed: 600, //Integer: Set the speed of animations, in milliseconds
|
1112 |
+
initDelay: 0, //{NEW} Integer: Set an initialization delay, in milliseconds
|
1113 |
+
randomize: false, //Boolean: Randomize slide order
|
1114 |
+
fadeFirstSlide: true, //Boolean: Fade in the first slide when animation type is "fade"
|
1115 |
+
thumbCaptions: false, //Boolean: Whether or not to put captions on thumbnails when using the "thumbnails" controlNav.
|
1116 |
+
|
1117 |
+
// Usability features
|
1118 |
+
pauseOnAction: true, //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
|
1119 |
+
pauseOnHover: false, //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
|
1120 |
+
pauseInvisible: true, //{NEW} Boolean: Pause the slideshow when tab is invisible, resume when visible. Provides better UX, lower CPU usage.
|
1121 |
+
useCSS: true, //{NEW} Boolean: Slider will use CSS3 transitions if available
|
1122 |
+
touch: true, //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
|
1123 |
+
video: false, //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches
|
1124 |
+
|
1125 |
+
// Primary Controls
|
1126 |
+
controlNav: true, //Boolean: Create navigation for paging control of each slide? Note: Leave true for manualControls usage
|
1127 |
+
directionNav: true, //Boolean: Create navigation for previous/next navigation? (true/false)
|
1128 |
+
prevText: "Previous", //String: Set the text for the "previous" directionNav item
|
1129 |
+
nextText: "Next", //String: Set the text for the "next" directionNav item
|
1130 |
+
|
1131 |
+
// Secondary Navigation
|
1132 |
+
keyboard: true, //Boolean: Allow slider navigating via keyboard left/right keys
|
1133 |
+
multipleKeyboard: false, //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.
|
1134 |
+
mousewheel: false, //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel
|
1135 |
+
pausePlay: false, //Boolean: Create pause/play dynamic element
|
1136 |
+
pauseText: "Pause", //String: Set the text for the "pause" pausePlay item
|
1137 |
+
playText: "Play", //String: Set the text for the "play" pausePlay item
|
1138 |
+
|
1139 |
+
// Special properties
|
1140 |
+
controlsContainer: "", //{UPDATED} jQuery Object/Selector: Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be $(".flexslider-container"). Property is ignored if given element is not found.
|
1141 |
+
manualControls: "", //{UPDATED} jQuery Object/Selector: Declare custom control navigation. Examples would be $(".flex-control-nav li") or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
|
1142 |
+
customDirectionNav: "", //{NEW} jQuery Object/Selector: Custom prev / next button. Must be two jQuery elements. In order to make the events work they have to have the classes "prev" and "next" (plus namespace)
|
1143 |
+
sync: "", //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.
|
1144 |
+
asNavFor: "", //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider
|
1145 |
+
|
1146 |
+
// Carousel Options
|
1147 |
+
itemWidth: 0, //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.
|
1148 |
+
itemMargin: 0, //{NEW} Integer: Margin between carousel items.
|
1149 |
+
minItems: 1, //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.
|
1150 |
+
maxItems: 0, //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.
|
1151 |
+
move: 0, //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
|
1152 |
+
allowOneSlide: true, //{NEW} Boolean: Whether or not to allow a slider comprised of a single slide
|
1153 |
+
|
1154 |
+
// Callback API
|
1155 |
+
start: function(){}, //Callback: function(slider) - Fires when the slider loads the first slide
|
1156 |
+
before: function(){}, //Callback: function(slider) - Fires asynchronously with each slider animation
|
1157 |
+
after: function(){}, //Callback: function(slider) - Fires after each slider animation completes
|
1158 |
+
end: function(){}, //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
|
1159 |
+
added: function(){}, //{NEW} Callback: function(slider) - Fires after a slide is added
|
1160 |
+
removed: function(){}, //{NEW} Callback: function(slider) - Fires after a slide is removed
|
1161 |
+
init: function() {} //{NEW} Callback: function(slider) - Fires after the slider is initially setup
|
1162 |
+
};
|
1163 |
+
|
1164 |
+
//FlexSlider: Plugin Function
|
1165 |
+
$.fn.flexslider = function(options) {
|
1166 |
+
if (options === undefined) { options = {}; }
|
1167 |
+
|
1168 |
+
if (typeof options === "object") {
|
1169 |
+
return this.each(function() {
|
1170 |
+
var $this = $(this),
|
1171 |
+
selector = (options.selector) ? options.selector : ".slides > li",
|
1172 |
+
$slides = $this.find(selector);
|
1173 |
+
|
1174 |
+
if ( ( $slides.length === 1 && options.allowOneSlide === true ) || $slides.length === 0 ) {
|
1175 |
+
$slides.fadeIn(400);
|
1176 |
+
if (options.start) { options.start($this); }
|
1177 |
+
} else if ($this.data('flexslider') === undefined) {
|
1178 |
+
new $.flexslider(this, options);
|
1179 |
+
}
|
1180 |
+
});
|
1181 |
+
} else {
|
1182 |
+
// Helper strings to quickly perform functions on the slider
|
1183 |
+
var $slider = $(this).data('flexslider');
|
1184 |
+
switch (options) {
|
1185 |
+
case "play": $slider.play(); break;
|
1186 |
+
case "pause": $slider.pause(); break;
|
1187 |
+
case "stop": $slider.stop(); break;
|
1188 |
+
case "next": $slider.flexAnimate($slider.getTarget("next"), true); break;
|
1189 |
+
case "prev":
|
1190 |
+
case "previous": $slider.flexAnimate($slider.getTarget("prev"), true); break;
|
1191 |
+
default: if (typeof options === "number") { $slider.flexAnimate(options, true); }
|
1192 |
+
}
|
1193 |
+
}
|
1194 |
+
};
|
1195 |
+
})(jQuery);
|
assets/js/jquery.flexslider.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
(function($){var focused=true;$.flexslider=function(el,options){var slider=$(el);slider.vars=$.extend({},$.flexslider.defaults,options);var namespace=slider.vars.namespace,msGesture=window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture,touch=("ontouchstart"in window||msGesture||window.DocumentTouch&&document instanceof DocumentTouch)&&slider.vars.touch,eventType="click touchend MSPointerUp keyup",watchedEvent="",watchedEventClearTimer,vertical=slider.vars.direction==="vertical",reverse=slider.vars.reverse,carousel=slider.vars.itemWidth>0,fade=slider.vars.animation==="fade",asNav=slider.vars.asNavFor!=="",methods={};$.data(el,"flexslider",slider);methods={init:function(){slider.animating=false;slider.currentSlide=parseInt(slider.vars.startAt?slider.vars.startAt:0,10);if(isNaN(slider.currentSlide)){slider.currentSlide=0}slider.animatingTo=slider.currentSlide;slider.atEnd=slider.currentSlide===0||slider.currentSlide===slider.last;slider.containerSelector=slider.vars.selector.substr(0,slider.vars.selector.search(" "));slider.slides=$(slider.vars.selector,slider);slider.container=$(slider.containerSelector,slider);slider.count=slider.slides.length;slider.syncExists=$(slider.vars.sync).length>0;if(slider.vars.animation==="slide"){slider.vars.animation="swing"}slider.prop=vertical?"top":"marginLeft";slider.args={};slider.manualPause=false;slider.stopped=false;slider.started=false;slider.startTimeout=null;slider.transitions=!slider.vars.video&&!fade&&slider.vars.useCSS&&function(){var obj=document.createElement("div"),props=["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var i in props){if(obj.style[props[i]]!==undefined){slider.pfx=props[i].replace("Perspective","").toLowerCase();slider.prop="-"+slider.pfx+"-transform";return true}}return false}();slider.ensureAnimationEnd="";if(slider.vars.controlsContainer!=="")slider.controlsContainer=$(slider.vars.controlsContainer).length>0&&$(slider.vars.controlsContainer);if(slider.vars.manualControls!=="")slider.manualControls=$(slider.vars.manualControls).length>0&&$(slider.vars.manualControls);if(slider.vars.customDirectionNav!=="")slider.customDirectionNav=$(slider.vars.customDirectionNav).length===2&&$(slider.vars.customDirectionNav);if(slider.vars.randomize){slider.slides.sort(function(){return Math.round(Math.random())-.5});slider.container.empty().append(slider.slides)}slider.doMath();slider.setup("init");if(slider.vars.controlNav){methods.controlNav.setup()}if(slider.vars.directionNav){methods.directionNav.setup()}if(slider.vars.keyboard&&($(slider.containerSelector).length===1||slider.vars.multipleKeyboard)){$(document).bind("keyup",function(event){var keycode=event.keyCode;if(!slider.animating&&(keycode===39||keycode===37)){var target=keycode===39?slider.getTarget("next"):keycode===37?slider.getTarget("prev"):false;slider.flexAnimate(target,slider.vars.pauseOnAction)}})}if(slider.vars.mousewheel){slider.bind("mousewheel",function(event,delta,deltaX,deltaY){event.preventDefault();var target=delta<0?slider.getTarget("next"):slider.getTarget("prev");slider.flexAnimate(target,slider.vars.pauseOnAction)})}if(slider.vars.pausePlay){methods.pausePlay.setup()}if(slider.vars.slideshow&&slider.vars.pauseInvisible){methods.pauseInvisible.init()}if(slider.vars.slideshow){if(slider.vars.pauseOnHover){slider.hover(function(){if(!slider.manualPlay&&!slider.manualPause){slider.pause()}},function(){if(!slider.manualPause&&!slider.manualPlay&&!slider.stopped){slider.play()}})}if(!slider.vars.pauseInvisible||!methods.pauseInvisible.isHidden()){slider.vars.initDelay>0?slider.startTimeout=setTimeout(slider.play,slider.vars.initDelay):slider.play()}}if(asNav){methods.asNav.setup()}if(touch&&slider.vars.touch){methods.touch()}if(!fade||fade&&slider.vars.smoothHeight){$(window).bind("resize orientationchange focus",methods.resize)}slider.find("img").attr("draggable","false");setTimeout(function(){slider.vars.start(slider)},200)},asNav:{setup:function(){slider.asNav=true;slider.animatingTo=Math.floor(slider.currentSlide/slider.move);slider.currentItem=slider.currentSlide;slider.slides.removeClass(namespace+"active-slide").eq(slider.currentItem).addClass(namespace+"active-slide");if(!msGesture){slider.slides.on(eventType,function(e){e.preventDefault();var $slide=$(this),target=$slide.index();var posFromLeft=$slide.offset().left-$(slider).scrollLeft();if(posFromLeft<=0&&$slide.hasClass(namespace+"active-slide")){slider.flexAnimate(slider.getTarget("prev"),true)}else if(!$(slider.vars.asNavFor).data("flexslider").animating&&!$slide.hasClass(namespace+"active-slide")){slider.direction=slider.currentItem<target?"next":"prev";slider.flexAnimate(target,slider.vars.pauseOnAction,false,true,true)}})}else{el._slider=slider;slider.slides.each(function(){var that=this;that._gesture=new MSGesture;that._gesture.target=that;that.addEventListener("MSPointerDown",function(e){e.preventDefault();if(e.currentTarget._gesture){e.currentTarget._gesture.addPointer(e.pointerId)}},false);that.addEventListener("MSGestureTap",function(e){e.preventDefault();var $slide=$(this),target=$slide.index();if(!$(slider.vars.asNavFor).data("flexslider").animating&&!$slide.hasClass("active")){slider.direction=slider.currentItem<target?"next":"prev";slider.flexAnimate(target,slider.vars.pauseOnAction,false,true,true)}})})}}},controlNav:{setup:function(){if(!slider.manualControls){methods.controlNav.setupPaging()}else{methods.controlNav.setupManual()}},setupPaging:function(){var type=slider.vars.controlNav==="thumbnails"?"control-thumbs":"control-paging",j=1,item,slide;slider.controlNavScaffold=$('<ol class="'+namespace+"control-nav "+namespace+type+'"></ol>');if(slider.pagingCount>1){for(var i=0;i<slider.pagingCount;i++){slide=slider.slides.eq(i);if(undefined===slide.attr("data-thumb-alt")){slide.attr("data-thumb-alt","")}altText=""!==slide.attr("data-thumb-alt")?altText=' alt="'+slide.attr("data-thumb-alt")+'"':"";item=slider.vars.controlNav==="thumbnails"?'<img src="'+slide.attr("data-thumb")+'"'+altText+"/>":'<a href="#">'+j+"</a>";if("thumbnails"===slider.vars.controlNav&&true===slider.vars.thumbCaptions){var captn=slide.attr("data-thumbcaption");if(""!==captn&&undefined!==captn){item+='<span class="'+namespace+'caption">'+captn+"</span>"}}slider.controlNavScaffold.append("<li>"+item+"</li>");j++}}slider.controlsContainer?$(slider.controlsContainer).append(slider.controlNavScaffold):slider.append(slider.controlNavScaffold);methods.controlNav.set();methods.controlNav.active();slider.controlNavScaffold.delegate("a, img",eventType,function(event){event.preventDefault();if(watchedEvent===""||watchedEvent===event.type){var $this=$(this),target=slider.controlNav.index($this);if(!$this.hasClass(namespace+"active")){slider.direction=target>slider.currentSlide?"next":"prev";slider.flexAnimate(target,slider.vars.pauseOnAction)}}if(watchedEvent===""){watchedEvent=event.type}methods.setToClearWatchedEvent()})},setupManual:function(){slider.controlNav=slider.manualControls;methods.controlNav.active();slider.controlNav.bind(eventType,function(event){event.preventDefault();if(watchedEvent===""||watchedEvent===event.type){var $this=$(this),target=slider.controlNav.index($this);if(!$this.hasClass(namespace+"active")){target>slider.currentSlide?slider.direction="next":slider.direction="prev";slider.flexAnimate(target,slider.vars.pauseOnAction)}}if(watchedEvent===""){watchedEvent=event.type}methods.setToClearWatchedEvent()})},set:function(){var selector=slider.vars.controlNav==="thumbnails"?"img":"a";slider.controlNav=$("."+namespace+"control-nav li "+selector,slider.controlsContainer?slider.controlsContainer:slider)},active:function(){slider.controlNav.removeClass(namespace+"active").eq(slider.animatingTo).addClass(namespace+"active")},update:function(action,pos){if(slider.pagingCount>1&&action==="add"){slider.controlNavScaffold.append($('<li><a href="#">'+slider.count+"</a></li>"))}else if(slider.pagingCount===1){slider.controlNavScaffold.find("li").remove()}else{slider.controlNav.eq(pos).closest("li").remove()}methods.controlNav.set();slider.pagingCount>1&&slider.pagingCount!==slider.controlNav.length?slider.update(pos,action):methods.controlNav.active()}},directionNav:{setup:function(){var directionNavScaffold=$('<ul class="'+namespace+'direction-nav"><li class="'+namespace+'nav-prev"><a class="'+namespace+'prev" href="#">'+slider.vars.prevText+'</a></li><li class="'+namespace+'nav-next"><a class="'+namespace+'next" href="#">'+slider.vars.nextText+"</a></li></ul>");if(slider.customDirectionNav){slider.directionNav=slider.customDirectionNav}else if(slider.controlsContainer){$(slider.controlsContainer).append(directionNavScaffold);slider.directionNav=$("."+namespace+"direction-nav li a",slider.controlsContainer)}else{slider.append(directionNavScaffold);slider.directionNav=$("."+namespace+"direction-nav li a",slider)}methods.directionNav.update();slider.directionNav.bind(eventType,function(event){event.preventDefault();var target;if(watchedEvent===""||watchedEvent===event.type){target=$(this).hasClass(namespace+"next")?slider.getTarget("next"):slider.getTarget("prev");slider.flexAnimate(target,slider.vars.pauseOnAction)}if(watchedEvent===""){watchedEvent=event.type}methods.setToClearWatchedEvent()})},update:function(){var disabledClass=namespace+"disabled";if(slider.pagingCount===1){slider.directionNav.addClass(disabledClass).attr("tabindex","-1")}else if(!slider.vars.animationLoop){if(slider.animatingTo===0){slider.directionNav.removeClass(disabledClass).filter("."+namespace+"prev").addClass(disabledClass).attr("tabindex","-1")}else if(slider.animatingTo===slider.last){slider.directionNav.removeClass(disabledClass).filter("."+namespace+"next").addClass(disabledClass).attr("tabindex","-1")}else{slider.directionNav.removeClass(disabledClass).removeAttr("tabindex")}}else{slider.directionNav.removeClass(disabledClass).removeAttr("tabindex")}}},pausePlay:{setup:function(){var pausePlayScaffold=$('<div class="'+namespace+'pauseplay"><a href="#"></a></div>');if(slider.controlsContainer){slider.controlsContainer.append(pausePlayScaffold);slider.pausePlay=$("."+namespace+"pauseplay a",slider.controlsContainer)}else{slider.append(pausePlayScaffold);slider.pausePlay=$("."+namespace+"pauseplay a",slider)}methods.pausePlay.update(slider.vars.slideshow?namespace+"pause":namespace+"play");slider.pausePlay.bind(eventType,function(event){event.preventDefault();if(watchedEvent===""||watchedEvent===event.type){if($(this).hasClass(namespace+"pause")){slider.manualPause=true;slider.manualPlay=false;slider.pause()}else{slider.manualPause=false;slider.manualPlay=true;slider.play()}}if(watchedEvent===""){watchedEvent=event.type}methods.setToClearWatchedEvent()})},update:function(state){state==="play"?slider.pausePlay.removeClass(namespace+"pause").addClass(namespace+"play").html(slider.vars.playText):slider.pausePlay.removeClass(namespace+"play").addClass(namespace+"pause").html(slider.vars.pauseText)}},touch:function(){var startX,startY,offset,cwidth,dx,startT,onTouchStart,onTouchMove,onTouchEnd,scrolling=false,localX=0,localY=0,accDx=0;if(!msGesture){onTouchStart=function(e){if(slider.animating){e.preventDefault()}else if(window.navigator.msPointerEnabled||e.touches.length===1){slider.pause();cwidth=vertical?slider.h:slider.w;startT=Number(new Date);localX=e.touches[0].pageX;localY=e.touches[0].pageY;offset=carousel&&reverse&&slider.animatingTo===slider.last?0:carousel&&reverse?slider.limit-(slider.itemW+slider.vars.itemMargin)*slider.move*slider.animatingTo:carousel&&slider.currentSlide===slider.last?slider.limit:carousel?(slider.itemW+slider.vars.itemMargin)*slider.move*slider.currentSlide:reverse?(slider.last-slider.currentSlide+slider.cloneOffset)*cwidth:(slider.currentSlide+slider.cloneOffset)*cwidth;startX=vertical?localY:localX;startY=vertical?localX:localY;el.addEventListener("touchmove",onTouchMove,false);el.addEventListener("touchend",onTouchEnd,false)}};onTouchMove=function(e){localX=e.touches[0].pageX;localY=e.touches[0].pageY;dx=vertical?startX-localY:startX-localX;scrolling=vertical?Math.abs(dx)<Math.abs(localX-startY):Math.abs(dx)<Math.abs(localY-startY);var fxms=500;if(!scrolling||Number(new Date)-startT>fxms){e.preventDefault();if(!fade&&slider.transitions){if(!slider.vars.animationLoop){dx=dx/(slider.currentSlide===0&&dx<0||slider.currentSlide===slider.last&&dx>0?Math.abs(dx)/cwidth+2:1)}slider.setProps(offset+dx,"setTouch")}}};onTouchEnd=function(e){el.removeEventListener("touchmove",onTouchMove,false);if(slider.animatingTo===slider.currentSlide&&!scrolling&&!(dx===null)){var updateDx=reverse?-dx:dx,target=updateDx>0?slider.getTarget("next"):slider.getTarget("prev");if(slider.canAdvance(target)&&(Number(new Date)-startT<550&&Math.abs(updateDx)>50||Math.abs(updateDx)>cwidth/2)){slider.flexAnimate(target,slider.vars.pauseOnAction)}else{if(!fade){slider.flexAnimate(slider.currentSlide,slider.vars.pauseOnAction,true)}}}el.removeEventListener("touchend",onTouchEnd,false);startX=null;startY=null;dx=null;offset=null};el.addEventListener("touchstart",onTouchStart,false)}else{el.style.msTouchAction="none";el._gesture=new MSGesture;el._gesture.target=el;el.addEventListener("MSPointerDown",onMSPointerDown,false);el._slider=slider;el.addEventListener("MSGestureChange",onMSGestureChange,false);el.addEventListener("MSGestureEnd",onMSGestureEnd,false);function onMSPointerDown(e){e.stopPropagation();if(slider.animating){e.preventDefault()}else{slider.pause();el._gesture.addPointer(e.pointerId);accDx=0;cwidth=vertical?slider.h:slider.w;startT=Number(new Date);offset=carousel&&reverse&&slider.animatingTo===slider.last?0:carousel&&reverse?slider.limit-(slider.itemW+slider.vars.itemMargin)*slider.move*slider.animatingTo:carousel&&slider.currentSlide===slider.last?slider.limit:carousel?(slider.itemW+slider.vars.itemMargin)*slider.move*slider.currentSlide:reverse?(slider.last-slider.currentSlide+slider.cloneOffset)*cwidth:(slider.currentSlide+slider.cloneOffset)*cwidth}}function onMSGestureChange(e){e.stopPropagation();var slider=e.target._slider;if(!slider){return}var transX=-e.translationX,transY=-e.translationY;accDx=accDx+(vertical?transY:transX);dx=accDx;scrolling=vertical?Math.abs(accDx)<Math.abs(-transX):Math.abs(accDx)<Math.abs(-transY);if(e.detail===e.MSGESTURE_FLAG_INERTIA){setImmediate(function(){el._gesture.stop()});return}if(!scrolling||Number(new Date)-startT>500){e.preventDefault();if(!fade&&slider.transitions){if(!slider.vars.animationLoop){dx=accDx/(slider.currentSlide===0&&accDx<0||slider.currentSlide===slider.last&&accDx>0?Math.abs(accDx)/cwidth+2:1)}slider.setProps(offset+dx,"setTouch")}}}function onMSGestureEnd(e){e.stopPropagation();var slider=e.target._slider;if(!slider){return}if(slider.animatingTo===slider.currentSlide&&!scrolling&&!(dx===null)){var updateDx=reverse?-dx:dx,target=updateDx>0?slider.getTarget("next"):slider.getTarget("prev");if(slider.canAdvance(target)&&(Number(new Date)-startT<550&&Math.abs(updateDx)>50||Math.abs(updateDx)>cwidth/2)){slider.flexAnimate(target,slider.vars.pauseOnAction)}else{if(!fade){slider.flexAnimate(slider.currentSlide,slider.vars.pauseOnAction,true)}}}startX=null;startY=null;dx=null;offset=null;accDx=0}}},resize:function(){if(!slider.animating&&slider.is(":visible")){if(!carousel){slider.doMath()}if(fade){methods.smoothHeight()}else if(carousel){slider.slides.width(slider.computedW);slider.update(slider.pagingCount);slider.setProps()}else if(vertical){slider.viewport.height(slider.h);slider.setProps(slider.h,"setTotal")}else{if(slider.vars.smoothHeight){methods.smoothHeight()}slider.newSlides.width(slider.computedW);slider.setProps(slider.computedW,"setTotal")}}},smoothHeight:function(dur){if(!vertical||fade){var $obj=fade?slider:slider.viewport;dur?$obj.animate({height:slider.slides.eq(slider.animatingTo).height()},dur):$obj.height(slider.slides.eq(slider.animatingTo).height())}},sync:function(action){var $obj=$(slider.vars.sync).data("flexslider"),target=slider.animatingTo;switch(action){case"animate":$obj.flexAnimate(target,slider.vars.pauseOnAction,false,true);break;case"play":if(!$obj.playing&&!$obj.asNav){$obj.play()}break;case"pause":$obj.pause();break}},uniqueID:function($clone){$clone.filter("[id]").add($clone.find("[id]")).each(function(){var $this=$(this);$this.attr("id",$this.attr("id")+"_clone")});return $clone},pauseInvisible:{visProp:null,init:function(){var visProp=methods.pauseInvisible.getHiddenProp();if(visProp){var evtname=visProp.replace(/[H|h]idden/,"")+"visibilitychange";document.addEventListener(evtname,function(){if(methods.pauseInvisible.isHidden()){if(slider.startTimeout){clearTimeout(slider.startTimeout)}else{slider.pause()}}else{if(slider.started){slider.play()}else{if(slider.vars.initDelay>0){setTimeout(slider.play,slider.vars.initDelay)}else{slider.play()}}}})}},isHidden:function(){var prop=methods.pauseInvisible.getHiddenProp();if(!prop){return false}return document[prop]},getHiddenProp:function(){var prefixes=["webkit","moz","ms","o"];if("hidden"in document){return"hidden"}for(var i=0;i<prefixes.length;i++){if(prefixes[i]+"Hidden"in document){return prefixes[i]+"Hidden"}}return null}},setToClearWatchedEvent:function(){clearTimeout(watchedEventClearTimer);watchedEventClearTimer=setTimeout(function(){watchedEvent=""},3e3)}};slider.flexAnimate=function(target,pause,override,withSync,fromNav){if(!slider.vars.animationLoop&&target!==slider.currentSlide){slider.direction=target>slider.currentSlide?"next":"prev"}if(asNav&&slider.pagingCount===1)slider.direction=slider.currentItem<target?"next":"prev";if(!slider.animating&&(slider.canAdvance(target,fromNav)||override)&&slider.is(":visible")){if(asNav&&withSync){var master=$(slider.vars.asNavFor).data("flexslider");slider.atEnd=target===0||target===slider.count-1;master.flexAnimate(target,true,false,true,fromNav);slider.direction=slider.currentItem<target?"next":"prev";master.direction=slider.direction;if(Math.ceil((target+1)/slider.visible)-1!==slider.currentSlide&&target!==0){slider.currentItem=target;slider.slides.removeClass(namespace+"active-slide").eq(target).addClass(namespace+"active-slide");target=Math.floor(target/slider.visible)}else{slider.currentItem=target;slider.slides.removeClass(namespace+"active-slide").eq(target).addClass(namespace+"active-slide");return false}}slider.animating=true;slider.animatingTo=target;if(pause){slider.pause()}slider.vars.before(slider);if(slider.syncExists&&!fromNav){methods.sync("animate")}if(slider.vars.controlNav){methods.controlNav.active()}if(!carousel){slider.slides.removeClass(namespace+"active-slide").eq(target).addClass(namespace+"active-slide")}slider.atEnd=target===0||target===slider.last;if(slider.vars.directionNav){methods.directionNav.update()}if(target===slider.last){slider.vars.end(slider);if(!slider.vars.animationLoop){slider.pause()}}if(!fade){var dimension=vertical?slider.slides.filter(":first").height():slider.computedW,margin,slideString,calcNext;if(carousel){margin=slider.vars.itemMargin;calcNext=(slider.itemW+margin)*slider.move*slider.animatingTo;slideString=calcNext>slider.limit&&slider.visible!==1?slider.limit:calcNext}else if(slider.currentSlide===0&&target===slider.count-1&&slider.vars.animationLoop&&slider.direction!=="next"){slideString=reverse?(slider.count+slider.cloneOffset)*dimension:0}else if(slider.currentSlide===slider.last&&target===0&&slider.vars.animationLoop&&slider.direction!=="prev"){slideString=reverse?0:(slider.count+1)*dimension}else{slideString=reverse?(slider.count-1-target+slider.cloneOffset)*dimension:(target+slider.cloneOffset)*dimension}slider.setProps(slideString,"",slider.vars.animationSpeed);if(slider.transitions){if(!slider.vars.animationLoop||!slider.atEnd){slider.animating=false;slider.currentSlide=slider.animatingTo}slider.container.unbind("webkitTransitionEnd transitionend");slider.container.bind("webkitTransitionEnd transitionend",function(){clearTimeout(slider.ensureAnimationEnd);slider.wrapup(dimension)});clearTimeout(slider.ensureAnimationEnd);slider.ensureAnimationEnd=setTimeout(function(){slider.wrapup(dimension)},slider.vars.animationSpeed+100)}else{slider.container.animate(slider.args,slider.vars.animationSpeed,slider.vars.easing,function(){slider.wrapup(dimension)})}}else{if(!touch){slider.slides.eq(slider.currentSlide).css({zIndex:1}).animate({opacity:0},slider.vars.animationSpeed,slider.vars.easing);slider.slides.eq(target).css({zIndex:2}).animate({opacity:1},slider.vars.animationSpeed,slider.vars.easing,slider.wrapup)}else{slider.slides.eq(slider.currentSlide).css({opacity:0,zIndex:1});slider.slides.eq(target).css({opacity:1,zIndex:2});slider.wrapup(dimension)}}if(slider.vars.smoothHeight){methods.smoothHeight(slider.vars.animationSpeed)}}};slider.wrapup=function(dimension){if(!fade&&!carousel){if(slider.currentSlide===0&&slider.animatingTo===slider.last&&slider.vars.animationLoop){slider.setProps(dimension,"jumpEnd")}else if(slider.currentSlide===slider.last&&slider.animatingTo===0&&slider.vars.animationLoop){slider.setProps(dimension,"jumpStart")}}slider.animating=false;slider.currentSlide=slider.animatingTo;slider.vars.after(slider)};slider.animateSlides=function(){if(!slider.animating&&focused){slider.flexAnimate(slider.getTarget("next"))}};slider.pause=function(){clearInterval(slider.animatedSlides);slider.animatedSlides=null;slider.playing=false;if(slider.vars.pausePlay){methods.pausePlay.update("play")}if(slider.syncExists){methods.sync("pause")}};slider.play=function(){if(slider.playing){clearInterval(slider.animatedSlides)}slider.animatedSlides=slider.animatedSlides||setInterval(slider.animateSlides,slider.vars.slideshowSpeed);slider.started=slider.playing=true;if(slider.vars.pausePlay){methods.pausePlay.update("pause")}if(slider.syncExists){methods.sync("play")}};slider.stop=function(){slider.pause();slider.stopped=true};slider.canAdvance=function(target,fromNav){var last=asNav?slider.pagingCount-1:slider.last;return fromNav?true:asNav&&slider.currentItem===slider.count-1&&target===0&&slider.direction==="prev"?true:asNav&&slider.currentItem===0&&target===slider.pagingCount-1&&slider.direction!=="next"?false:target===slider.currentSlide&&!asNav?false:slider.vars.animationLoop?true:slider.atEnd&&slider.currentSlide===0&&target===last&&slider.direction!=="next"?false:slider.atEnd&&slider.currentSlide===last&&target===0&&slider.direction==="next"?false:true};slider.getTarget=function(dir){slider.direction=dir;if(dir==="next"){return slider.currentSlide===slider.last?0:slider.currentSlide+1}else{return slider.currentSlide===0?slider.last:slider.currentSlide-1}};slider.setProps=function(pos,special,dur){var target=function(){var posCheck=pos?pos:(slider.itemW+slider.vars.itemMargin)*slider.move*slider.animatingTo,posCalc=function(){if(carousel){return special==="setTouch"?pos:reverse&&slider.animatingTo===slider.last?0:reverse?slider.limit-(slider.itemW+slider.vars.itemMargin)*slider.move*slider.animatingTo:slider.animatingTo===slider.last?slider.limit:posCheck}else{switch(special){case"setTotal":return reverse?(slider.count-1-slider.currentSlide+slider.cloneOffset)*pos:(slider.currentSlide+slider.cloneOffset)*pos;case"setTouch":return reverse?pos:pos;case"jumpEnd":return reverse?pos:slider.count*pos;case"jumpStart":return reverse?slider.count*pos:pos;default:return pos}}}();return posCalc*-1+"px"}();if(slider.transitions){target=vertical?"translate3d(0,"+target+",0)":"translate3d("+target+",0,0)";dur=dur!==undefined?dur/1e3+"s":"0s";slider.container.css("-"+slider.pfx+"-transition-duration",dur);slider.container.css("transition-duration",dur)}slider.args[slider.prop]=target;if(slider.transitions||dur===undefined){slider.container.css(slider.args)}slider.container.css("transform",target)};slider.setup=function(type){if(!fade){var sliderOffset,arr;if(type==="init"){slider.viewport=$('<div class="'+namespace+'viewport"></div>').css({overflow:"hidden",position:"relative"}).appendTo(slider).append(slider.container);slider.cloneCount=0;slider.cloneOffset=0;if(reverse){arr=$.makeArray(slider.slides).reverse();slider.slides=$(arr);slider.container.empty().append(slider.slides)}}if(slider.vars.animationLoop&&!carousel){slider.cloneCount=2;slider.cloneOffset=1;if(type!=="init"){slider.container.find(".clone").remove()}slider.container.append(methods.uniqueID(slider.slides.first().clone().addClass("clone")).attr("aria-hidden","true")).prepend(methods.uniqueID(slider.slides.last().clone().addClass("clone")).attr("aria-hidden","true"))}slider.newSlides=$(slider.vars.selector,slider);sliderOffset=reverse?slider.count-1-slider.currentSlide+slider.cloneOffset:slider.currentSlide+slider.cloneOffset;if(vertical&&!carousel){slider.container.height((slider.count+slider.cloneCount)*200+"%").css("position","absolute").width("100%");setTimeout(function(){slider.newSlides.css({display:"block"});slider.doMath();slider.viewport.height(slider.h);slider.setProps(sliderOffset*slider.h,"init")},type==="init"?100:0)}else{slider.container.width((slider.count+slider.cloneCount)*200+"%");slider.setProps(sliderOffset*slider.computedW,"init");setTimeout(function(){slider.doMath();slider.newSlides.css({width:slider.computedW,marginRight:slider.computedM,float:"left",display:"block"});if(slider.vars.smoothHeight){methods.smoothHeight()}},type==="init"?100:0)}}else{slider.slides.css({width:"100%",float:"left",marginRight:"-100%",position:"relative"});if(type==="init"){if(!touch){if(slider.vars.fadeFirstSlide==false){slider.slides.css({opacity:0,display:"block",zIndex:1}).eq(slider.currentSlide).css({zIndex:2}).css({opacity:1})}else{slider.slides.css({opacity:0,display:"block",zIndex:1}).eq(slider.currentSlide).css({zIndex:2}).animate({opacity:1},slider.vars.animationSpeed,slider.vars.easing)}}else{slider.slides.css({opacity:0,display:"block",webkitTransition:"opacity "+slider.vars.animationSpeed/1e3+"s ease",zIndex:1}).eq(slider.currentSlide).css({opacity:1,zIndex:2})}}if(slider.vars.smoothHeight){methods.smoothHeight()}}if(!carousel){slider.slides.removeClass(namespace+"active-slide").eq(slider.currentSlide).addClass(namespace+"active-slide")}slider.vars.init(slider)};slider.doMath=function(){var slide=slider.slides.first(),slideMargin=slider.vars.itemMargin,minItems=slider.vars.minItems,maxItems=slider.vars.maxItems;slider.w=slider.viewport===undefined?slider.width():slider.viewport.width();slider.h=slide.height();slider.boxPadding=slide.outerWidth()-slide.width();if(carousel){slider.itemT=slider.vars.itemWidth+slideMargin;slider.itemM=slideMargin;slider.minW=minItems?minItems*slider.itemT:slider.w;slider.maxW=maxItems?maxItems*slider.itemT-slideMargin:slider.w;slider.itemW=slider.minW>slider.w?(slider.w-slideMargin*(minItems-1))/minItems:slider.maxW<slider.w?(slider.w-slideMargin*(maxItems-1))/maxItems:slider.vars.itemWidth>slider.w?slider.w:slider.vars.itemWidth;slider.visible=Math.floor(slider.w/slider.itemW);slider.move=slider.vars.move>0&&slider.vars.move<slider.visible?slider.vars.move:slider.visible;slider.pagingCount=Math.ceil((slider.count-slider.visible)/slider.move+1);slider.last=slider.pagingCount-1;slider.limit=slider.pagingCount===1?0:slider.vars.itemWidth>slider.w?slider.itemW*(slider.count-1)+slideMargin*(slider.count-1):(slider.itemW+slideMargin)*slider.count-slider.w-slideMargin}else{slider.itemW=slider.w;slider.itemM=slideMargin;slider.pagingCount=slider.count;slider.last=slider.count-1}slider.computedW=slider.itemW-slider.boxPadding;slider.computedM=slider.itemM};slider.update=function(pos,action){slider.doMath();if(!carousel){if(pos<slider.currentSlide){slider.currentSlide+=1}else if(pos<=slider.currentSlide&&pos!==0){slider.currentSlide-=1}slider.animatingTo=slider.currentSlide}if(slider.vars.controlNav&&!slider.manualControls){if(action==="add"&&!carousel||slider.pagingCount>slider.controlNav.length){methods.controlNav.update("add")}else if(action==="remove"&&!carousel||slider.pagingCount<slider.controlNav.length){if(carousel&&slider.currentSlide>slider.last){slider.currentSlide-=1;slider.animatingTo-=1}methods.controlNav.update("remove",slider.last)}}if(slider.vars.directionNav){methods.directionNav.update()}};slider.addSlide=function(obj,pos){var $obj=$(obj);slider.count+=1;slider.last=slider.count-1;if(vertical&&reverse){pos!==undefined?slider.slides.eq(slider.count-pos).after($obj):slider.container.prepend($obj)}else{pos!==undefined?slider.slides.eq(pos).before($obj):slider.container.append($obj)}slider.update(pos,"add");slider.slides=$(slider.vars.selector+":not(.clone)",slider);slider.setup();slider.vars.added(slider)};slider.removeSlide=function(obj){var pos=isNaN(obj)?slider.slides.index($(obj)):obj;slider.count-=1;slider.last=slider.count-1;if(isNaN(obj)){$(obj,slider.slides).remove()}else{vertical&&reverse?slider.slides.eq(slider.last).remove():slider.slides.eq(obj).remove()}slider.doMath();slider.update(pos,"remove");slider.slides=$(slider.vars.selector+":not(.clone)",slider);slider.setup();slider.vars.removed(slider)};methods.init()};$(window).blur(function(e){focused=false}).focus(function(e){focused=true});$.flexslider.defaults={namespace:"flex-",selector:".slides > li",animation:"fade",easing:"swing",direction:"horizontal",reverse:false,animationLoop:true,smoothHeight:false,startAt:0,slideshow:true,slideshowSpeed:7e3,animationSpeed:600,initDelay:0,randomize:false,fadeFirstSlide:true,thumbCaptions:false,pauseOnAction:true,pauseOnHover:false,pauseInvisible:true,useCSS:true,touch:true,video:false,controlNav:true,directionNav:true,prevText:"Previous",nextText:"Next",keyboard:true,multipleKeyboard:false,mousewheel:false,pausePlay:false,pauseText:"Pause",playText:"Play",controlsContainer:"",manualControls:"",customDirectionNav:"",sync:"",asNavFor:"",itemWidth:0,itemMargin:0,minItems:1,maxItems:0,move:0,allowOneSlide:true,start:function(){},before:function(){},after:function(){},end:function(){},added:function(){},removed:function(){},init:function(){}};$.fn.flexslider=function(options){if(options===undefined){options={}}if(typeof options==="object"){return this.each(function(){var $this=$(this),selector=options.selector?options.selector:".slides > li",$slides=$this.find(selector);if($slides.length===1&&options.allowOneSlide===true||$slides.length===0){$slides.fadeIn(400);if(options.start){options.start($this)}}else if($this.data("flexslider")===undefined){new $.flexslider(this,options)}})}else{var $slider=$(this).data("flexslider");switch(options){case"play":$slider.play();break;case"pause":$slider.pause();break;case"stop":$slider.stop();break;case"next":$slider.flexAnimate($slider.getTarget("next"),true);break;case"prev":case"previous":$slider.flexAnimate($slider.getTarget("prev"),true);break;default:if(typeof options==="number"){$slider.flexAnimate(options,true)}}}}})(jQuery);
|
assets/js/jquery.stats.js
ADDED
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*! odometer 0.4.7
|
2 |
+
* https://github.com/HubSpot/odometer
|
3 |
+
*/
|
4 |
+
(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G=[].slice;q='<span class="odometer-value"></span>',n='<span class="odometer-ribbon"><span class="odometer-ribbon-inner">'+q+"</span></span>",d='<span class="odometer-digit"><span class="odometer-digit-spacer">8</span><span class="odometer-digit-inner">'+n+"</span></span>",g='<span class="odometer-formatting-mark"></span>',c="(,ddd).dd",h=/^\(?([^)]*)\)?(?:(.)(d+))?$/,i=30,f=2e3,a=20,j=2,e=.5,k=1e3/i,b=1e3/a,o="transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",y=document.createElement("div").style,p=null!=y.transition||null!=y.webkitTransition||null!=y.mozTransition||null!=y.oTransition,w=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,l=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,s=function(a){var b;return b=document.createElement("div"),b.innerHTML=a,b.children[0]},v=function(a,b){return a.className=a.className.replace(new RegExp("(^| )"+b.split(" ").join("|")+"( |$)","gi")," ")},r=function(a,b){return v(a,b),a.className+=" "+b},z=function(a,b){var c;return null!=document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(b,!0,!0),a.dispatchEvent(c)):void 0},u=function(){var a,b;return null!=(a=null!=(b=window.performance)&&"function"==typeof b.now?b.now():void 0)?a:+new Date},x=function(a,b){return null==b&&(b=0),b?(a*=Math.pow(10,b),a+=.5,a=Math.floor(a),a/=Math.pow(10,b)):Math.round(a)},A=function(a){return 0>a?Math.ceil(a):Math.floor(a)},t=function(a){return a-x(a)},C=!1,(B=function(){var a,b,c,d,e;if(!C&&null!=window.jQuery){for(C=!0,d=["html","text"],e=[],b=0,c=d.length;c>b;b++)a=d[b],e.push(function(a){var b;return b=window.jQuery.fn[a],window.jQuery.fn[a]=function(a){var c;return null==a||null==(null!=(c=this[0])?c.odometer:void 0)?b.apply(this,arguments):this[0].odometer.update(a)}}(a));return e}})(),setTimeout(B,0),m=function(){function a(b){var c,d,e,g,h,i,l,m,n,o,p=this;if(this.options=b,this.el=this.options.el,null!=this.el.odometer)return this.el.odometer;this.el.odometer=this,m=a.options;for(d in m)g=m[d],null==this.options[d]&&(this.options[d]=g);null==(h=this.options).duration&&(h.duration=f),this.MAX_VALUES=this.options.duration/k/j|0,this.resetFormat(),this.value=this.cleanValue(null!=(n=this.options.value)?n:""),this.renderInside(),this.render();try{for(o=["innerHTML","innerText","textContent"],i=0,l=o.length;l>i;i++)e=o[i],null!=this.el[e]&&!function(a){return Object.defineProperty(p.el,a,{get:function(){var b;return"innerHTML"===a?p.inside.outerHTML:null!=(b=p.inside.innerText)?b:p.inside.textContent},set:function(a){return p.update(a)}})}(e)}catch(q){c=q,this.watchForMutations()}}return a.prototype.renderInside=function(){return this.inside=document.createElement("div"),this.inside.className="odometer-inside",this.el.innerHTML="",this.el.appendChild(this.inside)},a.prototype.watchForMutations=function(){var a,b=this;if(null!=l)try{return null==this.observer&&(this.observer=new l(function(){var a;return a=b.el.innerText,b.renderInside(),b.render(b.value),b.update(a)})),this.watchMutations=!0,this.startWatchingMutations()}catch(c){a=c}},a.prototype.startWatchingMutations=function(){return this.watchMutations?this.observer.observe(this.el,{childList:!0}):void 0},a.prototype.stopWatchingMutations=function(){var a;return null!=(a=this.observer)?a.disconnect():void 0},a.prototype.cleanValue=function(a){var b;return"string"==typeof a&&(a=a.replace(null!=(b=this.format.radix)?b:".","<radix>"),a=a.replace(/[.,]/g,""),a=a.replace("<radix>","."),a=parseFloat(a,10)||0),x(a,this.format.precision)},a.prototype.bindTransitionEnd=function(){var a,b,c,d,e,f,g=this;if(!this.transitionEndBound){for(this.transitionEndBound=!0,b=!1,e=o.split(" "),f=[],c=0,d=e.length;d>c;c++)a=e[c],f.push(this.el.addEventListener(a,function(){return b?!0:(b=!0,setTimeout(function(){return g.render(),b=!1,z(g.el,"odometerdone")},0),!0)},!1));return f}},a.prototype.resetFormat=function(){var a,b,d,e,f,g,i,j;if(a=null!=(i=this.options.format)?i:c,a||(a="d"),d=h.exec(a),!d)throw new Error("Odometer: Unparsable digit format");return j=d.slice(1,4),g=j[0],f=j[1],b=j[2],e=(null!=b?b.length:void 0)||0,this.format={repeating:g,radix:f,precision:e}},a.prototype.render=function(a){var b,c,d,e,f,g,h;for(null==a&&(a=this.value),this.stopWatchingMutations(),this.resetFormat(),this.inside.innerHTML="",f=this.options.theme,b=this.el.className.split(" "),e=[],g=0,h=b.length;h>g;g++)c=b[g],c.length&&((d=/^odometer-theme-(.+)$/.exec(c))?f=d[1]:/^odometer(-|$)/.test(c)||e.push(c));return e.push("odometer"),p||e.push("odometer-no-transitions"),e.push(f?"odometer-theme-"+f:"odometer-auto-theme"),this.el.className=e.join(" "),this.ribbons={},this.formatDigits(a),this.startWatchingMutations()},a.prototype.formatDigits=function(a){var b,c,d,e,f,g,h,i,j,k;if(this.digits=[],this.options.formatFunction)for(d=this.options.formatFunction(a),j=d.split("").reverse(),f=0,h=j.length;h>f;f++)c=j[f],c.match(/0-9/)?(b=this.renderDigit(),b.querySelector(".odometer-value").innerHTML=c,this.digits.push(b),this.insertDigit(b)):this.addSpacer(c);else for(e=!this.format.precision||!t(a)||!1,k=a.toString().split("").reverse(),g=0,i=k.length;i>g;g++)b=k[g],"."===b&&(e=!0),this.addDigit(b,e)},a.prototype.update=function(a){var b,c=this;return a=this.cleanValue(a),(b=a-this.value)?(v(this.el,"odometer-animating-up odometer-animating-down odometer-animating"),b>0?r(this.el,"odometer-animating-up"):r(this.el,"odometer-animating-down"),this.stopWatchingMutations(),this.animate(a),this.startWatchingMutations(),setTimeout(function(){return c.el.offsetHeight,r(c.el,"odometer-animating")},0),this.value=a):void 0},a.prototype.renderDigit=function(){return s(d)},a.prototype.insertDigit=function(a,b){return null!=b?this.inside.insertBefore(a,b):this.inside.children.length?this.inside.insertBefore(a,this.inside.children[0]):this.inside.appendChild(a)},a.prototype.addSpacer=function(a,b,c){var d;return d=s(g),d.innerHTML=a,c&&r(d,c),this.insertDigit(d,b)},a.prototype.addDigit=function(a,b){var c,d,e,f;if(null==b&&(b=!0),"-"===a)return this.addSpacer(a,null,"odometer-negation-mark");if("."===a)return this.addSpacer(null!=(f=this.format.radix)?f:".",null,"odometer-radix-mark");if(b)for(e=!1;;){if(!this.format.repeating.length){if(e)throw new Error("Bad odometer format without digits");this.resetFormat(),e=!0}if(c=this.format.repeating[this.format.repeating.length-1],this.format.repeating=this.format.repeating.substring(0,this.format.repeating.length-1),"d"===c)break;this.addSpacer(c)}return d=this.renderDigit(),d.querySelector(".odometer-value").innerHTML=a,this.digits.push(d),this.insertDigit(d)},a.prototype.animate=function(a){return p&&"count"!==this.options.animation?this.animateSlide(a):this.animateCount(a)},a.prototype.animateCount=function(a){var c,d,e,f,g,h=this;if(d=+a-this.value)return f=e=u(),c=this.value,(g=function(){var i,j,k;return u()-f>h.options.duration?(h.value=a,h.render(),void z(h.el,"odometerdone")):(i=u()-e,i>b&&(e=u(),k=i/h.options.duration,j=d*k,c+=j,h.render(Math.round(c))),null!=w?w(g):setTimeout(g,b))})()},a.prototype.getDigitCount=function(){var a,b,c,d,e,f;for(d=1<=arguments.length?G.call(arguments,0):[],a=e=0,f=d.length;f>e;a=++e)c=d[a],d[a]=Math.abs(c);return b=Math.max.apply(Math,d),Math.ceil(Math.log(b+1)/Math.log(10))},a.prototype.getFractionalDigitCount=function(){var a,b,c,d,e,f,g;for(e=1<=arguments.length?G.call(arguments,0):[],b=/^\-?\d*\.(\d*?)0*$/,a=f=0,g=e.length;g>f;a=++f)d=e[a],e[a]=d.toString(),c=b.exec(e[a]),e[a]=null==c?0:c[1].length;return Math.max.apply(Math,e)},a.prototype.resetDigits=function(){return this.digits=[],this.ribbons=[],this.inside.innerHTML="",this.resetFormat()},a.prototype.animateSlide=function(a){var b,c,d,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,y,z,B,C,D,E;if(s=this.value,j=this.getFractionalDigitCount(s,a),j&&(a*=Math.pow(10,j),s*=Math.pow(10,j)),d=a-s){for(this.bindTransitionEnd(),f=this.getDigitCount(s,a),g=[],b=0,m=v=0;f>=0?f>v:v>f;m=f>=0?++v:--v){if(t=A(s/Math.pow(10,f-m-1)),i=A(a/Math.pow(10,f-m-1)),h=i-t,Math.abs(h)>this.MAX_VALUES){for(l=[],n=h/(this.MAX_VALUES+this.MAX_VALUES*b*e),c=t;h>0&&i>c||0>h&&c>i;)l.push(Math.round(c)),c+=n;l[l.length-1]!==i&&l.push(i),b++}else l=function(){E=[];for(var a=t;i>=t?i>=a:a>=i;i>=t?a++:a--)E.push(a);return E}.apply(this);for(m=w=0,y=l.length;y>w;m=++w)k=l[m],l[m]=Math.abs(k%10);g.push(l)}for(this.resetDigits(),D=g.reverse(),m=x=0,z=D.length;z>x;m=++x)for(l=D[m],this.digits[m]||this.addDigit(" ",m>=j),null==(u=this.ribbons)[m]&&(u[m]=this.digits[m].querySelector(".odometer-ribbon-inner")),this.ribbons[m].innerHTML="",0>d&&(l=l.reverse()),o=C=0,B=l.length;B>C;o=++C)k=l[o],q=document.createElement("div"),q.className="odometer-value",q.innerHTML=k,this.ribbons[m].appendChild(q),o===l.length-1&&r(q,"odometer-last-value"),0===o&&r(q,"odometer-first-value");return 0>t&&this.addDigit("-"),p=this.inside.querySelector(".odometer-radix-mark"),null!=p&&p.parent.removeChild(p),j?this.addSpacer(this.format.radix,this.digits[j-1],"odometer-radix-mark"):void 0}},a}(),m.options=null!=(E=window.odometerOptions)?E:{},setTimeout(function(){var a,b,c,d,e;if(window.odometerOptions){d=window.odometerOptions,e=[];for(a in d)b=d[a],e.push(null!=(c=m.options)[a]?(c=m.options)[a]:c[a]=b);return e}},0),m.init=function(){var a,b,c,d,e,f;if(null!=document.querySelectorAll){for(b=document.querySelectorAll(m.options.selector||".odometer"),f=[],c=0,d=b.length;d>c;c++)a=b[c],f.push(a.odometer=new m({el:a,value:null!=(e=a.innerText)?e:a.textContent}));return f}},null!=(null!=(F=document.documentElement)?F.doScroll:void 0)&&null!=document.createEventObject?(D=document.onreadystatechange,document.onreadystatechange=function(){return"complete"===document.readyState&&m.options.auto!==!1&&m.init(),null!=D?D.apply(this,arguments):void 0}):document.addEventListener("DOMContentLoaded",function(){return m.options.auto!==!1?m.init():void 0},!1),"function"==typeof define&&define.amd?define(["jquery"],function(){return m}):"undefined"!=typeof exports&&null!==exports?module.exports=m:window.Odometer=m}).call(this);
|
5 |
+
|
6 |
+
/*!
|
7 |
+
* The Final Countdown for jQuery v2.1.0 (http://hilios.github.io/jQuery.countdown/)
|
8 |
+
* Copyright (c) 2015 Edson Hilios
|
9 |
+
*
|
10 |
+
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
11 |
+
* this software and associated documentation files (the "Software"), to deal in
|
12 |
+
* the Software without restriction, including without limitation the rights to
|
13 |
+
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
14 |
+
* the Software, and to permit persons to whom the Software is furnished to do so,
|
15 |
+
* subject to the following conditions:
|
16 |
+
*
|
17 |
+
* The above copyright notice and this permission notice shall be included in all
|
18 |
+
* copies or substantial portions of the Software.
|
19 |
+
*
|
20 |
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
21 |
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
22 |
+
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
23 |
+
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
24 |
+
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
25 |
+
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
26 |
+
*/
|
27 |
+
!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){"use strict";function b(a){if(a instanceof Date)return a;if(String(a).match(g))return String(a).match(/^[0-9]*$/)&&(a=Number(a)),String(a).match(/\-/)&&(a=String(a).replace(/\-/g,"/")),new Date(a);throw new Error("Couldn't cast `"+a+"` to a date object.")}function c(a){var b=a.toString().replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");return new RegExp(b)}function d(a){return function(b){var d=b.match(/%(-|!)?[A-Z]{1}(:[^;]+;)?/gi);if(d)for(var f=0,g=d.length;g>f;++f){var h=d[f].match(/%(-|!)?([a-zA-Z]{1})(:[^;]+;)?/),j=c(h[0]),k=h[1]||"",l=h[3]||"",m=null;h=h[2],i.hasOwnProperty(h)&&(m=i[h],m=Number(a[m])),null!==m&&("!"===k&&(m=e(l,m)),""===k&&10>m&&(m="0"+m.toString()),b=b.replace(j,m.toString()))}return b=b.replace(/%%/,"%")}}function e(a,b){var c="s",d="";return a&&(a=a.replace(/(:|;|\s)/gi,"").split(/\,/),1===a.length?c=a[0]:(d=a[0],c=a[1])),1===Math.abs(b)?d:c}var f=[],g=[],h={precision:100,elapse:!1};g.push(/^[0-9]*$/.source),g.push(/([0-9]{1,2}\/){2}[0-9]{4}( [0-9]{1,2}(:[0-9]{2}){2})?/.source),g.push(/[0-9]{4}([\/\-][0-9]{1,2}){2}( [0-9]{1,2}(:[0-9]{2}){2})?/.source),g=new RegExp(g.join("|"));var i={Y:"years",m:"months",n:"daysToMonth",w:"weeks",d:"daysToWeek",D:"totalDays",H:"hours",M:"minutes",S:"seconds"},j=function(b,c,d){this.el=b,this.$el=a(b),this.interval=null,this.offset={},this.options=a.extend({},h),this.instanceNumber=f.length,f.push(this),this.$el.data("countdown-instance",this.instanceNumber),d&&("function"==typeof d?(this.$el.on("update.countdown",d),this.$el.on("stoped.countdown",d),this.$el.on("finish.countdown",d)):this.options=a.extend({},h,d)),this.setFinalDate(c),this.start()};a.extend(j.prototype,{start:function(){null!==this.interval&&clearInterval(this.interval);var a=this;this.update(),this.interval=setInterval(function(){a.update.call(a)},this.options.precision)},stop:function(){clearInterval(this.interval),this.interval=null,this.dispatchEvent("stoped")},toggle:function(){this.interval?this.stop():this.start()},pause:function(){this.stop()},resume:function(){this.start()},remove:function(){this.stop.call(this),f[this.instanceNumber]=null,delete this.$el.data().countdownInstance},setFinalDate:function(a){this.finalDate=b(a)},update:function(){if(0===this.$el.closest("html").length)return void this.remove();var b,c=void 0!==a._data(this.el,"events"),d=new Date;b=this.finalDate.getTime()-d.getTime(),b=Math.ceil(b/1e3),b=!this.options.elapse&&0>b?0:Math.abs(b),this.totalSecsLeft!==b&&c&&(this.totalSecsLeft=b,this.elapsed=d>=this.finalDate,this.offset={seconds:this.totalSecsLeft%60,minutes:Math.floor(this.totalSecsLeft/60)%60,hours:Math.floor(this.totalSecsLeft/60/60)%24,days:Math.floor(this.totalSecsLeft/60/60/24)%7,daysToWeek:Math.floor(this.totalSecsLeft/60/60/24)%7,daysToMonth:Math.floor(this.totalSecsLeft/60/60/24%30.4368),totalDays:Math.floor(this.totalSecsLeft/60/60/24),weeks:Math.floor(this.totalSecsLeft/60/60/24/7),months:Math.floor(this.totalSecsLeft/60/60/24/30.4368),years:Math.abs(this.finalDate.getFullYear()-d.getFullYear())},this.options.elapse||0!==this.totalSecsLeft?this.dispatchEvent("update"):(this.stop(),this.dispatchEvent("finish")))},dispatchEvent:function(b){var c=a.Event(b+".countdown");c.finalDate=this.finalDate,c.elapsed=this.elapsed,c.offset=a.extend({},this.offset),c.strftime=d(this.offset),this.$el.trigger(c)}}),a.fn.countdown=function(){var b=Array.prototype.slice.call(arguments,0);return this.each(function(){var c=a(this).data("countdown-instance");if(void 0!==c){var d=f[c],e=b[0];j.prototype.hasOwnProperty(e)?d[e].apply(d,b.slice(1)):null===String(e).match(/^[$A-Z_][0-9A-Z_$]*$/i)?(d.setFinalDate.call(d,e),d.start()):a.error("Method %s does not exist on jQuery.countdown".replace(/\%s/gi,e))}else new j(this,b[0],b[1])})}});
|
28 |
+
|
29 |
+
|
30 |
+
/**!
|
31 |
+
* easyPieChart
|
32 |
+
* Lightweight plugin to render simple, animated and retina optimized pie charts
|
33 |
+
*
|
34 |
+
* @license Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
|
35 |
+
* @author Robert Fleischmann <rendro87@gmail.com> (http://robert-fleischmann.de)
|
36 |
+
* @version 2.1.1
|
37 |
+
**/
|
38 |
+
/**!
|
39 |
+
* easy-pie-chart
|
40 |
+
* Lightweight plugin to render simple, animated and retina optimized pie charts
|
41 |
+
*
|
42 |
+
* @license
|
43 |
+
* @author Robert Fleischmann <rendro87@gmail.com> (http://robert-fleischmann.de)
|
44 |
+
* @version 2.1.7
|
45 |
+
**/
|
46 |
+
!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){var b=function(a,b){var c,d=document.createElement("canvas");a.appendChild(d),"object"==typeof G_vmlCanvasManager&&G_vmlCanvasManager.initElement(d);var e=d.getContext("2d");d.width=d.height=b.size;var f=1;window.devicePixelRatio>1&&(f=window.devicePixelRatio,d.style.width=d.style.height=[b.size,"px"].join(""),d.width=d.height=b.size*f,e.scale(f,f)),e.translate(b.size/2,b.size/2),e.rotate((-0.5+b.rotate/180)*Math.PI);var g=(b.size-b.lineWidth)/2;b.scaleColor&&b.scaleLength&&(g-=b.scaleLength+2),Date.now=Date.now||function(){return+new Date};var h=function(a,b,c){c=Math.min(Math.max(-1,c||0),1);var d=0>=c?!0:!1;e.beginPath(),e.arc(0,0,g,0,2*Math.PI*c,d),e.strokeStyle=a,e.lineWidth=b,e.stroke()},i=function(){var a,c;e.lineWidth=1,e.fillStyle=b.scaleColor,e.save();for(var d=24;d>0;--d)d%6===0?(c=b.scaleLength,a=0):(c=.6*b.scaleLength,a=b.scaleLength-c),e.fillRect(-b.size/2+a,0,c,1),e.rotate(Math.PI/12);e.restore()},j=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(a){window.setTimeout(a,1e3/60)}}(),k=function(){b.scaleColor&&i(),b.trackColor&&h(b.trackColor,b.trackWidth||b.lineWidth,1)};this.getCanvas=function(){return d},this.getCtx=function(){return e},this.clear=function(){e.clearRect(b.size/-2,b.size/-2,b.size,b.size)},this.draw=function(a){b.scaleColor||b.trackColor?e.getImageData&&e.putImageData?c?e.putImageData(c,0,0):(k(),c=e.getImageData(0,0,b.size*f,b.size*f)):(this.clear(),k()):this.clear(),e.lineCap=b.lineCap;var d;d="function"==typeof b.barColor?b.barColor(a):b.barColor,h(d,b.lineWidth,a/100)}.bind(this),this.animate=function(a,c){var d=Date.now();b.onStart(a,c);var e=function(){var f=Math.min(Date.now()-d,b.animate.duration),g=b.easing(this,f,a,c-a,b.animate.duration);this.draw(g),b.onStep(a,c,g),f>=b.animate.duration?b.onStop(a,c):j(e)}.bind(this);j(e)}.bind(this)},c=function(a,c){var d={barColor:"#ef1e25",trackColor:"#f9f9f9",scaleColor:"#dfe0e0",scaleLength:5,lineCap:"round",lineWidth:3,trackWidth:void 0,size:110,rotate:0,animate:{duration:1e3,enabled:!0},easing:function(a,b,c,d,e){return b/=e/2,1>b?d/2*b*b+c:-d/2*(--b*(b-2)-1)+c},onStart:function(a,b){},onStep:function(a,b,c){},onStop:function(a,b){}};if("undefined"!=typeof b)d.renderer=b;else{if("undefined"==typeof SVGRenderer)throw new Error("Please load either the SVG- or the CanvasRenderer");d.renderer=SVGRenderer}var e={},f=0,g=function(){this.el=a,this.options=e;for(var b in d)d.hasOwnProperty(b)&&(e[b]=c&&"undefined"!=typeof c[b]?c[b]:d[b],"function"==typeof e[b]&&(e[b]=e[b].bind(this)));"string"==typeof e.easing&&"undefined"!=typeof jQuery&&jQuery.isFunction(jQuery.easing[e.easing])?e.easing=jQuery.easing[e.easing]:e.easing=d.easing,"number"==typeof e.animate&&(e.animate={duration:e.animate,enabled:!0}),"boolean"!=typeof e.animate||e.animate||(e.animate={duration:1e3,enabled:e.animate}),this.renderer=new e.renderer(a,e),this.renderer.draw(f),a.dataset&&a.dataset.percent?this.update(parseFloat(a.dataset.percent)):a.getAttribute&&a.getAttribute("data-percent")&&this.update(parseFloat(a.getAttribute("data-percent")))}.bind(this);this.update=function(a){return a=parseFloat(a),e.animate.enabled?this.renderer.animate(f,a):this.renderer.draw(a),f=a,this}.bind(this),this.disableAnimation=function(){return e.animate.enabled=!1,this},this.enableAnimation=function(){return e.animate.enabled=!0,this},g()};a.fn.easyPieChart=function(b){return this.each(function(){var d;a.data(this,"easyPieChart")||(d=a.extend({},b,a(this).data()),a.data(this,"easyPieChart",new c(this,d)))})}});
|
47 |
+
|
48 |
+
/***********
|
49 |
+
Animates element's number to new number with commas
|
50 |
+
Parameters:
|
51 |
+
stop (number): number to stop on
|
52 |
+
commas (boolean): turn commas on/off (default is true)
|
53 |
+
duration (number): how long in ms (default is 1000)
|
54 |
+
ease (string): type of easing (default is "swing", others are avaiable from jQuery's easing plugin
|
55 |
+
Examples:
|
56 |
+
$("#div").animateNumbers(1234, false, 500, "linear"); // half second linear without commas
|
57 |
+
$("#div").animateNumbers(1234, true, 2000); // two second swing with commas
|
58 |
+
$("#div").animateNumbers(4321); // one second swing with commas
|
59 |
+
This fully expects an element containing an integer
|
60 |
+
If the number is within copy then separate it with a span and target the span
|
61 |
+
Inserts and accounts for commas during animation by default
|
62 |
+
***********/
|
63 |
+
|
64 |
+
(function(e){e.fn.animateNumbers=function(t,n,r,i){return this.each(function(){var s=e(this);var o=parseInt(s.text().replace(/,/g,""));n=n===undefined?true:n;e({value:o}).animate({value:t},{duration:r==undefined?1e3:r,easing:i==undefined?"swing":i,step:function(){s.text(Math.floor(this.value));if(n){s.text(s.text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"))}},complete:function(){if(parseInt(s.text())!==t){s.text(t);if(n){s.text(s.text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"))}}}})})}})(jQuery);
|
assets/js/jquery.stats.min.js
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*! odometer 0.4.7
|
2 |
+
* https://github.com/HubSpot/odometer
|
3 |
+
*/
|
4 |
+
(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G=[].slice;q='<span class="odometer-value"></span>',n='<span class="odometer-ribbon"><span class="odometer-ribbon-inner">'+q+"</span></span>",d='<span class="odometer-digit"><span class="odometer-digit-spacer">8</span><span class="odometer-digit-inner">'+n+"</span></span>",g='<span class="odometer-formatting-mark"></span>',c="(,ddd).dd",h=/^\(?([^)]*)\)?(?:(.)(d+))?$/,i=30,f=2e3,a=20,j=2,e=.5,k=1e3/i,b=1e3/a,o="transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",y=document.createElement("div").style,p=null!=y.transition||null!=y.webkitTransition||null!=y.mozTransition||null!=y.oTransition,w=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,l=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,s=function(a){var b;return b=document.createElement("div"),b.innerHTML=a,b.children[0]},v=function(a,b){return a.className=a.className.replace(new RegExp("(^| )"+b.split(" ").join("|")+"( |$)","gi")," ")},r=function(a,b){return v(a,b),a.className+=" "+b},z=function(a,b){var c;return null!=document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(b,!0,!0),a.dispatchEvent(c)):void 0},u=function(){var a,b;return null!=(a=null!=(b=window.performance)&&"function"==typeof b.now?b.now():void 0)?a:+new Date},x=function(a,b){return null==b&&(b=0),b?(a*=Math.pow(10,b),a+=.5,a=Math.floor(a),a/=Math.pow(10,b)):Math.round(a)},A=function(a){return 0>a?Math.ceil(a):Math.floor(a)},t=function(a){return a-x(a)},C=!1,(B=function(){var a,b,c,d,e;if(!C&&null!=window.jQuery){for(C=!0,d=["html","text"],e=[],b=0,c=d.length;c>b;b++)a=d[b],e.push(function(a){var b;return b=window.jQuery.fn[a],window.jQuery.fn[a]=function(a){var c;return null==a||null==(null!=(c=this[0])?c.odometer:void 0)?b.apply(this,arguments):this[0].odometer.update(a)}}(a));return e}})(),setTimeout(B,0),m=function(){function a(b){var c,d,e,g,h,i,l,m,n,o,p=this;if(this.options=b,this.el=this.options.el,null!=this.el.odometer)return this.el.odometer;this.el.odometer=this,m=a.options;for(d in m)g=m[d],null==this.options[d]&&(this.options[d]=g);null==(h=this.options).duration&&(h.duration=f),this.MAX_VALUES=this.options.duration/k/j|0,this.resetFormat(),this.value=this.cleanValue(null!=(n=this.options.value)?n:""),this.renderInside(),this.render();try{for(o=["innerHTML","innerText","textContent"],i=0,l=o.length;l>i;i++)e=o[i],null!=this.el[e]&&!function(a){return Object.defineProperty(p.el,a,{get:function(){var b;return"innerHTML"===a?p.inside.outerHTML:null!=(b=p.inside.innerText)?b:p.inside.textContent},set:function(a){return p.update(a)}})}(e)}catch(q){c=q,this.watchForMutations()}}return a.prototype.renderInside=function(){return this.inside=document.createElement("div"),this.inside.className="odometer-inside",this.el.innerHTML="",this.el.appendChild(this.inside)},a.prototype.watchForMutations=function(){var a,b=this;if(null!=l)try{return null==this.observer&&(this.observer=new l(function(){var a;return a=b.el.innerText,b.renderInside(),b.render(b.value),b.update(a)})),this.watchMutations=!0,this.startWatchingMutations()}catch(c){a=c}},a.prototype.startWatchingMutations=function(){return this.watchMutations?this.observer.observe(this.el,{childList:!0}):void 0},a.prototype.stopWatchingMutations=function(){var a;return null!=(a=this.observer)?a.disconnect():void 0},a.prototype.cleanValue=function(a){var b;return"string"==typeof a&&(a=a.replace(null!=(b=this.format.radix)?b:".","<radix>"),a=a.replace(/[.,]/g,""),a=a.replace("<radix>","."),a=parseFloat(a,10)||0),x(a,this.format.precision)},a.prototype.bindTransitionEnd=function(){var a,b,c,d,e,f,g=this;if(!this.transitionEndBound){for(this.transitionEndBound=!0,b=!1,e=o.split(" "),f=[],c=0,d=e.length;d>c;c++)a=e[c],f.push(this.el.addEventListener(a,function(){return b?!0:(b=!0,setTimeout(function(){return g.render(),b=!1,z(g.el,"odometerdone")},0),!0)},!1));return f}},a.prototype.resetFormat=function(){var a,b,d,e,f,g,i,j;if(a=null!=(i=this.options.format)?i:c,a||(a="d"),d=h.exec(a),!d)throw new Error("Odometer: Unparsable digit format");return j=d.slice(1,4),g=j[0],f=j[1],b=j[2],e=(null!=b?b.length:void 0)||0,this.format={repeating:g,radix:f,precision:e}},a.prototype.render=function(a){var b,c,d,e,f,g,h;for(null==a&&(a=this.value),this.stopWatchingMutations(),this.resetFormat(),this.inside.innerHTML="",f=this.options.theme,b=this.el.className.split(" "),e=[],g=0,h=b.length;h>g;g++)c=b[g],c.length&&((d=/^odometer-theme-(.+)$/.exec(c))?f=d[1]:/^odometer(-|$)/.test(c)||e.push(c));return e.push("odometer"),p||e.push("odometer-no-transitions"),e.push(f?"odometer-theme-"+f:"odometer-auto-theme"),this.el.className=e.join(" "),this.ribbons={},this.formatDigits(a),this.startWatchingMutations()},a.prototype.formatDigits=function(a){var b,c,d,e,f,g,h,i,j,k;if(this.digits=[],this.options.formatFunction)for(d=this.options.formatFunction(a),j=d.split("").reverse(),f=0,h=j.length;h>f;f++)c=j[f],c.match(/0-9/)?(b=this.renderDigit(),b.querySelector(".odometer-value").innerHTML=c,this.digits.push(b),this.insertDigit(b)):this.addSpacer(c);else for(e=!this.format.precision||!t(a)||!1,k=a.toString().split("").reverse(),g=0,i=k.length;i>g;g++)b=k[g],"."===b&&(e=!0),this.addDigit(b,e)},a.prototype.update=function(a){var b,c=this;return a=this.cleanValue(a),(b=a-this.value)?(v(this.el,"odometer-animating-up odometer-animating-down odometer-animating"),b>0?r(this.el,"odometer-animating-up"):r(this.el,"odometer-animating-down"),this.stopWatchingMutations(),this.animate(a),this.startWatchingMutations(),setTimeout(function(){return c.el.offsetHeight,r(c.el,"odometer-animating")},0),this.value=a):void 0},a.prototype.renderDigit=function(){return s(d)},a.prototype.insertDigit=function(a,b){return null!=b?this.inside.insertBefore(a,b):this.inside.children.length?this.inside.insertBefore(a,this.inside.children[0]):this.inside.appendChild(a)},a.prototype.addSpacer=function(a,b,c){var d;return d=s(g),d.innerHTML=a,c&&r(d,c),this.insertDigit(d,b)},a.prototype.addDigit=function(a,b){var c,d,e,f;if(null==b&&(b=!0),"-"===a)return this.addSpacer(a,null,"odometer-negation-mark");if("."===a)return this.addSpacer(null!=(f=this.format.radix)?f:".",null,"odometer-radix-mark");if(b)for(e=!1;;){if(!this.format.repeating.length){if(e)throw new Error("Bad odometer format without digits");this.resetFormat(),e=!0}if(c=this.format.repeating[this.format.repeating.length-1],this.format.repeating=this.format.repeating.substring(0,this.format.repeating.length-1),"d"===c)break;this.addSpacer(c)}return d=this.renderDigit(),d.querySelector(".odometer-value").innerHTML=a,this.digits.push(d),this.insertDigit(d)},a.prototype.animate=function(a){return p&&"count"!==this.options.animation?this.animateSlide(a):this.animateCount(a)},a.prototype.animateCount=function(a){var c,d,e,f,g,h=this;if(d=+a-this.value)return f=e=u(),c=this.value,(g=function(){var i,j,k;return u()-f>h.options.duration?(h.value=a,h.render(),void z(h.el,"odometerdone")):(i=u()-e,i>b&&(e=u(),k=i/h.options.duration,j=d*k,c+=j,h.render(Math.round(c))),null!=w?w(g):setTimeout(g,b))})()},a.prototype.getDigitCount=function(){var a,b,c,d,e,f;for(d=1<=arguments.length?G.call(arguments,0):[],a=e=0,f=d.length;f>e;a=++e)c=d[a],d[a]=Math.abs(c);return b=Math.max.apply(Math,d),Math.ceil(Math.log(b+1)/Math.log(10))},a.prototype.getFractionalDigitCount=function(){var a,b,c,d,e,f,g;for(e=1<=arguments.length?G.call(arguments,0):[],b=/^\-?\d*\.(\d*?)0*$/,a=f=0,g=e.length;g>f;a=++f)d=e[a],e[a]=d.toString(),c=b.exec(e[a]),e[a]=null==c?0:c[1].length;return Math.max.apply(Math,e)},a.prototype.resetDigits=function(){return this.digits=[],this.ribbons=[],this.inside.innerHTML="",this.resetFormat()},a.prototype.animateSlide=function(a){var b,c,d,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,y,z,B,C,D,E;if(s=this.value,j=this.getFractionalDigitCount(s,a),j&&(a*=Math.pow(10,j),s*=Math.pow(10,j)),d=a-s){for(this.bindTransitionEnd(),f=this.getDigitCount(s,a),g=[],b=0,m=v=0;f>=0?f>v:v>f;m=f>=0?++v:--v){if(t=A(s/Math.pow(10,f-m-1)),i=A(a/Math.pow(10,f-m-1)),h=i-t,Math.abs(h)>this.MAX_VALUES){for(l=[],n=h/(this.MAX_VALUES+this.MAX_VALUES*b*e),c=t;h>0&&i>c||0>h&&c>i;)l.push(Math.round(c)),c+=n;l[l.length-1]!==i&&l.push(i),b++}else l=function(){E=[];for(var a=t;i>=t?i>=a:a>=i;i>=t?a++:a--)E.push(a);return E}.apply(this);for(m=w=0,y=l.length;y>w;m=++w)k=l[m],l[m]=Math.abs(k%10);g.push(l)}for(this.resetDigits(),D=g.reverse(),m=x=0,z=D.length;z>x;m=++x)for(l=D[m],this.digits[m]||this.addDigit(" ",m>=j),null==(u=this.ribbons)[m]&&(u[m]=this.digits[m].querySelector(".odometer-ribbon-inner")),this.ribbons[m].innerHTML="",0>d&&(l=l.reverse()),o=C=0,B=l.length;B>C;o=++C)k=l[o],q=document.createElement("div"),q.className="odometer-value",q.innerHTML=k,this.ribbons[m].appendChild(q),o===l.length-1&&r(q,"odometer-last-value"),0===o&&r(q,"odometer-first-value");return 0>t&&this.addDigit("-"),p=this.inside.querySelector(".odometer-radix-mark"),null!=p&&p.parent.removeChild(p),j?this.addSpacer(this.format.radix,this.digits[j-1],"odometer-radix-mark"):void 0}},a}(),m.options=null!=(E=window.odometerOptions)?E:{},setTimeout(function(){var a,b,c,d,e;if(window.odometerOptions){d=window.odometerOptions,e=[];for(a in d)b=d[a],e.push(null!=(c=m.options)[a]?(c=m.options)[a]:c[a]=b);return e}},0),m.init=function(){var a,b,c,d,e,f;if(null!=document.querySelectorAll){for(b=document.querySelectorAll(m.options.selector||".odometer"),f=[],c=0,d=b.length;d>c;c++)a=b[c],f.push(a.odometer=new m({el:a,value:null!=(e=a.innerText)?e:a.textContent}));return f}},null!=(null!=(F=document.documentElement)?F.doScroll:void 0)&&null!=document.createEventObject?(D=document.onreadystatechange,document.onreadystatechange=function(){return"complete"===document.readyState&&m.options.auto!==!1&&m.init(),null!=D?D.apply(this,arguments):void 0}):document.addEventListener("DOMContentLoaded",function(){return m.options.auto!==!1?m.init():void 0},!1),"function"==typeof define&&define.amd?define(["jquery"],function(){return m}):"undefined"!=typeof exports&&null!==exports?module.exports=m:window.Odometer=m}).call(this);
|
5 |
+
|
6 |
+
/*!
|
7 |
+
* The Final Countdown for jQuery v2.1.0 (http://hilios.github.io/jQuery.countdown/)
|
8 |
+
* Copyright (c) 2015 Edson Hilios
|
9 |
+
*
|
10 |
+
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
11 |
+
* this software and associated documentation files (the "Software"), to deal in
|
12 |
+
* the Software without restriction, including without limitation the rights to
|
13 |
+
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
14 |
+
* the Software, and to permit persons to whom the Software is furnished to do so,
|
15 |
+
* subject to the following conditions:
|
16 |
+
*
|
17 |
+
* The above copyright notice and this permission notice shall be included in all
|
18 |
+
* copies or substantial portions of the Software.
|
19 |
+
*
|
20 |
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
21 |
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
22 |
+
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
23 |
+
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
24 |
+
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
25 |
+
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
26 |
+
*/
|
27 |
+
!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){"use strict";function b(a){if(a instanceof Date)return a;if(String(a).match(g))return String(a).match(/^[0-9]*$/)&&(a=Number(a)),String(a).match(/\-/)&&(a=String(a).replace(/\-/g,"/")),new Date(a);throw new Error("Couldn't cast `"+a+"` to a date object.")}function c(a){var b=a.toString().replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");return new RegExp(b)}function d(a){return function(b){var d=b.match(/%(-|!)?[A-Z]{1}(:[^;]+;)?/gi);if(d)for(var f=0,g=d.length;g>f;++f){var h=d[f].match(/%(-|!)?([a-zA-Z]{1})(:[^;]+;)?/),j=c(h[0]),k=h[1]||"",l=h[3]||"",m=null;h=h[2],i.hasOwnProperty(h)&&(m=i[h],m=Number(a[m])),null!==m&&("!"===k&&(m=e(l,m)),""===k&&10>m&&(m="0"+m.toString()),b=b.replace(j,m.toString()))}return b=b.replace(/%%/,"%")}}function e(a,b){var c="s",d="";return a&&(a=a.replace(/(:|;|\s)/gi,"").split(/\,/),1===a.length?c=a[0]:(d=a[0],c=a[1])),1===Math.abs(b)?d:c}var f=[],g=[],h={precision:100,elapse:!1};g.push(/^[0-9]*$/.source),g.push(/([0-9]{1,2}\/){2}[0-9]{4}( [0-9]{1,2}(:[0-9]{2}){2})?/.source),g.push(/[0-9]{4}([\/\-][0-9]{1,2}){2}( [0-9]{1,2}(:[0-9]{2}){2})?/.source),g=new RegExp(g.join("|"));var i={Y:"years",m:"months",n:"daysToMonth",w:"weeks",d:"daysToWeek",D:"totalDays",H:"hours",M:"minutes",S:"seconds"},j=function(b,c,d){this.el=b,this.$el=a(b),this.interval=null,this.offset={},this.options=a.extend({},h),this.instanceNumber=f.length,f.push(this),this.$el.data("countdown-instance",this.instanceNumber),d&&("function"==typeof d?(this.$el.on("update.countdown",d),this.$el.on("stoped.countdown",d),this.$el.on("finish.countdown",d)):this.options=a.extend({},h,d)),this.setFinalDate(c),this.start()};a.extend(j.prototype,{start:function(){null!==this.interval&&clearInterval(this.interval);var a=this;this.update(),this.interval=setInterval(function(){a.update.call(a)},this.options.precision)},stop:function(){clearInterval(this.interval),this.interval=null,this.dispatchEvent("stoped")},toggle:function(){this.interval?this.stop():this.start()},pause:function(){this.stop()},resume:function(){this.start()},remove:function(){this.stop.call(this),f[this.instanceNumber]=null,delete this.$el.data().countdownInstance},setFinalDate:function(a){this.finalDate=b(a)},update:function(){if(0===this.$el.closest("html").length)return void this.remove();var b,c=void 0!==a._data(this.el,"events"),d=new Date;b=this.finalDate.getTime()-d.getTime(),b=Math.ceil(b/1e3),b=!this.options.elapse&&0>b?0:Math.abs(b),this.totalSecsLeft!==b&&c&&(this.totalSecsLeft=b,this.elapsed=d>=this.finalDate,this.offset={seconds:this.totalSecsLeft%60,minutes:Math.floor(this.totalSecsLeft/60)%60,hours:Math.floor(this.totalSecsLeft/60/60)%24,days:Math.floor(this.totalSecsLeft/60/60/24)%7,daysToWeek:Math.floor(this.totalSecsLeft/60/60/24)%7,daysToMonth:Math.floor(this.totalSecsLeft/60/60/24%30.4368),totalDays:Math.floor(this.totalSecsLeft/60/60/24),weeks:Math.floor(this.totalSecsLeft/60/60/24/7),months:Math.floor(this.totalSecsLeft/60/60/24/30.4368),years:Math.abs(this.finalDate.getFullYear()-d.getFullYear())},this.options.elapse||0!==this.totalSecsLeft?this.dispatchEvent("update"):(this.stop(),this.dispatchEvent("finish")))},dispatchEvent:function(b){var c=a.Event(b+".countdown");c.finalDate=this.finalDate,c.elapsed=this.elapsed,c.offset=a.extend({},this.offset),c.strftime=d(this.offset),this.$el.trigger(c)}}),a.fn.countdown=function(){var b=Array.prototype.slice.call(arguments,0);return this.each(function(){var c=a(this).data("countdown-instance");if(void 0!==c){var d=f[c],e=b[0];j.prototype.hasOwnProperty(e)?d[e].apply(d,b.slice(1)):null===String(e).match(/^[$A-Z_][0-9A-Z_$]*$/i)?(d.setFinalDate.call(d,e),d.start()):a.error("Method %s does not exist on jQuery.countdown".replace(/\%s/gi,e))}else new j(this,b[0],b[1])})}});
|
28 |
+
|
29 |
+
|
30 |
+
/**!
|
31 |
+
* easy-pie-chart
|
32 |
+
* Lightweight plugin to render simple, animated and retina optimized pie charts
|
33 |
+
*
|
34 |
+
* @license
|
35 |
+
* @author Robert Fleischmann <rendro87@gmail.com> (http://robert-fleischmann.de)
|
36 |
+
* @version 2.1.7
|
37 |
+
**/
|
38 |
+
!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){var b=function(a,b){var c,d=document.createElement("canvas");a.appendChild(d),"object"==typeof G_vmlCanvasManager&&G_vmlCanvasManager.initElement(d);var e=d.getContext("2d");d.width=d.height=b.size;var f=1;window.devicePixelRatio>1&&(f=window.devicePixelRatio,d.style.width=d.style.height=[b.size,"px"].join(""),d.width=d.height=b.size*f,e.scale(f,f)),e.translate(b.size/2,b.size/2),e.rotate((-0.5+b.rotate/180)*Math.PI);var g=(b.size-b.lineWidth)/2;b.scaleColor&&b.scaleLength&&(g-=b.scaleLength+2),Date.now=Date.now||function(){return+new Date};var h=function(a,b,c){c=Math.min(Math.max(-1,c||0),1);var d=0>=c?!0:!1;e.beginPath(),e.arc(0,0,g,0,2*Math.PI*c,d),e.strokeStyle=a,e.lineWidth=b,e.stroke()},i=function(){var a,c;e.lineWidth=1,e.fillStyle=b.scaleColor,e.save();for(var d=24;d>0;--d)d%6===0?(c=b.scaleLength,a=0):(c=.6*b.scaleLength,a=b.scaleLength-c),e.fillRect(-b.size/2+a,0,c,1),e.rotate(Math.PI/12);e.restore()},j=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(a){window.setTimeout(a,1e3/60)}}(),k=function(){b.scaleColor&&i(),b.trackColor&&h(b.trackColor,b.trackWidth||b.lineWidth,1)};this.getCanvas=function(){return d},this.getCtx=function(){return e},this.clear=function(){e.clearRect(b.size/-2,b.size/-2,b.size,b.size)},this.draw=function(a){b.scaleColor||b.trackColor?e.getImageData&&e.putImageData?c?e.putImageData(c,0,0):(k(),c=e.getImageData(0,0,b.size*f,b.size*f)):(this.clear(),k()):this.clear(),e.lineCap=b.lineCap;var d;d="function"==typeof b.barColor?b.barColor(a):b.barColor,h(d,b.lineWidth,a/100)}.bind(this),this.animate=function(a,c){var d=Date.now();b.onStart(a,c);var e=function(){var f=Math.min(Date.now()-d,b.animate.duration),g=b.easing(this,f,a,c-a,b.animate.duration);this.draw(g),b.onStep(a,c,g),f>=b.animate.duration?b.onStop(a,c):j(e)}.bind(this);j(e)}.bind(this)},c=function(a,c){var d={barColor:"#ef1e25",trackColor:"#f9f9f9",scaleColor:"#dfe0e0",scaleLength:5,lineCap:"round",lineWidth:3,trackWidth:void 0,size:110,rotate:0,animate:{duration:1e3,enabled:!0},easing:function(a,b,c,d,e){return b/=e/2,1>b?d/2*b*b+c:-d/2*(--b*(b-2)-1)+c},onStart:function(a,b){},onStep:function(a,b,c){},onStop:function(a,b){}};if("undefined"!=typeof b)d.renderer=b;else{if("undefined"==typeof SVGRenderer)throw new Error("Please load either the SVG- or the CanvasRenderer");d.renderer=SVGRenderer}var e={},f=0,g=function(){this.el=a,this.options=e;for(var b in d)d.hasOwnProperty(b)&&(e[b]=c&&"undefined"!=typeof c[b]?c[b]:d[b],"function"==typeof e[b]&&(e[b]=e[b].bind(this)));"string"==typeof e.easing&&"undefined"!=typeof jQuery&&jQuery.isFunction(jQuery.easing[e.easing])?e.easing=jQuery.easing[e.easing]:e.easing=d.easing,"number"==typeof e.animate&&(e.animate={duration:e.animate,enabled:!0}),"boolean"!=typeof e.animate||e.animate||(e.animate={duration:1e3,enabled:e.animate}),this.renderer=new e.renderer(a,e),this.renderer.draw(f),a.dataset&&a.dataset.percent?this.update(parseFloat(a.dataset.percent)):a.getAttribute&&a.getAttribute("data-percent")&&this.update(parseFloat(a.getAttribute("data-percent")))}.bind(this);this.update=function(a){return a=parseFloat(a),e.animate.enabled?this.renderer.animate(f,a):this.renderer.draw(a),f=a,this}.bind(this),this.disableAnimation=function(){return e.animate.enabled=!1,this},this.enableAnimation=function(){return e.animate.enabled=!0,this},g()};a.fn.easyPieChart=function(b){return this.each(function(){var d;a.data(this,"easyPieChart")||(d=a.extend({},b,a(this).data()),a.data(this,"easyPieChart",new c(this,d)))})}});
|
39 |
+
|
40 |
+
|
41 |
+
/***********
|
42 |
+
Animates element's number to new number with commas
|
43 |
+
Parameters:
|
44 |
+
stop (number): number to stop on
|
45 |
+
commas (boolean): turn commas on/off (default is true)
|
46 |
+
duration (number): how long in ms (default is 1000)
|
47 |
+
ease (string): type of easing (default is "swing", others are avaiable from jQuery's easing plugin
|
48 |
+
Examples:
|
49 |
+
$("#div").animateNumbers(1234, false, 500, "linear"); // half second linear without commas
|
50 |
+
$("#div").animateNumbers(1234, true, 2000); // two second swing with commas
|
51 |
+
$("#div").animateNumbers(4321); // one second swing with commas
|
52 |
+
This fully expects an element containing an integer
|
53 |
+
If the number is within copy then separate it with a span and target the span
|
54 |
+
Inserts and accounts for commas during animation by default
|
55 |
+
***********/
|
56 |
+
|
57 |
+
(function(e){e.fn.animateNumbers=function(t,n,r,i){return this.each(function(){var s=e(this);var o=parseInt(s.text().replace(/,/g,""));n=n===undefined?true:n;e({value:o}).animate({value:t},{duration:r==undefined?1e3:r,easing:i==undefined?"swing":i,step:function(){s.text(Math.floor(this.value));if(n){s.text(s.text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"))}},complete:function(){if(parseInt(s.text())!==t){s.text(t);if(n){s.text(s.text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"))}}}})})}})(jQuery);
|
assets/js/jquery.waypoints.js
ADDED
@@ -0,0 +1,662 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
Waypoints - 4.0.1
|
3 |
+
Copyright © 2011-2016 Caleb Troughton
|
4 |
+
Licensed under the MIT license.
|
5 |
+
https://github.com/imakewebthings/waypoints/blob/master/licenses.txt
|
6 |
+
*/
|
7 |
+
(function() {
|
8 |
+
'use strict'
|
9 |
+
|
10 |
+
var keyCounter = 0
|
11 |
+
var allWaypoints = {}
|
12 |
+
|
13 |
+
/* http://imakewebthings.com/waypoints/api/waypoint */
|
14 |
+
function Waypoint(options) {
|
15 |
+
if (!options) {
|
16 |
+
throw new Error('No options passed to Waypoint constructor')
|
17 |
+
}
|
18 |
+
if (!options.element) {
|
19 |
+
throw new Error('No element option passed to Waypoint constructor')
|
20 |
+
}
|
21 |
+
if (!options.handler) {
|
22 |
+
throw new Error('No handler option passed to Waypoint constructor')
|
23 |
+
}
|
24 |
+
|
25 |
+
this.key = 'waypoint-' + keyCounter
|
26 |
+
this.options = Waypoint.Adapter.extend({}, Waypoint.defaults, options)
|
27 |
+
this.element = this.options.element
|
28 |
+
this.adapter = new Waypoint.Adapter(this.element)
|
29 |
+
this.callback = options.handler
|
30 |
+
this.axis = this.options.horizontal ? 'horizontal' : 'vertical'
|
31 |
+
this.enabled = this.options.enabled
|
32 |
+
this.triggerPoint = null
|
33 |
+
this.group = Waypoint.Group.findOrCreate({
|
34 |
+
name: this.options.group,
|
35 |
+
axis: this.axis
|
36 |
+
})
|
37 |
+
this.context = Waypoint.Context.findOrCreateByElement(this.options.context)
|
38 |
+
|
39 |
+
if (Waypoint.offsetAliases[this.options.offset]) {
|
40 |
+
this.options.offset = Waypoint.offsetAliases[this.options.offset]
|
41 |
+
}
|
42 |
+
this.group.add(this)
|
43 |
+
this.context.add(this)
|
44 |
+
allWaypoints[this.key] = this
|
45 |
+
keyCounter += 1
|
46 |
+
}
|
47 |
+
|
48 |
+
/* Private */
|
49 |
+
Waypoint.prototype.queueTrigger = function(direction) {
|
50 |
+
this.group.queueTrigger(this, direction)
|
51 |
+
}
|
52 |
+
|
53 |
+
/* Private */
|
54 |
+
Waypoint.prototype.trigger = function(args) {
|
55 |
+
if (!this.enabled) {
|
56 |
+
return
|
57 |
+
}
|
58 |
+
if (this.callback) {
|
59 |
+
this.callback.apply(this, args)
|
60 |
+
}
|
61 |
+
}
|
62 |
+
|
63 |
+
/* Public */
|
64 |
+
/* http://imakewebthings.com/waypoints/api/destroy */
|
65 |
+
Waypoint.prototype.destroy = function() {
|
66 |
+
this.context.remove(this)
|
67 |
+
this.group.remove(this)
|
68 |
+
delete allWaypoints[this.key]
|
69 |
+
}
|
70 |
+
|
71 |
+
/* Public */
|
72 |
+
/* http://imakewebthings.com/waypoints/api/disable */
|
73 |
+
Waypoint.prototype.disable = function() {
|
74 |
+
this.enabled = false
|
75 |
+
return this
|
76 |
+
}
|
77 |
+
|
78 |
+
/* Public */
|
79 |
+
/* http://imakewebthings.com/waypoints/api/enable */
|
80 |
+
Waypoint.prototype.enable = function() {
|
81 |
+
this.context.refresh()
|
82 |
+
this.enabled = true
|
83 |
+
return this
|
84 |
+
}
|
85 |
+
|
86 |
+
/* Public */
|
87 |
+
/* http://imakewebthings.com/waypoints/api/next */
|
88 |
+
Waypoint.prototype.next = function() {
|
89 |
+
return this.group.next(this)
|
90 |
+
}
|
91 |
+
|
92 |
+
/* Public */
|
93 |
+
/* http://imakewebthings.com/waypoints/api/previous */
|
94 |
+
Waypoint.prototype.previous = function() {
|
95 |
+
return this.group.previous(this)
|
96 |
+
}
|
97 |
+
|
98 |
+
/* Private */
|
99 |
+
Waypoint.invokeAll = function(method) {
|
100 |
+
var allWaypointsArray = []
|
101 |
+
for (var waypointKey in allWaypoints) {
|
102 |
+
allWaypointsArray.push(allWaypoints[waypointKey])
|
103 |
+
}
|
104 |
+
for (var i = 0, end = allWaypointsArray.length; i < end; i++) {
|
105 |
+
allWaypointsArray[i][method]()
|
106 |
+
}
|
107 |
+
}
|
108 |
+
|
109 |
+
/* Public */
|
110 |
+
/* http://imakewebthings.com/waypoints/api/destroy-all */
|
111 |
+
Waypoint.destroyAll = function() {
|
112 |
+
Waypoint.invokeAll('destroy')
|
113 |
+
}
|
114 |
+
|
115 |
+
/* Public */
|
116 |
+
/* http://imakewebthings.com/waypoints/api/disable-all */
|
117 |
+
Waypoint.disableAll = function() {
|
118 |
+
Waypoint.invokeAll('disable')
|
119 |
+
}
|
120 |
+
|
121 |
+
/* Public */
|
122 |
+
/* http://imakewebthings.com/waypoints/api/enable-all */
|
123 |
+
Waypoint.enableAll = function() {
|
124 |
+
Waypoint.Context.refreshAll()
|
125 |
+
for (var waypointKey in allWaypoints) {
|
126 |
+
allWaypoints[waypointKey].enabled = true
|
127 |
+
}
|
128 |
+
return this
|
129 |
+
}
|
130 |
+
|
131 |
+
/* Public */
|
132 |
+
/* http://imakewebthings.com/waypoints/api/refresh-all */
|
133 |
+
Waypoint.refreshAll = function() {
|
134 |
+
Waypoint.Context.refreshAll()
|
135 |
+
}
|
136 |
+
|
137 |
+
/* Public */
|
138 |
+
/* http://imakewebthings.com/waypoints/api/viewport-height */
|
139 |
+
Waypoint.viewportHeight = function() {
|
140 |
+
return window.innerHeight || document.documentElement.clientHeight
|
141 |
+
}
|
142 |
+
|
143 |
+
/* Public */
|
144 |
+
/* http://imakewebthings.com/waypoints/api/viewport-width */
|
145 |
+
Waypoint.viewportWidth = function() {
|
146 |
+
return document.documentElement.clientWidth
|
147 |
+
}
|
148 |
+
|
149 |
+
Waypoint.adapters = []
|
150 |
+
|
151 |
+
Waypoint.defaults = {
|
152 |
+
context: window,
|
153 |
+
continuous: true,
|
154 |
+
enabled: true,
|
155 |
+
group: 'default',
|
156 |
+
horizontal: false,
|
157 |
+
offset: 0
|
158 |
+
}
|
159 |
+
|
160 |
+
Waypoint.offsetAliases = {
|
161 |
+
'bottom-in-view': function() {
|
162 |
+
return this.context.innerHeight() - this.adapter.outerHeight()
|
163 |
+
},
|
164 |
+
'right-in-view': function() {
|
165 |
+
return this.context.innerWidth() - this.adapter.outerWidth()
|
166 |
+
}
|
167 |
+
}
|
168 |
+
|
169 |
+
window.Waypoint = Waypoint
|
170 |
+
}())
|
171 |
+
;(function() {
|
172 |
+
'use strict'
|
173 |
+
|
174 |
+
function requestAnimationFrameShim(callback) {
|
175 |
+
window.setTimeout(callback, 1000 / 60)
|
176 |
+
}
|
177 |
+
|
178 |
+
var keyCounter = 0
|
179 |
+
var contexts = {}
|
180 |
+
var Waypoint = window.Waypoint
|
181 |
+
var oldWindowLoad = window.onload
|
182 |
+
|
183 |
+
/* http://imakewebthings.com/waypoints/api/context */
|
184 |
+
function Context(element) {
|
185 |
+
this.element = element
|
186 |
+
this.Adapter = Waypoint.Adapter
|
187 |
+
this.adapter = new this.Adapter(element)
|
188 |
+
this.key = 'waypoint-context-' + keyCounter
|
189 |
+
this.didScroll = false
|
190 |
+
this.didResize = false
|
191 |
+
this.oldScroll = {
|
192 |
+
x: this.adapter.scrollLeft(),
|
193 |
+
y: this.adapter.scrollTop()
|
194 |
+
}
|
195 |
+
this.waypoints = {
|
196 |
+
vertical: {},
|
197 |
+
horizontal: {}
|
198 |
+
}
|
199 |
+
|
200 |
+
element.waypointContextKey = this.key
|
201 |
+
contexts[element.waypointContextKey] = this
|
202 |
+
keyCounter += 1
|
203 |
+
if (!Waypoint.windowContext) {
|
204 |
+
Waypoint.windowContext = true
|
205 |
+
Waypoint.windowContext = new Context(window)
|
206 |
+
}
|
207 |
+
|
208 |
+
this.createThrottledScrollHandler()
|
209 |
+
this.createThrottledResizeHandler()
|
210 |
+
}
|
211 |
+
|
212 |
+
/* Private */
|
213 |
+
Context.prototype.add = function(waypoint) {
|
214 |
+
var axis = waypoint.options.horizontal ? 'horizontal' : 'vertical'
|
215 |
+
this.waypoints[axis][waypoint.key] = waypoint
|
216 |
+
this.refresh()
|
217 |
+
}
|
218 |
+
|
219 |
+
/* Private */
|
220 |
+
Context.prototype.checkEmpty = function() {
|
221 |
+
var horizontalEmpty = this.Adapter.isEmptyObject(this.waypoints.horizontal)
|
222 |
+
var verticalEmpty = this.Adapter.isEmptyObject(this.waypoints.vertical)
|
223 |
+
var isWindow = this.element == this.element.window
|
224 |
+
if (horizontalEmpty && verticalEmpty && !isWindow) {
|
225 |
+
this.adapter.off('.waypoints')
|
226 |
+
delete contexts[this.key]
|
227 |
+
}
|
228 |
+
}
|
229 |
+
|
230 |
+
/* Private */
|
231 |
+
Context.prototype.createThrottledResizeHandler = function() {
|
232 |
+
var self = this
|
233 |
+
|
234 |
+
function resizeHandler() {
|
235 |
+
self.handleResize()
|
236 |
+
self.didResize = false
|
237 |
+
}
|
238 |
+
|
239 |
+
this.adapter.on('resize.waypoints', function() {
|
240 |
+
if (!self.didResize) {
|
241 |
+
self.didResize = true
|
242 |
+
Waypoint.requestAnimationFrame(resizeHandler)
|
243 |
+
}
|
244 |
+
})
|
245 |
+
}
|
246 |
+
|
247 |
+
/* Private */
|
248 |
+
Context.prototype.createThrottledScrollHandler = function() {
|
249 |
+
var self = this
|
250 |
+
function scrollHandler() {
|
251 |
+
self.handleScroll()
|
252 |
+
self.didScroll = false
|
253 |
+
}
|
254 |
+
|
255 |
+
this.adapter.on('scroll.waypoints', function() {
|
256 |
+
if (!self.didScroll || Waypoint.isTouch) {
|
257 |
+
self.didScroll = true
|
258 |
+
Waypoint.requestAnimationFrame(scrollHandler)
|
259 |
+
}
|
260 |
+
})
|
261 |
+
}
|
262 |
+
|
263 |
+
/* Private */
|
264 |
+
Context.prototype.handleResize = function() {
|
265 |
+
Waypoint.Context.refreshAll()
|
266 |
+
}
|
267 |
+
|
268 |
+
/* Private */
|
269 |
+
Context.prototype.handleScroll = function() {
|
270 |
+
var triggeredGroups = {}
|
271 |
+
var axes = {
|
272 |
+
horizontal: {
|
273 |
+
newScroll: this.adapter.scrollLeft(),
|
274 |
+
oldScroll: this.oldScroll.x,
|
275 |
+
forward: 'right',
|
276 |
+
backward: 'left'
|
277 |
+
},
|
278 |
+
vertical: {
|
279 |
+
newScroll: this.adapter.scrollTop(),
|
280 |
+
oldScroll: this.oldScroll.y,
|
281 |
+
forward: 'down',
|
282 |
+
backward: 'up'
|
283 |
+
}
|
284 |
+
}
|
285 |
+
|
286 |
+
for (var axisKey in axes) {
|
287 |
+
var axis = axes[axisKey]
|
288 |
+
var isForward = axis.newScroll > axis.oldScroll
|
289 |
+
var direction = isForward ? axis.forward : axis.backward
|
290 |
+
|
291 |
+
for (var waypointKey in this.waypoints[axisKey]) {
|
292 |
+
var waypoint = this.waypoints[axisKey][waypointKey]
|
293 |
+
if (waypoint.triggerPoint === null) {
|
294 |
+
continue
|
295 |
+
}
|
296 |
+
var wasBeforeTriggerPoint = axis.oldScroll < waypoint.triggerPoint
|
297 |
+
var nowAfterTriggerPoint = axis.newScroll >= waypoint.triggerPoint
|
298 |
+
var crossedForward = wasBeforeTriggerPoint && nowAfterTriggerPoint
|
299 |
+
var crossedBackward = !wasBeforeTriggerPoint && !nowAfterTriggerPoint
|
300 |
+
if (crossedForward || crossedBackward) {
|
301 |
+
waypoint.queueTrigger(direction)
|
302 |
+
triggeredGroups[waypoint.group.id] = waypoint.group
|
303 |
+
}
|
304 |
+
}
|
305 |
+
}
|
306 |
+
|
307 |
+
for (var groupKey in triggeredGroups) {
|
308 |
+
triggeredGroups[groupKey].flushTriggers()
|
309 |
+
}
|
310 |
+
|
311 |
+
this.oldScroll = {
|
312 |
+
x: axes.horizontal.newScroll,
|
313 |
+
y: axes.vertical.newScroll
|
314 |
+
}
|
315 |
+
}
|
316 |
+
|
317 |
+
/* Private */
|
318 |
+
Context.prototype.innerHeight = function() {
|
319 |
+
/*eslint-disable eqeqeq */
|
320 |
+
if (this.element == this.element.window) {
|
321 |
+
return Waypoint.viewportHeight()
|
322 |
+
}
|
323 |
+
/*eslint-enable eqeqeq */
|
324 |
+
return this.adapter.innerHeight()
|
325 |
+
}
|
326 |
+
|
327 |
+
/* Private */
|
328 |
+
Context.prototype.remove = function(waypoint) {
|
329 |
+
delete this.waypoints[waypoint.axis][waypoint.key]
|
330 |
+
this.checkEmpty()
|
331 |
+
}
|
332 |
+
|
333 |
+
/* Private */
|
334 |
+
Context.prototype.innerWidth = function() {
|
335 |
+
/*eslint-disable eqeqeq */
|
336 |
+
if (this.element == this.element.window) {
|
337 |
+
return Waypoint.viewportWidth()
|
338 |
+
}
|
339 |
+
/*eslint-enable eqeqeq */
|
340 |
+
return this.adapter.innerWidth()
|
341 |
+
}
|
342 |
+
|
343 |
+
/* Public */
|
344 |
+
/* http://imakewebthings.com/waypoints/api/context-destroy */
|
345 |
+
Context.prototype.destroy = function() {
|
346 |
+
var allWaypoints = []
|
347 |
+
for (var axis in this.waypoints) {
|
348 |
+
for (var waypointKey in this.waypoints[axis]) {
|
349 |
+
allWaypoints.push(this.waypoints[axis][waypointKey])
|
350 |
+
}
|
351 |
+
}
|
352 |
+
for (var i = 0, end = allWaypoints.length; i < end; i++) {
|
353 |
+
allWaypoints[i].destroy()
|
354 |
+
}
|
355 |
+
}
|
356 |
+
|
357 |
+
/* Public */
|
358 |
+
/* http://imakewebthings.com/waypoints/api/context-refresh */
|
359 |
+
Context.prototype.refresh = function() {
|
360 |
+
/*eslint-disable eqeqeq */
|
361 |
+
var isWindow = this.element == this.element.window
|
362 |
+
/*eslint-enable eqeqeq */
|
363 |
+
var contextOffset = isWindow ? undefined : this.adapter.offset()
|
364 |
+
var triggeredGroups = {}
|
365 |
+
var axes
|
366 |
+
|
367 |
+
this.handleScroll()
|
368 |
+
axes = {
|
369 |
+
horizontal: {
|
370 |
+
contextOffset: isWindow ? 0 : contextOffset.left,
|
371 |
+
contextScroll: isWindow ? 0 : this.oldScroll.x,
|
372 |
+
contextDimension: this.innerWidth(),
|
373 |
+
oldScroll: this.oldScroll.x,
|
374 |
+
forward: 'right',
|
375 |
+
backward: 'left',
|
376 |
+
offsetProp: 'left'
|
377 |
+
},
|
378 |
+
vertical: {
|
379 |
+
contextOffset: isWindow ? 0 : contextOffset.top,
|
380 |
+
contextScroll: isWindow ? 0 : this.oldScroll.y,
|
381 |
+
contextDimension: this.innerHeight(),
|
382 |
+
oldScroll: this.oldScroll.y,
|
383 |
+
forward: 'down',
|
384 |
+
backward: 'up',
|
385 |
+
offsetProp: 'top'
|
386 |
+
}
|
387 |
+
}
|
388 |
+
|
389 |
+
for (var axisKey in axes) {
|
390 |
+
var axis = axes[axisKey]
|
391 |
+
for (var waypointKey in this.waypoints[axisKey]) {
|
392 |
+
var waypoint = this.waypoints[axisKey][waypointKey]
|
393 |
+
var adjustment = waypoint.options.offset
|
394 |
+
var oldTriggerPoint = waypoint.triggerPoint
|
395 |
+
var elementOffset = 0
|
396 |
+
var freshWaypoint = oldTriggerPoint == null
|
397 |
+
var contextModifier, wasBeforeScroll, nowAfterScroll
|
398 |
+
var triggeredBackward, triggeredForward
|
399 |
+
|
400 |
+
if (waypoint.element !== waypoint.element.window) {
|
401 |
+
elementOffset = waypoint.adapter.offset()[axis.offsetProp]
|
402 |
+
}
|
403 |
+
|
404 |
+
if (typeof adjustment === 'function') {
|
405 |
+
adjustment = adjustment.apply(waypoint)
|
406 |
+
}
|
407 |
+
else if (typeof adjustment === 'string') {
|
408 |
+
adjustment = parseFloat(adjustment)
|
409 |
+
if (waypoint.options.offset.indexOf('%') > - 1) {
|
410 |
+
adjustment = Math.ceil(axis.contextDimension * adjustment / 100)
|
411 |
+
}
|
412 |
+
}
|
413 |
+
|
414 |
+
contextModifier = axis.contextScroll - axis.contextOffset
|
415 |
+
waypoint.triggerPoint = Math.floor(elementOffset + contextModifier - adjustment)
|
416 |
+
wasBeforeScroll = oldTriggerPoint < axis.oldScroll
|
417 |
+
nowAfterScroll = waypoint.triggerPoint >= axis.oldScroll
|
418 |
+
triggeredBackward = wasBeforeScroll && nowAfterScroll
|
419 |
+
triggeredForward = !wasBeforeScroll && !nowAfterScroll
|
420 |
+
|
421 |
+
if (!freshWaypoint && triggeredBackward) {
|
422 |
+
waypoint.queueTrigger(axis.backward)
|
423 |
+
triggeredGroups[waypoint.group.id] = waypoint.group
|
424 |
+
}
|
425 |
+
else if (!freshWaypoint && triggeredForward) {
|
426 |
+
waypoint.queueTrigger(axis.forward)
|
427 |
+
triggeredGroups[waypoint.group.id] = waypoint.group
|
428 |
+
}
|
429 |
+
else if (freshWaypoint && axis.oldScroll >= waypoint.triggerPoint) {
|
430 |
+
waypoint.queueTrigger(axis.forward)
|
431 |
+
triggeredGroups[waypoint.group.id] = waypoint.group
|
432 |
+
}
|
433 |
+
}
|
434 |
+
}
|
435 |
+
|
436 |
+
Waypoint.requestAnimationFrame(function() {
|
437 |
+
for (var groupKey in triggeredGroups) {
|
438 |
+
triggeredGroups[groupKey].flushTriggers()
|
439 |
+
}
|
440 |
+
})
|
441 |
+
|
442 |
+
return this
|
443 |
+
}
|
444 |
+
|
445 |
+
/* Private */
|
446 |
+
Context.findOrCreateByElement = function(element) {
|
447 |
+
return Context.findByElement(element) || new Context(element)
|
448 |
+
}
|
449 |
+
|
450 |
+
/* Private */
|
451 |
+
Context.refreshAll = function() {
|
452 |
+
for (var contextId in contexts) {
|
453 |
+
contexts[contextId].refresh()
|
454 |
+
}
|
455 |
+
}
|
456 |
+
|
457 |
+
/* Public */
|
458 |
+
/* http://imakewebthings.com/waypoints/api/context-find-by-element */
|
459 |
+
Context.findByElement = function(element) {
|
460 |
+
return contexts[element.waypointContextKey]
|
461 |
+
}
|
462 |
+
|
463 |
+
window.onload = function() {
|
464 |
+
if (oldWindowLoad) {
|
465 |
+
oldWindowLoad()
|
466 |
+
}
|
467 |
+
Context.refreshAll()
|
468 |
+
}
|
469 |
+
|
470 |
+
|
471 |
+
Waypoint.requestAnimationFrame = function(callback) {
|
472 |
+
var requestFn = window.requestAnimationFrame ||
|
473 |
+
window.mozRequestAnimationFrame ||
|
474 |
+
window.webkitRequestAnimationFrame ||
|
475 |
+
requestAnimationFrameShim
|
476 |
+
requestFn.call(window, callback)
|
477 |
+
}
|
478 |
+
Waypoint.Context = Context
|
479 |
+
}())
|
480 |
+
;(function() {
|
481 |
+
'use strict'
|
482 |
+
|
483 |
+
function byTriggerPoint(a, b) {
|
484 |
+
return a.triggerPoint - b.triggerPoint
|
485 |
+
}
|
486 |
+
|
487 |
+
function byReverseTriggerPoint(a, b) {
|
488 |
+
return b.triggerPoint - a.triggerPoint
|
489 |
+
}
|
490 |
+
|
491 |
+
var groups = {
|
492 |
+
vertical: {},
|
493 |
+
horizontal: {}
|
494 |
+
}
|
495 |
+
var Waypoint = window.Waypoint
|
496 |
+
|
497 |
+
/* http://imakewebthings.com/waypoints/api/group */
|
498 |
+
function Group(options) {
|
499 |
+
this.name = options.name
|
500 |
+
this.axis = options.axis
|
501 |
+
this.id = this.name + '-' + this.axis
|
502 |
+
this.waypoints = []
|
503 |
+
this.clearTriggerQueues()
|
504 |
+
groups[this.axis][this.name] = this
|
505 |
+
}
|
506 |
+
|
507 |
+
/* Private */
|
508 |
+
Group.prototype.add = function(waypoint) {
|
509 |
+
this.waypoints.push(waypoint)
|
510 |
+
}
|
511 |
+
|
512 |
+
/* Private */
|
513 |
+
Group.prototype.clearTriggerQueues = function() {
|
514 |
+
this.triggerQueues = {
|
515 |
+
up: [],
|
516 |
+
down: [],
|
517 |
+
left: [],
|
518 |
+
right: []
|
519 |
+
}
|
520 |
+
}
|
521 |
+
|
522 |
+
/* Private */
|
523 |
+
Group.prototype.flushTriggers = function() {
|
524 |
+
for (var direction in this.triggerQueues) {
|
525 |
+
var waypoints = this.triggerQueues[direction]
|
526 |
+
var reverse = direction === 'up' || direction === 'left'
|
527 |
+
waypoints.sort(reverse ? byReverseTriggerPoint : byTriggerPoint)
|
528 |
+
for (var i = 0, end = waypoints.length; i < end; i += 1) {
|
529 |
+
var waypoint = waypoints[i]
|
530 |
+
if (waypoint.options.continuous || i === waypoints.length - 1) {
|
531 |
+
waypoint.trigger([direction])
|
532 |
+
}
|
533 |
+
}
|
534 |
+
}
|
535 |
+
this.clearTriggerQueues()
|
536 |
+
}
|
537 |
+
|
538 |
+
/* Private */
|
539 |
+
Group.prototype.next = function(waypoint) {
|
540 |
+
this.waypoints.sort(byTriggerPoint)
|
541 |
+
var index = Waypoint.Adapter.inArray(waypoint, this.waypoints)
|
542 |
+
var isLast = index === this.waypoints.length - 1
|
543 |
+
return isLast ? null : this.waypoints[index + 1]
|
544 |
+
}
|
545 |
+
|
546 |
+
/* Private */
|
547 |
+
Group.prototype.previous = function(waypoint) {
|
548 |
+
this.waypoints.sort(byTriggerPoint)
|
549 |
+
var index = Waypoint.Adapter.inArray(waypoint, this.waypoints)
|
550 |
+
return index ? this.waypoints[index - 1] : null
|
551 |
+
}
|
552 |
+
|
553 |
+
/* Private */
|
554 |
+
Group.prototype.queueTrigger = function(waypoint, direction) {
|
555 |
+
this.triggerQueues[direction].push(waypoint)
|
556 |
+
}
|
557 |
+
|
558 |
+
/* Private */
|
559 |
+
Group.prototype.remove = function(waypoint) {
|
560 |
+
var index = Waypoint.Adapter.inArray(waypoint, this.waypoints)
|
561 |
+
if (index > -1) {
|
562 |
+
this.waypoints.splice(index, 1)
|
563 |
+
}
|
564 |
+
}
|
565 |
+
|
566 |
+
/* Public */
|
567 |
+
/* http://imakewebthings.com/waypoints/api/first */
|
568 |
+
Group.prototype.first = function() {
|
569 |
+
return this.waypoints[0]
|
570 |
+
}
|
571 |
+
|
572 |
+
/* Public */
|
573 |
+
/* http://imakewebthings.com/waypoints/api/last */
|
574 |
+
Group.prototype.last = function() {
|
575 |
+
return this.waypoints[this.waypoints.length - 1]
|
576 |
+
}
|
577 |
+
|
578 |
+
/* Private */
|
579 |
+
Group.findOrCreate = function(options) {
|
580 |
+
return groups[options.axis][options.name] || new Group(options)
|
581 |
+
}
|
582 |
+
|
583 |
+
Waypoint.Group = Group
|
584 |
+
}())
|
585 |
+
;(function() {
|
586 |
+
'use strict'
|
587 |
+
|
588 |
+
var $ = window.jQuery
|
589 |
+
var Waypoint = window.Waypoint
|
590 |
+
|
591 |
+
function JQueryAdapter(element) {
|
592 |
+
this.$element = $(element)
|
593 |
+
}
|
594 |
+
|
595 |
+
$.each([
|
596 |
+
'innerHeight',
|
597 |
+
'innerWidth',
|
598 |
+
'off',
|
599 |
+
'offset',
|
600 |
+
'on',
|
601 |
+
'outerHeight',
|
602 |
+
'outerWidth',
|
603 |
+
'scrollLeft',
|
604 |
+
'scrollTop'
|
605 |
+
], function(i, method) {
|
606 |
+
JQueryAdapter.prototype[method] = function() {
|
607 |
+
var args = Array.prototype.slice.call(arguments)
|
608 |
+
return this.$element[method].apply(this.$element, args)
|
609 |
+
}
|
610 |
+
})
|
611 |
+
|
612 |
+
$.each([
|
613 |
+
'extend',
|
614 |
+
'inArray',
|
615 |
+
'isEmptyObject'
|
616 |
+
], function(i, method) {
|
617 |
+
JQueryAdapter[method] = $[method]
|
618 |
+
})
|
619 |
+
|
620 |
+
Waypoint.adapters.push({
|
621 |
+
name: 'jquery',
|
622 |
+
Adapter: JQueryAdapter
|
623 |
+
})
|
624 |
+
Waypoint.Adapter = JQueryAdapter
|
625 |
+
}())
|
626 |
+
;(function() {
|
627 |
+
'use strict'
|
628 |
+
|
629 |
+
var Waypoint = window.Waypoint
|
630 |
+
|
631 |
+
function createExtension(framework) {
|
632 |
+
return function() {
|
633 |
+
var waypoints = []
|
634 |
+
var overrides = arguments[0]
|
635 |
+
|
636 |
+
if (framework.isFunction(arguments[0])) {
|
637 |
+
overrides = framework.extend({}, arguments[1])
|
638 |
+
overrides.handler = arguments[0]
|
639 |
+
}
|
640 |
+
|
641 |
+
this.each(function() {
|
642 |
+
var options = framework.extend({}, overrides, {
|
643 |
+
element: this
|
644 |
+
})
|
645 |
+
if (typeof options.context === 'string') {
|
646 |
+
options.context = framework(this).closest(options.context)[0]
|
647 |
+
}
|
648 |
+
waypoints.push(new Waypoint(options))
|
649 |
+
})
|
650 |
+
|
651 |
+
return waypoints
|
652 |
+
}
|
653 |
+
}
|
654 |
+
|
655 |
+
if (window.jQuery) {
|
656 |
+
window.jQuery.fn.livemeshWaypoint = createExtension(window.jQuery)
|
657 |
+
}
|
658 |
+
if (window.Zepto) {
|
659 |
+
window.Zepto.fn.livemeshWaypoint = createExtension(window.Zepto)
|
660 |
+
}
|
661 |
+
}())
|
662 |
+
;
|
assets/js/jquery.waypoints.min.js
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
Waypoints - 4.0.1
|
3 |
+
Copyright © 2011-2016 Caleb Troughton
|
4 |
+
Licensed under the MIT license.
|
5 |
+
https://github.com/imakewebthings/waypoints/blob/master/licenses.txt
|
6 |
+
*/
|
7 |
+
!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.Context.refreshAll();for(var e in i)i[e].enabled=!0;return this},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,n.windowContext||(n.windowContext=!0,n.windowContext=new e(window)),this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical),i=this.element==this.element.window;t&&e&&!i&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s];if(null!==a.triggerPoint){var l=o.oldScroll<a.triggerPoint,h=o.newScroll>=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=Math.floor(y+l-f),h=w<s.oldScroll,p=d.triggerPoint>=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],right:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.$element=e(t)}var e=window.jQuery,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.$element[i].apply(this.$element,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;window.jQuery&&(window.jQuery.fn.livemeshWaypoint=t(window.jQuery)),window.Zepto&&(window.Zepto.fn.livemeshWaypoint=t(window.Zepto))}();
|
assets/js/lvca-frontend.js
ADDED
@@ -0,0 +1,153 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Reviews JS
|
3 |
+
*/
|
4 |
+
if (typeof (jQuery) != 'undefined') {
|
5 |
+
|
6 |
+
(function ($) {
|
7 |
+
"use strict";
|
8 |
+
|
9 |
+
$(function () {
|
10 |
+
|
11 |
+
|
12 |
+
var LVCA_Frontend = {
|
13 |
+
|
14 |
+
init: function () {
|
15 |
+
this.carousel();
|
16 |
+
this.output_custom_css();
|
17 |
+
this.setup_animations();
|
18 |
+
},
|
19 |
+
|
20 |
+
isMobile: function () {
|
21 |
+
"use strict";
|
22 |
+
if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
|
23 |
+
return true;
|
24 |
+
}
|
25 |
+
return false;
|
26 |
+
},
|
27 |
+
|
28 |
+
vendor_prefix: function () {
|
29 |
+
|
30 |
+
var prefix;
|
31 |
+
|
32 |
+
function prefix() {
|
33 |
+
var styles = window.getComputedStyle(document.documentElement, '');
|
34 |
+
prefix = (Array.prototype.slice.call(styles).join('').match(/-(moz|webkit|ms)-/) || (styles.OLink === '' && ['', 'o']))[1];
|
35 |
+
|
36 |
+
return prefix;
|
37 |
+
}
|
38 |
+
|
39 |
+
prefix();
|
40 |
+
|
41 |
+
return prefix;
|
42 |
+
},
|
43 |
+
|
44 |
+
output_custom_css: function () {
|
45 |
+
|
46 |
+
var custom_css = lvca_settings['custom_css'];
|
47 |
+
if (custom_css !== undefined && custom_css !== '') {
|
48 |
+
custom_css = '<style type="text/css">' + custom_css + '</style>';
|
49 |
+
$('head').append(custom_css);
|
50 |
+
}
|
51 |
+
},
|
52 |
+
|
53 |
+
setup_animations: function () {
|
54 |
+
|
55 |
+
/* Hide the elements if required to prepare for animation */
|
56 |
+
$(".lvca-visible-on-scroll:not(.animated)").css('opacity', 0);
|
57 |
+
|
58 |
+
"function" != typeof window.lvca_animate_widgets && (window.lvca_animate_widgets = function () {
|
59 |
+
"undefined" != typeof $.fn.livemeshWaypoint && $(".lvca-animate-on-scroll:not(.animated)").livemeshWaypoint(function () {
|
60 |
+
var animateClass = $(this.element).data("animation");
|
61 |
+
$(this.element).addClass("animated " + animateClass).css('opacity', 1);
|
62 |
+
}, {
|
63 |
+
offset: "85%"
|
64 |
+
})
|
65 |
+
});
|
66 |
+
|
67 |
+
window.setTimeout(lvca_animate_widgets, 500)
|
68 |
+
},
|
69 |
+
|
70 |
+
carousel: function () {
|
71 |
+
|
72 |
+
if ($().slick === undefined) {
|
73 |
+
return;
|
74 |
+
}
|
75 |
+
|
76 |
+
var carousel_elements = $('.lvca-carousel, .lvca-posts-carousel, .lvca-gallery-carousel');
|
77 |
+
|
78 |
+
carousel_elements.each(function () {
|
79 |
+
|
80 |
+
var carousel_elem = $(this);
|
81 |
+
|
82 |
+
var settings = carousel_elem.data('settings');
|
83 |
+
|
84 |
+
var arrows = settings['arrows'] ? true : false;
|
85 |
+
|
86 |
+
var dots = settings['dots'] ? true : false;
|
87 |
+
|
88 |
+
var autoplay = settings['autoplay'] ? true : false;
|
89 |
+
|
90 |
+
var autoplay_speed = parseInt(settings['autoplay_speed']) || 3000;
|
91 |
+
|
92 |
+
var animation_speed = parseInt(settings['animation_speed']) || 300;
|
93 |
+
|
94 |
+
var fade = settings['fade'] ? true : false;
|
95 |
+
|
96 |
+
var pause_on_hover = settings['pause_on_hover'] ? true : false;
|
97 |
+
|
98 |
+
var display_columns = parseInt(settings['display_columns']) || 4;
|
99 |
+
|
100 |
+
var scroll_columns = parseInt(settings['scroll_columns']) || 4;
|
101 |
+
|
102 |
+
var tablet_width = parseInt(settings['tablet_width']) || 800;
|
103 |
+
|
104 |
+
var tablet_display_columns = parseInt(settings['tablet_display_columns']) || 2;
|
105 |
+
|
106 |
+
var tablet_scroll_columns = parseInt(settings['tablet_scroll_columns']) || 2;
|
107 |
+
|
108 |
+
var mobile_width = parseInt(settings['mobile_width']) || 480;
|
109 |
+
|
110 |
+
var mobile_display_columns = parseInt(settings['mobile_display_columns']) || 1;
|
111 |
+
|
112 |
+
var mobile_scroll_columns = parseInt(settings['mobile_scroll_columns']) || 1;
|
113 |
+
|
114 |
+
carousel_elem.slick({
|
115 |
+
arrows: arrows,
|
116 |
+
dots: dots,
|
117 |
+
infinite: true,
|
118 |
+
autoplay: autoplay,
|
119 |
+
autoplaySpeed: autoplay_speed,
|
120 |
+
speed: animation_speed,
|
121 |
+
fade: false,
|
122 |
+
pauseOnHover: pause_on_hover,
|
123 |
+
slidesToShow: display_columns,
|
124 |
+
slidesToScroll: scroll_columns,
|
125 |
+
responsive: [
|
126 |
+
{
|
127 |
+
breakpoint: tablet_width,
|
128 |
+
settings: {
|
129 |
+
slidesToShow: tablet_display_columns,
|
130 |
+
slidesToScroll: tablet_scroll_columns
|
131 |
+
}
|
132 |
+
},
|
133 |
+
{
|
134 |
+
breakpoint: mobile_width,
|
135 |
+
settings: {
|
136 |
+
slidesToShow: mobile_display_columns,
|
137 |
+
slidesToScroll: mobile_scroll_columns
|
138 |
+
}
|
139 |
+
}
|
140 |
+
]
|
141 |
+
});
|
142 |
+
});
|
143 |
+
}
|
144 |
+
|
145 |
+
}
|
146 |
+
|
147 |
+
LVCA_Frontend.init();
|
148 |
+
|
149 |
+
});
|
150 |
+
|
151 |
+
}(jQuery));
|
152 |
+
|
153 |
+
}
|
assets/js/lvca-frontend.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
if(typeof jQuery!="undefined"){(function($){"use strict";$(function(){var LVCA_Frontend={init:function(){this.carousel();this.output_custom_css();this.setup_animations()},isMobile:function(){"use strict";if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){return true}return false},vendor_prefix:function(){var prefix;function prefix(){var styles=window.getComputedStyle(document.documentElement,"");prefix=(Array.prototype.slice.call(styles).join("").match(/-(moz|webkit|ms)-/)||styles.OLink===""&&["","o"])[1];return prefix}prefix();return prefix},output_custom_css:function(){var custom_css=lvca_settings["custom_css"];if(custom_css!==undefined&&custom_css!==""){custom_css='<style type="text/css">'+custom_css+"</style>";$("head").append(custom_css)}},setup_animations:function(){$(".lvca-visible-on-scroll:not(.animated)").css("opacity",0);"function"!=typeof window.lvca_animate_widgets&&(window.lvca_animate_widgets=function(){"undefined"!=typeof $.fn.livemeshWaypoint&&$(".lvca-animate-on-scroll:not(.animated)").livemeshWaypoint(function(){var animateClass=$(this.element).data("animation");$(this.element).addClass("animated "+animateClass).css("opacity",1)},{offset:"85%"})});window.setTimeout(lvca_animate_widgets,500)},carousel:function(){if($().slick===undefined){return}var carousel_elements=$(".lvca-carousel, .lvca-posts-carousel, .lvca-gallery-carousel");carousel_elements.each(function(){var carousel_elem=$(this);var settings=carousel_elem.data("settings");var arrows=settings["arrows"]?true:false;var dots=settings["dots"]?true:false;var autoplay=settings["autoplay"]?true:false;var autoplay_speed=parseInt(settings["autoplay_speed"])||3e3;var animation_speed=parseInt(settings["animation_speed"])||300;var fade=settings["fade"]?true:false;var pause_on_hover=settings["pause_on_hover"]?true:false;var display_columns=parseInt(settings["display_columns"])||4;var scroll_columns=parseInt(settings["scroll_columns"])||4;var tablet_width=parseInt(settings["tablet_width"])||800;var tablet_display_columns=parseInt(settings["tablet_display_columns"])||2;var tablet_scroll_columns=parseInt(settings["tablet_scroll_columns"])||2;var mobile_width=parseInt(settings["mobile_width"])||480;var mobile_display_columns=parseInt(settings["mobile_display_columns"])||1;var mobile_scroll_columns=parseInt(settings["mobile_scroll_columns"])||1;carousel_elem.slick({arrows:arrows,dots:dots,infinite:true,autoplay:autoplay,autoplaySpeed:autoplay_speed,speed:animation_speed,fade:false,pauseOnHover:pause_on_hover,slidesToShow:display_columns,slidesToScroll:scroll_columns,responsive:[{breakpoint:tablet_width,settings:{slidesToShow:tablet_display_columns,slidesToScroll:tablet_scroll_columns}},{breakpoint:mobile_width,settings:{slidesToShow:mobile_display_columns,slidesToScroll:mobile_scroll_columns}}]})})}};LVCA_Frontend.init()})})(jQuery)}
|
assets/js/modernizr-custom.js
ADDED
@@ -0,0 +1,1384 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* modernizr v3.3.1
|
3 |
+
* Build http://modernizr.com/download?-csstransforms-csstransforms3d-flexbox-flexboxlegacy-touchevents-setclasses-shiv-dontmin-cssclassprefix:lvca-
|
4 |
+
*
|
5 |
+
* Copyright (c)
|
6 |
+
* Faruk Ates
|
7 |
+
* Paul Irish
|
8 |
+
* Alex Sexton
|
9 |
+
* Ryan Seddon
|
10 |
+
* Patrick Kettner
|
11 |
+
* Stu Cox
|
12 |
+
* Richard Herrera
|
13 |
+
|
14 |
+
* MIT License
|
15 |
+
*/
|
16 |
+
|
17 |
+
/*
|
18 |
+
* Modernizr tests which native CSS3 and HTML5 features are available in the
|
19 |
+
* current UA and makes the results available to you in two ways: as properties on
|
20 |
+
* a global `Modernizr` object, and as classes on the `<html>` element. This
|
21 |
+
* information allows you to progressively enhance your pages with a granular level
|
22 |
+
* of control over the experience.
|
23 |
+
*/
|
24 |
+
|
25 |
+
;(function(window, document, undefined){
|
26 |
+
var classes = [];
|
27 |
+
|
28 |
+
|
29 |
+
var tests = [];
|
30 |
+
|
31 |
+
|
32 |
+
/**
|
33 |
+
*
|
34 |
+
* ModernizrProto is the constructor for Modernizr
|
35 |
+
*
|
36 |
+
* @class
|
37 |
+
* @access public
|
38 |
+
*/
|
39 |
+
|
40 |
+
var ModernizrProto = {
|
41 |
+
// The current version, dummy
|
42 |
+
_version: '3.3.1',
|
43 |
+
|
44 |
+
// Any settings that don't work as separate modules
|
45 |
+
// can go in here as configuration.
|
46 |
+
_config: {
|
47 |
+
'classPrefix': "lvca-",
|
48 |
+
'enableClasses': true,
|
49 |
+
'enableJSClass': true,
|
50 |
+
'usePrefixes': true
|
51 |
+
},
|
52 |
+
|
53 |
+
// Queue of tests
|
54 |
+
_q: [],
|
55 |
+
|
56 |
+
// Stub these for people who are listening
|
57 |
+
on: function(test, cb) {
|
58 |
+
// I don't really think people should do this, but we can
|
59 |
+
// safe guard it a bit.
|
60 |
+
// -- NOTE:: this gets WAY overridden in src/addTest for actual async tests.
|
61 |
+
// This is in case people listen to synchronous tests. I would leave it out,
|
62 |
+
// but the code to *disallow* sync tests in the real version of this
|
63 |
+
// function is actually larger than this.
|
64 |
+
var self = this;
|
65 |
+
setTimeout(function() {
|
66 |
+
cb(self[test]);
|
67 |
+
}, 0);
|
68 |
+
},
|
69 |
+
|
70 |
+
addTest: function(name, fn, options) {
|
71 |
+
tests.push({name: name, fn: fn, options: options});
|
72 |
+
},
|
73 |
+
|
74 |
+
addAsyncTest: function(fn) {
|
75 |
+
tests.push({name: null, fn: fn});
|
76 |
+
}
|
77 |
+
};
|
78 |
+
|
79 |
+
|
80 |
+
|
81 |
+
// Fake some of Object.create so we can force non test results to be non "own" properties.
|
82 |
+
var Modernizr = function() {};
|
83 |
+
Modernizr.prototype = ModernizrProto;
|
84 |
+
|
85 |
+
// Leak modernizr globally when you `require` it rather than force it here.
|
86 |
+
// Overwrite name so constructor name is nicer :D
|
87 |
+
Modernizr = new Modernizr();
|
88 |
+
|
89 |
+
|
90 |
+
|
91 |
+
/**
|
92 |
+
* is returns a boolean if the typeof an obj is exactly type.
|
93 |
+
*
|
94 |
+
* @access private
|
95 |
+
* @function is
|
96 |
+
* @param {*} obj - A thing we want to check the type of
|
97 |
+
* @param {string} type - A string to compare the typeof against
|
98 |
+
* @returns {boolean}
|
99 |
+
*/
|
100 |
+
|
101 |
+
function is(obj, type) {
|
102 |
+
return typeof obj === type;
|
103 |
+
}
|
104 |
+
;
|
105 |
+
|
106 |
+
/**
|
107 |
+
* Run through all tests and detect their support in the current UA.
|
108 |
+
*
|
109 |
+
* @access private
|
110 |
+
*/
|
111 |
+
|
112 |
+
function testRunner() {
|
113 |
+
var featureNames;
|
114 |
+
var feature;
|
115 |
+
var aliasIdx;
|
116 |
+
var result;
|
117 |
+
var nameIdx;
|
118 |
+
var featureName;
|
119 |
+
var featureNameSplit;
|
120 |
+
|
121 |
+
for (var featureIdx in tests) {
|
122 |
+
if (tests.hasOwnProperty(featureIdx)) {
|
123 |
+
featureNames = [];
|
124 |
+
feature = tests[featureIdx];
|
125 |
+
// run the test, throw the return value into the Modernizr,
|
126 |
+
// then based on that boolean, define an appropriate className
|
127 |
+
// and push it into an array of classes we'll join later.
|
128 |
+
//
|
129 |
+
// If there is no name, it's an 'async' test that is run,
|
130 |
+
// but not directly added to the object. That should
|
131 |
+
// be done with a post-run addTest call.
|
132 |
+
if (feature.name) {
|
133 |
+
featureNames.push(feature.name.toLowerCase());
|
134 |
+
|
135 |
+
if (feature.options && feature.options.aliases && feature.options.aliases.length) {
|
136 |
+
// Add all the aliases into the names list
|
137 |
+
for (aliasIdx = 0; aliasIdx < feature.options.aliases.length; aliasIdx++) {
|
138 |
+
featureNames.push(feature.options.aliases[aliasIdx].toLowerCase());
|
139 |
+
}
|
140 |
+
}
|
141 |
+
}
|
142 |
+
|
143 |
+
// Run the test, or use the raw value if it's not a function
|
144 |
+
result = is(feature.fn, 'function') ? feature.fn() : feature.fn;
|
145 |
+
|
146 |
+
|
147 |
+
// Set each of the names on the Modernizr object
|
148 |
+
for (nameIdx = 0; nameIdx < featureNames.length; nameIdx++) {
|
149 |
+
featureName = featureNames[nameIdx];
|
150 |
+
// Support dot properties as sub tests. We don't do checking to make sure
|
151 |
+
// that the implied parent tests have been added. You must call them in
|
152 |
+
// order (either in the test, or make the parent test a dependency).
|
153 |
+
//
|
154 |
+
// Cap it to TWO to make the logic simple and because who needs that kind of subtesting
|
155 |
+
// hashtag famous last words
|
156 |
+
featureNameSplit = featureName.split('.');
|
157 |
+
|
158 |
+
if (featureNameSplit.length === 1) {
|
159 |
+
Modernizr[featureNameSplit[0]] = result;
|
160 |
+
} else {
|
161 |
+
// cast to a Boolean, if not one already
|
162 |
+
/* jshint -W053 */
|
163 |
+
if (Modernizr[featureNameSplit[0]] && !(Modernizr[featureNameSplit[0]] instanceof Boolean)) {
|
164 |
+
Modernizr[featureNameSplit[0]] = new Boolean(Modernizr[featureNameSplit[0]]);
|
165 |
+
}
|
166 |
+
|
167 |
+
Modernizr[featureNameSplit[0]][featureNameSplit[1]] = result;
|
168 |
+
}
|
169 |
+
|
170 |
+
classes.push((result ? '' : 'no-') + featureNameSplit.join('-'));
|
171 |
+
}
|
172 |
+
}
|
173 |
+
}
|
174 |
+
}
|
175 |
+
;
|
176 |
+
|
177 |
+
/**
|
178 |
+
* docElement is a convenience wrapper to grab the root element of the document
|
179 |
+
*
|
180 |
+
* @access private
|
181 |
+
* @returns {HTMLElement|SVGElement} The root element of the document
|
182 |
+
*/
|
183 |
+
|
184 |
+
var docElement = document.documentElement;
|
185 |
+
|
186 |
+
|
187 |
+
/**
|
188 |
+
* A convenience helper to check if the document we are running in is an SVG document
|
189 |
+
*
|
190 |
+
* @access private
|
191 |
+
* @returns {boolean}
|
192 |
+
*/
|
193 |
+
|
194 |
+
var isSVG = docElement.nodeName.toLowerCase() === 'svg';
|
195 |
+
|
196 |
+
|
197 |
+
/**
|
198 |
+
* setClasses takes an array of class names and adds them to the root element
|
199 |
+
*
|
200 |
+
* @access private
|
201 |
+
* @function setClasses
|
202 |
+
* @param {string[]} classes - Array of class names
|
203 |
+
*/
|
204 |
+
|
205 |
+
// Pass in an and array of class names, e.g.:
|
206 |
+
// ['no-webp', 'borderradius', ...]
|
207 |
+
function setClasses(classes) {
|
208 |
+
var className = docElement.className;
|
209 |
+
var classPrefix = Modernizr._config.classPrefix || '';
|
210 |
+
|
211 |
+
if (isSVG) {
|
212 |
+
className = className.baseVal;
|
213 |
+
}
|
214 |
+
|
215 |
+
// Change `no-js` to `js` (independently of the `enableClasses` option)
|
216 |
+
// Handle classPrefix on this too
|
217 |
+
if (Modernizr._config.enableJSClass) {
|
218 |
+
var reJS = new RegExp('(^|\\s)' + classPrefix + 'no-js(\\s|$)');
|
219 |
+
className = className.replace(reJS, '$1' + classPrefix + 'js$2');
|
220 |
+
}
|
221 |
+
|
222 |
+
if (Modernizr._config.enableClasses) {
|
223 |
+
// Add the new classes
|
224 |
+
className += ' ' + classPrefix + classes.join(' ' + classPrefix);
|
225 |
+
isSVG ? docElement.className.baseVal = className : docElement.className = className;
|
226 |
+
}
|
227 |
+
|
228 |
+
}
|
229 |
+
|
230 |
+
;
|
231 |
+
|
232 |
+
/**
|
233 |
+
* @optionName html5shiv
|
234 |
+
* @optionProp html5shiv
|
235 |
+
*/
|
236 |
+
|
237 |
+
// Take the html5 variable out of the html5shiv scope so we can return it.
|
238 |
+
var html5;
|
239 |
+
if (!isSVG) {
|
240 |
+
/**
|
241 |
+
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
242 |
+
*/
|
243 |
+
;(function(window, document) {
|
244 |
+
/*jshint evil:true */
|
245 |
+
/** version */
|
246 |
+
var version = '3.7.3';
|
247 |
+
|
248 |
+
/** Preset options */
|
249 |
+
var options = window.html5 || {};
|
250 |
+
|
251 |
+
/** Used to skip problem elements */
|
252 |
+
var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
|
253 |
+
|
254 |
+
/** Not all elements can be cloned in IE **/
|
255 |
+
var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
|
256 |
+
|
257 |
+
/** Detect whether the browser supports default html5 styles */
|
258 |
+
var supportsHtml5Styles;
|
259 |
+
|
260 |
+
/** Name of the expando, to work with multiple documents or to re-shiv one document */
|
261 |
+
var expando = '_html5shiv';
|
262 |
+
|
263 |
+
/** The id for the the documents expando */
|
264 |
+
var expanID = 0;
|
265 |
+
|
266 |
+
/** Cached data for each document */
|
267 |
+
var expandoData = {};
|
268 |
+
|
269 |
+
/** Detect whether the browser supports unknown elements */
|
270 |
+
var supportsUnknownElements;
|
271 |
+
|
272 |
+
(function() {
|
273 |
+
try {
|
274 |
+
var a = document.createElement('a');
|
275 |
+
a.innerHTML = '<xyz></xyz>';
|
276 |
+
//if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
|
277 |
+
supportsHtml5Styles = ('hidden' in a);
|
278 |
+
|
279 |
+
supportsUnknownElements = a.childNodes.length == 1 || (function() {
|
280 |
+
// assign a false positive if unable to shiv
|
281 |
+
(document.createElement)('a');
|
282 |
+
var frag = document.createDocumentFragment();
|
283 |
+
return (
|
284 |
+
typeof frag.cloneNode == 'undefined' ||
|
285 |
+
typeof frag.createDocumentFragment == 'undefined' ||
|
286 |
+
typeof frag.createElement == 'undefined'
|
287 |
+
);
|
288 |
+
}());
|
289 |
+
} catch(e) {
|
290 |
+
// assign a false positive if detection fails => unable to shiv
|
291 |
+
supportsHtml5Styles = true;
|
292 |
+
supportsUnknownElements = true;
|
293 |
+
}
|
294 |
+
|
295 |
+
}());
|
296 |
+
|
297 |
+
/*--------------------------------------------------------------------------*/
|
298 |
+
|
299 |
+
/**
|
300 |
+
* Creates a style sheet with the given CSS text and adds it to the document.
|
301 |
+
* @private
|
302 |
+
* @param {Document} ownerDocument The document.
|
303 |
+
* @param {String} cssText The CSS text.
|
304 |
+
* @returns {StyleSheet} The style element.
|
305 |
+
*/
|
306 |
+
function addStyleSheet(ownerDocument, cssText) {
|
307 |
+
var p = ownerDocument.createElement('p'),
|
308 |
+
parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
|
309 |
+
|
310 |
+
p.innerHTML = 'x<style>' + cssText + '</style>';
|
311 |
+
return parent.insertBefore(p.lastChild, parent.firstChild);
|
312 |
+
}
|
313 |
+
|
314 |
+
/**
|
315 |
+
* Returns the value of `html5.elements` as an array.
|
316 |
+
* @private
|
317 |
+
* @returns {Array} An array of shived element node names.
|
318 |
+
*/
|
319 |
+
function getElements() {
|
320 |
+
var elements = html5.elements;
|
321 |
+
return typeof elements == 'string' ? elements.split(' ') : elements;
|
322 |
+
}
|
323 |
+
|
324 |
+
/**
|
325 |
+
* Extends the built-in list of html5 elements
|
326 |
+
* @memberOf html5
|
327 |
+
* @param {String|Array} newElements whitespace separated list or array of new element names to shiv
|
328 |
+
* @param {Document} ownerDocument The context document.
|
329 |
+
*/
|
330 |
+
function addElements(newElements, ownerDocument) {
|
331 |
+
var elements = html5.elements;
|
332 |
+
if(typeof elements != 'string'){
|
333 |
+
elements = elements.join(' ');
|
334 |
+
}
|
335 |
+
if(typeof newElements != 'string'){
|
336 |
+
newElements = newElements.join(' ');
|
337 |
+
}
|
338 |
+
html5.elements = elements +' '+ newElements;
|
339 |
+
shivDocument(ownerDocument);
|
340 |
+
}
|
341 |
+
|
342 |
+
/**
|
343 |
+
* Returns the data associated to the given document
|
344 |
+
* @private
|
345 |
+
* @param {Document} ownerDocument The document.
|
346 |
+
* @returns {Object} An object of data.
|
347 |
+
*/
|
348 |
+
function getExpandoData(ownerDocument) {
|
349 |
+
var data = expandoData[ownerDocument[expando]];
|
350 |
+
if (!data) {
|
351 |
+
data = {};
|
352 |
+
expanID++;
|
353 |
+
ownerDocument[expando] = expanID;
|
354 |
+
expandoData[expanID] = data;
|
355 |
+
}
|
356 |
+
return data;
|
357 |
+
}
|
358 |
+
|
359 |
+
/**
|
360 |
+
* returns a shived element for the given nodeName and document
|
361 |
+
* @memberOf html5
|
362 |
+
* @param {String} nodeName name of the element
|
363 |
+
* @param {Document|DocumentFragment} ownerDocument The context document.
|
364 |
+
* @returns {Object} The shived element.
|
365 |
+
*/
|
366 |
+
function createElement(nodeName, ownerDocument, data){
|
367 |
+
if (!ownerDocument) {
|
368 |
+
ownerDocument = document;
|
369 |
+
}
|
370 |
+
if(supportsUnknownElements){
|
371 |
+
return ownerDocument.createElement(nodeName);
|
372 |
+
}
|
373 |
+
if (!data) {
|
374 |
+
data = getExpandoData(ownerDocument);
|
375 |
+
}
|
376 |
+
var node;
|
377 |
+
|
378 |
+
if (data.cache[nodeName]) {
|
379 |
+
node = data.cache[nodeName].cloneNode();
|
380 |
+
} else if (saveClones.test(nodeName)) {
|
381 |
+
node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
|
382 |
+
} else {
|
383 |
+
node = data.createElem(nodeName);
|
384 |
+
}
|
385 |
+
|
386 |
+
// Avoid adding some elements to fragments in IE < 9 because
|
387 |
+
// * Attributes like `name` or `type` cannot be set/changed once an element
|
388 |
+
// is inserted into a document/fragment
|
389 |
+
// * Link elements with `src` attributes that are inaccessible, as with
|
390 |
+
// a 403 response, will cause the tab/window to crash
|
391 |
+
// * Script elements appended to fragments will execute when their `src`
|
392 |
+
// or `text` property is set
|
393 |
+
return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
|
394 |
+
}
|
395 |
+
|
396 |
+
/**
|
397 |
+
* returns a shived DocumentFragment for the given document
|
398 |
+
* @memberOf html5
|
399 |
+
* @param {Document} ownerDocument The context document.
|
400 |
+
* @returns {Object} The shived DocumentFragment.
|
401 |
+
*/
|
402 |
+
function createDocumentFragment(ownerDocument, data){
|
403 |
+
if (!ownerDocument) {
|
404 |
+
ownerDocument = document;
|
405 |
+
}
|
406 |
+
if(supportsUnknownElements){
|
407 |
+
return ownerDocument.createDocumentFragment();
|
408 |
+
}
|
409 |
+
data = data || getExpandoData(ownerDocument);
|
410 |
+
var clone = data.frag.cloneNode(),
|
411 |
+
i = 0,
|
412 |
+
elems = getElements(),
|
413 |
+
l = elems.length;
|
414 |
+
for(;i<l;i++){
|
415 |
+
clone.createElement(elems[i]);
|
416 |
+
}
|
417 |
+
return clone;
|
418 |
+
}
|
419 |
+
|
420 |
+
/**
|
421 |
+
* Shivs the `createElement` and `createDocumentFragment` methods of the document.
|
422 |
+
* @private
|
423 |
+
* @param {Document|DocumentFragment} ownerDocument The document.
|
424 |
+
* @param {Object} data of the document.
|
425 |
+
*/
|
426 |
+
function shivMethods(ownerDocument, data) {
|
427 |
+
if (!data.cache) {
|
428 |
+
data.cache = {};
|
429 |
+
data.createElem = ownerDocument.createElement;
|
430 |
+
data.createFrag = ownerDocument.createDocumentFragment;
|
431 |
+
data.frag = data.createFrag();
|
432 |
+
}
|
433 |
+
|
434 |
+
|
435 |
+
ownerDocument.createElement = function(nodeName) {
|
436 |
+
//abort shiv
|
437 |
+
if (!html5.shivMethods) {
|
438 |
+
return data.createElem(nodeName);
|
439 |
+
}
|
440 |
+
return createElement(nodeName, ownerDocument, data);
|
441 |
+
};
|
442 |
+
|
443 |
+
ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
|
444 |
+
'var n=f.cloneNode(),c=n.createElement;' +
|
445 |
+
'h.shivMethods&&(' +
|
446 |
+
// unroll the `createElement` calls
|
447 |
+
getElements().join().replace(/[\w\-:]+/g, function(nodeName) {
|
448 |
+
data.createElem(nodeName);
|
449 |
+
data.frag.createElement(nodeName);
|
450 |
+
return 'c("' + nodeName + '")';
|
451 |
+
}) +
|
452 |
+
');return n}'
|
453 |
+
)(html5, data.frag);
|
454 |
+
}
|
455 |
+
|
456 |
+
/*--------------------------------------------------------------------------*/
|
457 |
+
|
458 |
+
/**
|
459 |
+
* Shivs the given document.
|
460 |
+
* @memberOf html5
|
461 |
+
* @param {Document} ownerDocument The document to shiv.
|
462 |
+
* @returns {Document} The shived document.
|
463 |
+
*/
|
464 |
+
function shivDocument(ownerDocument) {
|
465 |
+
if (!ownerDocument) {
|
466 |
+
ownerDocument = document;
|
467 |
+
}
|
468 |
+
var data = getExpandoData(ownerDocument);
|
469 |
+
|
470 |
+
if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
|
471 |
+
data.hasCSS = !!addStyleSheet(ownerDocument,
|
472 |
+
// corrects block display not defined in IE6/7/8/9
|
473 |
+
'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
|
474 |
+
// adds styling not present in IE6/7/8/9
|
475 |
+
'mark{background:#FF0;color:#000}' +
|
476 |
+
// hides non-rendered elements
|
477 |
+
'template{display:none}'
|
478 |
+
);
|
479 |
+
}
|
480 |
+
if (!supportsUnknownElements) {
|
481 |
+
shivMethods(ownerDocument, data);
|
482 |
+
}
|
483 |
+
return ownerDocument;
|
484 |
+
}
|
485 |
+
|
486 |
+
/*--------------------------------------------------------------------------*/
|
487 |
+
|
488 |
+
/**
|
489 |
+
* The `html5` object is exposed so that more elements can be shived and
|
490 |
+
* existing shiving can be detected on iframes.
|
491 |
+
* @type Object
|
492 |
+
* @example
|
493 |
+
*
|
494 |
+
* // options can be changed before the script is included
|
495 |
+
* html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
|
496 |
+
*/
|
497 |
+
var html5 = {
|
498 |
+
|
499 |
+
/**
|
500 |
+
* An array or space separated string of node names of the elements to shiv.
|
501 |
+
* @memberOf html5
|
502 |
+
* @type Array|String
|
503 |
+
*/
|
504 |
+
'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video',
|
505 |
+
|
506 |
+
/**
|
507 |
+
* current version of html5shiv
|
508 |
+
*/
|
509 |
+
'version': version,
|
510 |
+
|
511 |
+
/**
|
512 |
+
* A flag to indicate that the HTML5 style sheet should be inserted.
|
513 |
+
* @memberOf html5
|
514 |
+
* @type Boolean
|
515 |
+
*/
|
516 |
+
'shivCSS': (options.shivCSS !== false),
|
517 |
+
|
518 |
+
/**
|
519 |
+
* Is equal to true if a browser supports creating unknown/HTML5 elements
|
520 |
+
* @memberOf html5
|
521 |
+
* @type boolean
|
522 |
+
*/
|
523 |
+
'supportsUnknownElements': supportsUnknownElements,
|
524 |
+
|
525 |
+
/**
|
526 |
+
* A flag to indicate that the document's `createElement` and `createDocumentFragment`
|
527 |
+
* methods should be overwritten.
|
528 |
+
* @memberOf html5
|
529 |
+
* @type Boolean
|
530 |
+
*/
|
531 |
+
'shivMethods': (options.shivMethods !== false),
|
532 |
+
|
533 |
+
/**
|
534 |
+
* A string to describe the type of `html5` object ("default" or "default print").
|
535 |
+
* @memberOf html5
|
536 |
+
* @type String
|
537 |
+
*/
|
538 |
+
'type': 'default',
|
539 |
+
|
540 |
+
// shivs the document according to the specified `html5` object options
|
541 |
+
'shivDocument': shivDocument,
|
542 |
+
|
543 |
+
//creates a shived element
|
544 |
+
createElement: createElement,
|
545 |
+
|
546 |
+
//creates a shived documentFragment
|
547 |
+
createDocumentFragment: createDocumentFragment,
|
548 |
+
|
549 |
+
//extends list of elements
|
550 |
+
addElements: addElements
|
551 |
+
};
|
552 |
+
|
553 |
+
/*--------------------------------------------------------------------------*/
|
554 |
+
|
555 |
+
// expose html5
|
556 |
+
window.html5 = html5;
|
557 |
+
|
558 |
+
// shiv the document
|
559 |
+
shivDocument(document);
|
560 |
+
|
561 |
+
if(typeof module == 'object' && module.exports){
|
562 |
+
module.exports = html5;
|
563 |
+
}
|
564 |
+
|
565 |
+
}(typeof window !== "undefined" ? window : this, document));
|
566 |
+
}
|
567 |
+
;
|
568 |
+
|
569 |
+
/**
|
570 |
+
* List of property values to set for css tests. See ticket #21
|
571 |
+
* http://git.io/vUGl4
|
572 |
+
*
|
573 |
+
* @memberof Modernizr
|
574 |
+
* @name Modernizr._prefixes
|
575 |
+
* @optionName Modernizr._prefixes
|
576 |
+
* @optionProp prefixes
|
577 |
+
* @access public
|
578 |
+
* @example
|
579 |
+
*
|
580 |
+
* Modernizr._prefixes is the internal list of prefixes that we test against
|
581 |
+
* inside of things like [prefixed](#modernizr-prefixed) and [prefixedCSS](#-code-modernizr-prefixedcss). It is simply
|
582 |
+
* an array of kebab-case vendor prefixes you can use within your code.
|
583 |
+
*
|
584 |
+
* Some common use cases include
|
585 |
+
*
|
586 |
+
* Generating all possible prefixed version of a CSS property
|
587 |
+
* ```js
|
588 |
+
* var rule = Modernizr._prefixes.join('transform: rotate(20deg); ');
|
589 |
+
*
|
590 |
+
* rule === 'transform: rotate(20deg); webkit-transform: rotate(20deg); moz-transform: rotate(20deg); o-transform: rotate(20deg); ms-transform: rotate(20deg);'
|
591 |
+
* ```
|
592 |
+
*
|
593 |
+
* Generating all possible prefixed version of a CSS value
|
594 |
+
* ```js
|
595 |
+
* rule = 'display:' + Modernizr._prefixes.join('flex; display:') + 'flex';
|
596 |
+
*
|
597 |
+
* rule === 'display:flex; display:-webkit-flex; display:-moz-flex; display:-o-flex; display:-ms-flex; display:flex'
|
598 |
+
* ```
|
599 |
+
*/
|
600 |
+
|
601 |
+
// we use ['',''] rather than an empty array in order to allow a pattern of .`join()`ing prefixes to test
|
602 |
+
// values in feature detects to continue to work
|
603 |
+
var prefixes = (ModernizrProto._config.usePrefixes ? ' -webkit- -moz- -o- -ms- '.split(' ') : ['','']);
|
604 |
+
|
605 |
+
// expose these for the plugin API. Look in the source for how to join() them against your input
|
606 |
+
ModernizrProto._prefixes = prefixes;
|
607 |
+
|
608 |
+
|
609 |
+
/*!
|
610 |
+
{
|
611 |
+
"name": "CSS Supports",
|
612 |
+
"property": "supports",
|
613 |
+
"caniuse": "css-featurequeries",
|
614 |
+
"tags": ["css"],
|
615 |
+
"builderAliases": ["css_supports"],
|
616 |
+
"notes": [{
|
617 |
+
"name": "W3 Spec",
|
618 |
+
"href": "http://dev.w3.org/csswg/css3-conditional/#at-supports"
|
619 |
+
},{
|
620 |
+
"name": "Related Github Issue",
|
621 |
+
"href": "github.com/Modernizr/Modernizr/issues/648"
|
622 |
+
},{
|
623 |
+
"name": "W3 Info",
|
624 |
+
"href": "http://dev.w3.org/csswg/css3-conditional/#the-csssupportsrule-interface"
|
625 |
+
}]
|
626 |
+
}
|
627 |
+
!*/
|
628 |
+
|
629 |
+
var newSyntax = 'CSS' in window && 'supports' in window.CSS;
|
630 |
+
var oldSyntax = 'supportsCSS' in window;
|
631 |
+
Modernizr.addTest('supports', newSyntax || oldSyntax);
|
632 |
+
|
633 |
+
|
634 |
+
/**
|
635 |
+
* createElement is a convenience wrapper around document.createElement. Since we
|
636 |
+
* use createElement all over the place, this allows for (slightly) smaller code
|
637 |
+
* as well as abstracting away issues with creating elements in contexts other than
|
638 |
+
* HTML documents (e.g. SVG documents).
|
639 |
+
*
|
640 |
+
* @access private
|
641 |
+
* @function createElement
|
642 |
+
* @returns {HTMLElement|SVGElement} An HTML or SVG element
|
643 |
+
*/
|
644 |
+
|
645 |
+
function createElement() {
|
646 |
+
if (typeof document.createElement !== 'function') {
|
647 |
+
// This is the case in IE7, where the type of createElement is "object".
|
648 |
+
// For this reason, we cannot call apply() as Object is not a Function.
|
649 |
+
return document.createElement(arguments[0]);
|
650 |
+
} else if (isSVG) {
|
651 |
+
return document.createElementNS.call(document, 'http://www.w3.org/2000/svg', arguments[0]);
|
652 |
+
} else {
|
653 |
+
return document.createElement.apply(document, arguments);
|
654 |
+
}
|
655 |
+
}
|
656 |
+
|
657 |
+
;
|
658 |
+
|
659 |
+
/**
|
660 |
+
* getBody returns the body of a document, or an element that can stand in for
|
661 |
+
* the body if a real body does not exist
|
662 |
+
*
|
663 |
+
* @access private
|
664 |
+
* @function getBody
|
665 |
+
* @returns {HTMLElement|SVGElement} Returns the real body of a document, or an
|
666 |
+
* artificially created element that stands in for the body
|
667 |
+
*/
|
668 |
+
|
669 |
+
function getBody() {
|
670 |
+
// After page load injecting a fake body doesn't work so check if body exists
|
671 |
+
var body = document.body;
|
672 |
+
|
673 |
+
if (!body) {
|
674 |
+
// Can't use the real body create a fake one.
|
675 |
+
body = createElement(isSVG ? 'svg' : 'body');
|
676 |
+
body.fake = true;
|
677 |
+
}
|
678 |
+
|
679 |
+
return body;
|
680 |
+
}
|
681 |
+
|
682 |
+
;
|
683 |
+
|
684 |
+
/**
|
685 |
+
* injectElementWithStyles injects an element with style element and some CSS rules
|
686 |
+
*
|
687 |
+
* @access private
|
688 |
+
* @function injectElementWithStyles
|
689 |
+
* @param {string} rule - String representing a css rule
|
690 |
+
* @param {function} callback - A function that is used to test the injected element
|
691 |
+
* @param {number} [nodes] - An integer representing the number of additional nodes you want injected
|
692 |
+
* @param {string[]} [testnames] - An array of strings that are used as ids for the additional nodes
|
693 |
+
* @returns {boolean}
|
694 |
+
*/
|
695 |
+
|
696 |
+
function injectElementWithStyles(rule, callback, nodes, testnames) {
|
697 |
+
var mod = 'modernizr';
|
698 |
+
var style;
|
699 |
+
var ret;
|
700 |
+
var node;
|
701 |
+
var docOverflow;
|
702 |
+
var div = createElement('div');
|
703 |
+
var body = getBody();
|
704 |
+
|
705 |
+
if (parseInt(nodes, 10)) {
|
706 |
+
// In order not to give false positives we create a node for each test
|
707 |
+
// This also allows the method to scale for unspecified uses
|
708 |
+
while (nodes--) {
|
709 |
+
node = createElement('div');
|
710 |
+
node.id = testnames ? testnames[nodes] : mod + (nodes + 1);
|
711 |
+
div.appendChild(node);
|
712 |
+
}
|
713 |
+
}
|
714 |
+
|
715 |
+
style = createElement('style');
|
716 |
+
style.type = 'text/css';
|
717 |
+
style.id = 's' + mod;
|
718 |
+
|
719 |
+
// IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody.
|
720 |
+
// Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270
|
721 |
+
(!body.fake ? div : body).appendChild(style);
|
722 |
+
body.appendChild(div);
|
723 |
+
|
724 |
+
if (style.styleSheet) {
|
725 |
+
style.styleSheet.cssText = rule;
|
726 |
+
} else {
|
727 |
+
style.appendChild(document.createTextNode(rule));
|
728 |
+
}
|
729 |
+
div.id = mod;
|
730 |
+
|
731 |
+
if (body.fake) {
|
732 |
+
//avoid crashing IE8, if background image is used
|
733 |
+
body.style.background = '';
|
734 |
+
//Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible
|
735 |
+
body.style.overflow = 'hidden';
|
736 |
+
docOverflow = docElement.style.overflow;
|
737 |
+
docElement.style.overflow = 'hidden';
|
738 |
+
docElement.appendChild(body);
|
739 |
+
}
|
740 |
+
|
741 |
+
ret = callback(div, rule);
|
742 |
+
// If this is done after page load we don't want to remove the body so check if body exists
|
743 |
+
if (body.fake) {
|
744 |
+
body.parentNode.removeChild(body);
|
745 |
+
docElement.style.overflow = docOverflow;
|
746 |
+
// Trigger layout so kinetic scrolling isn't disabled in iOS6+
|
747 |
+
docElement.offsetHeight;
|
748 |
+
} else {
|
749 |
+
div.parentNode.removeChild(div);
|
750 |
+
}
|
751 |
+
|
752 |
+
return !!ret;
|
753 |
+
|
754 |
+
}
|
755 |
+
|
756 |
+
;
|
757 |
+
|
758 |
+
/**
|
759 |
+
* testStyles injects an element with style element and some CSS rules
|
760 |
+
*
|
761 |
+
* @memberof Modernizr
|
762 |
+
* @name Modernizr.testStyles
|
763 |
+
* @optionName Modernizr.testStyles()
|
764 |
+
* @optionProp testStyles
|
765 |
+
* @access public
|
766 |
+
* @function testStyles
|
767 |
+
* @param {string} rule - String representing a css rule
|
768 |
+
* @param {function} callback - A function that is used to test the injected element
|
769 |
+
* @param {number} [nodes] - An integer representing the number of additional nodes you want injected
|
770 |
+
* @param {string[]} [testnames] - An array of strings that are used as ids for the additional nodes
|
771 |
+
* @returns {boolean}
|
772 |
+
* @example
|
773 |
+
*
|
774 |
+
* `Modernizr.testStyles` takes a CSS rule and injects it onto the current page
|
775 |
+
* along with (possibly multiple) DOM elements. This lets you check for features
|
776 |
+
* that can not be detected by simply checking the [IDL](https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Interface_development_guide/IDL_interface_rules).
|
777 |
+
*
|
778 |
+
* ```js
|
779 |
+
* Modernizr.testStyles('#modernizr { width: 9px; color: papayawhip; }', function(elem, rule) {
|
780 |
+
* // elem is the first DOM node in the page (by default #modernizr)
|
781 |
+
* // rule is the first argument you supplied - the CSS rule in string form
|
782 |
+
*
|
783 |
+
* addTest('widthworks', elem.style.width === '9px')
|
784 |
+
* });
|
785 |
+
* ```
|
786 |
+
*
|
787 |
+
* If your test requires multiple nodes, you can include a third argument
|
788 |
+
* indicating how many additional div elements to include on the page. The
|
789 |
+
* additional nodes are injected as children of the `elem` that is returned as
|
790 |
+
* the first argument to the callback.
|
791 |
+
*
|
792 |
+
* ```js
|
793 |
+
* Modernizr.testStyles('#modernizr {width: 1px}; #modernizr2 {width: 2px}', function(elem) {
|
794 |
+
* document.getElementById('modernizr').style.width === '1px'; // true
|
795 |
+
* document.getElementById('modernizr2').style.width === '2px'; // true
|
796 |
+
* elem.firstChild === document.getElementById('modernizr2'); // true
|
797 |
+
* }, 1);
|
798 |
+
* ```
|
799 |
+
*
|
800 |
+
* By default, all of the additional elements have an ID of `modernizr[n]`, where
|
801 |
+
* `n` is its index (e.g. the first additional, second overall is `#modernizr2`,
|
802 |
+
* the second additional is `#modernizr3`, etc.).
|
803 |
+
* If you want to have more meaningful IDs for your function, you can provide
|
804 |
+
* them as the fourth argument, as an array of strings
|
805 |
+
*
|
806 |
+
* ```js
|
807 |
+
* Modernizr.testStyles('#foo {width: 10px}; #bar {height: 20px}', function(elem) {
|
808 |
+
* elem.firstChild === document.getElementById('foo'); // true
|
809 |
+
* elem.lastChild === document.getElementById('bar'); // true
|
810 |
+
* }, 2, ['foo', 'bar']);
|
811 |
+
* ```
|
812 |
+
*
|
813 |
+
*/
|
814 |
+
|
815 |
+
var testStyles = ModernizrProto.testStyles = injectElementWithStyles;
|
816 |
+
|
817 |
+
/*!
|
818 |
+
{
|
819 |
+
"name": "Touch Events",
|
820 |
+
"property": "touchevents",
|
821 |
+
"caniuse" : "touch",
|
822 |
+
"tags": ["media", "attribute"],
|
823 |
+
"notes": [{
|
824 |
+
"name": "Touch Events spec",
|
825 |
+
"href": "https://www.w3.org/TR/2013/WD-touch-events-20130124/"
|
826 |
+
}],
|
827 |
+
"warnings": [
|
828 |
+
"Indicates if the browser supports the Touch Events spec, and does not necessarily reflect a touchscreen device"
|
829 |
+
],
|
830 |
+
"knownBugs": [
|
831 |
+
"False-positive on some configurations of Nokia N900",
|
832 |
+
"False-positive on some BlackBerry 6.0 builds – https://github.com/Modernizr/Modernizr/issues/372#issuecomment-3112695"
|
833 |
+
]
|
834 |
+
}
|
835 |
+
!*/
|
836 |
+
/* DOC
|
837 |
+
Indicates if the browser supports the W3C Touch Events API.
|
838 |
+
|
839 |
+
This *does not* necessarily reflect a touchscreen device:
|
840 |
+
|
841 |
+
* Older touchscreen devices only emulate mouse events
|
842 |
+
* Modern IE touch devices implement the Pointer Events API instead: use `Modernizr.pointerevents` to detect support for that
|
843 |
+
* Some browsers & OS setups may enable touch APIs when no touchscreen is connected
|
844 |
+
* Future browsers may implement other event models for touch interactions
|
845 |
+
|
846 |
+
See this article: [You Can't Detect A Touchscreen](http://www.stucox.com/blog/you-cant-detect-a-touchscreen/).
|
847 |
+
|
848 |
+
It's recommended to bind both mouse and touch/pointer events simultaneously – see [this HTML5 Rocks tutorial](http://www.html5rocks.com/en/mobile/touchandmouse/).
|
849 |
+
|
850 |
+
This test will also return `true` for Firefox 4 Multitouch support.
|
851 |
+
*/
|
852 |
+
|
853 |
+
// Chrome (desktop) used to lie about its support on this, but that has since been rectified: http://crbug.com/36415
|
854 |
+
Modernizr.addTest('touchevents', function() {
|
855 |
+
var bool;
|
856 |
+
if (('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {
|
857 |
+
bool = true;
|
858 |
+
} else {
|
859 |
+
// include the 'heartz' as a way to have a non matching MQ to help terminate the join
|
860 |
+
// https://git.io/vznFH
|
861 |
+
var query = ['@media (', prefixes.join('touch-enabled),('), 'heartz', ')', '{#modernizr{top:9px;position:absolute}}'].join('');
|
862 |
+
testStyles(query, function(node) {
|
863 |
+
bool = node.offsetTop === 9;
|
864 |
+
});
|
865 |
+
}
|
866 |
+
return bool;
|
867 |
+
});
|
868 |
+
|
869 |
+
|
870 |
+
/**
|
871 |
+
* If the browsers follow the spec, then they would expose vendor-specific style as:
|
872 |
+
* elem.style.WebkitBorderRadius
|
873 |
+
* instead of something like the following, which would be technically incorrect:
|
874 |
+
* elem.style.webkitBorderRadius
|
875 |
+
|
876 |
+
* Webkit ghosts their properties in lowercase but Opera & Moz do not.
|
877 |
+
* Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+
|
878 |
+
* erik.eae.net/archives/2008/03/10/21.48.10/
|
879 |
+
|
880 |
+
* More here: github.com/Modernizr/Modernizr/issues/issue/21
|
881 |
+
*
|
882 |
+
* @access private
|
883 |
+
* @returns {string} The string representing the vendor-specific style properties
|
884 |
+
*/
|
885 |
+
|
886 |
+
var omPrefixes = 'Moz O ms Webkit';
|
887 |
+
|
888 |
+
|
889 |
+
var cssomPrefixes = (ModernizrProto._config.usePrefixes ? omPrefixes.split(' ') : []);
|
890 |
+
ModernizrProto._cssomPrefixes = cssomPrefixes;
|
891 |
+
|
892 |
+
|
893 |
+
/**
|
894 |
+
* List of JavaScript DOM values used for tests
|
895 |
+
*
|
896 |
+
* @memberof Modernizr
|
897 |
+
* @name Modernizr._domPrefixes
|
898 |
+
* @optionName Modernizr._domPrefixes
|
899 |
+
* @optionProp domPrefixes
|
900 |
+
* @access public
|
901 |
+
* @example
|
902 |
+
*
|
903 |
+
* Modernizr._domPrefixes is exactly the same as [_prefixes](#modernizr-_prefixes), but rather
|
904 |
+
* than kebab-case properties, all properties are their Capitalized variant
|
905 |
+
*
|
906 |
+
* ```js
|
907 |
+
* Modernizr._domPrefixes === [ "Moz", "O", "ms", "Webkit" ];
|
908 |
+
* ```
|
909 |
+
*/
|
910 |
+
|
911 |
+
var domPrefixes = (ModernizrProto._config.usePrefixes ? omPrefixes.toLowerCase().split(' ') : []);
|
912 |
+
ModernizrProto._domPrefixes = domPrefixes;
|
913 |
+
|
914 |
+
|
915 |
+
|
916 |
+
/**
|
917 |
+
* contains checks to see if a string contains another string
|
918 |
+
*
|
919 |
+
* @access private
|
920 |
+
* @function contains
|
921 |
+
* @param {string} str - The string we want to check for substrings
|
922 |
+
* @param {string} substr - The substring we want to search the first string for
|
923 |
+
* @returns {boolean}
|
924 |
+
*/
|
925 |
+
|
926 |
+
function contains(str, substr) {
|
927 |
+
return !!~('' + str).indexOf(substr);
|
928 |
+
}
|
929 |
+
|
930 |
+
;
|
931 |
+
|
932 |
+
/**
|
933 |
+
* cssToDOM takes a kebab-case string and converts it to camelCase
|
934 |
+
* e.g. box-sizing -> boxSizing
|
935 |
+
*
|
936 |
+
* @access private
|
937 |
+
* @function cssToDOM
|
938 |
+
* @param {string} name - String name of kebab-case prop we want to convert
|
939 |
+
* @returns {string} The camelCase version of the supplied name
|
940 |
+
*/
|
941 |
+
|
942 |
+
function cssToDOM(name) {
|
943 |
+
return name.replace(/([a-z])-([a-z])/g, function(str, m1, m2) {
|
944 |
+
return m1 + m2.toUpperCase();
|
945 |
+
}).replace(/^-/, '');
|
946 |
+
}
|
947 |
+
;
|
948 |
+
|
949 |
+
/**
|
950 |
+
* fnBind is a super small [bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind) polyfill.
|
951 |
+
*
|
952 |
+
* @access private
|
953 |
+
* @function fnBind
|
954 |
+
* @param {function} fn - a function you want to change `this` reference to
|
955 |
+
* @param {object} that - the `this` you want to call the function with
|
956 |
+
* @returns {function} The wrapped version of the supplied function
|
957 |
+
*/
|
958 |
+
|
959 |
+
function fnBind(fn, that) {
|
960 |
+
return function() {
|
961 |
+
return fn.apply(that, arguments);
|
962 |
+
};
|
963 |
+
}
|
964 |
+
|
965 |
+
;
|
966 |
+
|
967 |
+
/**
|
968 |
+
* testDOMProps is a generic DOM property test; if a browser supports
|
969 |
+
* a certain property, it won't return undefined for it.
|
970 |
+
*
|
971 |
+
* @access private
|
972 |
+
* @function testDOMProps
|
973 |
+
* @param {array.<string>} props - An array of properties to test for
|
974 |
+
* @param {object} obj - An object or Element you want to use to test the parameters again
|
975 |
+
* @param {boolean|object} elem - An Element to bind the property lookup again. Use `false` to prevent the check
|
976 |
+
*/
|
977 |
+
function testDOMProps(props, obj, elem) {
|
978 |
+
var item;
|
979 |
+
|
980 |
+
for (var i in props) {
|
981 |
+
if (props[i] in obj) {
|
982 |
+
|
983 |
+
// return the property name as a string
|
984 |
+
if (elem === false) {
|
985 |
+
return props[i];
|
986 |
+
}
|
987 |
+
|
988 |
+
item = obj[props[i]];
|
989 |
+
|
990 |
+
// let's bind a function
|
991 |
+
if (is(item, 'function')) {
|
992 |
+
// bind to obj unless overriden
|
993 |
+
return fnBind(item, elem || obj);
|
994 |
+
}
|
995 |
+
|
996 |
+
// return the unbound function or obj or value
|
997 |
+
return item;
|
998 |
+
}
|
999 |
+
}
|
1000 |
+
return false;
|
1001 |
+
}
|
1002 |
+
|
1003 |
+
;
|
1004 |
+
|
1005 |
+
/**
|
1006 |
+
* Create our "modernizr" element that we do most feature tests on.
|
1007 |
+
*
|
1008 |
+
* @access private
|
1009 |
+
*/
|
1010 |
+
|
1011 |
+
var modElem = {
|
1012 |
+
elem: createElement('modernizr')
|
1013 |
+
};
|
1014 |
+
|
1015 |
+
// Clean up this element
|
1016 |
+
Modernizr._q.push(function() {
|
1017 |
+
delete modElem.elem;
|
1018 |
+
});
|
1019 |
+
|
1020 |
+
|
1021 |
+
|
1022 |
+
var mStyle = {
|
1023 |
+
style: modElem.elem.style
|
1024 |
+
};
|
1025 |
+
|
1026 |
+
// kill ref for gc, must happen before mod.elem is removed, so we unshift on to
|
1027 |
+
// the front of the queue.
|
1028 |
+
Modernizr._q.unshift(function() {
|
1029 |
+
delete mStyle.style;
|
1030 |
+
});
|
1031 |
+
|
1032 |
+
|
1033 |
+
|
1034 |
+
/**
|
1035 |
+
* domToCSS takes a camelCase string and converts it to kebab-case
|
1036 |
+
* e.g. boxSizing -> box-sizing
|
1037 |
+
*
|
1038 |
+
* @access private
|
1039 |
+
* @function domToCSS
|
1040 |
+
* @param {string} name - String name of camelCase prop we want to convert
|
1041 |
+
* @returns {string} The kebab-case version of the supplied name
|
1042 |
+
*/
|
1043 |
+
|
1044 |
+
function domToCSS(name) {
|
1045 |
+
return name.replace(/([A-Z])/g, function(str, m1) {
|
1046 |
+
return '-' + m1.toLowerCase();
|
1047 |
+
}).replace(/^ms-/, '-ms-');
|
1048 |
+
}
|
1049 |
+
;
|
1050 |
+
|
1051 |
+
/**
|
1052 |
+
* nativeTestProps allows for us to use native feature detection functionality if available.
|
1053 |
+
* some prefixed form, or false, in the case of an unsupported rule
|
1054 |
+
*
|
1055 |
+
* @access private
|
1056 |
+
* @function nativeTestProps
|
1057 |
+
* @param {array} props - An array of property names
|
1058 |
+
* @param {string} value - A string representing the value we want to check via @supports
|
1059 |
+
* @returns {boolean|undefined} A boolean when @supports exists, undefined otherwise
|
1060 |
+
*/
|
1061 |
+
|
1062 |
+
// Accepts a list of property names and a single value
|
1063 |
+
// Returns `undefined` if native detection not available
|
1064 |
+
function nativeTestProps(props, value) {
|
1065 |
+
var i = props.length;
|
1066 |
+
// Start with the JS API: http://www.w3.org/TR/css3-conditional/#the-css-interface
|
1067 |
+
if ('CSS' in window && 'supports' in window.CSS) {
|
1068 |
+
// Try every prefixed variant of the property
|
1069 |
+
while (i--) {
|
1070 |
+
if (window.CSS.supports(domToCSS(props[i]), value)) {
|
1071 |
+
return true;
|
1072 |
+
}
|
1073 |
+
}
|
1074 |
+
return false;
|
1075 |
+
}
|
1076 |
+
// Otherwise fall back to at-rule (for Opera 12.x)
|
1077 |
+
else if ('CSSSupportsRule' in window) {
|
1078 |
+
// Build a condition string for every prefixed variant
|
1079 |
+
var conditionText = [];
|
1080 |
+
while (i--) {
|
1081 |
+
conditionText.push('(' + domToCSS(props[i]) + ':' + value + ')');
|
1082 |
+
}
|
1083 |
+
conditionText = conditionText.join(' or ');
|
1084 |
+
return injectElementWithStyles('@supports (' + conditionText + ') { #modernizr { position: absolute; } }', function(node) {
|
1085 |
+
return getComputedStyle(node, null).position == 'absolute';
|
1086 |
+
});
|
1087 |
+
}
|
1088 |
+
return undefined;
|
1089 |
+
}
|
1090 |
+
;
|
1091 |
+
|
1092 |
+
// testProps is a generic CSS / DOM property test.
|
1093 |
+
|
1094 |
+
// In testing support for a given CSS property, it's legit to test:
|
1095 |
+
// `elem.style[styleName] !== undefined`
|
1096 |
+
// If the property is supported it will return an empty string,
|
1097 |
+
// if unsupported it will return undefined.
|
1098 |
+
|
1099 |
+
// We'll take advantage of this quick test and skip setting a style
|
1100 |
+
// on our modernizr element, but instead just testing undefined vs
|
1101 |
+
// empty string.
|
1102 |
+
|
1103 |
+
// Property names can be provided in either camelCase or kebab-case.
|
1104 |
+
|
1105 |
+
function testProps(props, prefixed, value, skipValueTest) {
|
1106 |
+
skipValueTest = is(skipValueTest, 'undefined') ? false : skipValueTest;
|
1107 |
+
|
1108 |
+
// Try native detect first
|
1109 |
+
if (!is(value, 'undefined')) {
|
1110 |
+
var result = nativeTestProps(props, value);
|
1111 |
+
if (!is(result, 'undefined')) {
|
1112 |
+
return result;
|
1113 |
+
}
|
1114 |
+
}
|
1115 |
+
|
1116 |
+
// Otherwise do it properly
|
1117 |
+
var afterInit, i, propsLength, prop, before;
|
1118 |
+
|
1119 |
+
// If we don't have a style element, that means we're running async or after
|
1120 |
+
// the core tests, so we'll need to create our own elements to use
|
1121 |
+
|
1122 |
+
// inside of an SVG element, in certain browsers, the `style` element is only
|
1123 |
+
// defined for valid tags. Therefore, if `modernizr` does not have one, we
|
1124 |
+
// fall back to a less used element and hope for the best.
|
1125 |
+
var elems = ['modernizr', 'tspan'];
|
1126 |
+
while (!mStyle.style) {
|
1127 |
+
afterInit = true;
|
1128 |
+
mStyle.modElem = createElement(elems.shift());
|
1129 |
+
mStyle.style = mStyle.modElem.style;
|
1130 |
+
}
|
1131 |
+
|
1132 |
+
// Delete the objects if we created them.
|
1133 |
+
function cleanElems() {
|
1134 |
+
if (afterInit) {
|
1135 |
+
delete mStyle.style;
|
1136 |
+
delete mStyle.modElem;
|
1137 |
+
}
|
1138 |
+
}
|
1139 |
+
|
1140 |
+
propsLength = props.length;
|
1141 |
+
for (i = 0; i < propsLength; i++) {
|
1142 |
+
prop = props[i];
|
1143 |
+
before = mStyle.style[prop];
|
1144 |
+
|
1145 |
+
if (contains(prop, '-')) {
|
1146 |
+
prop = cssToDOM(prop);
|
1147 |
+
}
|
1148 |
+
|
1149 |
+
if (mStyle.style[prop] !== undefined) {
|
1150 |
+
|
1151 |
+
// If value to test has been passed in, do a set-and-check test.
|
1152 |
+
// 0 (integer) is a valid property value, so check that `value` isn't
|
1153 |
+
// undefined, rather than just checking it's truthy.
|
1154 |
+
if (!skipValueTest && !is(value, 'undefined')) {
|
1155 |
+
|
1156 |
+
// Needs a try catch block because of old IE. This is slow, but will
|
1157 |
+
// be avoided in most cases because `skipValueTest` will be used.
|
1158 |
+
try {
|
1159 |
+
mStyle.style[prop] = value;
|
1160 |
+
} catch (e) {}
|
1161 |
+
|
1162 |
+
// If the property value has changed, we assume the value used is
|
1163 |
+
// supported. If `value` is empty string, it'll fail here (because
|
1164 |
+
// it hasn't changed), which matches how browsers have implemented
|
1165 |
+
// CSS.supports()
|
1166 |
+
if (mStyle.style[prop] != before) {
|
1167 |
+
cleanElems();
|
1168 |
+
return prefixed == 'pfx' ? prop : true;
|
1169 |
+
}
|
1170 |
+
}
|
1171 |
+
// Otherwise just return true, or the property name if this is a
|
1172 |
+
// `prefixed()` call
|
1173 |
+
else {
|
1174 |
+
cleanElems();
|
1175 |
+
return prefixed == 'pfx' ? prop : true;
|
1176 |
+
}
|
1177 |
+
}
|
1178 |
+
}
|
1179 |
+
cleanElems();
|
1180 |
+
return false;
|
1181 |
+
}
|
1182 |
+
|
1183 |
+
;
|
1184 |
+
|
1185 |
+
/**
|
1186 |
+
* testPropsAll tests a list of DOM properties we want to check against.
|
1187 |
+
* We specify literally ALL possible (known and/or likely) properties on
|
1188 |
+
* the element including the non-vendor prefixed one, for forward-
|
1189 |
+
* compatibility.
|
1190 |
+
*
|
1191 |
+
* @access private
|
1192 |
+
* @function testPropsAll
|
1193 |
+
* @param {string} prop - A string of the property to test for
|
1194 |
+
* @param {string|object} [prefixed] - An object to check the prefixed properties on. Use a string to skip
|
1195 |
+
* @param {HTMLElement|SVGElement} [elem] - An element used to test the property and value against
|
1196 |
+
* @param {string} [value] - A string of a css value
|
1197 |
+
* @param {boolean} [skipValueTest] - An boolean representing if you want to test if value sticks when set
|
1198 |
+
*/
|
1199 |
+
function testPropsAll(prop, prefixed, elem, value, skipValueTest) {
|
1200 |
+
|
1201 |
+
var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),
|
1202 |
+
props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');
|
1203 |
+
|
1204 |
+
// did they call .prefixed('boxSizing') or are we just testing a prop?
|
1205 |
+
if (is(prefixed, 'string') || is(prefixed, 'undefined')) {
|
1206 |
+
return testProps(props, prefixed, value, skipValueTest);
|
1207 |
+
|
1208 |
+
// otherwise, they called .prefixed('requestAnimationFrame', window[, elem])
|
1209 |
+
} else {
|
1210 |
+
props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');
|
1211 |
+
return testDOMProps(props, prefixed, elem);
|
1212 |
+
}
|
1213 |
+
}
|
1214 |
+
|
1215 |
+
// Modernizr.testAllProps() investigates whether a given style property,
|
1216 |
+
// or any of its vendor-prefixed variants, is recognized
|
1217 |
+
//
|
1218 |
+
// Note that the property names must be provided in the camelCase variant.
|
1219 |
+
// Modernizr.testAllProps('boxSizing')
|
1220 |
+
ModernizrProto.testAllProps = testPropsAll;
|
1221 |
+
|
1222 |
+
|
1223 |
+
|
1224 |
+
/**
|
1225 |
+
* testAllProps determines whether a given CSS property is supported in the browser
|
1226 |
+
*
|
1227 |
+
* @memberof Modernizr
|
1228 |
+
* @name Modernizr.testAllProps
|
1229 |
+
* @optionName Modernizr.testAllProps()
|
1230 |
+
* @optionProp testAllProps
|
1231 |
+
* @access public
|
1232 |
+
* @function testAllProps
|
1233 |
+
* @param {string} prop - String naming the property to test (either camelCase or kebab-case)
|
1234 |
+
* @param {string} [value] - String of the value to test
|
1235 |
+
* @param {boolean} [skipValueTest=false] - Whether to skip testing that the value is supported when using non-native detection
|
1236 |
+
* @example
|
1237 |
+
*
|
1238 |
+
* testAllProps determines whether a given CSS property, in some prefixed form,
|
1239 |
+
* is supported by the browser.
|
1240 |
+
*
|
1241 |
+
* ```js
|
1242 |
+
* testAllProps('boxSizing') // true
|
1243 |
+
* ```
|
1244 |
+
*
|
1245 |
+
* It can optionally be given a CSS value in string form to test if a property
|
1246 |
+
* value is valid
|
1247 |
+
*
|
1248 |
+
* ```js
|
1249 |
+
* testAllProps('display', 'block') // true
|
1250 |
+
* testAllProps('display', 'penguin') // false
|
1251 |
+
* ```
|
1252 |
+
*
|
1253 |
+
* A boolean can be passed as a third parameter to skip the value check when
|
1254 |
+
* native detection (@supports) isn't available.
|
1255 |
+
*
|
1256 |
+
* ```js
|
1257 |
+
* testAllProps('shapeOutside', 'content-box', true);
|
1258 |
+
* ```
|
1259 |
+
*/
|
1260 |
+
|
1261 |
+
function testAllProps(prop, value, skipValueTest) {
|
1262 |
+
return testPropsAll(prop, undefined, undefined, value, skipValueTest);
|
1263 |
+
}
|
1264 |
+
ModernizrProto.testAllProps = testAllProps;
|
1265 |
+
|
1266 |
+
/*!
|
1267 |
+
{
|
1268 |
+
"name": "Flexbox",
|
1269 |
+
"property": "flexbox",
|
1270 |
+
"caniuse": "flexbox",
|
1271 |
+
"tags": ["css"],
|
1272 |
+
"notes": [{
|
1273 |
+
"name": "The _new_ flexbox",
|
1274 |
+
"href": "http://dev.w3.org/csswg/css3-flexbox"
|
1275 |
+
}],
|
1276 |
+
"warnings": [
|
1277 |
+
"A `true` result for this detect does not imply that the `flex-wrap` property is supported; see the `flexwrap` detect."
|
1278 |
+
]
|
1279 |
+
}
|
1280 |
+
!*/
|
1281 |
+
/* DOC
|
1282 |
+
Detects support for the Flexible Box Layout model, a.k.a. Flexbox, which allows easy manipulation of layout order and sizing within a container.
|
1283 |
+
*/
|
1284 |
+
|
1285 |
+
Modernizr.addTest('flexbox', testAllProps('flexBasis', '1px', true));
|
1286 |
+
|
1287 |
+
/*!
|
1288 |
+
{
|
1289 |
+
"name": "Flexbox (legacy)",
|
1290 |
+
"property": "flexboxlegacy",
|
1291 |
+
"tags": ["css"],
|
1292 |
+
"polyfills": ["flexie"],
|
1293 |
+
"notes": [{
|
1294 |
+
"name": "The _old_ flexbox",
|
1295 |
+
"href": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/"
|
1296 |
+
}]
|
1297 |
+
}
|
1298 |
+
!*/
|
1299 |
+
|
1300 |
+
Modernizr.addTest('flexboxlegacy', testAllProps('boxDirection', 'reverse', true));
|
1301 |
+
|
1302 |
+
/*!
|
1303 |
+
{
|
1304 |
+
"name": "CSS Transforms",
|
1305 |
+
"property": "csstransforms",
|
1306 |
+
"caniuse": "transforms2d",
|
1307 |
+
"tags": ["css"]
|
1308 |
+
}
|
1309 |
+
!*/
|
1310 |
+
|
1311 |
+
Modernizr.addTest('csstransforms', function() {
|
1312 |
+
// Android < 3.0 is buggy, so we sniff and blacklist
|
1313 |
+
// http://git.io/hHzL7w
|
1314 |
+
return navigator.userAgent.indexOf('Android 2.') === -1 &&
|
1315 |
+
testAllProps('transform', 'scale(1)', true);
|
1316 |
+
});
|
1317 |
+
|
1318 |
+
/*!
|
1319 |
+
{
|
1320 |
+
"name": "CSS Transforms 3D",
|
1321 |
+
"property": "csstransforms3d",
|
1322 |
+
"caniuse": "transforms3d",
|
1323 |
+
"tags": ["css"],
|
1324 |
+
"warnings": [
|
1325 |
+
"Chrome may occassionally fail this test on some systems; more info: https://code.google.com/p/chromium/issues/detail?id=129004"
|
1326 |
+
]
|
1327 |
+
}
|
1328 |
+
!*/
|
1329 |
+
|
1330 |
+
Modernizr.addTest('csstransforms3d', function() {
|
1331 |
+
var ret = !!testAllProps('perspective', '1px', true);
|
1332 |
+
var usePrefix = Modernizr._config.usePrefixes;
|
1333 |
+
|
1334 |
+
// Webkit's 3D transforms are passed off to the browser's own graphics renderer.
|
1335 |
+
// It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in
|
1336 |
+
// some conditions. As a result, Webkit typically recognizes the syntax but
|
1337 |
+
// will sometimes throw a false positive, thus we must do a more thorough check:
|
1338 |
+
if (ret && (!usePrefix || 'webkitPerspective' in docElement.style)) {
|
1339 |
+
var mq;
|
1340 |
+
var defaultStyle = '#modernizr{width:0;height:0}';
|
1341 |
+
// Use CSS Conditional Rules if available
|
1342 |
+
if (Modernizr.supports) {
|
1343 |
+
mq = '@supports (perspective: 1px)';
|
1344 |
+
} else {
|
1345 |
+
// Otherwise, Webkit allows this media query to succeed only if the feature is enabled.
|
1346 |
+
// `@media (transform-3d),(-webkit-transform-3d){ ... }`
|
1347 |
+
mq = '@media (transform-3d)';
|
1348 |
+
if (usePrefix) {
|
1349 |
+
mq += ',(-webkit-transform-3d)';
|
1350 |
+
}
|
1351 |
+
}
|
1352 |
+
|
1353 |
+
mq += '{#modernizr{width:7px;height:18px;margin:0;padding:0;border:0}}';
|
1354 |
+
|
1355 |
+
testStyles(defaultStyle + mq, function(elem) {
|
1356 |
+
ret = elem.offsetWidth === 7 && elem.offsetHeight === 18;
|
1357 |
+
});
|
1358 |
+
}
|
1359 |
+
|
1360 |
+
return ret;
|
1361 |
+
});
|
1362 |
+
|
1363 |
+
|
1364 |
+
// Run each test
|
1365 |
+
testRunner();
|
1366 |
+
|
1367 |
+
// Remove the "no-js" class if it exists
|
1368 |
+
setClasses(classes);
|
1369 |
+
|
1370 |
+
delete ModernizrProto.addTest;
|
1371 |
+
delete ModernizrProto.addAsyncTest;
|
1372 |
+
|
1373 |
+
// Run the things that are supposed to run after the tests
|
1374 |
+
for (var i = 0; i < Modernizr._q.length; i++) {
|
1375 |
+
Modernizr._q[i]();
|
1376 |
+
}
|
1377 |
+
|
1378 |
+
// Leak Modernizr namespace
|
1379 |
+
window.lvcaModernizr = Modernizr;
|
1380 |
+
|
1381 |
+
|
1382 |
+
;
|
1383 |
+
|
1384 |
+
})(window, document);
|
assets/js/modernizr-custom.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
(function(window,document,undefined){var classes=[];var tests=[];var ModernizrProto={_version:"3.3.1",_config:{classPrefix:"lvca-",enableClasses:true,enableJSClass:true,usePrefixes:true},_q:[],on:function(test,cb){var self=this;setTimeout(function(){cb(self[test])},0)},addTest:function(name,fn,options){tests.push({name:name,fn:fn,options:options})},addAsyncTest:function(fn){tests.push({name:null,fn:fn})}};var Modernizr=function(){};Modernizr.prototype=ModernizrProto;Modernizr=new Modernizr;function is(obj,type){return typeof obj===type}function testRunner(){var featureNames;var feature;var aliasIdx;var result;var nameIdx;var featureName;var featureNameSplit;for(var featureIdx in tests){if(tests.hasOwnProperty(featureIdx)){featureNames=[];feature=tests[featureIdx];if(feature.name){featureNames.push(feature.name.toLowerCase());if(feature.options&&feature.options.aliases&&feature.options.aliases.length){for(aliasIdx=0;aliasIdx<feature.options.aliases.length;aliasIdx++){featureNames.push(feature.options.aliases[aliasIdx].toLowerCase())}}}result=is(feature.fn,"function")?feature.fn():feature.fn;for(nameIdx=0;nameIdx<featureNames.length;nameIdx++){featureName=featureNames[nameIdx];featureNameSplit=featureName.split(".");if(featureNameSplit.length===1){Modernizr[featureNameSplit[0]]=result}else{if(Modernizr[featureNameSplit[0]]&&!(Modernizr[featureNameSplit[0]]instanceof Boolean)){Modernizr[featureNameSplit[0]]=new Boolean(Modernizr[featureNameSplit[0]])}Modernizr[featureNameSplit[0]][featureNameSplit[1]]=result}classes.push((result?"":"no-")+featureNameSplit.join("-"))}}}}var docElement=document.documentElement;var isSVG=docElement.nodeName.toLowerCase()==="svg";function setClasses(classes){var className=docElement.className;var classPrefix=Modernizr._config.classPrefix||"";if(isSVG){className=className.baseVal}if(Modernizr._config.enableJSClass){var reJS=new RegExp("(^|\\s)"+classPrefix+"no-js(\\s|$)");className=className.replace(reJS,"$1"+classPrefix+"js$2")}if(Modernizr._config.enableClasses){className+=" "+classPrefix+classes.join(" "+classPrefix);isSVG?docElement.className.baseVal=className:docElement.className=className}}var html5;if(!isSVG){(function(window,document){var version="3.7.3";var options=window.html5||{};var reSkip=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;var saveClones=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;var supportsHtml5Styles;var expando="_html5shiv";var expanID=0;var expandoData={};var supportsUnknownElements;(function(){try{var a=document.createElement("a");a.innerHTML="<xyz></xyz>";supportsHtml5Styles="hidden"in a;supportsUnknownElements=a.childNodes.length==1||function(){document.createElement("a");var frag=document.createDocumentFragment();return typeof frag.cloneNode=="undefined"||typeof frag.createDocumentFragment=="undefined"||typeof frag.createElement=="undefined"}()}catch(e){supportsHtml5Styles=true;supportsUnknownElements=true}})();function addStyleSheet(ownerDocument,cssText){var p=ownerDocument.createElement("p"),parent=ownerDocument.getElementsByTagName("head")[0]||ownerDocument.documentElement;p.innerHTML="x<style>"+cssText+"</style>";return parent.insertBefore(p.lastChild,parent.firstChild)}function getElements(){var elements=html5.elements;return typeof elements=="string"?elements.split(" "):elements}function addElements(newElements,ownerDocument){var elements=html5.elements;if(typeof elements!="string"){elements=elements.join(" ")}if(typeof newElements!="string"){newElements=newElements.join(" ")}html5.elements=elements+" "+newElements;shivDocument(ownerDocument)}function getExpandoData(ownerDocument){var data=expandoData[ownerDocument[expando]];if(!data){data={};expanID++;ownerDocument[expando]=expanID;expandoData[expanID]=data}return data}function createElement(nodeName,ownerDocument,data){if(!ownerDocument){ownerDocument=document}if(supportsUnknownElements){return ownerDocument.createElement(nodeName)}if(!data){data=getExpandoData(ownerDocument)}var node;if(data.cache[nodeName]){node=data.cache[nodeName].cloneNode()}else if(saveClones.test(nodeName)){node=(data.cache[nodeName]=data.createElem(nodeName)).cloneNode()}else{node=data.createElem(nodeName)}return node.canHaveChildren&&!reSkip.test(nodeName)&&!node.tagUrn?data.frag.appendChild(node):node}function createDocumentFragment(ownerDocument,data){if(!ownerDocument){ownerDocument=document}if(supportsUnknownElements){return ownerDocument.createDocumentFragment()}data=data||getExpandoData(ownerDocument);var clone=data.frag.cloneNode(),i=0,elems=getElements(),l=elems.length;for(;i<l;i++){clone.createElement(elems[i])}return clone}function shivMethods(ownerDocument,data){if(!data.cache){data.cache={};data.createElem=ownerDocument.createElement;data.createFrag=ownerDocument.createDocumentFragment;data.frag=data.createFrag()}ownerDocument.createElement=function(nodeName){if(!html5.shivMethods){return data.createElem(nodeName)}return createElement(nodeName,ownerDocument,data)};ownerDocument.createDocumentFragment=Function("h,f","return function(){"+"var n=f.cloneNode(),c=n.createElement;"+"h.shivMethods&&("+getElements().join().replace(/[\w\-:]+/g,function(nodeName){data.createElem(nodeName);data.frag.createElement(nodeName);return'c("'+nodeName+'")'})+");return n}")(html5,data.frag)}function shivDocument(ownerDocument){if(!ownerDocument){ownerDocument=document}var data=getExpandoData(ownerDocument);if(html5.shivCSS&&!supportsHtml5Styles&&!data.hasCSS){data.hasCSS=!!addStyleSheet(ownerDocument,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}"+"mark{background:#FF0;color:#000}"+"template{display:none}")}if(!supportsUnknownElements){shivMethods(ownerDocument,data)}return ownerDocument}var html5={elements:options.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:version,shivCSS:options.shivCSS!==false,supportsUnknownElements:supportsUnknownElements,shivMethods:options.shivMethods!==false,type:"default",shivDocument:shivDocument,createElement:createElement,createDocumentFragment:createDocumentFragment,addElements:addElements};window.html5=html5;shivDocument(document);if(typeof module=="object"&&module.exports){module.exports=html5}})(typeof window!=="undefined"?window:this,document)}var prefixes=ModernizrProto._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""];ModernizrProto._prefixes=prefixes;var newSyntax="CSS"in window&&"supports"in window.CSS;var oldSyntax="supportsCSS"in window;Modernizr.addTest("supports",newSyntax||oldSyntax);function createElement(){if(typeof document.createElement!=="function"){return document.createElement(arguments[0])}else if(isSVG){return document.createElementNS.call(document,"http://www.w3.org/2000/svg",arguments[0])}else{return document.createElement.apply(document,arguments)}}function getBody(){var body=document.body;if(!body){body=createElement(isSVG?"svg":"body");body.fake=true}return body}function injectElementWithStyles(rule,callback,nodes,testnames){var mod="modernizr";var style;var ret;var node;var docOverflow;var div=createElement("div");var body=getBody();if(parseInt(nodes,10)){while(nodes--){node=createElement("div");node.id=testnames?testnames[nodes]:mod+(nodes+1);div.appendChild(node)}}style=createElement("style");style.type="text/css";style.id="s"+mod;(!body.fake?div:body).appendChild(style);body.appendChild(div);if(style.styleSheet){style.styleSheet.cssText=rule}else{style.appendChild(document.createTextNode(rule))}div.id=mod;if(body.fake){body.style.background="";body.style.overflow="hidden";docOverflow=docElement.style.overflow;docElement.style.overflow="hidden";docElement.appendChild(body)}ret=callback(div,rule);if(body.fake){body.parentNode.removeChild(body);docElement.style.overflow=docOverflow;docElement.offsetHeight}else{div.parentNode.removeChild(div)}return!!ret}var testStyles=ModernizrProto.testStyles=injectElementWithStyles;Modernizr.addTest("touchevents",function(){var bool;if("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch){bool=true}else{var query=["@media (",prefixes.join("touch-enabled),("),"heartz",")","{#modernizr{top:9px;position:absolute}}"].join("");testStyles(query,function(node){bool=node.offsetTop===9})}return bool});var omPrefixes="Moz O ms Webkit";var cssomPrefixes=ModernizrProto._config.usePrefixes?omPrefixes.split(" "):[];ModernizrProto._cssomPrefixes=cssomPrefixes;var domPrefixes=ModernizrProto._config.usePrefixes?omPrefixes.toLowerCase().split(" "):[];ModernizrProto._domPrefixes=domPrefixes;function contains(str,substr){return!!~(""+str).indexOf(substr)}function cssToDOM(name){return name.replace(/([a-z])-([a-z])/g,function(str,m1,m2){return m1+m2.toUpperCase()}).replace(/^-/,"")}function fnBind(fn,that){return function(){return fn.apply(that,arguments)}}function testDOMProps(props,obj,elem){var item;for(var i in props){if(props[i]in obj){if(elem===false){return props[i]}item=obj[props[i]];if(is(item,"function")){return fnBind(item,elem||obj)}return item}}return false}var modElem={elem:createElement("modernizr")};Modernizr._q.push(function(){delete modElem.elem});var mStyle={style:modElem.elem.style};Modernizr._q.unshift(function(){delete mStyle.style});function domToCSS(name){return name.replace(/([A-Z])/g,function(str,m1){return"-"+m1.toLowerCase()}).replace(/^ms-/,"-ms-")}function nativeTestProps(props,value){var i=props.length;if("CSS"in window&&"supports"in window.CSS){while(i--){if(window.CSS.supports(domToCSS(props[i]),value)){return true}}return false}else if("CSSSupportsRule"in window){var conditionText=[];while(i--){conditionText.push("("+domToCSS(props[i])+":"+value+")")}conditionText=conditionText.join(" or ");return injectElementWithStyles("@supports ("+conditionText+") { #modernizr { position: absolute; } }",function(node){return getComputedStyle(node,null).position=="absolute"})}return undefined}function testProps(props,prefixed,value,skipValueTest){skipValueTest=is(skipValueTest,"undefined")?false:skipValueTest;if(!is(value,"undefined")){var result=nativeTestProps(props,value);if(!is(result,"undefined")){return result}}var afterInit,i,propsLength,prop,before;var elems=["modernizr","tspan"];while(!mStyle.style){afterInit=true;mStyle.modElem=createElement(elems.shift());mStyle.style=mStyle.modElem.style}function cleanElems(){if(afterInit){delete mStyle.style;delete mStyle.modElem}}propsLength=props.length;for(i=0;i<propsLength;i++){prop=props[i];before=mStyle.style[prop];if(contains(prop,"-")){prop=cssToDOM(prop)}if(mStyle.style[prop]!==undefined){if(!skipValueTest&&!is(value,"undefined")){try{mStyle.style[prop]=value}catch(e){}if(mStyle.style[prop]!=before){cleanElems();return prefixed=="pfx"?prop:true}}else{cleanElems();return prefixed=="pfx"?prop:true}}}cleanElems();return false}function testPropsAll(prop,prefixed,elem,value,skipValueTest){var ucProp=prop.charAt(0).toUpperCase()+prop.slice(1),props=(prop+" "+cssomPrefixes.join(ucProp+" ")+ucProp).split(" ");if(is(prefixed,"string")||is(prefixed,"undefined")){return testProps(props,prefixed,value,skipValueTest)}else{props=(prop+" "+domPrefixes.join(ucProp+" ")+ucProp).split(" ");return testDOMProps(props,prefixed,elem)}}ModernizrProto.testAllProps=testPropsAll;function testAllProps(prop,value,skipValueTest){return testPropsAll(prop,undefined,undefined,value,skipValueTest)}ModernizrProto.testAllProps=testAllProps;Modernizr.addTest("flexbox",testAllProps("flexBasis","1px",true));Modernizr.addTest("flexboxlegacy",testAllProps("boxDirection","reverse",true));Modernizr.addTest("csstransforms",function(){return navigator.userAgent.indexOf("Android 2.")===-1&&testAllProps("transform","scale(1)",true)});Modernizr.addTest("csstransforms3d",function(){var ret=!!testAllProps("perspective","1px",true);var usePrefix=Modernizr._config.usePrefixes;if(ret&&(!usePrefix||"webkitPerspective"in docElement.style)){var mq;var defaultStyle="#modernizr{width:0;height:0}";if(Modernizr.supports){mq="@supports (perspective: 1px)"}else{mq="@media (transform-3d)";if(usePrefix){mq+=",(-webkit-transform-3d)"}}mq+="{#modernizr{width:7px;height:18px;margin:0;padding:0;border:0}}";testStyles(defaultStyle+mq,function(elem){ret=elem.offsetWidth===7&&elem.offsetHeight===18})}return ret});testRunner();setClasses(classes);delete ModernizrProto.addTest;delete ModernizrProto.addAsyncTest;for(var i=0;i<Modernizr._q.length;i++){Modernizr._q[i]()}window.lvcaModernizr=Modernizr})(window,document);
|
assets/js/slick.js
ADDED
@@ -0,0 +1,2670 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
_ _ _ _
|
3 |
+
___| (_) ___| | __ (_)___
|
4 |
+
/ __| | |/ __| |/ / | / __|
|
5 |
+
\__ \ | | (__| < _ | \__ \
|
6 |
+
|___/_|_|\___|_|\_(_)/ |___/
|
7 |
+
|__/
|
8 |
+
|
9 |
+
Version: 1.5.9
|
10 |
+
Author: Ken Wheeler
|
11 |
+
Website: http://kenwheeler.github.io
|
12 |
+
Docs: http://kenwheeler.github.io/slick
|
13 |
+
Repo: http://github.com/kenwheeler/slick
|
14 |
+
Issues: http://github.com/kenwheeler/slick/issues
|
15 |
+
|
16 |
+
*/
|
17 |
+
/* global window, document, define, jQuery, setInterval, clearInterval */
|
18 |
+
(function(factory) {
|
19 |
+
'use strict';
|
20 |
+
if (typeof define === 'function' && define.amd) {
|
21 |
+
define(['jquery'], factory);
|
22 |
+
} else if (typeof exports !== 'undefined') {
|
23 |
+
module.exports = factory(require('jquery'));
|
24 |
+
} else {
|
25 |
+
factory(jQuery);
|
26 |
+
}
|
27 |
+
|
28 |
+
}(function($) {
|
29 |
+
'use strict';
|
30 |
+
var Slick = window.Slick || {};
|
31 |
+
|
32 |
+
Slick = (function() {
|
33 |
+
|
34 |
+
var instanceUid = 0;
|
35 |
+
|
36 |
+
function Slick(element, settings) {
|
37 |
+
|
38 |
+
var _ = this, dataSettings;
|
39 |
+
|
40 |
+
_.defaults = {
|
41 |
+
accessibility: true,
|
42 |
+
adaptiveHeight: false,
|
43 |
+
appendArrows: $(element),
|
44 |
+
appendDots: $(element),
|
45 |
+
arrows: true,
|
46 |
+
asNavFor: null,
|
47 |
+
prevArrow: '<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',
|
48 |
+
nextArrow: '<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',
|
49 |
+
autoplay: false,
|
50 |
+
autoplaySpeed: 3000,
|
51 |
+
centerMode: false,
|
52 |
+
centerPadding: '50px',
|
53 |
+
cssEase: 'ease',
|
54 |
+
customPaging: function(slider, i) {
|
55 |
+
return '<button type="button" data-role="none" role="button" aria-required="false" tabindex="0">' + (i + 1) + '</button>';
|
56 |
+
},
|
57 |
+
dots: false,
|
58 |
+
dotsClass: 'slick-dots',
|
59 |
+
draggable: true,
|
60 |
+
easing: 'linear',
|
61 |
+
edgeFriction: 0.35,
|
62 |
+
fade: false,
|
63 |
+
focusOnSelect: false,
|
64 |
+
infinite: true,
|
65 |
+
initialSlide: 0,
|
66 |
+
lazyLoad: 'ondemand',
|
67 |
+
mobileFirst: false,
|
68 |
+
pauseOnHover: true,
|
69 |
+
pauseOnDotsHover: false,
|
70 |
+
respondTo: 'window',
|
71 |
+
responsive: null,
|
72 |
+
rows: 1,
|
73 |
+
rtl: false,
|
74 |
+
slide: '',
|
75 |
+
slidesPerRow: 1,
|
76 |
+
slidesToShow: 1,
|
77 |
+
slidesToScroll: 1,
|
78 |
+
speed: 500,
|
79 |
+
swipe: true,
|
80 |
+
swipeToSlide: false,
|
81 |
+
touchMove: true,
|
82 |
+
touchThreshold: 5,
|
83 |
+
useCSS: true,
|
84 |
+
useTransform: false,
|
85 |
+
variableWidth: false,
|
86 |
+
vertical: false,
|
87 |
+
verticalSwiping: false,
|
88 |
+
waitForAnimate: true,
|
89 |
+
zIndex: 1000
|
90 |
+
};
|
91 |
+
|
92 |
+
_.initials = {
|
93 |
+
animating: false,
|
94 |
+
dragging: false,
|
95 |
+
autoPlayTimer: null,
|
96 |
+
currentDirection: 0,
|
97 |
+
currentLeft: null,
|
98 |
+
currentSlide: 0,
|
99 |
+
direction: 1,
|
100 |
+
$dots: null,
|
101 |
+
listWidth: null,
|
102 |
+
listHeight: null,
|
103 |
+
loadIndex: 0,
|
104 |
+
$nextArrow: null,
|
105 |
+
$prevArrow: null,
|
106 |
+
slideCount: null,
|
107 |
+
slideWidth: null,
|
108 |
+
$slideTrack: null,
|
109 |
+
$slides: null,
|
110 |
+
sliding: false,
|
111 |
+
slideOffset: 0,
|
112 |
+
swipeLeft: null,
|
113 |
+
$list: null,
|
114 |
+
touchObject: {},
|
115 |
+
transformsEnabled: false,
|
116 |
+
unslicked: false
|
117 |
+
};
|
118 |
+
|
119 |
+
$.extend(_, _.initials);
|
120 |
+
|
121 |
+
_.activeBreakpoint = null;
|
122 |
+
_.animType = null;
|
123 |
+
_.animProp = null;
|
124 |
+
_.breakpoints = [];
|
125 |
+
_.breakpointSettings = [];
|
126 |
+
_.cssTransitions = false;
|
127 |
+
_.hidden = 'hidden';
|
128 |
+
_.paused = false;
|
129 |
+
_.positionProp = null;
|
130 |
+
_.respondTo = null;
|
131 |
+
_.rowCount = 1;
|
132 |
+
_.shouldClick = true;
|
133 |
+
_.$slider = $(element);
|
134 |
+
_.$slidesCache = null;
|
135 |
+
_.transformType = null;
|
136 |
+
_.transitionType = null;
|
137 |
+
_.visibilityChange = 'visibilitychange';
|
138 |
+
_.windowWidth = 0;
|
139 |
+
_.windowTimer = null;
|
140 |
+
|
141 |
+
dataSettings = $(element).data('slick') || {};
|
142 |
+
|
143 |
+
_.options = $.extend({}, _.defaults, dataSettings, settings);
|
144 |
+
|
145 |
+
_.currentSlide = _.options.initialSlide;
|
146 |
+
|
147 |
+
_.originalSettings = _.options;
|
148 |
+
|
149 |
+
if (typeof document.mozHidden !== 'undefined') {
|
150 |
+
_.hidden = 'mozHidden';
|
151 |
+
_.visibilityChange = 'mozvisibilitychange';
|
152 |
+
} else if (typeof document.webkitHidden !== 'undefined') {
|
153 |
+
_.hidden = 'webkitHidden';
|
154 |
+
_.visibilityChange = 'webkitvisibilitychange';
|
155 |
+
}
|
156 |
+
|
157 |
+
_.autoPlay = $.proxy(_.autoPlay, _);
|
158 |
+
_.autoPlayClear = $.proxy(_.autoPlayClear, _);
|
159 |
+
_.changeSlide = $.proxy(_.changeSlide, _);
|
160 |
+
_.clickHandler = $.proxy(_.clickHandler, _);
|
161 |
+
_.selectHandler = $.proxy(_.selectHandler, _);
|
162 |
+
_.setPosition = $.proxy(_.setPosition, _);
|
163 |
+
_.swipeHandler = $.proxy(_.swipeHandler, _);
|
164 |
+
_.dragHandler = $.proxy(_.dragHandler, _);
|
165 |
+
_.keyHandler = $.proxy(_.keyHandler, _);
|
166 |
+
_.autoPlayIterator = $.proxy(_.autoPlayIterator, _);
|
167 |
+
|
168 |
+
_.instanceUid = instanceUid++;
|
169 |
+
|
170 |
+
// A simple way to check for HTML strings
|
171 |
+
// Strict HTML recognition (must start with <)
|
172 |
+
// Extracted from jQuery v1.11 source
|
173 |
+
_.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/;
|
174 |
+
|
175 |
+
|
176 |
+
_.registerBreakpoints();
|
177 |
+
_.init(true);
|
178 |
+
_.checkResponsive(true);
|
179 |
+
|
180 |
+
}
|
181 |
+
|
182 |
+
return Slick;
|
183 |
+
|
184 |
+
}());
|
185 |
+
|
186 |
+
Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) {
|
187 |
+
|
188 |
+
var _ = this;
|
189 |
+
|
190 |
+
if (typeof(index) === 'boolean') {
|
191 |
+
addBefore = index;
|
192 |
+
index = null;
|
193 |
+
} else if (index < 0 || (index >= _.slideCount)) {
|
194 |
+
return false;
|
195 |
+
}
|
196 |
+
|
197 |
+
_.unload();
|
198 |
+
|
199 |
+
if (typeof(index) === 'number') {
|
200 |
+
if (index === 0 && _.$slides.length === 0) {
|
201 |
+
$(markup).appendTo(_.$slideTrack);
|
202 |
+
} else if (addBefore) {
|
203 |
+
$(markup).insertBefore(_.$slides.eq(index));
|
204 |
+
} else {
|
205 |
+
$(markup).insertAfter(_.$slides.eq(index));
|
206 |
+
}
|
207 |
+
} else {
|
208 |
+
if (addBefore === true) {
|
209 |
+
$(markup).prependTo(_.$slideTrack);
|
210 |
+
} else {
|
211 |
+
$(markup).appendTo(_.$slideTrack);
|
212 |
+
}
|
213 |
+
}
|
214 |
+
|
215 |
+
_.$slides = _.$slideTrack.children(this.options.slide);
|
216 |
+
|
217 |
+
_.$slideTrack.children(this.options.slide).detach();
|
218 |
+
|
219 |
+
_.$slideTrack.append(_.$slides);
|
220 |
+
|
221 |
+
_.$slides.each(function(index, element) {
|
222 |
+
$(element).attr('data-slick-index', index);
|
223 |
+
});
|
224 |
+
|
225 |
+
_.$slidesCache = _.$slides;
|
226 |
+
|
227 |
+
_.reinit();
|
228 |
+
|
229 |
+
};
|
230 |
+
|
231 |
+
Slick.prototype.animateHeight = function() {
|
232 |
+
var _ = this;
|
233 |
+
if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
|
234 |
+
var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
|
235 |
+
_.$list.animate({
|
236 |
+
height: targetHeight
|
237 |
+
}, _.options.speed);
|
238 |
+
}
|
239 |
+
};
|
240 |
+
|
241 |
+
Slick.prototype.animateSlide = function(targetLeft, callback) {
|
242 |
+
|
243 |
+
var animProps = {},
|
244 |
+
_ = this;
|
245 |
+
|
246 |
+
_.animateHeight();
|
247 |
+
|
248 |
+
if (_.options.rtl === true && _.options.vertical === false) {
|
249 |
+
targetLeft = -targetLeft;
|
250 |
+
}
|
251 |
+
if (_.transformsEnabled === false) {
|
252 |
+
if (_.options.vertical === false) {
|
253 |
+
_.$slideTrack.animate({
|
254 |
+
left: targetLeft
|
255 |
+
}, _.options.speed, _.options.easing, callback);
|
256 |
+
} else {
|
257 |
+
_.$slideTrack.animate({
|
258 |
+
top: targetLeft
|
259 |
+
}, _.options.speed, _.options.easing, callback);
|
260 |
+
}
|
261 |
+
|
262 |
+
} else {
|
263 |
+
|
264 |
+
if (_.cssTransitions === false) {
|
265 |
+
if (_.options.rtl === true) {
|
266 |
+
_.currentLeft = -(_.currentLeft);
|
267 |
+
}
|
268 |
+
$({
|
269 |
+
animStart: _.currentLeft
|
270 |
+
}).animate({
|
271 |
+
animStart: targetLeft
|
272 |
+
}, {
|
273 |
+
duration: _.options.speed,
|
274 |
+
easing: _.options.easing,
|
275 |
+
step: function(now) {
|
276 |
+
now = Math.ceil(now);
|
277 |
+
if (_.options.vertical === false) {
|
278 |
+
animProps[_.animType] = 'translate(' +
|
279 |
+
now + 'px, 0px)';
|
280 |
+
_.$slideTrack.css(animProps);
|
281 |
+
} else {
|
282 |
+
animProps[_.animType] = 'translate(0px,' +
|
283 |
+
now + 'px)';
|
284 |
+
_.$slideTrack.css(animProps);
|
285 |
+
}
|
286 |
+
},
|
287 |
+
complete: function() {
|
288 |
+
if (callback) {
|
289 |
+
callback.call();
|
290 |
+
}
|
291 |
+
}
|
292 |
+
});
|
293 |
+
|
294 |
+
} else {
|
295 |
+
|
296 |
+
_.applyTransition();
|
297 |
+
targetLeft = Math.ceil(targetLeft);
|
298 |
+
|
299 |
+
if (_.options.vertical === false) {
|
300 |
+
animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)';
|
301 |
+
} else {
|
302 |
+
animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)';
|
303 |
+
}
|
304 |
+
_.$slideTrack.css(animProps);
|
305 |
+
|
306 |
+
if (callback) {
|
307 |
+
setTimeout(function() {
|
308 |
+
|
309 |
+
_.disableTransition();
|
310 |
+
|
311 |
+
callback.call();
|
312 |
+
}, _.options.speed);
|
313 |
+
}
|
314 |
+
|
315 |
+
}
|
316 |
+
|
317 |
+
}
|
318 |
+
|
319 |
+
};
|
320 |
+
|
321 |
+
Slick.prototype.asNavFor = function(index) {
|
322 |
+
|
323 |
+
var _ = this,
|
324 |
+
asNavFor = _.options.asNavFor;
|
325 |
+
|
326 |
+
if ( asNavFor && asNavFor !== null ) {
|
327 |
+
asNavFor = $(asNavFor).not(_.$slider);
|
328 |
+
}
|
329 |
+
|
330 |
+
if ( asNavFor !== null && typeof asNavFor === 'object' ) {
|
331 |
+
asNavFor.each(function() {
|
332 |
+
var target = $(this).slick('getSlick');
|
333 |
+
if(!target.unslicked) {
|
334 |
+
target.slideHandler(index, true);
|
335 |
+
}
|
336 |
+
});
|
337 |
+
}
|
338 |
+
|
339 |
+
};
|
340 |
+
|
341 |
+
Slick.prototype.applyTransition = function(slide) {
|
342 |
+
|
343 |
+
var _ = this,
|
344 |
+
transition = {};
|
345 |
+
|
346 |
+
if (_.options.fade === false) {
|
347 |
+
transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase;
|
348 |
+
} else {
|
349 |
+
transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase;
|
350 |
+
}
|
351 |
+
|
352 |
+
if (_.options.fade === false) {
|
353 |
+
_.$slideTrack.css(transition);
|
354 |
+
} else {
|
355 |
+
_.$slides.eq(slide).css(transition);
|
356 |
+
}
|
357 |
+
|
358 |
+
};
|
359 |
+
|
360 |
+
Slick.prototype.autoPlay = function() {
|
361 |
+
|
362 |
+
var _ = this;
|
363 |
+
|
364 |
+
if (_.autoPlayTimer) {
|
365 |
+
clearInterval(_.autoPlayTimer);
|
366 |
+
}
|
367 |
+
|
368 |
+
if (_.slideCount > _.options.slidesToShow && _.paused !== true) {
|
369 |
+
_.autoPlayTimer = setInterval(_.autoPlayIterator,
|
370 |
+
_.options.autoplaySpeed);
|
371 |
+
}
|
372 |
+
|
373 |
+
};
|
374 |
+
|
375 |
+
Slick.prototype.autoPlayClear = function() {
|
376 |
+
|
377 |
+
var _ = this;
|
378 |
+
if (_.autoPlayTimer) {
|
379 |
+
clearInterval(_.autoPlayTimer);
|
380 |
+
}
|
381 |
+
|
382 |
+
};
|
383 |
+
|
384 |
+
Slick.prototype.autoPlayIterator = function() {
|
385 |
+
|
386 |
+
var _ = this;
|
387 |
+
|
388 |
+
if (_.options.infinite === false) {
|
389 |
+
|
390 |
+
if (_.direction === 1) {
|
391 |
+
|
392 |
+
if ((_.currentSlide + 1) === _.slideCount -
|
393 |
+
1) {
|
394 |
+
_.direction = 0;
|
395 |
+
}
|
396 |
+
|
397 |
+
_.slideHandler(_.currentSlide + _.options.slidesToScroll);
|
398 |
+
|
399 |
+
} else {
|
400 |
+
|
401 |
+
if ((_.currentSlide - 1 === 0)) {
|
402 |
+
|
403 |
+
_.direction = 1;
|
404 |
+
|
405 |
+
}
|
406 |
+
|
407 |
+
_.slideHandler(_.currentSlide - _.options.slidesToScroll);
|
408 |
+
|
409 |
+
}
|
410 |
+
|
411 |
+
} else {
|
412 |
+
|
413 |
+
_.slideHandler(_.currentSlide + _.options.slidesToScroll);
|
414 |
+
|
415 |
+
}
|
416 |
+
|
417 |
+
};
|
418 |
+
|
419 |
+
Slick.prototype.buildArrows = function() {
|
420 |
+
|
421 |
+
var _ = this;
|
422 |
+
|
423 |
+
if (_.options.arrows === true ) {
|
424 |
+
|
425 |
+
_.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow');
|
426 |
+
_.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow');
|
427 |
+
|
428 |
+
if( _.slideCount > _.options.slidesToShow ) {
|
429 |
+
|
430 |
+
_.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
|
431 |
+
_.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
|
432 |
+
|
433 |
+
if (_.htmlExpr.test(_.options.prevArrow)) {
|
434 |
+
_.$prevArrow.prependTo(_.options.appendArrows);
|
435 |
+
}
|
436 |
+
|
437 |
+
if (_.htmlExpr.test(_.options.nextArrow)) {
|
438 |
+
_.$nextArrow.appendTo(_.options.appendArrows);
|
439 |
+
}
|
440 |
+
|
441 |
+
if (_.options.infinite !== true) {
|
442 |
+
_.$prevArrow
|
443 |
+
.addClass('slick-disabled')
|
444 |
+
.attr('aria-disabled', 'true');
|
445 |
+
}
|
446 |
+
|
447 |
+
} else {
|
448 |
+
|
449 |
+
_.$prevArrow.add( _.$nextArrow )
|
450 |
+
|
451 |
+
.addClass('slick-hidden')
|
452 |
+
.attr({
|
453 |
+
'aria-disabled': 'true',
|
454 |
+
'tabindex': '-1'
|
455 |
+
});
|
456 |
+
|
457 |
+
}
|
458 |
+
|
459 |
+
}
|
460 |
+
|
461 |
+
};
|
462 |
+
|
463 |
+
Slick.prototype.buildDots = function() {
|
464 |
+
|
465 |
+
var _ = this,
|
466 |
+
i, dotString;
|
467 |
+
|
468 |
+
if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
|
469 |
+
|
470 |
+
dotString = '<ul class="' + _.options.dotsClass + '">';
|
471 |
+
|
472 |
+
for (i = 0; i <= _.getDotCount(); i += 1) {
|
473 |
+
dotString += '<li>' + _.options.customPaging.call(this, _, i) + '</li>';
|
474 |
+
}
|
475 |
+
|
476 |
+
dotString += '</ul>';
|
477 |
+
|
478 |
+
_.$dots = $(dotString).appendTo(
|
479 |
+
_.options.appendDots);
|
480 |
+
|
481 |
+
_.$dots.find('li').first().addClass('slick-active').attr('aria-hidden', 'false');
|
482 |
+
|
483 |
+
}
|
484 |
+
|
485 |
+
};
|
486 |
+
|
487 |
+
Slick.prototype.buildOut = function() {
|
488 |
+
|
489 |
+
var _ = this;
|
490 |
+
|
491 |
+
_.$slides =
|
492 |
+
_.$slider
|
493 |
+
.children( _.options.slide + ':not(.slick-cloned)')
|
494 |
+
.addClass('slick-slide');
|
495 |
+
|
496 |
+
_.slideCount = _.$slides.length;
|
497 |
+
|
498 |
+
_.$slides.each(function(index, element) {
|
499 |
+
$(element)
|
500 |
+
.attr('data-slick-index', index)
|
501 |
+
.data('originalStyling', $(element).attr('style') || '');
|
502 |
+
});
|
503 |
+
|
504 |
+
_.$slider.addClass('slick-slider');
|
505 |
+
|
506 |
+
_.$slideTrack = (_.slideCount === 0) ?
|
507 |
+
$('<div class="slick-track"/>').appendTo(_.$slider) :
|
508 |
+
_.$slides.wrapAll('<div class="slick-track"/>').parent();
|
509 |
+
|
510 |
+
_.$list = _.$slideTrack.wrap(
|
511 |
+
'<div aria-live="polite" class="slick-list"/>').parent();
|
512 |
+
_.$slideTrack.css('opacity', 0);
|
513 |
+
|
514 |
+
if (_.options.centerMode === true || _.options.swipeToSlide === true) {
|
515 |
+
_.options.slidesToScroll = 1;
|
516 |
+
}
|
517 |
+
|
518 |
+
$('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');
|
519 |
+
|
520 |
+
_.setupInfinite();
|
521 |
+
|
522 |
+
_.buildArrows();
|
523 |
+
|
524 |
+
_.buildDots();
|
525 |
+
|
526 |
+
_.updateDots();
|
527 |
+
|
528 |
+
|
529 |
+
_.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
|
530 |
+
|
531 |
+
if (_.options.draggable === true) {
|
532 |
+
_.$list.addClass('draggable');
|
533 |
+
}
|
534 |
+
|
535 |
+
};
|
536 |
+
|
537 |
+
Slick.prototype.buildRows = function() {
|
538 |
+
|
539 |
+
var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection;
|
540 |
+
|
541 |
+
newSlides = document.createDocumentFragment();
|
542 |
+
originalSlides = _.$slider.children();
|
543 |
+
|
544 |
+
if(_.options.rows > 1) {
|
545 |
+
|
546 |
+
slidesPerSection = _.options.slidesPerRow * _.options.rows;
|
547 |
+
numOfSlides = Math.ceil(
|
548 |
+
originalSlides.length / slidesPerSection
|
549 |
+
);
|
550 |
+
|
551 |
+
for(a = 0; a < numOfSlides; a++){
|
552 |
+
var slide = document.createElement('div');
|
553 |
+
for(b = 0; b < _.options.rows; b++) {
|
554 |
+
var row = document.createElement('div');
|
555 |
+
for(c = 0; c < _.options.slidesPerRow; c++) {
|
556 |
+
var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c));
|
557 |
+
if (originalSlides.get(target)) {
|
558 |
+
row.appendChild(originalSlides.get(target));
|
559 |
+
}
|
560 |
+
}
|
561 |
+
slide.appendChild(row);
|
562 |
+
}
|
563 |
+
newSlides.appendChild(slide);
|
564 |
+
}
|
565 |
+
|
566 |
+
_.$slider.html(newSlides);
|
567 |
+
_.$slider.children().children().children()
|
568 |
+
.css({
|
569 |
+
'width':(100 / _.options.slidesPerRow) + '%',
|
570 |
+
'display': 'inline-block'
|
571 |
+
});
|
572 |
+
|
573 |
+
}
|
574 |
+
|
575 |
+
};
|
576 |
+
|
577 |
+
Slick.prototype.checkResponsive = function(initial, forceUpdate) {
|
578 |
+
|
579 |
+
var _ = this,
|
580 |
+
breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false;
|
581 |
+
var sliderWidth = _.$slider.width();
|
582 |
+
var windowWidth = window.innerWidth || $(window).width();
|
583 |
+
|
584 |
+
if (_.respondTo === 'window') {
|
585 |
+
respondToWidth = windowWidth;
|
586 |
+
} else if (_.respondTo === 'slider') {
|
587 |
+
respondToWidth = sliderWidth;
|
588 |
+
} else if (_.respondTo === 'min') {
|
589 |
+
respondToWidth = Math.min(windowWidth, sliderWidth);
|
590 |
+
}
|
591 |
+
|
592 |
+
if ( _.options.responsive &&
|
593 |
+
_.options.responsive.length &&
|
594 |
+
_.options.responsive !== null) {
|
595 |
+
|
596 |
+
targetBreakpoint = null;
|
597 |
+
|
598 |
+
for (breakpoint in _.breakpoints) {
|
599 |
+
if (_.breakpoints.hasOwnProperty(breakpoint)) {
|
600 |
+
if (_.originalSettings.mobileFirst === false) {
|
601 |
+
if (respondToWidth < _.breakpoints[breakpoint]) {
|
602 |
+
targetBreakpoint = _.breakpoints[breakpoint];
|
603 |
+
}
|
604 |
+
} else {
|
605 |
+
if (respondToWidth > _.breakpoints[breakpoint]) {
|
606 |
+
targetBreakpoint = _.breakpoints[breakpoint];
|
607 |
+
}
|
608 |
+
}
|
609 |
+
}
|
610 |
+
}
|
611 |
+
|
612 |
+
if (targetBreakpoint !== null) {
|
613 |
+
if (_.activeBreakpoint !== null) {
|
614 |
+
if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) {
|
615 |
+
_.activeBreakpoint =
|
616 |
+
targetBreakpoint;
|
617 |
+
if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
|
618 |
+
_.unslick(targetBreakpoint);
|
619 |
+
} else {
|
620 |
+
_.options = $.extend({}, _.originalSettings,
|
621 |
+
_.breakpointSettings[
|
622 |
+
targetBreakpoint]);
|
623 |
+
if (initial === true) {
|
624 |
+
_.currentSlide = _.options.initialSlide;
|
625 |
+
}
|
626 |
+
_.refresh(initial);
|
627 |
+
}
|
628 |
+
triggerBreakpoint = targetBreakpoint;
|
629 |
+
}
|
630 |
+
} else {
|
631 |
+
_.activeBreakpoint = targetBreakpoint;
|
632 |
+
if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
|
633 |
+
_.unslick(targetBreakpoint);
|
634 |
+
} else {
|
635 |
+
_.options = $.extend({}, _.originalSettings,
|
636 |
+
_.breakpointSettings[
|
637 |
+
targetBreakpoint]);
|
638 |
+
if (initial === true) {
|
639 |
+
_.currentSlide = _.options.initialSlide;
|
640 |
+
}
|
641 |
+
_.refresh(initial);
|
642 |
+
}
|
643 |
+
triggerBreakpoint = targetBreakpoint;
|
644 |
+
}
|
645 |
+
} else {
|
646 |
+
if (_.activeBreakpoint !== null) {
|
647 |
+
_.activeBreakpoint = null;
|
648 |
+
_.options = _.originalSettings;
|
649 |
+
if (initial === true) {
|
650 |
+
_.currentSlide = _.options.initialSlide;
|
651 |
+
}
|
652 |
+
_.refresh(initial);
|
653 |
+
triggerBreakpoint = targetBreakpoint;
|
654 |
+
}
|
655 |
+
}
|
656 |
+
|
657 |
+
// only trigger breakpoints during an actual break. not on initialize.
|
658 |
+
if( !initial && triggerBreakpoint !== false ) {
|
659 |
+
_.$slider.trigger('breakpoint', [_, triggerBreakpoint]);
|
660 |
+
}
|
661 |
+
}
|
662 |
+
|
663 |
+
};
|
664 |
+
|
665 |
+
Slick.prototype.changeSlide = function(event, dontAnimate) {
|
666 |
+
|
667 |
+
var _ = this,
|
668 |
+
$target = $(event.target),
|
669 |
+
indexOffset, slideOffset, unevenOffset;
|
670 |
+
|
671 |
+
// If target is a link, prevent default action.
|
672 |
+
if($target.is('a')) {
|
673 |
+
event.preventDefault();
|
674 |
+
}
|
675 |
+
|
676 |
+
// If target is not the <li> element (ie: a child), find the <li>.
|
677 |
+
if(!$target.is('li')) {
|
678 |
+
$target = $target.closest('li');
|
679 |
+
}
|
680 |
+
|
681 |
+
unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0);
|
682 |
+
indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll;
|
683 |
+
|
684 |
+
switch (event.data.message) {
|
685 |
+
|
686 |
+
case 'previous':
|
687 |
+
slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset;
|
688 |
+
if (_.slideCount > _.options.slidesToShow) {
|
689 |
+
_.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);
|
690 |
+
}
|
691 |
+
break;
|
692 |
+
|
693 |
+
case 'next':
|
694 |
+
slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset;
|
695 |
+
if (_.slideCount > _.options.slidesToShow) {
|
696 |
+
_.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);
|
697 |
+
}
|
698 |
+
break;
|
699 |
+
|
700 |
+
case 'index':
|
701 |
+
var index = event.data.index === 0 ? 0 :
|
702 |
+
event.data.index || $target.index() * _.options.slidesToScroll;
|
703 |
+
|
704 |
+
_.slideHandler(_.checkNavigable(index), false, dontAnimate);
|
705 |
+
$target.children().trigger('focus');
|
706 |
+
break;
|
707 |
+
|
708 |
+
default:
|
709 |
+
return;
|
710 |
+
}
|
711 |
+
|
712 |
+
};
|
713 |
+
|
714 |
+
Slick.prototype.checkNavigable = function(index) {
|
715 |
+
|
716 |
+
var _ = this,
|
717 |
+
navigables, prevNavigable;
|
718 |
+
|
719 |
+
navigables = _.getNavigableIndexes();
|
720 |
+
prevNavigable = 0;
|
721 |
+
if (index > navigables[navigables.length - 1]) {
|
722 |
+
index = navigables[navigables.length - 1];
|
723 |
+
} else {
|
724 |
+
for (var n in navigables) {
|
725 |
+
if (index < navigables[n]) {
|
726 |
+
index = prevNavigable;
|
727 |
+
break;
|
728 |
+
}
|
729 |
+
prevNavigable = navigables[n];
|
730 |
+
}
|
731 |
+
}
|
732 |
+
|
733 |
+
return index;
|
734 |
+
};
|
735 |
+
|
736 |
+
Slick.prototype.cleanUpEvents = function() {
|
737 |
+
|
738 |
+
var _ = this;
|
739 |
+
|
740 |
+
if (_.options.dots && _.$dots !== null) {
|
741 |
+
|
742 |
+
$('li', _.$dots).off('click.slick', _.changeSlide);
|
743 |
+
|
744 |
+
if (_.options.pauseOnDotsHover === true && _.options.autoplay === true) {
|
745 |
+
|
746 |
+
$('li', _.$dots)
|
747 |
+
.off('mouseenter.slick', $.proxy(_.setPaused, _, true))
|
748 |
+
.off('mouseleave.slick', $.proxy(_.setPaused, _, false));
|
749 |
+
|
750 |
+
}
|
751 |
+
|
752 |
+
}
|
753 |
+
|
754 |
+
if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
|
755 |
+
_.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide);
|
756 |
+
_.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide);
|
757 |
+
}
|
758 |
+
|
759 |
+
_.$list.off('touchstart.slick mousedown.slick', _.swipeHandler);
|
760 |
+
_.$list.off('touchmove.slick mousemove.slick', _.swipeHandler);
|
761 |
+
_.$list.off('touchend.slick mouseup.slick', _.swipeHandler);
|
762 |
+
_.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler);
|
763 |
+
|
764 |
+
_.$list.off('click.slick', _.clickHandler);
|
765 |
+
|
766 |
+
$(document).off(_.visibilityChange, _.visibility);
|
767 |
+
|
768 |
+
_.$list.off('mouseenter.slick', $.proxy(_.setPaused, _, true));
|
769 |
+
_.$list.off('mouseleave.slick', $.proxy(_.setPaused, _, false));
|
770 |
+
|
771 |
+
if (_.options.accessibility === true) {
|
772 |
+
_.$list.off('keydown.slick', _.keyHandler);
|
773 |
+
}
|
774 |
+
|
775 |
+
if (_.options.focusOnSelect === true) {
|
776 |
+
$(_.$slideTrack).children().off('click.slick', _.selectHandler);
|
777 |
+
}
|
778 |
+
|
779 |
+
$(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange);
|
780 |
+
|
781 |
+
$(window).off('resize.slick.slick-' + _.instanceUid, _.resize);
|
782 |
+
|
783 |
+
$('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault);
|
784 |
+
|
785 |
+
$(window).off('load.slick.slick-' + _.instanceUid, _.setPosition);
|
786 |
+
$(document).off('ready.slick.slick-' + _.instanceUid, _.setPosition);
|
787 |
+
};
|
788 |
+
|
789 |
+
Slick.prototype.cleanUpRows = function() {
|
790 |
+
|
791 |
+
var _ = this, originalSlides;
|
792 |
+
|
793 |
+
if(_.options.rows > 1) {
|
794 |
+
originalSlides = _.$slides.children().children();
|
795 |
+
originalSlides.removeAttr('style');
|
796 |
+
_.$slider.html(originalSlides);
|
797 |
+
}
|
798 |
+
|
799 |
+
};
|
800 |
+
|
801 |
+
Slick.prototype.clickHandler = function(event) {
|
802 |
+
|
803 |
+
var _ = this;
|
804 |
+
|
805 |
+
if (_.shouldClick === false) {
|
806 |
+
event.stopImmediatePropagation();
|
807 |
+
event.stopPropagation();
|
808 |
+
event.preventDefault();
|
809 |
+
}
|
810 |
+
|
811 |
+
};
|
812 |
+
|
813 |
+
Slick.prototype.destroy = function(refresh) {
|
814 |
+
|
815 |
+
var _ = this;
|
816 |
+
|
817 |
+
_.autoPlayClear();
|
818 |
+
|
819 |
+
_.touchObject = {};
|
820 |
+
|
821 |
+
_.cleanUpEvents();
|
822 |
+
|
823 |
+
$('.slick-cloned', _.$slider).detach();
|
824 |
+
|
825 |
+
if (_.$dots) {
|
826 |
+
_.$dots.remove();
|
827 |
+
}
|
828 |
+
|
829 |
+
|
830 |
+
if ( _.$prevArrow && _.$prevArrow.length ) {
|
831 |
+
|
832 |
+
_.$prevArrow
|
833 |
+
.removeClass('slick-disabled slick-arrow slick-hidden')
|
834 |
+
.removeAttr('aria-hidden aria-disabled tabindex')
|
835 |
+
.css("display","");
|
836 |
+
|
837 |
+
if ( _.htmlExpr.test( _.options.prevArrow )) {
|
838 |
+
_.$prevArrow.remove();
|
839 |
+
}
|
840 |
+
}
|
841 |
+
|
842 |
+
if ( _.$nextArrow && _.$nextArrow.length ) {
|
843 |
+
|
844 |
+
_.$nextArrow
|
845 |
+
.removeClass('slick-disabled slick-arrow slick-hidden')
|
846 |
+
.removeAttr('aria-hidden aria-disabled tabindex')
|
847 |
+
.css("display","");
|
848 |
+
|
849 |
+
if ( _.htmlExpr.test( _.options.nextArrow )) {
|
850 |
+
_.$nextArrow.remove();
|
851 |
+
}
|
852 |
+
|
853 |
+
}
|
854 |
+
|
855 |
+
|
856 |
+
if (_.$slides) {
|
857 |
+
|
858 |
+
_.$slides
|
859 |
+
.removeClass('slick-slide slick-active slick-center slick-visible slick-current')
|
860 |
+
.removeAttr('aria-hidden')
|
861 |
+
.removeAttr('data-slick-index')
|
862 |
+
.each(function(){
|
863 |
+
$(this).attr('style', $(this).data('originalStyling'));
|
864 |
+
});
|
865 |
+
|
866 |
+
_.$slideTrack.children(this.options.slide).detach();
|
867 |
+
|
868 |
+
_.$slideTrack.detach();
|
869 |
+
|
870 |
+
_.$list.detach();
|
871 |
+
|
872 |
+
_.$slider.append(_.$slides);
|
873 |
+
}
|
874 |
+
|
875 |
+
_.cleanUpRows();
|
876 |
+
|
877 |
+
_.$slider.removeClass('slick-slider');
|
878 |
+
_.$slider.removeClass('slick-initialized');
|
879 |
+
|
880 |
+
_.unslicked = true;
|
881 |
+
|
882 |
+
if(!refresh) {
|
883 |
+
_.$slider.trigger('destroy', [_]);
|
884 |
+
}
|
885 |
+
|
886 |
+
};
|
887 |
+
|
888 |
+
Slick.prototype.disableTransition = function(slide) {
|
889 |
+
|
890 |
+
var _ = this,
|
891 |
+
transition = {};
|
892 |
+
|
893 |
+
transition[_.transitionType] = '';
|
894 |
+
|
895 |
+
if (_.options.fade === false) {
|
896 |
+
_.$slideTrack.css(transition);
|
897 |
+
} else {
|
898 |
+
_.$slides.eq(slide).css(transition);
|
899 |
+
}
|
900 |
+
|
901 |
+
};
|
902 |
+
|
903 |
+
Slick.prototype.fadeSlide = function(slideIndex, callback) {
|
904 |
+
|
905 |
+
var _ = this;
|
906 |
+
|
907 |
+
if (_.cssTransitions === false) {
|
908 |
+
|
909 |
+
_.$slides.eq(slideIndex).css({
|
910 |
+
zIndex: _.options.zIndex
|
911 |
+
});
|
912 |
+
|
913 |
+
_.$slides.eq(slideIndex).animate({
|
914 |
+
opacity: 1
|
915 |
+
}, _.options.speed, _.options.easing, callback);
|
916 |
+
|
917 |
+
} else {
|
918 |
+
|
919 |
+
_.applyTransition(slideIndex);
|
920 |
+
|
921 |
+
_.$slides.eq(slideIndex).css({
|
922 |
+
opacity: 1,
|
923 |
+
zIndex: _.options.zIndex
|
924 |
+
});
|
925 |
+
|
926 |
+
if (callback) {
|
927 |
+
setTimeout(function() {
|
928 |
+
|
929 |
+
_.disableTransition(slideIndex);
|
930 |
+
|
931 |
+
callback.call();
|
932 |
+
}, _.options.speed);
|
933 |
+
}
|
934 |
+
|
935 |
+
}
|
936 |
+
|
937 |
+
};
|
938 |
+
|
939 |
+
Slick.prototype.fadeSlideOut = function(slideIndex) {
|
940 |
+
|
941 |
+
var _ = this;
|
942 |
+
|
943 |
+
if (_.cssTransitions === false) {
|
944 |
+
|
945 |
+
_.$slides.eq(slideIndex).animate({
|
946 |
+
opacity: 0,
|
947 |
+
zIndex: _.options.zIndex - 2
|
948 |
+
}, _.options.speed, _.options.easing);
|
949 |
+
|
950 |
+
} else {
|
951 |
+
|
952 |
+
_.applyTransition(slideIndex);
|
953 |
+
|
954 |
+
_.$slides.eq(slideIndex).css({
|
955 |
+
opacity: 0,
|
956 |
+
zIndex: _.options.zIndex - 2
|
957 |
+
});
|
958 |
+
|
959 |
+
}
|
960 |
+
|
961 |
+
};
|
962 |
+
|
963 |
+
Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) {
|
964 |
+
|
965 |
+
var _ = this;
|
966 |
+
|
967 |
+
if (filter !== null) {
|
968 |
+
|
969 |
+
_.$slidesCache = _.$slides;
|
970 |
+
|
971 |
+
_.unload();
|
972 |
+
|
973 |
+
_.$slideTrack.children(this.options.slide).detach();
|
974 |
+
|
975 |
+
_.$slidesCache.filter(filter).appendTo(_.$slideTrack);
|
976 |
+
|
977 |
+
_.reinit();
|
978 |
+
|
979 |
+
}
|
980 |
+
|
981 |
+
};
|
982 |
+
|
983 |
+
Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() {
|
984 |
+
|
985 |
+
var _ = this;
|
986 |
+
return _.currentSlide;
|
987 |
+
|
988 |
+
};
|
989 |
+
|
990 |
+
Slick.prototype.getDotCount = function() {
|
991 |
+
|
992 |
+
var _ = this;
|
993 |
+
|
994 |
+
var breakPoint = 0;
|
995 |
+
var counter = 0;
|
996 |
+
var pagerQty = 0;
|
997 |
+
|
998 |
+
if (_.options.infinite === true) {
|
999 |
+
while (breakPoint < _.slideCount) {
|
1000 |
+
++pagerQty;
|
1001 |
+
breakPoint = counter + _.options.slidesToScroll;
|
1002 |
+
counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
|
1003 |
+
}
|
1004 |
+
} else if (_.options.centerMode === true) {
|
1005 |
+
pagerQty = _.slideCount;
|
1006 |
+
} else {
|
1007 |
+
while (breakPoint < _.slideCount) {
|
1008 |
+
++pagerQty;
|
1009 |
+
breakPoint = counter + _.options.slidesToScroll;
|
1010 |
+
counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
|
1011 |
+
}
|
1012 |
+
}
|
1013 |
+
|
1014 |
+
return pagerQty - 1;
|
1015 |
+
|
1016 |
+
};
|
1017 |
+
|
1018 |
+
Slick.prototype.getLeft = function(slideIndex) {
|
1019 |
+
|
1020 |
+
var _ = this,
|
1021 |
+
targetLeft,
|
1022 |
+
verticalHeight,
|
1023 |
+
verticalOffset = 0,
|
1024 |
+
targetSlide;
|
1025 |
+
|
1026 |
+
_.slideOffset = 0;
|
1027 |
+
verticalHeight = _.$slides.first().outerHeight(true);
|
1028 |
+
|
1029 |
+
if (_.options.infinite === true) {
|
1030 |
+
if (_.slideCount > _.options.slidesToShow) {
|
1031 |
+
_.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1;
|
1032 |
+
verticalOffset = (verticalHeight * _.options.slidesToShow) * -1;
|
1033 |
+
}
|
1034 |
+
if (_.slideCount % _.options.slidesToScroll !== 0) {
|
1035 |
+
if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {
|
1036 |
+
if (slideIndex > _.slideCount) {
|
1037 |
+
_.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1;
|
1038 |
+
verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1;
|
1039 |
+
} else {
|
1040 |
+
_.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1;
|
1041 |
+
verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1;
|
1042 |
+
}
|
1043 |
+
}
|
1044 |
+
}
|
1045 |
+
} else {
|
1046 |
+
if (slideIndex + _.options.slidesToShow > _.slideCount) {
|
1047 |
+
_.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth;
|
1048 |
+
verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight;
|
1049 |
+
}
|
1050 |
+
}
|
1051 |
+
|
1052 |
+
if (_.slideCount <= _.options.slidesToShow) {
|
1053 |
+
_.slideOffset = 0;
|
1054 |
+
verticalOffset = 0;
|
1055 |
+
}
|
1056 |
+
|
1057 |
+
if (_.options.centerMode === true && _.options.infinite === true) {
|
1058 |
+
_.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;
|
1059 |
+
} else if (_.options.centerMode === true) {
|
1060 |
+
_.slideOffset = 0;
|
1061 |
+
_.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2);
|
1062 |
+
}
|
1063 |
+
|
1064 |
+
if (_.options.vertical === false) {
|
1065 |
+
targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset;
|
1066 |
+
} else {
|
1067 |
+
targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset;
|
1068 |
+
}
|
1069 |
+
|
1070 |
+
if (_.options.variableWidth === true) {
|
1071 |
+
|
1072 |
+
if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
|
1073 |
+
targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
|
1074 |
+
} else {
|
1075 |
+
targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow);
|
1076 |
+
}
|
1077 |
+
|
1078 |
+
if (_.options.rtl === true) {
|
1079 |
+
if (targetSlide[0]) {
|
1080 |
+
targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
|
1081 |
+
} else {
|
1082 |
+
targetLeft = 0;
|
1083 |
+
}
|
1084 |
+
} else {
|
1085 |
+
targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
|
1086 |
+
}
|
1087 |
+
|
1088 |
+
if (_.options.centerMode === true) {
|
1089 |
+
if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
|
1090 |
+
targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
|
1091 |
+
} else {
|
1092 |
+
targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1);
|
1093 |
+
}
|
1094 |
+
|
1095 |
+
if (_.options.rtl === true) {
|
1096 |
+
if (targetSlide[0]) {
|
1097 |
+
targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
|
1098 |
+
} else {
|
1099 |
+
targetLeft = 0;
|
1100 |
+
}
|
1101 |
+
} else {
|
1102 |
+
targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
|
1103 |
+
}
|
1104 |
+
|
1105 |
+
targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2;
|
1106 |
+
}
|
1107 |
+
}
|
1108 |
+
|
1109 |
+
return targetLeft;
|
1110 |
+
|
1111 |
+
};
|
1112 |
+
|
1113 |
+
Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) {
|
1114 |
+
|
1115 |
+
var _ = this;
|
1116 |
+
|
1117 |
+
return _.options[option];
|
1118 |
+
|
1119 |
+
};
|
1120 |
+
|
1121 |
+
Slick.prototype.getNavigableIndexes = function() {
|
1122 |
+
|
1123 |
+
var _ = this,
|
1124 |
+
breakPoint = 0,
|
1125 |
+
counter = 0,
|
1126 |
+
indexes = [],
|
1127 |
+
max;
|
1128 |
+
|
1129 |
+
if (_.options.infinite === false) {
|
1130 |
+
max = _.slideCount;
|
1131 |
+
} else {
|
1132 |
+
breakPoint = _.options.slidesToScroll * -1;
|
1133 |
+
counter = _.options.slidesToScroll * -1;
|
1134 |
+
max = _.slideCount * 2;
|
1135 |
+
}
|
1136 |
+
|
1137 |
+
while (breakPoint < max) {
|
1138 |
+
indexes.push(breakPoint);
|
1139 |
+
breakPoint = counter + _.options.slidesToScroll;
|
1140 |
+
counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
|
1141 |
+
}
|
1142 |
+
|
1143 |
+
return indexes;
|
1144 |
+
|
1145 |
+
};
|
1146 |
+
|
1147 |
+
Slick.prototype.getSlick = function() {
|
1148 |
+
|
1149 |
+
return this;
|
1150 |
+
|
1151 |
+
};
|
1152 |
+
|
1153 |
+
Slick.prototype.getSlideCount = function() {
|
1154 |
+
|
1155 |
+
var _ = this,
|
1156 |
+
slidesTraversed, swipedSlide, centerOffset;
|
1157 |
+
|
1158 |
+
centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0;
|
1159 |
+
|
1160 |
+
if (_.options.swipeToSlide === true) {
|
1161 |
+
_.$slideTrack.find('.slick-slide').each(function(index, slide) {
|
1162 |
+
if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) {
|
1163 |
+
swipedSlide = slide;
|
1164 |
+
return false;
|
1165 |
+
}
|
1166 |
+
});
|
1167 |
+
|
1168 |
+
slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1;
|
1169 |
+
|
1170 |
+
return slidesTraversed;
|
1171 |
+
|
1172 |
+
} else {
|
1173 |
+
return _.options.slidesToScroll;
|
1174 |
+
}
|
1175 |
+
|
1176 |
+
};
|
1177 |
+
|
1178 |
+
Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) {
|
1179 |
+
|
1180 |
+
var _ = this;
|
1181 |
+
|
1182 |
+
_.changeSlide({
|
1183 |
+
data: {
|
1184 |
+
message: 'index',
|
1185 |
+
index: parseInt(slide)
|
1186 |
+
}
|
1187 |
+
}, dontAnimate);
|
1188 |
+
|
1189 |
+
};
|
1190 |
+
|
1191 |
+
Slick.prototype.init = function(creation) {
|
1192 |
+
|
1193 |
+
var _ = this;
|
1194 |
+
|
1195 |
+
if (!$(_.$slider).hasClass('slick-initialized')) {
|
1196 |
+
|
1197 |
+
$(_.$slider).addClass('slick-initialized');
|
1198 |
+
|
1199 |
+
_.buildRows();
|
1200 |
+
_.buildOut();
|
1201 |
+
_.setProps();
|
1202 |
+
_.startLoad();
|
1203 |
+
_.loadSlider();
|
1204 |
+
_.initializeEvents();
|
1205 |
+
_.updateArrows();
|
1206 |
+
_.updateDots();
|
1207 |
+
|
1208 |
+
}
|
1209 |
+
|
1210 |
+
if (creation) {
|
1211 |
+
_.$slider.trigger('init', [_]);
|
1212 |
+
}
|
1213 |
+
|
1214 |
+
if (_.options.accessibility === true) {
|
1215 |
+
_.initADA();
|
1216 |
+
}
|
1217 |
+
|
1218 |
+
};
|
1219 |
+
|
1220 |
+
Slick.prototype.initArrowEvents = function() {
|
1221 |
+
|
1222 |
+
var _ = this;
|
1223 |
+
|
1224 |
+
if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
|
1225 |
+
_.$prevArrow.on('click.slick', {
|
1226 |
+
message: 'previous'
|
1227 |
+
}, _.changeSlide);
|
1228 |
+
_.$nextArrow.on('click.slick', {
|
1229 |
+
message: 'next'
|
1230 |
+
}, _.changeSlide);
|
1231 |
+
}
|
1232 |
+
|
1233 |
+
};
|
1234 |
+
|
1235 |
+
Slick.prototype.initDotEvents = function() {
|
1236 |
+
|
1237 |
+
var _ = this;
|
1238 |
+
|
1239 |
+
if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
|
1240 |
+
$('li', _.$dots).on('click.slick', {
|
1241 |
+
message: 'index'
|
1242 |
+
}, _.changeSlide);
|
1243 |
+
}
|
1244 |
+
|
1245 |
+
if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.options.autoplay === true) {
|
1246 |
+
$('li', _.$dots)
|
1247 |
+
.on('mouseenter.slick', $.proxy(_.setPaused, _, true))
|
1248 |
+
.on('mouseleave.slick', $.proxy(_.setPaused, _, false));
|
1249 |
+
}
|
1250 |
+
|
1251 |
+
};
|
1252 |
+
|
1253 |
+
Slick.prototype.initializeEvents = function() {
|
1254 |
+
|
1255 |
+
var _ = this;
|
1256 |
+
|
1257 |
+
_.initArrowEvents();
|
1258 |
+
|
1259 |
+
_.initDotEvents();
|
1260 |
+
|
1261 |
+
_.$list.on('touchstart.slick mousedown.slick', {
|
1262 |
+
action: 'start'
|
1263 |
+
}, _.swipeHandler);
|
1264 |
+
_.$list.on('touchmove.slick mousemove.slick', {
|
1265 |
+
action: 'move'
|
1266 |
+
}, _.swipeHandler);
|
1267 |
+
_.$list.on('touchend.slick mouseup.slick', {
|
1268 |
+
action: 'end'
|
1269 |
+
}, _.swipeHandler);
|
1270 |
+
_.$list.on('touchcancel.slick mouseleave.slick', {
|
1271 |
+
action: 'end'
|
1272 |
+
}, _.swipeHandler);
|
1273 |
+
|
1274 |
+
_.$list.on('click.slick', _.clickHandler);
|
1275 |
+
|
1276 |
+
$(document).on(_.visibilityChange, $.proxy(_.visibility, _));
|
1277 |
+
|
1278 |
+
_.$list.on('mouseenter.slick', $.proxy(_.setPaused, _, true));
|
1279 |
+
_.$list.on('mouseleave.slick', $.proxy(_.setPaused, _, false));
|
1280 |
+
|
1281 |
+
if (_.options.accessibility === true) {
|
1282 |
+
_.$list.on('keydown.slick', _.keyHandler);
|
1283 |
+
}
|
1284 |
+
|
1285 |
+
if (_.options.focusOnSelect === true) {
|
1286 |
+
$(_.$slideTrack).children().on('click.slick', _.selectHandler);
|
1287 |
+
}
|
1288 |
+
|
1289 |
+
$(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _));
|
1290 |
+
|
1291 |
+
$(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _));
|
1292 |
+
|
1293 |
+
$('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault);
|
1294 |
+
|
1295 |
+
$(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);
|
1296 |
+
$(document).on('ready.slick.slick-' + _.instanceUid, _.setPosition);
|
1297 |
+
|
1298 |
+
};
|
1299 |
+
|
1300 |
+
Slick.prototype.initUI = function() {
|
1301 |
+
|
1302 |
+
var _ = this;
|
1303 |
+
|
1304 |
+
if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
|
1305 |
+
|
1306 |
+
_.$prevArrow.show();
|
1307 |
+
_.$nextArrow.show();
|
1308 |
+
|
1309 |
+
}
|
1310 |
+
|
1311 |
+
if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
|
1312 |
+
|
1313 |
+
_.$dots.show();
|
1314 |
+
|
1315 |
+
}
|
1316 |
+
|
1317 |
+
if (_.options.autoplay === true) {
|
1318 |
+
|
1319 |
+
_.autoPlay();
|
1320 |
+
|
1321 |
+
}
|
1322 |
+
|
1323 |
+
};
|
1324 |
+
|
1325 |
+
Slick.prototype.keyHandler = function(event) {
|
1326 |
+
|
1327 |
+
var _ = this;
|
1328 |
+
//Dont slide if the cursor is inside the form fields and arrow keys are pressed
|
1329 |
+
if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) {
|
1330 |
+
if (event.keyCode === 37 && _.options.accessibility === true) {
|
1331 |
+
_.changeSlide({
|
1332 |
+
data: {
|
1333 |
+
message: 'previous'
|
1334 |
+
}
|
1335 |
+
});
|
1336 |
+
} else if (event.keyCode === 39 && _.options.accessibility === true) {
|
1337 |
+
_.changeSlide({
|
1338 |
+
data: {
|
1339 |
+
message: 'next'
|
1340 |
+
}
|
1341 |
+
});
|
1342 |
+
}
|
1343 |
+
}
|
1344 |
+
|
1345 |
+
};
|
1346 |
+
|
1347 |
+
Slick.prototype.lazyLoad = function() {
|
1348 |
+
|
1349 |
+
var _ = this,
|
1350 |
+
loadRange, cloneRange, rangeStart, rangeEnd;
|
1351 |
+
|
1352 |
+
function loadImages(imagesScope) {
|
1353 |
+
$('img[data-lazy]', imagesScope).each(function() {
|
1354 |
+
|
1355 |
+
var image = $(this),
|
1356 |
+
imageSource = $(this).attr('data-lazy'),
|
1357 |
+
imageToLoad = document.createElement('img');
|
1358 |
+
|
1359 |
+
imageToLoad.onload = function() {
|
1360 |
+
image
|
1361 |
+
.animate({ opacity: 0 }, 100, function() {
|
1362 |
+
image
|
1363 |
+
.attr('src', imageSource)
|
1364 |
+
.animate({ opacity: 1 }, 200, function() {
|
1365 |
+
image
|
1366 |
+
.removeAttr('data-lazy')
|
1367 |
+
.removeClass('slick-loading');
|
1368 |
+
});
|
1369 |
+
});
|
1370 |
+
};
|
1371 |
+
|
1372 |
+
imageToLoad.src = imageSource;
|
1373 |
+
|
1374 |
+
});
|
1375 |
+
}
|
1376 |
+
|
1377 |
+
if (_.options.centerMode === true) {
|
1378 |
+
if (_.options.infinite === true) {
|
1379 |
+
rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1);
|
1380 |
+
rangeEnd = rangeStart + _.options.slidesToShow + 2;
|
1381 |
+
} else {
|
1382 |
+
rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1));
|
1383 |
+
rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide;
|
1384 |
+
}
|
1385 |
+
} else {
|
1386 |
+
rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide;
|
1387 |
+
rangeEnd = rangeStart + _.options.slidesToShow;
|
1388 |
+
if (_.options.fade === true) {
|
1389 |
+
if (rangeStart > 0) rangeStart--;
|
1390 |
+
if (rangeEnd <= _.slideCount) rangeEnd++;
|
1391 |
+
}
|
1392 |
+
}
|
1393 |
+
|
1394 |
+
loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);
|
1395 |
+
loadImages(loadRange);
|
1396 |
+
|
1397 |
+
if (_.slideCount <= _.options.slidesToShow) {
|
1398 |
+
cloneRange = _.$slider.find('.slick-slide');
|
1399 |
+
loadImages(cloneRange);
|
1400 |
+
} else
|
1401 |
+
if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {
|
1402 |
+
cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);
|
1403 |
+
loadImages(cloneRange);
|
1404 |
+
} else if (_.currentSlide === 0) {
|
1405 |
+
cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);
|
1406 |
+
loadImages(cloneRange);
|
1407 |
+
}
|
1408 |
+
|
1409 |
+
};
|
1410 |
+
|
1411 |
+
Slick.prototype.loadSlider = function() {
|
1412 |
+
|
1413 |
+
var _ = this;
|
1414 |
+
|
1415 |
+
_.setPosition();
|
1416 |
+
|
1417 |
+
_.$slideTrack.css({
|
1418 |
+
opacity: 1
|
1419 |
+
});
|
1420 |
+
|
1421 |
+
_.$slider.removeClass('slick-loading');
|
1422 |
+
|
1423 |
+
_.initUI();
|
1424 |
+
|
1425 |
+
if (_.options.lazyLoad === 'progressive') {
|
1426 |
+
_.progressiveLazyLoad();
|
1427 |
+
}
|
1428 |
+
|
1429 |
+
};
|
1430 |
+
|
1431 |
+
Slick.prototype.next = Slick.prototype.slickNext = function() {
|
1432 |
+
|
1433 |
+
var _ = this;
|
1434 |
+
|
1435 |
+
_.changeSlide({
|
1436 |
+
data: {
|
1437 |
+
message: 'next'
|
1438 |
+
}
|
1439 |
+
});
|
1440 |
+
|
1441 |
+
};
|
1442 |
+
|
1443 |
+
Slick.prototype.orientationChange = function() {
|
1444 |
+
|
1445 |
+
var _ = this;
|
1446 |
+
|
1447 |
+
_.checkResponsive();
|
1448 |
+
_.setPosition();
|
1449 |
+
|
1450 |
+
};
|
1451 |
+
|
1452 |
+
Slick.prototype.pause = Slick.prototype.slickPause = function() {
|
1453 |
+
|
1454 |
+
var _ = this;
|
1455 |
+
|
1456 |
+
_.autoPlayClear();
|
1457 |
+
_.paused = true;
|
1458 |
+
|
1459 |
+
};
|
1460 |
+
|
1461 |
+
Slick.prototype.play = Slick.prototype.slickPlay = function() {
|
1462 |
+
|
1463 |
+
var _ = this;
|
1464 |
+
|
1465 |
+
_.paused = false;
|
1466 |
+
_.autoPlay();
|
1467 |
+
|
1468 |
+
};
|
1469 |
+
|
1470 |
+
Slick.prototype.postSlide = function(index) {
|
1471 |
+
|
1472 |
+
var _ = this;
|
1473 |
+
|
1474 |
+
_.$slider.trigger('afterChange', [_, index]);
|
1475 |
+
|
1476 |
+
_.animating = false;
|
1477 |
+
|
1478 |
+
_.setPosition();
|
1479 |
+
|
1480 |
+
_.swipeLeft = null;
|
1481 |
+
|
1482 |
+
if (_.options.autoplay === true && _.paused === false) {
|
1483 |
+
_.autoPlay();
|
1484 |
+
}
|
1485 |
+
if (_.options.accessibility === true) {
|
1486 |
+
_.initADA();
|
1487 |
+
}
|
1488 |
+
|
1489 |
+
};
|
1490 |
+
|
1491 |
+
Slick.prototype.prev = Slick.prototype.slickPrev = function() {
|
1492 |
+
|
1493 |
+
var _ = this;
|
1494 |
+
|
1495 |
+
_.changeSlide({
|
1496 |
+
data: {
|
1497 |
+
message: 'previous'
|
1498 |
+
}
|
1499 |
+
});
|
1500 |
+
|
1501 |
+
};
|
1502 |
+
|
1503 |
+
Slick.prototype.preventDefault = function(event) {
|
1504 |
+
event.preventDefault();
|
1505 |
+
};
|
1506 |
+
|
1507 |
+
Slick.prototype.progressiveLazyLoad = function() {
|
1508 |
+
|
1509 |
+
var _ = this,
|
1510 |
+
imgCount, targetImage;
|
1511 |
+
|
1512 |
+
imgCount = $('img[data-lazy]', _.$slider).length;
|
1513 |
+
|
1514 |
+
if (imgCount > 0) {
|
1515 |
+
targetImage = $('img[data-lazy]', _.$slider).first();
|
1516 |
+
targetImage.attr('src', null);
|
1517 |
+
targetImage.attr('src', targetImage.attr('data-lazy')).removeClass('slick-loading').load(function() {
|
1518 |
+
targetImage.removeAttr('data-lazy');
|
1519 |
+
_.progressiveLazyLoad();
|
1520 |
+
|
1521 |
+
if (_.options.adaptiveHeight === true) {
|
1522 |
+
_.setPosition();
|
1523 |
+
}
|
1524 |
+
})
|
1525 |
+
.error(function() {
|
1526 |
+
targetImage.removeAttr('data-lazy');
|
1527 |
+
_.progressiveLazyLoad();
|
1528 |
+
});
|
1529 |
+
}
|
1530 |
+
|
1531 |
+
};
|
1532 |
+
|
1533 |
+
Slick.prototype.refresh = function( initializing ) {
|
1534 |
+
|
1535 |
+
var _ = this, currentSlide, firstVisible;
|
1536 |
+
|
1537 |
+
firstVisible = _.slideCount - _.options.slidesToShow;
|
1538 |
+
|
1539 |
+
// check that the new breakpoint can actually accept the
|
1540 |
+
// "current slide" as the current slide, otherwise we need
|
1541 |
+
// to set it to the closest possible value.
|
1542 |
+
if ( !_.options.infinite ) {
|
1543 |
+
if ( _.slideCount <= _.options.slidesToShow ) {
|
1544 |
+
_.currentSlide = 0;
|
1545 |
+
} else if ( _.currentSlide > firstVisible ) {
|
1546 |
+
_.currentSlide = firstVisible;
|
1547 |
+
}
|
1548 |
+
}
|
1549 |
+
|
1550 |
+
currentSlide = _.currentSlide;
|
1551 |
+
|
1552 |
+
_.destroy(true);
|
1553 |
+
|
1554 |
+
$.extend(_, _.initials, { currentSlide: currentSlide });
|
1555 |
+
|
1556 |
+
_.init();
|
1557 |
+
|
1558 |
+
if( !initializing ) {
|
1559 |
+
|
1560 |
+
_.changeSlide({
|
1561 |
+
data: {
|
1562 |
+
message: 'index',
|
1563 |
+
index: currentSlide
|
1564 |
+
}
|
1565 |
+
}, false);
|
1566 |
+
|
1567 |
+
}
|
1568 |
+
|
1569 |
+
};
|
1570 |
+
|
1571 |
+
Slick.prototype.registerBreakpoints = function() {
|
1572 |
+
|
1573 |
+
var _ = this, breakpoint, currentBreakpoint, l,
|
1574 |
+
responsiveSettings = _.options.responsive || null;
|
1575 |
+
|
1576 |
+
if ( $.type(responsiveSettings) === "array" && responsiveSettings.length ) {
|
1577 |
+
|
1578 |
+
_.respondTo = _.options.respondTo || 'window';
|
1579 |
+
|
1580 |
+
for ( breakpoint in responsiveSettings ) {
|
1581 |
+
|
1582 |
+
l = _.breakpoints.length-1;
|
1583 |
+
currentBreakpoint = responsiveSettings[breakpoint].breakpoint;
|
1584 |
+
|
1585 |
+
if (responsiveSettings.hasOwnProperty(breakpoint)) {
|
1586 |
+
|
1587 |
+
// loop through the breakpoints and cut out any existing
|
1588 |
+
// ones with the same breakpoint number, we don't want dupes.
|
1589 |
+
while( l >= 0 ) {
|
1590 |
+
if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) {
|
1591 |
+
_.breakpoints.splice(l,1);
|
1592 |
+
}
|
1593 |
+
l--;
|
1594 |
+
}
|
1595 |
+
|
1596 |
+
_.breakpoints.push(currentBreakpoint);
|
1597 |
+
_.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings;
|
1598 |
+
|
1599 |
+
}
|
1600 |
+
|
1601 |
+
}
|
1602 |
+
|
1603 |
+
_.breakpoints.sort(function(a, b) {
|
1604 |
+
return ( _.options.mobileFirst ) ? a-b : b-a;
|
1605 |
+
});
|
1606 |
+
|
1607 |
+
}
|
1608 |
+
|
1609 |
+
};
|
1610 |
+
|
1611 |
+
Slick.prototype.reinit = function() {
|
1612 |
+
|
1613 |
+
var _ = this;
|
1614 |
+
|
1615 |
+
_.$slides =
|
1616 |
+
_.$slideTrack
|
1617 |
+
.children(_.options.slide)
|
1618 |
+
.addClass('slick-slide');
|
1619 |
+
|
1620 |
+
_.slideCount = _.$slides.length;
|
1621 |
+
|
1622 |
+
if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) {
|
1623 |
+
_.currentSlide = _.currentSlide - _.options.slidesToScroll;
|
1624 |
+
}
|
1625 |
+
|
1626 |
+
if (_.slideCount <= _.options.slidesToShow) {
|
1627 |
+
_.currentSlide = 0;
|
1628 |
+
}
|
1629 |
+
|
1630 |
+
_.registerBreakpoints();
|
1631 |
+
|
1632 |
+
_.setProps();
|
1633 |
+
_.setupInfinite();
|
1634 |
+
_.buildArrows();
|
1635 |
+
_.updateArrows();
|
1636 |
+
_.initArrowEvents();
|
1637 |
+
_.buildDots();
|
1638 |
+
_.updateDots();
|
1639 |
+
_.initDotEvents();
|
1640 |
+
|
1641 |
+
_.checkResponsive(false, true);
|
1642 |
+
|
1643 |
+
if (_.options.focusOnSelect === true) {
|
1644 |
+
$(_.$slideTrack).children().on('click.slick', _.selectHandler);
|
1645 |
+
}
|
1646 |
+
|
1647 |
+
_.setSlideClasses(0);
|
1648 |
+
|
1649 |
+
_.setPosition();
|
1650 |
+
|
1651 |
+
_.$slider.trigger('reInit', [_]);
|
1652 |
+
|
1653 |
+
if (_.options.autoplay === true) {
|
1654 |
+
_.focusHandler();
|
1655 |
+
}
|
1656 |
+
|
1657 |
+
};
|
1658 |
+
|
1659 |
+
Slick.prototype.resize = function() {
|
1660 |
+
|
1661 |
+
var _ = this;
|
1662 |
+
|
1663 |
+
if ($(window).width() !== _.windowWidth) {
|
1664 |
+
clearTimeout(_.windowDelay);
|
1665 |
+
_.windowDelay = window.setTimeout(function() {
|
1666 |
+
_.windowWidth = $(window).width();
|
1667 |
+
_.checkResponsive();
|
1668 |
+
if( !_.unslicked ) { _.setPosition(); }
|
1669 |
+
}, 50);
|
1670 |
+
}
|
1671 |
+
};
|
1672 |
+
|
1673 |
+
Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) {
|
1674 |
+
|
1675 |
+
var _ = this;
|
1676 |
+
|
1677 |
+
if (typeof(index) === 'boolean') {
|
1678 |
+
removeBefore = index;
|
1679 |
+
index = removeBefore === true ? 0 : _.slideCount - 1;
|
1680 |
+
} else {
|
1681 |
+
index = removeBefore === true ? --index : index;
|
1682 |
+
}
|
1683 |
+
|
1684 |
+
if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) {
|
1685 |
+
return false;
|
1686 |
+
}
|
1687 |
+
|
1688 |
+
_.unload();
|
1689 |
+
|
1690 |
+
if (removeAll === true) {
|
1691 |
+
_.$slideTrack.children().remove();
|
1692 |
+
} else {
|
1693 |
+
_.$slideTrack.children(this.options.slide).eq(index).remove();
|
1694 |
+
}
|
1695 |
+
|
1696 |
+
_.$slides = _.$slideTrack.children(this.options.slide);
|
1697 |
+
|
1698 |
+
_.$slideTrack.children(this.options.slide).detach();
|
1699 |
+
|
1700 |
+
_.$slideTrack.append(_.$slides);
|
1701 |
+
|
1702 |
+
_.$slidesCache = _.$slides;
|
1703 |
+
|
1704 |
+
_.reinit();
|
1705 |
+
|
1706 |
+
};
|
1707 |
+
|
1708 |
+
Slick.prototype.setCSS = function(position) {
|
1709 |
+
|
1710 |
+
var _ = this,
|
1711 |
+
positionProps = {},
|
1712 |
+
x, y;
|
1713 |
+
|
1714 |
+
if (_.options.rtl === true) {
|
1715 |
+
position = -position;
|
1716 |
+
}
|
1717 |
+
x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px';
|
1718 |
+
y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px';
|
1719 |
+
|
1720 |
+
positionProps[_.positionProp] = position;
|
1721 |
+
|
1722 |
+
if (_.transformsEnabled === false) {
|
1723 |
+
_.$slideTrack.css(positionProps);
|
1724 |
+
} else {
|
1725 |
+
positionProps = {};
|
1726 |
+
if (_.cssTransitions === false) {
|
1727 |
+
positionProps[_.animType] = 'translate(' + x + ', ' + y + ')';
|
1728 |
+
_.$slideTrack.css(positionProps);
|
1729 |
+
} else {
|
1730 |
+
positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)';
|
1731 |
+
_.$slideTrack.css(positionProps);
|
1732 |
+
}
|
1733 |
+
}
|
1734 |
+
|
1735 |
+
};
|
1736 |
+
|
1737 |
+
Slick.prototype.setDimensions = function() {
|
1738 |
+
|
1739 |
+
var _ = this;
|
1740 |
+
|
1741 |
+
if (_.options.vertical === false) {
|
1742 |
+
if (_.options.centerMode === true) {
|
1743 |
+
_.$list.css({
|
1744 |
+
padding: ('0px ' + _.options.centerPadding)
|
1745 |
+
});
|
1746 |
+
}
|
1747 |
+
} else {
|
1748 |
+
_.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow);
|
1749 |
+
if (_.options.centerMode === true) {
|
1750 |
+
_.$list.css({
|
1751 |
+
padding: (_.options.centerPadding + ' 0px')
|
1752 |
+
});
|
1753 |
+
}
|
1754 |
+
}
|
1755 |
+
|
1756 |
+
_.listWidth = _.$list.width();
|
1757 |
+
_.listHeight = _.$list.height();
|
1758 |
+
|
1759 |
+
|
1760 |
+
if (_.options.vertical === false && _.options.variableWidth === false) {
|
1761 |
+
_.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow);
|
1762 |
+
_.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length)));
|
1763 |
+
|
1764 |
+
} else if (_.options.variableWidth === true) {
|
1765 |
+
_.$slideTrack.width(5000 * _.slideCount);
|
1766 |
+
} else {
|
1767 |
+
_.slideWidth = Math.ceil(_.listWidth);
|
1768 |
+
_.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length)));
|
1769 |
+
}
|
1770 |
+
|
1771 |
+
var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width();
|
1772 |
+
if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset);
|
1773 |
+
|
1774 |
+
};
|
1775 |
+
|
1776 |
+
Slick.prototype.setFade = function() {
|
1777 |
+
|
1778 |
+
var _ = this,
|
1779 |
+
targetLeft;
|
1780 |
+
|
1781 |
+
_.$slides.each(function(index, element) {
|
1782 |
+
targetLeft = (_.slideWidth * index) * -1;
|
1783 |
+
if (_.options.rtl === true) {
|
1784 |
+
$(element).css({
|
1785 |
+
position: 'relative',
|
1786 |
+
right: targetLeft,
|
1787 |
+
top: 0,
|
1788 |
+
zIndex: _.options.zIndex - 2,
|
1789 |
+
opacity: 0
|
1790 |
+
});
|
1791 |
+
} else {
|
1792 |
+
$(element).css({
|
1793 |
+
position: 'relative',
|
1794 |
+
left: targetLeft,
|
1795 |
+
top: 0,
|
1796 |
+
zIndex: _.options.zIndex - 2,
|
1797 |
+
opacity: 0
|
1798 |
+
});
|
1799 |
+
}
|
1800 |
+
});
|
1801 |
+
|
1802 |
+
_.$slides.eq(_.currentSlide).css({
|
1803 |
+
zIndex: _.options.zIndex - 1,
|
1804 |
+
opacity: 1
|
1805 |
+
});
|
1806 |
+
|
1807 |
+
};
|
1808 |
+
|
1809 |
+
Slick.prototype.setHeight = function() {
|
1810 |
+
|
1811 |
+
var _ = this;
|
1812 |
+
|
1813 |
+
if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
|
1814 |
+
var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
|
1815 |
+
_.$list.css('height', targetHeight);
|
1816 |
+
}
|
1817 |
+
|
1818 |
+
};
|
1819 |
+
|
1820 |
+
Slick.prototype.setOption = Slick.prototype.slickSetOption = function(option, value, refresh) {
|
1821 |
+
|
1822 |
+
var _ = this, l, item;
|
1823 |
+
|
1824 |
+
if( option === "responsive" && $.type(value) === "array" ) {
|
1825 |
+
for ( item in value ) {
|
1826 |
+
if( $.type( _.options.responsive ) !== "array" ) {
|
1827 |
+
_.options.responsive = [ value[item] ];
|
1828 |
+
} else {
|
1829 |
+
l = _.options.responsive.length-1;
|
1830 |
+
// loop through the responsive object and splice out duplicates.
|
1831 |
+
while( l >= 0 ) {
|
1832 |
+
if( _.options.responsive[l].breakpoint === value[item].breakpoint ) {
|
1833 |
+
_.options.responsive.splice(l,1);
|
1834 |
+
}
|
1835 |
+
l--;
|
1836 |
+
}
|
1837 |
+
_.options.responsive.push( value[item] );
|
1838 |
+
}
|
1839 |
+
}
|
1840 |
+
} else {
|
1841 |
+
_.options[option] = value;
|
1842 |
+
}
|
1843 |
+
|
1844 |
+
if (refresh === true) {
|
1845 |
+
_.unload();
|
1846 |
+
_.reinit();
|
1847 |
+
}
|
1848 |
+
|
1849 |
+
};
|
1850 |
+
|
1851 |
+
Slick.prototype.setPosition = function() {
|
1852 |
+
|
1853 |
+
var _ = this;
|
1854 |
+
|
1855 |
+
_.setDimensions();
|
1856 |
+
|
1857 |
+
_.setHeight();
|
1858 |
+
|
1859 |
+
if (_.options.fade === false) {
|
1860 |
+
_.setCSS(_.getLeft(_.currentSlide));
|
1861 |
+
} else {
|
1862 |
+
_.setFade();
|
1863 |
+
}
|
1864 |
+
|
1865 |
+
_.$slider.trigger('setPosition', [_]);
|
1866 |
+
|
1867 |
+
};
|
1868 |
+
|
1869 |
+
Slick.prototype.setProps = function() {
|
1870 |
+
|
1871 |
+
var _ = this,
|
1872 |
+
bodyStyle = document.body.style;
|
1873 |
+
|
1874 |
+
_.positionProp = _.options.vertical === true ? 'top' : 'left';
|
1875 |
+
|
1876 |
+
if (_.positionProp === 'top') {
|
1877 |
+
_.$slider.addClass('slick-vertical');
|
1878 |
+
} else {
|
1879 |
+
_.$slider.removeClass('slick-vertical');
|
1880 |
+
}
|
1881 |
+
|
1882 |
+
if (bodyStyle.WebkitTransition !== undefined ||
|
1883 |
+
bodyStyle.MozTransition !== undefined ||
|
1884 |
+
bodyStyle.msTransition !== undefined) {
|
1885 |
+
if (_.options.useCSS === true) {
|
1886 |
+
_.cssTransitions = true;
|
1887 |
+
}
|
1888 |
+
}
|
1889 |
+
|
1890 |
+
if ( _.options.fade ) {
|
1891 |
+
if ( typeof _.options.zIndex === 'number' ) {
|
1892 |
+
if( _.options.zIndex < 3 ) {
|
1893 |
+
_.options.zIndex = 3;
|
1894 |
+
}
|
1895 |
+
} else {
|
1896 |
+
_.options.zIndex = _.defaults.zIndex;
|
1897 |
+
}
|
1898 |
+
}
|
1899 |
+
|
1900 |
+
if (bodyStyle.OTransform !== undefined) {
|
1901 |
+
_.animType = 'OTransform';
|
1902 |
+
_.transformType = '-o-transform';
|
1903 |
+
_.transitionType = 'OTransition';
|
1904 |
+
if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
|
1905 |
+
}
|
1906 |
+
if (bodyStyle.MozTransform !== undefined) {
|
1907 |
+
_.animType = 'MozTransform';
|
1908 |
+
_.transformType = '-moz-transform';
|
1909 |
+
_.transitionType = 'MozTransition';
|
1910 |
+
if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false;
|
1911 |
+
}
|
1912 |
+
if (bodyStyle.webkitTransform !== undefined) {
|
1913 |
+
_.animType = 'webkitTransform';
|
1914 |
+
_.transformType = '-webkit-transform';
|
1915 |
+
_.transitionType = 'webkitTransition';
|
1916 |
+
if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
|
1917 |
+
}
|
1918 |
+
if (bodyStyle.msTransform !== undefined) {
|
1919 |
+
_.animType = 'msTransform';
|
1920 |
+
_.transformType = '-ms-transform';
|
1921 |
+
_.transitionType = 'msTransition';
|
1922 |
+
if (bodyStyle.msTransform === undefined) _.animType = false;
|
1923 |
+
}
|
1924 |
+
if (bodyStyle.transform !== undefined && _.animType !== false) {
|
1925 |
+
_.animType = 'transform';
|
1926 |
+
_.transformType = 'transform';
|
1927 |
+
_.transitionType = 'transition';
|
1928 |
+
}
|
1929 |
+
_.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false);
|
1930 |
+
};
|
1931 |
+
|
1932 |
+
|
1933 |
+
Slick.prototype.setSlideClasses = function(index) {
|
1934 |
+
|
1935 |
+
var _ = this,
|
1936 |
+
centerOffset, allSlides, indexOffset, remainder;
|
1937 |
+
|
1938 |
+
allSlides = _.$slider
|
1939 |
+
.find('.slick-slide')
|
1940 |
+
.removeClass('slick-active slick-center slick-current')
|
1941 |
+
.attr('aria-hidden', 'true');
|
1942 |
+
|
1943 |
+
_.$slides
|
1944 |
+
.eq(index)
|
1945 |
+
.addClass('slick-current');
|
1946 |
+
|
1947 |
+
if (_.options.centerMode === true) {
|
1948 |
+
|
1949 |
+
centerOffset = Math.floor(_.options.slidesToShow / 2);
|
1950 |
+
|
1951 |
+
if (_.options.infinite === true) {
|
1952 |
+
|
1953 |
+
if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) {
|
1954 |
+
|
1955 |
+
_.$slides
|
1956 |
+
.slice(index - centerOffset, index + centerOffset + 1)
|
1957 |
+
.addClass('slick-active')
|
1958 |
+
.attr('aria-hidden', 'false');
|
1959 |
+
|
1960 |
+
} else {
|
1961 |
+
|
1962 |
+
indexOffset = _.options.slidesToShow + index;
|
1963 |
+
allSlides
|
1964 |
+
.slice(indexOffset - centerOffset + 1, indexOffset + centerOffset + 2)
|
1965 |
+
.addClass('slick-active')
|
1966 |
+
.attr('aria-hidden', 'false');
|
1967 |
+
|
1968 |
+
}
|
1969 |
+
|
1970 |
+
if (index === 0) {
|
1971 |
+
|
1972 |
+
allSlides
|
1973 |
+
.eq(allSlides.length - 1 - _.options.slidesToShow)
|
1974 |
+
.addClass('slick-center');
|
1975 |
+
|
1976 |
+
} else if (index === _.slideCount - 1) {
|
1977 |
+
|
1978 |
+
allSlides
|
1979 |
+
.eq(_.options.slidesToShow)
|
1980 |
+
.addClass('slick-center');
|
1981 |
+
|
1982 |
+
}
|
1983 |
+
|
1984 |
+
}
|
1985 |
+
|
1986 |
+
_.$slides
|
1987 |
+
.eq(index)
|
1988 |
+
.addClass('slick-center');
|
1989 |
+
|
1990 |
+
} else {
|
1991 |
+
|
1992 |
+
if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) {
|
1993 |
+
|
1994 |
+
_.$slides
|
1995 |
+
.slice(index, index + _.options.slidesToShow)
|
1996 |
+
.addClass('slick-active')
|
1997 |
+
.attr('aria-hidden', 'false');
|
1998 |
+
|
1999 |
+
} else if (allSlides.length <= _.options.slidesToShow) {
|
2000 |
+
|
2001 |
+
allSlides
|
2002 |
+
.addClass('slick-active')
|
2003 |
+
.attr('aria-hidden', 'false');
|
2004 |
+
|
2005 |
+
} else {
|
2006 |
+
|
2007 |
+
remainder = _.slideCount % _.options.slidesToShow;
|
2008 |
+
indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index;
|
2009 |
+
|
2010 |
+
if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) {
|
2011 |
+
|
2012 |
+
allSlides
|
2013 |
+
.slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder)
|
2014 |
+
.addClass('slick-active')
|
2015 |
+
.attr('aria-hidden', 'false');
|
2016 |
+
|
2017 |
+
} else {
|
2018 |
+
|
2019 |
+
allSlides
|
2020 |
+
.slice(indexOffset, indexOffset + _.options.slidesToShow)
|
2021 |
+
.addClass('slick-active')
|
2022 |
+
.attr('aria-hidden', 'false');
|
2023 |
+
|
2024 |
+
}
|
2025 |
+
|
2026 |
+
}
|
2027 |
+
|
2028 |
+
}
|
2029 |
+
|
2030 |
+
if (_.options.lazyLoad === 'ondemand') {
|
2031 |
+
_.lazyLoad();
|
2032 |
+
}
|
2033 |
+
|
2034 |
+
};
|
2035 |
+
|
2036 |
+
Slick.prototype.setupInfinite = function() {
|
2037 |
+
|
2038 |
+
var _ = this,
|
2039 |
+
i, slideIndex, infiniteCount;
|
2040 |
+
|
2041 |
+
if (_.options.fade === true) {
|
2042 |
+
_.options.centerMode = false;
|
2043 |
+
}
|
2044 |
+
|
2045 |
+
if (_.options.infinite === true && _.options.fade === false) {
|
2046 |
+
|
2047 |
+
slideIndex = null;
|
2048 |
+
|
2049 |
+
if (_.slideCount > _.options.slidesToShow) {
|
2050 |
+
|
2051 |
+
if (_.options.centerMode === true) {
|
2052 |
+
infiniteCount = _.options.slidesToShow + 1;
|
2053 |
+
} else {
|
2054 |
+
infiniteCount = _.options.slidesToShow;
|
2055 |
+
}
|
2056 |
+
|
2057 |
+
for (i = _.slideCount; i > (_.slideCount -
|
2058 |
+
infiniteCount); i -= 1) {
|
2059 |
+
slideIndex = i - 1;
|
2060 |
+
$(_.$slides[slideIndex]).clone(true).attr('id', '')
|
2061 |
+
.attr('data-slick-index', slideIndex - _.slideCount)
|
2062 |
+
.prependTo(_.$slideTrack).addClass('slick-cloned');
|
2063 |
+
}
|
2064 |
+
for (i = 0; i < infiniteCount; i += 1) {
|
2065 |
+
slideIndex = i;
|
2066 |
+
$(_.$slides[slideIndex]).clone(true).attr('id', '')
|
2067 |
+
.attr('data-slick-index', slideIndex + _.slideCount)
|
2068 |
+
.appendTo(_.$slideTrack).addClass('slick-cloned');
|
2069 |
+
}
|
2070 |
+
_.$slideTrack.find('.slick-cloned').find('[id]').each(function() {
|
2071 |
+
$(this).attr('id', '');
|
2072 |
+
});
|
2073 |
+
|
2074 |
+
}
|
2075 |
+
|
2076 |
+
}
|
2077 |
+
|
2078 |
+
};
|
2079 |
+
|
2080 |
+
Slick.prototype.setPaused = function(paused) {
|
2081 |
+
|
2082 |
+
var _ = this;
|
2083 |
+
|
2084 |
+
if (_.options.autoplay === true && _.options.pauseOnHover === true) {
|
2085 |
+
_.paused = paused;
|
2086 |
+
if (!paused) {
|
2087 |
+
_.autoPlay();
|
2088 |
+
} else {
|
2089 |
+
_.autoPlayClear();
|
2090 |
+
}
|
2091 |
+
}
|
2092 |
+
};
|
2093 |
+
|
2094 |
+
Slick.prototype.selectHandler = function(event) {
|
2095 |
+
|
2096 |
+
var _ = this;
|
2097 |
+
|
2098 |
+
var targetElement =
|
2099 |
+
$(event.target).is('.slick-slide') ?
|
2100 |
+
$(event.target) :
|
2101 |
+
$(event.target).parents('.slick-slide');
|
2102 |
+
|
2103 |
+
var index = parseInt(targetElement.attr('data-slick-index'));
|
2104 |
+
|
2105 |
+
if (!index) index = 0;
|
2106 |
+
|
2107 |
+
if (_.slideCount <= _.options.slidesToShow) {
|
2108 |
+
|
2109 |
+
_.setSlideClasses(index);
|
2110 |
+
_.asNavFor(index);
|
2111 |
+
return;
|
2112 |
+
|
2113 |
+
}
|
2114 |
+
|
2115 |
+
_.slideHandler(index);
|
2116 |
+
|
2117 |
+
};
|
2118 |
+
|
2119 |
+
Slick.prototype.slideHandler = function(index, sync, dontAnimate) {
|
2120 |
+
|
2121 |
+
var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null,
|
2122 |
+
_ = this;
|
2123 |
+
|
2124 |
+
sync = sync || false;
|
2125 |
+
|
2126 |
+
if (_.animating === true && _.options.waitForAnimate === true) {
|
2127 |
+
return;
|
2128 |
+
}
|
2129 |
+
|
2130 |
+
if (_.options.fade === true && _.currentSlide === index) {
|
2131 |
+
return;
|
2132 |
+
}
|
2133 |
+
|
2134 |
+
if (_.slideCount <= _.options.slidesToShow) {
|
2135 |
+
return;
|
2136 |
+
}
|
2137 |
+
|
2138 |
+
if (sync === false) {
|
2139 |
+
_.asNavFor(index);
|
2140 |
+
}
|
2141 |
+
|
2142 |
+
targetSlide = index;
|
2143 |
+
targetLeft = _.getLeft(targetSlide);
|
2144 |
+
slideLeft = _.getLeft(_.currentSlide);
|
2145 |
+
|
2146 |
+
_.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;
|
2147 |
+
|
2148 |
+
if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) {
|
2149 |
+
if (_.options.fade === false) {
|
2150 |
+
targetSlide = _.currentSlide;
|
2151 |
+
if (dontAnimate !== true) {
|
2152 |
+
_.animateSlide(slideLeft, function() {
|
2153 |
+
_.postSlide(targetSlide);
|
2154 |
+
});
|
2155 |
+
} else {
|
2156 |
+
_.postSlide(targetSlide);
|
2157 |
+
}
|
2158 |
+
}
|
2159 |
+
return;
|
2160 |
+
} else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) {
|
2161 |
+
if (_.options.fade === false) {
|
2162 |
+
targetSlide = _.currentSlide;
|
2163 |
+
if (dontAnimate !== true) {
|
2164 |
+
_.animateSlide(slideLeft, function() {
|
2165 |
+
_.postSlide(targetSlide);
|
2166 |
+
});
|
2167 |
+
} else {
|
2168 |
+
_.postSlide(targetSlide);
|
2169 |
+
}
|
2170 |
+
}
|
2171 |
+
return;
|
2172 |
+
}
|
2173 |
+
|
2174 |
+
if (_.options.autoplay === true) {
|
2175 |
+
clearInterval(_.autoPlayTimer);
|
2176 |
+
}
|
2177 |
+
|
2178 |
+
if (targetSlide < 0) {
|
2179 |
+
if (_.slideCount % _.options.slidesToScroll !== 0) {
|
2180 |
+
animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll);
|
2181 |
+
} else {
|
2182 |
+
animSlide = _.slideCount + targetSlide;
|
2183 |
+
}
|
2184 |
+
} else if (targetSlide >= _.slideCount) {
|
2185 |
+
if (_.slideCount % _.options.slidesToScroll !== 0) {
|
2186 |
+
animSlide = 0;
|
2187 |
+
} else {
|
2188 |
+
animSlide = targetSlide - _.slideCount;
|
2189 |
+
}
|
2190 |
+
} else {
|
2191 |
+
animSlide = targetSlide;
|
2192 |
+
}
|
2193 |
+
|
2194 |
+
_.animating = true;
|
2195 |
+
|
2196 |
+
_.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]);
|
2197 |
+
|
2198 |
+
oldSlide = _.currentSlide;
|
2199 |
+
_.currentSlide = animSlide;
|
2200 |
+
|
2201 |
+
_.setSlideClasses(_.currentSlide);
|
2202 |
+
|
2203 |
+
_.updateDots();
|
2204 |
+
_.updateArrows();
|
2205 |
+
|
2206 |
+
if (_.options.fade === true) {
|
2207 |
+
if (dontAnimate !== true) {
|
2208 |
+
|
2209 |
+
_.fadeSlideOut(oldSlide);
|
2210 |
+
|
2211 |
+
_.fadeSlide(animSlide, function() {
|
2212 |
+
_.postSlide(animSlide);
|
2213 |
+
});
|
2214 |
+
|
2215 |
+
} else {
|
2216 |
+
_.postSlide(animSlide);
|
2217 |
+
}
|
2218 |
+
_.animateHeight();
|
2219 |
+
return;
|
2220 |
+
}
|
2221 |
+
|
2222 |
+
if (dontAnimate !== true) {
|
2223 |
+
_.animateSlide(targetLeft, function() {
|
2224 |
+
_.postSlide(animSlide);
|
2225 |
+
});
|
2226 |
+
} else {
|
2227 |
+
_.postSlide(animSlide);
|
2228 |
+
}
|
2229 |
+
|
2230 |
+
};
|
2231 |
+
|
2232 |
+
Slick.prototype.startLoad = function() {
|
2233 |
+
|
2234 |
+
var _ = this;
|
2235 |
+
|
2236 |
+
if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
|
2237 |
+
|
2238 |
+
_.$prevArrow.hide();
|
2239 |
+
_.$nextArrow.hide();
|
2240 |
+
|
2241 |
+
}
|
2242 |
+
|
2243 |
+
if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
|
2244 |
+
|
2245 |
+
_.$dots.hide();
|
2246 |
+
|
2247 |
+
}
|
2248 |
+
|
2249 |
+
_.$slider.addClass('slick-loading');
|
2250 |
+
|
2251 |
+
};
|
2252 |
+
|
2253 |
+
Slick.prototype.swipeDirection = function() {
|
2254 |
+
|
2255 |
+
var xDist, yDist, r, swipeAngle, _ = this;
|
2256 |
+
|
2257 |
+
xDist = _.touchObject.startX - _.touchObject.curX;
|
2258 |
+
yDist = _.touchObject.startY - _.touchObject.curY;
|
2259 |
+
r = Math.atan2(yDist, xDist);
|
2260 |
+
|
2261 |
+
swipeAngle = Math.round(r * 180 / Math.PI);
|
2262 |
+
if (swipeAngle < 0) {
|
2263 |
+
swipeAngle = 360 - Math.abs(swipeAngle);
|
2264 |
+
}
|
2265 |
+
|
2266 |
+
if ((swipeAngle <= 45) && (swipeAngle >= 0)) {
|
2267 |
+
return (_.options.rtl === false ? 'left' : 'right');
|
2268 |
+
}
|
2269 |
+
if ((swipeAngle <= 360) && (swipeAngle >= 315)) {
|
2270 |
+
return (_.options.rtl === false ? 'left' : 'right');
|
2271 |
+
}
|
2272 |
+
if ((swipeAngle >= 135) && (swipeAngle <= 225)) {
|
2273 |
+
return (_.options.rtl === false ? 'right' : 'left');
|
2274 |
+
}
|
2275 |
+
if (_.options.verticalSwiping === true) {
|
2276 |
+
if ((swipeAngle >= 35) && (swipeAngle <= 135)) {
|
2277 |
+
return 'left';
|
2278 |
+
} else {
|
2279 |
+
return 'right';
|
2280 |
+
}
|
2281 |
+
}
|
2282 |
+
|
2283 |
+
return 'vertical';
|
2284 |
+
|
2285 |
+
};
|
2286 |
+
|
2287 |
+
Slick.prototype.swipeEnd = function(event) {
|
2288 |
+
|
2289 |
+
var _ = this,
|
2290 |
+
slideCount;
|
2291 |
+
|
2292 |
+
_.dragging = false;
|
2293 |
+
|
2294 |
+
_.shouldClick = (_.touchObject.swipeLength > 10) ? false : true;
|
2295 |
+
|
2296 |
+
if (_.touchObject.curX === undefined) {
|
2297 |
+
return false;
|
2298 |
+
}
|
2299 |
+
|
2300 |
+
if (_.touchObject.edgeHit === true) {
|
2301 |
+
_.$slider.trigger('edge', [_, _.swipeDirection()]);
|
2302 |
+
}
|
2303 |
+
|
2304 |
+
if (_.touchObject.swipeLength >= _.touchObject.minSwipe) {
|
2305 |
+
|
2306 |
+
switch (_.swipeDirection()) {
|
2307 |
+
case 'left':
|
2308 |
+
slideCount = _.options.swipeToSlide ? _.checkNavigable(_.currentSlide + _.getSlideCount()) : _.currentSlide + _.getSlideCount();
|
2309 |
+
_.slideHandler(slideCount);
|
2310 |
+
_.currentDirection = 0;
|
2311 |
+
_.touchObject = {};
|
2312 |
+
_.$slider.trigger('swipe', [_, 'left']);
|
2313 |
+
break;
|
2314 |
+
|
2315 |
+
case 'right':
|
2316 |
+
slideCount = _.options.swipeToSlide ? _.checkNavigable(_.currentSlide - _.getSlideCount()) : _.currentSlide - _.getSlideCount();
|
2317 |
+
_.slideHandler(slideCount);
|
2318 |
+
_.currentDirection = 1;
|
2319 |
+
_.touchObject = {};
|
2320 |
+
_.$slider.trigger('swipe', [_, 'right']);
|
2321 |
+
break;
|
2322 |
+
}
|
2323 |
+
} else {
|
2324 |
+
if (_.touchObject.startX !== _.touchObject.curX) {
|
2325 |
+
_.slideHandler(_.currentSlide);
|
2326 |
+
_.touchObject = {};
|
2327 |
+
}
|
2328 |
+
}
|
2329 |
+
|
2330 |
+
};
|
2331 |
+
|
2332 |
+
Slick.prototype.swipeHandler = function(event) {
|
2333 |
+
|
2334 |
+
var _ = this;
|
2335 |
+
|
2336 |
+
if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) {
|
2337 |
+
return;
|
2338 |
+
} else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) {
|
2339 |
+
return;
|
2340 |
+
}
|
2341 |
+
|
2342 |
+
_.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ?
|
2343 |
+
event.originalEvent.touches.length : 1;
|
2344 |
+
|
2345 |
+
_.touchObject.minSwipe = _.listWidth / _.options
|
2346 |
+
.touchThreshold;
|
2347 |
+
|
2348 |
+
if (_.options.verticalSwiping === true) {
|
2349 |
+
_.touchObject.minSwipe = _.listHeight / _.options
|
2350 |
+
.touchThreshold;
|
2351 |
+
}
|
2352 |
+
|
2353 |
+
switch (event.data.action) {
|
2354 |
+
|
2355 |
+
case 'start':
|
2356 |
+
_.swipeStart(event);
|
2357 |
+
break;
|
2358 |
+
|
2359 |
+
case 'move':
|
2360 |
+
_.swipeMove(event);
|
2361 |
+
break;
|
2362 |
+
|
2363 |
+
case 'end':
|
2364 |
+
_.swipeEnd(event);
|
2365 |
+
break;
|
2366 |
+
|
2367 |
+
}
|
2368 |
+
|
2369 |
+
};
|
2370 |
+
|
2371 |
+
Slick.prototype.swipeMove = function(event) {
|
2372 |
+
|
2373 |
+
var _ = this,
|
2374 |
+
edgeWasHit = false,
|
2375 |
+
curLeft, swipeDirection, swipeLength, positionOffset, touches;
|
2376 |
+
|
2377 |
+
touches = event.originalEvent !== undefined ? event.originalEvent.touches : null;
|
2378 |
+
|
2379 |
+
if (!_.dragging || touches && touches.length !== 1) {
|
2380 |
+
return false;
|
2381 |
+
}
|
2382 |
+
|
2383 |
+
curLeft = _.getLeft(_.currentSlide);
|
2384 |
+
|
2385 |
+
_.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX;
|
2386 |
+
_.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY;
|
2387 |
+
|
2388 |
+
_.touchObject.swipeLength = Math.round(Math.sqrt(
|
2389 |
+
Math.pow(_.touchObject.curX - _.touchObject.startX, 2)));
|
2390 |
+
|
2391 |
+
if (_.options.verticalSwiping === true) {
|
2392 |
+
_.touchObject.swipeLength = Math.round(Math.sqrt(
|
2393 |
+
Math.pow(_.touchObject.curY - _.touchObject.startY, 2)));
|
2394 |
+
}
|
2395 |
+
|
2396 |
+
swipeDirection = _.swipeDirection();
|
2397 |
+
|
2398 |
+
if (swipeDirection === 'vertical') {
|
2399 |
+
return;
|
2400 |
+
}
|
2401 |
+
|
2402 |
+
if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) {
|
2403 |
+
event.preventDefault();
|
2404 |
+
}
|
2405 |
+
|
2406 |
+
positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1);
|
2407 |
+
if (_.options.verticalSwiping === true) {
|
2408 |
+
positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1;
|
2409 |
+
}
|
2410 |
+
|
2411 |
+
|
2412 |
+
swipeLength = _.touchObject.swipeLength;
|
2413 |
+
|
2414 |
+
_.touchObject.edgeHit = false;
|
2415 |
+
|
2416 |
+
if (_.options.infinite === false) {
|
2417 |
+
if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) {
|
2418 |
+
swipeLength = _.touchObject.swipeLength * _.options.edgeFriction;
|
2419 |
+
_.touchObject.edgeHit = true;
|
2420 |
+
}
|
2421 |
+
}
|
2422 |
+
|
2423 |
+
if (_.options.vertical === false) {
|
2424 |
+
_.swipeLeft = curLeft + swipeLength * positionOffset;
|
2425 |
+
} else {
|
2426 |
+
_.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset;
|
2427 |
+
}
|
2428 |
+
if (_.options.verticalSwiping === true) {
|
2429 |
+
_.swipeLeft = curLeft + swipeLength * positionOffset;
|
2430 |
+
}
|
2431 |
+
|
2432 |
+
if (_.options.fade === true || _.options.touchMove === false) {
|
2433 |
+
return false;
|
2434 |
+
}
|
2435 |
+
|
2436 |
+
if (_.animating === true) {
|
2437 |
+
_.swipeLeft = null;
|
2438 |
+
return false;
|
2439 |
+
}
|
2440 |
+
|
2441 |
+
_.setCSS(_.swipeLeft);
|
2442 |
+
|
2443 |
+
};
|
2444 |
+
|
2445 |
+
Slick.prototype.swipeStart = function(event) {
|
2446 |
+
|
2447 |
+
var _ = this,
|
2448 |
+
touches;
|
2449 |
+
|
2450 |
+
if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) {
|
2451 |
+
_.touchObject = {};
|
2452 |
+
return false;
|
2453 |
+
}
|
2454 |
+
|
2455 |
+
if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) {
|
2456 |
+
touches = event.originalEvent.touches[0];
|
2457 |
+
}
|
2458 |
+
|
2459 |
+
_.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX;
|
2460 |
+
_.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY;
|
2461 |
+
|
2462 |
+
_.dragging = true;
|
2463 |
+
|
2464 |
+
};
|
2465 |
+
|
2466 |
+
Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() {
|
2467 |
+
|
2468 |
+
var _ = this;
|
2469 |
+
|
2470 |
+
if (_.$slidesCache !== null) {
|
2471 |
+
|
2472 |
+
_.unload();
|
2473 |
+
|
2474 |
+
_.$slideTrack.children(this.options.slide).detach();
|
2475 |
+
|
2476 |
+
_.$slidesCache.appendTo(_.$slideTrack);
|
2477 |
+
|
2478 |
+
_.reinit();
|
2479 |
+
|
2480 |
+
}
|
2481 |
+
|
2482 |
+
};
|
2483 |
+
|
2484 |
+
Slick.prototype.unload = function() {
|
2485 |
+
|
2486 |
+
var _ = this;
|
2487 |
+
|
2488 |
+
$('.slick-cloned', _.$slider).remove();
|
2489 |
+
|
2490 |
+
if (_.$dots) {
|
2491 |
+
_.$dots.remove();
|
2492 |
+
}
|
2493 |
+
|
2494 |
+
if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) {
|
2495 |
+
_.$prevArrow.remove();
|
2496 |
+
}
|
2497 |
+
|
2498 |
+
if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) {
|
2499 |
+
_.$nextArrow.remove();
|
2500 |
+
}
|
2501 |
+
|
2502 |
+
_.$slides
|
2503 |
+
.removeClass('slick-slide slick-active slick-visible slick-current')
|
2504 |
+
.attr('aria-hidden', 'true')
|
2505 |
+
.css('width', '');
|
2506 |
+
|
2507 |
+
};
|
2508 |
+
|
2509 |
+
Slick.prototype.unslick = function(fromBreakpoint) {
|
2510 |
+
|
2511 |
+
var _ = this;
|
2512 |
+
_.$slider.trigger('unslick', [_, fromBreakpoint]);
|
2513 |
+
_.destroy();
|
2514 |
+
|
2515 |
+
};
|
2516 |
+
|
2517 |
+
Slick.prototype.updateArrows = function() {
|
2518 |
+
|
2519 |
+
var _ = this,
|
2520 |
+
centerOffset;
|
2521 |
+
|
2522 |
+
centerOffset = Math.floor(_.options.slidesToShow / 2);
|
2523 |
+
|
2524 |
+
if ( _.options.arrows === true &&
|
2525 |
+
_.slideCount > _.options.slidesToShow &&
|
2526 |
+
!_.options.infinite ) {
|
2527 |
+
|
2528 |
+
_.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
|
2529 |
+
_.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
|
2530 |
+
|
2531 |
+
if (_.currentSlide === 0) {
|
2532 |
+
|
2533 |
+
_.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
|
2534 |
+
_.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
|
2535 |
+
|
2536 |
+
} else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) {
|
2537 |
+
|
2538 |
+
_.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
|
2539 |
+
_.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
|
2540 |
+
|
2541 |
+
} else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) {
|
2542 |
+
|
2543 |
+
_.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
|
2544 |
+
_.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
|
2545 |
+
|
2546 |
+
}
|
2547 |
+
|
2548 |
+
}
|
2549 |
+
|
2550 |
+
};
|
2551 |
+
|
2552 |
+
Slick.prototype.updateDots = function() {
|
2553 |
+
|
2554 |
+
var _ = this;
|
2555 |
+
|
2556 |
+
if (_.$dots !== null) {
|
2557 |
+
|
2558 |
+
_.$dots
|
2559 |
+
.find('li')
|
2560 |
+
.removeClass('slick-active')
|
2561 |
+
.attr('aria-hidden', 'true');
|
2562 |
+
|
2563 |
+
_.$dots
|
2564 |
+
.find('li')
|
2565 |
+
.eq(Math.floor(_.currentSlide / _.options.slidesToScroll))
|
2566 |
+
.addClass('slick-active')
|
2567 |
+
.attr('aria-hidden', 'false');
|
2568 |
+
|
2569 |
+
}
|
2570 |
+
|
2571 |
+
};
|
2572 |
+
|
2573 |
+
Slick.prototype.visibility = function() {
|
2574 |
+
|
2575 |
+
var _ = this;
|
2576 |
+
|
2577 |
+
if (document[_.hidden]) {
|
2578 |
+
_.paused = true;
|
2579 |
+
_.autoPlayClear();
|
2580 |
+
} else {
|
2581 |
+
if (_.options.autoplay === true) {
|
2582 |
+
_.paused = false;
|
2583 |
+
_.autoPlay();
|
2584 |
+
}
|
2585 |
+
}
|
2586 |
+
|
2587 |
+
};
|
2588 |
+
Slick.prototype.initADA = function() {
|
2589 |
+
var _ = this;
|
2590 |
+
_.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
|
2591 |
+
'aria-hidden': 'true',
|
2592 |
+
'tabindex': '-1'
|
2593 |
+
}).find('a, input, button, select').attr({
|
2594 |
+
'tabindex': '-1'
|
2595 |
+
});
|
2596 |
+
|
2597 |
+
_.$slideTrack.attr('role', 'listbox');
|
2598 |
+
|
2599 |
+
_.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) {
|
2600 |
+
$(this).attr({
|
2601 |
+
'role': 'option',
|
2602 |
+
'aria-describedby': 'slick-slide' + _.instanceUid + i + ''
|
2603 |
+
});
|
2604 |
+
});
|
2605 |
+
|
2606 |
+
if (_.$dots !== null) {
|
2607 |
+
_.$dots.attr('role', 'tablist').find('li').each(function(i) {
|
2608 |
+
$(this).attr({
|
2609 |
+
'role': 'presentation',
|
2610 |
+
'aria-selected': 'false',
|
2611 |
+
'aria-controls': 'navigation' + _.instanceUid + i + '',
|
2612 |
+
'id': 'slick-slide' + _.instanceUid + i + ''
|
2613 |
+
});
|
2614 |
+
})
|
2615 |
+
.first().attr('aria-selected', 'true').end()
|
2616 |
+
.find('button').attr('role', 'button').end()
|
2617 |
+
.closest('div').attr('role', 'toolbar');
|
2618 |
+
}
|
2619 |
+
_.activateADA();
|
2620 |
+
|
2621 |
+
};
|
2622 |
+
|
2623 |
+
Slick.prototype.activateADA = function() {
|
2624 |
+
var _ = this;
|
2625 |
+
|
2626 |
+
_.$slideTrack.find('.slick-active').attr({
|
2627 |
+
'aria-hidden': 'false'
|
2628 |
+
}).find('a, input, button, select').attr({
|
2629 |
+
'tabindex': '0'
|
2630 |
+
});
|
2631 |
+
|
2632 |
+
};
|
2633 |
+
|
2634 |
+
Slick.prototype.focusHandler = function() {
|
2635 |
+
var _ = this;
|
2636 |
+
_.$slider.on('focus.slick blur.slick', '*', function(event) {
|
2637 |
+
event.stopImmediatePropagation();
|
2638 |
+
var sf = $(this);
|
2639 |
+
setTimeout(function() {
|
2640 |
+
if (_.isPlay) {
|
2641 |
+
if (sf.is(':focus')) {
|
2642 |
+
_.autoPlayClear();
|
2643 |
+
_.paused = true;
|
2644 |
+
} else {
|
2645 |
+
_.paused = false;
|
2646 |
+
_.autoPlay();
|
2647 |
+
}
|
2648 |
+
}
|
2649 |
+
}, 0);
|
2650 |
+
});
|
2651 |
+
};
|
2652 |
+
|
2653 |
+
$.fn.slick = function() {
|
2654 |
+
var _ = this,
|
2655 |
+
opt = arguments[0],
|
2656 |
+
args = Array.prototype.slice.call(arguments, 1),
|
2657 |
+
l = _.length,
|
2658 |
+
i,
|
2659 |
+
ret;
|
2660 |
+
for (i = 0; i < l; i++) {
|
2661 |
+
if (typeof opt == 'object' || typeof opt == 'undefined')
|
2662 |
+
_[i].slick = new Slick(_[i], opt);
|
2663 |
+
else
|
2664 |
+
ret = _[i].slick[opt].apply(_[i].slick, args);
|
2665 |
+
if (typeof ret != 'undefined') return ret;
|
2666 |
+
}
|
2667 |
+
return _;
|
2668 |
+
};
|
2669 |
+
|
2670 |
+
}));
|
assets/js/slick.min.js
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
(function(factory){"use strict";if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof exports!=="undefined"){module.exports=factory(require("jquery"))}else{factory(jQuery)}})(function($){"use strict";var Slick=window.Slick||{};Slick=function(){var instanceUid=0;function Slick(element,settings){var _=this,dataSettings;_.defaults={accessibility:true,adaptiveHeight:false,appendArrows:$(element),appendDots:$(element),arrows:true,asNavFor:null,prevArrow:'<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',nextArrow:'<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',autoplay:false,autoplaySpeed:3e3,centerMode:false,centerPadding:"50px",cssEase:"ease",customPaging:function(slider,i){return'<button type="button" data-role="none" role="button" aria-required="false" tabindex="0">'+(i+1)+"</button>"},dots:false,dotsClass:"slick-dots",draggable:true,easing:"linear",edgeFriction:.35,fade:false,focusOnSelect:false,infinite:true,initialSlide:0,lazyLoad:"ondemand",mobileFirst:false,pauseOnHover:true,pauseOnDotsHover:false,respondTo:"window",responsive:null,rows:1,rtl:false,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:true,swipeToSlide:false,touchMove:true,touchThreshold:5,useCSS:true,useTransform:false,variableWidth:false,vertical:false,verticalSwiping:false,waitForAnimate:true,zIndex:1e3};_.initials={animating:false,dragging:false,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:false,slideOffset:0,swipeLeft:null,$list:null,touchObject:{},transformsEnabled:false,unslicked:false};$.extend(_,_.initials);_.activeBreakpoint=null;_.animType=null;_.animProp=null;_.breakpoints=[];_.breakpointSettings=[];_.cssTransitions=false;_.hidden="hidden";_.paused=false;_.positionProp=null;_.respondTo=null;_.rowCount=1;_.shouldClick=true;_.$slider=$(element);_.$slidesCache=null;_.transformType=null;_.transitionType=null;_.visibilityChange="visibilitychange";_.windowWidth=0;_.windowTimer=null;dataSettings=$(element).data("slick")||{};_.options=$.extend({},_.defaults,dataSettings,settings);_.currentSlide=_.options.initialSlide;_.originalSettings=_.options;if(typeof document.mozHidden!=="undefined"){_.hidden="mozHidden";_.visibilityChange="mozvisibilitychange"}else if(typeof document.webkitHidden!=="undefined"){_.hidden="webkitHidden";_.visibilityChange="webkitvisibilitychange"}_.autoPlay=$.proxy(_.autoPlay,_);_.autoPlayClear=$.proxy(_.autoPlayClear,_);_.changeSlide=$.proxy(_.changeSlide,_);_.clickHandler=$.proxy(_.clickHandler,_);_.selectHandler=$.proxy(_.selectHandler,_);_.setPosition=$.proxy(_.setPosition,_);_.swipeHandler=$.proxy(_.swipeHandler,_);_.dragHandler=$.proxy(_.dragHandler,_);_.keyHandler=$.proxy(_.keyHandler,_);_.autoPlayIterator=$.proxy(_.autoPlayIterator,_);_.instanceUid=instanceUid++;_.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/;_.registerBreakpoints();_.init(true);_.checkResponsive(true)}return Slick}();Slick.prototype.addSlide=Slick.prototype.slickAdd=function(markup,index,addBefore){var _=this;if(typeof index==="boolean"){addBefore=index;index=null}else if(index<0||index>=_.slideCount){return false}_.unload();if(typeof index==="number"){if(index===0&&_.$slides.length===0){$(markup).appendTo(_.$slideTrack)}else if(addBefore){$(markup).insertBefore(_.$slides.eq(index))}else{$(markup).insertAfter(_.$slides.eq(index))}}else{if(addBefore===true){$(markup).prependTo(_.$slideTrack)}else{$(markup).appendTo(_.$slideTrack)}}_.$slides=_.$slideTrack.children(this.options.slide);_.$slideTrack.children(this.options.slide).detach();_.$slideTrack.append(_.$slides);_.$slides.each(function(index,element){$(element).attr("data-slick-index",index)});_.$slidesCache=_.$slides;_.reinit()};Slick.prototype.animateHeight=function(){var _=this;if(_.options.slidesToShow===1&&_.options.adaptiveHeight===true&&_.options.vertical===false){var targetHeight=_.$slides.eq(_.currentSlide).outerHeight(true);_.$list.animate({height:targetHeight},_.options.speed)}};Slick.prototype.animateSlide=function(targetLeft,callback){var animProps={},_=this;_.animateHeight();if(_.options.rtl===true&&_.options.vertical===false){targetLeft=-targetLeft}if(_.transformsEnabled===false){if(_.options.vertical===false){_.$slideTrack.animate({left:targetLeft},_.options.speed,_.options.easing,callback)}else{_.$slideTrack.animate({top:targetLeft},_.options.speed,_.options.easing,callback)}}else{if(_.cssTransitions===false){if(_.options.rtl===true){_.currentLeft=-_.currentLeft}$({animStart:_.currentLeft}).animate({animStart:targetLeft},{duration:_.options.speed,easing:_.options.easing,step:function(now){now=Math.ceil(now);if(_.options.vertical===false){animProps[_.animType]="translate("+now+"px, 0px)";_.$slideTrack.css(animProps)}else{animProps[_.animType]="translate(0px,"+now+"px)";_.$slideTrack.css(animProps)}},complete:function(){if(callback){callback.call()}}})}else{_.applyTransition();targetLeft=Math.ceil(targetLeft);if(_.options.vertical===false){animProps[_.animType]="translate3d("+targetLeft+"px, 0px, 0px)"}else{animProps[_.animType]="translate3d(0px,"+targetLeft+"px, 0px)"}_.$slideTrack.css(animProps);if(callback){setTimeout(function(){_.disableTransition();callback.call()},_.options.speed)}}}};Slick.prototype.asNavFor=function(index){var _=this,asNavFor=_.options.asNavFor;if(asNavFor&&asNavFor!==null){asNavFor=$(asNavFor).not(_.$slider)}if(asNavFor!==null&&typeof asNavFor==="object"){asNavFor.each(function(){var target=$(this).slick("getSlick");if(!target.unslicked){target.slideHandler(index,true)}})}};Slick.prototype.applyTransition=function(slide){var _=this,transition={};if(_.options.fade===false){transition[_.transitionType]=_.transformType+" "+_.options.speed+"ms "+_.options.cssEase}else{transition[_.transitionType]="opacity "+_.options.speed+"ms "+_.options.cssEase}if(_.options.fade===false){_.$slideTrack.css(transition)}else{_.$slides.eq(slide).css(transition)}};Slick.prototype.autoPlay=function(){var _=this;if(_.autoPlayTimer){clearInterval(_.autoPlayTimer)}if(_.slideCount>_.options.slidesToShow&&_.paused!==true){_.autoPlayTimer=setInterval(_.autoPlayIterator,_.options.autoplaySpeed)}};Slick.prototype.autoPlayClear=function(){var _=this;if(_.autoPlayTimer){clearInterval(_.autoPlayTimer)}};Slick.prototype.autoPlayIterator=function(){var _=this;if(_.options.infinite===false){if(_.direction===1){if(_.currentSlide+1===_.slideCount-1){_.direction=0}_.slideHandler(_.currentSlide+_.options.slidesToScroll)}else{if(_.currentSlide-1===0){_.direction=1}_.slideHandler(_.currentSlide-_.options.slidesToScroll)}}else{_.slideHandler(_.currentSlide+_.options.slidesToScroll)}};Slick.prototype.buildArrows=function(){var _=this;if(_.options.arrows===true){_.$prevArrow=$(_.options.prevArrow).addClass("slick-arrow");_.$nextArrow=$(_.options.nextArrow).addClass("slick-arrow");if(_.slideCount>_.options.slidesToShow){_.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex");_.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex");if(_.htmlExpr.test(_.options.prevArrow)){_.$prevArrow.prependTo(_.options.appendArrows)}if(_.htmlExpr.test(_.options.nextArrow)){_.$nextArrow.appendTo(_.options.appendArrows)}if(_.options.infinite!==true){_.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")}}else{_.$prevArrow.add(_.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"})}}};Slick.prototype.buildDots=function(){var _=this,i,dotString;if(_.options.dots===true&&_.slideCount>_.options.slidesToShow){dotString='<ul class="'+_.options.dotsClass+'">';for(i=0;i<=_.getDotCount();i+=1){dotString+="<li>"+_.options.customPaging.call(this,_,i)+"</li>"}dotString+="</ul>";_.$dots=$(dotString).appendTo(_.options.appendDots);_.$dots.find("li").first().addClass("slick-active").attr("aria-hidden","false")}};Slick.prototype.buildOut=function(){var _=this;_.$slides=_.$slider.children(_.options.slide+":not(.slick-cloned)").addClass("slick-slide");_.slideCount=_.$slides.length;_.$slides.each(function(index,element){$(element).attr("data-slick-index",index).data("originalStyling",$(element).attr("style")||"")});_.$slider.addClass("slick-slider");_.$slideTrack=_.slideCount===0?$('<div class="slick-track"/>').appendTo(_.$slider):_.$slides.wrapAll('<div class="slick-track"/>').parent();_.$list=_.$slideTrack.wrap('<div aria-live="polite" class="slick-list"/>').parent();_.$slideTrack.css("opacity",0);if(_.options.centerMode===true||_.options.swipeToSlide===true){_.options.slidesToScroll=1}$("img[data-lazy]",_.$slider).not("[src]").addClass("slick-loading");_.setupInfinite();_.buildArrows();_.buildDots();_.updateDots();_.setSlideClasses(typeof _.currentSlide==="number"?_.currentSlide:0);if(_.options.draggable===true){_.$list.addClass("draggable")}};Slick.prototype.buildRows=function(){var _=this,a,b,c,newSlides,numOfSlides,originalSlides,slidesPerSection;newSlides=document.createDocumentFragment();originalSlides=_.$slider.children();if(_.options.rows>1){slidesPerSection=_.options.slidesPerRow*_.options.rows;numOfSlides=Math.ceil(originalSlides.length/slidesPerSection);for(a=0;a<numOfSlides;a++){var slide=document.createElement("div");for(b=0;b<_.options.rows;b++){var row=document.createElement("div");for(c=0;c<_.options.slidesPerRow;c++){var target=a*slidesPerSection+(b*_.options.slidesPerRow+c);if(originalSlides.get(target)){row.appendChild(originalSlides.get(target))}}slide.appendChild(row)}newSlides.appendChild(slide)}_.$slider.html(newSlides);_.$slider.children().children().children().css({width:100/_.options.slidesPerRow+"%",display:"inline-block"})}};Slick.prototype.checkResponsive=function(initial,forceUpdate){var _=this,breakpoint,targetBreakpoint,respondToWidth,triggerBreakpoint=false;var sliderWidth=_.$slider.width();var windowWidth=window.innerWidth||$(window).width();if(_.respondTo==="window"){respondToWidth=windowWidth}else if(_.respondTo==="slider"){respondToWidth=sliderWidth}else if(_.respondTo==="min"){respondToWidth=Math.min(windowWidth,sliderWidth)}if(_.options.responsive&&_.options.responsive.length&&_.options.responsive!==null){targetBreakpoint=null;for(breakpoint in _.breakpoints){if(_.breakpoints.hasOwnProperty(breakpoint)){if(_.originalSettings.mobileFirst===false){if(respondToWidth<_.breakpoints[breakpoint]){targetBreakpoint=_.breakpoints[breakpoint]}}else{if(respondToWidth>_.breakpoints[breakpoint]){targetBreakpoint=_.breakpoints[breakpoint]}}}}if(targetBreakpoint!==null){if(_.activeBreakpoint!==null){if(targetBreakpoint!==_.activeBreakpoint||forceUpdate){_.activeBreakpoint=targetBreakpoint;if(_.breakpointSettings[targetBreakpoint]==="unslick"){_.unslick(targetBreakpoint)}else{_.options=$.extend({},_.originalSettings,_.breakpointSettings[targetBreakpoint]);if(initial===true){_.currentSlide=_.options.initialSlide}_.refresh(initial)}triggerBreakpoint=targetBreakpoint}}else{_.activeBreakpoint=targetBreakpoint;if(_.breakpointSettings[targetBreakpoint]==="unslick"){_.unslick(targetBreakpoint)}else{_.options=$.extend({},_.originalSettings,_.breakpointSettings[targetBreakpoint]);if(initial===true){_.currentSlide=_.options.initialSlide}_.refresh(initial)}triggerBreakpoint=targetBreakpoint}}else{if(_.activeBreakpoint!==null){_.activeBreakpoint=null;_.options=_.originalSettings;if(initial===true){_.currentSlide=_.options.initialSlide}_.refresh(initial);triggerBreakpoint=targetBreakpoint}}if(!initial&&triggerBreakpoint!==false){_.$slider.trigger("breakpoint",[_,triggerBreakpoint])}}};Slick.prototype.changeSlide=function(event,dontAnimate){var _=this,$target=$(event.target),indexOffset,slideOffset,unevenOffset;if($target.is("a")){event.preventDefault()}if(!$target.is("li")){$target=$target.closest("li")}unevenOffset=_.slideCount%_.options.slidesToScroll!==0;indexOffset=unevenOffset?0:(_.slideCount-_.currentSlide)%_.options.slidesToScroll;switch(event.data.message){case"previous":slideOffset=indexOffset===0?_.options.slidesToScroll:_.options.slidesToShow-indexOffset;if(_.slideCount>_.options.slidesToShow){_.slideHandler(_.currentSlide-slideOffset,false,dontAnimate)}break;case"next":slideOffset=indexOffset===0?_.options.slidesToScroll:indexOffset;if(_.slideCount>_.options.slidesToShow){_.slideHandler(_.currentSlide+slideOffset,false,dontAnimate)}break;case"index":var index=event.data.index===0?0:event.data.index||$target.index()*_.options.slidesToScroll;_.slideHandler(_.checkNavigable(index),false,dontAnimate);$target.children().trigger("focus");break;default:return}};Slick.prototype.checkNavigable=function(index){var _=this,navigables,prevNavigable;navigables=_.getNavigableIndexes();prevNavigable=0;if(index>navigables[navigables.length-1]){index=navigables[navigables.length-1]}else{for(var n in navigables){if(index<navigables[n]){index=prevNavigable;break}prevNavigable=navigables[n]}}return index};Slick.prototype.cleanUpEvents=function(){var _=this;if(_.options.dots&&_.$dots!==null){$("li",_.$dots).off("click.slick",_.changeSlide);if(_.options.pauseOnDotsHover===true&&_.options.autoplay===true){$("li",_.$dots).off("mouseenter.slick",$.proxy(_.setPaused,_,true)).off("mouseleave.slick",$.proxy(_.setPaused,_,false))}}if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow){_.$prevArrow&&_.$prevArrow.off("click.slick",_.changeSlide);_.$nextArrow&&_.$nextArrow.off("click.slick",_.changeSlide)}_.$list.off("touchstart.slick mousedown.slick",_.swipeHandler);_.$list.off("touchmove.slick mousemove.slick",_.swipeHandler);_.$list.off("touchend.slick mouseup.slick",_.swipeHandler);_.$list.off("touchcancel.slick mouseleave.slick",_.swipeHandler);_.$list.off("click.slick",_.clickHandler);$(document).off(_.visibilityChange,_.visibility);_.$list.off("mouseenter.slick",$.proxy(_.setPaused,_,true));_.$list.off("mouseleave.slick",$.proxy(_.setPaused,_,false));if(_.options.accessibility===true){_.$list.off("keydown.slick",_.keyHandler)}if(_.options.focusOnSelect===true){$(_.$slideTrack).children().off("click.slick",_.selectHandler)}$(window).off("orientationchange.slick.slick-"+_.instanceUid,_.orientationChange);$(window).off("resize.slick.slick-"+_.instanceUid,_.resize);$("[draggable!=true]",_.$slideTrack).off("dragstart",_.preventDefault);$(window).off("load.slick.slick-"+_.instanceUid,_.setPosition);$(document).off("ready.slick.slick-"+_.instanceUid,_.setPosition)};Slick.prototype.cleanUpRows=function(){var _=this,originalSlides;if(_.options.rows>1){originalSlides=_.$slides.children().children();originalSlides.removeAttr("style");_.$slider.html(originalSlides)}};Slick.prototype.clickHandler=function(event){var _=this;if(_.shouldClick===false){event.stopImmediatePropagation();event.stopPropagation();event.preventDefault()}};Slick.prototype.destroy=function(refresh){var _=this;_.autoPlayClear();_.touchObject={};_.cleanUpEvents();$(".slick-cloned",_.$slider).detach();if(_.$dots){_.$dots.remove()}if(_.$prevArrow&&_.$prevArrow.length){_.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display","");if(_.htmlExpr.test(_.options.prevArrow)){_.$prevArrow.remove()}}if(_.$nextArrow&&_.$nextArrow.length){_.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display","");if(_.htmlExpr.test(_.options.nextArrow)){_.$nextArrow.remove()}}if(_.$slides){_.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){$(this).attr("style",$(this).data("originalStyling"))});_.$slideTrack.children(this.options.slide).detach();_.$slideTrack.detach();_.$list.detach();_.$slider.append(_.$slides)}_.cleanUpRows();_.$slider.removeClass("slick-slider");_.$slider.removeClass("slick-initialized");_.unslicked=true;if(!refresh){_.$slider.trigger("destroy",[_])}};Slick.prototype.disableTransition=function(slide){var _=this,transition={};transition[_.transitionType]="";if(_.options.fade===false){_.$slideTrack.css(transition)}else{_.$slides.eq(slide).css(transition)}};Slick.prototype.fadeSlide=function(slideIndex,callback){var _=this;if(_.cssTransitions===false){_.$slides.eq(slideIndex).css({zIndex:_.options.zIndex});_.$slides.eq(slideIndex).animate({opacity:1},_.options.speed,_.options.easing,callback)}else{_.applyTransition(slideIndex);_.$slides.eq(slideIndex).css({opacity:1,zIndex:_.options.zIndex});if(callback){setTimeout(function(){_.disableTransition(slideIndex);callback.call()},_.options.speed)}}};Slick.prototype.fadeSlideOut=function(slideIndex){var _=this;if(_.cssTransitions===false){_.$slides.eq(slideIndex).animate({opacity:0,zIndex:_.options.zIndex-2},_.options.speed,_.options.easing)}else{_.applyTransition(slideIndex);_.$slides.eq(slideIndex).css({opacity:0,zIndex:_.options.zIndex-2})}};Slick.prototype.filterSlides=Slick.prototype.slickFilter=function(filter){var _=this;if(filter!==null){_.$slidesCache=_.$slides;_.unload();_.$slideTrack.children(this.options.slide).detach();_.$slidesCache.filter(filter).appendTo(_.$slideTrack);_.reinit()}};Slick.prototype.getCurrent=Slick.prototype.slickCurrentSlide=function(){var _=this;return _.currentSlide};Slick.prototype.getDotCount=function(){var _=this;var breakPoint=0;var counter=0;var pagerQty=0;if(_.options.infinite===true){while(breakPoint<_.slideCount){++pagerQty;breakPoint=counter+_.options.slidesToScroll;counter+=_.options.slidesToScroll<=_.options.slidesToShow?_.options.slidesToScroll:_.options.slidesToShow}}else if(_.options.centerMode===true){pagerQty=_.slideCount}else{while(breakPoint<_.slideCount){++pagerQty;breakPoint=counter+_.options.slidesToScroll;counter+=_.options.slidesToScroll<=_.options.slidesToShow?_.options.slidesToScroll:_.options.slidesToShow}}return pagerQty-1};Slick.prototype.getLeft=function(slideIndex){var _=this,targetLeft,verticalHeight,verticalOffset=0,targetSlide;_.slideOffset=0;verticalHeight=_.$slides.first().outerHeight(true);if(_.options.infinite===true){if(_.slideCount>_.options.slidesToShow){_.slideOffset=_.slideWidth*_.options.slidesToShow*-1;verticalOffset=verticalHeight*_.options.slidesToShow*-1}if(_.slideCount%_.options.slidesToScroll!==0){if(slideIndex+_.options.slidesToScroll>_.slideCount&&_.slideCount>_.options.slidesToShow){if(slideIndex>_.slideCount){_.slideOffset=(_.options.slidesToShow-(slideIndex-_.slideCount))*_.slideWidth*-1;verticalOffset=(_.options.slidesToShow-(slideIndex-_.slideCount))*verticalHeight*-1}else{_.slideOffset=_.slideCount%_.options.slidesToScroll*_.slideWidth*-1;verticalOffset=_.slideCount%_.options.slidesToScroll*verticalHeight*-1}}}}else{if(slideIndex+_.options.slidesToShow>_.slideCount){_.slideOffset=(slideIndex+_.options.slidesToShow-_.slideCount)*_.slideWidth;verticalOffset=(slideIndex+_.options.slidesToShow-_.slideCount)*verticalHeight}}if(_.slideCount<=_.options.slidesToShow){_.slideOffset=0;verticalOffset=0}if(_.options.centerMode===true&&_.options.infinite===true){_.slideOffset+=_.slideWidth*Math.floor(_.options.slidesToShow/2)-_.slideWidth}else if(_.options.centerMode===true){_.slideOffset=0;_.slideOffset+=_.slideWidth*Math.floor(_.options.slidesToShow/2)}if(_.options.vertical===false){targetLeft=slideIndex*_.slideWidth*-1+_.slideOffset}else{targetLeft=slideIndex*verticalHeight*-1+verticalOffset}if(_.options.variableWidth===true){if(_.slideCount<=_.options.slidesToShow||_.options.infinite===false){targetSlide=_.$slideTrack.children(".slick-slide").eq(slideIndex)}else{targetSlide=_.$slideTrack.children(".slick-slide").eq(slideIndex+_.options.slidesToShow)}if(_.options.rtl===true){if(targetSlide[0]){targetLeft=(_.$slideTrack.width()-targetSlide[0].offsetLeft-targetSlide.width())*-1}else{targetLeft=0}}else{targetLeft=targetSlide[0]?targetSlide[0].offsetLeft*-1:0}if(_.options.centerMode===true){if(_.slideCount<=_.options.slidesToShow||_.options.infinite===false){targetSlide=_.$slideTrack.children(".slick-slide").eq(slideIndex)}else{targetSlide=_.$slideTrack.children(".slick-slide").eq(slideIndex+_.options.slidesToShow+1)}if(_.options.rtl===true){if(targetSlide[0]){targetLeft=(_.$slideTrack.width()-targetSlide[0].offsetLeft-targetSlide.width())*-1}else{targetLeft=0}}else{targetLeft=targetSlide[0]?targetSlide[0].offsetLeft*-1:0}targetLeft+=(_.$list.width()-targetSlide.outerWidth())/2}}return targetLeft};Slick.prototype.getOption=Slick.prototype.slickGetOption=function(option){var _=this;return _.options[option]};Slick.prototype.getNavigableIndexes=function(){var _=this,breakPoint=0,counter=0,indexes=[],max;if(_.options.infinite===false){max=_.slideCount}else{breakPoint=_.options.slidesToScroll*-1;counter=_.options.slidesToScroll*-1;max=_.slideCount*2}while(breakPoint<max){indexes.push(breakPoint);breakPoint=counter+_.options.slidesToScroll;counter+=_.options.slidesToScroll<=_.options.slidesToShow?_.options.slidesToScroll:_.options.slidesToShow}return indexes};Slick.prototype.getSlick=function(){return this};Slick.prototype.getSlideCount=function(){var _=this,slidesTraversed,swipedSlide,centerOffset;centerOffset=_.options.centerMode===true?_.slideWidth*Math.floor(_.options.slidesToShow/2):0;if(_.options.swipeToSlide===true){_.$slideTrack.find(".slick-slide").each(function(index,slide){if(slide.offsetLeft-centerOffset+$(slide).outerWidth()/2>_.swipeLeft*-1){swipedSlide=slide;return false}});slidesTraversed=Math.abs($(swipedSlide).attr("data-slick-index")-_.currentSlide)||1;return slidesTraversed}else{return _.options.slidesToScroll}};Slick.prototype.goTo=Slick.prototype.slickGoTo=function(slide,dontAnimate){var _=this;_.changeSlide({data:{message:"index",index:parseInt(slide)}},dontAnimate)};Slick.prototype.init=function(creation){var _=this;if(!$(_.$slider).hasClass("slick-initialized")){$(_.$slider).addClass("slick-initialized");_.buildRows();_.buildOut();_.setProps();_.startLoad();_.loadSlider();_.initializeEvents();_.updateArrows();_.updateDots()}if(creation){_.$slider.trigger("init",[_])}if(_.options.accessibility===true){_.initADA()}};Slick.prototype.initArrowEvents=function(){var _=this;if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow){_.$prevArrow.on("click.slick",{message:"previous"},_.changeSlide);_.$nextArrow.on("click.slick",{message:"next"},_.changeSlide)}};Slick.prototype.initDotEvents=function(){var _=this;if(_.options.dots===true&&_.slideCount>_.options.slidesToShow){$("li",_.$dots).on("click.slick",{message:"index"},_.changeSlide)}if(_.options.dots===true&&_.options.pauseOnDotsHover===true&&_.options.autoplay===true){$("li",_.$dots).on("mouseenter.slick",$.proxy(_.setPaused,_,true)).on("mouseleave.slick",$.proxy(_.setPaused,_,false))}};Slick.prototype.initializeEvents=function(){var _=this;_.initArrowEvents();_.initDotEvents();_.$list.on("touchstart.slick mousedown.slick",{action:"start"},_.swipeHandler);_.$list.on("touchmove.slick mousemove.slick",{action:"move"},_.swipeHandler);_.$list.on("touchend.slick mouseup.slick",{action:"end"},_.swipeHandler);_.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},_.swipeHandler);_.$list.on("click.slick",_.clickHandler);$(document).on(_.visibilityChange,$.proxy(_.visibility,_));_.$list.on("mouseenter.slick",$.proxy(_.setPaused,_,true));_.$list.on("mouseleave.slick",$.proxy(_.setPaused,_,false));if(_.options.accessibility===true){_.$list.on("keydown.slick",_.keyHandler)}if(_.options.focusOnSelect===true){$(_.$slideTrack).children().on("click.slick",_.selectHandler)}$(window).on("orientationchange.slick.slick-"+_.instanceUid,$.proxy(_.orientationChange,_));$(window).on("resize.slick.slick-"+_.instanceUid,$.proxy(_.resize,_));$("[draggable!=true]",_.$slideTrack).on("dragstart",_.preventDefault);$(window).on("load.slick.slick-"+_.instanceUid,_.setPosition);$(document).on("ready.slick.slick-"+_.instanceUid,_.setPosition)};Slick.prototype.initUI=function(){var _=this;if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow){_.$prevArrow.show();_.$nextArrow.show()}if(_.options.dots===true&&_.slideCount>_.options.slidesToShow){_.$dots.show()}if(_.options.autoplay===true){_.autoPlay()}};Slick.prototype.keyHandler=function(event){var _=this;if(!event.target.tagName.match("TEXTAREA|INPUT|SELECT")){if(event.keyCode===37&&_.options.accessibility===true){_.changeSlide({data:{message:"previous"}})}else if(event.keyCode===39&&_.options.accessibility===true){_.changeSlide({data:{message:"next"}})}}};Slick.prototype.lazyLoad=function(){var _=this,loadRange,cloneRange,rangeStart,rangeEnd;function loadImages(imagesScope){$("img[data-lazy]",imagesScope).each(function(){var image=$(this),imageSource=$(this).attr("data-lazy"),imageToLoad=document.createElement("img");imageToLoad.onload=function(){image.animate({opacity:0},100,function(){image.attr("src",imageSource).animate({opacity:1},200,function(){image.removeAttr("data-lazy").removeClass("slick-loading")})})};imageToLoad.src=imageSource})}if(_.options.centerMode===true){if(_.options.infinite===true){rangeStart=_.currentSlide+(_.options.slidesToShow/2+1);rangeEnd=rangeStart+_.options.slidesToShow+2}else{rangeStart=Math.max(0,_.currentSlide-(_.options.slidesToShow/2+1));rangeEnd=2+(_.options.slidesToShow/2+1)+_.currentSlide}}else{rangeStart=_.options.infinite?_.options.slidesToShow+_.currentSlide:_.currentSlide;rangeEnd=rangeStart+_.options.slidesToShow;if(_.options.fade===true){if(rangeStart>0)rangeStart--;if(rangeEnd<=_.slideCount)rangeEnd++}}loadRange=_.$slider.find(".slick-slide").slice(rangeStart,rangeEnd);loadImages(loadRange);if(_.slideCount<=_.options.slidesToShow){cloneRange=_.$slider.find(".slick-slide");loadImages(cloneRange)}else if(_.currentSlide>=_.slideCount-_.options.slidesToShow){cloneRange=_.$slider.find(".slick-cloned").slice(0,_.options.slidesToShow);loadImages(cloneRange)}else if(_.currentSlide===0){cloneRange=_.$slider.find(".slick-cloned").slice(_.options.slidesToShow*-1);loadImages(cloneRange)}};Slick.prototype.loadSlider=function(){var _=this;_.setPosition();_.$slideTrack.css({opacity:1});_.$slider.removeClass("slick-loading");_.initUI();if(_.options.lazyLoad==="progressive"){_.progressiveLazyLoad()}};Slick.prototype.next=Slick.prototype.slickNext=function(){var _=this;_.changeSlide({data:{message:"next"}})};Slick.prototype.orientationChange=function(){var _=this;_.checkResponsive();_.setPosition()};Slick.prototype.pause=Slick.prototype.slickPause=function(){var _=this;_.autoPlayClear();_.paused=true};Slick.prototype.play=Slick.prototype.slickPlay=function(){var _=this;_.paused=false;_.autoPlay()};Slick.prototype.postSlide=function(index){var _=this;_.$slider.trigger("afterChange",[_,index]);_.animating=false;_.setPosition();_.swipeLeft=null;if(_.options.autoplay===true&&_.paused===false){_.autoPlay()}if(_.options.accessibility===true){_.initADA()}};Slick.prototype.prev=Slick.prototype.slickPrev=function(){var _=this;_.changeSlide({data:{message:"previous"}})};Slick.prototype.preventDefault=function(event){event.preventDefault()};Slick.prototype.progressiveLazyLoad=function(){var _=this,imgCount,targetImage;imgCount=$("img[data-lazy]",_.$slider).length;if(imgCount>0){targetImage=$("img[data-lazy]",_.$slider).first();targetImage.attr("src",null);targetImage.attr("src",targetImage.attr("data-lazy")).removeClass("slick-loading").load(function(){targetImage.removeAttr("data-lazy");_.progressiveLazyLoad();if(_.options.adaptiveHeight===true){_.setPosition()}}).error(function(){targetImage.removeAttr("data-lazy");_.progressiveLazyLoad()})}};Slick.prototype.refresh=function(initializing){var _=this,currentSlide,firstVisible;firstVisible=_.slideCount-_.options.slidesToShow;if(!_.options.infinite){if(_.slideCount<=_.options.slidesToShow){_.currentSlide=0}else if(_.currentSlide>firstVisible){_.currentSlide=firstVisible}}currentSlide=_.currentSlide;_.destroy(true);$.extend(_,_.initials,{currentSlide:currentSlide});_.init();if(!initializing){_.changeSlide({data:{message:"index",index:currentSlide}},false)}};Slick.prototype.registerBreakpoints=function(){var _=this,breakpoint,currentBreakpoint,l,responsiveSettings=_.options.responsive||null;if($.type(responsiveSettings)==="array"&&responsiveSettings.length){_.respondTo=_.options.respondTo||"window";for(breakpoint in responsiveSettings){l=_.breakpoints.length-1;currentBreakpoint=responsiveSettings[breakpoint].breakpoint;if(responsiveSettings.hasOwnProperty(breakpoint)){while(l>=0){if(_.breakpoints[l]&&_.breakpoints[l]===currentBreakpoint){_.breakpoints.splice(l,1)}l--}_.breakpoints.push(currentBreakpoint);_.breakpointSettings[currentBreakpoint]=responsiveSettings[breakpoint].settings}}_.breakpoints.sort(function(a,b){return _.options.mobileFirst?a-b:b-a})}};Slick.prototype.reinit=function(){var _=this;_.$slides=_.$slideTrack.children(_.options.slide).addClass("slick-slide");_.slideCount=_.$slides.length;if(_.currentSlide>=_.slideCount&&_.currentSlide!==0){_.currentSlide=_.currentSlide-_.options.slidesToScroll}if(_.slideCount<=_.options.slidesToShow){_.currentSlide=0}_.registerBreakpoints();_.setProps();_.setupInfinite();_.buildArrows();_.updateArrows();_.initArrowEvents();_.buildDots();_.updateDots();_.initDotEvents();_.checkResponsive(false,true);if(_.options.focusOnSelect===true){$(_.$slideTrack).children().on("click.slick",_.selectHandler)}_.setSlideClasses(0);_.setPosition();_.$slider.trigger("reInit",[_]);if(_.options.autoplay===true){_.focusHandler()}};Slick.prototype.resize=function(){var _=this;if($(window).width()!==_.windowWidth){clearTimeout(_.windowDelay);_.windowDelay=window.setTimeout(function(){_.windowWidth=$(window).width();_.checkResponsive();if(!_.unslicked){_.setPosition()}},50)}};Slick.prototype.removeSlide=Slick.prototype.slickRemove=function(index,removeBefore,removeAll){var _=this;if(typeof index==="boolean"){removeBefore=index;index=removeBefore===true?0:_.slideCount-1}else{index=removeBefore===true?--index:index}if(_.slideCount<1||index<0||index>_.slideCount-1){return false}_.unload();if(removeAll===true){_.$slideTrack.children().remove()}else{_.$slideTrack.children(this.options.slide).eq(index).remove()}_.$slides=_.$slideTrack.children(this.options.slide);_.$slideTrack.children(this.options.slide).detach();_.$slideTrack.append(_.$slides);_.$slidesCache=_.$slides;_.reinit()};Slick.prototype.setCSS=function(position){var _=this,positionProps={},x,y;if(_.options.rtl===true){position=-position}x=_.positionProp=="left"?Math.ceil(position)+"px":"0px";y=_.positionProp=="top"?Math.ceil(position)+"px":"0px";positionProps[_.positionProp]=position;if(_.transformsEnabled===false){_.$slideTrack.css(positionProps)}else{positionProps={};if(_.cssTransitions===false){positionProps[_.animType]="translate("+x+", "+y+")";_.$slideTrack.css(positionProps)}else{positionProps[_.animType]="translate3d("+x+", "+y+", 0px)";_.$slideTrack.css(positionProps)}}};Slick.prototype.setDimensions=function(){var _=this;if(_.options.vertical===false){if(_.options.centerMode===true){_.$list.css({padding:"0px "+_.options.centerPadding})}}else{_.$list.height(_.$slides.first().outerHeight(true)*_.options.slidesToShow);if(_.options.centerMode===true){_.$list.css({padding:_.options.centerPadding+" 0px"})}}_.listWidth=_.$list.width();_.listHeight=_.$list.height();if(_.options.vertical===false&&_.options.variableWidth===false){_.slideWidth=Math.ceil(_.listWidth/_.options.slidesToShow);_.$slideTrack.width(Math.ceil(_.slideWidth*_.$slideTrack.children(".slick-slide").length))}else if(_.options.variableWidth===true){_.$slideTrack.width(5e3*_.slideCount)}else{_.slideWidth=Math.ceil(_.listWidth);_.$slideTrack.height(Math.ceil(_.$slides.first().outerHeight(true)*_.$slideTrack.children(".slick-slide").length))}var offset=_.$slides.first().outerWidth(true)-_.$slides.first().width()
|
2 |
+
;if(_.options.variableWidth===false)_.$slideTrack.children(".slick-slide").width(_.slideWidth-offset)};Slick.prototype.setFade=function(){var _=this,targetLeft;_.$slides.each(function(index,element){targetLeft=_.slideWidth*index*-1;if(_.options.rtl===true){$(element).css({position:"relative",right:targetLeft,top:0,zIndex:_.options.zIndex-2,opacity:0})}else{$(element).css({position:"relative",left:targetLeft,top:0,zIndex:_.options.zIndex-2,opacity:0})}});_.$slides.eq(_.currentSlide).css({zIndex:_.options.zIndex-1,opacity:1})};Slick.prototype.setHeight=function(){var _=this;if(_.options.slidesToShow===1&&_.options.adaptiveHeight===true&&_.options.vertical===false){var targetHeight=_.$slides.eq(_.currentSlide).outerHeight(true);_.$list.css("height",targetHeight)}};Slick.prototype.setOption=Slick.prototype.slickSetOption=function(option,value,refresh){var _=this,l,item;if(option==="responsive"&&$.type(value)==="array"){for(item in value){if($.type(_.options.responsive)!=="array"){_.options.responsive=[value[item]]}else{l=_.options.responsive.length-1;while(l>=0){if(_.options.responsive[l].breakpoint===value[item].breakpoint){_.options.responsive.splice(l,1)}l--}_.options.responsive.push(value[item])}}}else{_.options[option]=value}if(refresh===true){_.unload();_.reinit()}};Slick.prototype.setPosition=function(){var _=this;_.setDimensions();_.setHeight();if(_.options.fade===false){_.setCSS(_.getLeft(_.currentSlide))}else{_.setFade()}_.$slider.trigger("setPosition",[_])};Slick.prototype.setProps=function(){var _=this,bodyStyle=document.body.style;_.positionProp=_.options.vertical===true?"top":"left";if(_.positionProp==="top"){_.$slider.addClass("slick-vertical")}else{_.$slider.removeClass("slick-vertical")}if(bodyStyle.WebkitTransition!==undefined||bodyStyle.MozTransition!==undefined||bodyStyle.msTransition!==undefined){if(_.options.useCSS===true){_.cssTransitions=true}}if(_.options.fade){if(typeof _.options.zIndex==="number"){if(_.options.zIndex<3){_.options.zIndex=3}}else{_.options.zIndex=_.defaults.zIndex}}if(bodyStyle.OTransform!==undefined){_.animType="OTransform";_.transformType="-o-transform";_.transitionType="OTransition";if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.webkitPerspective===undefined)_.animType=false}if(bodyStyle.MozTransform!==undefined){_.animType="MozTransform";_.transformType="-moz-transform";_.transitionType="MozTransition";if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.MozPerspective===undefined)_.animType=false}if(bodyStyle.webkitTransform!==undefined){_.animType="webkitTransform";_.transformType="-webkit-transform";_.transitionType="webkitTransition";if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.webkitPerspective===undefined)_.animType=false}if(bodyStyle.msTransform!==undefined){_.animType="msTransform";_.transformType="-ms-transform";_.transitionType="msTransition";if(bodyStyle.msTransform===undefined)_.animType=false}if(bodyStyle.transform!==undefined&&_.animType!==false){_.animType="transform";_.transformType="transform";_.transitionType="transition"}_.transformsEnabled=_.options.useTransform&&(_.animType!==null&&_.animType!==false)};Slick.prototype.setSlideClasses=function(index){var _=this,centerOffset,allSlides,indexOffset,remainder;allSlides=_.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true");_.$slides.eq(index).addClass("slick-current");if(_.options.centerMode===true){centerOffset=Math.floor(_.options.slidesToShow/2);if(_.options.infinite===true){if(index>=centerOffset&&index<=_.slideCount-1-centerOffset){_.$slides.slice(index-centerOffset,index+centerOffset+1).addClass("slick-active").attr("aria-hidden","false")}else{indexOffset=_.options.slidesToShow+index;allSlides.slice(indexOffset-centerOffset+1,indexOffset+centerOffset+2).addClass("slick-active").attr("aria-hidden","false")}if(index===0){allSlides.eq(allSlides.length-1-_.options.slidesToShow).addClass("slick-center")}else if(index===_.slideCount-1){allSlides.eq(_.options.slidesToShow).addClass("slick-center")}}_.$slides.eq(index).addClass("slick-center")}else{if(index>=0&&index<=_.slideCount-_.options.slidesToShow){_.$slides.slice(index,index+_.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false")}else if(allSlides.length<=_.options.slidesToShow){allSlides.addClass("slick-active").attr("aria-hidden","false")}else{remainder=_.slideCount%_.options.slidesToShow;indexOffset=_.options.infinite===true?_.options.slidesToShow+index:index;if(_.options.slidesToShow==_.options.slidesToScroll&&_.slideCount-index<_.options.slidesToShow){allSlides.slice(indexOffset-(_.options.slidesToShow-remainder),indexOffset+remainder).addClass("slick-active").attr("aria-hidden","false")}else{allSlides.slice(indexOffset,indexOffset+_.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false")}}}if(_.options.lazyLoad==="ondemand"){_.lazyLoad()}};Slick.prototype.setupInfinite=function(){var _=this,i,slideIndex,infiniteCount;if(_.options.fade===true){_.options.centerMode=false}if(_.options.infinite===true&&_.options.fade===false){slideIndex=null;if(_.slideCount>_.options.slidesToShow){if(_.options.centerMode===true){infiniteCount=_.options.slidesToShow+1}else{infiniteCount=_.options.slidesToShow}for(i=_.slideCount;i>_.slideCount-infiniteCount;i-=1){slideIndex=i-1;$(_.$slides[slideIndex]).clone(true).attr("id","").attr("data-slick-index",slideIndex-_.slideCount).prependTo(_.$slideTrack).addClass("slick-cloned")}for(i=0;i<infiniteCount;i+=1){slideIndex=i;$(_.$slides[slideIndex]).clone(true).attr("id","").attr("data-slick-index",slideIndex+_.slideCount).appendTo(_.$slideTrack).addClass("slick-cloned")}_.$slideTrack.find(".slick-cloned").find("[id]").each(function(){$(this).attr("id","")})}}};Slick.prototype.setPaused=function(paused){var _=this;if(_.options.autoplay===true&&_.options.pauseOnHover===true){_.paused=paused;if(!paused){_.autoPlay()}else{_.autoPlayClear()}}};Slick.prototype.selectHandler=function(event){var _=this;var targetElement=$(event.target).is(".slick-slide")?$(event.target):$(event.target).parents(".slick-slide");var index=parseInt(targetElement.attr("data-slick-index"));if(!index)index=0;if(_.slideCount<=_.options.slidesToShow){_.setSlideClasses(index);_.asNavFor(index);return}_.slideHandler(index)};Slick.prototype.slideHandler=function(index,sync,dontAnimate){var targetSlide,animSlide,oldSlide,slideLeft,targetLeft=null,_=this;sync=sync||false;if(_.animating===true&&_.options.waitForAnimate===true){return}if(_.options.fade===true&&_.currentSlide===index){return}if(_.slideCount<=_.options.slidesToShow){return}if(sync===false){_.asNavFor(index)}targetSlide=index;targetLeft=_.getLeft(targetSlide);slideLeft=_.getLeft(_.currentSlide);_.currentLeft=_.swipeLeft===null?slideLeft:_.swipeLeft;if(_.options.infinite===false&&_.options.centerMode===false&&(index<0||index>_.getDotCount()*_.options.slidesToScroll)){if(_.options.fade===false){targetSlide=_.currentSlide;if(dontAnimate!==true){_.animateSlide(slideLeft,function(){_.postSlide(targetSlide)})}else{_.postSlide(targetSlide)}}return}else if(_.options.infinite===false&&_.options.centerMode===true&&(index<0||index>_.slideCount-_.options.slidesToScroll)){if(_.options.fade===false){targetSlide=_.currentSlide;if(dontAnimate!==true){_.animateSlide(slideLeft,function(){_.postSlide(targetSlide)})}else{_.postSlide(targetSlide)}}return}if(_.options.autoplay===true){clearInterval(_.autoPlayTimer)}if(targetSlide<0){if(_.slideCount%_.options.slidesToScroll!==0){animSlide=_.slideCount-_.slideCount%_.options.slidesToScroll}else{animSlide=_.slideCount+targetSlide}}else if(targetSlide>=_.slideCount){if(_.slideCount%_.options.slidesToScroll!==0){animSlide=0}else{animSlide=targetSlide-_.slideCount}}else{animSlide=targetSlide}_.animating=true;_.$slider.trigger("beforeChange",[_,_.currentSlide,animSlide]);oldSlide=_.currentSlide;_.currentSlide=animSlide;_.setSlideClasses(_.currentSlide);_.updateDots();_.updateArrows();if(_.options.fade===true){if(dontAnimate!==true){_.fadeSlideOut(oldSlide);_.fadeSlide(animSlide,function(){_.postSlide(animSlide)})}else{_.postSlide(animSlide)}_.animateHeight();return}if(dontAnimate!==true){_.animateSlide(targetLeft,function(){_.postSlide(animSlide)})}else{_.postSlide(animSlide)}};Slick.prototype.startLoad=function(){var _=this;if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow){_.$prevArrow.hide();_.$nextArrow.hide()}if(_.options.dots===true&&_.slideCount>_.options.slidesToShow){_.$dots.hide()}_.$slider.addClass("slick-loading")};Slick.prototype.swipeDirection=function(){var xDist,yDist,r,swipeAngle,_=this;xDist=_.touchObject.startX-_.touchObject.curX;yDist=_.touchObject.startY-_.touchObject.curY;r=Math.atan2(yDist,xDist);swipeAngle=Math.round(r*180/Math.PI);if(swipeAngle<0){swipeAngle=360-Math.abs(swipeAngle)}if(swipeAngle<=45&&swipeAngle>=0){return _.options.rtl===false?"left":"right"}if(swipeAngle<=360&&swipeAngle>=315){return _.options.rtl===false?"left":"right"}if(swipeAngle>=135&&swipeAngle<=225){return _.options.rtl===false?"right":"left"}if(_.options.verticalSwiping===true){if(swipeAngle>=35&&swipeAngle<=135){return"left"}else{return"right"}}return"vertical"};Slick.prototype.swipeEnd=function(event){var _=this,slideCount;_.dragging=false;_.shouldClick=_.touchObject.swipeLength>10?false:true;if(_.touchObject.curX===undefined){return false}if(_.touchObject.edgeHit===true){_.$slider.trigger("edge",[_,_.swipeDirection()])}if(_.touchObject.swipeLength>=_.touchObject.minSwipe){switch(_.swipeDirection()){case"left":slideCount=_.options.swipeToSlide?_.checkNavigable(_.currentSlide+_.getSlideCount()):_.currentSlide+_.getSlideCount();_.slideHandler(slideCount);_.currentDirection=0;_.touchObject={};_.$slider.trigger("swipe",[_,"left"]);break;case"right":slideCount=_.options.swipeToSlide?_.checkNavigable(_.currentSlide-_.getSlideCount()):_.currentSlide-_.getSlideCount();_.slideHandler(slideCount);_.currentDirection=1;_.touchObject={};_.$slider.trigger("swipe",[_,"right"]);break}}else{if(_.touchObject.startX!==_.touchObject.curX){_.slideHandler(_.currentSlide);_.touchObject={}}}};Slick.prototype.swipeHandler=function(event){var _=this;if(_.options.swipe===false||"ontouchend"in document&&_.options.swipe===false){return}else if(_.options.draggable===false&&event.type.indexOf("mouse")!==-1){return}_.touchObject.fingerCount=event.originalEvent&&event.originalEvent.touches!==undefined?event.originalEvent.touches.length:1;_.touchObject.minSwipe=_.listWidth/_.options.touchThreshold;if(_.options.verticalSwiping===true){_.touchObject.minSwipe=_.listHeight/_.options.touchThreshold}switch(event.data.action){case"start":_.swipeStart(event);break;case"move":_.swipeMove(event);break;case"end":_.swipeEnd(event);break}};Slick.prototype.swipeMove=function(event){var _=this,edgeWasHit=false,curLeft,swipeDirection,swipeLength,positionOffset,touches;touches=event.originalEvent!==undefined?event.originalEvent.touches:null;if(!_.dragging||touches&&touches.length!==1){return false}curLeft=_.getLeft(_.currentSlide);_.touchObject.curX=touches!==undefined?touches[0].pageX:event.clientX;_.touchObject.curY=touches!==undefined?touches[0].pageY:event.clientY;_.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(_.touchObject.curX-_.touchObject.startX,2)));if(_.options.verticalSwiping===true){_.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(_.touchObject.curY-_.touchObject.startY,2)))}swipeDirection=_.swipeDirection();if(swipeDirection==="vertical"){return}if(event.originalEvent!==undefined&&_.touchObject.swipeLength>4){event.preventDefault()}positionOffset=(_.options.rtl===false?1:-1)*(_.touchObject.curX>_.touchObject.startX?1:-1);if(_.options.verticalSwiping===true){positionOffset=_.touchObject.curY>_.touchObject.startY?1:-1}swipeLength=_.touchObject.swipeLength;_.touchObject.edgeHit=false;if(_.options.infinite===false){if(_.currentSlide===0&&swipeDirection==="right"||_.currentSlide>=_.getDotCount()&&swipeDirection==="left"){swipeLength=_.touchObject.swipeLength*_.options.edgeFriction;_.touchObject.edgeHit=true}}if(_.options.vertical===false){_.swipeLeft=curLeft+swipeLength*positionOffset}else{_.swipeLeft=curLeft+swipeLength*(_.$list.height()/_.listWidth)*positionOffset}if(_.options.verticalSwiping===true){_.swipeLeft=curLeft+swipeLength*positionOffset}if(_.options.fade===true||_.options.touchMove===false){return false}if(_.animating===true){_.swipeLeft=null;return false}_.setCSS(_.swipeLeft)};Slick.prototype.swipeStart=function(event){var _=this,touches;if(_.touchObject.fingerCount!==1||_.slideCount<=_.options.slidesToShow){_.touchObject={};return false}if(event.originalEvent!==undefined&&event.originalEvent.touches!==undefined){touches=event.originalEvent.touches[0]}_.touchObject.startX=_.touchObject.curX=touches!==undefined?touches.pageX:event.clientX;_.touchObject.startY=_.touchObject.curY=touches!==undefined?touches.pageY:event.clientY;_.dragging=true};Slick.prototype.unfilterSlides=Slick.prototype.slickUnfilter=function(){var _=this;if(_.$slidesCache!==null){_.unload();_.$slideTrack.children(this.options.slide).detach();_.$slidesCache.appendTo(_.$slideTrack);_.reinit()}};Slick.prototype.unload=function(){var _=this;$(".slick-cloned",_.$slider).remove();if(_.$dots){_.$dots.remove()}if(_.$prevArrow&&_.htmlExpr.test(_.options.prevArrow)){_.$prevArrow.remove()}if(_.$nextArrow&&_.htmlExpr.test(_.options.nextArrow)){_.$nextArrow.remove()}_.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")};Slick.prototype.unslick=function(fromBreakpoint){var _=this;_.$slider.trigger("unslick",[_,fromBreakpoint]);_.destroy()};Slick.prototype.updateArrows=function(){var _=this,centerOffset;centerOffset=Math.floor(_.options.slidesToShow/2);if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow&&!_.options.infinite){_.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false");_.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false");if(_.currentSlide===0){_.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true");_.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")}else if(_.currentSlide>=_.slideCount-_.options.slidesToShow&&_.options.centerMode===false){_.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true");_.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")}else if(_.currentSlide>=_.slideCount-1&&_.options.centerMode===true){_.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true");_.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")}}};Slick.prototype.updateDots=function(){var _=this;if(_.$dots!==null){_.$dots.find("li").removeClass("slick-active").attr("aria-hidden","true");_.$dots.find("li").eq(Math.floor(_.currentSlide/_.options.slidesToScroll)).addClass("slick-active").attr("aria-hidden","false")}};Slick.prototype.visibility=function(){var _=this;if(document[_.hidden]){_.paused=true;_.autoPlayClear()}else{if(_.options.autoplay===true){_.paused=false;_.autoPlay()}}};Slick.prototype.initADA=function(){var _=this;_.$slides.add(_.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"});_.$slideTrack.attr("role","listbox");_.$slides.not(_.$slideTrack.find(".slick-cloned")).each(function(i){$(this).attr({role:"option","aria-describedby":"slick-slide"+_.instanceUid+i+""})});if(_.$dots!==null){_.$dots.attr("role","tablist").find("li").each(function(i){$(this).attr({role:"presentation","aria-selected":"false","aria-controls":"navigation"+_.instanceUid+i+"",id:"slick-slide"+_.instanceUid+i+""})}).first().attr("aria-selected","true").end().find("button").attr("role","button").end().closest("div").attr("role","toolbar")}_.activateADA()};Slick.prototype.activateADA=function(){var _=this;_.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})};Slick.prototype.focusHandler=function(){var _=this;_.$slider.on("focus.slick blur.slick","*",function(event){event.stopImmediatePropagation();var sf=$(this);setTimeout(function(){if(_.isPlay){if(sf.is(":focus")){_.autoPlayClear();_.paused=true}else{_.paused=false;_.autoPlay()}}},0)})};$.fn.slick=function(){var _=this,opt=arguments[0],args=Array.prototype.slice.call(arguments,1),l=_.length,i,ret;for(i=0;i<l;i++){if(typeof opt=="object"||typeof opt=="undefined")_[i].slick=new Slick(_[i],opt);else ret=_[i].slick[opt].apply(_[i].slick,args);if(typeof ret!="undefined")return ret}return _}});
|
freemius/.codeclimate.yml
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
engines:
|
2 |
+
phpcodesniffer:
|
3 |
+
enabled: true
|
4 |
+
config:
|
5 |
+
standard: "WordPress"
|
6 |
+
checks:
|
7 |
+
Squiz Commenting InlineComment InvalidEndChar:
|
8 |
+
enabled: false
|
9 |
+
Squiz Commenting InlineComment SpacingBefore:
|
10 |
+
enabled: false
|
11 |
+
Squiz Commenting InlineComment WrongStyle:
|
12 |
+
enabled: false
|
13 |
+
Generic Commenting DocComment MissingShort:
|
14 |
+
enabled: false
|
15 |
+
Generic WhiteSpace ScopeIndent IncorrectExact:
|
16 |
+
enabled: false
|
17 |
+
ratings:
|
18 |
+
paths:
|
19 |
+
- "**.php"
|
freemius/.travis.yml
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
sudo: false
|
2 |
+
|
3 |
+
language: php
|
4 |
+
|
5 |
+
php:
|
6 |
+
- 5.3
|
7 |
+
- 5.4
|
8 |
+
- 5.5
|
9 |
+
- 5.6
|
10 |
+
- 7.0
|
11 |
+
- hhvm
|
freemius/LICENSE.txt
ADDED
@@ -0,0 +1,674 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
GNU GENERAL PUBLIC LICENSE
|
2 |
+
Version 3, 29 June 2007
|
3 |
+
|
4 |
+
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
5 |
+
Everyone is permitted to copy and distribute verbatim copies
|
6 |
+
of this license document, but changing it is not allowed.
|
7 |
+
|
8 |
+
Preamble
|
9 |
+
|
10 |
+
The GNU General Public License is a free, copyleft license for
|
11 |
+
software and other kinds of works.
|
12 |
+
|
13 |
+
The licenses for most software and other practical works are designed
|
14 |
+
to take away your freedom to share and change the works. By contrast,
|
15 |
+
the GNU General Public License is intended to guarantee your freedom to
|
16 |
+
share and change all versions of a program--to make sure it remains free
|
17 |
+
software for all its users. We, the Free Software Foundation, use the
|
18 |
+
GNU General Public License for most of our software; it applies also to
|
19 |
+
any other work released this way by its authors. You can apply it to
|
20 |
+
your programs, too.
|
21 |
+
|
22 |
+
When we speak of free software, we are referring to freedom, not
|
23 |
+
price. Our General Public Licenses are designed to make sure that you
|
24 |
+
have the freedom to distribute copies of free software (and charge for
|
25 |
+
them if you wish), that you receive source code or can get it if you
|
26 |
+
want it, that you can change the software or use pieces of it in new
|
27 |
+
free programs, and that you know you can do these things.
|
28 |
+
|
29 |
+
To protect your rights, we need to prevent others from denying you
|
30 |
+
these rights or asking you to surrender the rights. Therefore, you have
|
31 |
+
certain responsibilities if you distribute copies of the software, or if
|
32 |
+
you modify it: responsibilities to respect the freedom of others.
|
33 |
+
|
34 |
+
For example, if you distribute copies of such a program, whether
|
35 |
+
gratis or for a fee, you must pass on to the recipients the same
|
36 |
+
freedoms that you received. You must make sure that they, too, receive
|
37 |
+
or can get the source code. And you must show them these terms so they
|
38 |
+
know their rights.
|
39 |
+
|
40 |
+
Developers that use the GNU GPL protect your rights with two steps:
|
41 |
+
(1) assert copyright on the software, and (2) offer you this License
|
42 |
+
giving you legal permission to copy, distribute and/or modify it.
|
43 |
+
|
44 |
+
For the developers' and authors' protection, the GPL clearly explains
|
45 |
+
that there is no warranty for this free software. For both users' and
|
46 |
+
authors' sake, the GPL requires that modified versions be marked as
|
47 |
+
changed, so that their problems will not be attributed erroneously to
|
48 |
+
authors of previous versions.
|
49 |
+
|
50 |
+
Some devices are designed to deny users access to install or run
|
51 |
+
modified versions of the software inside them, although the manufacturer
|
52 |
+
can do so. This is fundamentally incompatible with the aim of
|
53 |
+
protecting users' freedom to change the software. The systematic
|
54 |
+
pattern of such abuse occurs in the area of products for individuals to
|
55 |
+
use, which is precisely where it is most unacceptable. Therefore, we
|
56 |
+
have designed this version of the GPL to prohibit the practice for those
|
57 |
+
products. If such problems arise substantially in other domains, we
|
58 |
+
stand ready to extend this provision to those domains in future versions
|
59 |
+
of the GPL, as needed to protect the freedom of users.
|
60 |
+
|
61 |
+
Finally, every program is threatened constantly by software patents.
|
62 |
+
States should not allow patents to restrict development and use of
|
63 |
+
software on general-purpose computers, but in those that do, we wish to
|
64 |
+
avoid the special danger that patents applied to a free program could
|
65 |
+
make it effectively proprietary. To prevent this, the GPL assures that
|
66 |
+
patents cannot be used to render the program non-free.
|
67 |
+
|
68 |
+
The precise terms and conditions for copying, distribution and
|
69 |
+
modification follow.
|
70 |
+
|
71 |
+
TERMS AND CONDITIONS
|
72 |
+
|
73 |
+
0. Definitions.
|
74 |
+
|
75 |
+
"This License" refers to version 3 of the GNU General Public License.
|
76 |
+
|
77 |
+
"Copyright" also means copyright-like laws that apply to other kinds of
|
78 |
+
works, such as semiconductor masks.
|
79 |
+
|
80 |
+
"The Program" refers to any copyrightable work licensed under this
|
81 |
+
License. Each licensee is addressed as "you". "Licensees" and
|
82 |
+
"recipients" may be individuals or organizations.
|
83 |
+
|
84 |
+
To "modify" a work means to copy from or adapt all or part of the work
|
85 |
+
in a fashion requiring copyright permission, other than the making of an
|
86 |
+
exact copy. The resulting work is called a "modified version" of the
|
87 |
+
earlier work or a work "based on" the earlier work.
|
88 |
+
|
89 |
+
A "covered work" means either the unmodified Program or a work based
|
90 |
+
on the Program.
|
91 |
+
|
92 |
+
To "propagate" a work means to do anything with it that, without
|
93 |
+
permission, would make you directly or secondarily liable for
|
94 |
+
infringement under applicable copyright law, except executing it on a
|
95 |
+
computer or modifying a private copy. Propagation includes copying,
|
96 |
+
distribution (with or without modification), making available to the
|
97 |
+
public, and in some countries other activities as well.
|
98 |
+
|
99 |
+
To "convey" a work means any kind of propagation that enables other
|
100 |
+
parties to make or receive copies. Mere interaction with a user through
|
101 |
+
a computer network, with no transfer of a copy, is not conveying.
|
102 |
+
|
103 |
+
An interactive user interface displays "Appropriate Legal Notices"
|
104 |
+
to the extent that it includes a convenient and prominently visible
|
105 |
+
feature that (1) displays an appropriate copyright notice, and (2)
|
106 |
+
tells the user that there is no warranty for the work (except to the
|
107 |
+
extent that warranties are provided), that licensees may convey the
|
108 |
+
work under this License, and how to view a copy of this License. If
|
109 |
+
the interface presents a list of user commands or options, such as a
|
110 |
+
menu, a prominent item in the list meets this criterion.
|
111 |
+
|
112 |
+
1. Source Code.
|
113 |
+
|
114 |
+
The "source code" for a work means the preferred form of the work
|
115 |
+
for making modifications to it. "Object code" means any non-source
|
116 |
+
form of a work.
|
117 |
+
|
118 |
+
A "Standard Interface" means an interface that either is an official
|
119 |
+
standard defined by a recognized standards body, or, in the case of
|
120 |
+
interfaces specified for a particular programming language, one that
|
121 |
+
is widely used among developers working in that language.
|
122 |
+
|
123 |
+
The "System Libraries" of an executable work include anything, other
|
124 |
+
than the work as a whole, that (a) is included in the normal form of
|
125 |
+
packaging a Major Component, but which is not part of that Major
|
126 |
+
Component, and (b) serves only to enable use of the work with that
|
127 |
+
Major Component, or to implement a Standard Interface for which an
|
128 |
+
implementation is available to the public in source code form. A
|
129 |
+
"Major Component", in this context, means a major essential component
|
130 |
+
(kernel, window system, and so on) of the specific operating system
|
131 |
+
(if any) on which the executable work runs, or a compiler used to
|
132 |
+
produce the work, or an object code interpreter used to run it.
|
133 |
+
|
134 |
+
The "Corresponding Source" for a work in object code form means all
|
135 |
+
the source code needed to generate, install, and (for an executable
|
136 |
+
work) run the object code and to modify the work, including scripts to
|
137 |
+
control those activities. However, it does not include the work's
|
138 |
+
System Libraries, or general-purpose tools or generally available free
|
139 |
+
programs which are used unmodified in performing those activities but
|
140 |
+
which are not part of the work. For example, Corresponding Source
|
141 |
+
includes interface definition files associated with source files for
|
142 |
+
the work, and the source code for shared libraries and dynamically
|
143 |
+
linked subprograms that the work is specifically designed to require,
|
144 |
+
such as by intimate data communication or control flow between those
|
145 |
+
subprograms and other parts of the work.
|
146 |
+
|
147 |
+
The Corresponding Source need not include anything that users
|
148 |
+
can regenerate automatically from other parts of the Corresponding
|
149 |
+
Source.
|
150 |
+
|
151 |
+
The Corresponding Source for a work in source code form is that
|
152 |
+
same work.
|
153 |
+
|
154 |
+
2. Basic Permissions.
|
155 |
+
|
156 |
+
All rights granted under this License are granted for the term of
|
157 |
+
copyright on the Program, and are irrevocable provided the stated
|
158 |
+
conditions are met. This License explicitly affirms your unlimited
|
159 |
+
permission to run the unmodified Program. The output from running a
|
160 |
+
covered work is covered by this License only if the output, given its
|
161 |
+
content, constitutes a covered work. This License acknowledges your
|
162 |
+
rights of fair use or other equivalent, as provided by copyright law.
|
163 |
+
|
164 |
+
You may make, run and propagate covered works that you do not
|
165 |
+
convey, without conditions so long as your license otherwise remains
|
166 |
+
in force. You may convey covered works to others for the sole purpose
|
167 |
+
of having them make modifications exclusively for you, or provide you
|
168 |
+
with facilities for running those works, provided that you comply with
|
169 |
+
the terms of this License in conveying all material for which you do
|
170 |
+
not control copyright. Those thus making or running the covered works
|
171 |
+
for you must do so exclusively on your behalf, under your direction
|
172 |
+
and control, on terms that prohibit them from making any copies of
|
173 |
+
your copyrighted material outside their relationship with you.
|
174 |
+
|
175 |
+
Conveying under any other circumstances is permitted solely under
|
176 |
+
the conditions stated below. Sublicensing is not allowed; section 10
|
177 |
+
makes it unnecessary.
|
178 |
+
|
179 |
+
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
180 |
+
|
181 |
+
No covered work shall be deemed part of an effective technological
|
182 |
+
measure under any applicable law fulfilling obligations under article
|
183 |
+
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
184 |
+
similar laws prohibiting or restricting circumvention of such
|
185 |
+
measures.
|
186 |
+
|
187 |
+
When you convey a covered work, you waive any legal power to forbid
|
188 |
+
circumvention of technological measures to the extent such circumvention
|
189 |
+
is effected by exercising rights under this License with respect to
|
190 |
+
the covered work, and you disclaim any intention to limit operation or
|
191 |
+
modification of the work as a means of enforcing, against the work's
|
192 |
+
users, your or third parties' legal rights to forbid circumvention of
|
193 |
+
technological measures.
|
194 |
+
|
195 |
+
4. Conveying Verbatim Copies.
|
196 |
+
|
197 |
+
You may convey verbatim copies of the Program's source code as you
|
198 |
+
receive it, in any medium, provided that you conspicuously and
|
199 |
+
appropriately publish on each copy an appropriate copyright notice;
|
200 |
+
keep intact all notices stating that this License and any
|
201 |
+
non-permissive terms added in accord with section 7 apply to the code;
|
202 |
+
keep intact all notices of the absence of any warranty; and give all
|
203 |
+
recipients a copy of this License along with the Program.
|
204 |
+
|
205 |
+
You may charge any price or no price for each copy that you convey,
|
206 |
+
and you may offer support or warranty protection for a fee.
|
207 |
+
|
208 |
+
5. Conveying Modified Source Versions.
|
209 |
+
|
210 |
+
You may convey a work based on the Program, or the modifications to
|
211 |
+
produce it from the Program, in the form of source code under the
|
212 |
+
terms of section 4, provided that you also meet all of these conditions:
|
213 |
+
|
214 |
+
a) The work must carry prominent notices stating that you modified
|
215 |
+
it, and giving a relevant date.
|
216 |
+
|
217 |
+
b) The work must carry prominent notices stating that it is
|
218 |
+
released under this License and any conditions added under section
|
219 |
+
7. This requirement modifies the requirement in section 4 to
|
220 |
+
"keep intact all notices".
|
221 |
+
|
222 |
+
c) You must license the entire work, as a whole, under this
|
223 |
+
License to anyone who comes into possession of a copy. This
|
224 |
+
License will therefore apply, along with any applicable section 7
|
225 |
+
additional terms, to the whole of the work, and all its parts,
|
226 |
+
regardless of how they are packaged. This License gives no
|
227 |
+
permission to license the work in any other way, but it does not
|
228 |
+
invalidate such permission if you have separately received it.
|
229 |
+
|
230 |
+
d) If the work has interactive user interfaces, each must display
|
231 |
+
Appropriate Legal Notices; however, if the Program has interactive
|
232 |
+
interfaces that do not display Appropriate Legal Notices, your
|
233 |
+
work need not make them do so.
|
234 |
+
|
235 |
+
A compilation of a covered work with other separate and independent
|
236 |
+
works, which are not by their nature extensions of the covered work,
|
237 |
+
and which are not combined with it such as to form a larger program,
|
238 |
+
in or on a volume of a storage or distribution medium, is called an
|
239 |
+
"aggregate" if the compilation and its resulting copyright are not
|
240 |
+
used to limit the access or legal rights of the compilation's users
|
241 |
+
beyond what the individual works permit. Inclusion of a covered work
|
242 |
+
in an aggregate does not cause this License to apply to the other
|
243 |
+
parts of the aggregate.
|
244 |
+
|
245 |
+
6. Conveying Non-Source Forms.
|
246 |
+
|
247 |
+
You may convey a covered work in object code form under the terms
|
248 |
+
of sections 4 and 5, provided that you also convey the
|
249 |
+
machine-readable Corresponding Source under the terms of this License,
|
250 |
+
in one of these ways:
|
251 |
+
|
252 |
+
a) Convey the object code in, or embodied in, a physical product
|
253 |
+
(including a physical distribution medium), accompanied by the
|
254 |
+
Corresponding Source fixed on a durable physical medium
|
255 |
+
customarily used for software interchange.
|
256 |
+
|
257 |
+
b) Convey the object code in, or embodied in, a physical product
|
258 |
+
(including a physical distribution medium), accompanied by a
|
259 |
+
written offer, valid for at least three years and valid for as
|
260 |
+
long as you offer spare parts or customer support for that product
|
261 |
+
model, to give anyone who possesses the object code either (1) a
|
262 |
+
copy of the Corresponding Source for all the software in the
|
263 |
+
product that is covered by this License, on a durable physical
|
264 |
+
medium customarily used for software interchange, for a price no
|
265 |
+
more than your reasonable cost of physically performing this
|
266 |
+
conveying of source, or (2) access to copy the
|
267 |
+
Corresponding Source from a network server at no charge.
|
268 |
+
|
269 |
+
c) Convey individual copies of the object code with a copy of the
|
270 |
+
written offer to provide the Corresponding Source. This
|
271 |
+
alternative is allowed only occasionally and noncommercially, and
|
272 |
+
only if you received the object code with such an offer, in accord
|
273 |
+
with subsection 6b.
|
274 |
+
|
275 |
+
d) Convey the object code by offering access from a designated
|
276 |
+
place (gratis or for a charge), and offer equivalent access to the
|
277 |
+
Corresponding Source in the same way through the same place at no
|
278 |
+
further charge. You need not require recipients to copy the
|
279 |
+
Corresponding Source along with the object code. If the place to
|
280 |
+
copy the object code is a network server, the Corresponding Source
|
281 |
+
may be on a different server (operated by you or a third party)
|
282 |
+
that supports equivalent copying facilities, provided you maintain
|
283 |
+
clear directions next to the object code saying where to find the
|
284 |
+
Corresponding Source. Regardless of what server hosts the
|
285 |
+
Corresponding Source, you remain obligated to ensure that it is
|
286 |
+
available for as long as needed to satisfy these requirements.
|
287 |
+
|
288 |
+
e) Convey the object code using peer-to-peer transmission, provided
|
289 |
+
you inform other peers where the object code and Corresponding
|
290 |
+
Source of the work are being offered to the general public at no
|
291 |
+
charge under subsection 6d.
|
292 |
+
|
293 |
+
A separable portion of the object code, whose source code is excluded
|
294 |
+
from the Corresponding Source as a System Library, need not be
|
295 |
+
included in conveying the object code work.
|
296 |
+
|
297 |
+
A "User Product" is either (1) a "consumer product", which means any
|
298 |
+
tangible personal property which is normally used for personal, family,
|
299 |
+
or household purposes, or (2) anything designed or sold for incorporation
|
300 |
+
into a dwelling. In determining whether a product is a consumer product,
|
301 |
+
doubtful cases shall be resolved in favor of coverage. For a particular
|
302 |
+
product received by a particular user, "normally used" refers to a
|
303 |
+
typical or common use of that class of product, regardless of the status
|
304 |
+
of the particular user or of the way in which the particular user
|
305 |
+
actually uses, or expects or is expected to use, the product. A product
|
306 |
+
is a consumer product regardless of whether the product has substantial
|
307 |
+
commercial, industrial or non-consumer uses, unless such uses represent
|
308 |
+
the only significant mode of use of the product.
|
309 |
+
|
310 |
+
"Installation Information" for a User Product means any methods,
|
311 |
+
procedures, authorization keys, or other information required to install
|
312 |
+
and execute modified versions of a covered work in that User Product from
|
313 |
+
a modified version of its Corresponding Source. The information must
|
314 |
+
suffice to ensure that the continued functioning of the modified object
|
315 |
+
code is in no case prevented or interfered with solely because
|
316 |
+
modification has been made.
|
317 |
+
|
318 |
+
If you convey an object code work under this section in, or with, or
|
319 |
+
specifically for use in, a User Product, and the conveying occurs as
|
320 |
+
part of a transaction in which the right of possession and use of the
|
321 |
+
User Product is transferred to the recipient in perpetuity or for a
|
322 |
+
fixed term (regardless of how the transaction is characterized), the
|
323 |
+
Corresponding Source conveyed under this section must be accompanied
|
324 |
+
by the Installation Information. But this requirement does not apply
|
325 |
+
if neither you nor any third party retains the ability to install
|
326 |
+
modified object code on the User Product (for example, the work has
|
327 |
+
been installed in ROM).
|
328 |
+
|
329 |
+
The requirement to provide Installation Information does not include a
|
330 |
+
requirement to continue to provide support service, warranty, or updates
|
331 |
+
for a work that has been modified or installed by the recipient, or for
|
332 |
+
the User Product in which it has been modified or installed. Access to a
|
333 |
+
network may be denied when the modification itself materially and
|
334 |
+
adversely affects the operation of the network or violates the rules and
|
335 |
+
protocols for communication across the network.
|
336 |
+
|
337 |
+
Corresponding Source conveyed, and Installation Information provided,
|
338 |
+
in accord with this section must be in a format that is publicly
|
339 |
+
documented (and with an implementation available to the public in
|
340 |
+
source code form), and must require no special password or key for
|
341 |
+
unpacking, reading or copying.
|
342 |
+
|
343 |
+
7. Additional Terms.
|
344 |
+
|
345 |
+
"Additional permissions" are terms that supplement the terms of this
|
346 |
+
License by making exceptions from one or more of its conditions.
|
347 |
+
Additional permissions that are applicable to the entire Program shall
|
348 |
+
be treated as though they were included in this License, to the extent
|
349 |
+
that they are valid under applicable law. If additional permissions
|
350 |
+
apply only to part of the Program, that part may be used separately
|
351 |
+
under those permissions, but the entire Program remains governed by
|
352 |
+
this License without regard to the additional permissions.
|
353 |
+
|
354 |
+
When you convey a copy of a covered work, you may at your option
|
355 |
+
remove any additional permissions from that copy, or from any part of
|
356 |
+
it. (Additional permissions may be written to require their own
|
357 |
+
removal in certain cases when you modify the work.) You may place
|
358 |
+
additional permissions on material, added by you to a covered work,
|
359 |
+
for which you have or can give appropriate copyright permission.
|
360 |
+
|
361 |
+
Notwithstanding any other provision of this License, for material you
|
362 |
+
add to a covered work, you may (if authorized by the copyright holders of
|
363 |
+
that material) supplement the terms of this License with terms:
|
364 |
+
|
365 |
+
a) Disclaiming warranty or limiting liability differently from the
|
366 |
+
terms of sections 15 and 16 of this License; or
|
367 |
+
|
368 |
+
b) Requiring preservation of specified reasonable legal notices or
|
369 |
+
author attributions in that material or in the Appropriate Legal
|
370 |
+
Notices displayed by works containing it; or
|
371 |
+
|
372 |
+
c) Prohibiting misrepresentation of the origin of that material, or
|
373 |
+
requiring that modified versions of such material be marked in
|
374 |
+
reasonable ways as different from the original version; or
|
375 |
+
|
376 |
+
d) Limiting the use for publicity purposes of names of licensors or
|
377 |
+
authors of the material; or
|
378 |
+
|
379 |
+
e) Declining to grant rights under trademark law for use of some
|
380 |
+
trade names, trademarks, or service marks; or
|
381 |
+
|
382 |
+
f) Requiring indemnification of licensors and authors of that
|
383 |
+
material by anyone who conveys the material (or modified versions of
|
384 |
+
it) with contractual assumptions of liability to the recipient, for
|
385 |
+
any liability that these contractual assumptions directly impose on
|
386 |
+
those licensors and authors.
|
387 |
+
|
388 |
+
All other non-permissive additional terms are considered "further
|
389 |
+
restrictions" within the meaning of section 10. If the Program as you
|
390 |
+
received it, or any part of it, contains a notice stating that it is
|
391 |
+
governed by this License along with a term that is a further
|
392 |
+
restriction, you may remove that term. If a license document contains
|
393 |
+
a further restriction but permits relicensing or conveying under this
|
394 |
+
License, you may add to a covered work material governed by the terms
|
395 |
+
of that license document, provided that the further restriction does
|
396 |
+
not survive such relicensing or conveying.
|
397 |
+
|
398 |
+
If you add terms to a covered work in accord with this section, you
|
399 |
+
must place, in the relevant source files, a statement of the
|
400 |
+
additional terms that apply to those files, or a notice indicating
|
401 |
+
where to find the applicable terms.
|
402 |
+
|
403 |
+
Additional terms, permissive or non-permissive, may be stated in the
|
404 |
+
form of a separately written license, or stated as exceptions;
|
405 |
+
the above requirements apply either way.
|
406 |
+
|
407 |
+
8. Termination.
|
408 |
+
|
409 |
+
You may not propagate or modify a covered work except as expressly
|
410 |
+
provided under this License. Any attempt otherwise to propagate or
|
411 |
+
modify it is void, and will automatically terminate your rights under
|
412 |
+
this License (including any patent licenses granted under the third
|
413 |
+
paragraph of section 11).
|
414 |
+
|
415 |
+
However, if you cease all violation of this License, then your
|
416 |
+
license from a particular copyright holder is reinstated (a)
|
417 |
+
provisionally, unless and until the copyright holder explicitly and
|
418 |
+
finally terminates your license, and (b) permanently, if the copyright
|
419 |
+
holder fails to notify you of the violation by some reasonable means
|
420 |
+
prior to 60 days after the cessation.
|
421 |
+
|
422 |
+
Moreover, your license from a particular copyright holder is
|
423 |
+
reinstated permanently if the copyright holder notifies you of the
|
424 |
+
violation by some reasonable means, this is the first time you have
|
425 |
+
received notice of violation of this License (for any work) from that
|
426 |
+
copyright holder, and you cure the violation prior to 30 days after
|
427 |
+
your receipt of the notice.
|
428 |
+
|
429 |
+
Termination of your rights under this section does not terminate the
|
430 |
+
licenses of parties who have received copies or rights from you under
|
431 |
+
this License. If your rights have been terminated and not permanently
|
432 |
+
reinstated, you do not qualify to receive new licenses for the same
|
433 |
+
material under section 10.
|
434 |
+
|
435 |
+
9. Acceptance Not Required for Having Copies.
|
436 |
+
|
437 |
+
You are not required to accept this License in order to receive or
|
438 |
+
run a copy of the Program. Ancillary propagation of a covered work
|
439 |
+
occurring solely as a consequence of using peer-to-peer transmission
|
440 |
+
to receive a copy likewise does not require acceptance. However,
|
441 |
+
nothing other than this License grants you permission to propagate or
|
442 |
+
modify any covered work. These actions infringe copyright if you do
|
443 |
+
not accept this License. Therefore, by modifying or propagating a
|
444 |
+
covered work, you indicate your acceptance of this License to do so.
|
445 |
+
|
446 |
+
10. Automatic Licensing of Downstream Recipients.
|
447 |
+
|
448 |
+
Each time you convey a covered work, the recipient automatically
|
449 |
+
receives a license from the original licensors, to run, modify and
|
450 |
+
propagate that work, subject to this License. You are not responsible
|
451 |
+
for enforcing compliance by third parties with this License.
|
452 |
+
|
453 |
+
An "entity transaction" is a transaction transferring control of an
|
454 |
+
organization, or substantially all assets of one, or subdividing an
|
455 |
+
organization, or merging organizations. If propagation of a covered
|
456 |
+
work results from an entity transaction, each party to that
|
457 |
+
transaction who receives a copy of the work also receives whatever
|
458 |
+
licenses to the work the party's predecessor in interest had or could
|
459 |
+
give under the previous paragraph, plus a right to possession of the
|
460 |
+
Corresponding Source of the work from the predecessor in interest, if
|
461 |
+
the predecessor has it or can get it with reasonable efforts.
|
462 |
+
|
463 |
+
You may not impose any further restrictions on the exercise of the
|
464 |
+
rights granted or affirmed under this License. For example, you may
|
465 |
+
not impose a license fee, royalty, or other charge for exercise of
|
466 |
+
rights granted under this License, and you may not initiate litigation
|
467 |
+
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
468 |
+
any patent claim is infringed by making, using, selling, offering for
|
469 |
+
sale, or importing the Program or any portion of it.
|
470 |
+
|
471 |
+
11. Patents.
|
472 |
+
|
473 |
+
A "contributor" is a copyright holder who authorizes use under this
|
474 |
+
License of the Program or a work on which the Program is based. The
|
475 |
+
work thus licensed is called the contributor's "contributor version".
|
476 |
+
|
477 |
+
A contributor's "essential patent claims" are all patent claims
|
478 |
+
owned or controlled by the contributor, whether already acquired or
|
479 |
+
hereafter acquired, that would be infringed by some manner, permitted
|
480 |
+
by this License, of making, using, or selling its contributor version,
|
481 |
+
but do not include claims that would be infringed only as a
|
482 |
+
consequence of further modification of the contributor version. For
|
483 |
+
purposes of this definition, "control" includes the right to grant
|
484 |
+
patent sublicenses in a manner consistent with the requirements of
|
485 |
+
this License.
|
486 |
+
|
487 |
+
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
488 |
+
patent license under the contributor's essential patent claims, to
|
489 |
+
make, use, sell, offer for sale, import and otherwise run, modify and
|
490 |
+
propagate the contents of its contributor version.
|
491 |
+
|
492 |
+
In the following three paragraphs, a "patent license" is any express
|
493 |
+
agreement or commitment, however denominated, not to enforce a patent
|
494 |
+
(such as an express permission to practice a patent or covenant not to
|
495 |
+
sue for patent infringement). To "grant" such a patent license to a
|
496 |
+
party means to make such an agreement or commitment not to enforce a
|
497 |
+
patent against the party.
|
498 |
+
|
499 |
+
If you convey a covered work, knowingly relying on a patent license,
|
500 |
+
and the Corresponding Source of the work is not available for anyone
|
501 |
+
to copy, free of charge and under the terms of this License, through a
|
502 |
+
publicly available network server or other readily accessible means,
|
503 |
+
then you must either (1) cause the Corresponding Source to be so
|
504 |
+
available, or (2) arrange to deprive yourself of the benefit of the
|
505 |
+
patent license for this particular work, or (3) arrange, in a manner
|
506 |
+
consistent with the requirements of this License, to extend the patent
|
507 |
+
license to downstream recipients. "Knowingly relying" means you have
|
508 |
+
actual knowledge that, but for the patent license, your conveying the
|
509 |
+
covered work in a country, or your recipient's use of the covered work
|
510 |
+
in a country, would infringe one or more identifiable patents in that
|
511 |
+
country that you have reason to believe are valid.
|
512 |
+
|
513 |
+
If, pursuant to or in connection with a single transaction or
|
514 |
+
arrangement, you convey, or propagate by procuring conveyance of, a
|
515 |
+
covered work, and grant a patent license to some of the parties
|
516 |
+
receiving the covered work authorizing them to use, propagate, modify
|
517 |
+
or convey a specific copy of the covered work, then the patent license
|
518 |
+
you grant is automatically extended to all recipients of the covered
|
519 |
+
work and works based on it.
|
520 |
+
|
521 |
+
A patent license is "discriminatory" if it does not include within
|
522 |
+
the scope of its coverage, prohibits the exercise of, or is
|
523 |
+
conditioned on the non-exercise of one or more of the rights that are
|
524 |
+
specifically granted under this License. You may not convey a covered
|
525 |
+
work if you are a party to an arrangement with a third party that is
|
526 |
+
in the business of distributing software, under which you make payment
|
527 |
+
to the third party based on the extent of your activity of conveying
|
528 |
+
the work, and under which the third party grants, to any of the
|
529 |
+
parties who would receive the covered work from you, a discriminatory
|
530 |
+
patent license (a) in connection with copies of the covered work
|
531 |
+
conveyed by you (or copies made from those copies), or (b) primarily
|
532 |
+
for and in connection with specific products or compilations that
|
533 |
+
contain the covered work, unless you entered into that arrangement,
|
534 |
+
or that patent license was granted, prior to 28 March 2007.
|
535 |
+
|
536 |
+
Nothing in this License shall be construed as excluding or limiting
|
537 |
+
any implied license or other defenses to infringement that may
|
538 |
+
otherwise be available to you under applicable patent law.
|
539 |
+
|
540 |
+
12. No Surrender of Others' Freedom.
|
541 |
+
|
542 |
+
If conditions are imposed on you (whether by court order, agreement or
|
543 |
+
otherwise) that contradict the conditions of this License, they do not
|
544 |
+
excuse you from the conditions of this License. If you cannot convey a
|
545 |
+
covered work so as to satisfy simultaneously your obligations under this
|
546 |
+
License and any other pertinent obligations, then as a consequence you may
|
547 |
+
not convey it at all. For example, if you agree to terms that obligate you
|
548 |
+
to collect a royalty for further conveying from those to whom you convey
|
549 |
+
the Program, the only way you could satisfy both those terms and this
|
550 |
+
License would be to refrain entirely from conveying the Program.
|
551 |
+
|
552 |
+
13. Use with the GNU Affero General Public License.
|
553 |
+
|
554 |
+
Notwithstanding any other provision of this License, you have
|
555 |
+
permission to link or combine any covered work with a work licensed
|
556 |
+
under version 3 of the GNU Affero General Public License into a single
|
557 |
+
combined work, and to convey the resulting work. The terms of this
|
558 |
+
License will continue to apply to the part which is the covered work,
|
559 |
+
but the special requirements of the GNU Affero General Public License,
|
560 |
+
section 13, concerning interaction through a network will apply to the
|
561 |
+
combination as such.
|
562 |
+
|
563 |
+
14. Revised Versions of this License.
|
564 |
+
|
565 |
+
The Free Software Foundation may publish revised and/or new versions of
|
566 |
+
the GNU General Public License from time to time. Such new versions will
|
567 |
+
be similar in spirit to the present version, but may differ in detail to
|
568 |
+
address new problems or concerns.
|
569 |
+
|
570 |
+
Each version is given a distinguishing version number. If the
|
571 |
+
Program specifies that a certain numbered version of the GNU General
|
572 |
+
Public License "or any later version" applies to it, you have the
|
573 |
+
option of following the terms and conditions either of that numbered
|
574 |
+
version or of any later version published by the Free Software
|
575 |
+
Foundation. If the Program does not specify a version number of the
|
576 |
+
GNU General Public License, you may choose any version ever published
|
577 |
+
by the Free Software Foundation.
|
578 |
+
|
579 |
+
If the Program specifies that a proxy can decide which future
|
580 |
+
versions of the GNU General Public License can be used, that proxy's
|
581 |
+
public statement of acceptance of a version permanently authorizes you
|
582 |
+
to choose that version for the Program.
|
583 |
+
|
584 |
+
Later license versions may give you additional or different
|
585 |
+
permissions. However, no additional obligations are imposed on any
|
586 |
+
author or copyright holder as a result of your choosing to follow a
|
587 |
+
later version.
|
588 |
+
|
589 |
+
15. Disclaimer of Warranty.
|
590 |
+
|
591 |
+
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
592 |
+
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
593 |
+
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
594 |
+
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
595 |
+
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
596 |
+
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
597 |
+
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
598 |
+
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
599 |
+
|
600 |
+
16. Limitation of Liability.
|
601 |
+
|
602 |
+
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
603 |
+
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
604 |
+
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
605 |
+
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
606 |
+
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
607 |
+
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
608 |
+
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
609 |
+
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
610 |
+
SUCH DAMAGES.
|
611 |
+
|
612 |
+
17. Interpretation of Sections 15 and 16.
|
613 |
+
|
614 |
+
If the disclaimer of warranty and limitation of liability provided
|
615 |
+
above cannot be given local legal effect according to their terms,
|
616 |
+
reviewing courts shall apply local law that most closely approximates
|
617 |
+
an absolute waiver of all civil liability in connection with the
|
618 |
+
Program, unless a warranty or assumption of liability accompanies a
|
619 |
+
copy of the Program in return for a fee.
|
620 |
+
|
621 |
+
END OF TERMS AND CONDITIONS
|
622 |
+
|
623 |
+
How to Apply These Terms to Your New Programs
|
624 |
+
|
625 |
+
If you develop a new program, and you want it to be of the greatest
|
626 |
+
possible use to the public, the best way to achieve this is to make it
|
627 |
+
free software which everyone can redistribute and change under these terms.
|
628 |
+
|
629 |
+
To do so, attach the following notices to the program. It is safest
|
630 |
+
to attach them to the start of each source file to most effectively
|
631 |
+
state the exclusion of warranty; and each file should have at least
|
632 |
+
the "copyright" line and a pointer to where the full notice is found.
|
633 |
+
|
634 |
+
{one line to give the program's name and a brief idea of what it does.}
|
635 |
+
Copyright (C) {year} {name of author}
|
636 |
+
|
637 |
+
This program is free software: you can redistribute it and/or modify
|
638 |
+
it under the terms of the GNU General Public License as published by
|
639 |
+
the Free Software Foundation, either version 3 of the License, or
|
640 |
+
(at your option) any later version.
|
641 |
+
|
642 |
+
This program is distributed in the hope that it will be useful,
|
643 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
644 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
645 |
+
GNU General Public License for more details.
|
646 |
+
|
647 |
+
You should have received a copy of the GNU General Public License
|
648 |
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
649 |
+
|
650 |
+
Also add information on how to contact you by electronic and paper mail.
|
651 |
+
|
652 |
+
If the program does terminal interaction, make it output a short
|
653 |
+
notice like this when it starts in an interactive mode:
|
654 |
+
|
655 |
+
{project} Copyright (C) {year} {fullname}
|
656 |
+
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
657 |
+
This is free software, and you are welcome to redistribute it
|
658 |
+
under certain conditions; type `show c' for details.
|
659 |
+
|
660 |
+
The hypothetical commands `show w' and `show c' should show the appropriate
|
661 |
+
parts of the General Public License. Of course, your program's commands
|
662 |
+
might be different; for a GUI interface, you would use an "about box".
|
663 |
+
|
664 |
+
You should also get your employer (if you work as a programmer) or school,
|
665 |
+
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
666 |
+
For more information on this, and how to apply and follow the GNU GPL, see
|
667 |
+
<http://www.gnu.org/licenses/>.
|
668 |
+
|
669 |
+
The GNU General Public License does not permit incorporating your program
|
670 |
+
into proprietary programs. If your program is a subroutine library, you
|
671 |
+
may consider it more useful to permit linking proprietary applications with
|
672 |
+
the library. If this is what you want to do, use the GNU Lesser General
|
673 |
+
Public License instead of this License. But first, please read
|
674 |
+
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
freemius/README.md
ADDED
@@ -0,0 +1,253 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Freemius WordPress SDK
|
2 |
+
======================
|
3 |
+
|
4 |
+
[Monetization](https://freemius.com/wordpress/), [analytics](https://freemius.com/wordpress/insights/), and marketing automation platform for plugin & theme developers. Freemius empower developers to create prosperous subscription based businesses.
|
5 |
+
|
6 |
+
You can see some of the WordPress.org plugins & themes that are utilizing the power of Freemius here:
|
7 |
+
|
8 |
+
https://includewp.com/freemius/#focus
|
9 |
+
|
10 |
+
If you are a WordPress plugin or theme developer and you are interested to monetize with Freemius you can [sign-up here for free](https://dashboard.freemius.com/register/):
|
11 |
+
|
12 |
+
https://dashboard.freemius.com/register/
|
13 |
+
|
14 |
+
**Below you'll find the integration instructions for our WordPress SDK.**
|
15 |
+
|
16 |
+
## Code Documentation
|
17 |
+
|
18 |
+
You can find the SDK's PHP-Doc documentation here:
|
19 |
+
https://codedoc.pub/freemius/wordpress-sdk/master/
|
20 |
+
|
21 |
+
## Initializing the SDK
|
22 |
+
|
23 |
+
Copy the code below and paste it into the top of your main plugin's PHP file, right after the plugin's header comment:
|
24 |
+
|
25 |
+
```php
|
26 |
+
<?php
|
27 |
+
// Create a helper function for easy SDK access.
|
28 |
+
function my_prefix_fs() {
|
29 |
+
global $my_prefix_fs;
|
30 |
+
if ( ! isset( $my_prefix_fs ) ) {
|
31 |
+
// Include Freemius SDK.
|
32 |
+
require_once dirname(__FILE__) . '/freemius/start.php';
|
33 |
+
|
34 |
+
$my_prefix_fs = fs_dynamic_init( array(
|
35 |
+
'id' => '1234',
|
36 |
+
'slug' => 'my-plugin-slug',
|
37 |
+
'menu_slug' => 'my_menu_slug', // You can also use __FILE__
|
38 |
+
'public_key' => 'pk_MY_PUBLIC_KEY',
|
39 |
+
'is_live' => true,
|
40 |
+
'is_premium' => true,
|
41 |
+
'has_addons' => false,
|
42 |
+
'has_paid_plans' => false,
|
43 |
+
// Set the SDK to work in a sandbox mode (for development & testing).
|
44 |
+
// IMPORTANT: MAKE SURE TO REMOVE SECRET KEY BEFORE DEPLOYMENT.
|
45 |
+
'secret_key' => 'sk_MY_SECRET_KEY',
|
46 |
+
) );
|
47 |
+
}
|
48 |
+
|
49 |
+
return $my_prefix_fs;
|
50 |
+
}
|
51 |
+
|
52 |
+
// Init Freemius.
|
53 |
+
my_prefix_fs();
|
54 |
+
?>
|
55 |
+
```
|
56 |
+
|
57 |
+
- **1234** - Replace with your plugin's ID.
|
58 |
+
- **pk_MY_PUBLIC_KEY** - Replace with your plugin's public key.
|
59 |
+
- **sk_MY_SECRET_KEY** - Replace with your plugin's secret key.
|
60 |
+
- **my-plugin-slug** - Replace with your plugin's WordPress.org slug.
|
61 |
+
- **my_menu_slug** - Replace with your admin dashboard settings menu slug.
|
62 |
+
|
63 |
+
|
64 |
+
## Usage example
|
65 |
+
|
66 |
+
You can call the SDK by using the shortcode function:
|
67 |
+
|
68 |
+
```php
|
69 |
+
<?php my_prefix_fs()->get_upgrade_url(); ?>
|
70 |
+
```
|
71 |
+
|
72 |
+
Or when calling Freemius multiple times in a scope, it's recommended to use it with the global variable:
|
73 |
+
|
74 |
+
```php
|
75 |
+
<?php
|
76 |
+
global $my_prefix_fs;
|
77 |
+
$my_prefix_fs->get_account_url();
|
78 |
+
?>
|
79 |
+
```
|
80 |
+
|
81 |
+
## Adding license based logic examples
|
82 |
+
|
83 |
+
Add marketing content to encourage your users to upgrade for your paid version:
|
84 |
+
|
85 |
+
```php
|
86 |
+
<?php
|
87 |
+
if ( my_prefix_fs()->is_not_paying() ) {
|
88 |
+
echo '<section><h1>' . esc_html__('Awesome Premium Features', 'my-plugin-slug') . '</h1>';
|
89 |
+
echo '<a href="' . my_prefix_fs()->get_upgrade_url() . '">' .
|
90 |
+
esc_html__('Upgrade Now!', 'my-plugin-slug') .
|
91 |
+
'</a>';
|
92 |
+
echo '</section>';
|
93 |
+
}
|
94 |
+
?>
|
95 |
+
```
|
96 |
+
|
97 |
+
Add logic which will only be available in your premium plugin version:
|
98 |
+
|
99 |
+
```php
|
100 |
+
<?php
|
101 |
+
// This "if" block will be auto removed from the Free version.
|
102 |
+
if ( my_prefix_fs()->is__premium_only() ) {
|
103 |
+
|
104 |
+
// ... premium only logic ...
|
105 |
+
|
106 |
+
}
|
107 |
+
?>
|
108 |
+
```
|
109 |
+
|
110 |
+
To add a function which will only be available in your premium plugin version, simply add __premium_only as the suffix of the function name. Just make sure that all lines that call that method directly or by hooks, are also wrapped in premium only logic:
|
111 |
+
|
112 |
+
```php
|
113 |
+
<?php
|
114 |
+
class My_Plugin {
|
115 |
+
function init() {
|
116 |
+
...
|
117 |
+
|
118 |
+
// This "if" block will be auto removed from the free version.
|
119 |
+
if ( my_prefix_fs()->is__premium_only() ) {
|
120 |
+
// Init premium version.
|
121 |
+
$this->admin_init__premium_only();
|
122 |
+
|
123 |
+
add_action( 'admin_init', array( &$this, 'admin_init_hook__premium_only' );
|
124 |
+
}
|
125 |
+
|
126 |
+
...
|
127 |
+
}
|
128 |
+
|
129 |
+
// This method will be only included in the premium version.
|
130 |
+
function admin_init__premium_only() {
|
131 |
+
...
|
132 |
+
}
|
133 |
+
|
134 |
+
// This method will be only included in the premium version.
|
135 |
+
function admin_init_hook__premium_only() {
|
136 |
+
...
|
137 |
+
}
|
138 |
+
}
|
139 |
+
?>
|
140 |
+
```
|
141 |
+
|
142 |
+
Add logic which will only be executed for customers in your 'professional' plan:
|
143 |
+
|
144 |
+
```php
|
145 |
+
<?php
|
146 |
+
if ( my_prefix_fs()->is_plan('professional', true) ) {
|
147 |
+
// .. logic related to Professional plan only ...
|
148 |
+
}
|
149 |
+
?>
|
150 |
+
```
|
151 |
+
|
152 |
+
Add logic which will only be executed for customers in your 'professional' plan or higher plans:
|
153 |
+
|
154 |
+
```php
|
155 |
+
<?php
|
156 |
+
if ( my_prefix_fs()->is_plan('professional') ) {
|
157 |
+
// ... logic related to Professional plan and higher plans ...
|
158 |
+
}
|
159 |
+
?>
|
160 |
+
```
|
161 |
+
|
162 |
+
Add logic which will only be available in your premium plugin version AND will only be executed for customers in your 'professional' plan (and higher plans):
|
163 |
+
|
164 |
+
```php
|
165 |
+
<?php
|
166 |
+
// This "if" block will be auto removed from the Free version.
|
167 |
+
if ( my_prefix_fs()->is_plan__premium_only('professional') ) {
|
168 |
+
// ... logic related to Professional plan and higher plans ...
|
169 |
+
}
|
170 |
+
?>
|
171 |
+
```
|
172 |
+
|
173 |
+
Add logic only for users in trial:
|
174 |
+
|
175 |
+
```php
|
176 |
+
<?php
|
177 |
+
if ( my_prefix_fs()->is_trial() ) {
|
178 |
+
// ... logic for users in trial ...
|
179 |
+
}
|
180 |
+
?>
|
181 |
+
```
|
182 |
+
|
183 |
+
Add logic for specified paid plan:
|
184 |
+
|
185 |
+
```php
|
186 |
+
<?php
|
187 |
+
// This "if" block will be auto removed from the Free version.
|
188 |
+
if ( my_prefix_fs()->is__premium_only() ) {
|
189 |
+
if ( my_prefix_fs()->is_plan( 'professional', true ) ) {
|
190 |
+
|
191 |
+
// ... logic related to Professional plan only ...
|
192 |
+
|
193 |
+
} else if ( my_prefix_fs()->is_plan( 'business' ) ) {
|
194 |
+
|
195 |
+
// ... logic related to Business plan and higher plans ...
|
196 |
+
|
197 |
+
}
|
198 |
+
}
|
199 |
+
?>
|
200 |
+
```
|
201 |
+
|
202 |
+
## Excluding files and folders from the free plugin version
|
203 |
+
There are two ways to exclude files from your free version.
|
204 |
+
|
205 |
+
1. Add `__premium_only` just before the file extension. For example, functions__premium_only.php will be only included in the premium plugin version. This works for all type of files, not only PHP.
|
206 |
+
2. Add `@fs_premium_only` a sepcial meta tag to the plugin's main PHP file header. Example:
|
207 |
+
```php
|
208 |
+
<?php
|
209 |
+
/**
|
210 |
+
* Plugin Name: My Very Awesome Plugin
|
211 |
+
* Plugin URI: http://my-awesome-plugin.com
|
212 |
+
* Description: Create and manage Awesomeness right in WordPress.
|
213 |
+
* Version: 1.0.0
|
214 |
+
* Author: Awesomattic
|
215 |
+
* Author URI: http://my-awesome-plugin.com/me/
|
216 |
+
* License: GPLv2
|
217 |
+
* Text Domain: myplugin
|
218 |
+
* Domain Path: /langs
|
219 |
+
*
|
220 |
+
* @fs_premium_only /lib/functions.php, /premium-files/
|
221 |
+
*/
|
222 |
+
|
223 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
224 |
+
exit;
|
225 |
+
}
|
226 |
+
|
227 |
+
// ... my code ...
|
228 |
+
?>
|
229 |
+
```
|
230 |
+
The file `/lib/functions.php` and the directory `/premium-files/` will be removed from the free plugin version.
|
231 |
+
|
232 |
+
# WordPress.org Compliance
|
233 |
+
Based on [WordPress.org Guidelines](https://wordpress.org/plugins/about/guidelines/) you are not allowed to submit a plugin that has premium code in it:
|
234 |
+
> All code hosted by WordPress.org servers must be free and fully-functional. If you want to sell advanced features for a plugin (such as a "pro" version), then you must sell and serve that code from your own site, we will not host it on our servers.
|
235 |
+
|
236 |
+
Therefore, if you want to deploy your free plugin's version to WordPress.org, make sure you wrap all your premium code with `if ( my_prefix_fs()->{{ method }}__premium_only() )` or the other methods provided to exclude premium features & files from the free version.
|
237 |
+
|
238 |
+
## Deployment
|
239 |
+
Zip your plugin's root folder and upload it in the Deployment section in the *Freemius Developer's Dashboard*.
|
240 |
+
The plugin will be scanned and processed by a custom developed *PHP Processor* which will auto-generate two versions of your plugin:
|
241 |
+
|
242 |
+
1. **Premium version**: Identical to your uploaded version, including all code (except your `secret_key`). Will be enabled for download ONLY for your paying or in trial customers.
|
243 |
+
2. **Free version**: The code stripped from all your paid features (based on the logic added wrapped in `{ method }__premium_only()`).
|
244 |
+
|
245 |
+
The free version is the one that you should give your users to download. Therefore, download the free generated version and upload to your site. Or, if your plugin was WordPress.org complaint and you made sure to exclude all your premium code with the different provided techniques, you can deploy the downloaded free version to the .org repo.
|
246 |
+
|
247 |
+
## Reporting Bugs
|
248 |
+
Email dev [at] freemius [dot] com
|
249 |
+
|
250 |
+
## FAQ
|
251 |
+
|
252 |
+
## Copyright
|
253 |
+
Freemius, Inc.
|
freemius/assets/css/admin/account.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
#fs_account .postbox,#fs_account .widefat{max-width:700px}#fs_account h3{font-size:1.3em;padding:12px 15px;margin:0 0 12px 0;line-height:1.4;border-bottom:1px solid #F1F1F1}#fs_account h3 .dashicons{width:26px;height:26px;font-size:1.3em}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .dashicons{vertical-align:middle}#fs_account .fs-header-actions{position:absolute;top:17px;right:15px;font-size:0.9em}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li form{display:inline-block}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table form{display:inline-block}.fs-key-value-table tr td:first-child{text-align:right}.fs-key-value-table tr td:first-child nobr{font-weight:bold}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr td.fs-right{text-align:right}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table var,.fs-key-value-table code,.fs-key-value-table input[type="text"]{color:#0073AA;font-size:16px;background:none}.fs-key-value-table input[type="text"]{width:100%;font-weight:bold}label.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_sites .fs-scrollable-table .fs-table-body{max-height:200px;overflow:auto;border:1px solid #e5e5e5}#fs_sites .fs-scrollable-table .fs-table-body>table.widefat{border:none !important}#fs_sites .fs-scrollable-table .fs-main-column{width:100%}#fs_sites .fs-scrollable-table .fs-site-details td:first-of-type{text-align:right;color:grey;width:1px}#fs_sites .fs-scrollable-table .fs-site-details td:last-of-type{text-align:right}#fs_sites .fs-scrollable-table .fs-install-details table tr td{width:1px;white-space:nowrap}#fs_sites .fs-scrollable-table .fs-install-details table tr td:last-of-type{width:auto}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons thead{white-space:nowrap}#fs_addons td:first-child,#fs_addons th:first-child{text-align:left;font-weight:bold}#fs_addons td:last-child,#fs_addons th:last-child{text-align:right}#fs_addons th{font-weight:bold}#fs_billing_address{width:100%}#fs_billing_address tr td{width:50%;padding:5px}#fs_billing_address tr:first-of-type td{padding-top:0}#fs_billing_address span{font-weight:bold}#fs_billing_address input,#fs_billing_address select{display:block;width:100%;margin-top:5px}#fs_billing_address input::-moz-placeholder,#fs_billing_address select::-moz-placeholder{color:transparent;opacity:1}#fs_billing_address input:-ms-input-placeholder,#fs_billing_address select:-ms-input-placeholder{color:transparent}#fs_billing_address input::-webkit-input-placeholder,#fs_billing_address select::-webkit-input-placeholder{color:transparent}#fs_billing_address input.fs-read-mode,#fs_billing_address select.fs-read-mode{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:none}#fs_billing_address.fs-read-mode td span{display:none}#fs_billing_address.fs-read-mode input,#fs_billing_address.fs-read-mode select{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:none}#fs_billing_address.fs-read-mode input::-moz-placeholder,#fs_billing_address.fs-read-mode select::-moz-placeholder{color:#ccc;opacity:1}#fs_billing_address.fs-read-mode input:-ms-input-placeholder,#fs_billing_address.fs-read-mode select:-ms-input-placeholder{color:#ccc}#fs_billing_address.fs-read-mode input::-webkit-input-placeholder,#fs_billing_address.fs-read-mode select::-webkit-input-placeholder{color:#ccc}#fs_billing_address button{display:block;width:100%}
|
freemius/assets/css/admin/add-ons.css
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
#fs_addons .fs-cards-list{list-style:none}#fs_addons .fs-cards-list .fs-card{float:left;height:152px;width:310px;padding:0;margin:0 0 30px 30px;font-size:14px;list-style:none;border:1px solid #ddd;cursor:pointer;position:relative}#fs_addons .fs-cards-list .fs-card .fs-overlay{position:absolute;left:0;right:0;bottom:0;top:0;z-index:9}#fs_addons .fs-cards-list .fs-card .fs-inner{background-color:#fff;overflow:hidden;height:100%;position:relative}#fs_addons .fs-cards-list .fs-card .fs-inner ul{-moz-transition:all,0.15s;-o-transition:all,0.15s;-ms-transition:all,0.15s;-webkit-transition:all,0.15s;transition:all,0.15s;left:0;right:0;top:0;position:absolute}#fs_addons .fs-cards-list .fs-card .fs-inner li{list-style:none;line-height:18px;padding:0 15px;width:100%;display:block;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-card-banner{padding:0;margin:0;line-height:0;display:block;height:100px;background-repeat:repeat-x;background-size:100% 100%;-moz-transition:all,0.15s;-o-transition:all,0.15s;-ms-transition:all,0.15s;-webkit-transition:all,0.15s;transition:all,0.15s}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-title{margin:10px 0 0 0;height:18px;overflow:hidden;color:#000;white-space:nowrap;text-overflow:ellipsis;font-weight:bold}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-offer{font-size:0.9em}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-description{background-color:#f9f9f9;padding:10px 15px 100px 15px;border-top:1px solid #eee;margin:0 0 10px 0;color:#777}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-tag{position:absolute;top:10px;right:0px;background:greenyellow;display:block;padding:2px 10px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.3);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.3);box-shadow:1px 1px 1px rgba(0,0,0,0.3);text-transform:uppercase;font-size:0.9em;font-weight:bold}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-cta .button{position:absolute;top:112px;right:10px}@media screen and (min-width: 960px){#fs_addons .fs-cards-list .fs-card:hover .fs-overlay{border:2px solid #29abe1;margin-left:-1px;margin-top:-1px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner ul{top:-100px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-title,#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-offer{color:#29abe1}}
|
2 |
+
#TB_window,#TB_window iframe{width:772px !important}#plugin-information #section-description h2,#plugin-information #section-description h3,#plugin-information #section-description p,#plugin-information #section-description b,#plugin-information #section-description i,#plugin-information #section-description blockquote,#plugin-information #section-description li,#plugin-information #section-description ul,#plugin-information #section-description ol{clear:none}#plugin-information #section-description .fs-selling-points{padding-bottom:10px;border-bottom:1px solid #ddd}#plugin-information #section-description .fs-selling-points ul{margin:0}#plugin-information #section-description .fs-selling-points ul li{padding:0;list-style:none outside none}#plugin-information #section-description .fs-selling-points ul li i.dashicons{color:#71ae00;font-size:3em;vertical-align:middle;line-height:30px;float:left;margin:0 0 0 -15px}#plugin-information #section-description .fs-selling-points ul li h3{margin:1em 30px !important}#plugin-information #section-description .fs-screenshots:after{content:"";display:table;clear:both}#plugin-information #section-description .fs-screenshots ul{list-style:none;margin:0}#plugin-information #section-description .fs-screenshots ul li{width:225px;height:225px;float:left;margin-bottom:20px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}#plugin-information #section-description .fs-screenshots ul li a{display:block;width:100%;height:100%;border:1px solid;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);background-size:cover}#plugin-information #section-description .fs-screenshots ul li.odd{margin-right:20px}#plugin-information .plugin-information-pricing{margin:-16px;border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan h3{margin-top:0;padding:20px;font-size:16px}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper{border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab{cursor:pointer;position:relative;padding:0 10px;font-size:0.9em}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab label{text-transform:uppercase;color:green;background:greenyellow;position:absolute;left:-1px;right:-1px;bottom:100%;border:1px solid darkgreen;padding:2px;text-align:center;font-size:0.9em;line-height:1em}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab.nav-tab-active{cursor:default;background:#fffeec;border-bottom-color:#fffeec}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle h3{background:#fffeec;margin:0;padding-bottom:0;color:#0073aa}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .nav-tab-wrapper,#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .fs-billing-frequency{display:none}#plugin-information .plugin-information-pricing .fs-plan .fs-pricing-body{background:#fffeec;padding:20px}#plugin-information .plugin-information-pricing .fs-plan .button{width:100%;text-align:center;font-weight:bold;text-transform:uppercase;font-size:1.1em}#plugin-information .plugin-information-pricing .fs-plan label{white-space:nowrap}#plugin-information .plugin-information-pricing .fs-plan var{font-style:normal}#plugin-information .plugin-information-pricing .fs-plan .fs-billing-frequency,#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount{text-align:center;display:block;font-weight:bold;margin-bottom:10px;text-transform:uppercase;background:#F3F3F3;padding:2px;border:1px solid #ccc}#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount{text-transform:none;color:green;background:greenyellow}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms{font-size:0.9em}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms i{float:left;margin:0 0 0 -15px}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms li{margin:10px 0 0 0}#plugin-information #section-features .fs-features{margin:-20px -26px}#plugin-information #section-features table{width:100%;border-spacing:0;border-collapse:separate}#plugin-information #section-features table thead th{padding:10px 0}#plugin-information #section-features table thead .fs-price{color:#71ae00;font-weight:normal;display:block;text-align:center}#plugin-information #section-features table tbody td{border-top:1px solid #ccc;padding:10px 0;text-align:center;width:100px;color:#71ae00}#plugin-information #section-features table tbody td:first-child{text-align:left;width:auto;color:inherit;padding-left:26px}#plugin-information #section-features table tbody tr.fs-odd td{background:#fefefe}#plugin-information #section-features .dashicons-yes{width:30px;height:30px;font-size:30px}@media screen and (max-width: 961px){#fs_addons .fs-cards-list .fs-card{height:265px}}
|
freemius/assets/css/admin/affiliation.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
@charset "UTF-8";#fs_affiliation_content_wrapper #messages{margin-top:25px}#fs_affiliation_content_wrapper h3{font-size:24px;padding:0;margin-left:0}#fs_affiliation_content_wrapper ul li{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;list-style-type:none}#fs_affiliation_content_wrapper ul li:before{content:'✓';margin-right:10px;font-weight:bold}#fs_affiliation_content_wrapper p:not(.description),#fs_affiliation_content_wrapper li,#fs_affiliation_content_wrapper label{font-size:16px !important;line-height:26px !important}#fs_affiliation_content_wrapper .button{margin-top:20px;margin-bottom:7px;line-height:35px;height:40px;font-size:16px}#fs_affiliation_content_wrapper .button#cancel_button{margin-right:5px}#fs_affiliation_content_wrapper form .input-container{margin-bottom:15px}#fs_affiliation_content_wrapper form .input-container .input-label{font-weight:bold;display:block;width:100%}#fs_affiliation_content_wrapper form .input-container.input-container-text label,#fs_affiliation_content_wrapper form .input-container.input-container-text input,#fs_affiliation_content_wrapper form .input-container.input-container-text textarea{display:block}#fs_affiliation_content_wrapper form .input-container #add_domain,#fs_affiliation_content_wrapper form .input-container .remove-domain{text-decoration:none;display:inline-block;margin-top:3px}#fs_affiliation_content_wrapper form .input-container #add_domain:focus,#fs_affiliation_content_wrapper form .input-container .remove-domain:focus{box-shadow:none}#fs_affiliation_content_wrapper form .input-container #add_domain.disabled,#fs_affiliation_content_wrapper form .input-container .remove-domain.disabled{color:#aaa;cursor:default}#fs_affiliation_content_wrapper form #extra_domains_container .description{margin-top:0;position:relative;top:-4px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container{margin-bottom:15px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container .domain{display:inline-block;margin-right:5px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container .domain:last-of-type{margin-bottom:0}
|
freemius/assets/css/admin/checkout.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
@media screen and (max-width: 782px){#wpbody-content{padding-bottom:0 !important}}
|
freemius/assets/css/admin/common.css
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
.theme-browser .theme .fs-premium-theme-badge{position:absolute;top:10px;right:0;background:#71ae00;color:#fff;text-transform:uppercase;padding:5px 10px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;font-weight:bold;border-right:0;-moz-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);font-size:1.1em}#fs_frame{line-height:0;font-size:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media (max-width: 600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}
|
2 |
+
.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px !important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2 !important;background-color:#f2fcff !important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,0.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:bold;cursor:auto}div.fs-notice.updated,div.fs-notice.success,div.fs-notice.promotion{display:block !important}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;-moz-box-shadow:0 2px 2px rgba(6,113,6,0.3);-webkit-box-shadow:0 2px 2px rgba(6,113,6,0.3);box-shadow:0 2px 2px rgba(6,113,6,0.3);opacity:0.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width: 960px){.fs-secure-notice{left:36px}}@media screen and (max-width: 600px){.fs-secure-notice{display:none}}@media screen and (max-width: 500px){#fs_promo_tab{display:none}}@media screen and (max-width: 782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}.fs-submenu-item.pricing.upgrade-mode{color:greenyellow}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{border:0;width:20px;height:20px;margin-right:5px;vertical-align:sub;display:inline-block;background:url("/wp-admin/images/wpspin_light-2x.gif");background-size:contain}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{border:0;background-color:#d54e21;padding:10px;color:#f9f9f9;margin-top:10px}
|
freemius/assets/css/admin/connect.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
#fs_connect{width:480px;-moz-box-shadow:0px 1px 2px rgba(0,0,0,0.3);-webkit-box-shadow:0px 1px 2px rgba(0,0,0,0.3);box-shadow:0px 1px 2px rgba(0,0,0,0.3);margin:20px 0}@media screen and (max-width: 479px){#fs_connect{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;width:auto;margin:0 0 0 -10px}}#fs_connect .fs-content{background:#fff;padding:15px 20px}#fs_connect .fs-content .fs-error{background:snow;color:#d3135a;border:1px solid #d3135a;-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);text-align:center;padding:5px;margin-bottom:10px}#fs_connect .fs-content p{margin:0;padding:0;font-size:1.2em}#fs_connect .fs-license-key-container{position:relative;width:280px;margin:10px auto 0 auto}#fs_connect .fs-license-key-container input{width:100%}#fs_connect .fs-license-key-container .dashicons{position:absolute;top:5px;right:5px}#fs_connect.require-license-key #sites_list_container td{cursor:pointer}#fs_connect #delegate_to_site_admins{margin-right:15px;float:right;height:26px;vertical-align:middle;line-height:37px;font-weight:bold;border-bottom:1px dashed;text-decoration:none}#fs_connect #delegate_to_site_admins.rtl{margin-left:15px;margin-right:0}#fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}#fs_connect .fs-actions .button{padding:0 10px 1px;line-height:35px;height:37px;font-size:16px;margin-bottom:0}#fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}#fs_connect .fs-actions .button.button-primary{padding-right:15px;padding-left:15px}#fs_connect .fs-actions .button.button-primary:after{content:' \279C'}#fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}#fs_connect .fs-actions .button.button-secondary{float:right}#fs_connect.fs-anonymous-disabled .fs-actions .button.button-primary{width:100%}#fs_connect .fs-permissions{padding:10px 20px;background:#FEFEFE;-moz-transition:background 0.5s ease;-o-transition:background 0.5s ease;-ms-transition:background 0.5s ease;-webkit-transition:background 0.5s ease;transition:background 0.5s ease}#fs_connect .fs-permissions .fs-license-sync-disclaimer{text-align:center;margin-top:0}#fs_connect .fs-permissions .fs-trigger{font-size:0.9em;text-decoration:none;text-align:center;display:block}#fs_connect .fs-permissions ul{height:0;overflow:hidden;margin:0}#fs_connect .fs-permissions ul li{margin-bottom:12px}#fs_connect .fs-permissions ul li:last-child{margin-bottom:0}#fs_connect .fs-permissions ul li i.dashicons{float:left;font-size:40px;width:40px;height:40px}#fs_connect .fs-permissions ul li div{margin-left:55px}#fs_connect .fs-permissions ul li div span{font-weight:bold;text-transform:uppercase;color:#23282d}#fs_connect .fs-permissions ul li div p{margin:2px 0 0 0}#fs_connect .fs-permissions.fs-open{background:#fff}#fs_connect .fs-permissions.fs-open ul{height:auto;margin:20px 20px 10px 20px}@media screen and (max-width: 479px){#fs_connect .fs-permissions{background:#fff}#fs_connect .fs-permissions .fs-trigger{display:none}#fs_connect .fs-permissions ul{height:auto;margin:20px}}#fs_connect .fs-freemium-licensing{padding:8px;background:#777;color:#fff}#fs_connect .fs-freemium-licensing p{text-align:center;display:block;margin:0;padding:0}#fs_connect .fs-freemium-licensing a{color:#C2EEFF;text-decoration:underline}#fs_connect .fs-visual{padding:12px;line-height:0;background:#fafafa;height:80px;position:relative}#fs_connect .fs-visual .fs-site-icon{position:absolute;left:20px;top:10px}#fs_connect .fs-visual .fs-connect-logo{position:absolute;right:20px;top:10px}#fs_connect .fs-visual .fs-plugin-icon{position:absolute;top:10px;left:50%;margin-left:-40px}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-site-icon,#fs_connect .fs-visual img,#fs_connect .fs-visual object{width:80px;height:80px}#fs_connect .fs-visual .dashicons-wordpress{font-size:64px;background:#01749a;color:#fff;width:64px;height:64px;padding:8px}#fs_connect .fs-visual .dashicons-plus{position:absolute;top:50%;font-size:30px;margin-top:-10px;color:#bbb}#fs_connect .fs-visual .dashicons-plus.fs-first{left:28%}#fs_connect .fs-visual .dashicons-plus.fs-second{left:65%}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-connect-logo,#fs_connect .fs-visual .fs-site-icon{border:1px solid #ccc;padding:1px;background:#fff}#fs_connect .fs-terms{text-align:center;font-size:0.85em;padding:5px;background:rgba(0,0,0,0.05)}#fs_connect .fs-terms,#fs_connect .fs-terms a{color:#999}#fs_connect .fs-terms a{text-decoration:none}#multisite_options_container{margin-top:10px;border:1px solid #ccc;padding:5px}#multisite_options_container a{text-decoration:none}#multisite_options_container a:focus{box-shadow:none}#multisite_options_container a.selected{font-weight:bold}#multisite_options_container.apply-on-all-sites{border:0 none;padding:0}#multisite_options_container.apply-on-all-sites #all_sites_options{border-spacing:0}#multisite_options_container.apply-on-all-sites #all_sites_options td:not(:first-child){display:none}#multisite_options_container #sites_list_container{display:none;overflow:auto}#multisite_options_container #sites_list_container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .fs-tooltip{opacity:0;visibility:hidden;-moz-transition:opacity 0.3s ease-in-out;-o-transition:opacity 0.3s ease-in-out;-ms-transition:opacity 0.3s ease-in-out;-webkit-transition:opacity 0.3s ease-in-out;transition:opacity 0.3s ease-in-out;position:absolute;background:rgba(0,0,0,0.8);color:#fff;font-family:'arial', serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:0;right:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);line-height:1.3em;font-weight:bold;text-align:left}.rtl .fs-tooltip-trigger .fs-tooltip{text-align:right}.fs-tooltip-trigger .fs-tooltip::after{content:' ';display:block;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:rgba(0,0,0,0.8) transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl .fs-tooltip-trigger .fs-tooltip::after{right:21px;left:auto}.fs-tooltip-trigger:hover .fs-tooltip{visibility:visible;opacity:1}#fs_marketing_optin{display:none;margin-top:10px;border:1px solid #ccc;padding:10px;line-height:1.5em}#fs_marketing_optin .fs-message{display:block;margin-bottom:5px;font-size:1.05em;font-weight:600}#fs_marketing_optin.error{border:1px solid #d3135a;background:#fee}#fs_marketing_optin.error .fs-message{color:#d3135a}#fs_marketing_optin .fs-input-container{margin-top:5px}#fs_marketing_optin .fs-input-container label{margin-top:5px;display:block}#fs_marketing_optin .fs-input-container label input{float:left;margin:1px 0 0 0}#fs_marketing_optin .fs-input-container label:first-child{display:block;margin-bottom:2px}#fs_marketing_optin .fs-input-label{display:block;margin-left:20px}#fs_marketing_optin .fs-input-label .underlined{text-decoration:underline}.rtl #fs_marketing_optin .fs-input-container label input{float:right}.rtl #fs_marketing_optin .fs-input-label{margin-left:0;margin-right:20px}.rtl #fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}.rtl #fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}.rtl #fs_connect .fs-actions .button.button-primary:after{content:' \000bb'}.rtl #fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}.rtl #fs_connect .fs-actions .button.button-secondary{float:left}.rtl #fs_connect .fs-permissions ul li div{margin-right:55px;margin-left:0}.rtl #fs_connect .fs-permissions ul li i.dashicons{float:right}.rtl #fs_connect .fs-visual .fs-site-icon{right:20px;left:auto}.rtl #fs_connect .fs-visual .fs-connect-logo{right:auto;left:20px}#fs_theme_connect_wrapper{position:fixed;top:0;height:100%;width:100%;z-index:99990;background:rgba(0,0,0,0.75);text-align:center;overflow-y:auto}#fs_theme_connect_wrapper:before{content:"";display:inline-block;vertical-align:middle;height:100%}#fs_theme_connect_wrapper>button.close{color:white;cursor:pointer;height:40px;width:40px;position:absolute;right:0;border:0;background-color:transparent;top:32px}#fs_theme_connect_wrapper #fs_connect{top:0;text-align:left;display:inline-block;vertical-align:middle;margin-top:52px;margin-bottom:20px}#fs_theme_connect_wrapper #fs_connect .fs-terms{background:rgba(140,140,140,0.64)}#fs_theme_connect_wrapper #fs_connect .fs-terms,#fs_theme_connect_wrapper #fs_connect .fs-terms a{color:#c5c5c5}.wp-pointer-content #fs_connect{margin:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.fs-opt-in-pointer .wp-pointer-content{padding:0}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow{border-bottom-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow-inner{border-bottom-color:#fafafa}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow{border-top-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow-inner{border-top-color:#fafafa}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow{border-right-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow-inner{border-right-color:#fafafa}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow{border-left-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow-inner{border-left-color:#fafafa}
|
freemius/assets/css/admin/deactivation-feedback.css
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}.fs-modal .fs-modal-dialog li.reason{margin-bottom:10px}.fs-modal .fs-modal-dialog li.reason .reason-input,.fs-modal .fs-modal-dialog li.reason .internal-message{margin-left:29px}.fs-modal .fs-modal-dialog li.reason label{display:table}.fs-modal .fs-modal-dialog li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body h2{font-size:20px}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel:not(.active){display:none}.fs-modal .reason-input,.fs-modal .internal-message{margin:3px 0 3px 22px}.fs-modal .reason-input input,.fs-modal .reason-input textarea,.fs-modal .internal-message input,.fs-modal .internal-message textarea{width:100%}.fs-modal li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}body.has-fs-modal{overflow:hidden}#the-list .deactivate>.fs-slug{display:none}
|
2 |
+
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRlYWN0aXZhdGlvbi1mZWVkYmFjay5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVSxlQUFlLGNBQWMsWUFBWSxXQUFXLE1BQU0sZUFBZSxhQUFhLDBCQUEwQixDQUFDLDJCQUEyQix1QkFBdUIsa0JBQWtCLFNBQVMsbUJBQW1CLG9CQUFvQixVQUFVLGVBQWUsV0FBVyxDQUFDLDBCQUEwQiwyQkFBMkIsaUJBQWlCLDhCQUFBLHNCQUFzQixrQkFBa0IsbUJBQW1CLFVBQVUsQ0FBQyxxREFBcUQsZUFBZSxDQUFDLHFDQUFxQyxrQkFBa0IsQ0FBQywwR0FBMEcsZ0JBQWdCLENBQUMsMkNBQTJDLGFBQWEsQ0FBQyxnREFBZ0QsbUJBQW1CLGVBQWUsQ0FBQyxDQUFDLGlCQUFpQixhQUFhLENBQUMsd0JBQXdCLGFBQWEsQ0FBQyxrQ0FBa0MsT0FBTyxDQUFDLG9EQUFvRCxTQUFTLG1CQUFtQixZQUFZLENBQUMseUJBQXlCLGVBQWUsQ0FBQyw0QkFBNEIsY0FBYyxDQUFDLDZCQUE2QixlQUFlLENBQUMsZ0NBQWdDLGlCQUFpQixlQUFlLFlBQVksQ0FBQywyQkFBMkIsNkJBQTZCLGdCQUFnQixDQUFDLG1DQUFtQyxZQUFZLENBQUMsK0NBQStDLFFBQVEsQ0FBQyx1Q0FBdUMsWUFBWSxDQUFDLG9EQUFvRCxxQkFBcUIsQ0FBQyxzSUFBc0ksVUFBVSxDQUFDLDJEQUEyRCxzQkFBc0IsWUFBWSxZQUFZLENBQUMsa0JBQWtCLGVBQWUsQ0FBQywrQkFBK0IsWUFBWSxDQUFDIiwiZmlsZSI6ImRlYWN0aXZhdGlvbi1mZWVkYmFjay5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZnMtbW9kYWx7cG9zaXRpb246Zml4ZWQ7b3ZlcmZsb3c6YXV0bztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RvcDowO3otaW5kZXg6MTAwMDAwO2Rpc3BsYXk6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC42KX0uZnMtbW9kYWwgLmZzLW1vZGFsLWRpYWxvZ3tiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0yOThweDtwYWRkaW5nLWJvdHRvbTozMHB4O3RvcDotMTAwJTt6LWluZGV4OjEwMDAwMTt3aWR0aDo1OTZweH1AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpey5mcy1tb2RhbCAuZnMtbW9kYWwtZGlhbG9ne21hcmdpbi1sZWZ0Oi01MCU7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweDt3aWR0aDoxMDAlfS5mcy1tb2RhbCAuZnMtbW9kYWwtZGlhbG9nIC5mcy1tb2RhbC1wYW5lbD5oMz5zdHJvbmd7Zm9udC1zaXplOjEuM2VtfS5mcy1tb2RhbCAuZnMtbW9kYWwtZGlhbG9nIGxpLnJlYXNvbnttYXJnaW4tYm90dG9tOjEwcHh9LmZzLW1vZGFsIC5mcy1tb2RhbC1kaWFsb2cgbGkucmVhc29uIC5yZWFzb24taW5wdXQsLmZzLW1vZGFsIC5mcy1tb2RhbC1kaWFsb2cgbGkucmVhc29uIC5pbnRlcm5hbC1tZXNzYWdle21hcmdpbi1sZWZ0OjI5cHh9LmZzLW1vZGFsIC5mcy1tb2RhbC1kaWFsb2cgbGkucmVhc29uIGxhYmVse2Rpc3BsYXk6dGFibGV9LmZzLW1vZGFsIC5mcy1tb2RhbC1kaWFsb2cgbGkucmVhc29uIGxhYmVsPnNwYW57ZGlzcGxheTp0YWJsZS1jZWxsO2ZvbnQtc2l6ZToxLjNlbX19LmZzLW1vZGFsLmFjdGl2ZXtkaXNwbGF5OmJsb2NrfS5mcy1tb2RhbC5hY3RpdmU6YmVmb3Jle2Rpc3BsYXk6YmxvY2t9LmZzLW1vZGFsLmFjdGl2ZSAuZnMtbW9kYWwtZGlhbG9ne3RvcDoxMCV9LmZzLW1vZGFsIC5mcy1tb2RhbC1ib2R5LC5mcy1tb2RhbCAuZnMtbW9kYWwtZm9vdGVye2JvcmRlcjowO2JhY2tncm91bmQ6I2ZlZmVmZTtwYWRkaW5nOjIwcHh9LmZzLW1vZGFsIC5mcy1tb2RhbC1ib2R5e2JvcmRlci1ib3R0b206MH0uZnMtbW9kYWwgLmZzLW1vZGFsLWJvZHkgaDJ7Zm9udC1zaXplOjIwcHh9LmZzLW1vZGFsIC5mcy1tb2RhbC1ib2R5PmRpdnttYXJnaW4tdG9wOjEwcHh9LmZzLW1vZGFsIC5mcy1tb2RhbC1ib2R5PmRpdiBoMntmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZToyMHB4O21hcmdpbi10b3A6MH0uZnMtbW9kYWwgLmZzLW1vZGFsLWZvb3Rlcntib3JkZXItdG9wOiNlZWVlZWUgc29saWQgMXB4O3RleHQtYWxpZ246cmlnaHR9LmZzLW1vZGFsIC5mcy1tb2RhbC1mb290ZXI+LmJ1dHRvbnttYXJnaW46MCA3cHh9LmZzLW1vZGFsIC5mcy1tb2RhbC1mb290ZXI+LmJ1dHRvbjpmaXJzdC1jaGlsZHttYXJnaW46MH0uZnMtbW9kYWwgLmZzLW1vZGFsLXBhbmVsOm5vdCguYWN0aXZlKXtkaXNwbGF5Om5vbmV9LmZzLW1vZGFsIC5yZWFzb24taW5wdXQsLmZzLW1vZGFsIC5pbnRlcm5hbC1tZXNzYWdle21hcmdpbjozcHggMCAzcHggMjJweH0uZnMtbW9kYWwgLnJlYXNvbi1pbnB1dCBpbnB1dCwuZnMtbW9kYWwgLnJlYXNvbi1pbnB1dCB0ZXh0YXJlYSwuZnMtbW9kYWwgLmludGVybmFsLW1lc3NhZ2UgaW5wdXQsLmZzLW1vZGFsIC5pbnRlcm5hbC1tZXNzYWdlIHRleHRhcmVhe3dpZHRoOjEwMCV9LmZzLW1vZGFsIGxpLnJlYXNvbi5oYXMtaW50ZXJuYWwtbWVzc2FnZSAuaW50ZXJuYWwtbWVzc2FnZXtib3JkZXI6MXB4IHNvbGlkICNjY2M7cGFkZGluZzo3cHg7ZGlzcGxheTpub25lfWJvZHkuaGFzLWZzLW1vZGFse292ZXJmbG93OmhpZGRlbn0jdGhlLWxpc3QgLmRlYWN0aXZhdGU+LmZzLXNsdWd7ZGlzcGxheTpub25lfVxuIl19 */
|
freemius/assets/css/admin/debug.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.switch{position:relative;display:inline-block;font-size:1.6em;font-weight:bold;color:#ccc;text-shadow:0px 1px 1px rgba(255,255,255,0.8);height:18px;padding:6px 6px 5px 6px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:4px;background:#ececec;box-shadow:0px 0px 4px rgba(0,0,0,0.1),inset 0px 1px 3px 0px rgba(0,0,0,0.1);cursor:pointer}.switch span{display:inline-block;width:35px;text-transform:uppercase}.switch span.on{color:#6bc406}.switch .toggle{position:absolute;top:1px;width:37px;height:25px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.3);border-radius:4px;background:#fff;background:-moz-linear-gradient(top, #ececec 0%, #fff 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ececec), color-stop(100%, #fff));background:-webkit-linear-gradient(top, #ececec 0%, #fff 100%);background:-o-linear-gradient(top, #ececec 0%, #fff 100%);background:-ms-linear-gradient(top, #ececec 0%, #fff 100%);background:linear-gradient(top, #ececec 0%, #fff 100%);box-shadow:inset 0px 1px 0px 0px rgba(255,255,255,0.5);z-index:999;-moz-transition:all 0.15s ease-in-out;-o-transition:all 0.15s ease-in-out;-ms-transition:all 0.15s ease-in-out;-webkit-transition:all 0.15s ease-in-out;transition:all 0.15s ease-in-out}.switch.on .toggle{left:2%}.switch.off .toggle{left:54%}.switch.round{padding:0px 20px;border-radius:40px}.switch.round .toggle{border-radius:40px;width:14px;height:14px}.switch.round.on .toggle{left:3%;background:#6bc406}.switch.round.off .toggle{left:58%}.switch-label{font-size:20px;line-height:31px;margin:0 5px}#fs_log_book table{font-family:Consolas,Monaco,monospace;font-size:12px}#fs_log_book table th{color:#ccc}#fs_log_book table tr{background:#232525}#fs_log_book table tr.alternate{background:#2b2b2b}#fs_log_book table tr td.fs-col--logger{color:#5a7435}#fs_log_book table tr td.fs-col--type{color:#ffc861}#fs_log_book table tr td.fs-col--function{color:#a7b7b1;font-weight:bold}#fs_log_book table tr td.fs-col--message,#fs_log_book table tr td.fs-col--message a{color:#9a73ac !important}#fs_log_book table tr td.fs-col--file{color:#d07922}#fs_log_book table tr td.fs-col--timestamp{color:#6596be}
|
freemius/assets/css/admin/dialog-boxes.css
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eeeeee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:bold;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:0.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-header .fs-close .dashicons,.fs-modal .fs-modal-header .fs-close:hover .dashicons{text-decoration:none}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .reason-input,.fs-modal.fs-modal-deactivation-feedback .internal-message{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width: 650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-subscription-cancellation .fs-price-increase-warning{color:red;font-weight:bold;padding:0 25px;margin-bottom:0}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:left;top:5px;position:relative}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:right}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{display:block;margin-left:24px}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{margin-left:0;margin-right:24px}.fs-modal.fs-modal-license-activation .fs-modal-body input.license_key{width:100%}#license_options_container table,#license_options_container table select,#license_options_container table #available_license_key{width:100%}#license_options_container table td:first-child{width:1%}#license_options_container table #other_license_key_container label{position:relative;top:6px;float:left;margin-right:5px}#license_options_container table #other_license_key_container div{overflow:hidden;width:auto;height:30px;display:block;top:2px;position:relative}#license_options_container table #other_license_key_container div input{margin:0}#sites_list_container td{cursor:pointer}#multisite_options_container{margin-top:10px;border:1px solid #ccc;padding:5px}#multisite_options_container a{text-decoration:none}#multisite_options_container a:focus{box-shadow:none}#multisite_options_container a.selected{font-weight:bold}#multisite_options_container.apply-on-all-sites{border:0 none;padding:0}#multisite_options_container.apply-on-all-sites #all_sites_options{border-spacing:0}#multisite_options_container.apply-on-all-sites #all_sites_options td:not(:first-child){display:none}#multisite_options_container #sites_list_container{display:none;overflow:auto}#multisite_options_container #sites_list_container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}
|
2 |
+
.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}.fs-ajax-loader{position:relative;width:170px;height:20px;margin:auto}.fs-ajax-loader .fs-ajax-loader-bar{position:absolute;top:0;background-color:#0074a3;width:20px;height:20px;-webkit-animation-name:bounce_ajaxLoader;-moz-animation-name:bounce_ajaxLoader;-ms-animation-name:bounce_ajaxLoader;-o-animation-name:bounce_ajaxLoader;animation-name:bounce_ajaxLoader;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s;animation-duration:1.5s;animation-iteration-count:infinite;-o-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-webkit-animation-direction:normal;-moz-animation-direction:normal;-ms-animation-direction:normal;-o-animation-direction:normal;animation-direction:normal;-moz-transform:0.3;-o-transform:0.3;-ms-transform:0.3;-webkit-transform:0.3;transform:0.3}.fs-ajax-loader .fs-ajax-loader-bar-1{left:0px;animation-delay:0.6s;-o-animation-delay:0.6s;-ms-animation-delay:0.6s;-webkit-animation-delay:0.6s;-moz-animation-delay:0.6s}.fs-ajax-loader .fs-ajax-loader-bar-2{left:19px;animation-delay:0.75s;-o-animation-delay:0.75s;-ms-animation-delay:0.75s;-webkit-animation-delay:0.75s;-moz-animation-delay:0.75s}.fs-ajax-loader .fs-ajax-loader-bar-3{left:38px;animation-delay:0.9s;-o-animation-delay:0.9s;-ms-animation-delay:0.9s;-webkit-animation-delay:0.9s;-moz-animation-delay:0.9s}.fs-ajax-loader .fs-ajax-loader-bar-4{left:57px;animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s}.fs-ajax-loader .fs-ajax-loader-bar-5{left:76px;animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s}.fs-ajax-loader .fs-ajax-loader-bar-6{left:95px;animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s}.fs-ajax-loader .fs-ajax-loader-bar-7{left:114px;animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s}.fs-ajax-loader .fs-ajax-loader-bar-8{left:133px;animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s}@-moz-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-ms-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-o-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-webkit-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}.fs-modal-auto-install #request-filesystem-credentials-form h2,.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;padding:10px 10px 5px 10px;width:300px;max-width:100%}.fs-modal-auto-install #request-filesystem-credentials-form>div
|