Tabs - Version 2.0.9

Version Description

  • Compatible with wordpress version 5.7
  • Add Elementor Addon
Download this release

Release Info

Developer wpshopmart
Plugin Icon 128x128 Tabs
Version 2.0.9
Comparing to
See all releases

Code changes from version 2.0.8 to 2.0.9

assets/css/bootstrap.css CHANGED
@@ -343,7 +343,14 @@ select[multiple].input-lg {
343
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
344
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
345
  }
346
-
 
 
 
 
 
 
 
347
  .has-error .help-block,
348
  .has-error .control-label,
349
  .has-error .radio,
343
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
344
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
345
  }
346
+ .has-warning .input-group-addon {
347
+ color: #8a6d3b;
348
+ background-color: #fcf8e3;
349
+ border-color: #8a6d3b;
350
+ }
351
+ .has-warning .form-control-feedback {
352
+ color: #8a6d3b;
353
+ }
354
  .has-error .help-block,
355
  .has-error .control-label,
356
  .has-error .radio,
ink/admin/menu.php CHANGED
@@ -81,7 +81,7 @@ class wpsm_tabs_r {
81
  global $post;
82
  switch( $column ) {
83
  case 'shortcode' :
84
- echo '<input style="width:225px" type="text" value="[TABS_R id='.$post_id.']" readonly="readonly" />';
85
  break;
86
  default :
87
  break;
@@ -132,7 +132,7 @@ class wpsm_tabs_r {
132
  </style>
133
  <h3>Tabs Shortcode</h3>
134
  <p><?php _e("Use below shortcode in any Page/Post to publish your Tabs", wpshopmart_tabs_r_text_domain);?></p>
135
- <input readonly="readonly" type="text" value="<?php echo "[TABS_R id=".get_the_ID()."]"; ?>">
136
  <?php
137
  $PostId = get_the_ID();
138
  $Settings = unserialize(get_post_meta( $PostId, 'Tabs_R_Settings', true));
81
  global $post;
82
  switch( $column ) {
83
  case 'shortcode' :
84
+ echo '<input style="width:225px" type="text" onclick="this.select()" value="[TABS_R id='.$post_id.']" readonly="readonly" />';
85
  break;
86
  default :
87
  break;
132
  </style>
133
  <h3>Tabs Shortcode</h3>
134
  <p><?php _e("Use below shortcode in any Page/Post to publish your Tabs", wpshopmart_tabs_r_text_domain);?></p>
135
+ <input readonly="readonly" onclick="this.select()" type="text" value="<?php echo "[TABS_R id=".get_the_ID()."]"; ?>">
136
  <?php
137
  $PostId = get_the_ID();
138
  $Settings = unserialize(get_post_meta( $PostId, 'Tabs_R_Settings', true));
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
- === Tabs ===
2
  Contributors: wpshopmart
3
  Donate link: https://wpshopmart.com/plugins/tabs-pro-plugin/
4
- Tags: tab, tabs, responsive tabs, animation, animated tab, css3 tabs, bootstrap tabs, tabs content, responsive, shortcode, widget, wordpress tabs, wp tabs, accordion, collapse, toggle, bootstrap tab, jquery, tab widget, tab shortcode, jquery tabs, sidebar, plugin, html, html5, html5 tabs
5
  Requires at least: 4.9
6
- Tested up to: 5.6.1
7
- Stable tag: 2.0.8
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -160,9 +160,9 @@ Please use WordPress support forum to ask any query regarding any issue.
160
 
161
  == Changelog ==
162
 
163
- = 2.0.8 =
164
- * Compatible with wordpress version 5.6.1
165
- * minor css issue resolved
166
 
167
  = 2.0.7 =
168
  * minor update
1
+ === Tabs With Elementor Addon ===
2
  Contributors: wpshopmart
3
  Donate link: https://wpshopmart.com/plugins/tabs-pro-plugin/
4
+ Tags: tab, tabs, responsive tabs, animation, animated tab, css3 tabs, bootstrap tabs, tabs content, responsive, shortcode, widget, wordpress tabs, Elementor Addon, Elementor, Elementor widget, wp tabs, accordion, collapse, toggle, bootstrap tab, jquery, tab widget, tab shortcode, jquery tabs, sidebar, plugin, html, html5, html5 tabs
5
  Requires at least: 4.9
6
+ Tested up to: 5.7
7
+ Stable tag: 2.0.9
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
160
 
161
  == Changelog ==
162
 
163
+ = 2.0.9 =
164
+ * Compatible with wordpress version 5.7
165
+ * Add Elementor Addon
166
 
167
  = 2.0.7 =
168
  * minor update
tabs-responsive-addon.php ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('ABSPATH'))
4
+ {
5
+ exit; // Exit if accessed directly.
6
+
7
+ }
8
+
9
+ final class Tabs_Responsive_Addon
10
+ {
11
+ const Tabs_Responsive_VERSION = '1.0.0';
12
+
13
+
14
+ const Tabs_Responsive_MINIMUM_ELEMENTOR_VERSION = '2.0.0';
15
+
16
+
17
+ const Tabs_Responsive_MINIMUM_PHP_VERSION = '7.0';
18
+
19
+
20
+ private static $instance = null;
21
+
22
+
23
+ public static function instance()
24
+ {
25
+
26
+ if (is_null(self::$instance))
27
+ {
28
+ self::$instance = new self();
29
+ }
30
+ return self::$instance;
31
+
32
+ }
33
+
34
+
35
+ public function __construct()
36
+ {
37
+
38
+ add_action('plugins_loaded', [$this, 'wpsm_tabs_r_on_plugins_loaded']);
39
+
40
+ }
41
+
42
+
43
+ public function elementor_textdomain()
44
+ {
45
+
46
+ load_plugin_textdomain('wpshopmart_tabs_r_text_domain');
47
+
48
+ }
49
+
50
+
51
+ public function wpsm_tabs_r_on_plugins_loaded()
52
+ {
53
+ add_action('elementor/init', [$this, 'wpsm_tabs_r_init']);
54
+ add_action( 'elementor/elements/categories_registered',array($this, 'add_elementor_widget_categories' ));
55
+ add_action('elementor/editor/before_enqueue_scripts', array($this, 'editor_enqueue_scripts'));
56
+
57
+ }
58
+
59
+ public function safe_url($url)
60
+ {
61
+ if (is_ssl()) {
62
+ $url = wp_parse_url($url);
63
+
64
+ if (!empty($url['host'])) {
65
+ $url['scheme'] = 'https';
66
+ }
67
+
68
+ return $this->unparse_url($url);
69
+ }
70
+
71
+ return $url;
72
+ }
73
+
74
+ public function editor_enqueue_scripts()
75
+ {
76
+
77
+ // editor style
78
+ wp_enqueue_style(
79
+ 'tabs-responsive-editor',
80
+ $this->safe_url(wpshopmart_tabs_r_directory_url . 'tabs-responsive-elementor-addon/assets/css/editor.css'),
81
+ false
82
+ );
83
+ }
84
+
85
+ public function add_elementor_widget_categories( $elements_manager ) {
86
+
87
+ $elements_manager->add_category(
88
+ 'wpshopmart',
89
+ [
90
+ 'title' => __( 'WPShopmart', 'Tabs Responsive'),
91
+ 'icon' => 'font',
92
+ ]
93
+ );
94
+
95
+ }
96
+
97
+
98
+ public function wpsm_tabs_r_init()
99
+ {
100
+
101
+ $this->elementor_textdomain();
102
+
103
+ // Add Plugin actions
104
+ add_action('elementor/widgets/widgets_registered', [$this, 'wpsm_tabs_r_init_widgets']);
105
+
106
+ }
107
+
108
+
109
+ public function wpsm_tabs_r_init_widgets()
110
+ {
111
+
112
+ // Include Widget files
113
+ require_once (__DIR__ . '/tabs-responsive-elementor-addon/widgets/tabs-responsive-addon-widget.php');
114
+
115
+ // Register widget
116
+ \Elementor\Plugin::instance()
117
+ ->widgets_manager
118
+ ->register_widget_type(new \Tabs_Responsive_Addon_Widget());
119
+
120
+ }
121
+
122
+ }
123
+
124
+ Tabs_Responsive_Addon::instance();
125
+
tabs-responsive-elementor-addon/assets/css/animate.css ADDED
@@ -0,0 +1,3670 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ Animate.css - http://daneden.me/animate
3
+ Licensed under the MIT license
4
+ */
5
+
6
+ .animated {
7
+ -webkit-animation-duration: 1s;
8
+ animation-duration: 1s;
9
+ -webkit-animation-fill-mode: both;
10
+ animation-fill-mode: both;
11
+ }
12
+
13
+ .animated.hinge {
14
+ -webkit-animation-duration: 2s;
15
+ animation-duration: 2s;
16
+ }
17
+
18
+ @-webkit-keyframes bounce {
19
+ 0%, 20%, 50%, 80%, 100% {
20
+ -webkit-transform: translateY(0);
21
+ transform: translateY(0);
22
+ }
23
+
24
+ 40% {
25
+ -webkit-transform: translateY(-30px);
26
+ transform: translateY(-30px);
27
+ }
28
+
29
+ 60% {
30
+ -webkit-transform: translateY(-15px);
31
+ transform: translateY(-15px);
32
+ }
33
+ }
34
+
35
+ @keyframes bounce {
36
+ 0%, 20%, 50%, 80%, 100% {
37
+ -webkit-transform: translateY(0);
38
+ -ms-transform: translateY(0);
39
+ transform: translateY(0);
40
+ }
41
+
42
+ 40% {
43
+ -webkit-transform: translateY(-30px);
44
+ -ms-transform: translateY(-30px);
45
+ transform: translateY(-30px);
46
+ }
47
+
48
+ 60% {
49
+ -webkit-transform: translateY(-15px);
50
+ -ms-transform: translateY(-15px);
51
+ transform: translateY(-15px);
52
+ }
53
+ }
54
+
55
+ .bounce {
56
+ -webkit-animation-name: bounce;
57
+ animation-name: bounce;
58
+ }
59
+
60
+ @-webkit-keyframes flash {
61
+ 0%, 50%, 100% {
62
+ opacity: 1;
63
+ }
64
+
65
+ 25%, 75% {
66
+ opacity: 0;
67
+ }
68
+ }
69
+
70
+ @keyframes flash {
71
+ 0%, 50%, 100% {
72
+ opacity: 1;
73
+ }
74
+
75
+ 25%, 75% {
76
+ opacity: 0;
77
+ }
78
+ }
79
+
80
+ .flash {
81
+ -webkit-animation-name: flash;
82
+ animation-name: flash;
83
+ }
84
+
85
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
86
+
87
+ @-webkit-keyframes pulse {
88
+ 0% {
89
+ -webkit-transform: scale(1);
90
+ transform: scale(1);
91
+ }
92
+
93
+ 50% {
94
+ -webkit-transform: scale(1.1);
95
+ transform: scale(1.1);
96
+ }
97
+
98
+ 100% {
99
+ -webkit-transform: scale(1);
100
+ transform: scale(1);
101
+ }
102
+ }
103
+
104
+ @keyframes pulse {
105
+ 0% {
106
+ -webkit-transform: scale(1);
107
+ -ms-transform: scale(1);
108
+ transform: scale(1);
109
+ }
110
+
111
+ 50% {
112
+ -webkit-transform: scale(1.1);
113
+ -ms-transform: scale(1.1);
114
+ transform: scale(1.1);
115
+ }
116
+
117
+ 100% {
118
+ -webkit-transform: scale(1);
119
+ -ms-transform: scale(1);
120
+ transform: scale(1);
121
+ }
122
+ }
123
+
124
+ .pulse {
125
+ -webkit-animation-name: pulse;
126
+ animation-name: pulse;
127
+ }
128
+
129
+ @-webkit-keyframes shake {
130
+ 0%, 100% {
131
+ -webkit-transform: translateX(0);
132
+ transform: translateX(0);
133
+ }
134
+
135
+ 10%, 30%, 50%, 70%, 90% {
136
+ -webkit-transform: translateX(-10px);
137
+ transform: translateX(-10px);
138
+ }
139
+
140
+ 20%, 40%, 60%, 80% {
141
+ -webkit-transform: translateX(10px);
142
+ transform: translateX(10px);
143
+ }
144
+ }
145
+
146
+ @keyframes shake {
147
+ 0%, 100% {
148
+ -webkit-transform: translateX(0);
149
+ -ms-transform: translateX(0);
150
+ transform: translateX(0);
151
+ }
152
+
153
+ 10%, 30%, 50%, 70%, 90% {
154
+ -webkit-transform: translateX(-10px);
155
+ -ms-transform: translateX(-10px);
156
+ transform: translateX(-10px);
157
+ }
158
+
159
+ 20%, 40%, 60%, 80% {
160
+ -webkit-transform: translateX(10px);
161
+ -ms-transform: translateX(10px);
162
+ transform: translateX(10px);
163
+ }
164
+ }
165
+
166
+ .shake {
167
+ -webkit-animation-name: shake;
168
+ animation-name: shake;
169
+ }
170
+
171
+ @-webkit-keyframes swing {
172
+ 20% {
173
+ -webkit-transform: rotate(15deg);
174
+ transform: rotate(15deg);
175
+ }
176
+
177
+ 40% {
178
+ -webkit-transform: rotate(-10deg);
179
+ transform: rotate(-10deg);
180
+ }
181
+
182
+ 60% {
183
+ -webkit-transform: rotate(5deg);
184
+ transform: rotate(5deg);
185
+ }
186
+
187
+ 80% {
188
+ -webkit-transform: rotate(-5deg);
189
+ transform: rotate(-5deg);
190
+ }
191
+
192
+ 100% {
193
+ -webkit-transform: rotate(0deg);
194
+ transform: rotate(0deg);
195
+ }
196
+ }
197
+
198
+ @keyframes swing {
199
+ 20% {
200
+ -webkit-transform: rotate(15deg);
201
+ -ms-transform: rotate(15deg);
202
+ transform: rotate(15deg);
203
+ }
204
+
205
+ 40% {
206
+ -webkit-transform: rotate(-10deg);
207
+ -ms-transform: rotate(-10deg);
208
+ transform: rotate(-10deg);
209
+ }
210
+
211
+ 60% {
212
+ -webkit-transform: rotate(5deg);
213
+ -ms-transform: rotate(5deg);
214
+ transform: rotate(5deg);
215
+ }
216
+
217
+ 80% {
218
+ -webkit-transform: rotate(-5deg);
219
+ -ms-transform: rotate(-5deg);
220
+ transform: rotate(-5deg);
221
+ }
222
+
223
+ 100% {
224
+ -webkit-transform: rotate(0deg);
225
+ -ms-transform: rotate(0deg);
226
+ transform: rotate(0deg);
227
+ }
228
+ }
229
+
230
+ .swing {
231
+ -webkit-transform-origin: top center;
232
+ -ms-transform-origin: top center;
233
+ transform-origin: top center;
234
+ -webkit-animation-name: swing;
235
+ animation-name: swing;
236
+ }
237
+
238
+ @-webkit-keyframes tada {
239
+ 0% {
240
+ -webkit-transform: scale(1);
241
+ transform: scale(1);
242
+ }
243
+
244
+ 10%, 20% {
245
+ -webkit-transform: scale(0.9) rotate(-3deg);
246
+ transform: scale(0.9) rotate(-3deg);
247
+ }
248
+
249
+ 30%, 50%, 70%, 90% {
250
+ -webkit-transform: scale(1.1) rotate(3deg);
251
+ transform: scale(1.1) rotate(3deg);
252
+ }
253
+
254
+ 40%, 60%, 80% {
255
+ -webkit-transform: scale(1.1) rotate(-3deg);
256
+ transform: scale(1.1) rotate(-3deg);
257
+ }
258
+
259
+ 100% {
260
+ -webkit-transform: scale(1) rotate(0);
261
+ transform: scale(1) rotate(0);
262
+ }
263
+ }
264
+
265
+ @keyframes tada {
266
+ 0% {
267
+ -webkit-transform: scale(1);
268
+ -ms-transform: scale(1);
269
+ transform: scale(1);
270
+ }
271
+
272
+ 10%, 20% {
273
+ -webkit-transform: scale(0.9) rotate(-3deg);
274
+ -ms-transform: scale(0.9) rotate(-3deg);
275
+ transform: scale(0.9) rotate(-3deg);
276
+ }
277
+
278
+ 30%, 50%, 70%, 90% {
279
+ -webkit-transform: scale(1.1) rotate(3deg);
280
+ -ms-transform: scale(1.1) rotate(3deg);
281
+ transform: scale(1.1) rotate(3deg);
282
+ }
283
+
284
+ 40%, 60%, 80% {
285
+ -webkit-transform: scale(1.1) rotate(-3deg);
286
+ -ms-transform: scale(1.1) rotate(-3deg);
287
+ transform: scale(1.1) rotate(-3deg);
288
+ }
289
+
290
+ 100% {
291
+ -webkit-transform: scale(1) rotate(0);
292
+ -ms-transform: scale(1) rotate(0);
293
+ transform: scale(1) rotate(0);
294
+ }
295
+ }
296
+
297
+ .tada {
298
+ -webkit-animation-name: tada;
299
+ animation-name: tada;
300
+ }
301
+
302
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
303
+
304
+ @-webkit-keyframes wobble {
305
+ 0% {
306
+ -webkit-transform: translateX(0%);
307
+ transform: translateX(0%);
308
+ }
309
+
310
+ 15% {
311
+ -webkit-transform: translateX(-25%) rotate(-5deg);
312
+ transform: translateX(-25%) rotate(-5deg);
313
+ }
314
+
315
+ 30% {
316
+ -webkit-transform: translateX(20%) rotate(3deg);
317
+ transform: translateX(20%) rotate(3deg);
318
+ }
319
+
320
+ 45% {
321
+ -webkit-transform: translateX(-15%) rotate(-3deg);
322
+ transform: translateX(-15%) rotate(-3deg);
323
+ }
324
+
325
+ 60% {
326
+ -webkit-transform: translateX(10%) rotate(2deg);
327
+ transform: translateX(10%) rotate(2deg);
328
+ }
329
+
330
+ 75% {
331
+ -webkit-transform: translateX(-5%) rotate(-1deg);
332
+ transform: translateX(-5%) rotate(-1deg);
333
+ }
334
+
335
+ 100% {
336
+ -webkit-transform: translateX(0%);
337
+ transform: translateX(0%);
338
+ }
339
+ }
340
+
341
+ @keyframes wobble {
342
+ 0% {
343
+ -webkit-transform: translateX(0%);
344
+ -ms-transform: translateX(0%);
345
+ transform: translateX(0%);
346
+ }
347
+
348
+ 15% {
349
+ -webkit-transform: translateX(-25%) rotate(-5deg);
350
+ -ms-transform: translateX(-25%) rotate(-5deg);
351
+ transform: translateX(-25%) rotate(-5deg);
352
+ }
353
+
354
+ 30% {
355
+ -webkit-transform: translateX(20%) rotate(3deg);
356
+ -ms-transform: translateX(20%) rotate(3deg);
357
+ transform: translateX(20%) rotate(3deg);
358
+ }
359
+
360
+ 45% {
361
+ -webkit-transform: translateX(-15%) rotate(-3deg);
362
+ -ms-transform: translateX(-15%) rotate(-3deg);
363
+ transform: translateX(-15%) rotate(-3deg);
364
+ }
365
+
366
+ 60% {
367
+ -webkit-transform: translateX(10%) rotate(2deg);
368
+ -ms-transform: translateX(10%) rotate(2deg);
369
+ transform: translateX(10%) rotate(2deg);
370
+ }
371
+
372
+ 75% {
373
+ -webkit-transform: translateX(-5%) rotate(-1deg);
374
+ -ms-transform: translateX(-5%) rotate(-1deg);
375
+ transform: translateX(-5%) rotate(-1deg);
376
+ }
377
+
378
+ 100% {
379
+ -webkit-transform: translateX(0%);
380
+ -ms-transform: translateX(0%);
381
+ transform: translateX(0%);
382
+ }
383
+ }
384
+
385
+ .wobble {
386
+ -webkit-animation-name: wobble;
387
+ animation-name: wobble;
388
+ }
389
+
390
+ @-webkit-keyframes bounceIn {
391
+ 0% {
392
+ opacity: 0;
393
+ -webkit-transform: scale(.3);
394
+ transform: scale(.3);
395
+ }
396
+
397
+ 50% {
398
+ opacity: 1;
399
+ -webkit-transform: scale(1.05);
400
+ transform: scale(1.05);
401
+ }
402
+
403
+ 70% {
404
+ -webkit-transform: scale(.9);
405
+ transform: scale(.9);
406
+ }
407
+
408
+ 100% {
409
+ -webkit-transform: scale(1);
410
+ transform: scale(1);
411
+ }
412
+ }
413
+
414
+ @keyframes bounceIn {
415
+ 0% {
416
+ opacity: 0;
417
+ -webkit-transform: scale(.3);
418
+ -ms-transform: scale(.3);
419
+ transform: scale(.3);
420
+ }
421
+
422
+ 50% {
423
+ opacity: 1;
424
+ -webkit-transform: scale(1.05);
425
+ -ms-transform: scale(1.05);
426
+ transform: scale(1.05);
427
+ }
428
+
429
+ 70% {
430
+ -webkit-transform: scale(.9);
431
+ -ms-transform: scale(.9);
432
+ transform: scale(.9);
433
+ }
434
+
435
+ 100% {
436
+ -webkit-transform: scale(1);
437
+ -ms-transform: scale(1);
438
+ transform: scale(1);
439
+ }
440
+ }
441
+
442
+ .bounceIn {
443
+ -webkit-animation-name: bounceIn;
444
+ animation-name: bounceIn;
445
+ }
446
+
447
+ @-webkit-keyframes bounceInDown {
448
+ 0% {
449
+ opacity: 0;
450
+ -webkit-transform: translateY(-2000px);
451
+ transform: translateY(-2000px);
452
+ }
453
+
454
+ 60% {
455
+ opacity: 1;
456
+ -webkit-transform: translateY(30px);
457
+ transform: translateY(30px);
458
+ }
459
+
460
+ 80% {
461
+ -webkit-transform: translateY(-10px);
462
+ transform: translateY(-10px);
463
+ }
464
+
465
+ 100% {
466
+ -webkit-transform: translateY(0);
467
+ transform: translateY(0);
468
+ }
469
+ }
470
+
471
+ @keyframes bounceInDown {
472
+ 0% {
473
+ opacity: 0;
474
+ -webkit-transform: translateY(-2000px);
475
+ -ms-transform: translateY(-2000px);
476
+ transform: translateY(-2000px);
477
+ }
478
+
479
+ 60% {
480
+ opacity: 1;
481
+ -webkit-transform: translateY(30px);
482
+ -ms-transform: translateY(30px);
483
+ transform: translateY(30px);
484
+ }
485
+
486
+ 80% {
487
+ -webkit-transform: translateY(-10px);
488
+ -ms-transform: translateY(-10px);
489
+ transform: translateY(-10px);
490
+ }
491
+
492
+ 100% {
493
+ -webkit-transform: translateY(0);
494
+ -ms-transform: translateY(0);
495
+ transform: translateY(0);
496
+ }
497
+ }
498
+
499
+ .bounceInDown {
500
+ -webkit-animation-name: bounceInDown;
501
+ animation-name: bounceInDown;
502
+ }
503
+
504
+ @-webkit-keyframes bounceInLeft {
505
+ 0% {
506
+ opacity: 0;
507
+ -webkit-transform: translateX(-2000px);
508
+ transform: translateX(-2000px);
509
+ }
510
+
511
+ 60% {
512
+ opacity: 1;
513
+ -webkit-transform: translateX(30px);
514
+ transform: translateX(30px);
515
+ }
516
+
517
+ 80% {
518
+ -webkit-transform: translateX(-10px);
519
+ transform: translateX(-10px);
520
+ }
521
+
522
+ 100% {
523
+ -webkit-transform: translateX(0);
524
+ transform: translateX(0);
525
+ }
526
+ }
527
+
528
+ @keyframes bounceInLeft {
529
+ 0% {
530
+ opacity: 0;
531
+ -webkit-transform: translateX(-2000px);
532
+ -ms-transform: translateX(-2000px);
533
+ transform: translateX(-2000px);
534
+ }
535
+
536
+ 60% {
537
+ opacity: 1;
538
+ -webkit-transform: translateX(30px);
539
+ -ms-transform: translateX(30px);
540
+ transform: translateX(30px);
541
+ }
542
+
543
+ 80% {
544
+ -webkit-transform: translateX(-10px);
545
+ -ms-transform: translateX(-10px);
546
+ transform: translateX(-10px);
547
+ }
548
+
549
+ 100% {
550
+ -webkit-transform: translateX(0);
551
+ -ms-transform: translateX(0);
552
+ transform: translateX(0);
553
+ }
554
+ }
555
+
556
+ .bounceInLeft {
557
+ -webkit-animation-name: bounceInLeft;
558
+ animation-name: bounceInLeft;
559
+ }
560
+
561
+ @-webkit-keyframes bounceInRight {
562
+ 0% {
563
+ opacity: 0;
564
+ -webkit-transform: translateX(2000px);
565
+ transform: translateX(2000px);
566
+ }
567
+
568
+ 60% {
569
+ opacity: 1;
570
+ -webkit-transform: translateX(-30px);
571
+ transform: translateX(-30px);
572
+ }
573
+
574
+ 80% {
575
+ -webkit-transform: translateX(10px);
576
+ transform: translateX(10px);
577
+ }
578
+
579
+ 100% {
580
+ -webkit-transform: translateX(0);
581
+ transform: translateX(0);
582
+ }
583
+ }
584
+
585
+ @keyframes bounceInRight {
586
+ 0% {
587
+ opacity: 0;
588
+ -webkit-transform: translateX(2000px);
589
+ -ms-transform: translateX(2000px);
590
+ transform: translateX(2000px);
591
+ }
592
+
593
+ 60% {
594
+ opacity: 1;
595
+ -webkit-transform: translateX(-30px);
596
+ -ms-transform: translateX(-30px);
597
+ transform: translateX(-30px);
598
+ }
599
+
600
+ 80% {
601
+ -webkit-transform: translateX(10px);
602
+ -ms-transform: translateX(10px);
603
+ transform: translateX(10px);
604
+ }
605
+
606
+ 100% {
607
+ -webkit-transform: translateX(0);
608
+ -ms-transform: translateX(0);
609
+ transform: translateX(0);
610
+ }
611
+ }
612
+
613
+ .bounceInRight {
614
+ -webkit-animation-name: bounceInRight;
615
+ animation-name: bounceInRight;
616
+ }
617
+
618
+ @-webkit-keyframes bounceInUp {
619
+ 0% {
620
+ opacity: 0;
621
+ -webkit-transform: translateY(2000px);
622
+ transform: translateY(2000px);
623
+ }
624
+
625
+ 60% {
626
+ opacity: 1;
627
+ -webkit-transform: translateY(-30px);
628
+ transform: translateY(-30px);
629
+ }
630
+
631
+ 80% {
632
+ -webkit-transform: translateY(10px);
633
+ transform: translateY(10px);
634
+ }
635
+
636
+ 100% {
637
+ -webkit-transform: translateY(0);
638
+ transform: translateY(0);
639
+ }
640
+ }
641
+
642
+ @keyframes bounceInUp {
643
+ 0% {
644
+ opacity: 0;
645
+ -webkit-transform: translateY(2000px);
646
+ -ms-transform: translateY(2000px);
647
+ transform: translateY(2000px);
648
+ }
649
+
650
+ 60% {
651
+ opacity: 1;
652
+ -webkit-transform: translateY(-30px);
653
+ -ms-transform: translateY(-30px);
654
+ transform: translateY(-30px);
655
+ }
656
+
657
+ 80% {
658
+ -webkit-transform: translateY(10px);
659
+ -ms-transform: translateY(10px);
660
+ transform: translateY(10px);
661
+ }
662
+
663
+ 100% {
664
+ -webkit-transform: translateY(0);
665
+ -ms-transform: translateY(0);
666
+ transform: translateY(0);
667
+ }
668
+ }
669
+
670
+ .bounceInUp {
671
+ -webkit-animation-name: bounceInUp;
672
+ animation-name: bounceInUp;
673
+ }
674
+
675
+ @-webkit-keyframes bounceOut {
676
+ 0% {
677
+ -webkit-transform: scale(1);
678
+ transform: scale(1);
679
+ }
680
+
681
+ 25% {
682
+ -webkit-transform: scale(.95);
683
+ transform: scale(.95);
684
+ }
685
+
686
+ 50% {
687
+ opacity: 1;
688
+ -webkit-transform: scale(1.1);
689
+ transform: scale(1.1);
690
+ }
691
+
692
+ 100% {
693
+ opacity: 0;
694
+ -webkit-transform: scale(.3);
695
+ transform: scale(.3);
696
+ }
697
+ }
698
+
699
+ @keyframes bounceOut {
700
+ 0% {
701
+ -webkit-transform: scale(1);
702
+ -ms-transform: scale(1);
703
+ transform: scale(1);
704
+ }
705
+
706
+ 25% {
707
+ -webkit-transform: scale(.95);
708
+ -ms-transform: scale(.95);
709
+ transform: scale(.95);
710
+ }
711
+
712
+ 50% {
713
+ opacity: 1;
714
+ -webkit-transform: scale(1.1);
715
+ -ms-transform: scale(1.1);
716
+ transform: scale(1.1);
717
+ }
718
+
719
+ 100% {
720
+ opacity: 0;
721
+ -webkit-transform: scale(.3);
722
+ -ms-transform: scale(.3);
723
+ transform: scale(.3);
724
+ }
725
+ }
726
+
727
+ .bounceOut {
728
+ -webkit-animation-name: bounceOut;
729
+ animation-name: bounceOut;
730
+ }
731
+
732
+ @-webkit-keyframes bounceOutDown {
733
+ 0% {
734
+ -webkit-transform: translateY(0);
735
+ transform: translateY(0);
736
+ }
737
+
738
+ 20% {
739
+ opacity: 1;
740
+ -webkit-transform: translateY(-20px);
741
+ transform: translateY(-20px);
742
+ }
743
+
744
+ 100% {
745
+ opacity: 0;
746
+ -webkit-transform: translateY(2000px);
747
+ transform: translateY(2000px);
748
+ }
749
+ }
750
+
751
+ @keyframes bounceOutDown {
752
+ 0% {
753
+ -webkit-transform: translateY(0);
754
+ -ms-transform: translateY(0);
755
+ transform: translateY(0);
756
+ }
757
+
758
+ 20% {
759
+ opacity: 1;
760
+ -webkit-transform: translateY(-20px);
761
+ -ms-transform: translateY(-20px);
762
+ transform: translateY(-20px);
763
+ }
764
+
765
+ 100% {
766
+ opacity: 0;
767
+ -webkit-transform: translateY(2000px);
768
+ -ms-transform: translateY(2000px);
769
+ transform: translateY(2000px);
770
+ }
771
+ }
772
+
773
+ .bounceOutDown {
774
+ -webkit-animation-name: bounceOutDown;
775
+ animation-name: bounceOutDown;
776
+ }
777
+
778
+ @-webkit-keyframes bounceOutLeft {
779
+ 0% {
780
+ -webkit-transform: translateX(0);
781
+ transform: translateX(0);
782
+ }
783
+
784
+ 20% {
785
+ opacity: 1;
786
+ -webkit-transform: translateX(20px);
787
+ transform: translateX(20px);
788
+ }
789
+
790
+ 100% {
791
+ opacity: 0;
792
+ -webkit-transform: translateX(-2000px);
793
+ transform: translateX(-2000px);
794
+ }
795
+ }
796
+
797
+ @keyframes bounceOutLeft {
798
+ 0% {
799
+ -webkit-transform: translateX(0);
800
+ -ms-transform: translateX(0);
801
+ transform: translateX(0);
802
+ }
803
+
804
+ 20% {
805
+ opacity: 1;
806
+ -webkit-transform: translateX(20px);
807
+ -ms-transform: translateX(20px);
808
+ transform: translateX(20px);
809
+ }
810
+
811
+ 100% {
812
+ opacity: 0;
813
+ -webkit-transform: translateX(-2000px);
814
+ -ms-transform: translateX(-2000px);
815
+ transform: translateX(-2000px);
816
+ }
817
+ }
818
+
819
+ .bounceOutLeft {
820
+ -webkit-animation-name: bounceOutLeft;
821
+ animation-name: bounceOutLeft;
822
+ }
823
+
824
+ @-webkit-keyframes bounceOutRight {
825
+ 0% {
826
+ -webkit-transform: translateX(0);
827
+ transform: translateX(0);
828
+ }
829
+
830
+ 20% {
831
+ opacity: 1;
832
+ -webkit-transform: translateX(-20px);
833
+ transform: translateX(-20px);
834
+ }
835
+
836
+ 100% {
837
+ opacity: 0;
838
+ -webkit-transform: translateX(2000px);
839
+ transform: translateX(2000px);
840
+ }
841
+ }
842
+
843
+ @keyframes bounceOutRight {
844
+ 0% {
845
+ -webkit-transform: translateX(0);
846
+ -ms-transform: translateX(0);
847
+ transform: translateX(0);
848
+ }
849
+
850
+ 20% {
851
+ opacity: 1;
852
+ -webkit-transform: translateX(-20px);
853
+ -ms-transform: translateX(-20px);
854
+ transform: translateX(-20px);
855
+ }
856
+
857
+ 100% {
858
+ opacity: 0;
859
+ -webkit-transform: translateX(2000px);
860
+ -ms-transform: translateX(2000px);
861
+ transform: translateX(2000px);
862
+ }
863
+ }
864
+
865
+ .bounceOutRight {
866
+ -webkit-animation-name: bounceOutRight;
867
+ animation-name: bounceOutRight;
868
+ }
869
+
870
+ @-webkit-keyframes bounceOutUp {
871
+ 0% {
872
+ -webkit-transform: translateY(0);
873
+ transform: translateY(0);
874
+ }
875
+
876
+ 20% {
877
+ opacity: 1;
878
+ -webkit-transform: translateY(20px);
879
+ transform: translateY(20px);
880
+ }
881
+
882
+ 100% {
883
+ opacity: 0;
884
+ -webkit-transform: translateY(-2000px);
885
+ transform: translateY(-2000px);
886
+ }
887
+ }
888
+
889
+ @keyframes bounceOutUp {
890
+ 0% {
891
+ -webkit-transform: translateY(0);
892
+ -ms-transform: translateY(0);
893
+ transform: translateY(0);
894
+ }
895
+
896
+ 20% {
897
+ opacity: 1;
898
+ -webkit-transform: translateY(20px);
899
+ -ms-transform: translateY(20px);
900
+ transform: translateY(20px);
901
+ }
902
+
903
+ 100% {
904
+ opacity: 0;
905
+ -webkit-transform: translateY(-2000px);
906
+ -ms-transform: translateY(-2000px);
907
+ transform: translateY(-2000px);
908
+ }
909
+ }
910
+
911
+ .bounceOutUp {
912
+ -webkit-animation-name: bounceOutUp;
913
+ animation-name: bounceOutUp;
914
+ }
915
+
916
+ @-webkit-keyframes fadeIn {
917
+ 0% {
918
+ opacity: 0;
919
+ }
920
+
921
+ 100% {
922
+ opacity: 1;
923
+ }
924
+ }
925
+
926
+ @keyframes fadeIn {
927
+ 0% {
928
+ opacity: 0;
929
+ }
930
+
931
+ 100% {
932
+ opacity: 1;
933
+ }
934
+ }
935
+
936
+ .fadeIn {
937
+ -webkit-animation-name: fadeIn;
938
+ animation-name: fadeIn;
939
+ }
940
+
941
+ @-webkit-keyframes fadeInDown {
942
+ 0% {
943
+ opacity: 0;
944
+ -webkit-transform: translateY(-20px);
945
+ transform: translateY(-20px);
946
+ }
947
+
948
+ 100% {
949
+ opacity: 1;
950
+ -webkit-transform: translateY(0);
951
+ transform: translateY(0);
952
+ }
953
+ }
954
+
955
+ @keyframes fadeInDown {
956
+ 0% {
957
+ opacity: 0;
958
+ -webkit-transform: translateY(-20px);
959
+ -ms-transform: translateY(-20px);
960
+ transform: translateY(-20px);
961
+ }
962
+
963
+ 100% {
964
+ opacity: 1;
965
+ -webkit-transform: translateY(0);
966
+ -ms-transform: translateY(0);
967
+ transform: translateY(0);
968
+ }
969
+ }
970
+
971
+ .fadeInDown {
972
+ -webkit-animation-name: fadeInDown;
973
+ animation-name: fadeInDown;
974
+ }
975
+
976
+ @-webkit-keyframes fadeInDownBig {
977
+ 0% {
978
+ opacity: 0;
979
+ -webkit-transform: translateY(-2000px);
980
+ transform: translateY(-2000px);
981
+ }
982
+
983
+ 100% {
984
+ opacity: 1;
985
+ -webkit-transform: translateY(0);
986
+ transform: translateY(0);
987
+ }
988
+ }
989
+
990
+ @keyframes fadeInDownBig {
991
+ 0% {
992
+ opacity: 0;
993
+ -webkit-transform: translateY(-2000px);
994
+ -ms-transform: translateY(-2000px);
995
+ transform: translateY(-2000px);
996
+ }
997
+
998
+ 100% {
999
+ opacity: 1;
1000
+ -webkit-transform: translateY(0);
1001
+ -ms-transform: translateY(0);
1002
+ transform: translateY(0);
1003
+ }
1004
+ }
1005
+
1006
+ .fadeInDownBig {
1007
+ -webkit-animation-name: fadeInDownBig;
1008
+ animation-name: fadeInDownBig;
1009
+ }
1010
+
1011
+ @-webkit-keyframes fadeInLeft {
1012
+ 0% {
1013
+ opacity: 0;
1014
+ -webkit-transform: translateX(-20px);
1015
+ transform: translateX(-20px);
1016
+ }
1017
+
1018
+ 100% {
1019
+ opacity: 1;
1020
+ -webkit-transform: translateX(0);
1021
+ transform: translateX(0);
1022
+ }
1023
+ }
1024
+
1025
+ @keyframes fadeInLeft {
1026
+ 0% {
1027
+ opacity: 0;
1028
+ -webkit-transform: translateX(-20px);
1029
+ -ms-transform: translateX(-20px);
1030
+ transform: translateX(-20px);
1031
+ }
1032
+
1033
+ 100% {
1034
+ opacity: 1;
1035
+ -webkit-transform: translateX(0);
1036
+ -ms-transform: translateX(0);
1037
+ transform: translateX(0);
1038
+ }
1039
+ }
1040
+
1041
+ .fadeInLeft {
1042
+ -webkit-animation-name: fadeInLeft;
1043
+ animation-name: fadeInLeft;
1044
+ }
1045
+
1046
+ @-webkit-keyframes fadeInLeftBig {
1047
+ 0% {
1048
+ opacity: 0;
1049
+ -webkit-transform: translateX(-2000px);
1050
+ transform: translateX(-2000px);
1051
+ }
1052
+
1053
+ 100% {
1054
+ opacity: 1;
1055
+ -webkit-transform: translateX(0);
1056
+ transform: translateX(0);
1057
+ }
1058
+ }
1059
+
1060
+ @keyframes fadeInLeftBig {
1061
+ 0% {
1062
+ opacity: 0;
1063
+ -webkit-transform: translateX(-2000px);
1064
+ -ms-transform: translateX(-2000px);
1065
+ transform: translateX(-2000px);
1066
+ }
1067
+
1068
+ 100% {
1069
+ opacity: 1;
1070
+ -webkit-transform: translateX(0);
1071
+ -ms-transform: translateX(0);
1072
+ transform: translateX(0);
1073
+ }
1074
+ }
1075
+
1076
+ .fadeInLeftBig {
1077
+ -webkit-animation-name: fadeInLeftBig;
1078
+ animation-name: fadeInLeftBig;
1079
+ }
1080
+
1081
+ @-webkit-keyframes fadeInRight {
1082
+ 0% {
1083
+ opacity: 0;
1084
+ -webkit-transform: translateX(20px);
1085
+ transform: translateX(20px);
1086
+ }
1087
+
1088
+ 100% {
1089
+ opacity: 1;
1090
+ -webkit-transform: translateX(0);
1091
+ transform: translateX(0);
1092
+ }
1093
+ }
1094
+
1095
+ @keyframes fadeInRight {
1096
+ 0% {
1097
+ opacity: 0;
1098
+ -webkit-transform: translateX(20px);
1099
+ -ms-transform: translateX(20px);
1100
+ transform: translateX(20px);
1101
+ }
1102
+
1103
+ 100% {
1104
+ opacity: 1;
1105
+ -webkit-transform: translateX(0);
1106
+ -ms-transform: translateX(0);
1107
+ transform: translateX(0);
1108
+ }
1109
+ }
1110
+
1111
+ .fadeInRight {
1112
+ -webkit-animation-name: fadeInRight;
1113
+ animation-name: fadeInRight;
1114
+ }
1115
+
1116
+ @-webkit-keyframes fadeInRightBig {
1117
+ 0% {
1118
+ opacity: 0;
1119
+ -webkit-transform: translateX(2000px);
1120
+ transform: translateX(2000px);
1121
+ }
1122
+
1123
+ 100% {
1124
+ opacity: 1;
1125
+ -webkit-transform: translateX(0);
1126
+ transform: translateX(0);
1127
+ }
1128
+ }
1129
+
1130
+ @keyframes fadeInRightBig {
1131
+ 0% {
1132
+ opacity: 0;
1133
+ -webkit-transform: translateX(2000px);
1134
+ -ms-transform: translateX(2000px);
1135
+ transform: translateX(2000px);
1136
+ }
1137
+
1138
+ 100% {
1139
+ opacity: 1;
1140
+ -webkit-transform: translateX(0);
1141
+ -ms-transform: translateX(0);
1142
+ transform: translateX(0);
1143
+ }
1144
+ }
1145
+
1146
+ .fadeInRightBig {
1147
+ -webkit-animation-name: fadeInRightBig;
1148
+ animation-name: fadeInRightBig;
1149
+ }
1150
+
1151
+ @-webkit-keyframes fadeInUp {
1152
+ 0% {
1153
+ opacity: 0;
1154
+ -webkit-transform: translateY(20px);
1155
+ transform: translateY(20px);
1156
+ }
1157
+
1158
+ 100% {
1159
+ opacity: 1;
1160
+ -webkit-transform: translateY(0);
1161
+ transform: translateY(0);
1162
+ }
1163
+ }
1164
+
1165
+ @keyframes fadeInUp {
1166
+ 0% {
1167
+ opacity: 0;
1168
+ -webkit-transform: translateY(20px);
1169
+ -ms-transform: translateY(20px);
1170
+ transform: translateY(20px);
1171
+ }
1172
+
1173
+ 100% {
1174
+ opacity: 1;
1175
+ -webkit-transform: translateY(0);
1176
+ -ms-transform: translateY(0);
1177
+ transform: translateY(0);
1178
+ }
1179
+ }
1180
+
1181
+ .fadeInUp {
1182
+ -webkit-animation-name: fadeInUp;
1183
+ animation-name: fadeInUp;
1184
+ }
1185
+
1186
+ @-webkit-keyframes fadeInUpBig {
1187
+ 0% {
1188
+ opacity: 0;
1189
+ -webkit-transform: translateY(2000px);
1190
+ transform: translateY(2000px);
1191
+ }
1192
+
1193
+ 100% {
1194
+ opacity: 1;
1195
+ -webkit-transform: translateY(0);
1196
+ transform: translateY(0);
1197
+ }
1198
+ }
1199
+
1200
+ @keyframes fadeInUpBig {
1201
+ 0% {
1202
+ opacity: 0;
1203
+ -webkit-transform: translateY(2000px);
1204
+ -ms-transform: translateY(2000px);
1205
+ transform: translateY(2000px);
1206
+ }
1207
+
1208
+ 100% {
1209
+ opacity: 1;
1210
+ -webkit-transform: translateY(0);
1211
+ -ms-transform: translateY(0);
1212
+ transform: translateY(0);
1213
+ }
1214
+ }
1215
+
1216
+ .fadeInUpBig {
1217
+ -webkit-animation-name: fadeInUpBig;
1218
+ animation-name: fadeInUpBig;
1219
+ }
1220
+
1221
+ @-webkit-keyframes fadeOut {
1222
+ 0% {
1223
+ opacity: 1;
1224
+ }
1225
+
1226
+ 100% {
1227
+ opacity: 0;
1228
+ }
1229
+ }
1230
+
1231
+ @keyframes fadeOut {
1232
+ 0% {
1233
+ opacity: 1;
1234
+ }
1235
+
1236
+ 100% {
1237
+ opacity: 0;
1238
+ }
1239
+ }
1240
+
1241
+ .fadeOut {
1242
+ -webkit-animation-name: fadeOut;
1243
+ animation-name: fadeOut;
1244
+ }
1245
+
1246
+ @-webkit-keyframes fadeOutDown {
1247
+ 0% {
1248
+ opacity: 1;
1249
+ -webkit-transform: translateY(0);
1250
+ transform: translateY(0);
1251
+ }
1252
+
1253
+ 100% {
1254
+ opacity: 0;
1255
+ -webkit-transform: translateY(20px);
1256
+ transform: translateY(20px);
1257
+ }
1258
+ }
1259
+
1260
+ @keyframes fadeOutDown {
1261
+ 0% {
1262
+ opacity: 1;
1263
+ -webkit-transform: translateY(0);
1264
+ -ms-transform: translateY(0);
1265
+ transform: translateY(0);
1266
+ }
1267
+
1268
+ 100% {
1269
+ opacity: 0;
1270
+ -webkit-transform: translateY(20px);
1271
+ -ms-transform: translateY(20px);
1272
+ transform: translateY(20px);
1273
+ }
1274
+ }
1275
+
1276
+ .fadeOutDown {
1277
+ -webkit-animation-name: fadeOutDown;
1278
+ animation-name: fadeOutDown;
1279
+ }
1280
+
1281
+ @-webkit-keyframes fadeOutDownBig {
1282
+ 0% {
1283
+ opacity: 1;
1284
+ -webkit-transform: translateY(0);
1285
+ transform: translateY(0);
1286
+ }
1287
+
1288
+ 100% {
1289
+ opacity: 0;
1290
+ -webkit-transform: translateY(2000px);
1291
+ transform: translateY(2000px);
1292
+ }
1293
+ }
1294
+
1295
+ @keyframes fadeOutDownBig {
1296
+ 0% {
1297
+ opacity: 1;
1298
+ -webkit-transform: translateY(0);
1299
+ -ms-transform: translateY(0);
1300
+ transform: translateY(0);
1301
+ }
1302
+
1303
+ 100% {
1304
+ opacity: 0;
1305
+ -webkit-transform: translateY(2000px);
1306
+ -ms-transform: translateY(2000px);
1307
+ transform: translateY(2000px);
1308
+ }
1309
+ }
1310
+
1311
+ .fadeOutDownBig {
1312
+ -webkit-animation-name: fadeOutDownBig;
1313
+ animation-name: fadeOutDownBig;
1314
+ }
1315
+
1316
+ @-webkit-keyframes fadeOutLeft {
1317
+ 0% {
1318
+ opacity: 1;
1319
+ -webkit-transform: translateX(0);
1320
+ transform: translateX(0);
1321
+ }
1322
+
1323
+ 100% {
1324
+ opacity: 0;
1325
+ -webkit-transform: translateX(-20px);
1326
+ transform: translateX(-20px);
1327
+ }
1328
+ }
1329
+
1330
+ @keyframes fadeOutLeft {
1331
+ 0% {
1332
+ opacity: 1;
1333
+ -webkit-transform: translateX(0);
1334
+ -ms-transform: translateX(0);
1335
+ transform: translateX(0);
1336
+ }
1337
+
1338
+ 100% {
1339
+ opacity: 0;
1340
+ -webkit-transform: translateX(-20px);
1341
+ -ms-transform: translateX(-20px);
1342
+ transform: translateX(-20px);
1343
+ }
1344
+ }
1345
+
1346
+ .fadeOutLeft {
1347
+ -webkit-animation-name: fadeOutLeft;
1348
+ animation-name: fadeOutLeft;
1349
+ }
1350
+
1351
+ @-webkit-keyframes fadeOutLeftBig {
1352
+ 0% {
1353
+ opacity: 1;
1354
+ -webkit-transform: translateX(0);
1355
+ transform: translateX(0);
1356
+ }
1357
+
1358
+ 100% {
1359
+ opacity: 0;
1360
+ -webkit-transform: translateX(-2000px);
1361
+ transform: translateX(-2000px);
1362
+ }
1363
+ }
1364
+
1365
+ @keyframes fadeOutLeftBig {
1366
+ 0% {
1367
+ opacity: 1;
1368
+ -webkit-transform: translateX(0);
1369
+ -ms-transform: translateX(0);
1370
+ transform: translateX(0);
1371
+ }
1372
+
1373
+ 100% {
1374
+ opacity: 0;
1375
+ -webkit-transform: translateX(-2000px);
1376
+ -ms-transform: translateX(-2000px);
1377
+ transform: translateX(-2000px);
1378
+ }
1379
+ }
1380
+
1381
+ .fadeOutLeftBig {
1382
+ -webkit-animation-name: fadeOutLeftBig;
1383
+ animation-name: fadeOutLeftBig;
1384
+ }
1385
+
1386
+ @-webkit-keyframes fadeOutRight {
1387
+ 0% {
1388
+ opacity: 1;
1389
+ -webkit-transform: translateX(0);
1390
+ transform: translateX(0);
1391
+ }
1392
+
1393
+ 100% {
1394
+ opacity: 0;
1395
+ -webkit-transform: translateX(20px);
1396
+ transform: translateX(20px);
1397
+ }
1398
+ }
1399
+
1400
+ @keyframes fadeOutRight {
1401
+ 0% {
1402
+ opacity: 1;
1403
+ -webkit-transform: translateX(0);
1404
+ -ms-transform: translateX(0);
1405
+ transform: translateX(0);
1406
+ }
1407
+
1408
+ 100% {
1409
+ opacity: 0;
1410
+ -webkit-transform: translateX(20px);
1411
+ -ms-transform: translateX(20px);
1412
+ transform: translateX(20px);
1413
+ }
1414
+ }
1415
+
1416
+ .fadeOutRight {
1417
+ -webkit-animation-name: fadeOutRight;
1418
+ animation-name: fadeOutRight;
1419
+ }
1420
+
1421
+ @-webkit-keyframes fadeOutRightBig {
1422
+ 0% {
1423
+ opacity: 1;
1424
+ -webkit-transform: translateX(0);
1425
+ transform: translateX(0);
1426
+ }
1427
+
1428
+ 100% {
1429
+ opacity: 0;
1430
+ -webkit-transform: translateX(2000px);
1431
+ transform: translateX(2000px);
1432
+ }
1433
+ }
1434
+
1435
+ @keyframes fadeOutRightBig {
1436
+ 0% {
1437
+ opacity: 1;
1438
+ -webkit-transform: translateX(0);
1439
+ -ms-transform: translateX(0);
1440
+ transform: translateX(0);
1441
+ }
1442
+
1443
+ 100% {
1444
+ opacity: 0;
1445
+ -webkit-transform: translateX(2000px);
1446
+ -ms-transform: translateX(2000px);
1447
+ transform: translateX(2000px);
1448
+ }
1449
+ }
1450
+
1451
+ .fadeOutRightBig {
1452
+ -webkit-animation-name: fadeOutRightBig;
1453
+ animation-name: fadeOutRightBig;
1454
+ }
1455
+
1456
+ @-webkit-keyframes fadeOutUp {
1457
+ 0% {
1458
+ opacity: 1;
1459
+ -webkit-transform: translateY(0);
1460
+ transform: translateY(0);
1461
+ }
1462
+
1463
+ 100% {
1464
+ opacity: 0;
1465
+ -webkit-transform: translateY(-20px);
1466
+ transform: translateY(-20px);
1467
+ }
1468
+ }
1469
+
1470
+ @keyframes fadeOutUp {
1471
+ 0% {
1472
+ opacity: 1;
1473
+ -webkit-transform: translateY(0);
1474
+ -ms-transform: translateY(0);
1475
+ transform: translateY(0);
1476
+ }
1477
+
1478
+ 100% {
1479
+ opacity: 0;
1480
+ -webkit-transform: translateY(-20px);
1481
+ -ms-transform: translateY(-20px);
1482
+ transform: translateY(-20px);
1483
+ }
1484
+ }
1485
+
1486
+ .fadeOutUp {
1487
+ -webkit-animation-name: fadeOutUp;
1488
+ animation-name: fadeOutUp;
1489
+ }
1490
+
1491
+ @-webkit-keyframes fadeOutUpBig {
1492
+ 0% {
1493
+ opacity: 1;
1494
+ -webkit-transform: translateY(0);
1495
+ transform: translateY(0);
1496
+ }
1497
+
1498
+ 100% {
1499
+ opacity: 0;
1500
+ -webkit-transform: translateY(-2000px);
1501
+ transform: translateY(-2000px);
1502
+ }
1503
+ }
1504
+
1505
+ @keyframes fadeOutUpBig {
1506
+ 0% {
1507
+ opacity: 1;
1508
+ -webkit-transform: translateY(0);
1509
+ -ms-transform: translateY(0);
1510
+ transform: translateY(0);
1511
+ }
1512
+
1513
+ 100% {
1514
+ opacity: 0;
1515
+ -webkit-transform: translateY(-2000px);
1516
+ -ms-transform: translateY(-2000px);
1517
+ transform: translateY(-2000px);
1518
+ }
1519
+ }
1520
+
1521
+ .fadeOutUpBig {
1522
+ -webkit-animation-name: fadeOutUpBig;
1523
+ animation-name: fadeOutUpBig;
1524
+ }
1525
+
1526
+ @-webkit-keyframes flip {
1527
+ 0% {
1528
+ -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1529
+ transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1530
+ -webkit-animation-timing-function: ease-out;
1531
+ animation-timing-function: ease-out;
1532
+ }
1533
+
1534
+ 40% {
1535
+ -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1536
+ transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1537
+ -webkit-animation-timing-function: ease-out;
1538
+ animation-timing-function: ease-out;
1539
+ }
1540
+
1541
+ 50% {
1542
+ -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1543
+ transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1544
+ -webkit-animation-timing-function: ease-in;
1545
+ animation-timing-function: ease-in;
1546
+ }
1547
+
1548
+ 80% {
1549
+ -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1550
+ transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1551
+ -webkit-animation-timing-function: ease-in;
1552
+ animation-timing-function: ease-in;
1553
+ }
1554
+
1555
+ 100% {
1556
+ -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1557
+ transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1558
+ -webkit-animation-timing-function: ease-in;
1559
+ animation-timing-function: ease-in;
1560
+ }
1561
+ }
1562
+
1563
+ @keyframes flip {
1564
+ 0% {
1565
+ -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1566
+ -ms-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1567
+ transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1568
+ -webkit-animation-timing-function: ease-out;
1569
+ animation-timing-function: ease-out;
1570
+ }
1571
+
1572
+ 40% {
1573
+ -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1574
+ -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1575
+ transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1576
+ -webkit-animation-timing-function: ease-out;
1577
+ animation-timing-function: ease-out;
1578
+ }
1579
+
1580
+ 50% {
1581
+ -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1582
+ -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1583
+ transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1584
+ -webkit-animation-timing-function: ease-in;
1585
+ animation-timing-function: ease-in;
1586
+ }
1587
+
1588
+ 80% {
1589
+ -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1590
+ -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1591
+ transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1592
+ -webkit-animation-timing-function: ease-in;
1593
+ animation-timing-function: ease-in;
1594
+ }
1595
+
1596
+ 100% {
1597
+ -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1598
+ -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1599
+ transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1600
+ -webkit-animation-timing-function: ease-in;
1601
+ animation-timing-function: ease-in;
1602
+ }
1603
+ }
1604
+
1605
+ .animated.flip {
1606
+ -webkit-backface-visibility: visible;
1607
+ -ms-backface-visibility: visible;
1608
+ backface-visibility: visible;
1609
+ -webkit-animation-name: flip;
1610
+ animation-name: flip;
1611
+ }
1612
+
1613
+ @-webkit-keyframes flipInX {
1614
+ 0% {
1615
+ -webkit-transform: perspective(400px) rotateX(90deg);
1616
+ transform: perspective(400px) rotateX(90deg);
1617
+ opacity: 0;
1618
+ }
1619
+
1620
+ 40% {
1621
+ -webkit-transform: perspective(400px) rotateX(-10deg);
1622
+ transform: perspective(400px) rotateX(-10deg);
1623
+ }
1624
+
1625
+ 70% {
1626
+ -webkit-transform: perspective(400px) rotateX(10deg);
1627
+ transform: perspective(400px) rotateX(10deg);
1628
+ }
1629
+
1630
+ 100% {
1631
+ -webkit-transform: perspective(400px) rotateX(0deg);
1632
+ transform: perspective(400px) rotateX(0deg);
1633
+ opacity: 1;
1634
+ }
1635
+ }
1636
+
1637
+ @keyframes flipInX {
1638
+ 0% {
1639
+ -webkit-transform: perspective(400px) rotateX(90deg);
1640
+ -ms-transform: perspective(400px) rotateX(90deg);
1641
+ transform: perspective(400px) rotateX(90deg);
1642
+ opacity: 0;
1643
+ }
1644
+
1645
+ 40% {
1646
+ -webkit-transform: perspective(400px) rotateX(-10deg);
1647
+ -ms-transform: perspective(400px) rotateX(-10deg);
1648
+ transform: perspective(400px) rotateX(-10deg);
1649
+ }
1650
+
1651
+ 70% {
1652
+ -webkit-transform: perspective(400px) rotateX(10deg);
1653
+ -ms-transform: perspective(400px) rotateX(10deg);
1654
+ transform: perspective(400px) rotateX(10deg);
1655
+ }
1656
+
1657
+ 100% {
1658
+ -webkit-transform: perspective(400px) rotateX(0deg);
1659
+ -ms-transform: perspective(400px) rotateX(0deg);
1660
+ transform: perspective(400px) rotateX(0deg);
1661
+ opacity: 1;
1662
+ }
1663
+ }
1664
+
1665
+ .flipInX {
1666
+ -webkit-backface-visibility: visible !important;
1667
+ -ms-backface-visibility: visible !important;
1668
+ backface-visibility: visible !important;
1669
+ -webkit-animation-name: flipInX;
1670
+ animation-name: flipInX;
1671
+ }
1672
+
1673
+ @-webkit-keyframes flipInY {
1674
+ 0% {
1675
+ -webkit-transform: perspective(400px) rotateY(90deg);
1676
+ transform: perspective(400px) rotateY(90deg);
1677
+ opacity: 0;
1678
+ }
1679
+
1680
+ 40% {
1681
+ -webkit-transform: perspective(400px) rotateY(-10deg);
1682
+ transform: perspective(400px) rotateY(-10deg);
1683
+ }
1684
+
1685
+ 70% {
1686
+ -webkit-transform: perspective(400px) rotateY(10deg);
1687
+ transform: perspective(400px) rotateY(10deg);
1688
+ }
1689
+
1690
+ 100% {
1691
+ -webkit-transform: perspective(400px) rotateY(0deg);
1692
+ transform: perspective(400px) rotateY(0deg);
1693
+ opacity: 1;
1694
+ }
1695
+ }
1696
+
1697
+ @keyframes flipInY {
1698
+ 0% {
1699
+ -webkit-transform: perspective(400px) rotateY(90deg);
1700
+ -ms-transform: perspective(400px) rotateY(90deg);
1701
+ transform: perspective(400px) rotateY(90deg);
1702
+ opacity: 0;
1703
+ }
1704
+
1705
+ 40% {
1706
+ -webkit-transform: perspective(400px) rotateY(-10deg);
1707
+ -ms-transform: perspective(400px) rotateY(-10deg);
1708
+ transform: perspective(400px) rotateY(-10deg);
1709
+ }
1710
+
1711
+ 70% {
1712
+ -webkit-transform: perspective(400px) rotateY(10deg);
1713
+ -ms-transform: perspective(400px) rotateY(10deg);
1714
+ transform: perspective(400px) rotateY(10deg);
1715
+ }
1716
+
1717
+ 100% {
1718
+ -webkit-transform: perspective(400px) rotateY(0deg);
1719
+ -ms-transform: perspective(400px) rotateY(0deg);
1720
+ transform: perspective(400px) rotateY(0deg);
1721
+ opacity: 1;
1722
+ }
1723
+ }
1724
+
1725
+ .flipInY {
1726
+ -webkit-backface-visibility: visible !important;
1727
+ -ms-backface-visibility: visible !important;
1728
+ backface-visibility: visible !important;
1729
+ -webkit-animation-name: flipInY;
1730
+ animation-name: flipInY;
1731
+ }
1732
+
1733
+ @-webkit-keyframes flipOutX {
1734
+ 0% {
1735
+ -webkit-transform: perspective(400px) rotateX(0deg);
1736
+ transform: perspective(400px) rotateX(0deg);
1737
+ opacity: 1;
1738
+ }
1739
+
1740
+ 100% {
1741
+ -webkit-transform: perspective(400px) rotateX(90deg);
1742
+ transform: perspective(400px) rotateX(90deg);
1743
+ opacity: 0;
1744
+ }
1745
+ }
1746
+
1747
+ @keyframes flipOutX {
1748
+ 0% {
1749
+ -webkit-transform: perspective(400px) rotateX(0deg);
1750
+ -ms-transform: perspective(400px) rotateX(0deg);
1751
+ transform: perspective(400px) rotateX(0deg);
1752
+ opacity: 1;
1753
+ }
1754
+
1755
+ 100% {
1756
+ -webkit-transform: perspective(400px) rotateX(90deg);
1757
+ -ms-transform: perspective(400px) rotateX(90deg);
1758
+ transform: perspective(400px) rotateX(90deg);
1759
+ opacity: 0;
1760
+ }
1761
+ }
1762
+
1763
+ .flipOutX {
1764
+ -webkit-animation-name: flipOutX;
1765
+ animation-name: flipOutX;
1766
+ -webkit-backface-visibility: visible !important;
1767
+ -ms-backface-visibility: visible !important;
1768
+ backface-visibility: visible !important;
1769
+ }
1770
+
1771
+ @-webkit-keyframes flipOutY {
1772
+ 0% {
1773
+ -webkit-transform: perspective(400px) rotateY(0deg);
1774
+ transform: perspective(400px) rotateY(0deg);
1775
+ opacity: 1;
1776
+ }
1777
+
1778
+ 100% {
1779
+ -webkit-transform: perspective(400px) rotateY(90deg);
1780
+ transform: perspective(400px) rotateY(90deg);
1781
+ opacity: 0;
1782
+ }
1783
+ }
1784
+
1785
+ @keyframes flipOutY {
1786
+ 0% {
1787
+ -webkit-transform: perspective(400px) rotateY(0deg);
1788
+ -ms-transform: perspective(400px) rotateY(0deg);
1789
+ transform: perspective(400px) rotateY(0deg);
1790
+ opacity: 1;
1791
+ }
1792
+
1793
+ 100% {
1794
+ -webkit-transform: perspective(400px) rotateY(90deg);
1795
+ -ms-transform: perspective(400px) rotateY(90deg);
1796
+ transform: perspective(400px) rotateY(90deg);
1797
+ opacity: 0;
1798
+ }
1799
+ }
1800
+
1801
+ .flipOutY {
1802
+ -webkit-backface-visibility: visible !important;
1803
+ -ms-backface-visibility: visible !important;
1804
+ backface-visibility: visible !important;
1805
+ -webkit-animation-name: flipOutY;
1806
+ animation-name: flipOutY;
1807
+ }
1808
+
1809
+ @-webkit-keyframes lightSpeedIn {
1810
+ 0% {
1811
+ -webkit-transform: translateX(100%) skewX(-30deg);
1812
+ transform: translateX(100%) skewX(-30deg);
1813
+ opacity: 0;
1814
+ }
1815
+
1816
+ 60% {
1817
+ -webkit-transform: translateX(-20%) skewX(30deg);
1818
+ transform: translateX(-20%) skewX(30deg);
1819
+ opacity: 1;
1820
+ }
1821
+
1822
+ 80% {
1823
+ -webkit-transform: translateX(0%) skewX(-15deg);
1824
+ transform: translateX(0%) skewX(-15deg);
1825
+ opacity: 1;
1826
+ }
1827
+
1828
+ 100% {
1829
+ -webkit-transform: translateX(0%) skewX(0deg);
1830
+ transform: translateX(0%) skewX(0deg);
1831
+ opacity: 1;
1832
+ }
1833
+ }
1834
+
1835
+ @keyframes lightSpeedIn {
1836
+ 0% {
1837
+ -webkit-transform: translateX(100%) skewX(-30deg);
1838
+ -ms-transform: translateX(100%) skewX(-30deg);
1839
+ transform: translateX(100%) skewX(-30deg);
1840
+ opacity: 0;
1841
+ }
1842
+
1843
+ 60% {
1844
+ -webkit-transform: translateX(-20%) skewX(30deg);
1845
+ -ms-transform: translateX(-20%) skewX(30deg);
1846
+ transform: translateX(-20%) skewX(30deg);
1847
+ opacity: 1;
1848
+ }
1849
+
1850
+ 80% {
1851
+ -webkit-transform: translateX(0%) skewX(-15deg);
1852
+ -ms-transform: translateX(0%) skewX(-15deg);
1853
+ transform: translateX(0%) skewX(-15deg);
1854
+ opacity: 1;
1855
+ }
1856
+
1857
+ 100% {
1858
+ -webkit-transform: translateX(0%) skewX(0deg);
1859
+ -ms-transform: translateX(0%) skewX(0deg);
1860
+ transform: translateX(0%) skewX(0deg);
1861
+ opacity: 1;
1862
+ }
1863
+ }
1864
+
1865
+ .lightSpeedIn {
1866
+ -webkit-animation-name: lightSpeedIn;
1867
+ animation-name: lightSpeedIn;
1868
+ -webkit-animation-timing-function: ease-out;
1869
+ animation-timing-function: ease-out;
1870
+ }
1871
+
1872
+ @-webkit-keyframes lightSpeedOut {
1873
+ 0% {
1874
+ -webkit-transform: translateX(0%) skewX(0deg);
1875
+ transform: translateX(0%) skewX(0deg);
1876
+ opacity: 1;
1877
+ }
1878
+
1879
+ 100% {
1880
+ -webkit-transform: translateX(100%) skewX(-30deg);
1881
+ transform: translateX(100%) skewX(-30deg);
1882
+ opacity: 0;
1883
+ }
1884
+ }
1885
+
1886
+ @keyframes lightSpeedOut {
1887
+ 0% {
1888
+ -webkit-transform: translateX(0%) skewX(0deg);
1889
+ -ms-transform: translateX(0%) skewX(0deg);
1890
+ transform: translateX(0%) skewX(0deg);
1891
+ opacity: 1;
1892
+ }
1893
+
1894
+ 100% {
1895
+ -webkit-transform: translateX(100%) skewX(-30deg);
1896
+ -ms-transform: translateX(100%) skewX(-30deg);
1897
+ transform: translateX(100%) skewX(-30deg);
1898
+ opacity: 0;
1899
+ }
1900
+ }
1901
+
1902
+ .lightSpeedOut {
1903
+ -webkit-animation-name: lightSpeedOut;
1904
+ animation-name: lightSpeedOut;
1905
+ -webkit-animation-timing-function: ease-in;
1906
+ animation-timing-function: ease-in;
1907
+ }
1908
+
1909
+ @-webkit-keyframes rotateIn {
1910
+ 0% {
1911
+ -webkit-transform-origin: center center;
1912
+ transform-origin: center center;
1913
+ -webkit-transform: rotate(-200deg);
1914
+ transform: rotate(-200deg);
1915
+ opacity: 0;
1916
+ }
1917
+
1918
+ 100% {
1919
+ -webkit-transform-origin: center center;
1920
+ transform-origin: center center;
1921
+ -webkit-transform: rotate(0);
1922
+ transform: rotate(0);
1923
+ opacity: 1;
1924
+ }
1925
+ }
1926
+
1927
+ @keyframes rotateIn {
1928
+ 0% {
1929
+ -webkit-transform-origin: center center;
1930
+ -ms-transform-origin: center center;
1931
+ transform-origin: center center;
1932
+ -webkit-transform: rotate(-200deg);
1933
+ -ms-transform: rotate(-200deg);
1934
+ transform: rotate(-200deg);
1935
+ opacity: 0;
1936
+ }
1937
+
1938
+ 100% {
1939
+ -webkit-transform-origin: center center;
1940
+ -ms-transform-origin: center center;
1941
+ transform-origin: center center;
1942
+ -webkit-transform: rotate(0);
1943
+ -ms-transform: rotate(0);
1944
+ transform: rotate(0);
1945
+ opacity: 1;
1946
+ }
1947
+ }
1948
+
1949
+ .rotateIn {
1950
+ -webkit-animation-name: rotateIn;
1951
+ animation-name: rotateIn;
1952
+ }
1953
+
1954
+ @-webkit-keyframes rotateInDownLeft {
1955
+ 0% {
1956
+ -webkit-transform-origin: left bottom;
1957
+ transform-origin: left bottom;
1958
+ -webkit-transform: rotate(-90deg);
1959
+ transform: rotate(-90deg);
1960
+ opacity: 0;
1961
+ }
1962
+
1963
+ 100% {
1964
+ -webkit-transform-origin: left bottom;
1965
+ transform-origin: left bottom;
1966
+ -webkit-transform: rotate(0);
1967
+ transform: rotate(0);
1968
+ opacity: 1;
1969
+ }
1970
+ }
1971
+
1972
+ @keyframes rotateInDownLeft {
1973
+ 0% {
1974
+ -webkit-transform-origin: left bottom;
1975
+ -ms-transform-origin: left bottom;
1976
+ transform-origin: left bottom;
1977
+ -webkit-transform: rotate(-90deg);
1978
+ -ms-transform: rotate(-90deg);
1979
+ transform: rotate(-90deg);
1980
+ opacity: 0;
1981
+ }
1982
+
1983
+ 100% {
1984
+ -webkit-transform-origin: left bottom;
1985
+ -ms-transform-origin: left bottom;
1986
+ transform-origin: left bottom;
1987
+ -webkit-transform: rotate(0);
1988
+ -ms-transform: rotate(0);
1989
+ transform: rotate(0);
1990
+ opacity: 1;
1991
+ }
1992
+ }
1993
+
1994
+ .rotateInDownLeft {
1995
+ -webkit-animation-name: rotateInDownLeft;
1996
+ animation-name: rotateInDownLeft;
1997
+ }
1998
+
1999
+ @-webkit-keyframes rotateInDownRight {
2000
+ 0% {
2001
+ -webkit-transform-origin: right bottom;
2002
+ transform-origin: right bottom;
2003
+ -webkit-transform: rotate(90deg);
2004
+ transform: rotate(90deg);
2005
+ opacity: 0;
2006
+ }
2007
+
2008
+ 100% {
2009
+ -webkit-transform-origin: right bottom;
2010
+ transform-origin: right bottom;
2011
+ -webkit-transform: rotate(0);
2012
+ transform: rotate(0);
2013
+ opacity: 1;
2014
+ }
2015
+ }
2016
+
2017
+ @keyframes rotateInDownRight {
2018
+ 0% {
2019
+ -webkit-transform-origin: right bottom;
2020
+ -ms-transform-origin: right bottom;
2021
+ transform-origin: right bottom;
2022
+ -webkit-transform: rotate(90deg);
2023
+ -ms-transform: rotate(90deg);
2024
+ transform: rotate(90deg);
2025
+ opacity: 0;
2026
+ }
2027
+
2028
+ 100% {
2029
+ -webkit-transform-origin: right bottom;
2030
+ -ms-transform-origin: right bottom;
2031
+ transform-origin: right bottom;
2032
+ -webkit-transform: rotate(0);
2033
+ -ms-transform: rotate(0);
2034
+ transform: rotate(0);
2035
+ opacity: 1;
2036
+ }
2037
+ }
2038
+
2039
+ .rotateInDownRight {
2040
+ -webkit-animation-name: rotateInDownRight;
2041
+ animation-name: rotateInDownRight;
2042
+ }
2043
+
2044
+ @-webkit-keyframes rotateInUpLeft {
2045
+ 0% {
2046
+ -webkit-transform-origin: left bottom;
2047
+ transform-origin: left bottom;
2048
+ -webkit-transform: rotate(90deg);
2049
+ transform: rotate(90deg);
2050
+ opacity: 0;
2051
+ }
2052
+
2053
+ 100% {
2054
+ -webkit-transform-origin: left bottom;
2055
+ transform-origin: left bottom;
2056
+ -webkit-transform: rotate(0);
2057
+ transform: rotate(0);
2058
+ opacity: 1;
2059
+ }
2060
+ }
2061
+
2062
+ @keyframes rotateInUpLeft {
2063
+ 0% {
2064
+ -webkit-transform-origin: left bottom;
2065
+ -ms-transform-origin: left bottom;
2066
+ transform-origin: left bottom;
2067
+ -webkit-transform: rotate(90deg);
2068
+ -ms-transform: rotate(90deg);
2069
+ transform: rotate(90deg);
2070
+ opacity: 0;
2071
+ }
2072
+
2073
+ 100% {
2074
+ -webkit-transform-origin: left bottom;
2075
+ -ms-transform-origin: left bottom;
2076
+ transform-origin: left bottom;
2077
+ -webkit-transform: rotate(0);
2078
+ -ms-transform: rotate(0);
2079
+ transform: rotate(0);
2080
+ opacity: 1;
2081
+ }
2082
+ }
2083
+
2084
+ .rotateInUpLeft {
2085
+ -webkit-animation-name: rotateInUpLeft;
2086
+ animation-name: rotateInUpLeft;
2087
+ }
2088
+
2089
+ @-webkit-keyframes rotateInUpRight {
2090
+ 0% {
2091
+ -webkit-transform-origin: right bottom;
2092
+ transform-origin: right bottom;
2093
+ -webkit-transform: rotate(-90deg);
2094
+ transform: rotate(-90deg);
2095
+ opacity: 0;
2096
+ }
2097
+
2098
+ 100% {
2099
+ -webkit-transform-origin: right bottom;
2100
+ transform-origin: right bottom;
2101
+ -webkit-transform: rotate(0);
2102
+ transform: rotate(0);
2103
+ opacity: 1;
2104
+ }
2105
+ }
2106
+
2107
+ @keyframes rotateInUpRight {
2108
+ 0% {
2109
+ -webkit-transform-origin: right bottom;
2110
+ -ms-transform-origin: right bottom;
2111
+ transform-origin: right bottom;
2112
+ -webkit-transform: rotate(-90deg);
2113
+ -ms-transform: rotate(-90deg);
2114
+ transform: rotate(-90deg);
2115
+ opacity: 0;
2116
+ }
2117
+
2118
+ 100% {
2119
+ -webkit-transform-origin: right bottom;
2120
+ -ms-transform-origin: right bottom;
2121
+ transform-origin: right bottom;
2122
+ -webkit-transform: rotate(0);
2123
+ -ms-transform: rotate(0);
2124
+ transform: rotate(0);
2125
+ opacity: 1;
2126
+ }
2127
+ }
2128
+
2129
+ .rotateInUpRight {
2130
+ -webkit-animation-name: rotateInUpRight;
2131
+ animation-name: rotateInUpRight;
2132
+ }
2133
+
2134
+ @-webkit-keyframes rotateOut {
2135
+ 0% {
2136
+ -webkit-transform-origin: center center;
2137
+ transform-origin: center center;
2138
+ -webkit-transform: rotate(0);
2139
+ transform: rotate(0);
2140
+ opacity: 1;
2141
+ }
2142
+
2143
+ 100% {
2144
+ -webkit-transform-origin: center center;
2145
+ transform-origin: center center;
2146
+ -webkit-transform: rotate(200deg);
2147
+ transform: rotate(200deg);
2148
+ opacity: 0;
2149
+ }
2150
+ }
2151
+
2152
+ @keyframes rotateOut {
2153
+ 0% {
2154
+ -webkit-transform-origin: center center;
2155
+ -ms-transform-origin: center center;
2156
+ transform-origin: center center;
2157
+ -webkit-transform: rotate(0);
2158
+ -ms-transform: rotate(0);
2159
+ transform: rotate(0);
2160
+ opacity: 1;
2161
+ }
2162
+
2163
+ 100% {
2164
+ -webkit-transform-origin: center center;
2165
+ -ms-transform-origin: center center;
2166
+ transform-origin: center center;
2167
+ -webkit-transform: rotate(200deg);
2168
+ -ms-transform: rotate(200deg);
2169
+ transform: rotate(200deg);
2170
+ opacity: 0;
2171
+ }
2172
+ }
2173
+
2174
+ .rotateOut {
2175
+ -webkit-animation-name: rotateOut;
2176
+ animation-name: rotateOut;
2177
+ }
2178
+
2179
+ @-webkit-keyframes rotateOutDownLeft {
2180
+ 0% {
2181
+ -webkit-transform-origin: left bottom;
2182
+ transform-origin: left bottom;
2183
+ -webkit-transform: rotate(0);
2184
+ transform: rotate(0);
2185
+ opacity: 1;
2186
+ }
2187
+
2188
+ 100% {
2189
+ -webkit-transform-origin: left bottom;
2190
+ transform-origin: left bottom;
2191
+ -webkit-transform: rotate(90deg);
2192
+ transform: rotate(90deg);
2193
+ opacity: 0;
2194
+ }
2195
+ }
2196
+
2197
+ @keyframes rotateOutDownLeft {
2198
+ 0% {
2199
+ -webkit-transform-origin: left bottom;
2200
+ -ms-transform-origin: left bottom;
2201
+ transform-origin: left bottom;
2202
+ -webkit-transform: rotate(0);
2203
+ -ms-transform: rotate(0);
2204
+ transform: rotate(0);
2205
+ opacity: 1;
2206
+ }
2207
+
2208
+ 100% {
2209
+ -webkit-transform-origin: left bottom;
2210
+ -ms-transform-origin: left bottom;
2211
+ transform-origin: left bottom;
2212
+ -webkit-transform: rotate(90deg);
2213
+ -ms-transform: rotate(90deg);
2214
+ transform: rotate(90deg);
2215
+ opacity: 0;
2216
+ }
2217
+ }
2218
+
2219
+ .rotateOutDownLeft {
2220
+ -webkit-animation-name: rotateOutDownLeft;
2221
+ animation-name: rotateOutDownLeft;
2222
+ }
2223
+
2224
+ @-webkit-keyframes rotateOutDownRight {
2225
+ 0% {
2226
+ -webkit-transform-origin: right bottom;
2227
+ transform-origin: right bottom;
2228
+ -webkit-transform: rotate(0);
2229
+ transform: rotate(0);
2230
+ opacity: 1;
2231
+ }
2232
+
2233
+ 100% {
2234
+ -webkit-transform-origin: right bottom;
2235
+ transform-origin: right bottom;
2236
+ -webkit-transform: rotate(-90deg);
2237
+ transform: rotate(-90deg);
2238
+ opacity: 0;
2239
+ }
2240
+ }
2241
+
2242
+ @keyframes rotateOutDownRight {
2243
+ 0% {
2244
+ -webkit-transform-origin: right bottom;
2245
+ -ms-transform-origin: right bottom;
2246
+ transform-origin: right bottom;
2247
+ -webkit-transform: rotate(0);
2248
+ -ms-transform: rotate(0);
2249
+ transform: rotate(0);
2250
+ opacity: 1;
2251
+ }
2252
+
2253
+ 100% {
2254
+ -webkit-transform-origin: right bottom;
2255
+ -ms-transform-origin: right bottom;
2256
+ transform-origin: right bottom;
2257
+ -webkit-transform: rotate(-90deg);
2258
+ -ms-transform: rotate(-90deg);
2259
+ transform: rotate(-90deg);
2260
+ opacity: 0;
2261
+ }
2262
+ }
2263
+
2264
+ .rotateOutDownRight {
2265
+ -webkit-animation-name: rotateOutDownRight;
2266
+ animation-name: rotateOutDownRight;
2267
+ }
2268
+
2269
+ @-webkit-keyframes rotateOutUpLeft {
2270
+ 0% {
2271
+ -webkit-transform-origin: left bottom;
2272
+ transform-origin: left bottom;
2273
+ -webkit-transform: rotate(0);
2274
+ transform: rotate(0);
2275
+ opacity: 1;
2276
+ }
2277
+
2278
+ 100% {
2279
+ -transform-origin: left bottom;
2280
+ -transform: rotate(-90deg);
2281
+ opacity: 0;
2282
+ }
2283
+ }
2284
+
2285
+ @keyframes rotateOutUpLeft {
2286
+ 0% {
2287
+ -webkit-transform-origin: left bottom;
2288
+ -ms-transform-origin: left bottom;
2289
+ transform-origin: left bottom;
2290
+ -webkit-transform: rotate(0);
2291
+ -ms-transform: rotate(0);
2292
+ transform: rotate(0);
2293
+ opacity: 1;
2294
+ }
2295
+
2296
+ 100% {
2297
+ -transform-origin: left bottom;
2298
+ -transform: rotate(-90deg);
2299
+ opacity: 0;
2300
+ }
2301
+ }
2302
+
2303
+ .rotateOutUpLeft {
2304
+ -webkit-animation-name: rotateOutUpLeft;
2305
+ animation-name: rotateOutUpLeft;
2306
+ }
2307
+
2308
+ @-webkit-keyframes rotateOutUpRight {
2309
+ 0% {
2310
+ -webkit-transform-origin: right bottom;
2311
+ transform-origin: right bottom;
2312
+ -webkit-transform: rotate(0);
2313
+ transform: rotate(0);
2314
+ opacity: 1;
2315
+ }
2316
+
2317
+ 100% {
2318
+ -webkit-transform-origin: right bottom;
2319
+ transform-origin: right bottom;
2320
+ -webkit-transform: rotate(90deg);
2321
+ transform: rotate(90deg);
2322
+ opacity: 0;
2323
+ }
2324
+ }
2325
+
2326
+ @keyframes rotateOutUpRight {
2327
+ 0% {
2328
+ -webkit-transform-origin: right bottom;
2329
+ -ms-transform-origin: right bottom;
2330
+ transform-origin: right bottom;
2331
+ -webkit-transform: rotate(0);
2332
+ -ms-transform: rotate(0);
2333
+ transform: rotate(0);
2334
+ opacity: 1;
2335
+ }
2336
+
2337
+ 100% {
2338
+ -webkit-transform-origin: right bottom;
2339
+ -ms-transform-origin: right bottom;
2340
+ transform-origin: right bottom;
2341
+ -webkit-transform: rotate(90deg);
2342
+ -ms-transform: rotate(90deg);
2343
+ transform: rotate(90deg);
2344
+ opacity: 0;
2345
+ }
2346
+ }
2347
+
2348
+ .rotateOutUpRight {
2349
+ -webkit-animation-name: rotateOutUpRight;
2350
+ animation-name: rotateOutUpRight;
2351
+ }
2352
+
2353
+ @-webkit-keyframes slideInDown {
2354
+ 0% {
2355
+ opacity: 0;
2356
+ -webkit-transform: translateY(-2000px);
2357
+ transform: translateY(-2000px);
2358
+ }
2359
+
2360
+ 100% {
2361
+ -webkit-transform: translateY(0);
2362
+ transform: translateY(0);
2363
+ }
2364
+ }
2365
+
2366
+ @keyframes slideInDown {
2367
+ 0% {
2368
+ opacity: 0;
2369
+ -webkit-transform: translateY(-2000px);
2370
+ -ms-transform: translateY(-2000px);
2371
+ transform: translateY(-2000px);
2372
+ }
2373
+
2374
+ 100% {
2375
+ -webkit-transform: translateY(0);
2376
+ -ms-transform: translateY(0);
2377
+ transform: translateY(0);
2378
+ }
2379
+ }
2380
+
2381
+ .slideInDown {
2382
+ -webkit-animation-name: slideInDown;
2383
+ animation-name: slideInDown;
2384
+ }
2385
+
2386
+ @-webkit-keyframes slideInLeft {
2387
+ 0% {
2388
+ opacity: 0;
2389
+ -webkit-transform: translateX(-2000px);
2390
+ transform: translateX(-2000px);
2391
+ }
2392
+
2393
+ 100% {
2394
+ -webkit-transform: translateX(0);
2395
+ transform: translateX(0);
2396
+ }
2397
+ }
2398
+
2399
+ @keyframes slideInLeft {
2400
+ 0% {
2401
+ opacity: 0;
2402
+ -webkit-transform: translateX(-2000px);
2403
+ -ms-transform: translateX(-2000px);
2404
+ transform: translateX(-2000px);
2405
+ }
2406
+
2407
+ 100% {
2408
+ -webkit-transform: translateX(0);
2409
+ -ms-transform: translateX(0);
2410
+ transform: translateX(0);
2411
+ }
2412
+ }
2413
+
2414
+ .slideInLeft {
2415
+ -webkit-animation-name: slideInLeft;
2416
+ animation-name: slideInLeft;
2417
+ }
2418
+
2419
+ @-webkit-keyframes slideInRight {
2420
+ 0% {
2421
+ opacity: 0;
2422
+ -webkit-transform: translateX(2000px);
2423
+ transform: translateX(2000px);
2424
+ }
2425
+
2426
+ 100% {
2427
+ -webkit-transform: translateX(0);
2428
+ transform: translateX(0);
2429
+ }
2430
+ }
2431
+
2432
+ @keyframes slideInRight {
2433
+ 0% {
2434
+ opacity: 0;
2435
+ -webkit-transform: translateX(2000px);
2436
+ -ms-transform: translateX(2000px);
2437
+ transform: translateX(2000px);
2438
+ }
2439
+
2440
+ 100% {
2441
+ -webkit-transform: translateX(0);
2442
+ -ms-transform: translateX(0);
2443
+ transform: translateX(0);
2444
+ }
2445
+ }
2446
+
2447
+ .slideInRight {
2448
+ -webkit-animation-name: slideInRight;
2449
+ animation-name: slideInRight;
2450
+ }
2451
+
2452
+ @-webkit-keyframes slideOutLeft {
2453
+ 0% {
2454
+ -webkit-transform: translateX(0);
2455
+ transform: translateX(0);
2456
+ }
2457
+
2458
+ 100% {
2459
+ opacity: 0;
2460
+ -webkit-transform: translateX(-2000px);
2461
+ transform: translateX(-2000px);
2462
+ }
2463
+ }
2464
+
2465
+ @keyframes slideOutLeft {
2466
+ 0% {
2467
+ -webkit-transform: translateX(0);
2468
+ -ms-transform: translateX(0);
2469
+ transform: translateX(0);
2470
+ }
2471
+
2472
+ 100% {
2473
+ opacity: 0;
2474
+ -webkit-transform: translateX(-2000px);
2475
+ -ms-transform: translateX(-2000px);
2476
+ transform: translateX(-2000px);
2477
+ }
2478
+ }
2479
+
2480
+ .slideOutLeft {
2481
+ -webkit-animation-name: slideOutLeft;
2482
+ animation-name: slideOutLeft;
2483
+ }
2484
+
2485
+ @-webkit-keyframes slideOutRight {
2486
+ 0% {
2487
+ -webkit-transform: translateX(0);
2488
+ transform: translateX(0);
2489
+ }
2490
+
2491
+ 100% {
2492
+ opacity: 0;
2493
+ -webkit-transform: translateX(2000px);
2494
+ transform: translateX(2000px);
2495
+ }
2496
+ }
2497
+
2498
+ @keyframes slideOutRight {
2499
+ 0% {
2500
+ -webkit-transform: translateX(0);
2501
+ -ms-transform: translateX(0);
2502
+ transform: translateX(0);
2503
+ }
2504
+
2505
+ 100% {
2506
+ opacity: 0;
2507
+ -webkit-transform: translateX(2000px);
2508
+ -ms-transform: translateX(2000px);
2509
+ transform: translateX(2000px);
2510
+ }
2511
+ }
2512
+
2513
+ .slideOutRight {
2514
+ -webkit-animation-name: slideOutRight;
2515
+ animation-name: slideOutRight;
2516
+ }
2517
+
2518
+ @-webkit-keyframes slideOutUp {
2519
+ 0% {
2520
+ -webkit-transform: translateY(0);
2521
+ transform: translateY(0);
2522
+ }
2523
+
2524
+ 100% {
2525
+ opacity: 0;
2526
+ -webkit-transform: translateY(-2000px);
2527
+ transform: translateY(-2000px);
2528
+ }
2529
+ }
2530
+
2531
+ @keyframes slideOutUp {
2532
+ 0% {
2533
+ -webkit-transform: translateY(0);
2534
+ -ms-transform: translateY(0);
2535
+ transform: translateY(0);
2536
+ }
2537
+
2538
+ 100% {
2539
+ opacity: 0;
2540
+ -webkit-transform: translateY(-2000px);
2541
+ -ms-transform: translateY(-2000px);
2542
+ transform: translateY(-2000px);
2543
+ }
2544
+ }
2545
+
2546
+ .slideOutUp {
2547
+ -webkit-animation-name: slideOutUp;
2548
+ animation-name: slideOutUp;
2549
+ }
2550
+
2551
+ @-webkit-keyframes hinge {
2552
+ 0% {
2553
+ -webkit-transform: rotate(0);
2554
+ transform: rotate(0);
2555
+ -webkit-transform-origin: top left;
2556
+ transform-origin: top left;
2557
+ -webkit-animation-timing-function: ease-in-out;
2558
+ animation-timing-function: ease-in-out;
2559
+ }
2560
+
2561
+ 20%, 60% {
2562
+ -webkit-transform: rotate(80deg);
2563
+ transform: rotate(80deg);
2564
+ -webkit-transform-origin: top left;
2565
+ transform-origin: top left;
2566
+ -webkit-animation-timing-function: ease-in-out;
2567
+ animation-timing-function: ease-in-out;
2568
+ }
2569
+
2570
+ 40% {
2571
+ -webkit-transform: rotate(60deg);
2572
+ transform: rotate(60deg);
2573
+ -webkit-transform-origin: top left;
2574
+ transform-origin: top left;
2575
+ -webkit-animation-timing-function: ease-in-out;
2576
+ animation-timing-function: ease-in-out;
2577
+ }
2578
+
2579
+ 80% {
2580
+ -webkit-transform: rotate(60deg) translateY(0);
2581
+ transform: rotate(60deg) translateY(0);
2582
+ opacity: 1;
2583
+ -webkit-transform-origin: top left;
2584
+ transform-origin: top left;
2585
+ -webkit-animation-timing-function: ease-in-out;
2586
+ animation-timing-function: ease-in-out;
2587
+ }
2588
+
2589
+ 100% {
2590
+ -webkit-transform: translateY(700px);
2591
+ transform: translateY(700px);
2592
+ opacity: 0;
2593
+ }
2594
+ }
2595
+
2596
+ @keyframes hinge {
2597
+ 0% {
2598
+ -webkit-transform: rotate(0);
2599
+ -ms-transform: rotate(0);
2600
+ transform: rotate(0);
2601
+ -webkit-transform-origin: top left;
2602
+ -ms-transform-origin: top left;
2603
+ transform-origin: top left;
2604
+ -webkit-animation-timing-function: ease-in-out;
2605
+ animation-timing-function: ease-in-out;
2606
+ }
2607
+
2608
+ 20%, 60% {
2609
+ -webkit-transform: rotate(80deg);
2610
+ -ms-transform: rotate(80deg);
2611
+ transform: rotate(80deg);
2612
+ -webkit-transform-origin: top left;
2613
+ -ms-transform-origin: top left;
2614
+ transform-origin: top left;
2615
+ -webkit-animation-timing-function: ease-in-out;
2616
+ animation-timing-function: ease-in-out;
2617
+ }
2618
+
2619
+ 40% {
2620
+ -webkit-transform: rotate(60deg);
2621
+ -ms-transform: rotate(60deg);
2622
+ transform: rotate(60deg);
2623
+ -webkit-transform-origin: top left;
2624
+ -ms-transform-origin: top left;
2625
+ transform-origin: top left;
2626
+ -webkit-animation-timing-function: ease-in-out;
2627
+ animation-timing-function: ease-in-out;
2628
+ }
2629
+
2630
+ 80% {
2631
+ -webkit-transform: rotate(60deg) translateY(0);
2632
+ -ms-transform: rotate(60deg) translateY(0);
2633
+ transform: rotate(60deg) translateY(0);
2634
+ opacity: 1;
2635
+ -webkit-transform-origin: top left;
2636
+ -ms-transform-origin: top left;
2637
+ transform-origin: top left;
2638
+ -webkit-animation-timing-function: ease-in-out;
2639
+ animation-timing-function: ease-in-out;
2640
+ }
2641
+
2642
+ 100% {
2643
+ -webkit-transform: translateY(700px);
2644
+ -ms-transform: translateY(700px);
2645
+ transform: translateY(700px);
2646
+ opacity: 0;
2647
+ }
2648
+ }
2649
+
2650
+ .hinge {
2651
+ -webkit-animation-name: hinge;
2652
+ animation-name: hinge;
2653
+ }
2654
+
2655
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2656
+
2657
+ @-webkit-keyframes rollIn {
2658
+ 0% {
2659
+ opacity: 0;
2660
+ -webkit-transform: translateX(-100%) rotate(-120deg);
2661
+ transform: translateX(-100%) rotate(-120deg);
2662
+ }
2663
+
2664
+ 100% {
2665
+ opacity: 1;
2666
+ -webkit-transform: translateX(0px) rotate(0deg);
2667
+ transform: translateX(0px) rotate(0deg);
2668
+ }
2669
+ }
2670
+
2671
+ @keyframes rollIn {
2672
+ 0% {
2673
+ opacity: 0;
2674
+ -webkit-transform: translateX(-100%) rotate(-120deg);
2675
+ -ms-transform: translateX(-100%) rotate(-120deg);
2676
+ transform: translateX(-100%) rotate(-120deg);
2677
+ }
2678
+
2679
+ 100% {
2680
+ opacity: 1;
2681
+ -webkit-transform: translateX(0px) rotate(0deg);
2682
+ -ms-transform: translateX(0px) rotate(0deg);
2683
+ transform: translateX(0px) rotate(0deg);
2684
+ }
2685
+ }
2686
+
2687
+ .rollIn {
2688
+ -webkit-animation-name: rollIn;
2689
+ animation-name: rollIn;
2690
+ }
2691
+
2692
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2693
+
2694
+ @-webkit-keyframes rollOut {
2695
+ 0% {
2696
+ opacity: 1;
2697
+ -webkit-transform: translateX(0px) rotate(0deg);
2698
+ transform: translateX(0px) rotate(0deg);
2699
+ }
2700
+
2701
+ 100% {
2702
+ opacity: 0;
2703
+ -webkit-transform: translateX(100%) rotate(120deg);
2704
+ transform: translateX(100%) rotate(120deg);
2705
+ }
2706
+ }
2707
+
2708
+ @keyframes rollOut {
2709
+ 0% {
2710
+ opacity: 1;
2711
+ -webkit-transform: translateX(0px) rotate(0deg);
2712
+ -ms-transform: translateX(0px) rotate(0deg);
2713
+ transform: translateX(0px) rotate(0deg);
2714
+ }
2715
+
2716
+ 100% {
2717
+ opacity: 0;
2718
+ -webkit-transform: translateX(100%) rotate(120deg);
2719
+ -ms-transform: translateX(100%) rotate(120deg);
2720
+ transform: translateX(100%) rotate(120deg);
2721
+ }
2722
+ }
2723
+
2724
+ .rollOut {
2725
+ -webkit-animation-name: rollOut;
2726
+ animation-name: rollOut;
2727
+ }
2728
+
2729
+
2730
+ @keyframes swing {
2731
+ 20% {
2732
+ -webkit-transform: rotate3d(0, 0, 1, 15deg);
2733
+ transform: rotate3d(0, 0, 1, 15deg);
2734
+ }
2735
+
2736
+ 40% {
2737
+ -webkit-transform: rotate3d(0, 0, 1, -10deg);
2738
+ transform: rotate3d(0, 0, 1, -10deg);
2739
+ }
2740
+
2741
+ 60% {
2742
+ -webkit-transform: rotate3d(0, 0, 1, 5deg);
2743
+ transform: rotate3d(0, 0, 1, 5deg);
2744
+ }
2745
+
2746
+ 80% {
2747
+ -webkit-transform: rotate3d(0, 0, 1, -5deg);
2748
+ transform: rotate3d(0, 0, 1, -5deg);
2749
+ }
2750
+
2751
+ to {
2752
+ -webkit-transform: rotate3d(0, 0, 1, 0deg);
2753
+ transform: rotate3d(0, 0, 1, 0deg);
2754
+ }
2755
+ }
2756
+
2757
+ .swing {
2758
+ -webkit-transform-origin: top center;
2759
+ transform-origin: top center;
2760
+ -webkit-animation-name: swing;
2761
+ animation-name: swing;
2762
+ }
2763
+
2764
+ @-webkit-keyframes tada {
2765
+ from {
2766
+ -webkit-transform: scale3d(1, 1, 1);
2767
+ transform: scale3d(1, 1, 1);
2768
+ }
2769
+
2770
+ 10%, 20% {
2771
+ -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
2772
+ transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
2773
+ }
2774
+
2775
+ 30%, 50%, 70%, 90% {
2776
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
2777
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
2778
+ }
2779
+
2780
+ 40%, 60%, 80% {
2781
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
2782
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
2783
+ }
2784
+
2785
+ to {
2786
+ -webkit-transform: scale3d(1, 1, 1);
2787
+ transform: scale3d(1, 1, 1);
2788
+ }
2789
+ }
2790
+
2791
+ @keyframes tada {
2792
+ from {
2793
+ -webkit-transform: scale3d(1, 1, 1);
2794
+ transform: scale3d(1, 1, 1);
2795
+ }
2796
+
2797
+ 10%, 20% {
2798
+ -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
2799
+ transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
2800
+ }
2801
+
2802
+ 30%, 50%, 70%, 90% {
2803
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
2804
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
2805
+ }
2806
+
2807
+ 40%, 60%, 80% {
2808
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
2809
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
2810
+ }
2811
+
2812
+ to {
2813
+ -webkit-transform: scale3d(1, 1, 1);
2814
+ transform: scale3d(1, 1, 1);
2815
+ }
2816
+ }
2817
+
2818
+ .tada {
2819
+ -webkit-animation-name: tada;
2820
+ animation-name: tada;
2821
+ }
2822
+
2823
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2824
+
2825
+ @-webkit-keyframes wobble {
2826
+ from {
2827
+ -webkit-transform: none;
2828
+ transform: none;
2829
+ }
2830
+
2831
+ 15% {
2832
+ -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
2833
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
2834
+ }
2835
+
2836
+ 30% {
2837
+ -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
2838
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
2839
+ }
2840
+
2841
+ 45% {
2842
+ -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
2843
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
2844
+ }
2845
+
2846
+ 60% {
2847
+ -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
2848
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
2849
+ }
2850
+
2851
+ 75% {
2852
+ -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
2853
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
2854
+ }
2855
+
2856
+ to {
2857
+ -webkit-transform: none;
2858
+ transform: none;
2859
+ }
2860
+ }
2861
+
2862
+ @keyframes wobble {
2863
+ from {
2864
+ -webkit-transform: none;
2865
+ transform: none;
2866
+ }
2867
+
2868
+ 15% {
2869
+ -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
2870
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
2871
+ }
2872
+
2873
+ 30% {
2874
+ -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
2875
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
2876
+ }
2877
+
2878
+ 45% {
2879
+ -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
2880
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
2881
+ }
2882
+
2883
+ 60% {
2884
+ -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
2885
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
2886
+ }
2887
+
2888
+ 75% {
2889
+ -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
2890
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
2891
+ }
2892
+
2893
+ to {
2894
+ -webkit-transform: none;
2895
+ transform: none;
2896
+ }
2897
+ }
2898
+
2899
+ .wobble {
2900
+ -webkit-animation-name: wobble;
2901
+ animation-name: wobble;
2902
+ }
2903
+
2904
+ @-webkit-keyframes jello {
2905
+ from, 11.1%, to {
2906
+ -webkit-transform: none;
2907
+ transform: none;
2908
+ }
2909
+
2910
+ 22.2% {
2911
+ -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
2912
+ transform: skewX(-12.5deg) skewY(-12.5deg);
2913
+ }
2914
+
2915
+ 33.3% {
2916
+ -webkit-transform: skewX(6.25deg) skewY(6.25deg);
2917
+ transform: skewX(6.25deg) skewY(6.25deg);
2918
+ }
2919
+
2920
+ 44.4% {
2921
+ -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
2922
+ transform: skewX(-3.125deg) skewY(-3.125deg);
2923
+ }
2924
+
2925
+ 55.5% {
2926
+ -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
2927
+ transform: skewX(1.5625deg) skewY(1.5625deg);
2928
+ }
2929
+
2930
+ 66.6% {
2931
+ -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
2932
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
2933
+ }
2934
+
2935
+ 77.7% {
2936
+ -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
2937
+ transform: skewX(0.390625deg) skewY(0.390625deg);
2938
+ }
2939
+
2940
+ 88.8% {
2941
+ -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
2942
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
2943
+ }
2944
+ }
2945
+
2946
+ @keyframes jello {
2947
+ from, 11.1%, to {
2948
+ -webkit-transform: none;
2949
+ transform: none;
2950
+ }
2951
+
2952
+ 22.2% {
2953
+ -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
2954
+ transform: skewX(-12.5deg) skewY(-12.5deg);
2955
+ }
2956
+
2957
+ 33.3% {
2958
+ -webkit-transform: skewX(6.25deg) skewY(6.25deg);
2959
+ transform: skewX(6.25deg) skewY(6.25deg);
2960
+ }
2961
+
2962
+ 44.4% {
2963
+ -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
2964
+ transform: skewX(-3.125deg) skewY(-3.125deg);
2965
+ }
2966
+
2967
+ 55.5% {
2968
+ -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
2969
+ transform: skewX(1.5625deg) skewY(1.5625deg);
2970
+ }
2971
+
2972
+ 66.6% {
2973
+ -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
2974
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
2975
+ }
2976
+
2977
+ 77.7% {
2978
+ -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
2979
+ transform: skewX(0.390625deg) skewY(0.390625deg);
2980
+ }
2981
+
2982
+ 88.8% {
2983
+ -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
2984
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
2985
+ }
2986
+ }
2987
+
2988
+ .jello {
2989
+ -webkit-animation-name: jello;
2990
+ animation-name: jello;
2991
+ -webkit-transform-origin: center;
2992
+ transform-origin: center;
2993
+ }
2994
+
2995
+
2996
+ @-webkit-keyframes zoomIn {
2997
+ from {
2998
+ opacity: 0;
2999
+ -webkit-transform: scale3d(.3, .3, .3);
3000
+ transform: scale3d(.3, .3, .3);
3001
+ }
3002
+
3003
+ 50% {
3004
+ opacity: 1;
3005
+ }
3006
+ }
3007
+
3008
+ @keyframes zoomIn {
3009
+ from {
3010
+ opacity: 0;
3011
+ -webkit-transform: scale3d(.3, .3, .3);
3012
+ transform: scale3d(.3, .3, .3);
3013
+ }
3014
+
3015
+ 50% {
3016
+ opacity: 1;
3017
+ }
3018
+ }
3019
+
3020
+ .zoomIn {
3021
+ -webkit-animation-name: zoomIn;
3022
+ animation-name: zoomIn;
3023
+ }
3024
+
3025
+ @-webkit-keyframes zoomInDown {
3026
+ from {
3027
+ opacity: 0;
3028
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
3029
+ transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
3030
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3031
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3032
+ }
3033
+
3034
+ 60% {
3035
+ opacity: 1;
3036
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3037
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3038
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3039
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3040
+ }
3041
+ }
3042
+
3043
+ @keyframes zoomInDown {
3044
+ from {
3045
+ opacity: 0;
3046
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
3047
+ transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
3048
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3049
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3050
+ }
3051
+
3052
+ 60% {
3053
+ opacity: 1;
3054
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3055
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3056
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3057
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3058
+ }
3059
+ }
3060
+
3061
+ .zoomInDown {
3062
+ -webkit-animation-name: zoomInDown;
3063
+ animation-name: zoomInDown;
3064
+ }
3065
+
3066
+ @-webkit-keyframes zoomInLeft {
3067
+ from {
3068
+ opacity: 0;
3069
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
3070
+ transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
3071
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3072
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3073
+ }
3074
+
3075
+ 60% {
3076
+ opacity: 1;
3077
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
3078
+ transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
3079
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3080
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3081
+ }
3082
+ }
3083
+
3084
+ @keyframes zoomInLeft {
3085
+ from {
3086
+ opacity: 0;
3087
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
3088
+ transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
3089
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3090
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3091
+ }
3092
+
3093
+ 60% {
3094
+ opacity: 1;
3095
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
3096
+ transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
3097
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3098
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3099
+ }
3100
+ }
3101
+
3102
+ .zoomInLeft {
3103
+ -webkit-animation-name: zoomInLeft;
3104
+ animation-name: zoomInLeft;
3105
+ }
3106
+
3107
+ @-webkit-keyframes zoomInRight {
3108
+ from {
3109
+ opacity: 0;
3110
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
3111
+ transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
3112
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3113
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3114
+ }
3115
+
3116
+ 60% {
3117
+ opacity: 1;
3118
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
3119
+ transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
3120
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3121
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3122
+ }
3123
+ }
3124
+
3125
+ @keyframes zoomInRight {
3126
+ from {
3127
+ opacity: 0;
3128
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
3129
+ transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
3130
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3131
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3132
+ }
3133
+
3134
+ 60% {
3135
+ opacity: 1;
3136
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
3137
+ transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
3138
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3139
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3140
+ }
3141
+ }
3142
+
3143
+ .zoomInRight {
3144
+ -webkit-animation-name: zoomInRight;
3145
+ animation-name: zoomInRight;
3146
+ }
3147
+
3148
+ @-webkit-keyframes zoomInUp {
3149
+ from {
3150
+ opacity: 0;
3151
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
3152
+ transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
3153
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3154
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3155
+ }
3156
+
3157
+ 60% {
3158
+ opacity: 1;
3159
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
3160
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
3161
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3162
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3163
+ }
3164
+ }
3165
+
3166
+ @keyframes zoomInUp {
3167
+ from {
3168
+ opacity: 0;
3169
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
3170
+ transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
3171
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3172
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3173
+ }
3174
+
3175
+ 60% {
3176
+ opacity: 1;
3177
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
3178
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
3179
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3180
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3181
+ }
3182
+ }
3183
+
3184
+ .zoomInUp {
3185
+ -webkit-animation-name: zoomInUp;
3186
+ animation-name: zoomInUp;
3187
+ }
3188
+
3189
+ @-webkit-keyframes zoomOut {
3190
+ from {
3191
+ opacity: 1;
3192
+ }
3193
+
3194
+ 50% {
3195
+ opacity: 0;
3196
+ -webkit-transform: scale3d(.3, .3, .3);
3197
+ transform: scale3d(.3, .3, .3);
3198
+ }
3199
+
3200
+ to {
3201
+ opacity: 0;
3202
+ }
3203
+ }
3204
+
3205
+ @keyframes zoomOut {
3206
+ from {
3207
+ opacity: 1;
3208
+ }
3209
+
3210
+ 50% {
3211
+ opacity: 0;
3212
+ -webkit-transform: scale3d(.3, .3, .3);
3213
+ transform: scale3d(.3, .3, .3);
3214
+ }
3215
+
3216
+ to {
3217
+ opacity: 0;
3218
+ }
3219
+ }
3220
+
3221
+ .zoomOut {
3222
+ -webkit-animation-name: zoomOut;
3223
+ animation-name: zoomOut;
3224
+ }
3225
+
3226
+ @-webkit-keyframes zoomOutDown {
3227
+ 40% {
3228
+ opacity: 1;
3229
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
3230
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
3231
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3232
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3233
+ }
3234
+
3235
+ to {
3236
+ opacity: 0;
3237
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
3238
+ transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
3239
+ -webkit-transform-origin: center bottom;
3240
+ transform-origin: center bottom;
3241
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3242
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3243
+ }
3244
+ }
3245
+
3246
+ @keyframes zoomOutDown {
3247
+ 40% {
3248
+ opacity: 1;
3249
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
3250
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
3251
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3252
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3253
+ }
3254
+
3255
+ to {
3256
+ opacity: 0;
3257
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
3258
+ transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
3259
+ -webkit-transform-origin: center bottom;
3260
+ transform-origin: center bottom;
3261
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3262
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3263
+ }
3264
+ }
3265
+
3266
+ .zoomOutDown {
3267
+ -webkit-animation-name: zoomOutDown;
3268
+ animation-name: zoomOutDown;
3269
+ }
3270
+
3271
+ @-webkit-keyframes zoomOutLeft {
3272
+ 40% {
3273
+ opacity: 1;
3274
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
3275
+ transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
3276
+ }
3277
+
3278
+ to {
3279
+ opacity: 0;
3280
+ -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
3281
+ transform: scale(.1) translate3d(-2000px, 0, 0);
3282
+ -webkit-transform-origin: left center;
3283
+ transform-origin: left center;
3284
+ }
3285
+ }
3286
+
3287
+ @keyframes zoomOutLeft {
3288
+ 40% {
3289
+ opacity: 1;
3290
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
3291
+ transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
3292
+ }
3293
+
3294
+ to {
3295
+ opacity: 0;
3296
+ -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
3297
+ transform: scale(.1) translate3d(-2000px, 0, 0);
3298
+ -webkit-transform-origin: left center;
3299
+ transform-origin: left center;
3300
+ }
3301
+ }
3302
+
3303
+ .zoomOutLeft {
3304
+ -webkit-animation-name: zoomOutLeft;
3305
+ animation-name: zoomOutLeft;
3306
+ }
3307
+
3308
+ @-webkit-keyframes zoomOutRight {
3309
+ 40% {
3310
+ opacity: 1;
3311
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
3312
+ transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
3313
+ }
3314
+
3315
+ to {
3316
+ opacity: 0;
3317
+ -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
3318
+ transform: scale(.1) translate3d(2000px, 0, 0);
3319
+ -webkit-transform-origin: right center;
3320
+ transform-origin: right center;
3321
+ }
3322
+ }
3323
+
3324
+ @keyframes zoomOutRight {
3325
+ 40% {
3326
+ opacity: 1;
3327
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
3328
+ transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
3329
+ }
3330
+
3331
+ to {
3332
+ opacity: 0;
3333
+ -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
3334
+ transform: scale(.1) translate3d(2000px, 0, 0);
3335
+ -webkit-transform-origin: right center;
3336
+ transform-origin: right center;
3337
+ }
3338
+ }
3339
+
3340
+ .zoomOutRight {
3341
+ -webkit-animation-name: zoomOutRight;
3342
+ animation-name: zoomOutRight;
3343
+ }
3344
+
3345
+ @-webkit-keyframes zoomOutUp {
3346
+ 40% {
3347
+ opacity: 1;
3348
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3349
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3350
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3351
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3352
+ }
3353
+
3354
+ to {
3355
+ opacity: 0;
3356
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
3357
+ transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
3358
+ -webkit-transform-origin: center bottom;
3359
+ transform-origin: center bottom;
3360
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3361
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3362
+ }
3363
+ }
3364
+
3365
+ @keyframes zoomOutUp {
3366
+ 40% {
3367
+ opacity: 1;
3368
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3369
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3370
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3371
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3372
+ }
3373
+
3374
+ to {
3375
+ opacity: 0;
3376
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
3377
+ transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
3378
+ -webkit-transform-origin: center bottom;
3379
+ transform-origin: center bottom;
3380
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3381
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3382
+ }
3383
+ }
3384
+
3385
+ .zoomOutUp {
3386
+ -webkit-animation-name: zoomOutUp;
3387
+ animation-name: zoomOutUp;
3388
+ }
3389
+
3390
+ @-webkit-keyframes slideInDown {
3391
+ from {
3392
+ -webkit-transform: translate3d(0, -100%, 0);
3393
+ transform: translate3d(0, -100%, 0);
3394
+ visibility: visible;
3395
+ }
3396
+
3397
+ to {
3398
+ -webkit-transform: translate3d(0, 0, 0);
3399
+ transform: translate3d(0, 0, 0);
3400
+ }
3401
+ }
3402
+
3403
+ @keyframes slideInDown {
3404
+ from {
3405
+ -webkit-transform: translate3d(0, -100%, 0);
3406
+ transform: translate3d(0, -100%, 0);
3407
+ visibility: visible;
3408
+ }
3409
+
3410
+ to {
3411
+ -webkit-transform: translate3d(0, 0, 0);
3412
+ transform: translate3d(0, 0, 0);
3413
+ }
3414
+ }
3415
+
3416
+ .slideInDown {
3417
+ -webkit-animation-name: slideInDown;
3418
+ animation-name: slideInDown;
3419
+ }
3420
+
3421
+ @-webkit-keyframes slideInLeft {
3422
+ from {
3423
+ -webkit-transform: translate3d(-100%, 0, 0);
3424
+ transform: translate3d(-100%, 0, 0);
3425
+ visibility: visible;
3426
+ }
3427
+
3428
+ to {
3429
+ -webkit-transform: translate3d(0, 0, 0);
3430
+ transform: translate3d(0, 0, 0);
3431
+ }
3432
+ }
3433
+
3434
+ @keyframes slideInLeft {
3435
+ from {
3436
+ -webkit-transform: translate3d(-100%, 0, 0);
3437
+ transform: translate3d(-100%, 0, 0);
3438
+ visibility: visible;
3439
+ }
3440
+
3441
+ to {
3442
+ -webkit-transform: translate3d(0, 0, 0);
3443
+ transform: translate3d(0, 0, 0);
3444
+ }
3445
+ }
3446
+
3447
+ .slideInLeft {
3448
+ -webkit-animation-name: slideInLeft;
3449
+ animation-name: slideInLeft;
3450
+ }
3451
+
3452
+ @-webkit-keyframes slideInRight {
3453
+ from {
3454
+ -webkit-transform: translate3d(100%, 0, 0);
3455
+ transform: translate3d(100%, 0, 0);
3456
+ visibility: visible;
3457
+ }
3458
+
3459
+ to {
3460
+ -webkit-transform: translate3d(0, 0, 0);
3461
+ transform: translate3d(0, 0, 0);
3462
+ }
3463
+ }
3464
+
3465
+ @keyframes slideInRight {
3466
+ from {
3467
+ -webkit-transform: translate3d(100%, 0, 0);
3468
+ transform: translate3d(100%, 0, 0);
3469
+ visibility: visible;
3470
+ }
3471
+
3472
+ to {
3473
+ -webkit-transform: translate3d(0, 0, 0);
3474
+ transform: translate3d(0, 0, 0);
3475
+ }
3476
+ }
3477
+
3478
+ .slideInRight {
3479
+ -webkit-animation-name: slideInRight;
3480
+ animation-name: slideInRight;
3481
+ }
3482
+
3483
+ @-webkit-keyframes slideInUp {
3484
+ from {
3485
+ -webkit-transform: translate3d(0, 100%, 0);
3486
+ transform: translate3d(0, 100%, 0);
3487
+ visibility: visible;
3488
+ }
3489
+
3490
+ to {
3491
+ -webkit-transform: translate3d(0, 0, 0);
3492
+ transform: translate3d(0, 0, 0);
3493
+ }
3494
+ }
3495
+
3496
+ @keyframes slideInUp {
3497
+ from {
3498
+ -webkit-transform: translate3d(0, 100%, 0);
3499
+ transform: translate3d(0, 100%, 0);
3500
+ visibility: visible;
3501
+ }
3502
+
3503
+ to {
3504
+ -webkit-transform: translate3d(0, 0, 0);
3505
+ transform: translate3d(0, 0, 0);
3506
+ }
3507
+ }
3508
+
3509
+ .slideInUp {
3510
+ -webkit-animation-name: slideInUp;
3511
+ animation-name: slideInUp;
3512
+ }
3513
+
3514
+ @-webkit-keyframes slideOutDown {
3515
+ from {
3516
+ -webkit-transform: translate3d(0, 0, 0);
3517
+ transform: translate3d(0, 0, 0);
3518
+ }
3519
+
3520
+ to {
3521
+ visibility: hidden;
3522
+ -webkit-transform: translate3d(0, 100%, 0);
3523
+ transform: translate3d(0, 100%, 0);
3524
+ }
3525
+ }
3526
+
3527
+ @keyframes slideOutDown {
3528
+ from {
3529
+ -webkit-transform: translate3d(0, 0, 0);
3530
+ transform: translate3d(0, 0, 0);
3531
+ }
3532
+
3533
+ to {
3534
+ visibility: hidden;
3535
+ -webkit-transform: translate3d(0, 100%, 0);
3536
+ transform: translate3d(0, 100%, 0);
3537
+ }
3538
+ }
3539
+
3540
+ .slideOutDown {
3541
+ -webkit-animation-name: slideOutDown;
3542
+ animation-name: slideOutDown;
3543
+ }
3544
+
3545
+ @-webkit-keyframes slideOutLeft {
3546
+ from {
3547
+ -webkit-transform: translate3d(0, 0, 0);
3548
+ transform: translate3d(0, 0, 0);
3549
+ }
3550
+
3551
+ to {
3552
+ visibility: hidden;
3553
+ -webkit-transform: translate3d(-100%, 0, 0);
3554
+ transform: translate3d(-100%, 0, 0);
3555
+ }
3556
+ }
3557
+
3558
+ @keyframes slideOutLeft {
3559
+ from {
3560
+ -webkit-transform: translate3d(0, 0, 0);
3561
+ transform: translate3d(0, 0, 0);
3562
+ }
3563
+
3564
+ to {
3565
+ visibility: hidden;
3566
+ -webkit-transform: translate3d(-100%, 0, 0);
3567
+ transform: translate3d(-100%, 0, 0);
3568
+ }
3569
+ }
3570
+
3571
+ .slideOutLeft {
3572
+ -webkit-animation-name: slideOutLeft;
3573
+ animation-name: slideOutLeft;
3574
+ }
3575
+
3576
+ @-webkit-keyframes slideOutRight {
3577
+ from {
3578
+ -webkit-transform: translate3d(0, 0, 0);
3579
+ transform: translate3d(0, 0, 0);
3580
+ }
3581
+
3582
+ to {
3583
+ visibility: hidden;
3584
+ -webkit-transform: translate3d(100%, 0, 0);
3585
+ transform: translate3d(100%, 0, 0);
3586
+ }
3587
+ }
3588
+
3589
+ @keyframes slideOutRight {
3590
+ from {
3591
+ -webkit-transform: translate3d(0, 0, 0);
3592
+ transform: translate3d(0, 0, 0);
3593
+ }
3594
+
3595
+ to {
3596
+ visibility: hidden;
3597
+ -webkit-transform: translate3d(100%, 0, 0);
3598
+ transform: translate3d(100%, 0, 0);
3599
+ }
3600
+ }
3601
+
3602
+ .slideOutRight {
3603
+ -webkit-animation-name: slideOutRight;
3604
+ animation-name: slideOutRight;
3605
+ }
3606
+
3607
+ @-webkit-keyframes slideOutUp {
3608
+ from {
3609
+ -webkit-transform: translate3d(0, 0, 0);
3610
+ transform: translate3d(0, 0, 0);
3611
+ }
3612
+
3613
+ to {
3614
+ visibility: hidden;
3615
+ -webkit-transform: translate3d(0, -100%, 0);
3616
+ transform: translate3d(0, -100%, 0);
3617
+ }
3618
+ }
3619
+
3620
+ @keyframes slideOutUp {
3621
+ from {
3622
+ -webkit-transform: translate3d(0, 0, 0);
3623
+ transform: translate3d(0, 0, 0);
3624
+ }
3625
+
3626
+ to {
3627
+ visibility: hidden;
3628
+ -webkit-transform: translate3d(0, -100%, 0);
3629
+ transform: translate3d(0, -100%, 0);
3630
+ }
3631
+ }
3632
+
3633
+ .slideOutUp {
3634
+ -webkit-animation-name: slideOutUp;
3635
+ animation-name: slideOutUp;
3636
+ }
3637
+ @-webkit-keyframes hinge {
3638
+ 0% {
3639
+ -webkit-transform-origin: top left;
3640
+ transform-origin: top left;
3641
+ -webkit-animation-timing-function: ease-in-out;
3642
+ animation-timing-function: ease-in-out;
3643
+ }
3644
+
3645
+ 20%, 60% {
3646
+ -webkit-transform: rotate3d(0, 0, 1, 80deg);
3647
+ transform: rotate3d(0, 0, 1, 80deg);
3648
+ -webkit-transform-origin: top left;
3649
+ transform-origin: top left;
3650
+ -webkit-animation-timing-function: ease-in-out;
3651
+ animation-timing-function: ease-in-out;
3652
+ }
3653
+
3654
+ 40%, 80% {
3655
+ -webkit-transform: rotate3d(0, 0, 1, 60deg);
3656
+ transform: rotate3d(0, 0, 1, 60deg);
3657
+ -webkit-transform-origin: top left;
3658
+ transform-origin: top left;
3659
+ -webkit-animation-timing-function: ease-in-out;
3660
+ animation-timing-function: ease-in-out;
3661
+ opacity: 1;
3662
+ }
3663
+
3664
+ to {
3665
+ -webkit-transform: translate3d(0, 700px, 0);
3666
+ transform: translate3d(0, 700px, 0);
3667
+ opacity: 0;
3668
+ }
3669
+ }
3670
+
tabs-responsive-elementor-addon/assets/css/bootstrap-front.css ADDED
@@ -0,0 +1,758 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v3.3.6 (http://getbootstrap.com)
3
+ * Copyright 2011-2015 Twitter, Inc.
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
7
+
8
+
9
+
10
+
11
+ .wpsm_nav {
12
+ padding-left: 0;
13
+ margin-bottom: 0;
14
+ list-style: none;
15
+ }
16
+ .wpsm_nav > li {
17
+ position: relative;
18
+ display: block;
19
+ }
20
+ .wpsm_nav > li > a {
21
+ position: relative;
22
+ display: block;
23
+ padding: 10px 15px;
24
+ }
25
+ .wpsm_nav > li > a:hover,
26
+ .wpsm_nav > li > a:focus {
27
+ text-decoration: none;
28
+ background-color: #eee;
29
+ }
30
+ .wpsm_nav > li.disabled > a {
31
+ color: #777;
32
+ }
33
+ .wpsm_nav > li.disabled > a:hover,
34
+ .wpsm_nav > li.disabled > a:focus {
35
+ color: #777;
36
+ text-decoration: none;
37
+ cursor: not-allowed;
38
+ background-color: transparent;
39
+ }
40
+ .wpsm_nav .open > a,
41
+ .wpsm_nav .open > a:hover,
42
+ .wpsm_nav .open > a:focus {
43
+ background-color: #eee;
44
+ border-color: #337ab7;
45
+ }
46
+ .wpsm_nav .wpsm_nav-divider {
47
+ height: 1px;
48
+ margin: 9px 0;
49
+ overflow: hidden;
50
+ background-color: #e5e5e5;
51
+ }
52
+ .wpsm_nav > li > a > img {
53
+ max-width: none;
54
+ }
55
+ .wpsm_nav-tabs {
56
+ border-bottom: 1px solid #ddd;
57
+ }
58
+ .wpsm_nav-tabs > li {
59
+ float: left;
60
+ margin-bottom: -1px;
61
+ }
62
+ .wpsm_nav-tabs > li > a {
63
+ margin-right: 2px;
64
+ line-height: 1.42857143;
65
+ border: 1px solid transparent;
66
+ border-radius: 4px 4px 0 0;
67
+ }
68
+ .wpsm_nav-tabs > li > a:hover {
69
+ border-color: #eee #eee #ddd;
70
+ }
71
+ .wpsm_nav-tabs > li.active > a,
72
+ .wpsm_nav-tabs > li.active > a:hover,
73
+ .wpsm_nav-tabs > li.active > a:focus {
74
+ color: #555;
75
+ cursor: default;
76
+ background-color: #fff;
77
+ border: 1px solid #ddd;
78
+ border-bottom-color: transparent;
79
+ }
80
+ .wpsm_nav-tabs.wpsm_nav-justified {
81
+ width: 100%;
82
+ border-bottom: 0;
83
+ }
84
+ .wpsm_nav-tabs.wpsm_nav-justified > li {
85
+ float: none;
86
+ }
87
+ .wpsm_nav-tabs.wpsm_nav-justified > li > a {
88
+ margin-bottom: 5px;
89
+ text-align: center;
90
+ }
91
+ .wpsm_nav-tabs.wpsm_nav-justified > .dropdown .dropdown-menu {
92
+ top: auto;
93
+ left: auto;
94
+ }
95
+ @media (min-width: 768px) {
96
+ .wpsm_nav-tabs.wpsm_nav-justified > li {
97
+ display: table-cell;
98
+ width: 1%;
99
+ }
100
+ .wpsm_nav-tabs.wpsm_nav-justified > li > a {
101
+ margin-bottom: 0;
102
+ }
103
+ }
104
+ .wpsm_nav-tabs.wpsm_nav-justified > li > a {
105
+ margin-right: 0;
106
+ border-radius: 4px;
107
+ }
108
+ .wpsm_nav-tabs.wpsm_nav-justified > .active > a,
109
+ .wpsm_nav-tabs.wpsm_nav-justified > .active > a:hover,
110
+ .wpsm_nav-tabs.wpsm_nav-justified > .active > a:focus {
111
+ border: 1px solid #ddd;
112
+ }
113
+ @media (min-width: 768px) {
114
+ .wpsm_nav-tabs.wpsm_nav-justified > li > a {
115
+ border-bottom: 1px solid #ddd;
116
+ border-radius: 4px 4px 0 0;
117
+ }
118
+ .wpsm_nav-tabs.wpsm_nav-justified > .active > a,
119
+ .wpsm_nav-tabs.wpsm_nav-justified > .active > a:hover,
120
+ .wpsm_nav-tabs.wpsm_nav-justified > .active > a:focus {
121
+ border-bottom-color: #fff;
122
+ }
123
+ }
124
+ .wpsm_nav-pills > li {
125
+ float: left;
126
+ }
127
+ .wpsm_nav-pills > li > a {
128
+ border-radius: 4px;
129
+ }
130
+ .wpsm_nav-pills > li + li {
131
+ margin-left: 2px;
132
+ }
133
+ .wpsm_nav-pills > li.active > a,
134
+ .wpsm_nav-pills > li.active > a:hover,
135
+ .wpsm_nav-pills > li.active > a:focus {
136
+ color: #fff;
137
+ background-color: #337ab7;
138
+ }
139
+ .wpsm_nav-stacked > li {
140
+ float: none;
141
+ }
142
+ .wpsm_nav-stacked > li + li {
143
+ margin-top: 2px;
144
+ margin-left: 0;
145
+ }
146
+ .wpsm_nav-justified {
147
+ width: 100%;
148
+ }
149
+ .wpsm_nav-justified > li {
150
+ float: none;
151
+ }
152
+ .wpsm_nav-justified > li > a {
153
+ margin-bottom: 5px;
154
+ text-align: center;
155
+ }
156
+ .wpsm_nav-justified > .dropdown .dropdown-menu {
157
+ top: auto;
158
+ left: auto;
159
+ }
160
+ @media (min-width: 768px) {
161
+ .wpsm_nav-justified > li {
162
+ display: table-cell;
163
+ width: 1%;
164
+ }
165
+ .wpsm_nav-justified > li > a {
166
+ margin-bottom: 0;
167
+ }
168
+ }
169
+ .wpsm_nav-tabs-justified {
170
+ border-bottom: 0;
171
+ }
172
+ .wpsm_nav-tabs-justified > li > a {
173
+ margin-right: 0;
174
+ border-radius: 4px;
175
+ }
176
+ .wpsm_nav-tabs-justified > .active > a,
177
+ .wpsm_nav-tabs-justified > .active > a:hover,
178
+ .wpsm_nav-tabs-justified > .active > a:focus {
179
+ border: 1px solid #ddd;
180
+ }
181
+ @media (min-width: 768px) {
182
+ .wpsm_nav-tabs-justified > li > a {
183
+ border-bottom: 1px solid #ddd;
184
+ border-radius: 4px 4px 0 0;
185
+ }
186
+ .wpsm_nav-tabs-justified > .active > a,
187
+ .wpsm_nav-tabs-justified > .active > a:hover,
188
+ .wpsm_nav-tabs-justified > .active > a:focus {
189
+ border-bottom-color: #fff;
190
+ }
191
+ }
192
+ .tab-content > .tab-pane {
193
+ display: none;
194
+ }
195
+ .tab-content > .active {
196
+ display: block;
197
+ }
198
+ .wpsm_nav-tabs .dropdown-menu {
199
+ margin-top: -1px;
200
+ border-top-left-radius: 0;
201
+ border-top-right-radius: 0;
202
+ }
203
+ .wpsm_navbar {
204
+ position: relative;
205
+ min-height: 50px;
206
+ margin-bottom: 20px;
207
+ border: 1px solid transparent;
208
+ }
209
+ @media (min-width: 768px) {
210
+ .wpsm_navbar {
211
+ border-radius: 4px;
212
+ }
213
+ }
214
+ @media (min-width: 768px) {
215
+ .wpsm_navbar-header {
216
+ float: left;
217
+ }
218
+ }
219
+ .wpsm_navbar-collapse {
220
+ padding-right: 15px;
221
+ padding-left: 15px;
222
+ overflow-x: visible;
223
+ -webkit-overflow-scrolling: touch;
224
+ border-top: 1px solid transparent;
225
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
226
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
227
+ }
228
+ .wpsm_navbar-collapse.in {
229
+ overflow-y: auto;
230
+ }
231
+ @media (min-width: 768px) {
232
+ .wpsm_navbar-collapse {
233
+ width: auto;
234
+ border-top: 0;
235
+ -webkit-box-shadow: none;
236
+ box-shadow: none;
237
+ }
238
+ .wpsm_navbar-collapse.collapse {
239
+ display: block !important;
240
+ height: auto !important;
241
+ padding-bottom: 0;
242
+ overflow: visible !important;
243
+ }
244
+ .wpsm_navbar-collapse.in {
245
+ overflow-y: visible;
246
+ }
247
+ .wpsm_navbar-fixed-top .wpsm_navbar-collapse,
248
+ .wpsm_navbar-static-top .wpsm_navbar-collapse,
249
+ .wpsm_navbar-fixed-bottom .wpsm_navbar-collapse {
250
+ padding-right: 0;
251
+ padding-left: 0;
252
+ }
253
+ }
254
+ .wpsm_navbar-fixed-top .wpsm_navbar-collapse,
255
+ .wpsm_navbar-fixed-bottom .wpsm_navbar-collapse {
256
+ max-height: 340px;
257
+ }
258
+ @media (max-device-width: 480px) and (orientation: landscape) {
259
+ .wpsm_navbar-fixed-top .wpsm_navbar-collapse,
260
+ .wpsm_navbar-fixed-bottom .wpsm_navbar-collapse {
261
+ max-height: 200px;
262
+ }
263
+ }
264
+ .container > .wpsm_navbar-header,
265
+ .container-fluid > .wpsm_navbar-header,
266
+ .container > .wpsm_navbar-collapse,
267
+ .container-fluid > .wpsm_navbar-collapse {
268
+ margin-right: -15px;
269
+ margin-left: -15px;
270
+ }
271
+ @media (min-width: 768px) {
272
+ .container > .wpsm_navbar-header,
273
+ .container-fluid > .wpsm_navbar-header,
274
+ .container > .wpsm_navbar-collapse,
275
+ .container-fluid > .wpsm_navbar-collapse {
276
+ margin-right: 0;
277
+ margin-left: 0;
278
+ }
279
+ }
280
+ .wpsm_navbar-static-top {
281
+ z-index: 1000;
282
+ border-width: 0 0 1px;
283
+ }
284
+ @media (min-width: 768px) {
285
+ .wpsm_navbar-static-top {
286
+ border-radius: 0;
287
+ }
288
+ }
289
+ .wpsm_navbar-fixed-top,
290
+ .wpsm_navbar-fixed-bottom {
291
+ position: fixed;
292
+ right: 0;
293
+ left: 0;
294
+ z-index: 1030;
295
+ }
296
+ @media (min-width: 768px) {
297
+ .wpsm_navbar-fixed-top,
298
+ .wpsm_navbar-fixed-bottom {
299
+ border-radius: 0;
300
+ }
301
+ }
302
+ .wpsm_navbar-fixed-top {
303
+ top: 0;
304
+ border-width: 0 0 1px;
305
+ }
306
+ .wpsm_navbar-fixed-bottom {
307
+ bottom: 0;
308
+ margin-bottom: 0;
309
+ border-width: 1px 0 0;
310
+ }
311
+ .wpsm_navbar-brand {
312
+ float: left;
313
+ height: 50px;
314
+ padding: 15px 15px;
315
+ font-size: 18px;
316
+ line-height: 20px;
317
+ }
318
+ .wpsm_navbar-brand:hover,
319
+ .wpsm_navbar-brand:focus {
320
+ text-decoration: none;
321
+ }
322
+ .wpsm_navbar-brand > img {
323
+ display: block;
324
+ }
325
+ @media (min-width: 768px) {
326
+ .wpsm_navbar > .container .wpsm_navbar-brand,
327
+ .wpsm_navbar > .container-fluid .wpsm_navbar-brand {
328
+ margin-left: -15px;
329
+ }
330
+ }
331
+ .wpsm_navbar-toggle {
332
+ position: relative;
333
+ float: right;
334
+ padding: 9px 10px;
335
+ margin-top: 8px;
336
+ margin-right: 15px;
337
+ margin-bottom: 8px;
338
+ background-color: transparent;
339
+ background-image: none;
340
+ border: 1px solid transparent;
341
+ border-radius: 4px;
342
+ }
343
+ .wpsm_navbar-toggle:focus {
344
+ outline: 0;
345
+ }
346
+ .wpsm_navbar-toggle .icon-bar {
347
+ display: block;
348
+ width: 22px;
349
+ height: 2px;
350
+ border-radius: 1px;
351
+ }
352
+ .wpsm_navbar-toggle .icon-bar + .icon-bar {
353
+ margin-top: 4px;
354
+ }
355
+ @media (min-width: 768px) {
356
+ .wpsm_navbar-toggle {
357
+ display: none;
358
+ }
359
+ }
360
+ .wpsm_navbar-wpsm_nav {
361
+ margin: 7.5px -15px;
362
+ }
363
+ .wpsm_navbar-wpsm_nav > li > a {
364
+ padding-top: 10px;
365
+ padding-bottom: 10px;
366
+ line-height: 20px;
367
+ }
368
+ @media (max-width: 767px) {
369
+ .wpsm_navbar-wpsm_nav .open .dropdown-menu {
370
+ position: static;
371
+ float: none;
372
+ width: auto;
373
+ margin-top: 0;
374
+ background-color: transparent;
375
+ border: 0;
376
+ -webkit-box-shadow: none;
377
+ box-shadow: none;
378
+ }
379
+ .wpsm_navbar-wpsm_nav .open .dropdown-menu > li > a,
380
+ .wpsm_navbar-wpsm_nav .open .dropdown-menu .dropdown-header {
381
+ padding: 5px 15px 5px 25px;
382
+ }
383
+ .wpsm_navbar-wpsm_nav .open .dropdown-menu > li > a {
384
+ line-height: 20px;
385
+ }
386
+ .wpsm_navbar-wpsm_nav .open .dropdown-menu > li > a:hover,
387
+ .wpsm_navbar-wpsm_nav .open .dropdown-menu > li > a:focus {
388
+ background-image: none;
389
+ }
390
+ }
391
+ @media (min-width: 768px) {
392
+ .wpsm_navbar-wpsm_nav {
393
+ float: left;
394
+ margin: 0;
395
+ }
396
+ .wpsm_navbar-wpsm_nav > li {
397
+ float: left;
398
+ }
399
+ .wpsm_navbar-wpsm_nav > li > a {
400
+ padding-top: 15px;
401
+ padding-bottom: 15px;
402
+ }
403
+ }
404
+ .wpsm_navbar-form {
405
+ padding: 10px 15px;
406
+ margin-top: 8px;
407
+ margin-right: -15px;
408
+ margin-bottom: 8px;
409
+ margin-left: -15px;
410
+ border-top: 1px solid transparent;
411
+ border-bottom: 1px solid transparent;
412
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
413
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
414
+ }
415
+ @media (min-width: 768px) {
416
+ .wpsm_navbar-form .form-group {
417
+ display: inline-block;
418
+ margin-bottom: 0;
419
+ vertical-align: middle;
420
+ }
421
+ .wpsm_navbar-form .form-control {
422
+ display: inline-block;
423
+ width: auto;
424
+ vertical-align: middle;
425
+ }
426
+ .wpsm_navbar-form .form-control-static {
427
+ display: inline-block;
428
+ }
429
+ .wpsm_navbar-form .input-group {
430
+ display: inline-table;
431
+ vertical-align: middle;
432
+ }
433
+ .wpsm_navbar-form .input-group .input-group-addon,
434
+ .wpsm_navbar-form .input-group .input-group-btn,
435
+ .wpsm_navbar-form .input-group .form-control {
436
+ width: auto;
437
+ }
438
+ .wpsm_navbar-form .input-group > .form-control {
439
+ width: 100%;
440
+ }
441
+ .wpsm_navbar-form .control-label {
442
+ margin-bottom: 0;
443
+ vertical-align: middle;
444
+ }
445
+ .wpsm_navbar-form .radio,
446
+ .wpsm_navbar-form .checkbox {
447
+ display: inline-block;
448
+ margin-top: 0;
449
+ margin-bottom: 0;
450
+ vertical-align: middle;
451
+ }
452
+ .wpsm_navbar-form .radio label,
453
+ .wpsm_navbar-form .checkbox label {
454
+ padding-left: 0;
455
+ }
456
+ .wpsm_navbar-form .radio input[type="radio"],
457
+ .wpsm_navbar-form .checkbox input[type="checkbox"] {
458
+ position: relative;
459
+ margin-left: 0;
460
+ }
461
+ .wpsm_navbar-form .has-feedback .form-control-feedback {
462
+ top: 0;
463
+ }
464
+ }
465
+ @media (max-width: 767px) {
466
+ .wpsm_navbar-form .form-group {
467
+ margin-bottom: 5px;
468
+ }
469
+ .wpsm_navbar-form .form-group:last-child {
470
+ margin-bottom: 0;
471
+ }
472
+ }
473
+ @media (min-width: 768px) {
474
+ .wpsm_navbar-form {
475
+ width: auto;
476
+ padding-top: 0;
477
+ padding-bottom: 0;
478
+ margin-right: 0;
479
+ margin-left: 0;
480
+ border: 0;
481
+ -webkit-box-shadow: none;
482
+ box-shadow: none;
483
+ }
484
+ }
485
+ .wpsm_navbar-wpsm_nav > li > .dropdown-menu {
486
+ margin-top: 0;
487
+ border-top-left-radius: 0;
488
+ border-top-right-radius: 0;
489
+ }
490
+ .wpsm_navbar-fixed-bottom .wpsm_navbar-wpsm_nav > li > .dropdown-menu {
491
+ margin-bottom: 0;
492
+ border-top-left-radius: 4px;
493
+ border-top-right-radius: 4px;
494
+ border-bottom-right-radius: 0;
495
+ border-bottom-left-radius: 0;
496
+ }
497
+ .wpsm_navbar-btn {
498
+ margin-top: 8px;
499
+ margin-bottom: 8px;
500
+ }
501
+ .wpsm_navbar-btn.btn-sm {
502
+ margin-top: 10px;
503
+ margin-bottom: 10px;
504
+ }
505
+ .wpsm_navbar-btn.btn-xs {
506
+ margin-top: 14px;
507
+ margin-bottom: 14px;
508
+ }
509
+ .wpsm_navbar-text {
510
+ margin-top: 15px;
511
+ margin-bottom: 15px;
512
+ }
513
+ @media (min-width: 768px) {
514
+ .wpsm_navbar-text {
515
+ float: left;
516
+ margin-right: 15px;
517
+ margin-left: 15px;
518
+ }
519
+ }
520
+ @media (min-width: 768px) {
521
+ .wpsm_navbar-left {
522
+ float: left !important;
523
+ }
524
+ .wpsm_navbar-right {
525
+ float: right !important;
526
+ margin-right: -15px;
527
+ }
528
+ .wpsm_navbar-right ~ .wpsm_navbar-right {
529
+ margin-right: 0;
530
+ }
531
+ }
532
+ .wpsm_navbar-default {
533
+ background-color: #f8f8f8;
534
+ border-color: #e7e7e7;
535
+ }
536
+ .wpsm_navbar-default .wpsm_navbar-brand {
537
+ color: #777;
538
+ }
539
+ .wpsm_navbar-default .wpsm_navbar-brand:hover,
540
+ .wpsm_navbar-default .wpsm_navbar-brand:focus {
541
+ color: #5e5e5e;
542
+ background-color: transparent;
543
+ }
544
+ .wpsm_navbar-default .wpsm_navbar-text {
545
+ color: #777;
546
+ }
547
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav > li > a {
548
+ color: #777;
549
+ }
550
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav > li > a:hover,
551
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav > li > a:focus {
552
+ color: #333;
553
+ background-color: transparent;
554
+ }
555
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav > .active > a,
556
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav > .active > a:hover,
557
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav > .active > a:focus {
558
+ color: #555;
559
+ background-color: #e7e7e7;
560
+ }
561
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav > .disabled > a,
562
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav > .disabled > a:hover,
563
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav > .disabled > a:focus {
564
+ color: #ccc;
565
+ background-color: transparent;
566
+ }
567
+ .wpsm_navbar-default .wpsm_navbar-toggle {
568
+ border-color: #ddd;
569
+ }
570
+ .wpsm_navbar-default .wpsm_navbar-toggle:hover,
571
+ .wpsm_navbar-default .wpsm_navbar-toggle:focus {
572
+ background-color: #ddd;
573
+ }
574
+ .wpsm_navbar-default .wpsm_navbar-toggle .icon-bar {
575
+ background-color: #888;
576
+ }
577
+ .wpsm_navbar-default .wpsm_navbar-collapse,
578
+ .wpsm_navbar-default .wpsm_navbar-form {
579
+ border-color: #e7e7e7;
580
+ }
581
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav > .open > a,
582
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav > .open > a:hover,
583
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav > .open > a:focus {
584
+ color: #555;
585
+ background-color: #e7e7e7;
586
+ }
587
+ @media (max-width: 767px) {
588
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav .open .dropdown-menu > li > a {
589
+ color: #777;
590
+ }
591
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav .open .dropdown-menu > li > a:hover,
592
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav .open .dropdown-menu > li > a:focus {
593
+ color: #333;
594
+ background-color: transparent;
595
+ }
596
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav .open .dropdown-menu > .active > a,
597
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav .open .dropdown-menu > .active > a:hover,
598
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav .open .dropdown-menu > .active > a:focus {
599
+ color: #555;
600
+ background-color: #e7e7e7;
601
+ }
602
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav .open .dropdown-menu > .disabled > a,
603
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav .open .dropdown-menu > .disabled > a:hover,
604
+ .wpsm_navbar-default .wpsm_navbar-wpsm_nav .open .dropdown-menu > .disabled > a:focus {
605
+ color: #ccc;
606
+ background-color: transparent;
607
+ }
608
+ }
609
+ .wpsm_navbar-default .wpsm_navbar-link {
610
+ color: #777;
611
+ }
612
+ .wpsm_navbar-default .wpsm_navbar-link:hover {
613
+ color: #333;
614
+ }
615
+ .wpsm_navbar-default .btn-link {
616
+ color: #777;
617
+ }
618
+ .wpsm_navbar-default .btn-link:hover,
619
+ .wpsm_navbar-default .btn-link:focus {
620
+ color: #333;
621
+ }
622
+ .wpsm_navbar-default .btn-link[disabled]:hover,
623
+ fieldset[disabled] .wpsm_navbar-default .btn-link:hover,
624
+ .wpsm_navbar-default .btn-link[disabled]:focus,
625
+ fieldset[disabled] .wpsm_navbar-default .btn-link:focus {
626
+ color: #ccc;
627
+ }
628
+ .wpsm_navbar-inverse {
629
+ background-color: #222;
630
+ border-color: #080808;
631
+ }
632
+ .wpsm_navbar-inverse .wpsm_navbar-brand {
633
+ color: #9d9d9d;
634
+ }
635
+ .wpsm_navbar-inverse .wpsm_navbar-brand:hover,
636
+ .wpsm_navbar-inverse .wpsm_navbar-brand:focus {
637
+ color: #fff;
638
+ background-color: transparent;
639
+ }
640
+ .wpsm_navbar-inverse .wpsm_navbar-text {
641
+ color: #9d9d9d;
642
+ }
643
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav > li > a {
644
+ color: #9d9d9d;
645
+ }
646
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav > li > a:hover,
647
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav > li > a:focus {
648
+ color: #fff;
649
+ background-color: transparent;
650
+ }
651
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav > .active > a,
652
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav > .active > a:hover,
653
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav > .active > a:focus {
654
+ color: #fff;
655
+ background-color: #080808;
656
+ }
657
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav > .disabled > a,
658
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav > .disabled > a:hover,
659
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav > .disabled > a:focus {
660
+ color: #444;
661
+ background-color: transparent;
662
+ }
663
+ .wpsm_navbar-inverse .wpsm_navbar-toggle {
664
+ border-color: #333;
665
+ }
666
+ .wpsm_navbar-inverse .wpsm_navbar-toggle:hover,
667
+ .wpsm_navbar-inverse .wpsm_navbar-toggle:focus {
668
+ background-color: #333;
669
+ }
670
+ .wpsm_navbar-inverse .wpsm_navbar-toggle .icon-bar {
671
+ background-color: #fff;
672
+ }
673
+ .wpsm_navbar-inverse .wpsm_navbar-collapse,
674
+ .wpsm_navbar-inverse .wpsm_navbar-form {
675
+ border-color: #101010;
676
+ }
677
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav > .open > a,
678
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav > .open > a:hover,
679
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav > .open > a:focus {
680
+ color: #fff;
681
+ background-color: #080808;
682
+ }
683
+ @media (max-width: 767px) {
684
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav .open .dropdown-menu > .dropdown-header {
685
+ border-color: #080808;
686
+ }
687
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav .open .dropdown-menu .divider {
688
+ background-color: #080808;
689
+ }
690
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav .open .dropdown-menu > li > a {
691
+ color: #9d9d9d;
692
+ }
693
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav .open .dropdown-menu > li > a:hover,
694
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav .open .dropdown-menu > li > a:focus {
695
+ color: #fff;
696
+ background-color: transparent;
697
+ }
698
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav .open .dropdown-menu > .active > a,
699
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav .open .dropdown-menu > .active > a:hover,
700
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav .open .dropdown-menu > .active > a:focus {
701
+ color: #fff;
702
+ background-color: #080808;
703
+ }
704
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav .open .dropdown-menu > .disabled > a,
705
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav .open .dropdown-menu > .disabled > a:hover,
706
+ .wpsm_navbar-inverse .wpsm_navbar-wpsm_nav .open .dropdown-menu > .disabled > a:focus {
707
+ color: #444;
708
+ background-color: transparent;
709
+ }
710
+ }
711
+ .wpsm_navbar-inverse .wpsm_navbar-link {
712
+ color: #9d9d9d;
713
+ }
714
+ .wpsm_navbar-inverse .wpsm_navbar-link:hover {
715
+ color: #fff;
716
+ }
717
+ .wpsm_navbar-inverse .btn-link {
718
+ color: #9d9d9d;
719
+ }
720
+ .wpsm_navbar-inverse .btn-link:hover,
721
+ .wpsm_navbar-inverse .btn-link:focus {
722
+ color: #fff;
723
+ }
724
+ .wpsm_navbar-inverse .btn-link[disabled]:hover,
725
+ fieldset[disabled] .wpsm_navbar-inverse .btn-link:hover,
726
+ .wpsm_navbar-inverse .btn-link[disabled]:focus,
727
+ fieldset[disabled] .wpsm_navbar-inverse .btn-link:focus {
728
+ color: #444;
729
+ }
730
+
731
+
732
+ .wpsm_nav:before,
733
+ .wpsm_nav:after,
734
+ .wpsm_navbar:before,
735
+ .wpsm_navbar:after,
736
+ .wpsm_navbar-header:before,
737
+ .wpsm_navbar-header:after,
738
+ .wpsm_navbar-collapse:before,
739
+ .wpsm_navbar-collapse:after {
740
+ display: table;
741
+ content: " ";
742
+ }
743
+
744
+ .wpsm_nav:after,
745
+ .wpsm_navbar:after,
746
+ .wpsm_navbar-header:after,
747
+ .wpsm_navbar-collapse:after{
748
+ clear: both;
749
+ }
750
+
751
+ @media (max-width: 768px) {
752
+ .wpsm_nav-tabs > li{
753
+ float:none;
754
+ }
755
+ }
756
+ .tab-content{
757
+ overflow:hidden;
758
+ }
tabs-responsive-elementor-addon/assets/css/editor.css ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .elementor-element-wrapper .elementor-element .icon .eicon-table:after{
2
+ content : url(../images/sp.png);
3
+ speak: none;
4
+ font-size: 14px;
5
+ font-style: normal;
6
+ font-weight: normal;
7
+ text-transform: none;
8
+ line-height: 1;
9
+ -webkit-font-smoothing: antialiased;
10
+ position: absolute;
11
+ top: 6px;
12
+ right: 6px;
13
+ color: rgb(205, 207, 210);
14
+ font-variant: normal;
15
+ }
tabs-responsive-elementor-addon/assets/images/sp.png ADDED
Binary file
tabs-responsive-elementor-addon/assets/js/bootstrap.js ADDED
@@ -0,0 +1,2356 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v3.3.6 (http://getbootstrap.com)
3
+ * Copyright 2011-2015 Twitter, Inc.
4
+ * Licensed under the MIT license
5
+ */
6
+
7
+ if (typeof jQuery === 'undefined') {
8
+ throw new Error('Bootstrap\'s JavaScript requires jQuery')
9
+ }
10
+
11
+ /*+function ($) {
12
+ 'use strict';
13
+ var version = $.fn.jquery.split(' ')[0].split('.')
14
+ if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 2)) {
15
+ throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3')
16
+ }
17
+ }(jQuery);*/
18
+
19
+
20
+
21
+ +function ($) {
22
+ 'use strict';
23
+
24
+ // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
25
+ // ============================================================
26
+
27
+ function transitionEnd() {
28
+ var el = document.createElement('bootstrap')
29
+
30
+ var transEndEventNames = {
31
+ WebkitTransition : 'webkitTransitionEnd',
32
+ MozTransition : 'transitionend',
33
+ OTransition : 'oTransitionEnd otransitionend',
34
+ transition : 'transitionend'
35
+ }
36
+
37
+ for (var name in transEndEventNames) {
38
+ if (el.style[name] !== undefined) {
39
+ return { end: transEndEventNames[name] }
40
+ }
41
+ }
42
+
43
+ return false // explicit for ie8 ( ._.)
44
+ }
45
+
46
+ // http://blog.alexmaccaw.com/css-transitions
47
+ $.fn.emulateTransitionEnd = function (duration) {
48
+ var called = false
49
+ var $el = this
50
+ $(this).one('bsTransitionEnd', function () { called = true })
51
+ var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
52
+ setTimeout(callback, duration)
53
+ return this
54
+ }
55
+
56
+ $(function () {
57
+ $.support.transition = transitionEnd()
58
+
59
+ if (!$.support.transition) return
60
+
61
+ $.event.special.bsTransitionEnd = {
62
+ bindType: $.support.transition.end,
63
+ delegateType: $.support.transition.end,
64
+ handle: function (e) {
65
+ if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
66
+ }
67
+ }
68
+ })
69
+
70
+ }(jQuery);
71
+
72
+ /* ========================================================================
73
+ * Bootstrap: alert.js v3.3.6
74
+ * http://getbootstrap.com/javascript/#alerts
75
+ * ========================================================================
76
+ * Copyright 2011-2015 Twitter, Inc.
77
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
78
+ * ======================================================================== */
79
+
80
+
81
+ +function ($) {
82
+ 'use strict';
83
+
84
+ // ALERT CLASS DEFINITION
85
+ // ======================
86
+
87
+ var dismiss = '[data-dismiss="alert"]'
88
+ var Alert = function (el) {
89
+ $(el).on('click', dismiss, this.close)
90
+ }
91
+
92
+ Alert.VERSION = '3.3.6'
93
+
94
+ Alert.TRANSITION_DURATION = 150
95
+
96
+ Alert.prototype.close = function (e) {
97
+ var $this = $(this)
98
+ var selector = $this.attr('data-target')
99
+
100
+ if (!selector) {
101
+ selector = $this.attr('href')
102
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
103
+ }
104
+
105
+ var $parent = $(selector)
106
+
107
+ if (e) e.preventDefault()
108
+
109
+ if (!$parent.length) {
110
+ $parent = $this.closest('.alert')
111
+ }
112
+
113
+ $parent.trigger(e = $.Event('close.bs.alert'))
114
+
115
+ if (e.isDefaultPrevented()) return
116
+
117
+ $parent.removeClass('in')
118
+
119
+ function removeElement() {
120
+ // detach from parent, fire event then clean up data
121
+ $parent.detach().trigger('closed.bs.alert').remove()
122
+ }
123
+
124
+ $.support.transition && $parent.hasClass('fade') ?
125
+ $parent
126
+ .one('bsTransitionEnd', removeElement)
127
+ .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
128
+ removeElement()
129
+ }
130
+
131
+
132
+ // ALERT PLUGIN DEFINITION
133
+ // =======================
134
+
135
+ function Plugin(option) {
136
+ return this.each(function () {
137
+ var $this = $(this)
138
+ var data = $this.data('bs.alert')
139
+
140
+ if (!data) $this.data('bs.alert', (data = new Alert(this)))
141
+ if (typeof option == 'string') data[option].call($this)
142
+ })
143
+ }
144
+
145
+ var old = $.fn.alert
146
+
147
+ $.fn.alert = Plugin
148
+ $.fn.alert.Constructor = Alert
149
+
150
+
151
+ // ALERT NO CONFLICT
152
+ // =================
153
+
154
+ $.fn.alert.noConflict = function () {
155
+ $.fn.alert = old
156
+ return this
157
+ }
158
+
159
+
160
+ // ALERT DATA-API
161
+ // ==============
162
+
163
+ $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
164
+
165
+ }(jQuery);
166
+
167
+ /* ========================================================================
168
+ * Bootstrap: button.js v3.3.6
169
+ * http://getbootstrap.com/javascript/#buttons
170
+ * ========================================================================
171
+ * Copyright 2011-2015 Twitter, Inc.
172
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
173
+ * ======================================================================== */
174
+
175
+
176
+ +function ($) {
177
+ 'use strict';
178
+
179
+ // BUTTON PUBLIC CLASS DEFINITION
180
+ // ==============================
181
+
182
+ var Button = function (element, options) {
183
+ this.$element = $(element)
184
+ this.options = $.extend({}, Button.DEFAULTS, options)
185
+ this.isLoading = false
186
+ }
187
+
188
+ Button.VERSION = '3.3.6'
189
+
190
+ Button.DEFAULTS = {
191
+ loadingText: 'loading...'
192
+ }
193
+
194
+ Button.prototype.setState = function (state) {
195
+ var d = 'disabled'
196
+ var $el = this.$element
197
+ var val = $el.is('input') ? 'val' : 'html'
198
+ var data = $el.data()
199
+
200
+ state += 'Text'
201
+
202
+ if (data.resetText == null) $el.data('resetText', $el[val]())
203
+
204
+ // push to event loop to allow forms to submit
205
+ setTimeout($.proxy(function () {
206
+ $el[val](data[state] == null ? this.options[state] : data[state])
207
+
208
+ if (state == 'loadingText') {
209
+ this.isLoading = true
210
+ $el.addClass(d).attr(d, d)
211
+ } else if (this.isLoading) {
212
+ this.isLoading = false
213
+ $el.removeClass(d).removeAttr(d)
214
+ }
215
+ }, this), 0)
216
+ }
217
+
218
+ Button.prototype.toggle = function () {
219
+ var changed = true
220
+ var $parent = this.$element.closest('[data-toggle="buttons"]')
221
+
222
+ if ($parent.length) {
223
+ var $input = this.$element.find('input')
224
+ if ($input.prop('type') == 'radio') {
225
+ if ($input.prop('checked')) changed = false
226
+ $parent.find('.active').removeClass('active')
227
+ this.$element.addClass('active')
228
+ } else if ($input.prop('type') == 'checkbox') {
229
+ if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
230
+ this.$element.toggleClass('active')
231
+ }
232
+ $input.prop('checked', this.$element.hasClass('active'))
233
+ if (changed) $input.trigger('change')
234
+ } else {
235
+ this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
236
+ this.$element.toggleClass('active')
237
+ }
238
+ }
239
+
240
+
241
+ // BUTTON PLUGIN DEFINITION
242
+ // ========================
243
+
244
+ function Plugin(option) {
245
+ return this.each(function () {
246
+ var $this = $(this)
247
+ var data = $this.data('bs.button')
248
+ var options = typeof option == 'object' && option
249
+
250
+ if (!data) $this.data('bs.button', (data = new Button(this, options)))
251
+
252
+ if (option == 'toggle') data.toggle()
253
+ else if (option) data.setState(option)
254
+ })
255
+ }
256
+
257
+ var old = $.fn.button
258
+
259
+ $.fn.button = Plugin
260
+ $.fn.button.Constructor = Button
261
+
262
+
263
+ // BUTTON NO CONFLICT
264
+ // ==================
265
+
266
+ $.fn.button.noConflict = function () {
267
+ $.fn.button = old
268
+ return this
269
+ }
270
+
271
+
272
+ // BUTTON DATA-API
273
+ // ===============
274
+
275
+ $(document)
276
+ .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
277
+ var $btn = $(e.target)
278
+ if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
279
+ Plugin.call($btn, 'toggle')
280
+ if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault()
281
+ })
282
+ .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
283
+ $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
284
+ })
285
+
286
+ }(jQuery);
287
+
288
+ /* ========================================================================
289
+ * Bootstrap: carousel.js v3.3.6
290
+ * http://getbootstrap.com/javascript/#carousel
291
+ * ========================================================================
292
+ * Copyright 2011-2015 Twitter, Inc.
293
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
294
+ * ======================================================================== */
295
+
296
+
297
+ +function ($) {
298
+ 'use strict';
299
+
300
+ // CAROUSEL CLASS DEFINITION
301
+ // =========================
302
+
303
+ var Carousel = function (element, options) {
304
+ this.$element = $(element)
305
+ this.$indicators = this.$element.find('.carousel-indicators')
306
+ this.options = options
307
+ this.paused = null
308
+ this.sliding = null
309
+ this.interval = null
310
+ this.$active = null
311
+ this.$items = null
312
+
313
+ this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
314
+
315
+ this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
316
+ .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
317
+ .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
318
+ }
319
+
320
+ Carousel.VERSION = '3.3.6'
321
+
322
+ Carousel.TRANSITION_DURATION = 600
323
+
324
+ Carousel.DEFAULTS = {
325
+ interval: 5000,
326
+ pause: 'hover',
327
+ wrap: true,
328
+ keyboard: true
329
+ }
330
+
331
+ Carousel.prototype.keydown = function (e) {
332
+ if (/input|textarea/i.test(e.target.tagName)) return
333
+ switch (e.which) {
334
+ case 37: this.prev(); break
335
+ case 39: this.next(); break
336
+ default: return
337
+ }
338
+
339
+ e.preventDefault()
340
+ }
341
+
342
+ Carousel.prototype.cycle = function (e) {
343
+ e || (this.paused = false)
344
+
345
+ this.interval && clearInterval(this.interval)
346
+
347
+ this.options.interval
348
+ && !this.paused
349
+ && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
350
+
351
+ return this
352
+ }
353
+
354
+ Carousel.prototype.getItemIndex = function (item) {
355
+ this.$items = item.parent().children('.item')
356
+ return this.$items.index(item || this.$active)
357
+ }
358
+
359
+ Carousel.prototype.getItemForDirection = function (direction, active) {
360
+ var activeIndex = this.getItemIndex(active)
361
+ var willWrap = (direction == 'prev' && activeIndex === 0)
362
+ || (direction == 'next' && activeIndex == (this.$items.length - 1))
363
+ if (willWrap && !this.options.wrap) return active
364
+ var delta = direction == 'prev' ? -1 : 1
365
+ var itemIndex = (activeIndex + delta) % this.$items.length
366
+ return this.$items.eq(itemIndex)
367
+ }
368
+
369
+ Carousel.prototype.to = function (pos) {
370
+ var that = this
371
+ var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
372
+
373
+ if (pos > (this.$items.length - 1) || pos < 0) return
374
+
375
+ if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
376
+ if (activeIndex == pos) return this.pause().cycle()
377
+
378
+ return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
379
+ }
380
+
381
+ Carousel.prototype.pause = function (e) {
382
+ e || (this.paused = true)
383
+
384
+ if (this.$element.find('.next, .prev').length && $.support.transition) {
385
+ this.$element.trigger($.support.transition.end)
386
+ this.cycle(true)
387
+ }
388
+
389
+ this.interval = clearInterval(this.interval)
390
+
391
+ return this
392
+ }
393
+
394
+ Carousel.prototype.next = function () {
395
+ if (this.sliding) return
396
+ return this.slide('next')
397
+ }
398
+
399
+ Carousel.prototype.prev = function () {
400
+ if (this.sliding) return
401
+ return this.slide('prev')
402
+ }
403
+
404
+ Carousel.prototype.slide = function (type, next) {
405
+ var $active = this.$element.find('.item.active')
406
+ var $next = next || this.getItemForDirection(type, $active)
407
+ var isCycling = this.interval
408
+ var direction = type == 'next' ? 'left' : 'right'
409
+ var that = this
410
+
411
+ if ($next.hasClass('active')) return (this.sliding = false)
412
+
413
+ var relatedTarget = $next[0]
414
+ var slideEvent = $.Event('slide.bs.carousel', {
415
+ relatedTarget: relatedTarget,
416
+ direction: direction
417
+ })
418
+ this.$element.trigger(slideEvent)
419
+ if (slideEvent.isDefaultPrevented()) return
420
+
421
+ this.sliding = true
422
+
423
+ isCycling && this.pause()
424
+
425
+ if (this.$indicators.length) {
426
+ this.$indicators.find('.active').removeClass('active')
427
+ var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
428
+ $nextIndicator && $nextIndicator.addClass('active')
429
+ }
430
+
431
+ var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
432
+ if ($.support.transition && this.$element.hasClass('slide')) {
433
+ $next.addClass(type)
434
+ $next[0].offsetWidth // force reflow
435
+ $active.addClass(direction)
436
+ $next.addClass(direction)
437
+ $active
438
+ .one('bsTransitionEnd', function () {
439
+ $next.removeClass([type, direction].join(' ')).addClass('active')
440
+ $active.removeClass(['active', direction].join(' '))
441
+ that.sliding = false
442
+ setTimeout(function () {
443
+ that.$element.trigger(slidEvent)
444
+ }, 0)
445
+ })
446
+ .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
447
+ } else {
448
+ $active.removeClass('active')
449
+ $next.addClass('active')
450
+ this.sliding = false
451
+ this.$element.trigger(slidEvent)
452
+ }
453
+
454
+ isCycling && this.cycle()
455
+
456
+ return this
457
+ }
458
+
459
+
460
+ // CAROUSEL PLUGIN DEFINITION
461
+ // ==========================
462
+
463
+ function Plugin(option) {
464
+ return this.each(function () {
465
+ var $this = $(this)
466
+ var data = $this.data('bs.carousel')
467
+ var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
468
+ var action = typeof option == 'string' ? option : options.slide
469
+
470
+ if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
471
+ if (typeof option == 'number') data.to(option)
472
+ else if (action) data[action]()
473
+ else if (options.interval) data.pause().cycle()
474
+ })
475
+ }
476
+
477
+ var old = $.fn.carousel
478
+
479
+ $.fn.carousel = Plugin
480
+ $.fn.carousel.Constructor = Carousel
481
+
482
+
483
+ // CAROUSEL NO CONFLICT
484
+ // ====================
485
+
486
+ $.fn.carousel.noConflict = function () {
487
+ $.fn.carousel = old
488
+ return this
489
+ }
490
+
491
+
492
+ // CAROUSEL DATA-API
493
+ // =================
494
+
495
+ var clickHandler = function (e) {
496
+ var href
497
+ var $this = $(this)
498
+ var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
499
+ if (!$target.hasClass('carousel')) return
500
+ var options = $.extend({}, $target.data(), $this.data())
501
+ var slideIndex = $this.attr('data-slide-to')
502
+ if (slideIndex) options.interval = false
503
+
504
+ Plugin.call($target, options)
505
+
506
+ if (slideIndex) {
507
+ $target.data('bs.carousel').to(slideIndex)
508
+ }
509
+
510
+ e.preventDefault()
511
+ }
512
+
513
+ $(document)
514
+ .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
515
+ .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
516
+
517
+ $(window).on('load', function () {
518
+ $('[data-ride="carousel"]').each(function () {
519
+ var $carousel = $(this)
520
+ Plugin.call($carousel, $carousel.data())
521
+ })
522
+ })
523
+
524
+ }(jQuery);
525
+
526
+ /* ========================================================================
527
+ * Bootstrap: collapse.js v3.3.6
528
+ * http://getbootstrap.com/javascript/#collapse
529
+ * ========================================================================
530
+ * Copyright 2011-2015 Twitter, Inc.
531
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
532
+ * ======================================================================== */
533
+
534
+
535
+ +function ($) {
536
+ 'use strict';
537
+
538
+ // COLLAPSE PUBLIC CLASS DEFINITION
539
+ // ================================
540
+
541
+ var Collapse = function (element, options) {
542
+ this.$element = $(element)
543
+ this.options = $.extend({}, Collapse.DEFAULTS, options)
544
+ this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
545
+ '[data-toggle="collapse"][data-target="#' + element.id + '"]')
546
+ this.transitioning = null
547
+
548
+ if (this.options.parent) {
549
+ this.$parent = this.getParent()
550
+ } else {
551
+ this.addAriaAndCollapsedClass(this.$element, this.$trigger)
552
+ }
553
+
554
+ if (this.options.toggle) this.toggle()
555
+ }
556
+
557
+ Collapse.VERSION = '3.3.6'
558
+
559
+ Collapse.TRANSITION_DURATION = 350
560
+
561
+ Collapse.DEFAULTS = {
562
+ toggle: true
563
+ }
564
+
565
+ Collapse.prototype.dimension = function () {
566
+ var hasWidth = this.$element.hasClass('width')
567
+ return hasWidth ? 'width' : 'height'
568
+ }
569
+
570
+ Collapse.prototype.show = function () {
571
+ if (this.transitioning || this.$element.hasClass('in')) return
572
+
573
+ var activesData
574
+ var actives = this.$parent && this.$parent.children('.wpsm_panel').children('.in, .collapsing')
575
+
576
+ if (actives && actives.length) {
577
+ activesData = actives.data('bs.collapse')
578
+ if (activesData && activesData.transitioning) return
579
+ }
580
+
581
+ var startEvent = $.Event('show.bs.collapse')
582
+ this.$element.trigger(startEvent)
583
+ if (startEvent.isDefaultPrevented()) return
584
+
585
+ if (actives && actives.length) {
586
+ Plugin.call(actives, 'hide')
587
+ activesData || actives.data('bs.collapse', null)
588
+ }
589
+
590
+ var dimension = this.dimension()
591
+
592
+ this.$element
593
+ .removeClass('collapse')
594
+ .addClass('collapsing')[dimension](0)
595
+ .attr('aria-expanded', true)
596
+
597
+ this.$trigger
598
+ .removeClass('collapsed')
599
+ .attr('aria-expanded', true)
600
+
601
+ this.transitioning = 1
602
+
603
+ var complete = function () {
604
+ this.$element
605
+ .removeClass('collapsing')
606
+ .addClass('collapse in')[dimension]('')
607
+ this.transitioning = 0
608
+ this.$element
609
+ .trigger('shown.bs.collapse')
610
+ }
611
+
612
+ if (!$.support.transition) return complete.call(this)
613
+
614
+ var scrollSize = $.camelCase(['scroll', dimension].join('-'))
615
+
616
+ this.$element
617
+ .one('bsTransitionEnd', $.proxy(complete, this))
618
+ .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
619
+ }
620
+
621
+ Collapse.prototype.hide = function () {
622
+ if (this.transitioning || !this.$element.hasClass('in')) return
623
+
624
+ var startEvent = $.Event('hide.bs.collapse')
625
+ this.$element.trigger(startEvent)
626
+ if (startEvent.isDefaultPrevented()) return
627
+
628
+ var dimension = this.dimension()
629
+
630
+ this.$element[dimension](this.$element[dimension]())[0].offsetHeight
631
+
632
+ this.$element
633
+ .addClass('collapsing')
634
+ .removeClass('collapse in')
635
+ .attr('aria-expanded', false)
636
+
637
+ this.$trigger
638
+ .addClass('collapsed')
639
+ .attr('aria-expanded', false)
640
+
641
+ this.transitioning = 1
642
+
643
+ var complete = function () {
644
+ this.transitioning = 0
645
+ this.$element
646
+ .removeClass('collapsing')
647
+ .addClass('collapse')
648
+ .trigger('hidden.bs.collapse')
649
+ }
650
+
651
+ if (!$.support.transition) return complete.call(this)
652
+
653
+ this.$element
654
+ [dimension](0)
655
+ .one('bsTransitionEnd', $.proxy(complete, this))
656
+ .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
657
+ }
658
+
659
+ Collapse.prototype.toggle = function () {
660
+ this[this.$element.hasClass('in') ? 'hide' : 'show']()
661
+ }
662
+
663
+ Collapse.prototype.getParent = function () {
664
+ return $(this.options.parent)
665
+ .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
666
+ .each($.proxy(function (i, element) {
667
+ var $element = $(element)
668
+ this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
669
+ }, this))
670
+ .end()
671
+ }
672
+
673
+ Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
674
+ var isOpen = $element.hasClass('in')
675
+
676
+ $element.attr('aria-expanded', isOpen)
677
+ $trigger
678
+ .toggleClass('collapsed', !isOpen)
679
+ .attr('aria-expanded', isOpen)
680
+ }
681
+
682
+ function getTargetFromTrigger($trigger) {
683
+ var href
684
+ var target = $trigger.attr('data-target')
685
+ || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
686
+
687
+ return $(target)
688
+ }
689
+
690
+
691
+ // COLLAPSE PLUGIN DEFINITION
692
+ // ==========================
693
+
694
+ function Plugin(option) {
695
+ return this.each(function () {
696
+ var $this = $(this)
697
+ var data = $this.data('bs.collapse')
698
+ var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
699
+
700
+ if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
701
+ if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
702
+ if (typeof option == 'string') data[option]()
703
+ })
704
+ }
705
+
706
+ var old = $.fn.collapse
707
+
708
+ $.fn.collapse = Plugin
709
+ $.fn.collapse.Constructor = Collapse
710
+
711
+
712
+ // COLLAPSE NO CONFLICT
713
+ // ====================
714
+
715
+ $.fn.collapse.noConflict = function () {
716
+ $.fn.collapse = old
717
+ return this
718
+ }
719
+
720
+
721
+ // COLLAPSE DATA-API
722
+ // =================
723
+
724
+ $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
725
+ var $this = $(this)
726
+
727
+ if (!$this.attr('data-target')) e.preventDefault()
728
+
729
+ var $target = getTargetFromTrigger($this)
730
+ var data = $target.data('bs.collapse')
731
+ var option = data ? 'toggle' : $this.data()
732
+
733
+ Plugin.call($target, option)
734
+ })
735
+
736
+ }(jQuery);
737
+
738
+ /* ========================================================================
739
+ * Bootstrap: dropdown.js v3.3.6
740
+ * http://getbootstrap.com/javascript/#dropdowns
741
+ * ========================================================================
742
+ * Copyright 2011-2015 Twitter, Inc.
743
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
744
+ * ======================================================================== */
745
+
746
+
747
+ +function ($) {
748
+ 'use strict';
749
+
750
+ // DROPDOWN CLASS DEFINITION
751
+ // =========================
752
+
753
+ var backdrop = '.dropdown-backdrop'
754
+ var toggle = '[data-toggle="dropdown"]'
755
+ var Dropdown = function (element) {
756
+ $(element).on('click.bs.dropdown', this.toggle)
757
+ }
758
+
759
+ Dropdown.VERSION = '3.3.6'
760
+
761
+ function getParent($this) {
762
+ var selector = $this.attr('data-target')
763
+
764
+ if (!selector) {
765
+ selector = $this.attr('href')
766
+ selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
767
+ }
768
+
769
+ var $parent = selector && $(selector)
770
+
771
+ return $parent && $parent.length ? $parent : $this.parent()
772
+ }
773
+
774
+ function clearMenus(e) {
775
+ if (e && e.which === 3) return
776
+ $(backdrop).remove()
777
+ $(toggle).each(function () {
778
+ var $this = $(this)
779
+ var $parent = getParent($this)
780
+ var relatedTarget = { relatedTarget: this }
781
+
782
+ if (!$parent.hasClass('open')) return
783
+
784
+ if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
785
+
786
+ $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
787
+
788
+ if (e.isDefaultPrevented()) return
789
+
790
+ $this.attr('aria-expanded', 'false')
791
+ $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))
792
+ })
793
+ }
794
+
795
+ Dropdown.prototype.toggle = function (e) {
796
+ var $this = $(this)
797
+
798
+ if ($this.is('.disabled, :disabled')) return
799
+
800
+ var $parent = getParent($this)
801
+ var isActive = $parent.hasClass('open')
802
+
803
+ clearMenus()
804
+
805
+ if (!isActive) {
806
+ if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
807
+ // if mobile we use a backdrop because click events don't delegate
808
+ $(document.createElement('div'))
809
+ .addClass('dropdown-backdrop')
810
+ .insertAfter($(this))
811
+ .on('click', clearMenus)
812
+ }
813
+
814
+ var relatedTarget = { relatedTarget: this }
815
+ $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
816
+
817
+ if (e.isDefaultPrevented()) return
818
+
819
+ $this
820
+ .trigger('focus')
821
+ .attr('aria-expanded', 'true')
822
+
823
+ $parent
824
+ .toggleClass('open')
825
+ .trigger($.Event('shown.bs.dropdown', relatedTarget))
826
+ }
827
+
828
+ return false
829
+ }
830
+
831
+ Dropdown.prototype.keydown = function (e) {
832
+ if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
833
+
834
+ var $this = $(this)
835
+
836
+ e.preventDefault()
837
+ e.stopPropagation()
838
+
839
+ if ($this.is('.disabled, :disabled')) return
840
+
841
+ var $parent = getParent($this)
842
+ var isActive = $parent.hasClass('open')
843
+
844
+ if (!isActive && e.which != 27 || isActive && e.which == 27) {
845
+ if (e.which == 27) $parent.find(toggle).trigger('focus')
846
+ return $this.trigger('click')
847
+ }
848
+
849
+ var desc = ' li:not(.disabled):visible a'
850
+ var $items = $parent.find('.dropdown-menu' + desc)
851
+
852
+ if (!$items.length) return
853
+
854
+ var index = $items.index(e.target)
855
+
856
+ if (e.which == 38 && index > 0) index-- // up
857
+ if (e.which == 40 && index < $items.length - 1) index++ // down
858
+ if (!~index) index = 0
859
+
860
+ $items.eq(index).trigger('focus')
861
+ }
862
+
863
+
864
+ // DROPDOWN PLUGIN DEFINITION
865
+ // ==========================
866
+
867
+ function Plugin(option) {
868
+ return this.each(function () {
869
+ var $this = $(this)
870
+ var data = $this.data('bs.dropdown')
871
+
872
+ if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
873
+ if (typeof option == 'string') data[option].call($this)
874
+ })
875
+ }
876
+
877
+ var old = $.fn.dropdown
878
+
879
+ $.fn.dropdown = Plugin
880
+ $.fn.dropdown.Constructor = Dropdown
881
+
882
+
883
+ // DROPDOWN NO CONFLICT
884
+ // ====================
885
+
886
+ $.fn.dropdown.noConflict = function () {
887
+ $.fn.dropdown = old
888
+ return this
889
+ }
890
+
891
+
892
+ // APPLY TO STANDARD DROPDOWN ELEMENTS
893
+ // ===================================
894
+
895
+ $(document)
896
+ .on('click.bs.dropdown.data-api', clearMenus)
897
+ .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
898
+ .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
899
+ .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
900
+ .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
901
+
902
+ }(jQuery);
903
+
904
+ /* ========================================================================
905
+ * Bootstrap: modal.js v3.3.6
906
+ * http://getbootstrap.com/javascript/#modals
907
+ * ========================================================================
908
+ * Copyright 2011-2015 Twitter, Inc.
909
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
910
+ * ======================================================================== */
911
+
912
+
913
+ +function ($) {
914
+ 'use strict';
915
+
916
+ // MODAL CLASS DEFINITION
917
+ // ======================
918
+
919
+ var Modal = function (element, options) {
920
+ this.options = options
921
+ this.$body = $(document.body)
922
+ this.$element = $(element)
923
+ this.$dialog = this.$element.find('.modal-dialog')
924
+ this.$backdrop = null
925
+ this.isShown = null
926
+ this.originalBodyPad = null
927
+ this.scrollbarWidth = 0
928
+ this.ignoreBackdropClick = false
929
+
930
+ if (this.options.remote) {
931
+ this.$element
932
+ .find('.modal-content')
933
+ .load(this.options.remote, $.proxy(function () {
934
+ this.$element.trigger('loaded.bs.modal')
935
+ }, this))
936
+ }
937
+ }
938
+
939
+ Modal.VERSION = '3.3.6'
940
+
941
+ Modal.TRANSITION_DURATION = 300
942
+ Modal.BACKDROP_TRANSITION_DURATION = 150
943
+
944
+ Modal.DEFAULTS = {
945
+ backdrop: true,
946
+ keyboard: true,
947
+ show: true
948
+ }
949
+
950
+ Modal.prototype.toggle = function (_relatedTarget) {
951
+ return this.isShown ? this.hide() : this.show(_relatedTarget)
952
+ }
953
+
954
+ Modal.prototype.show = function (_relatedTarget) {
955
+ var that = this
956
+ var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
957
+
958
+ this.$element.trigger(e)
959
+
960
+ if (this.isShown || e.isDefaultPrevented()) return
961
+
962
+ this.isShown = true
963
+
964
+ this.checkScrollbar()
965
+ this.setScrollbar()
966
+ this.$body.addClass('modal-open')
967
+
968
+ this.escape()
969
+ this.resize()
970
+
971
+ this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
972
+
973
+ this.$dialog.on('mousedown.dismiss.bs.modal', function () {
974
+ that.$element.one('mouseup.dismiss.bs.modal', function (e) {
975
+ if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
976
+ })
977
+ })
978
+
979
+ this.backdrop(function () {
980
+ var transition = $.support.transition && that.$element.hasClass('fade')
981
+
982
+ if (!that.$element.parent().length) {
983
+ that.$element.appendTo(that.$body) // don't move modals dom position
984
+ }
985
+
986
+ that.$element
987
+ .show()
988
+ .scrollTop(0)
989
+
990
+ that.adjustDialog()
991
+
992
+ if (transition) {
993
+ that.$element[0].offsetWidth // force reflow
994
+ }
995
+
996
+ that.$element.addClass('in')
997
+
998
+ that.enforceFocus()
999
+
1000
+ var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
1001
+
1002
+ transition ?
1003
+ that.$dialog // wait for modal to slide in
1004
+ .one('bsTransitionEnd', function () {
1005
+ that.$element.trigger('focus').trigger(e)
1006
+ })
1007
+ .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
1008
+ that.$element.trigger('focus').trigger(e)
1009
+ })
1010
+ }
1011
+
1012
+ Modal.prototype.hide = function (e) {
1013
+ if (e) e.preventDefault()
1014
+
1015
+ e = $.Event('hide.bs.modal')
1016
+
1017
+ this.$element.trigger(e)
1018
+
1019
+ if (!this.isShown || e.isDefaultPrevented()) return
1020
+
1021
+ this.isShown = false
1022
+
1023
+ this.escape()
1024
+ this.resize()
1025
+
1026
+ $(document).off('focusin.bs.modal')
1027
+
1028
+ this.$element
1029
+ .removeClass('in')
1030
+ .off('click.dismiss.bs.modal')
1031
+ .off('mouseup.dismiss.bs.modal')
1032
+
1033
+ this.$dialog.off('mousedown.dismiss.bs.modal')
1034
+
1035
+ $.support.transition && this.$element.hasClass('fade') ?
1036
+ this.$element
1037
+ .one('bsTransitionEnd', $.proxy(this.hideModal, this))
1038
+ .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
1039
+ this.hideModal()
1040
+ }
1041
+
1042
+ Modal.prototype.enforceFocus = function () {
1043
+ $(document)
1044
+ .off('focusin.bs.modal') // guard against infinite focus loop
1045
+ .on('focusin.bs.modal', $.proxy(function (e) {
1046
+ if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
1047
+ this.$element.trigger('focus')
1048
+ }
1049
+ }, this))
1050
+ }
1051
+
1052
+ Modal.prototype.escape = function () {
1053
+ if (this.isShown && this.options.keyboard) {
1054
+ this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
1055
+ e.which == 27 && this.hide()
1056
+ }, this))
1057
+ } else if (!this.isShown) {
1058
+ this.$element.off('keydown.dismiss.bs.modal')
1059
+ }
1060
+ }
1061
+
1062
+ Modal.prototype.resize = function () {
1063
+ if (this.isShown) {
1064
+ $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
1065
+ } else {
1066
+ $(window).off('resize.bs.modal')
1067
+ }
1068
+ }
1069
+
1070
+ Modal.prototype.hideModal = function () {
1071
+ var that = this
1072
+ this.$element.hide()
1073
+ this.backdrop(function () {
1074
+ that.$body.removeClass('modal-open')
1075
+ that.resetAdjustments()
1076
+ that.resetScrollbar()
1077
+ that.$element.trigger('hidden.bs.modal')
1078
+ })
1079
+ }
1080
+
1081
+ Modal.prototype.removeBackdrop = function () {
1082
+ this.$backdrop && this.$backdrop.remove()
1083
+ this.$backdrop = null
1084
+ }
1085
+
1086
+ Modal.prototype.backdrop = function (callback) {
1087
+ var that = this
1088
+ var animate = this.$element.hasClass('fade') ? 'fade' : ''
1089
+
1090
+ if (this.isShown && this.options.backdrop) {
1091
+ var doAnimate = $.support.transition && animate
1092
+
1093
+ this.$backdrop = $(document.createElement('div'))
1094
+ .addClass('modal-backdrop ' + animate)
1095
+ .appendTo(this.$body)
1096
+
1097
+ this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
1098
+ if (this.ignoreBackdropClick) {
1099
+ this.ignoreBackdropClick = false
1100
+ return
1101
+ }
1102
+ if (e.target !== e.currentTarget) return
1103
+ this.options.backdrop == 'static'
1104
+ ? this.$element[0].focus()
1105
+ : this.hide()
1106
+ }, this))
1107
+
1108
+ if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
1109
+
1110
+ this.$backdrop.addClass('in')
1111
+
1112
+ if (!callback) return
1113
+
1114
+ doAnimate ?
1115
+ this.$backdrop
1116
+ .one('bsTransitionEnd', callback)
1117
+ .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
1118
+ callback()
1119
+
1120
+ } else if (!this.isShown && this.$backdrop) {
1121
+ this.$backdrop.removeClass('in')
1122
+
1123
+ var callbackRemove = function () {
1124
+ that.removeBackdrop()
1125
+ callback && callback()
1126
+ }
1127
+ $.support.transition && this.$element.hasClass('fade') ?
1128
+ this.$backdrop
1129
+ .one('bsTransitionEnd', callbackRemove)
1130
+ .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
1131
+ callbackRemove()
1132
+
1133
+ } else if (callback) {
1134
+ callback()
1135
+ }
1136
+ }
1137
+
1138
+ // these following methods are used to handle overflowing modals
1139
+
1140
+ Modal.prototype.handleUpdate = function () {
1141
+ this.adjustDialog()
1142
+ }
1143
+
1144
+ Modal.prototype.adjustDialog = function () {
1145
+ var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
1146
+
1147
+ this.$element.css({
1148
+ paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
1149
+ paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
1150
+ })
1151
+ }
1152
+
1153
+ Modal.prototype.resetAdjustments = function () {
1154
+ this.$element.css({
1155
+ paddingLeft: '',
1156
+ paddingRight: ''
1157
+ })
1158
+ }
1159
+
1160
+ Modal.prototype.checkScrollbar = function () {
1161
+ var fullWindowWidth = window.innerWidth
1162
+ if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
1163
+ var documentElementRect = document.documentElement.getBoundingClientRect()
1164
+ fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
1165
+ }
1166
+ this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
1167
+ this.scrollbarWidth = this.measureScrollbar()
1168
+ }
1169
+
1170
+ Modal.prototype.setScrollbar = function () {
1171
+ var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
1172
+ this.originalBodyPad = document.body.style.paddingRight || ''
1173
+ if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
1174
+ }
1175
+
1176
+ Modal.prototype.resetScrollbar = function () {
1177
+ this.$body.css('padding-right', this.originalBodyPad)
1178
+ }
1179
+
1180
+ Modal.prototype.measureScrollbar = function () { // thx walsh
1181
+ var scrollDiv = document.createElement('div')
1182
+ scrollDiv.className = 'modal-scrollbar-measure'
1183
+ this.$body.append(scrollDiv)
1184
+ var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
1185
+ this.$body[0].removeChild(scrollDiv)
1186
+ return scrollbarWidth
1187
+ }
1188
+
1189
+
1190
+ // MODAL PLUGIN DEFINITION
1191
+ // =======================
1192
+
1193
+ function Plugin(option, _relatedTarget) {
1194
+ return this.each(function () {
1195
+ var $this = $(this)
1196
+ var data = $this.data('bs.modal')
1197
+ var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
1198
+
1199
+ if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
1200
+ if (typeof option == 'string') data[option](_relatedTarget)
1201
+ else if (options.show) data.show(_relatedTarget)
1202
+ })
1203
+ }
1204
+
1205
+ var old = $.fn.modal
1206
+
1207
+ $.fn.modal = Plugin
1208
+ $.fn.modal.Constructor = Modal
1209
+
1210
+
1211
+ // MODAL NO CONFLICT
1212
+ // =================
1213
+
1214
+ $.fn.modal.noConflict = function () {
1215
+ $.fn.modal = old
1216
+ return this
1217
+ }
1218
+
1219
+
1220
+ // MODAL DATA-API
1221
+ // ==============
1222
+
1223
+ $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
1224
+ var $this = $(this)
1225
+ var href = $this.attr('href')
1226
+ var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
1227
+ var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
1228
+
1229
+ if ($this.is('a')) e.preventDefault()
1230
+
1231
+ $target.one('show.bs.modal', function (showEvent) {
1232
+ if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
1233
+ $target.one('hidden.bs.modal', function () {
1234
+ $this.is(':visible') && $this.trigger('focus')
1235
+ })
1236
+ })
1237
+ Plugin.call($target, option, this)
1238
+ })
1239
+
1240
+ }(jQuery);
1241
+
1242
+ /* ========================================================================
1243
+ * Bootstrap: tooltip.js v3.3.6
1244
+ * http://getbootstrap.com/javascript/#tooltip
1245
+ * Inspired by the original jQuery.tipsy by Jason Frame
1246
+ * ========================================================================
1247
+ * Copyright 2011-2015 Twitter, Inc.
1248
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1249
+ * ======================================================================== */
1250
+
1251
+
1252
+ +function ($) {
1253
+ 'use strict';
1254
+
1255
+ // TOOLTIP PUBLIC CLASS DEFINITION
1256
+ // ===============================
1257
+
1258
+ var Tooltip = function (element, options) {
1259
+ this.type = null
1260
+ this.options = null
1261
+ this.enabled = null
1262
+ this.timeout = null
1263
+ this.hoverState = null
1264
+ this.$element = null
1265
+ this.inState = null
1266
+
1267
+ this.init('tooltip', element, options)
1268
+ }
1269
+
1270
+ Tooltip.VERSION = '3.3.6'
1271
+
1272
+ Tooltip.TRANSITION_DURATION = 150
1273
+
1274
+ Tooltip.DEFAULTS = {
1275
+ animation: true,
1276
+ placement: 'top',
1277
+ selector: false,
1278
+ template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
1279
+ trigger: 'hover focus',
1280
+ title: '',
1281
+ delay: 0,
1282
+ html: false,
1283
+ container: false,
1284
+ viewport: {
1285
+ selector: 'body',
1286
+ padding: 0
1287
+ }
1288
+ }
1289
+
1290
+ Tooltip.prototype.init = function (type, element, options) {
1291
+ this.enabled = true
1292
+ this.type = type
1293
+ this.$element = $(element)
1294
+ this.options = this.getOptions(options)
1295
+ this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
1296
+ this.inState = { click: false, hover: false, focus: false }
1297
+
1298
+ if (this.$element[0] instanceof document.constructor && !this.options.selector) {
1299
+ throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
1300
+ }
1301
+
1302
+ var triggers = this.options.trigger.split(' ')
1303
+
1304
+ for (var i = triggers.length; i--;) {
1305
+ var trigger = triggers[i]
1306
+
1307
+ if (trigger == 'click') {
1308
+ this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
1309
+ } else if (trigger != 'manual') {
1310
+ var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'
1311
+ var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
1312
+
1313
+ this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
1314
+ this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
1315
+ }
1316
+ }
1317
+
1318
+ this.options.selector ?
1319
+ (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
1320
+ this.fixTitle()
1321
+ }
1322
+
1323
+ Tooltip.prototype.getDefaults = function () {
1324
+ return Tooltip.DEFAULTS
1325
+ }
1326
+
1327
+ Tooltip.prototype.getOptions = function (options) {
1328
+ options = $.extend({}, this.getDefaults(), this.$element.data(), options)
1329
+
1330
+ if (options.delay && typeof options.delay == 'number') {
1331
+ options.delay = {
1332
+ show: options.delay,
1333
+ hide: options.delay
1334
+ }
1335
+ }
1336
+
1337
+ return options
1338
+ }
1339
+
1340
+ Tooltip.prototype.getDelegateOptions = function () {
1341
+ var options = {}
1342
+ var defaults = this.getDefaults()
1343
+
1344
+ this._options && $.each(this._options, function (key, value) {
1345
+ if (defaults[key] != value) options[key] = value
1346
+ })
1347
+
1348
+ return options
1349
+ }
1350
+
1351
+ Tooltip.prototype.enter = function (obj) {
1352
+ var self = obj instanceof this.constructor ?
1353
+ obj : $(obj.currentTarget).data('bs.' + this.type)
1354
+
1355
+ if (!self) {
1356
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
1357
+ $(obj.currentTarget).data('bs.' + this.type, self)
1358
+ }
1359
+
1360
+ if (obj instanceof $.Event) {
1361
+ self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
1362
+ }
1363
+
1364
+ if (self.tip().hasClass('in') || self.hoverState == 'in') {
1365
+ self.hoverState = 'in'
1366
+ return
1367
+ }
1368
+
1369
+ clearTimeout(self.timeout)
1370
+
1371
+ self.hoverState = 'in'
1372
+
1373
+ if (!self.options.delay || !self.options.delay.show) return self.show()
1374
+
1375
+ self.timeout = setTimeout(function () {
1376
+ if (self.hoverState == 'in') self.show()
1377
+ }, self.options.delay.show)
1378
+ }
1379
+
1380
+ Tooltip.prototype.isInStateTrue = function () {
1381
+ for (var key in this.inState) {
1382
+ if (this.inState[key]) return true
1383
+ }
1384
+
1385
+ return false
1386
+ }
1387
+
1388
+ Tooltip.prototype.leave = function (obj) {
1389
+ var self = obj instanceof this.constructor ?
1390
+ obj : $(obj.currentTarget).data('bs.' + this.type)
1391
+
1392
+ if (!self) {
1393
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
1394
+ $(obj.currentTarget).data('bs.' + this.type, self)
1395
+ }
1396
+
1397
+ if (obj instanceof $.Event) {
1398
+ self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
1399
+ }
1400
+
1401
+ if (self.isInStateTrue()) return
1402
+
1403
+ clearTimeout(self.timeout)
1404
+
1405
+ self.hoverState = 'out'
1406
+
1407
+ if (!self.options.delay || !self.options.delay.hide) return self.hide()
1408
+
1409
+ self.timeout = setTimeout(function () {
1410
+ if (self.hoverState == 'out') self.hide()
1411
+ }, self.options.delay.hide)
1412
+ }
1413
+
1414
+ Tooltip.prototype.show = function () {
1415
+ var e = $.Event('show.bs.' + this.type)
1416
+
1417
+ if (this.hasContent() && this.enabled) {
1418
+ this.$element.trigger(e)
1419
+
1420
+ var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
1421
+ if (e.isDefaultPrevented() || !inDom) return
1422
+ var that = this
1423
+
1424
+ var $tip = this.tip()
1425
+
1426
+ var tipId = this.getUID(this.type)
1427
+
1428
+ this.setContent()
1429
+ $tip.attr('id', tipId)
1430
+ this.$element.attr('aria-describedby', tipId)
1431
+
1432
+ if (this.options.animation) $tip.addClass('fade')
1433
+
1434
+ var placement = typeof this.options.placement == 'function' ?
1435
+ this.options.placement.call(this, $tip[0], this.$element[0]) :
1436
+ this.options.placement
1437
+
1438
+ var autoToken = /\s?auto?\s?/i
1439
+ var autoPlace = autoToken.test(placement)
1440
+ if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
1441
+
1442
+ $tip
1443
+ .detach()
1444
+ .css({ top: 0, left: 0, display: 'block' })
1445
+ .addClass(placement)
1446
+ .data('bs.' + this.type, this)
1447
+
1448
+ this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
1449
+ this.$element.trigger('inserted.bs.' + this.type)
1450
+
1451
+ var pos = this.getPosition()
1452
+ var actualWidth = $tip[0].offsetWidth
1453
+ var actualHeight = $tip[0].offsetHeight
1454
+
1455
+ if (autoPlace) {
1456
+ var orgPlacement = placement
1457
+ var viewportDim = this.getPosition(this.$viewport)
1458
+
1459
+ placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
1460
+ placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
1461
+ placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
1462
+ placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
1463
+ placement
1464
+
1465
+ $tip
1466
+ .removeClass(orgPlacement)
1467
+ .addClass(placement)
1468
+ }
1469
+
1470
+ var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
1471
+
1472
+ this.applyPlacement(calculatedOffset, placement)
1473
+
1474
+ var complete = function () {
1475
+ var prevHoverState = that.hoverState
1476
+ that.$element.trigger('shown.bs.' + that.type)
1477
+ that.hoverState = null
1478
+
1479
+ if (prevHoverState == 'out') that.leave(that)
1480
+ }
1481
+
1482
+ $.support.transition && this.$tip.hasClass('fade') ?
1483
+ $tip
1484
+ .one('bsTransitionEnd', complete)
1485
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
1486
+ complete()
1487
+ }
1488
+ }
1489
+
1490
+ Tooltip.prototype.applyPlacement = function (offset, placement) {
1491
+ var $tip = this.tip()
1492
+ var width = $tip[0].offsetWidth
1493
+ var height = $tip[0].offsetHeight
1494
+
1495
+ // manually read margins because getBoundingClientRect includes difference
1496
+ var marginTop = parseInt($tip.css('margin-top'), 10)
1497
+ var marginLeft = parseInt($tip.css('margin-left'), 10)
1498
+
1499
+ // we must check for NaN for ie 8/9
1500
+ if (isNaN(marginTop)) marginTop = 0
1501
+ if (isNaN(marginLeft)) marginLeft = 0
1502
+
1503
+ offset.top += marginTop
1504
+ offset.left += marginLeft
1505
+
1506
+ // $.fn.offset doesn't round pixel values
1507
+ // so we use setOffset directly with our own function B-0
1508
+ $.offset.setOffset($tip[0], $.extend({
1509
+ using: function (props) {
1510
+ $tip.css({
1511
+ top: Math.round(props.top),
1512
+ left: Math.round(props.left)
1513
+ })
1514
+ }
1515
+ }, offset), 0)
1516
+
1517
+ $tip.addClass('in')
1518
+
1519
+ // check to see if placing tip in new offset caused the tip to resize itself
1520
+ var actualWidth = $tip[0].offsetWidth
1521
+ var actualHeight = $tip[0].offsetHeight
1522
+
1523
+ if (placement == 'top' && actualHeight != height) {
1524
+ offset.top = offset.top + height - actualHeight
1525
+ }
1526
+
1527
+ var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
1528
+
1529
+ if (delta.left) offset.left += delta.left
1530
+ else offset.top += delta.top
1531
+
1532
+ var isVertical = /top|bottom/.test(placement)
1533
+ var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
1534
+ var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
1535
+
1536
+ $tip.offset(offset)
1537
+ this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
1538
+ }
1539
+
1540
+ Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
1541
+ this.arrow()
1542
+ .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
1543
+ .css(isVertical ? 'top' : 'left', '')
1544
+ }
1545
+
1546
+ Tooltip.prototype.setContent = function () {
1547
+ var $tip = this.tip()
1548
+ var title = this.getTitle()
1549
+
1550
+ $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
1551
+ $tip.removeClass('fade in top bottom left right')
1552
+ }
1553
+
1554
+ Tooltip.prototype.hide = function (callback) {
1555
+ var that = this
1556
+ var $tip = $(this.$tip)
1557
+ var e = $.Event('hide.bs.' + this.type)
1558
+
1559
+ function complete() {
1560
+ if (that.hoverState != 'in') $tip.detach()
1561
+ that.$element
1562
+ .removeAttr('aria-describedby')
1563
+ .trigger('hidden.bs.' + that.type)
1564
+ callback && callback()
1565
+ }
1566
+
1567
+ this.$element.trigger(e)
1568
+
1569
+ if (e.isDefaultPrevented()) return
1570
+
1571
+ $tip.removeClass('in')
1572
+
1573
+ $.support.transition && $tip.hasClass('fade') ?
1574
+ $tip
1575
+ .one('bsTransitionEnd', complete)
1576
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
1577
+ complete()
1578
+
1579
+ this.hoverState = null
1580
+
1581
+ return this
1582
+ }
1583
+
1584
+ Tooltip.prototype.fixTitle = function () {
1585
+ var $e = this.$element
1586
+ if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
1587
+ $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
1588
+ }
1589
+ }
1590
+
1591
+ Tooltip.prototype.hasContent = function () {
1592
+ return this.getTitle()
1593
+ }
1594
+
1595
+ Tooltip.prototype.getPosition = function ($element) {
1596
+ $element = $element || this.$element
1597
+
1598
+ var el = $element[0]
1599
+ var isBody = el.tagName == 'BODY'
1600
+
1601
+ var elRect = el.getBoundingClientRect()
1602
+ if (elRect.width == null) {
1603
+ // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
1604
+ elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
1605
+ }
1606
+ var elOffset = isBody ? { top: 0, left: 0 } : $element.offset()
1607
+ var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
1608
+ var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
1609
+
1610
+ return $.extend({}, elRect, scroll, outerDims, elOffset)
1611
+ }
1612
+
1613
+ Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
1614
+ return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
1615
+ placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
1616
+ placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
1617
+ /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
1618
+
1619
+ }
1620
+
1621
+ Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
1622
+ var delta = { top: 0, left: 0 }
1623
+ if (!this.$viewport) return delta
1624
+
1625
+ var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
1626
+ var viewportDimensions = this.getPosition(this.$viewport)
1627
+
1628
+ if (/right|left/.test(placement)) {
1629
+ var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll
1630
+ var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
1631
+ if (topEdgeOffset < viewportDimensions.top) { // top overflow
1632
+ delta.top = viewportDimensions.top - topEdgeOffset
1633
+ } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
1634
+ delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
1635
+ }
1636
+ } else {
1637
+ var leftEdgeOffset = pos.left - viewportPadding
1638
+ var rightEdgeOffset = pos.left + viewportPadding + actualWidth
1639
+ if (leftEdgeOffset < viewportDimensions.left) { // left overflow
1640
+ delta.left = viewportDimensions.left - leftEdgeOffset
1641
+ } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
1642
+ delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
1643
+ }
1644
+ }
1645
+
1646
+ return delta
1647
+ }
1648
+
1649
+ Tooltip.prototype.getTitle = function () {
1650
+ var title
1651
+ var $e = this.$element
1652
+ var o = this.options
1653
+
1654
+ title = $e.attr('data-original-title')
1655
+ || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
1656
+
1657
+ return title
1658
+ }
1659
+
1660
+ Tooltip.prototype.getUID = function (prefix) {
1661
+ do prefix += ~~(Math.random() * 1000000)
1662
+ while (document.getElementById(prefix))
1663
+ return prefix
1664
+ }
1665
+
1666
+ Tooltip.prototype.tip = function () {
1667
+ if (!this.$tip) {
1668
+ this.$tip = $(this.options.template)
1669
+ if (this.$tip.length != 1) {
1670
+ throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
1671
+ }
1672
+ }
1673
+ return this.$tip
1674
+ }
1675
+
1676
+ Tooltip.prototype.arrow = function () {
1677
+ return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
1678
+ }
1679
+
1680
+ Tooltip.prototype.enable = function () {
1681
+ this.enabled = true
1682
+ }
1683
+
1684
+ Tooltip.prototype.disable = function () {
1685
+ this.enabled = false
1686
+ }
1687
+
1688
+ Tooltip.prototype.toggleEnabled = function () {
1689
+ this.enabled = !this.enabled
1690
+ }
1691
+
1692
+ Tooltip.prototype.toggle = function (e) {
1693
+ var self = this
1694
+ if (e) {
1695
+ self = $(e.currentTarget).data('bs.' + this.type)
1696
+ if (!self) {
1697
+ self = new this.constructor(e.currentTarget, this.getDelegateOptions())
1698
+ $(e.currentTarget).data('bs.' + this.type, self)
1699
+ }
1700
+ }
1701
+
1702
+ if (e) {
1703
+ self.inState.click = !self.inState.click
1704
+ if (self.isInStateTrue()) self.enter(self)
1705
+ else self.leave(self)
1706
+ } else {
1707
+ self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
1708
+ }
1709
+ }
1710
+
1711
+ Tooltip.prototype.destroy = function () {
1712
+ var that = this
1713
+ clearTimeout(this.timeout)
1714
+ this.hide(function () {
1715
+ that.$element.off('.' + that.type).removeData('bs.' + that.type)
1716
+ if (that.$tip) {
1717
+ that.$tip.detach()
1718
+ }
1719
+ that.$tip = null
1720
+ that.$arrow = null
1721
+ that.$viewport = null
1722
+ })
1723
+ }
1724
+
1725
+
1726
+ // TOOLTIP PLUGIN DEFINITION
1727
+ // =========================
1728
+
1729
+ function Plugin(option) {
1730
+ return this.each(function () {
1731
+ var $this = $(this)
1732
+ var data = $this.data('bs.tooltip')
1733
+ var options = typeof option == 'object' && option
1734
+
1735
+ if (!data && /destroy|hide/.test(option)) return
1736
+ if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
1737
+ if (typeof option == 'string') data[option]()
1738
+ })
1739
+ }
1740
+
1741
+ var old = $.fn.tooltip
1742
+
1743
+ $.fn.tooltip = Plugin
1744
+ $.fn.tooltip.Constructor = Tooltip
1745
+
1746
+
1747
+ // TOOLTIP NO CONFLICT
1748
+ // ===================
1749
+
1750
+ $.fn.tooltip.noConflict = function () {
1751
+ $.fn.tooltip = old
1752
+ return this
1753
+ }
1754
+
1755
+ }(jQuery);
1756
+
1757
+ /* ========================================================================
1758
+ * Bootstrap: popover.js v3.3.6
1759
+ * http://getbootstrap.com/javascript/#popovers
1760
+ * ========================================================================
1761
+ * Copyright 2011-2015 Twitter, Inc.
1762
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1763
+ * ======================================================================== */
1764
+
1765
+
1766
+ +function ($) {
1767
+ 'use strict';
1768
+
1769
+ // POPOVER PUBLIC CLASS DEFINITION
1770
+ // ===============================
1771
+
1772
+ var Popover = function (element, options) {
1773
+ this.init('popover', element, options)
1774
+ }
1775
+
1776
+ if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
1777
+
1778
+ Popover.VERSION = '3.3.6'
1779
+
1780
+ Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
1781
+ placement: 'right',
1782
+ trigger: 'click',
1783
+ content: '',
1784
+ template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
1785
+ })
1786
+
1787
+
1788
+ // NOTE: POPOVER EXTENDS tooltip.js
1789
+ // ================================
1790
+
1791
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
1792
+
1793
+ Popover.prototype.constructor = Popover
1794
+
1795
+ Popover.prototype.getDefaults = function () {
1796
+ return Popover.DEFAULTS
1797
+ }
1798
+
1799
+ Popover.prototype.setContent = function () {
1800
+ var $tip = this.tip()
1801
+ var title = this.getTitle()
1802
+ var content = this.getContent()
1803
+
1804
+ $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
1805
+ $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
1806
+ this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
1807
+ ](content)
1808
+
1809
+ $tip.removeClass('fade top bottom left right in')
1810
+
1811
+ // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
1812
+ // this manually by checking the contents.
1813
+ if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
1814
+ }
1815
+
1816
+ Popover.prototype.hasContent = function () {
1817
+ return this.getTitle() || this.getContent()
1818
+ }
1819
+
1820
+ Popover.prototype.getContent = function () {
1821
+ var $e = this.$element
1822
+ var o = this.options
1823
+
1824
+ return $e.attr('data-content')
1825
+ || (typeof o.content == 'function' ?
1826
+ o.content.call($e[0]) :
1827
+ o.content)
1828
+ }
1829
+
1830
+ Popover.prototype.arrow = function () {
1831
+ return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
1832
+ }
1833
+
1834
+
1835
+ // POPOVER PLUGIN DEFINITION
1836
+ // =========================
1837
+
1838
+ function Plugin(option) {
1839
+ return this.each(function () {
1840
+ var $this = $(this)
1841
+ var data = $this.data('bs.popover')
1842
+ var options = typeof option == 'object' && option
1843
+
1844
+ if (!data && /destroy|hide/.test(option)) return
1845
+ if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
1846
+ if (typeof option == 'string') data[option]()
1847
+ })
1848
+ }
1849
+
1850
+ var old = $.fn.popover
1851
+
1852
+ $.fn.popover = Plugin
1853
+ $.fn.popover.Constructor = Popover
1854
+
1855
+
1856
+ // POPOVER NO CONFLICT
1857
+ // ===================
1858
+
1859
+ $.fn.popover.noConflict = function () {
1860
+ $.fn.popover = old
1861
+ return this
1862
+ }
1863
+
1864
+ }(jQuery);
1865
+
1866
+ /* ========================================================================
1867
+ * Bootstrap: scrollspy.js v3.3.6
1868
+ * http://getbootstrap.com/javascript/#scrollspy
1869
+ * ========================================================================
1870
+ * Copyright 2011-2015 Twitter, Inc.
1871
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1872
+ * ======================================================================== */
1873
+
1874
+
1875
+ +function ($) {
1876
+ 'use strict';
1877
+
1878
+ // SCROLLSPY CLASS DEFINITION
1879
+ // ==========================
1880
+
1881
+ function ScrollSpy(element, options) {
1882
+ this.$body = $(document.body)
1883
+ this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
1884
+ this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
1885
+ this.selector = (this.options.target || '') + ' .nav li > a'
1886
+ this.offsets = []
1887
+ this.targets = []
1888
+ this.activeTarget = null
1889
+ this.scrollHeight = 0
1890
+
1891
+ this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
1892
+ this.refresh()
1893
+ this.process()
1894
+ }
1895
+
1896
+ ScrollSpy.VERSION = '3.3.6'
1897
+
1898
+ ScrollSpy.DEFAULTS = {
1899
+ offset: 10
1900
+ }
1901
+
1902
+ ScrollSpy.prototype.getScrollHeight = function () {
1903
+ return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
1904
+ }
1905
+
1906
+ ScrollSpy.prototype.refresh = function () {
1907
+ var that = this
1908
+ var offsetMethod = 'offset'
1909
+ var offsetBase = 0
1910
+
1911
+ this.offsets = []
1912
+ this.targets = []
1913
+ this.scrollHeight = this.getScrollHeight()
1914
+
1915
+ if (!$.isWindow(this.$scrollElement[0])) {
1916
+ offsetMethod = 'position'
1917
+ offsetBase = this.$scrollElement.scrollTop()
1918
+ }
1919
+
1920
+ this.$body
1921
+ .find(this.selector)
1922
+ .map(function () {
1923
+ var $el = $(this)
1924
+ var href = $el.data('target') || $el.attr('href')
1925
+ var $href = /^#./.test(href) && $(href)
1926
+
1927
+ return ($href
1928
+ && $href.length
1929
+ && $href.is(':visible')
1930
+ && [[$href[offsetMethod]().top + offsetBase, href]]) || null
1931
+ })
1932
+ .sort(function (a, b) { return a[0] - b[0] })
1933
+ .each(function () {
1934
+ that.offsets.push(this[0])
1935
+ that.targets.push(this[1])
1936
+ })
1937
+ }
1938
+
1939
+ ScrollSpy.prototype.process = function () {
1940
+ var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
1941
+ var scrollHeight = this.getScrollHeight()
1942
+ var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height()
1943
+ var offsets = this.offsets
1944
+ var targets = this.targets
1945
+ var activeTarget = this.activeTarget
1946
+ var i
1947
+
1948
+ if (this.scrollHeight != scrollHeight) {
1949
+ this.refresh()
1950
+ }
1951
+
1952
+ if (scrollTop >= maxScroll) {
1953
+ return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
1954
+ }
1955
+
1956
+ if (activeTarget && scrollTop < offsets[0]) {
1957
+ this.activeTarget = null
1958
+ return this.clear()
1959
+ }
1960
+
1961
+ for (i = offsets.length; i--;) {
1962
+ activeTarget != targets[i]
1963
+ && scrollTop >= offsets[i]
1964
+ && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
1965
+ && this.activate(targets[i])
1966
+ }
1967
+ }
1968
+
1969
+ ScrollSpy.prototype.activate = function (target) {
1970
+ this.activeTarget = target
1971
+
1972
+ this.clear()
1973
+
1974
+ var selector = this.selector +
1975
+ '[data-target="' + target + '"],' +
1976
+ this.selector + '[href="' + target + '"]'
1977
+
1978
+ var active = $(selector)
1979
+ .parents('li')
1980
+ .addClass('active')
1981
+
1982
+ if (active.parent('.dropdown-menu').length) {
1983
+ active = active
1984
+ .closest('li.dropdown')
1985
+ .addClass('active')
1986
+ }
1987
+
1988
+ active.trigger('activate.bs.scrollspy')
1989
+ }
1990
+
1991
+ ScrollSpy.prototype.clear = function () {
1992
+ $(this.selector)
1993
+ .parentsUntil(this.options.target, '.active')
1994
+ .removeClass('active')
1995
+ }
1996
+
1997
+
1998
+ // SCROLLSPY PLUGIN DEFINITION
1999
+ // ===========================
2000
+
2001
+ function Plugin(option) {
2002
+ return this.each(function () {
2003
+ var $this = $(this)
2004
+ var data = $this.data('bs.scrollspy')
2005
+ var options = typeof option == 'object' && option
2006
+
2007
+ if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
2008
+ if (typeof option == 'string') data[option]()
2009
+ })
2010
+ }
2011
+
2012
+ var old = $.fn.scrollspy
2013
+
2014
+ $.fn.scrollspy = Plugin
2015
+ $.fn.scrollspy.Constructor = ScrollSpy
2016
+
2017
+
2018
+ // SCROLLSPY NO CONFLICT
2019
+ // =====================
2020
+
2021
+ $.fn.scrollspy.noConflict = function () {
2022
+ $.fn.scrollspy = old
2023
+ return this
2024
+ }
2025
+
2026
+
2027
+ // SCROLLSPY DATA-API
2028
+ // ==================
2029
+
2030
+ $(window).on('load.bs.scrollspy.data-api', function () {
2031
+ $('[data-spy="scroll"]').each(function () {
2032
+ var $spy = $(this)
2033
+ Plugin.call($spy, $spy.data())
2034
+ })
2035
+ })
2036
+
2037
+ }(jQuery);
2038
+
2039
+ /* ========================================================================
2040
+ * Bootstrap: tab.js v3.3.6
2041
+ * http://getbootstrap.com/javascript/#tabs
2042
+ * ========================================================================
2043
+ * Copyright 2011-2015 Twitter, Inc.
2044
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2045
+ * ======================================================================== */
2046
+
2047
+
2048
+ +function ($) {
2049
+ 'use strict';
2050
+
2051
+ // TAB CLASS DEFINITION
2052
+ // ====================
2053
+
2054
+ var Tab = function (element) {
2055
+ // jscs:disable requireDollarBeforejQueryAssignment
2056
+ this.element = $(element)
2057
+ // jscs:enable requireDollarBeforejQueryAssignment
2058
+ }
2059
+
2060
+ Tab.VERSION = '3.3.6'
2061
+
2062
+ Tab.TRANSITION_DURATION = 150
2063
+
2064
+ Tab.prototype.show = function () {
2065
+ var $this = this.element
2066
+ var $ul = $this.closest('ul:not(.dropdown-menu)')
2067
+ var selector = $this.data('target')
2068
+
2069
+ if (!selector) {
2070
+ selector = $this.attr('href')
2071
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
2072
+ }
2073
+
2074
+ if ($this.parent('li').hasClass('active')) return
2075
+
2076
+ var $previous = $ul.find('.active:last a')
2077
+ var hideEvent = $.Event('hide.bs.tab', {
2078
+ relatedTarget: $this[0]
2079
+ })
2080
+ var showEvent = $.Event('show.bs.tab', {
2081
+ relatedTarget: $previous[0]
2082
+ })
2083
+
2084
+ $previous.trigger(hideEvent)
2085
+ $this.trigger(showEvent)
2086
+
2087
+ if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
2088
+
2089
+ var $target = $(selector)
2090
+
2091
+ this.activate($this.closest('li'), $ul)
2092
+ this.activate($target, $target.parent(), function () {
2093
+ $previous.trigger({
2094
+ type: 'hidden.bs.tab',
2095
+ relatedTarget: $this[0]
2096
+ })
2097
+ $this.trigger({
2098
+ type: 'shown.bs.tab',
2099
+ relatedTarget: $previous[0]
2100
+ })
2101
+ })
2102
+ }
2103
+
2104
+ Tab.prototype.activate = function (element, container, callback) {
2105
+ var $active = container.find('> .active')
2106
+ var transition = callback
2107
+ && $.support.transition
2108
+ && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
2109
+
2110
+ function next() {
2111
+ $active
2112
+ .removeClass('active')
2113
+ .find('> .dropdown-menu > .active')
2114
+ .removeClass('active')
2115
+ .end()
2116
+ .find('[data-toggle="tab"]')
2117
+ .attr('aria-expanded', false)
2118
+
2119
+ element
2120
+ .addClass('active')
2121
+ .find('[data-toggle="tab"]')
2122
+ .attr('aria-expanded', true)
2123
+
2124
+ if (transition) {
2125
+ element[0].offsetWidth // reflow for transition
2126
+ element.addClass('in')
2127
+ } else {
2128
+ element.removeClass('fade')
2129
+ }
2130
+
2131
+ if (element.parent('.dropdown-menu').length) {
2132
+ element
2133
+ .closest('li.dropdown')
2134
+ .addClass('active')
2135
+ .end()
2136
+ .find('[data-toggle="tab"]')
2137
+ .attr('aria-expanded', true)
2138
+ }
2139
+
2140
+ callback && callback()
2141
+ }
2142
+
2143
+ $active.length && transition ?
2144
+ $active
2145
+ .one('bsTransitionEnd', next)
2146
+ .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
2147
+ next()
2148
+
2149
+ $active.removeClass('in')
2150
+ }
2151
+
2152
+
2153
+ // TAB PLUGIN DEFINITION
2154
+ // =====================
2155
+
2156
+ function Plugin(option) {
2157
+ return this.each(function () {
2158
+ var $this = $(this)
2159
+ var data = $this.data('bs.tab')
2160
+
2161
+ if (!data) $this.data('bs.tab', (data = new Tab(this)))
2162
+ if (typeof option == 'string') data[option]()
2163
+ })
2164
+ }
2165
+
2166
+ var old = $.fn.tab
2167
+
2168
+ $.fn.tab = Plugin
2169
+ $.fn.tab.Constructor = Tab
2170
+
2171
+
2172
+ // TAB NO CONFLICT
2173
+ // ===============
2174
+
2175
+ $.fn.tab.noConflict = function () {
2176
+ $.fn.tab = old
2177
+ return this
2178
+ }
2179
+
2180
+
2181
+ // TAB DATA-API
2182
+ // ============
2183
+
2184
+ var clickHandler = function (e) {
2185
+ e.preventDefault()
2186
+ Plugin.call($(this), 'show')
2187
+ }
2188
+
2189
+ $(document)
2190
+ .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
2191
+ .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
2192
+
2193
+ }(jQuery);
2194
+
2195
+ /* ========================================================================
2196
+ * Bootstrap: affix.js v3.3.6
2197
+ * http://getbootstrap.com/javascript/#affix
2198
+ * ========================================================================
2199
+ * Copyright 2011-2015 Twitter, Inc.
2200
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2201
+ * ======================================================================== */
2202
+
2203
+
2204
+ +function ($) {
2205
+ 'use strict';
2206
+
2207
+ // AFFIX CLASS DEFINITION
2208
+ // ======================
2209
+
2210
+ var Affix = function (element, options) {
2211
+ this.options = $.extend({}, Affix.DEFAULTS, options)
2212
+
2213
+ this.$target = $(this.options.target)
2214
+ .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
2215
+ .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
2216
+
2217
+ this.$element = $(element)
2218
+ this.affixed = null
2219
+ this.unpin = null
2220
+ this.pinnedOffset = null
2221
+
2222
+ this.checkPosition()
2223
+ }
2224
+
2225
+ Affix.VERSION = '3.3.6'
2226
+
2227
+ Affix.RESET = 'affix affix-top affix-bottom'
2228
+
2229
+ Affix.DEFAULTS = {
2230
+ offset: 0,
2231
+ target: window
2232
+ }
2233
+
2234
+ Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
2235
+ var scrollTop = this.$target.scrollTop()
2236
+ var position = this.$element.offset()
2237
+ var targetHeight = this.$target.height()
2238
+
2239
+ if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
2240
+
2241
+ if (this.affixed == 'bottom') {
2242
+ if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
2243
+ return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
2244
+ }
2245
+
2246
+ var initializing = this.affixed == null
2247
+ var colliderTop = initializing ? scrollTop : position.top
2248
+ var colliderHeight = initializing ? targetHeight : height
2249
+
2250
+ if (offsetTop != null && scrollTop <= offsetTop) return 'top'
2251
+ if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
2252
+
2253
+ return false
2254
+ }
2255
+
2256
+ Affix.prototype.getPinnedOffset = function () {
2257
+ if (this.pinnedOffset) return this.pinnedOffset
2258
+ this.$element.removeClass(Affix.RESET).addClass('affix')
2259
+ var scrollTop = this.$target.scrollTop()
2260
+ var position = this.$element.offset()
2261
+ return (this.pinnedOffset = position.top - scrollTop)
2262
+ }
2263
+
2264
+ Affix.prototype.checkPositionWithEventLoop = function () {
2265
+ setTimeout($.proxy(this.checkPosition, this), 1)
2266
+ }
2267
+
2268
+ Affix.prototype.checkPosition = function () {
2269
+ if (!this.$element.is(':visible')) return
2270
+
2271
+ var height = this.$element.height()
2272
+ var offset = this.options.offset
2273
+ var offsetTop = offset.top
2274
+ var offsetBottom = offset.bottom
2275
+ var scrollHeight = Math.max($(document).height(), $(document.body).height())
2276
+
2277
+ if (typeof offset != 'object') offsetBottom = offsetTop = offset
2278
+ if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
2279
+ if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
2280
+
2281
+ var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
2282
+
2283
+ if (this.affixed != affix) {
2284
+ if (this.unpin != null) this.$element.css('top', '')
2285
+
2286
+ var affixType = 'affix' + (affix ? '-' + affix : '')
2287
+ var e = $.Event(affixType + '.bs.affix')
2288
+
2289
+ this.$element.trigger(e)
2290
+
2291
+ if (e.isDefaultPrevented()) return
2292
+
2293
+ this.affixed = affix
2294
+ this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
2295
+
2296
+ this.$element
2297
+ .removeClass(Affix.RESET)
2298
+ .addClass(affixType)
2299
+ .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
2300
+ }
2301
+
2302
+ if (affix == 'bottom') {
2303
+ this.$element.offset({
2304
+ top: scrollHeight - height - offsetBottom
2305
+ })
2306
+ }
2307
+ }
2308
+
2309
+
2310
+ // AFFIX PLUGIN DEFINITION
2311
+ // =======================
2312
+
2313
+ function Plugin(option) {
2314
+ return this.each(function () {
2315
+ var $this = $(this)
2316
+ var data = $this.data('bs.affix')
2317
+ var options = typeof option == 'object' && option
2318
+
2319
+ if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
2320
+ if (typeof option == 'string') data[option]()
2321
+ })
2322
+ }
2323
+
2324
+ var old = $.fn.affix
2325
+
2326
+ $.fn.affix = Plugin
2327
+ $.fn.affix.Constructor = Affix
2328
+
2329
+
2330
+ // AFFIX NO CONFLICT
2331
+ // =================
2332
+
2333
+ $.fn.affix.noConflict = function () {
2334
+ $.fn.affix = old
2335
+ return this
2336
+ }
2337
+
2338
+
2339
+ // AFFIX DATA-API
2340
+ // ==============
2341
+
2342
+ $(window).on('load', function () {
2343
+ $('[data-spy="affix"]').each(function () {
2344
+ var $spy = $(this)
2345
+ var data = $spy.data()
2346
+
2347
+ data.offset = data.offset || {}
2348
+
2349
+ if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
2350
+ if (data.offsetTop != null) data.offset.top = data.offsetTop
2351
+
2352
+ Plugin.call($spy, data)
2353
+ })
2354
+ })
2355
+
2356
+ }(jQuery);
tabs-responsive-elementor-addon/includes/tabs-responsive-addon-content.php ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <#
2
+ var post_id='<?php echo get_the_ID(); ?>';
3
+ #>
4
+ <div id="tab_container_{{post_id}}" >
5
+
6
+ <ul class="wpsm_nav wpsm_nav-tabs" role="tablist" id="myTab_{{post_id}}">
7
+ <#
8
+ var i=1;
9
+ var j=1;
10
+ if ( settings.tabs_list.length ) {
11
+ _.each( settings.tabs_list, function( item,index ) {
12
+
13
+ #>
14
+
15
+ <li role="presentation" '<# if(i==1){ #>' class="active" '<# } #>' >
16
+ <a href="#tabs_desc_{{post_id}}_{{i}}" aria-controls="tabs_desc_{{post_id}}_{{i}}" role="tab" data-toggle="tab" class="tabs-anchor-class">
17
+
18
+ <# if(settings.tabs_ic_pt_align=="1"){ #>
19
+ <# if(settings.dis_op_title_icon=="1" || settings.dis_op_title_icon=="3") { #>
20
+ <# if(item.tabs_responsive_show_above_icon=="yes") { #> <i class="{{item.tabs_responsive_icon}}"></i> <# } #>
21
+ <# }
22
+ } #>
23
+
24
+ <# if(settings.dis_op_title_icon=="1" || settings.dis_op_title_icon=="2") { #>
25
+
26
+ <span>{{item.tabs_responsive_title}}</span>
27
+
28
+ <# } #>
29
+
30
+ <# if(settings.tabs_ic_pt_align=="2"){ #>
31
+ <# if(settings.dis_op_title_icon=="1" || #settings.dis_op_title_icon=="3") { #>
32
+ <# if(item.tabs_responsive_show_above_icon=="yes") { #> <i class="{{item.tabs_responsive_icon}}"></i> <# }#>
33
+ <# }
34
+ } #>
35
+
36
+
37
+ </a>
38
+ </li>
39
+ <# i++; }); #>
40
+ </ul>
41
+
42
+ <!-- Tab panes -->
43
+ <div class="tab-content tab-content-border" id="tab-content_{{post_id}}">
44
+ <# _.each( settings.tabs_list, function( item,index ) {
45
+
46
+ tab_responsive_Key = view.getRepeaterSettingKey( 'tabs_responsive_description', 'tabs_list', index );
47
+ view.addInlineEditingAttributes( tab_responsive_Key, 'none' );
48
+
49
+ #>
50
+ <div role="tabpanel" class="tab-pane '<# if(j==1){ #>' in active '<# } #>'" id="tabs_desc_{{post_id}}_{{j}}">
51
+ <span {{{ view.getRenderAttributeString( tab_responsive_Key ) }}}>{{item.tabs_responsive_description}}</span>
52
+ </div>
53
+ <# j++; });
54
+ }
55
+ #>
56
+ </div>
57
+
58
+ </div>
tabs-responsive-elementor-addon/includes/tabs-responsive-addon-controls.php ADDED
@@ -0,0 +1,555 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $this->start_controls_section(
3
+ 'tabs_design_section',
4
+ [
5
+ 'label' => __( 'Design', 'tabs-responsive' ),
6
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
7
+ ]
8
+ );
9
+
10
+ $this->add_control(
11
+ 'tabs_select_design',
12
+ [
13
+ 'label' => __( 'Select Design', 'wpshopmart_tabs_r_text_domain' ),
14
+ 'type' => \Elementor\Controls_Manager::SELECT,
15
+ 'default' => '1',
16
+ 'options' => [
17
+ '1' => __( 'Design-1', 'wpshopmart_tabs_r_text_domain' ),
18
+ ],
19
+ ]
20
+ );
21
+
22
+ $this->end_controls_section();
23
+
24
+ $this->start_controls_section(
25
+ 'tabs_content_section',
26
+ [
27
+ 'label' => __( 'Content', 'tabs-responsive' ),
28
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
29
+ ]
30
+ );
31
+
32
+ $repeater = new \Elementor\Repeater();
33
+
34
+ $repeater->add_control(
35
+ 'tabs_responsive_title',
36
+ [
37
+ 'label' => __( 'Tab Title', 'wpshopmart_tabs_r_text_domain' ),
38
+ 'type' => \Elementor\Controls_Manager::TEXT,
39
+ 'default' => __( 'Sample Title', 'wpshopmart_tabs_r_text_domain' ),
40
+ 'placeholder' => __( 'Type your title here', 'wpshopmart_tabs_r_text_domain' ),
41
+ ]
42
+ );
43
+
44
+ $repeater->add_control(
45
+ 'tabs_responsive_description',
46
+ [
47
+ 'label' => __( 'Tab Description', 'wpshopmart_tabs_r_text_domain' ),
48
+ 'type' => \Elementor\Controls_Manager::WYSIWYG,
49
+ 'default' => __( 'Sample Description', 'wpshopmart_tabs_r_text_domain' ),
50
+ 'placeholder' => __( 'Type your description here', 'wpshopmart_tabs_r_text_domain' ),
51
+ ]
52
+ );
53
+
54
+ $repeater->add_control(
55
+ 'tabs_responsive_icon',
56
+ [
57
+ 'label' => __( 'Tab Icon', 'wpshopmart_tabs_r_text_domain' ),
58
+ 'type' => \Elementor\Controls_Manager::ICONS,
59
+ 'default' => [
60
+ 'value' => 'fa fa-laptop',
61
+ 'library' => 'solid',
62
+ ],
63
+ ]
64
+ );
65
+
66
+ $repeater->add_control(
67
+ 'tabs_responsive_show_above_icon',
68
+ [
69
+ 'label' => __( 'Display Above Icon', 'wpshopmart_tabs_r_text_domain' ),
70
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
71
+ 'label_on' => __( 'Yes', 'tabs-responsive' ),
72
+ 'label_off' => __( 'No', 'tabs-responsive' ),
73
+ 'return_value' => 'yes',
74
+ 'default' => 'yes',
75
+ ]
76
+ );
77
+
78
+ $this->add_control(
79
+ 'tabs_list',
80
+ [
81
+ 'label' => __( 'Add Tabs', 'wpshopmart_tabs_r_text_domain' ),
82
+ 'type' => \Elementor\Controls_Manager::REPEATER,
83
+ 'fields' => $repeater->get_controls(),
84
+ 'default' => [
85
+ [
86
+ 'tabs_responsive_title' => __( 'Sample Title', 'wpshopmart_tabs_r_text_domain' ),
87
+ 'tabs_responsive_description' => __( 'Sample Description', 'wpshopmart_tabs_r_text_domain' ),
88
+ 'tabs_responsive_icon' => __('fa fa-laptop','wpshopmart_tabs_r_text_domain'),
89
+ 'tabs_responsive_show_above_icon'=>__('yes','wpshopmart_tabs_r_text_domain'),
90
+ ],
91
+ [
92
+ 'tabs_responsive_title' => __( 'Sample Title', 'wpshopmart_tabs_r_text_domain' ),
93
+ 'tabs_responsive_description' => __( 'Sample Description', 'wpshopmart_tabs_r_text_domain' ),
94
+ 'tabs_responsive_icon' => __('fa fa-laptop','wpshopmart_tabs_r_text_domain'),
95
+ 'tabs_responsive_show_above_icon'=>__('yes','wpshopmart_tabs_r_text_domain'),
96
+ ],
97
+ [
98
+ 'tabs_responsive_title' => __( 'Sample Title', 'wpshopmart_tabs_r_text_domain' ),
99
+ 'tabs_responsive_description' => __( 'Sample Description', 'wpshopmart_tabs_r_text_domain' ),
100
+ 'tabs_responsive_icon' => __('fa fa-laptop','wpshopmart_tabs_r_text_domain'),
101
+ 'tabs_responsive_show_above_icon'=>__('yes','wpshopmart_tabs_r_text_domain'),
102
+ ],
103
+ ],
104
+ 'title_field' => '{{{ tabs_responsive_title }}}',
105
+ ]
106
+ );
107
+
108
+
109
+ $this->end_controls_section();
110
+
111
+ $this->start_controls_section(
112
+ 'tabs_code_section',
113
+ [
114
+ 'label' => __( 'Code', 'tabs-responsive' ),
115
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
116
+ ]
117
+ );
118
+
119
+ $this->add_control(
120
+ 'tabs_custom_css',
121
+ [
122
+ 'label' => __( 'Custom Css', 'wpshopmart_tabs_r_text_domain' ),
123
+ 'type' => \Elementor\Controls_Manager::CODE,
124
+ 'language' => 'css',
125
+ 'description' =>'Enter Css without using style tag',
126
+ 'rows' => 20,
127
+ ]
128
+ );
129
+
130
+ $this->end_controls_section();
131
+
132
+ $this->start_controls_section(
133
+ 'tabs_style_section',
134
+ [
135
+ 'label' => __( 'Style', 'tabs-responsive' ),
136
+ 'tab' => \Elementor\Controls_Manager::TAB_STYLE,
137
+ ]
138
+ );
139
+
140
+ $this->add_control(
141
+ 'tabs_font_family',
142
+ [
143
+ 'label' => __( 'Font Family', 'wpshopmart_tabs_r_text_domain' ),
144
+ 'type' => \Elementor\Controls_Manager::FONT,
145
+ 'default' => "Open Sans",
146
+ 'selectors' => [
147
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .tab-content' => 'font-family: {{VALUE}}',
148
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li > a' => 'font-family: {{VALUE}}',
149
+ ],
150
+ ]
151
+ );
152
+
153
+ $this->add_control(
154
+ 'tabs_animation',
155
+ [
156
+ 'label' => __( 'Tabs Description Animation', 'wpshopmart_tabs_r_text_domain' ),
157
+ 'type' => \Elementor\Controls_Manager::SELECT,
158
+ 'default' => 'fadeIn',
159
+ 'options' => [
160
+ 'fadeIn' => __( 'Fade Animation', 'wpshopmart_tabs_r_text_domain' ),
161
+ 'fadeInUp' => __( 'Fade In Up Animation', 'wpshopmart_tabs_r_text_domain' ),
162
+ 'fadeInDown' => __( 'Fade In Down Animation', 'wpshopmart_tabs_r_text_domain' ),
163
+ 'fadeInLeft' => __( 'Fade In Left Animation', 'wpshopmart_tabs_r_text_domain' ),
164
+ 'fadeInRight' => __( 'Fade In Right Animation', 'wpshopmart_tabs_r_text_domain' ),
165
+ '6' => __( 'No Animation', 'wpshopmart_tabs_r_text_domain' ),
166
+ ],
167
+ ]
168
+ );
169
+
170
+ $this->add_control(
171
+ 'tabs_divider_4',
172
+ [
173
+ 'type' => \Elementor\Controls_Manager::DIVIDER,
174
+ ]
175
+ );
176
+
177
+ // $this->add_control(
178
+ // 'display_tabs_sec_title',
179
+ // [
180
+ // 'label' => __( 'Display Tabs Section Title', 'wpshopmart_tabs_r_text_domain' ),
181
+ // 'type' => \Elementor\Controls_Manager::SWITCHER,
182
+ // 'label_on' => __( 'Yes', 'tabs-responsive' ),
183
+ // 'label_off' => __( 'No', 'tabs-responsive' ),
184
+ // 'return_value' => 'yes',
185
+ // 'default' => 'yes',
186
+ // ]
187
+ // );
188
+
189
+ $this->add_control(
190
+ 'display_tabs_border',
191
+ [
192
+ 'label' => __( 'Display Tabs Border', 'wpshopmart_tabs_r_text_domain' ),
193
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
194
+ 'label_on' => __( 'Yes', 'tabs-responsive' ),
195
+ 'label_off' => __( 'No', 'tabs-responsive' ),
196
+ 'return_value' => 'yes',
197
+ 'default' => 'yes',
198
+ ]
199
+ );
200
+
201
+ $this->add_control(
202
+ 'tabs_position',
203
+ [
204
+ 'label' => __( 'Tabs Position', 'wpshopmart_tabs_r_text_domain' ),
205
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
206
+ 'label_on' => __( 'Left', 'tabs-responsive' ),
207
+ 'label_off' => __( 'Right', 'tabs-responsive' ),
208
+ 'return_value' => 'yes',
209
+ 'default' => 'yes',
210
+ ]
211
+ );
212
+
213
+ $this->add_control(
214
+ 'tabs_margin_bw_two',
215
+ [
216
+ 'label' => __( 'Margin Between Two Tabs', 'wpshopmart_tabs_r_text_domain' ),
217
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
218
+ 'label_on' => __( 'Yes', 'tabs-responsive' ),
219
+ 'label_off' => __( 'No', 'tabs-responsive' ),
220
+ 'return_value' => 'yes',
221
+ 'default' => 'no',
222
+ ]
223
+ );
224
+
225
+ $this->add_control(
226
+ 'margin_bw_tabs_content',
227
+ [
228
+ 'label' => __( 'Margin Between Tabs And Content', 'wpshopmart_tabs_r_text_domain' ),
229
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
230
+ 'label_on' => __( 'Yes', 'tabs-responsive' ),
231
+ 'label_off' => __( 'No', 'tabs-responsive' ),
232
+ 'return_value' => 'yes',
233
+ 'default' => 'no',
234
+ ]
235
+ );
236
+
237
+ $this->add_control(
238
+ 'tabs_divider_3',
239
+ [
240
+ 'type' => \Elementor\Controls_Manager::DIVIDER,
241
+ ]
242
+ );
243
+
244
+ $this->add_control(
245
+ 'dis_op_title_icon',
246
+ [
247
+ 'label' => __( 'Display Option For Title and icon', 'wpshopmart_tabs_r_text_domain' ),
248
+ 'type' => \Elementor\Controls_Manager::CHOOSE,
249
+ 'options' => [
250
+ '1' => [
251
+ 'title' => __( 'Show Tabs Title + Icon (both)', 'wpshopmart_tabs_r_text_domain' ),
252
+
253
+ ],
254
+ '2' => [
255
+ 'title' => __( 'Show Only Tabs Title', 'wpshopmart_tabs_r_text_domain' ),
256
+
257
+ ],
258
+ '3' => [
259
+ 'title' => __( 'Show Only Icon', 'wpshopmart_tabs_r_text_domain' ),
260
+
261
+ ],
262
+ ],
263
+ 'default' => '1',
264
+ // 'toggle' => true,
265
+ ]
266
+ );
267
+
268
+ $this->add_control(
269
+ 'tabs_ic_pt_align',
270
+ [
271
+ 'label' => __( 'Tabs Icon Position Alignment', 'wpshopmart_tabs_r_text_domain' ),
272
+ 'type' => \Elementor\Controls_Manager::CHOOSE,
273
+ 'options' => [
274
+ '1' => [
275
+ 'title' => __( 'Before Tab Title', 'wpshopmart_tabs_r_text_domain' ),
276
+
277
+ ],
278
+ '2' => [
279
+ 'title' => __( 'After Tab Title', 'wpshopmart_tabs_r_text_domain' ),
280
+
281
+ ],
282
+ ],
283
+ 'default' => '1',
284
+ // 'toggle' => true,
285
+ ]
286
+ );
287
+
288
+ $this->add_control(
289
+ 'tabs_style',
290
+ [
291
+ 'label' => __( 'Tabs Styles', 'wpshopmart_tabs_r_text_domain' ),
292
+ 'type' => \Elementor\Controls_Manager::CHOOSE,
293
+ 'options' => [
294
+ '1' => [
295
+ 'title' => __( 'Default', 'wpshopmart_tabs_r_text_domain' ),
296
+
297
+ ],
298
+ '2' => [
299
+ 'title' => __( 'Soft', 'wpshopmart_tabs_r_text_domain' ),
300
+
301
+ ],
302
+ '3' => [
303
+ 'title' => __( 'Noise', 'wpshopmart_tabs_r_text_domain' ),
304
+
305
+ ],
306
+ ],
307
+ 'default' => '1',
308
+ // 'toggle' => true,
309
+ ]
310
+ );
311
+
312
+ $this->add_control(
313
+ 'tabs_alignment',
314
+ [
315
+ 'label' => __( 'Tabs Alignment', 'wpshopmart_tabs_r_text_domain' ),
316
+ 'type' => \Elementor\Controls_Manager::CHOOSE,
317
+ 'options' => [
318
+ '1' => [
319
+ 'title' => __( 'Horizontal', 'wpshopmart_tabs_r_text_domain' ),
320
+
321
+ ],
322
+ '2' => [
323
+ 'title' => __( 'Vertical', 'wpshopmart_tabs_r_text_domain' ),
324
+
325
+ ],
326
+ ],
327
+ 'default' => '1',
328
+ // 'toggle' => true,
329
+ ]
330
+ );
331
+
332
+ $this->add_control(
333
+ 'tabs_mobile_dis_setting',
334
+ [
335
+ 'label' => __( 'Tabs Mobile display Settings', 'wpshopmart_tabs_r_text_domain' ),
336
+ 'type' => \Elementor\Controls_Manager::CHOOSE,
337
+ 'options' => [
338
+ '1' => [
339
+ 'title' => __( 'Display Both Title + Icon', 'wpshopmart_tabs_r_text_domain' ),
340
+
341
+ ],
342
+ '2' => [
343
+ 'title' => __( ' Display only Icon', 'wpshopmart_tabs_r_text_domain' ),
344
+
345
+ ],
346
+ '3' => [
347
+ 'title' => __( 'Display Only Title', 'wpshopmart_tabs_r_text_domain' ),
348
+
349
+ ],
350
+ ],
351
+ 'default' => '1',
352
+ // 'toggle' => true,
353
+ ]
354
+ );
355
+
356
+ $this->add_control(
357
+ 'title_dis_mode_mobile',
358
+ [
359
+ 'label' => __( 'Title Display Mode In Mobile', 'wpshopmart_tabs_r_text_domain' ),
360
+ 'type' => \Elementor\Controls_Manager::CHOOSE,
361
+ 'options' => [
362
+ '1' => [
363
+ 'title' => __( 'Display As a tabs', 'wpshopmart_tabs_r_text_domain' ),
364
+
365
+ ],
366
+ '2' => [
367
+ 'title' => __( 'Display As A vertical Button', 'wpshopmart_tabs_r_text_domain' ),
368
+
369
+ ],
370
+ ],
371
+ 'default' => '2',
372
+ // 'toggle' => true,
373
+ ]
374
+ );
375
+
376
+ $this->add_control(
377
+ 'tabs_divider_2',
378
+ [
379
+ 'type' => \Elementor\Controls_Manager::DIVIDER,
380
+ ]
381
+ );
382
+
383
+ $this->add_control(
384
+ 'title_bg_color',
385
+ [
386
+ 'label' => __( 'Tabs Title Background Color', 'wpshopmart_tabs_r_text_domain' ),
387
+ 'type' => \Elementor\Controls_Manager::COLOR,
388
+ 'scheme' => [
389
+ 'type' => \Elementor\Scheme_Color::get_type(),
390
+ 'value' => \Elementor\Scheme_Color::COLOR_1,
391
+ ],
392
+ 'default' => '#e8e8e8',
393
+ 'selectors' => [
394
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li > a' => 'border-color: {{VALUE}}',
395
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li > .tabs-anchor-class' => 'background-color: {{VALUE}}',
396
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li > a:hover' => 'background-color: {{VALUE}}',
397
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li > a:focus' => 'background-color: {{VALUE}}',
398
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li > .tabs-anchor-class:hover' => 'border-color: {{VALUE}}',
399
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li > .tabs-anchor-class:focus' => 'border-color: {{VALUE}}',
400
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .tab-content-border' => 'border-color: {{VALUE}}',
401
+
402
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li.active > .tabs-anchor-class' => 'border-color: {{VALUE}}',
403
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li.active > .tabs-anchor-class:hover' => 'border-color: {{VALUE}}',
404
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li.active > .tabs-anchor-class:focus' => 'border-color: {{VALUE}}',
405
+ ],
406
+ ]
407
+ );
408
+
409
+ $this->add_control(
410
+ 'tabs_title_icon_ft_color',
411
+ [
412
+ 'label' => __( 'Tabs Title/Icon Font Color', 'wpshopmart_tabs_r_text_domain' ),
413
+ 'type' => \Elementor\Controls_Manager::COLOR,
414
+ 'scheme' => [
415
+ 'type' => \Elementor\Scheme_Color::get_type(),
416
+ 'value' => \Elementor\Scheme_Color::COLOR_1,
417
+ ],
418
+ 'default' => '#000000',
419
+ 'selectors' => [
420
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li > a' => 'color: {{VALUE}}',
421
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li > a:hover' => 'color: {{VALUE}}',
422
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li > a:focus' => 'color: {{VALUE}}',
423
+ ],
424
+ ]
425
+ );
426
+
427
+ $this->add_control(
428
+ 'select_title_bg_color',
429
+ [
430
+ 'label' => __( 'Selected Tabs Title Background Color', 'wpshopmart_tabs_r_text_domain' ),
431
+ 'type' => \Elementor\Controls_Manager::COLOR,
432
+ 'scheme' => [
433
+ 'type' => \Elementor\Scheme_Color::get_type(),
434
+ 'value' => \Elementor\Scheme_Color::COLOR_1,
435
+ ],
436
+ 'default' => '#ffffff',
437
+ 'selectors' => [
438
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li.active > a' => 'background-color: {{VALUE}}',
439
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li.active > a:hover' => 'background-color: {{VALUE}}',
440
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li.active > a:focus' => 'background-color: {{VALUE}}',
441
+
442
+ ],
443
+ ]
444
+ );
445
+
446
+ $this->add_control(
447
+ 'select_title_icon_ft_color',
448
+ [
449
+ 'label' => __( 'Selected Tabs Title/Icon Font Color', 'wpshopmart_tabs_r_text_domain' ),
450
+ 'type' => \Elementor\Controls_Manager::COLOR,
451
+ 'scheme' => [
452
+ 'type' => \Elementor\Scheme_Color::get_type(),
453
+ 'value' => \Elementor\Scheme_Color::COLOR_1,
454
+ ],
455
+ 'default' => '#000000',
456
+ 'selectors' => [
457
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li.active > a' => 'color: {{VALUE}}',
458
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li.active > a:hover' => 'color: {{VALUE}}',
459
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li.active > a:focus' => 'color: {{VALUE}}',
460
+ ],
461
+ ]
462
+ );
463
+
464
+ $this->add_control(
465
+ 'tabs_descrip_bg_color',
466
+ [
467
+ 'label' => __( 'Tabs Description Background Color', 'wpshopmart_tabs_r_text_domain' ),
468
+ 'type' => \Elementor\Controls_Manager::COLOR,
469
+ 'scheme' => [
470
+ 'type' => \Elementor\Scheme_Color::get_type(),
471
+ 'value' => \Elementor\Scheme_Color::COLOR_1,
472
+ ],
473
+ 'default' => '#ffffff',
474
+ 'selectors' => [
475
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .tab-content' => 'background-color: {{VALUE}}',
476
+
477
+ ],
478
+ ]
479
+ );
480
+
481
+ $this->add_control(
482
+ 'tabs_descrip_ft_color',
483
+ [
484
+ 'label' => __( 'Tabs Description Font Color', 'wpshopmart_tabs_r_text_domain' ),
485
+ 'type' => \Elementor\Controls_Manager::COLOR,
486
+ 'scheme' => [
487
+ 'type' => \Elementor\Scheme_Color::get_type(),
488
+ 'value' => \Elementor\Scheme_Color::COLOR_1,
489
+ ],
490
+ 'default' => '#000000',
491
+ 'selectors' => [
492
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .tab-content' => 'color: {{VALUE}}',
493
+ ],
494
+ ]
495
+ );
496
+
497
+ $this->add_control(
498
+ 'tabs_divider_1',
499
+ [
500
+ 'type' => \Elementor\Controls_Manager::DIVIDER,
501
+ ]
502
+ );
503
+
504
+ $this->add_control(
505
+ 'title_icon_font_size',
506
+ [
507
+ 'label' => __( 'Tabs Title/Icon Font Size', 'wpshopmart_tabs_r_text_domain' ),
508
+ 'type' => \Elementor\Controls_Manager::SLIDER,
509
+ 'size_units' => [ 'px'],
510
+ 'range' => [
511
+ 'px' => [
512
+ 'min' => 8,
513
+ 'max' => 22,
514
+ 'step' => 1,
515
+ ],
516
+
517
+ ],
518
+ 'default' => [
519
+ 'unit' => 'px',
520
+ 'size' => 14,
521
+ ],
522
+ 'selectors' => [
523
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .wpsm_nav-tabs > li > a' => 'font-size: {{SIZE}}{{UNIT}};',
524
+
525
+ ],
526
+ ]
527
+ );
528
+
529
+ $this->add_control(
530
+ 'tabs_description_font_size',
531
+ [
532
+ 'label' => __( 'Tabs Description Font Size', 'wpshopmart_tabs_r_text_domain' ),
533
+ 'type' => \Elementor\Controls_Manager::SLIDER,
534
+ 'size_units' => [ 'px'],
535
+ 'range' => [
536
+ 'px' => [
537
+ 'min' => 5,
538
+ 'max' => 30,
539
+ 'step' => 1,
540
+ ],
541
+
542
+ ],
543
+ 'default' => [
544
+ 'unit' => 'px',
545
+ 'size' => 16,
546
+ ],
547
+ 'selectors' => [
548
+ '{{WRAPPER}} #tab_container_'.get_the_ID().' .tab-content' => 'font-size: {{SIZE}}{{UNIT}};',
549
+
550
+ ],
551
+ ]
552
+ );
553
+
554
+ $this->end_controls_section();
555
+ ?>
tabs-responsive-elementor-addon/widgets/render-template/design-1.php ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $post_id = get_the_ID();
2
+ $tab_border_color = ColorDarken($settings['title_bg_color'],19);
3
+ $selected_tab_border_color = ColorDarken($settings['select_title_bg_color'],25);
4
+ $tab_content_border_color = ColorDarken($settings['tabs_descrip_bg_color'],25);
5
+ ?>
6
+
7
+ <style>
8
+ <?php
9
+ require('style.php');
10
+ ?>
11
+ </style>
12
+ <div id="tab_container_<?php echo $post_id; ?>" >
13
+
14
+ <ul class="wpsm_nav wpsm_nav-tabs" role="tablist" id="myTab_<?php echo $post_id; ?>">
15
+ <?php
16
+ $i=1;
17
+ $j=1;
18
+ if ( $settings['tabs_list'] ) {
19
+ foreach ( $settings['tabs_list'] as $index => $item )
20
+ {
21
+ ?>
22
+ <li role="presentation" <?php if($i==1){ ?> class="active" <?php } ?> >
23
+ <a href="#tabs_desc_<?php echo $post_id; ?>_<?php echo $i; ?>" aria-controls="tabs_desc_<?php echo $post_id; ?>_<?php echo $i; ?>" role="tab" data-toggle="tab" class="tabs-anchor-class">
24
+
25
+ <?php if($settings['tabs_ic_pt_align']=="1"){ ?>
26
+ <?php if($settings['dis_op_title_icon']=="1" || $settings['dis_op_title_icon']=="3") { ?>
27
+ <?php if($item['tabs_responsive_show_above_icon']=="yes") { ?> <i class="<?php echo implode(" ",$item['tabs_responsive_icon']); ?>"></i> <?php }?>
28
+ <?php }
29
+ } ?>
30
+
31
+ <?php if($settings['dis_op_title_icon']=="1" || $settings['dis_op_title_icon']=="2") { ?>
32
+
33
+ <span><?php echo $item['tabs_responsive_title']; ?></span>
34
+
35
+ <?php } ?>
36
+
37
+ <?php if($settings['tabs_ic_pt_align']=="2"){ ?>
38
+ <?php if($settings['dis_op_title_icon']=="1" || $settings['dis_op_title_icon']=="3") { ?>
39
+ <?php if($item['tabs_responsive_show_above_icon']=="yes") { ?> <i class="<?php echo implode(" ",$item['tabs_responsive_icon']) ?>"></i> <?php }?>
40
+ <?php }
41
+ } ?>
42
+
43
+
44
+ </a>
45
+ </li>
46
+ <?php $i++; } ?>
47
+ </ul>
48
+
49
+ <!-- Tab panes -->
50
+ <div class="tab-content tab-content-border" id="tab-content_<?php echo $post_id; ?>">
51
+ <?php foreach( $settings['tabs_list'] as $index => $item )
52
+ {
53
+ $tab_content_setting_key = $this->get_repeater_setting_key( 'tabs_responsive_description', 'tabs_list', $index );
54
+ $this->add_inline_editing_attributes( $tab_content_setting_key,'none' );
55
+
56
+ ?>
57
+ <div role="tabpanel" class="tab-pane <?php if($j==1){ ?> in active <?php } ?>" id="tabs_desc_<?php echo $post_id; ?>_<?php echo $j; ?>">
58
+ <span <?php echo $this->get_render_attribute_string( $tab_content_setting_key ); ?>><?php echo do_shortcode($item['tabs_responsive_description']); ?></span>
59
+ </div>
60
+ <?php $j++; }
61
+ }
62
+ ?>
63
+ </div>
64
+
65
+ </div>
66
+ <script>
67
+ jQuery(function () {
68
+ jQuery('#myTab_<?php echo $post_id; ?> a:first').tab('show')
69
+ });
70
+ <?php if($settings['tabs_animation']!="6") { ?>
71
+ jQuery(function(){
72
+ var b="<?php echo $settings['tabs_animation'] ?>";
73
+ var c;
74
+ var a;
75
+ d(jQuery("#myTab_<?php echo $post_id; ?> a"),jQuery("#tab-content_<?php echo $post_id; ?>"));function d(e,f,g){
76
+ e.click(function(i){
77
+ i.preventDefault();
78
+ jQuery(this).tab("show");
79
+ var h=jQuery(this).data("easein");
80
+ if(c){c.removeClass(a);}
81
+ if(h){f.find("div.active").addClass("animated "+h);a=h;}
82
+ else{if(g){f.find("div.active").addClass("animated "+g);a=g;}else{f.find("div.active").addClass("animated "+b);a=b;}}c=f.find("div.active");
83
+ });
84
+ }
85
+ });
86
+ <?php } ?>
87
+ </script>
tabs-responsive-elementor-addon/widgets/render-template/style.php ADDED
@@ -0,0 +1,304 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $post_id=get_the_ID(); ?>
2
+ #tab_container_<?php echo $post_id; ?> {
3
+ overflow:hidden;
4
+ display:block;
5
+ width:100%;
6
+ border:0px solid #ddd;
7
+ margin-bottom:30px;
8
+ }
9
+
10
+ #tab_container_<?php echo $post_id; ?> .tab-content{
11
+ padding:20px;
12
+ border-width: 1px !important;
13
+ border-style:solid !important;
14
+ border-color:<?php //echo $tab_content_border_color; ?>
15
+ margin-top: 0px;
16
+ <?php if($settings['display_tabs_border']=="yes"){ ?>
17
+ border-width: 1px !important;
18
+ border-style:solid !important;
19
+ <?php
20
+ } else { ?>
21
+ border-width: 0px !important;
22
+ border-style:solid !important;
23
+ <?php } ?>
24
+ }
25
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs {
26
+ border-bottom: 0px solid #ddd;
27
+ }
28
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li.active > a, #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li.active > a:hover, #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li.active > a:focus {
29
+ cursor: default;
30
+ <?php if($settings['display_tabs_border']=="yes"){ ?>
31
+ border-width: 1px !important;
32
+ border-style:solid !important;
33
+ <?php
34
+ } else { ?>
35
+ border-width: 0px !important;
36
+ border-style:solid !important;
37
+ <?php } ?>
38
+ }
39
+
40
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li > a {
41
+ margin-right: 0px !important;
42
+ line-height: 1.42857143 !important;
43
+ <?php if($settings['display_tabs_border']=="yes"){ ?>
44
+ border-width: 1px !important;
45
+ border-style:solid !important;
46
+ <?php
47
+ } else { ?>
48
+ border-width: 0px !important;
49
+ border-style:solid !important;
50
+ <?php } ?>
51
+ border-radius: 0px 0px 0 0 !important;
52
+ padding: 15px 18px 15px 18px !important;
53
+ text-decoration: none !important;
54
+ text-align:center !important;
55
+ }
56
+
57
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li > a:focus {
58
+ outline: 0px !important;
59
+ }
60
+
61
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li > a:before {
62
+ display:none !important;
63
+ }
64
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li > a:after {
65
+ display:none !important ;
66
+ }
67
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li{
68
+ padding:0px !important ;
69
+ margin:0px;
70
+ }
71
+
72
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li > a:hover , #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li > a:focus {
73
+
74
+
75
+ }
76
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li > a .fa{
77
+
78
+ margin-right:5px !important;
79
+
80
+ margin-left:5px !important;
81
+
82
+
83
+ }
84
+
85
+ <?php
86
+ switch($settings['tabs_style']){
87
+ case "1":
88
+ ?>
89
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs a{
90
+ background-image: none;
91
+ background-position: 0 0;
92
+ background-repeat: repeat-x;
93
+ }
94
+ <?php
95
+ break;
96
+ case "2":
97
+ ?>
98
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs a{
99
+ background-image: url(<?php echo wpshopmart_tabs_r_directory_url.'assets/images/style-soft.png'; ?>);
100
+ background-position: 0 0;
101
+ background-repeat: repeat-x;
102
+ }
103
+ <?php
104
+ break;
105
+ case "3":
106
+ ?>
107
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs a{
108
+ background-image: url(<?php echo wpshopmart_tabs_r_directory_url.'assets/images/style-noise.png'; ?>);
109
+ background-position: 0 0;
110
+ background-repeat: repeat-x;
111
+ }
112
+ <?php
113
+ break;
114
+ }
115
+ ?>
116
+
117
+
118
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li {
119
+ float:<?php if($settings['tabs_position']=="yes"){
120
+ echo "Left"; }
121
+ else if($settings['tabs_position']!="yes")
122
+ {
123
+ echo "Right";
124
+ }
125
+ ?> !important;
126
+ margin-bottom: -1px !important;
127
+ margin-right:0px !important;
128
+ }
129
+
130
+
131
+ #tab_container_<?php echo $post_id; ?> .tab-content{
132
+ overflow:hidden !important;
133
+ }
134
+
135
+ <?php if($settings['tabs_alignment']=="2") { ?>
136
+
137
+ @media (min-width: 769px) {
138
+
139
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li{
140
+ float:none !important;
141
+ <?php if($settings['tabs_position']=="yes"){ ?>
142
+ margin-right:-1px !important;
143
+ <?php } ?>
144
+ <?php if($settings['tabs_position']!="yes"){ ?>
145
+ margin-left:-1px !important;
146
+ <?php } ?>
147
+ }
148
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs{
149
+ float:<?php if($settings['tabs_position']=="yes"){
150
+ echo "Left"; }
151
+ else if($settings['tabs_position']!="yes")
152
+ {
153
+ echo "Right";
154
+ }
155
+ ?> !important;
156
+ margin:0px !important;
157
+ }
158
+ }
159
+
160
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li {
161
+ <?php if($settings['tabs_margin_bw_two']=="yes"){ ?>
162
+ margin-bottom: 8px !important;
163
+ <?php } ?>
164
+
165
+ }
166
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav{
167
+ <?php if($settings['margin_bw_tabs_content']=="yes"){?>
168
+ <?php if($settings['tabs_position']=="yes"){ ?>
169
+ margin-right: 8px !important;
170
+ <?php } ?>
171
+ <?php if($settings['tabs_position']!="yes"){ ?>
172
+ margin-left: 8px !important;
173
+ <?php } ?>
174
+ <?php } ?>
175
+ }
176
+
177
+ <?php } else { ?>
178
+
179
+ @media (min-width: 769px) {
180
+
181
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li{
182
+ float:<?php if($settings['tabs_position']=="yes"){
183
+ echo "Left"; }
184
+ else if($settings['tabs_position']!="yes")
185
+ {
186
+ echo "Right";
187
+ }
188
+ ?> !important;
189
+ <?php if($settings['tabs_position']=="yes"){ ?>
190
+ margin-right:-1px !important;
191
+ <?php } ?>
192
+ <?php if($settings['tabs_position']!="yes"){ ?>
193
+ margin-left:-1px !important;
194
+ <?php } ?>
195
+ }
196
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs{
197
+ float:none !important;
198
+ margin:0px !important;
199
+ }
200
+
201
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li {
202
+ <?php if($settings['tabs_margin_bw_two']=="yes"){ ?>
203
+ <?php if($settings['tabs_position']=="yes"){ ?>
204
+ margin-right: 8px !important;
205
+ <?php } ?>
206
+ <?php if($settings['tabs_position']!="yes"){ ?>
207
+ margin-left: 8px !important;
208
+ <?php } ?>
209
+ <?php } ?>
210
+
211
+ }
212
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav{
213
+ <?php if($settings['margin_bw_tabs_content']=="yes"){?>
214
+ margin-bottom: 8px !important;
215
+ <?php } ?>
216
+ }
217
+
218
+ }
219
+
220
+
221
+ <?php } ?>
222
+
223
+ @media (max-width: 768px) {
224
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li {
225
+ <?php if($settings['tabs_margin_bw_two']=="yes"){ ?>
226
+ margin-bottom: 8px !important;
227
+ margin-right:0px !important;
228
+ margin-left:0px !important;
229
+ <?php } ?>
230
+
231
+ }
232
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav{
233
+ <?php if($settings['margin_bw_tabs_content']=="yes"){?>
234
+ margin-bottom: 8px !important;
235
+ margin-right:0px !important;
236
+ margin-left:0px !important;
237
+ <?php } ?>
238
+ }
239
+ }
240
+
241
+
242
+ .wpsm_nav-tabs li:before{
243
+ display:none !important;
244
+ }
245
+
246
+ @media (max-width: 768px) {
247
+ <?php if($settings['tabs_mobile_dis_setting']=="2"){ ?>
248
+
249
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs li a span{
250
+ display: none !important;
251
+ }
252
+
253
+ <?php } ?>
254
+
255
+ <?php if($settings['tabs_mobile_dis_setting']=="3"){ ?>
256
+
257
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs li a i{
258
+ display: none !important;
259
+ }
260
+
261
+ <?php } ?>
262
+ .wpsm_nav-tabs{
263
+ margin-left:0px !important;
264
+ margin-right:0px !important;
265
+
266
+ }
267
+ <?php if($settings['title_dis_mode_mobile'] == "2") { ?>
268
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li{
269
+ float:none !important;
270
+ }
271
+ <?php } else { ?>
272
+
273
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li {
274
+ <?php if($settings['tabs_margin_bw_two'] =="yes"){ ?>
275
+ <?php if($settings['tabs_position']=="yes"){ ?>
276
+ margin-right: 8px !important;
277
+ <?php } ?>
278
+ <?php if($settings['tabs_position']!="yes"){ ?>
279
+ margin-left: 8px !important;
280
+ <?php } ?>
281
+ <?php } ?>
282
+
283
+ }
284
+
285
+ <?php if($settings['tabs_alignment']=="2") { ?>
286
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li{
287
+ float:none !important;
288
+ }
289
+ #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs{
290
+ float:<?php if($settings['tabs_position']=="yes"){
291
+ echo "Left"; }
292
+ else if($settings['tabs_position']!="yes")
293
+ {
294
+ echo "Right";
295
+ }
296
+ ?> !important;
297
+ margin:0px !important;
298
+ }
299
+ <?php } ?>
300
+
301
+ <?php } ?>
302
+
303
+ }
304
+ <?php echo $settings['tabs_custom_css']; ?>
tabs-responsive-elementor-addon/widgets/tabs-responsive-addon-widget.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Tabs_Responsive_Addon_Widget extends \Elementor\Widget_Base {
4
+
5
+ public function __construct( $data = array(), $args = null ) {
6
+ parent::__construct( $data, $args );
7
+ wp_register_style( "wpsm_tab_responsive_bootstrap-front",wpshopmart_tabs_r_directory_url."tabs-responsive-elementor-addon/assets/css/bootstrap-front.css", array(), false, "all" );
8
+ wp_register_style( "wpsm_tab_responsive_animate",wpshopmart_tabs_r_directory_url."tabs-responsive-elementor-addon/assets/css/animate.css", array(), false, "all" );
9
+ wp_enqueue_script('jquery');
10
+ wp_register_script('wpsm_tab_responsive_bootstrap_js',wpshopmart_tabs_r_directory_url ."tabs-responsive-elementor-addon/assets/js/bootstrap.js",array ('jquery'), false, false);
11
+
12
+ }
13
+
14
+ public function get_style_depends() {
15
+ return array( 'wpsm_tab_responsive_bootstrap-front','wpsm_tab_responsive_animate' );
16
+ }
17
+
18
+ public function get_script_depends() {
19
+ return array('wpsm_tab_responsive_bootstrap_js');
20
+ }
21
+
22
+ public function get_name() {
23
+ return 'Tabs Responsive';
24
+ }
25
+
26
+
27
+ public function get_title() {
28
+ return __( 'Tabs Responsive', 'wpshopmart_tabs_r_text_domain' );
29
+ }
30
+
31
+
32
+ public function get_icon() {
33
+ return 'eicon-table';
34
+ }
35
+
36
+
37
+ public function get_categories() {
38
+ return [ 'wpshopmart' ];
39
+ }
40
+
41
+
42
+ protected function _register_controls() {
43
+
44
+ require_once( wpshopmart_tabs_r_directory_path .'tabs-responsive-elementor-addon/includes/tabs-responsive-addon-controls.php' );
45
+ }
46
+
47
+
48
+ protected function render() {
49
+
50
+ $settings = $this->get_settings_for_display();
51
+ require_once( __DIR__ . '/render-template/design-'.$settings['tabs_select_design'].'.php' );
52
+
53
+ }
54
+
55
+
56
+ protected function _content_template()
57
+ {
58
+ require_once( wpshopmart_tabs_r_directory_path .'tabs-responsive-elementor-addon/includes/tabs-responsive-addon-content.php' );
59
+
60
+ }
61
+ }
62
+
63
+ ?>
tabs-responsive.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * Plugin Name: Tabs Responsive
4
- * Version: 2.0.8
5
  * Description: Tabs Responsive is the most easiest drag & drop Tabs builder for WordPress. You can add unlimited Tabs with unlimited color Scheme.
6
  * Author: wpshopmart
7
  * Author URI: https://www.wpshopmart.com
@@ -11,6 +11,7 @@
11
  /**
12
  * DEFINE PATHS
13
  */
 
14
  define("wpshopmart_tabs_r_directory_url", plugin_dir_url(__FILE__));
15
  define("wpshopmart_tabs_r_text_domain", "wpsm_tabs_r");
16
  add_action('plugins_loaded', 'wpsm_tabs_r_tr');
@@ -21,6 +22,7 @@ function wpsm_tabs_r_tr() {
21
  * PLUGIN Install
22
  */
23
  require_once("ink/install/installation.php");
 
24
 
25
  function wpsm_tabs_r_default_data() {
26
  $Settings_Array = serialize( array(
1
  <?php
2
  /**
3
  * Plugin Name: Tabs Responsive
4
+ * Version: 2.0.9
5
  * Description: Tabs Responsive is the most easiest drag & drop Tabs builder for WordPress. You can add unlimited Tabs with unlimited color Scheme.
6
  * Author: wpshopmart
7
  * Author URI: https://www.wpshopmart.com
11
  /**
12
  * DEFINE PATHS
13
  */
14
+ define('wpshopmart_tabs_r_directory_path', plugin_dir_path(__FILE__));
15
  define("wpshopmart_tabs_r_directory_url", plugin_dir_url(__FILE__));
16
  define("wpshopmart_tabs_r_text_domain", "wpsm_tabs_r");
17
  add_action('plugins_loaded', 'wpsm_tabs_r_tr');
22
  * PLUGIN Install
23
  */
24
  require_once("ink/install/installation.php");
25
+ require_once("tabs-responsive-addon.php");
26
 
27
  function wpsm_tabs_r_default_data() {
28
  $Settings_Array = serialize( array(
template/content.php CHANGED
@@ -44,8 +44,7 @@
44
  else
45
  ${"" . $option_name} = $default_value;
46
  }
47
- }
48
-
49
 
50
  $tab_border_color = ColorDarken($tabs_title_bg_clr,19);
51
  $selected_tab_border_color = ColorDarken($select_tabs_title_bg_clr,25);
44
  else
45
  ${"" . $option_name} = $default_value;
46
  }
47
+ }
 
48
 
49
  $tab_border_color = ColorDarken($tabs_title_bg_clr,19);
50
  $selected_tab_border_color = ColorDarken($select_tabs_title_bg_clr,25);