Popup Builder – Responsive WordPress Pop up - Version 2.0.8

Version Description

Download this release

Release Info

Developer Sygnoos
Plugin Icon 128x128 Popup Builder – Responsive WordPress Pop up
Version 2.0.8
Comparing to
See all releases

Code changes from version 2.0.7 to 2.0.8

classes/PopupInstaller.php CHANGED
@@ -45,7 +45,7 @@ class PopupInstaller
45
  public static function uninstallTables($blogsId)
46
  {
47
  global $wpdb;
48
- $delete = "DELETE FROM ".$wpdb->prefix.$blogsId."postmeta WHERE meta_key = 'sg_promotional_popup' ";
49
  $wpdb->query($delete);
50
 
51
  $popupTable = $wpdb->prefix.$blogsId."sg_popup";
@@ -63,10 +63,18 @@ class PopupInstaller
63
 
64
  }
65
 
 
 
 
 
 
 
 
66
  public static function uninstall() {
67
  global $wpdb;
68
  $obj = new self();
69
  $obj->uninstallTables("");
 
70
 
71
  if(is_multisite()) {
72
  $stites = wp_get_sites();
@@ -74,6 +82,7 @@ class PopupInstaller
74
  $blogsId = $site['blog_id']."_";
75
  global $wpdb;
76
  $obj->uninstallTables($blogsId);
 
77
  }
78
  }
79
  }
45
  public static function uninstallTables($blogsId)
46
  {
47
  global $wpdb;
48
+ $delete = "DELETE FROM ".$wpdb->prefix.$blogsId."postmeta WHERE meta_key = 'sg_promotional_popup' ";
49
  $wpdb->query($delete);
50
 
51
  $popupTable = $wpdb->prefix.$blogsId."sg_popup";
63
 
64
  }
65
 
66
+ public static function deleteSgPopupOptions($blogsId)
67
+ {
68
+ global $wpdb;
69
+ $deleteSG = "DELETE FROM ".$wpdb->prefix.$blogsId."options WHERE option_name LIKE '%SG_POPUP%'";
70
+ $wpdb->query($deleteSG);
71
+ }
72
+
73
  public static function uninstall() {
74
  global $wpdb;
75
  $obj = new self();
76
  $obj->uninstallTables("");
77
+ $obj->deleteSgPopupOptions("");
78
 
79
  if(is_multisite()) {
80
  $stites = wp_get_sites();
82
  $blogsId = $site['blog_id']."_";
83
  global $wpdb;
84
  $obj->uninstallTables($blogsId);
85
+ $obj->deleteSgPopupOptions($blogsId);
86
  }
87
  }
88
  }
classes/sgDataTable/ListTable.php ADDED
@@ -0,0 +1,1313 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Base class for displaying a list of items in an ajaxified HTML table.
4
+ *
5
+ * @since 3.1.0
6
+ * @access private
7
+ *
8
+ * @package WordPress
9
+ * @subpackage List_Table
10
+ */
11
+ class SGPB_ListTable {
12
+
13
+ /**
14
+ * The current list of items
15
+ *
16
+ * @since 3.1.0
17
+ * @var array
18
+ * @access public
19
+ */
20
+ public $items;
21
+
22
+ /**
23
+ * Various information about the current table
24
+ *
25
+ * @since 3.1.0
26
+ * @var array
27
+ * @access protected
28
+ */
29
+ protected $_args;
30
+
31
+ /**
32
+ * Various information needed for displaying the pagination
33
+ *
34
+ * @since 3.1.0
35
+ * @var array
36
+ */
37
+ protected $_pagination_args = array();
38
+
39
+ /**
40
+ * The current screen
41
+ *
42
+ * @since 3.1.0
43
+ * @var object
44
+ * @access protected
45
+ */
46
+ protected $screen;
47
+
48
+ /**
49
+ * Cached bulk actions
50
+ *
51
+ * @since 3.1.0
52
+ * @var array
53
+ * @access private
54
+ */
55
+ private $_actions;
56
+
57
+ /**
58
+ * Cached pagination output
59
+ *
60
+ * @since 3.1.0
61
+ * @var string
62
+ * @access private
63
+ */
64
+ private $_pagination;
65
+
66
+ /**
67
+ * The view switcher modes.
68
+ *
69
+ * @since 4.1.0
70
+ * @var array
71
+ * @access protected
72
+ */
73
+ protected $modes = array();
74
+
75
+ /**
76
+ * Stores the value returned by ->get_column_info()
77
+ *
78
+ * @var array
79
+ */
80
+ protected $_column_headers;
81
+
82
+ protected $compat_fields = array( '_args', '_pagination_args', 'screen', '_actions', '_pagination' );
83
+
84
+ protected $compat_methods = array( 'set_pagination_args', 'get_views', 'get_bulk_actions', 'bulk_actions',
85
+ 'row_actions', 'months_dropdown', 'view_switcher', 'comments_bubble', 'get_items_per_page', 'pagination',
86
+ 'get_sortable_columns', 'get_column_info', 'get_table_classes', 'display_tablenav', 'extra_tablenav',
87
+ 'single_row_columns' );
88
+
89
+ /**
90
+ * Constructor.
91
+ *
92
+ * The child class should call this constructor from its own constructor to override
93
+ * the default $args.
94
+ *
95
+ * @since 3.1.0
96
+ * @access public
97
+ *
98
+ * @param array|string $args {
99
+ * Array or string of arguments.
100
+ *
101
+ * @type string $plural Plural value used for labels and the objects being listed.
102
+ * This affects things such as CSS class-names and nonces used
103
+ * in the list table, e.g. 'posts'. Default empty.
104
+ * @type string $singular Singular label for an object being listed, e.g. 'post'.
105
+ * Default empty
106
+ * @type bool $ajax Whether the list table supports AJAX. This includes loading
107
+ * and sorting data, for example. If true, the class will call
108
+ * the {@see _js_vars()} method in the footer to provide variables
109
+ * to any scripts handling AJAX events. Default false.
110
+ * @type string $screen String containing the hook name used to determine the current
111
+ * screen. If left null, the current screen will be automatically set.
112
+ * Default null.
113
+ * }
114
+ */
115
+ public function __construct( $args = array() ) {
116
+ $args = wp_parse_args( $args, array(
117
+ 'plural' => '',
118
+ 'singular' => '',
119
+ 'ajax' => false,
120
+ 'screen' => null,
121
+ ) );
122
+
123
+ $this->screen = convert_to_screen( $args['screen'] );
124
+
125
+ add_filter( "manage_{$this->screen->id}_columns", array( $this, 'get_columns' ), 0 );
126
+
127
+ if ( !$args['plural'] )
128
+ $args['plural'] = $this->screen->base;
129
+
130
+ $args['plural'] = sanitize_key( $args['plural'] );
131
+ $args['singular'] = sanitize_key( $args['singular'] );
132
+
133
+ $this->_args = $args;
134
+
135
+ if ( $args['ajax'] ) {
136
+ // wp_enqueue_script( 'list-table' );
137
+ add_action( 'admin_footer', array( $this, '_js_vars' ) );
138
+ }
139
+
140
+ if ( empty( $this->modes ) ) {
141
+ $this->modes = array(
142
+ 'list' => __( 'List View' ),
143
+ 'excerpt' => __( 'Excerpt View' )
144
+ );
145
+ }
146
+ }
147
+
148
+ /**
149
+ * Make private properties readable for backwards compatibility.
150
+ *
151
+ * @since 4.0.0
152
+ * @access public
153
+ *
154
+ * @param string $name Property to get.
155
+ * @return mixed Property.
156
+ */
157
+ public function __get( $name ) {
158
+ if ( in_array( $name, $this->compat_fields ) ) {
159
+ return $this->$name;
160
+ }
161
+ }
162
+
163
+ /**
164
+ * Make private properties settable for backwards compatibility.
165
+ *
166
+ * @since 4.0.0
167
+ * @access public
168
+ *
169
+ * @param string $name Property to check if set.
170
+ * @param mixed $value Property value.
171
+ * @return mixed Newly-set property.
172
+ */
173
+ public function __set( $name, $value ) {
174
+ if ( in_array( $name, $this->compat_fields ) ) {
175
+ return $this->$name = $value;
176
+ }
177
+ }
178
+
179
+ /**
180
+ * Make private properties checkable for backwards compatibility.
181
+ *
182
+ * @since 4.0.0
183
+ * @access public
184
+ *
185
+ * @param string $name Property to check if set.
186
+ * @return bool Whether the property is set.
187
+ */
188
+ public function __isset( $name ) {
189
+ if ( in_array( $name, $this->compat_fields ) ) {
190
+ return isset( $this->$name );
191
+ }
192
+ }
193
+
194
+ /**
195
+ * Make private properties un-settable for backwards compatibility.
196
+ *
197
+ * @since 4.0.0
198
+ * @access public
199
+ *
200
+ * @param string $name Property to unset.
201
+ */
202
+ public function __unset( $name ) {
203
+ if ( in_array( $name, $this->compat_fields ) ) {
204
+ unset( $this->$name );
205
+ }
206
+ }
207
+
208
+ /**
209
+ * Make private/protected methods readable for backwards compatibility.
210
+ *
211
+ * @since 4.0.0
212
+ * @access public
213
+ *
214
+ * @param callable $name Method to call.
215
+ * @param array $arguments Arguments to pass when calling.
216
+ * @return mixed|bool Return value of the callback, false otherwise.
217
+ */
218
+ public function __call( $name, $arguments ) {
219
+ if ( in_array( $name, $this->compat_methods ) ) {
220
+ return call_user_func_array( array( $this, $name ), $arguments );
221
+ }
222
+ return false;
223
+ }
224
+
225
+ /**
226
+ * Checks the current user's permissions
227
+ *
228
+ * @since 3.1.0
229
+ * @access public
230
+ * @abstract
231
+ */
232
+ public function ajax_user_can() {
233
+ die( 'function WPCListTable::ajax_user_can() must be over-ridden in a sub-class.' );
234
+ }
235
+
236
+ /**
237
+ * Prepares the list of items for displaying.
238
+ * @uses WPCListTable::set_pagination_args()
239
+ *
240
+ * @since 3.1.0
241
+ * @access public
242
+ * @abstract
243
+ */
244
+ public function prepare_items() {
245
+ die( 'function WPCListTable::prepare_items() must be over-ridden in a sub-class.' );
246
+ }
247
+
248
+ /**
249
+ * An internal method that sets all the necessary pagination arguments
250
+ *
251
+ * @param array $args An associative array with information about the pagination
252
+ * @access protected
253
+ *
254
+ * @param array|string $args
255
+ */
256
+ protected function set_pagination_args( $args ) {
257
+ $args = wp_parse_args( $args, array(
258
+ 'total_items' => 0,
259
+ 'total_pages' => 0,
260
+ 'per_page' => 0,
261
+ ) );
262
+
263
+ if ( !$args['total_pages'] && $args['per_page'] > 0 )
264
+ $args['total_pages'] = ceil( $args['total_items'] / $args['per_page'] );
265
+
266
+ // Redirect if page number is invalid and headers are not already sent.
267
+ if ( ! headers_sent() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) {
268
+ wp_redirect( add_query_arg( 'paged', $args['total_pages'] ) );
269
+ exit;
270
+ }
271
+
272
+ $this->_pagination_args = $args;
273
+ }
274
+
275
+ /**
276
+ * Access the pagination args.
277
+ *
278
+ * @since 3.1.0
279
+ * @access public
280
+ *
281
+ * @param string $key Pagination argument to retrieve. Common values include 'total_items',
282
+ * 'total_pages', 'per_page', or 'infinite_scroll'.
283
+ * @return int Number of items that correspond to the given pagination argument.
284
+ */
285
+ public function get_pagination_arg( $key ) {
286
+ if ( 'page' == $key )
287
+ return $this->get_pagenum();
288
+
289
+ if ( isset( $this->_pagination_args[$key] ) )
290
+ return $this->_pagination_args[$key];
291
+ }
292
+
293
+ /**
294
+ * Whether the table has items to display or not
295
+ *
296
+ * @since 3.1.0
297
+ * @access public
298
+ *
299
+ * @return bool
300
+ */
301
+ public function has_items() {
302
+ return !empty( $this->items );
303
+ }
304
+
305
+ /**
306
+ * Message to be displayed when there are no items
307
+ *
308
+ * @since 3.1.0
309
+ * @access public
310
+ */
311
+ public function no_items() {
312
+ _e( 'No items found.' );
313
+ }
314
+
315
+ /**
316
+ * Display the search box.
317
+ *
318
+ * @since 3.1.0
319
+ * @access public
320
+ *
321
+ * @param string $text The search button text
322
+ * @param string $input_id The search input id
323
+ */
324
+ public function search_box( $text, $input_id ) {
325
+ if ( empty( $_REQUEST['s'] ) && !$this->has_items() )
326
+ return;
327
+ $input_id = $input_id . '-search-input';
328
+
329
+ if ( ! empty( $_REQUEST['orderby'] ) )
330
+ echo '<input type="hidden" name="orderby" value="' . esc_attr( $_REQUEST['orderby'] ) . '" />';
331
+ if ( ! empty( $_REQUEST['order'] ) )
332
+ echo '<input type="hidden" name="order" value="' . esc_attr( $_REQUEST['order'] ) . '" />';
333
+ if ( ! empty( $_REQUEST['post_mime_type'] ) )
334
+ echo '<input type="hidden" name="post_mime_type" value="' . esc_attr( $_REQUEST['post_mime_type'] ) . '" />';
335
+ if ( ! empty( $_REQUEST['detached'] ) )
336
+ echo '<input type="hidden" name="detached" value="' . esc_attr( $_REQUEST['detached'] ) . '" />';
337
+ ?>
338
+ <p class="search-box">
339
+ <label class="screen-reader-text" for="<?php echo $input_id ?>"><?php echo $text; ?>:</label>
340
+ <input type="search" id="<?php echo $input_id ?>" name="s" value="<?php _admin_search_query(); ?>" />
341
+ <?php submit_button( $text, 'button', '', false, array('id' => 'search-submit') ); ?>
342
+ </p>
343
+ <?php
344
+ }
345
+
346
+ /**
347
+ * Get an associative array ( id => link ) with the list
348
+ * of views available on this table.
349
+ *
350
+ * @since 3.1.0
351
+ * @access protected
352
+ *
353
+ * @return array
354
+ */
355
+ protected function get_views() {
356
+ return array();
357
+ }
358
+
359
+ /**
360
+ * Display the list of views available on this table.
361
+ *
362
+ * @since 3.1.0
363
+ * @access public
364
+ */
365
+ public function views() {
366
+ $views = $this->get_views();
367
+ /**
368
+ * Filter the list of available list table views.
369
+ *
370
+ * The dynamic portion of the hook name, `$this->screen->id`, refers
371
+ * to the ID of the current screen, usually a string.
372
+ *
373
+ * @since 3.5.0
374
+ *
375
+ * @param array $views An array of available list table views.
376
+ */
377
+ $views = apply_filters( "views_{$this->screen->id}", $views );
378
+
379
+ if ( empty( $views ) )
380
+ return;
381
+
382
+ echo "<ul class='subsubsub'>\n";
383
+ foreach ( $views as $class => $view ) {
384
+ $views[ $class ] = "\t<li class='$class'>$view";
385
+ }
386
+ echo implode( " |</li>\n", $views ) . "</li>\n";
387
+ echo "</ul>";
388
+ }
389
+
390
+ /**
391
+ * Get an associative array ( option_name => option_title ) with the list
392
+ * of bulk actions available on this table.
393
+ *
394
+ * @since 3.1.0
395
+ * @access protected
396
+ *
397
+ * @return array
398
+ */
399
+ protected function get_bulk_actions() {
400
+ return array();
401
+ }
402
+
403
+ /**
404
+ * Display the bulk actions dropdown.
405
+ *
406
+ * @since 3.1.0
407
+ * @access protected
408
+ *
409
+ * @param string $which The location of the bulk actions: 'top' or 'bottom'.
410
+ * This is designated as optional for backwards-compatibility.
411
+ */
412
+ protected function bulk_actions( $which = '' ) {
413
+ if ( is_null( $this->_actions ) ) {
414
+ $no_new_actions = $this->_actions = $this->get_bulk_actions();
415
+ /**
416
+ * Filter the list table Bulk Actions drop-down.
417
+ *
418
+ * The dynamic portion of the hook name, `$this->screen->id`, refers
419
+ * to the ID of the current screen, usually a string.
420
+ *
421
+ * This filter can currently only be used to remove bulk actions.
422
+ *
423
+ * @since 3.5.0
424
+ *
425
+ * @param array $actions An array of the available bulk actions.
426
+ */
427
+ $this->_actions = apply_filters( "bulk_actions-{$this->screen->id}", $this->_actions );
428
+ $this->_actions = array_intersect_assoc( $this->_actions, $no_new_actions );
429
+ $two = '';
430
+ } else {
431
+ $two = '2';
432
+ }
433
+
434
+ if ( empty( $this->_actions ) )
435
+ return;
436
+
437
+ echo "<label for='bulk-action-selector-" . esc_attr( $which ) . "' class='screen-reader-text'>" . __( 'Select bulk action' ) . "</label>";
438
+ echo "<select name='action$two' id='bulk-action-selector-" . esc_attr( $which ) . "'>\n";
439
+ echo "<option value='-1' selected='selected'>" . __( 'Bulk Actions' ) . "</option>\n";
440
+
441
+ foreach ( $this->_actions as $name => $title ) {
442
+ $class = 'edit' == $name ? ' class="hide-if-no-js"' : '';
443
+
444
+ echo "\t<option value='$name'$class>$title</option>\n";
445
+ }
446
+
447
+ echo "</select>\n";
448
+
449
+ submit_button( __( 'Apply' ), 'action', '', false, array( 'id' => "doaction$two" ) );
450
+ echo "\n";
451
+ }
452
+
453
+ /**
454
+ * Get the current action selected from the bulk actions dropdown.
455
+ *
456
+ * @since 3.1.0
457
+ * @access public
458
+ *
459
+ * @return string|false The action name or False if no action was selected
460
+ */
461
+ public function current_action() {
462
+ if ( isset( $_REQUEST['filter_action'] ) && ! empty( $_REQUEST['filter_action'] ) )
463
+ return false;
464
+
465
+ if ( isset( $_REQUEST['action'] ) && -1 != $_REQUEST['action'] )
466
+ return $_REQUEST['action'];
467
+
468
+ if ( isset( $_REQUEST['action2'] ) && -1 != $_REQUEST['action2'] )
469
+ return $_REQUEST['action2'];
470
+
471
+ return false;
472
+ }
473
+
474
+ /**
475
+ * Generate row actions div
476
+ *
477
+ * @since 3.1.0
478
+ * @access protected
479
+ *
480
+ * @param array $actions The list of actions
481
+ * @param bool $always_visible Whether the actions should be always visible
482
+ * @return string
483
+ */
484
+ protected function row_actions( $actions, $always_visible = false ) {
485
+ $action_count = count( $actions );
486
+ $i = 0;
487
+
488
+ if ( !$action_count )
489
+ return '';
490
+
491
+ $out = '<div class="' . ( $always_visible ? 'row-actions visible' : 'row-actions' ) . '">';
492
+ foreach ( $actions as $action => $link ) {
493
+ ++$i;
494
+ ( $i == $action_count ) ? $sep = '' : $sep = ' | ';
495
+ $out .= "<span class='$action'>$link$sep</span>";
496
+ }
497
+ $out .= '</div>';
498
+
499
+ $out .= '<button type="button" class="toggle-row"><span class="screen-reader-text">' . __( 'Show more details' ) . '</span></button>';
500
+
501
+ return $out;
502
+ }
503
+
504
+ /**
505
+ * Display a monthly dropdown for filtering items
506
+ *
507
+ * @since 3.1.0
508
+ * @access protected
509
+ *
510
+ * @global wpdb $wpdb
511
+ * @global WP_Locale $wp_locale
512
+ *
513
+ * @param string $post_type
514
+ */
515
+ protected function months_dropdown( $post_type ) {
516
+ global $wpdb, $wp_locale;
517
+
518
+ /**
519
+ * Filter whether to remove the 'Months' drop-down from the post list table.
520
+ *
521
+ * @since 4.2.0
522
+ *
523
+ * @param bool $disable Whether to disable the drop-down. Default false.
524
+ * @param string $post_type The post type.
525
+ */
526
+ if ( apply_filters( 'disable_months_dropdown', false, $post_type ) ) {
527
+ return;
528
+ }
529
+
530
+ $months = $wpdb->get_results( $wpdb->prepare( "
531
+ SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month
532
+ FROM $wpdb->posts
533
+ WHERE post_type = %s
534
+ ORDER BY post_date DESC
535
+ ", $post_type ) );
536
+
537
+ /**
538
+ * Filter the 'Months' drop-down results.
539
+ *
540
+ * @since 3.7.0
541
+ *
542
+ * @param object $months The months drop-down query results.
543
+ * @param string $post_type The post type.
544
+ */
545
+ $months = apply_filters( 'months_dropdown_results', $months, $post_type );
546
+
547
+ $month_count = count( $months );
548
+
549
+ if ( !$month_count || ( 1 == $month_count && 0 == $months[0]->month ) )
550
+ return;
551
+
552
+ $m = isset( $_GET['m'] ) ? (int) $_GET['m'] : 0;
553
+ ?>
554
+ <label for="filter-by-date" class="screen-reader-text"><?php _e( 'Filter by date' ); ?></label>
555
+ <select name="m" id="filter-by-date">
556
+ <option<?php selected( $m, 0 ); ?> value="0"><?php _e( 'All dates' ); ?></option>
557
+ <?php
558
+ foreach ( $months as $arc_row ) {
559
+ if ( 0 == $arc_row->year )
560
+ continue;
561
+
562
+ $month = zeroise( $arc_row->month, 2 );
563
+ $year = $arc_row->year;
564
+
565
+ printf( "<option %s value='%s'>%s</option>\n",
566
+ selected( $m, $year . $month, false ),
567
+ esc_attr( $arc_row->year . $month ),
568
+ /* translators: 1: month name, 2: 4-digit year */
569
+ sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $month ), $year )
570
+ );
571
+ }
572
+ ?>
573
+ </select>
574
+ <?php
575
+ }
576
+
577
+ /**
578
+ * Display a view switcher
579
+ *
580
+ * @since 3.1.0
581
+ * @access protected
582
+ *
583
+ * @param string $current_mode
584
+ */
585
+ protected function view_switcher( $current_mode ) {
586
+ ?>
587
+ <input type="hidden" name="mode" value="<?php echo esc_attr( $current_mode ); ?>" />
588
+ <div class="view-switch">
589
+ <?php
590
+ foreach ( $this->modes as $mode => $title ) {
591
+ $classes = array( 'view-' . $mode );
592
+ if ( $current_mode == $mode )
593
+ $classes[] = 'current';
594
+ printf(
595
+ "<a href='%s' class='%s' id='view-switch-$mode'><span class='screen-reader-text'>%s</span></a>\n",
596
+ esc_url( add_query_arg( 'mode', $mode ) ),
597
+ implode( ' ', $classes ),
598
+ $title
599
+ );
600
+ }
601
+ ?>
602
+ </div>
603
+ <?php
604
+ }
605
+
606
+ /**
607
+ * Display a comment count bubble
608
+ *
609
+ * @since 3.1.0
610
+ * @access protected
611
+ *
612
+ * @param int $post_id The post ID.
613
+ * @param int $pending_comments Number of pending comments.
614
+ */
615
+ protected function comments_bubble( $post_id, $pending_comments ) {
616
+ $approved_comments = get_comments_number();
617
+
618
+ $approved_comments_number = number_format_i18n( $approved_comments );
619
+ $pending_comments_number = number_format_i18n( $pending_comments );
620
+
621
+ $approved_only_phrase = sprintf( _n( '%s comment', '%s comments', $approved_comments ), $approved_comments_number );
622
+ $approved_phrase = sprintf( _n( '%s approved comment', '%s approved comments', $approved_comments ), $approved_comments_number );
623
+ $pending_phrase = sprintf( _n( '%s pending comment', '%s pending comments', $pending_comments ), $pending_comments_number );
624
+
625
+ // No comments at all.
626
+ if ( ! $approved_comments && ! $pending_comments ) {
627
+ printf( '<span aria-hidden="true">—</span><span class="screen-reader-text">%s</span>',
628
+ __( 'No comments' )
629
+ );
630
+ // Approved comments have different display depending on some conditions.
631
+ } elseif ( $approved_comments ) {
632
+ printf( '<a href="%s" class="post-com-count post-com-count-approved"><span class="comment-count-approved" aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></a>',
633
+ esc_url( add_query_arg( array( 'p' => $post_id, 'comment_status' => 'approved' ), admin_url( 'edit-comments.php' ) ) ),
634
+ $approved_comments_number,
635
+ $pending_comments ? $approved_phrase : $approved_only_phrase
636
+ );
637
+ } else {
638
+ printf( '<span class="post-com-count post-com-count-no-comments"><span class="comment-count comment-count-no-comments" aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></span>',
639
+ $approved_comments_number,
640
+ $pending_comments ? __( 'No approved comments' ) : __( 'No comments' )
641
+ );
642
+ }
643
+
644
+ if ( $pending_comments ) {
645
+ printf( '<a href="%s" class="post-com-count post-com-count-pending"><span class="comment-count-pending" aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></a>',
646
+ esc_url( add_query_arg( array( 'p' => $post_id, 'comment_status' => 'moderated' ), admin_url( 'edit-comments.php' ) ) ),
647
+ $pending_comments_number,
648
+ $pending_phrase
649
+ );
650
+ }
651
+ }
652
+
653
+ /**
654
+ * Get the current page number
655
+ *
656
+ * @since 3.1.0
657
+ * @access public
658
+ *
659
+ * @return int
660
+ */
661
+ public function get_pagenum() {
662
+ $pagenum = isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 0;
663
+
664
+ if ( isset( $this->_pagination_args['total_pages'] ) && $pagenum > $this->_pagination_args['total_pages'] )
665
+ $pagenum = $this->_pagination_args['total_pages'];
666
+
667
+ return max( 1, $pagenum );
668
+ }
669
+
670
+ /**
671
+ * Get number of items to display on a single page
672
+ *
673
+ * @since 3.1.0
674
+ * @access protected
675
+ *
676
+ * @param string $option
677
+ * @param int $default
678
+ * @return int
679
+ */
680
+ protected function get_items_per_page( $option, $default = 20 ) {
681
+ $per_page = (int) get_user_option( $option );
682
+ if ( empty( $per_page ) || $per_page < 1 )
683
+ $per_page = $default;
684
+
685
+ /**
686
+ * Filter the number of items to be displayed on each page of the list table.
687
+ *
688
+ * The dynamic hook name, $option, refers to the `per_page` option depending
689
+ * on the type of list table in use. Possible values include: 'edit_comments_per_page',
690
+ * 'sites_network_per_page', 'site_themes_network_per_page', 'themes_network_per_page',
691
+ * 'users_network_per_page', 'edit_post_per_page', 'edit_page_per_page',
692
+ * 'edit_{$post_type}_per_page', etc.
693
+ *
694
+ * @since 2.9.0
695
+ *
696
+ * @param int $per_page Number of items to be displayed. Default 20.
697
+ */
698
+ return (int) apply_filters( $option, $per_page );
699
+ }
700
+
701
+ /**
702
+ * Display the pagination.
703
+ *
704
+ * @since 3.1.0
705
+ * @access protected
706
+ *
707
+ * @param string $which
708
+ */
709
+ protected function pagination( $which ) {
710
+ if ( empty( $this->_pagination_args ) ) {
711
+ return;
712
+ }
713
+
714
+ $total_items = $this->_pagination_args['total_items'];
715
+ $total_pages = $this->_pagination_args['total_pages'];
716
+ $infinite_scroll = false;
717
+ if ( isset( $this->_pagination_args['infinite_scroll'] ) ) {
718
+ $infinite_scroll = $this->_pagination_args['infinite_scroll'];
719
+ }
720
+
721
+ $output = '<span class="displaying-num">' . sprintf( _n( '%s item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>';
722
+
723
+ $current = $this->get_pagenum();
724
+
725
+ $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
726
+
727
+ $current_url = remove_query_arg( array( 'hotkeys_highlight_last', 'hotkeys_highlight_first' ), $current_url );
728
+
729
+ $page_links = array();
730
+
731
+ $total_pages_before = '<span class="paging-input">';
732
+ $total_pages_after = '</span>';
733
+
734
+ $disable_first = $disable_last = $disable_prev = $disable_next = false;
735
+
736
+ if ( $current == 1 ) {
737
+ $disable_first = true;
738
+ $disable_prev = true;
739
+ }
740
+ if ( $current == 2 ) {
741
+ $disable_first = true;
742
+ }
743
+ if ( $current == $total_pages ) {
744
+ $disable_last = true;
745
+ $disable_next = true;
746
+ }
747
+ if ( $current == $total_pages - 1 ) {
748
+ $disable_last = true;
749
+ }
750
+
751
+ if ( $disable_first ) {
752
+ $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&laquo;</span>';
753
+ } else {
754
+ $page_links[] = sprintf( "<a class='first-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
755
+ esc_url( remove_query_arg( 'paged', $current_url ) ),
756
+ __( 'First page' ),
757
+ '&laquo;'
758
+ );
759
+ }
760
+
761
+ if ( $disable_prev ) {
762
+ $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&lsaquo;</span>';
763
+ } else {
764
+ $page_links[] = sprintf( "<a class='prev-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
765
+ esc_url( add_query_arg( 'paged', max( 1, $current-1 ), $current_url ) ),
766
+ __( 'Previous page' ),
767
+ '&lsaquo;'
768
+ );
769
+ }
770
+
771
+ if ( 'bottom' == $which ) {
772
+ $html_current_page = $current;
773
+ $total_pages_before = '<span class="screen-reader-text">' . __( 'Current Page' ) . '</span><span id="table-paging" class="paging-input">';
774
+ } else {
775
+ $html_current_page = sprintf( "%s<input class='current-page' id='current-page-selector' type='text' name='paged' value='%s' size='%d' aria-describedby='table-paging' />",
776
+ '<label for="current-page-selector" class="screen-reader-text">' . __( 'Current Page' ) . '</label>',
777
+ $current,
778
+ strlen( $total_pages )
779
+ );
780
+ }
781
+ $html_total_pages = sprintf( "<span class='total-pages'>%s</span>", number_format_i18n( $total_pages ) );
782
+ $page_links[] = $total_pages_before . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . $total_pages_after;
783
+
784
+ if ( $disable_next ) {
785
+ $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&rsaquo;</span>';
786
+ } else {
787
+ $page_links[] = sprintf( "<a class='next-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
788
+ esc_url( add_query_arg( 'paged', min( $total_pages, $current+1 ), $current_url ) ),
789
+ __( 'Next page' ),
790
+ '&rsaquo;'
791
+ );
792
+ }
793
+
794
+ if ( $disable_last ) {
795
+ $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&raquo;</span>';
796
+ } else {
797
+ $page_links[] = sprintf( "<a class='last-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
798
+ esc_url( add_query_arg( 'paged', $total_pages, $current_url ) ),
799
+ __( 'Last page' ),
800
+ '&raquo;'
801
+ );
802
+ }
803
+
804
+ $pagination_links_class = 'pagination-links';
805
+ if ( ! empty( $infinite_scroll ) ) {
806
+ $pagination_links_class = ' hide-if-js';
807
+ }
808
+ $output .= "\n<span class='$pagination_links_class'>" . join( "\n", $page_links ) . '</span>';
809
+
810
+ if ( $total_pages ) {
811
+ $page_class = $total_pages < 2 ? ' one-page' : '';
812
+ } else {
813
+ $page_class = ' no-pages';
814
+ }
815
+ $this->_pagination = "<div class='tablenav-pages{$page_class}'>$output</div>";
816
+
817
+ echo $this->_pagination;
818
+ }
819
+
820
+ /**
821
+ * Get a list of columns. The format is:
822
+ * 'internal-name' => 'Title'
823
+ *
824
+ * @since 3.1.0
825
+ * @access public
826
+ * @abstract
827
+ *
828
+ * @return array
829
+ */
830
+ public function get_columns() {
831
+ die( 'function WPCListTable::get_columns() must be over-ridden in a sub-class.' );
832
+ }
833
+
834
+ /**
835
+ * Get a list of sortable columns. The format is:
836
+ * 'internal-name' => 'orderby'
837
+ * or
838
+ * 'internal-name' => array( 'orderby', true )
839
+ *
840
+ * The second format will make the initial sorting order be descending
841
+ *
842
+ * @since 3.1.0
843
+ * @access protected
844
+ *
845
+ * @return array
846
+ */
847
+ protected function get_sortable_columns() {
848
+ return array();
849
+ }
850
+
851
+ /**
852
+ * Gets the name of the default primary column.
853
+ *
854
+ * @since 4.3.0
855
+ * @access protected
856
+ *
857
+ * @return string Name of the default primary column, in this case, an empty string.
858
+ */
859
+ protected function get_default_primary_column_name() {
860
+ $columns = $this->get_columns();
861
+ $column = '';
862
+
863
+ // We need a primary defined so responsive views show something,
864
+ // so let's fall back to the first non-checkbox column.
865
+ foreach( $columns as $col => $column_name ) {
866
+ if ( 'cb' === $col ) {
867
+ continue;
868
+ }
869
+
870
+ $column = $col;
871
+ break;
872
+ }
873
+
874
+ return $column;
875
+ }
876
+
877
+ /**
878
+ * Gets the name of the primary column.
879
+ *
880
+ * @since 4.3.0
881
+ * @access protected
882
+ *
883
+ * @return string The name of the primary column.
884
+ */
885
+ protected function get_primary_column_name() {
886
+ $columns = $this->get_columns();
887
+ $default = $this->get_default_primary_column_name();
888
+
889
+ // If the primary column doesn't exist fall back to the
890
+ // first non-checkbox column.
891
+ if ( ! isset( $columns[ $default ] ) ) {
892
+ $default = WPCListTable::get_default_primary_column_name();
893
+ }
894
+
895
+ /**
896
+ * Filter the name of the primary column for the current list table.
897
+ *
898
+ * @since 4.3.0
899
+ *
900
+ * @param string $default Column name default for the specific list table, e.g. 'name'.
901
+ * @param string $context Screen ID for specific list table, e.g. 'plugins'.
902
+ */
903
+ $column = apply_filters( 'list_table_primary_column', $default, $this->screen->id );
904
+
905
+ if ( empty( $column ) || ! isset( $columns[ $column ] ) ) {
906
+ $column = $default;
907
+ }
908
+
909
+ return $column;
910
+ }
911
+
912
+ /**
913
+ * Get a list of all, hidden and sortable columns, with filter applied
914
+ *
915
+ * @since 3.1.0
916
+ * @access protected
917
+ *
918
+ * @return array
919
+ */
920
+ protected function get_column_info() {
921
+ // $_column_headers is already set / cached
922
+ if ( isset( $this->_column_headers ) && is_array( $this->_column_headers ) ) {
923
+ // Back-compat for list tables that have been manually setting $_column_headers for horse reasons.
924
+ // In 4.3, we added a fourth argument for primary column.
925
+ $column_headers = array( array(), array(), array(), $this->get_primary_column_name() );
926
+ foreach ( $this->_column_headers as $key => $value ) {
927
+ $column_headers[ $key ] = $value;
928
+ }
929
+
930
+ return $column_headers;
931
+ }
932
+
933
+ $columns = get_column_headers( $this->screen );
934
+ $hidden = get_hidden_columns( $this->screen );
935
+
936
+ $sortable_columns = $this->get_sortable_columns();
937
+ /**
938
+ * Filter the list table sortable columns for a specific screen.
939
+ *
940
+ * The dynamic portion of the hook name, `$this->screen->id`, refers
941
+ * to the ID of the current screen, usually a string.
942
+ *
943
+ * @since 3.5.0
944
+ *
945
+ * @param array $sortable_columns An array of sortable columns.
946
+ */
947
+ $_sortable = apply_filters( "manage_{$this->screen->id}_sortable_columns", $sortable_columns );
948
+
949
+ $sortable = array();
950
+ foreach ( $_sortable as $id => $data ) {
951
+ if ( empty( $data ) )
952
+ continue;
953
+
954
+ $data = (array) $data;
955
+ if ( !isset( $data[1] ) )
956
+ $data[1] = false;
957
+
958
+ $sortable[$id] = $data;
959
+ }
960
+
961
+ $primary = $this->get_primary_column_name();
962
+ $this->_column_headers = array( $columns, $hidden, $sortable, $primary );
963
+
964
+ return $this->_column_headers;
965
+ }
966
+
967
+ /**
968
+ * Return number of visible columns
969
+ *
970
+ * @since 3.1.0
971
+ * @access public
972
+ *
973
+ * @return int
974
+ */
975
+ public function get_column_count() {
976
+ list ( $columns, $hidden ) = $this->get_column_info();
977
+ $hidden = array_intersect( array_keys( $columns ), array_filter( $hidden ) );
978
+ return count( $columns ) - count( $hidden );
979
+ }
980
+
981
+ /**
982
+ * Print column headers, accounting for hidden and sortable columns.
983
+ *
984
+ * @since 3.1.0
985
+ * @access public
986
+ *
987
+ * @staticvar int $cb_counter
988
+ *
989
+ * @param bool $with_id Whether to set the id attribute or not
990
+ */
991
+ public function print_column_headers( $with_id = true ) {
992
+ list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info();
993
+
994
+ $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
995
+ $current_url = remove_query_arg( 'paged', $current_url );
996
+
997
+ if ( isset( $_GET['orderby'] ) )
998
+ $current_orderby = $_GET['orderby'];
999
+ else
1000
+ $current_orderby = '';
1001
+
1002
+ if ( isset( $_GET['order'] ) && 'desc' == $_GET['order'] )
1003
+ $current_order = 'desc';
1004
+ else
1005
+ $current_order = 'asc';
1006
+
1007
+ if ( ! empty( $columns['cb'] ) ) {
1008
+ static $cb_counter = 1;
1009
+ $columns['cb'] = '<label class="screen-reader-text" for="cb-select-all-' . $cb_counter . '">' . __( 'Select All' ) . '</label>'
1010
+ . '<input id="cb-select-all-' . $cb_counter . '" type="checkbox" />';
1011
+ $cb_counter++;
1012
+ }
1013
+
1014
+ foreach ( $columns as $column_key => $column_display_name ) {
1015
+ $class = array( 'manage-column', "column-$column_key" );
1016
+
1017
+ if ( in_array( $column_key, $hidden ) ) {
1018
+ $class[] = 'hidden';
1019
+ }
1020
+
1021
+ if ( 'cb' == $column_key )
1022
+ $class[] = 'check-column';
1023
+ elseif ( in_array( $column_key, array( 'posts', 'comments', 'links' ) ) )
1024
+ $class[] = 'num';
1025
+
1026
+ if ( $column_key === $primary ) {
1027
+ $class[] = 'column-primary';
1028
+ }
1029
+
1030
+ if ( isset( $sortable[$column_key] ) ) {
1031
+ list( $orderby, $desc_first ) = $sortable[$column_key];
1032
+
1033
+ if ( $current_orderby == $orderby ) {
1034
+ $order = 'asc' == $current_order ? 'desc' : 'asc';
1035
+ $class[] = 'sorted';
1036
+ $class[] = $current_order;
1037
+ } else {
1038
+ $order = $desc_first ? 'desc' : 'asc';
1039
+ $class[] = 'sortable';
1040
+ $class[] = $desc_first ? 'asc' : 'desc';
1041
+ }
1042
+
1043
+ $column_display_name = '<a href="' . esc_url( add_query_arg( compact( 'orderby', 'order' ), $current_url ) ) . '"><span>' . $column_display_name . '</span><span class="sorting-indicator"></span></a>';
1044
+ }
1045
+
1046
+ $tag = ( 'cb' === $column_key ) ? 'td' : 'th';
1047
+ $scope = ( 'th' === $tag ) ? 'scope="col"' : '';
1048
+ $id = $with_id ? "id='$column_key'" : '';
1049
+
1050
+ if ( !empty( $class ) )
1051
+ $class = "class='" . join( ' ', $class ) . "'";
1052
+
1053
+ echo "<$tag $scope $id $class>$column_display_name</$tag>";
1054
+ }
1055
+ }
1056
+
1057
+ /**
1058
+ * Display the table
1059
+ *
1060
+ * @since 3.1.0
1061
+ * @access public
1062
+ */
1063
+ public function display() {
1064
+ $singular = $this->_args['singular'];
1065
+
1066
+ $this->display_tablenav( 'top' );
1067
+ ?>
1068
+ <table class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>">
1069
+ <thead>
1070
+ <tr>
1071
+ <?php $this->print_column_headers(); ?>
1072
+ </tr>
1073
+ </thead>
1074
+
1075
+ <tbody id="the-list"<?php
1076
+ if ( $singular ) {
1077
+ echo " data-wp-lists='list:$singular'";
1078
+ } ?>>
1079
+ <?php $this->display_rows_or_placeholder(); ?>
1080
+ </tbody>
1081
+
1082
+ <tfoot>
1083
+ <tr>
1084
+ <?php $this->print_column_headers( false ); ?>
1085
+ </tr>
1086
+ </tfoot>
1087
+
1088
+ </table>
1089
+ <?php
1090
+ $this->display_tablenav( 'bottom' );
1091
+ }
1092
+
1093
+ /**
1094
+ * Get a list of CSS classes for the list table table tag.
1095
+ *
1096
+ * @since 3.1.0
1097
+ * @access protected
1098
+ *
1099
+ * @return array List of CSS classes for the table tag.
1100
+ */
1101
+ protected function get_table_classes() {
1102
+ return array( 'widefat', 'fixed', 'striped', $this->_args['plural'] );
1103
+ }
1104
+
1105
+ /**
1106
+ * Generate the table navigation above or below the table
1107
+ *
1108
+ * @since 3.1.0
1109
+ * @access protected
1110
+ * @param string $which
1111
+ */
1112
+ protected function display_tablenav( $which ) {
1113
+ if ( 'top' == $which )
1114
+ wp_nonce_field( 'bulk-' . $this->_args['plural'] );
1115
+ ?>
1116
+ <div class="tablenav <?php echo esc_attr( $which ); ?>">
1117
+
1118
+ <div class="alignleft actions bulkactions">
1119
+ <?php $this->bulk_actions( $which ); ?>
1120
+ </div>
1121
+ <?php
1122
+ $this->extra_tablenav( $which );
1123
+ $this->pagination( $which );
1124
+ ?>
1125
+
1126
+ <br class="clear" />
1127
+ </div>
1128
+ <?php
1129
+ }
1130
+
1131
+ /**
1132
+ * Extra controls to be displayed between bulk actions and pagination
1133
+ *
1134
+ * @since 3.1.0
1135
+ * @access protected
1136
+ *
1137
+ * @param string $which
1138
+ */
1139
+ protected function extra_tablenav( $which ) {}
1140
+
1141
+ /**
1142
+ * Generate the tbody element for the list table.
1143
+ *
1144
+ * @since 3.1.0
1145
+ * @access public
1146
+ */
1147
+ public function display_rows_or_placeholder() {
1148
+ if ( $this->has_items() ) {
1149
+ $this->display_rows();
1150
+ } else {
1151
+ echo '<tr class="no-items"><td class="colspanchange" colspan="' . $this->get_column_count() . '">';
1152
+ $this->no_items();
1153
+ echo '</td></tr>';
1154
+ }
1155
+ }
1156
+
1157
+ /**
1158
+ * Generate the table rows
1159
+ *
1160
+ * @since 3.1.0
1161
+ * @access public
1162
+ */
1163
+ public function display_rows() {
1164
+ foreach ( $this->items as $item )
1165
+ $this->single_row( $item );
1166
+ }
1167
+
1168
+ /**
1169
+ * Generates content for a single row of the table
1170
+ *
1171
+ * @since 3.1.0
1172
+ * @access public
1173
+ *
1174
+ * @param object $item The current item
1175
+ */
1176
+ public function single_row( $item ) {
1177
+ echo '<tr>';
1178
+ $this->single_row_columns( $item );
1179
+ echo '</tr>';
1180
+ }
1181
+
1182
+ /**
1183
+ *
1184
+ * @param object $item
1185
+ * @param string $column_name
1186
+ */
1187
+ protected function column_default( $item, $column_name ) {}
1188
+
1189
+ /**
1190
+ *
1191
+ * @param object $item
1192
+ */
1193
+ protected function column_cb( $item ) {}
1194
+
1195
+ /**
1196
+ * Generates the columns for a single row of the table
1197
+ *
1198
+ * @since 3.1.0
1199
+ * @access protected
1200
+ *
1201
+ * @param object $item The current item
1202
+ */
1203
+ protected function single_row_columns( $item ) {
1204
+ list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info();
1205
+
1206
+ foreach ( $columns as $column_name => $column_display_name ) {
1207
+ $classes = "$column_name column-$column_name";
1208
+ if ( $primary === $column_name ) {
1209
+ $classes .= ' has-row-actions column-primary';
1210
+ }
1211
+
1212
+ if ( in_array( $column_name, $hidden ) ) {
1213
+ $classes .= ' hidden';
1214
+ }
1215
+
1216
+ // Comments column uses HTML in the display name with screen reader text.
1217
+ // Instead of using esc_attr(), we strip tags to get closer to a user-friendly string.
1218
+ $data = 'data-colname="' . wp_strip_all_tags( $column_display_name ) . '"';
1219
+
1220
+ $attributes = "class='$classes' $data";
1221
+
1222
+ if ( 'cb' == $column_name ) {
1223
+ echo '<th scope="row" class="check-column">';
1224
+ echo $this->column_cb( $item );
1225
+ echo '</th>';
1226
+ } elseif ( method_exists( $this, '_column_' . $column_name ) ) {
1227
+ echo call_user_func(
1228
+ array( $this, '_column_' . $column_name ),
1229
+ $item,
1230
+ $classes,
1231
+ $data,
1232
+ $primary
1233
+ );
1234
+ } elseif ( method_exists( $this, 'column_' . $column_name ) ) {
1235
+ echo "<td $attributes>";
1236
+ echo call_user_func( array( $this, 'column_' . $column_name ), $item );
1237
+ echo $this->handle_row_actions( $item, $column_name, $primary );
1238
+ echo "</td>";
1239
+ } else {
1240
+ echo "<td $attributes>";
1241
+ echo $this->column_default( $item, $column_name );
1242
+ echo $this->handle_row_actions( $item, $column_name, $primary );
1243
+ echo "</td>";
1244
+ }
1245
+ }
1246
+ }
1247
+
1248
+ /**
1249
+ * Generates and display row actions links for the list table.
1250
+ *
1251
+ * @since 4.3.0
1252
+ * @access protected
1253
+ *
1254
+ * @param object $item The item being acted upon.
1255
+ * @param string $column_name Current column name.
1256
+ * @param string $primary Primary column name.
1257
+ * @return string The row actions output. In this case, an empty string.
1258
+ */
1259
+ protected function handle_row_actions( $item, $column_name, $primary ) {
1260
+ return $column_name == $primary ? '<button type="button" class="toggle-row"><span class="screen-reader-text">' . __( 'Show more details' ) . '</span></button>' : '';
1261
+ }
1262
+
1263
+ /**
1264
+ * Handle an incoming ajax request (called from admin-ajax.php)
1265
+ *
1266
+ * @since 3.1.0
1267
+ * @access public
1268
+ */
1269
+ public function ajax_response() {
1270
+ $this->prepare_items();
1271
+
1272
+ ob_start();
1273
+ if ( ! empty( $_REQUEST['no_placeholder'] ) ) {
1274
+ $this->display_rows();
1275
+ } else {
1276
+ $this->display_rows_or_placeholder();
1277
+ }
1278
+
1279
+ $rows = ob_get_clean();
1280
+
1281
+ $response = array( 'rows' => $rows );
1282
+
1283
+ if ( isset( $this->_pagination_args['total_items'] ) ) {
1284
+ $response['total_items_i18n'] = sprintf(
1285
+ _n( '%s item', '%s items', $this->_pagination_args['total_items'] ),
1286
+ number_format_i18n( $this->_pagination_args['total_items'] )
1287
+ );
1288
+ }
1289
+ if ( isset( $this->_pagination_args['total_pages'] ) ) {
1290
+ $response['total_pages'] = $this->_pagination_args['total_pages'];
1291
+ $response['total_pages_i18n'] = number_format_i18n( $this->_pagination_args['total_pages'] );
1292
+ }
1293
+
1294
+ die( wp_json_encode( $response ) );
1295
+ }
1296
+
1297
+ /**
1298
+ * Send required variables to JavaScript land
1299
+ *
1300
+ * @access public
1301
+ */
1302
+ public function _js_vars() {
1303
+ $args = array(
1304
+ 'class' => get_class( $this ),
1305
+ 'screen' => array(
1306
+ 'id' => $this->screen->id,
1307
+ 'base' => $this->screen->base,
1308
+ )
1309
+ );
1310
+
1311
+ printf( "<script type='text/javascript'>list_args = %s;</script>\n", wp_json_encode( $args ) );
1312
+ }
1313
+ }
classes/sgDataTable/SGPopupTable.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ require_once('Table.php');
3
+
4
+ class SGPB_PopupsView extends SGPB_Table
5
+ {
6
+ public function __construct()
7
+ {
8
+ global $wpdb;
9
+ parent::__construct('');
10
+
11
+ $this->setRowsPerPage(SG_APP_POPUP_TABLE_LIMIT);
12
+ $this->setTablename($wpdb->prefix.'sg_popup');
13
+ $this->setColumns(array(
14
+ 'id',
15
+ 'title',
16
+ 'type'
17
+ ));
18
+ $this->setDisplayColumns(array(
19
+ 'id' => 'ID',
20
+ 'title' => 'Title',
21
+ 'type' => 'Type',
22
+ 'shortcode' => 'Auto shortcode',
23
+ 'options' => 'Options'
24
+ ));
25
+ $this->setSortableColumns(array(
26
+ 'id' => array('id', false),
27
+ 'title' => array('title', true),
28
+ $this->setInitialSort(array(
29
+ 'id' => 'DESC'
30
+ ))
31
+ ));
32
+ }
33
+
34
+ public function customizeRow(&$row)
35
+ {
36
+ $id = $row[0];
37
+ $type = $row[2];
38
+ $editUrl = admin_url()."admin.php?page=edit-popup&id=".$id."&type=".$type."";
39
+ $row[3] = "<input type='text' onfocus='this.select();' readonly value='[sg_popup id=".$id."]' class='large-text code'>";
40
+ $row[4] = '<a href="'.@$editUrl.'">'.__('Edit', 'sgpt').'</a>&nbsp;&nbsp;<a href="#" data-sg-popup-id="'.$id.'" class="sg-js-delete-link">'.__('Delete', 'sgpt').'</a>';
41
+ }
42
+
43
+ public function customizeQuery(&$query)
44
+ {
45
+ $searchQuery = '';
46
+ global $wpdb;
47
+ if(isset($_POST['s']) && !empty($_POST['s']))
48
+ {
49
+ $searchCriteria = $_POST['s'];
50
+ $searchQuery = " WHERE title LIKE '%$searchCriteria%' ";
51
+ }
52
+ $query .= $searchQuery;
53
+ }
54
+ }
classes/sgDataTable/Table.php ADDED
@@ -0,0 +1,165 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ require_once('ListTable.php');
4
+
5
+ class SGPB_Table extends SGPB_ListTable
6
+ {
7
+ protected $id = '';
8
+ protected $columns = array();
9
+ protected $displayColumns = array();
10
+ protected $sortableColumns = array();
11
+ protected $tablename = '';
12
+ protected $rowsPerPage = 10;
13
+ protected $initialOrder = array();
14
+
15
+ public function __construct($id)
16
+ {
17
+ $this->id = $id;
18
+ parent::__construct(array(
19
+ 'singular'=> 'wp_'.$id, //singular label
20
+ 'plural' => 'wp_'.$id.'s', //plural label
21
+ 'ajax' => false
22
+ ));
23
+ }
24
+
25
+ public function setId($id)
26
+ {
27
+ $this->id = $id;
28
+ }
29
+
30
+ public function setRowsPerPage($rowsPerPage)
31
+ {
32
+ $this->rowsPerPage = $rowsPerPage;
33
+ }
34
+
35
+ public function setColumns($columns)
36
+ {
37
+ $this->columns = $columns;
38
+ }
39
+
40
+ public function setDisplayColumns($displayColumns)
41
+ {
42
+ $this->displayColumns = $displayColumns;
43
+ }
44
+
45
+ public function setSortableColumns($sortableColumns)
46
+ {
47
+ $this->sortableColumns = $sortableColumns;
48
+ }
49
+
50
+ public function setTablename($tablename)
51
+ {
52
+ $this->tablename = $tablename;
53
+ }
54
+
55
+ public function setInitialSort($orderableColumns)
56
+ {
57
+ $this->initialOrder = $orderableColumns;
58
+ }
59
+
60
+ public function get_columns()
61
+ {
62
+ return $this->displayColumns;
63
+ }
64
+
65
+ public function prepare_items()
66
+ {
67
+ global $wpdb;
68
+ $table = $this->tablename;
69
+
70
+ $query = "SELECT ".implode(', ', $this->columns)." FROM ".$table;
71
+ $this->customizeQuery($query);
72
+
73
+ $totalItems = count($wpdb->get_results($query)); //return the total number of affected rows
74
+
75
+ $perPage = $this->rowsPerPage;
76
+
77
+ $totalPages = ceil($totalItems/$perPage);
78
+
79
+ $orderby = isset($_GET["orderby"]) ? $_GET["orderby"] : 'ASC';
80
+ $order = isset($_GET["order"]) ? $_GET["order"] : '';
81
+
82
+ if(isset($this->initialOrder) && empty($order)){
83
+ foreach($this->initialOrder as $key=>$val){
84
+ $order = $val;
85
+ $orderby = $key;
86
+ }
87
+ }
88
+
89
+ if (!empty($orderby) && !empty($order)) {
90
+ $query .= ' ORDER BY '.$orderby.' '.$order;
91
+ }
92
+
93
+ $paged = isset($_GET["paged"]) ? (int)$_GET["paged"] : '';
94
+
95
+ if (empty($paged) || !is_numeric($paged) || $paged<=0) {
96
+ $paged = 1;
97
+ }
98
+
99
+ //adjust the query to take pagination into account
100
+ if(!empty($paged) && !empty($perPage)) {
101
+ $offset = ($paged-1) * $perPage;
102
+ $query .= ' LIMIT '.(int)$offset.','.(int)$perPage;
103
+ }
104
+
105
+ $this->set_pagination_args(array(
106
+ "total_items" => $totalItems,
107
+ "total_pages" => $totalPages,
108
+ "per_page" => $perPage,
109
+ ));
110
+
111
+ $columns = $this->get_columns();
112
+ $hidden = array();
113
+ $sortable = $this->get_sortable_columns();
114
+ $this->_column_headers = array($columns, $hidden, $sortable);
115
+ $this->items = $wpdb->get_results($query, ARRAY_N);
116
+ }
117
+
118
+ public function get_sortable_columns() {
119
+ return $this->sortableColumns;
120
+ }
121
+
122
+ public function display_rows()
123
+ {
124
+ //get the records registered in the prepare_items method
125
+ $records = $this->items;
126
+
127
+ //get the columns registered in the get_columns and get_sortable_columns methods
128
+ list($columns, $hidden) = $this->get_column_info();
129
+
130
+ if (!empty($records)) {
131
+ foreach($records as $rec) {
132
+ echo '<tr>';
133
+
134
+ $this->customizeRow($rec);
135
+ for ($i = 0; $i<count($rec); $i++) {
136
+ echo '<td>'.stripslashes($rec[$i]).'</td>';
137
+ }
138
+
139
+ echo '</tr>';
140
+ }
141
+ }
142
+ }
143
+
144
+ public function customizeRow(&$row)
145
+ {
146
+
147
+ }
148
+
149
+ public function customizeQuery(&$query)
150
+ {
151
+
152
+ }
153
+
154
+ public function __toString()
155
+ {
156
+ $this->prepare_items(); ?>
157
+ <form method="post">
158
+ <input type="hidden" name="page" value="my_list_test" />
159
+ <?php $this->search_box('search', 'search_id'); ?>
160
+ </form>
161
+ <?php
162
+ $this->display();
163
+ return '';
164
+ }
165
+ }
files/sg_popup_create.php CHANGED
@@ -21,6 +21,18 @@
21
  <div class="popups-div video-popup">
22
  </div>
23
  </a>
 
 
 
 
 
 
 
 
 
 
 
 
24
  <?php endif; ?>
25
  <?php if (SG_POPUP_PRO == 0): ?>
26
  <a class="create-popup-link" href="<?php echo SG_POPUP_PRO_URL;?>" target="_blank">
@@ -39,6 +51,10 @@
39
  <div class="popups-div age-restriction-pro">
40
  </div>
41
  </a>
 
 
 
 
42
  <a class="create-popup-link" href="<?php echo SG_POPUP_PRO_URL;?>" target="_blank">
43
  <div class="popups-div social-pro">
44
  </div>
21
  <div class="popups-div video-popup">
22
  </div>
23
  </a>
24
+ <a class="create-popup-link" href="<?php echo SG_APP_POPUP_ADMIN_URL?>admin.php?page=edit-popup&type=ageRestriction">
25
+ <div class="popups-div age-restriction">
26
+ </div>
27
+ </a>
28
+ <a class="create-popup-link" href="<?php echo SG_APP_POPUP_ADMIN_URL?>admin.php?page=edit-popup&type=countdown">
29
+ <div class="popups-div countdown">
30
+ </div>
31
+ </a>
32
+ <a class="create-popup-link" href="<?php echo SG_APP_POPUP_ADMIN_URL?>admin.php?page=edit-popup&type=social">
33
+ <div class="popups-div sg-social">
34
+ </div>
35
+ </a>
36
  <?php endif; ?>
37
  <?php if (SG_POPUP_PRO == 0): ?>
38
  <a class="create-popup-link" href="<?php echo SG_POPUP_PRO_URL;?>" target="_blank">
51
  <div class="popups-div age-restriction-pro">
52
  </div>
53
  </a>
54
+ <a class="create-popup-link" href="<?php echo SG_POPUP_PRO_URL;?>" target="_blank">
55
+ <div class="popups-div countdown-pro">
56
+ </div>
57
+ </a>
58
  <a class="create-popup-link" href="<?php echo SG_POPUP_PRO_URL;?>" target="_blank">
59
  <div class="popups-div social-pro">
60
  </div>
files/sg_popup_create_new.php CHANGED
@@ -3,11 +3,12 @@
3
  if (!$popupType) {
4
  $popupType = 'html';
5
  }
 
 
 
 
6
  if (isset($_GET['id'])) {
7
  $id = (int)$_GET['id'];
8
- $popupName = "SG".ucfirst(strtolower($popupType));
9
- $popupClassName = $popupName."Popup";
10
- require_once(SG_APP_POPUP_PATH ."/classes/".$popupClassName.".php");
11
  $result = call_user_func(array($popupClassName, 'findById'), $id);
12
  if (!$result) {
13
  wp_redirect(SG_APP_POPUP_ADMIN_URL."page=edit-popup&type=".$popupType."");
@@ -36,9 +37,15 @@
36
  $sgRestrictionUrl = sgSafeStr($result->getRestrictionUrl());
37
  break;
38
  case 'countdown':
39
- $sgCoundownContent = ($result->getCountdownContent());
40
- $sgCloseType = sgSafeStr($result->getCloseType());
41
- $sgClosingTime = sgSafeStr($result->getClosingTime());
 
 
 
 
 
 
42
  break;
43
  case 'social':
44
  $sgSocialContent = ($result->getSocialContent());
@@ -71,6 +78,7 @@
71
  $sgMaxWidth = @$jsonData['maxWidth'];
72
  $sgMaxHeight = @$jsonData['maxHeight'];
73
  $sgForMobile = @$jsonData['forMobile'];
 
74
  $sgRepeatPopup = @$jsonData['repeatPopup'];
75
  $sgDisablePopup = @$jsonData['disablePopup'];
76
  $sgPopupClosingTimer = @$jsonData['popupClosingTimer'];
@@ -84,7 +92,7 @@
84
  $yesButtonRadius = @sgSafeStr($jsonData['yesButtonRadius']);
85
  $noButtonRadius = @sgSafeStr($jsonData['noButtonRadius']);
86
  $sgSocialOptions = json_decode(@$sgSocialOptions,true);
87
- $sgShareUrl = @sgSafeStr($sgSocialOptions['sgShareUrl']);
88
  $shareUrlType = @sgSafeStr($sgSocialOptions['shareUrlType']);
89
  $fbShareLabel = @sgSafeStr($sgSocialOptions['fbShareLabel']);
90
  $lindkinLabel = @sgSafeStr($sgSocialOptions['lindkinLabel']);
@@ -105,8 +113,11 @@
105
  $sgSocialLabel = @sgSafeStr($sgSocialOptions['sgSocialLabel']);
106
  $sgSocialShareCount = @sgSafeStr($sgSocialOptions['sgSocialShareCount']);
107
  $sgRoundButton = @sgSafeStr($sgSocialOptions['sgRoundButton']);
 
108
  }
109
- $colorboxDeafultValues = array(
 
 
110
  'escKey'=> true,
111
  'closeButton' => true,
112
  'scrolling'=> true,
@@ -143,15 +154,24 @@
143
  'googleStatus' => true,
144
  'pinterestStatus' => true,
145
  'sgSocialLabel'=>true,
146
- 'roundButtons'=>false
 
 
 
 
 
 
 
 
 
147
  );
148
 
149
- $escKey = sgBoolToChecked($colorboxDeafultValues['escKey']);
150
- $closeButton = sgBoolToChecked($colorboxDeafultValues['closeButton']);
151
- $scrolling = sgBoolToChecked($colorboxDeafultValues['scrolling']);
152
- $reposition = sgBoolToChecked($colorboxDeafultValues['reposition']);
153
- $overlayClose = sgBoolToChecked($colorboxDeafultValues['overlayClose']);
154
- $contentClick = sgBoolToChecked($colorboxDeafultValues['contentClick']);
155
 
156
  $closeType = sgBoolToChecked($popupProDefaultValues['closeType']);
157
  $onScrolling = sgBoolToChecked($popupProDefaultValues['onScrolling']);
@@ -167,26 +187,35 @@
167
  $pinterestStatus = sgBoolToChecked($popupProDefaultValues['pinterestStatus']);
168
  $socialLabel = sgBoolToChecked($popupProDefaultValues['sgSocialLabel']);
169
  $roundButtons = sgBoolToChecked($popupProDefaultValues['roundButtons']);
 
 
 
 
 
 
 
 
 
170
 
171
  function sgBoolToChecked($var)
172
  {
173
  return ($var?'checked':'');
174
  }
175
 
176
- $width = $colorboxDeafultValues['width'];
177
- $height = $colorboxDeafultValues['height'];
178
- $opacityValue = $colorboxDeafultValues['opacity'];
179
- $top = $colorboxDeafultValues['top'];
180
- $right = $colorboxDeafultValues['right'];
181
- $bottom = $colorboxDeafultValues['bottom'];
182
- $left = $colorboxDeafultValues['left'];
183
- $initialWidth = $colorboxDeafultValues['initialWidth'];
184
- $initialHeight = $colorboxDeafultValues['initialHeight'];
185
- $maxWidth = $colorboxDeafultValues['maxWidth'];
186
- $maxHeight = $colorboxDeafultValues['maxHeight'];
187
- $deafultFixed = $colorboxDeafultValues['fixed'];
188
- $defaultDuration = $colorboxDeafultValues['duration'];
189
- $defaultDelay = $colorboxDeafultValues['delay'];
190
 
191
  $sgCloseButton = @sgSetChecked($sgCloseButton, $closeButton);
192
  $sgEscKey = @sgSetChecked($sgEscKey, $escKey);
@@ -210,6 +239,10 @@
210
  $sgRoundButtons = @sgSetChecked($sgRoundButton, $roundButtons);
211
  $sgSocialLabel = @sgSetChecked($sgSocialLabel, $socialLabel);
212
  $sgPopupFixed = @sgSetChecked($sgPopupFixed, $deafultFixed);
 
 
 
 
213
 
214
  function sgSetChecked($optionsParam,$defaultOption)
215
  {
@@ -236,8 +269,14 @@
236
  $duration = @sgGetValue($duration, $defaultDuration);
237
  $delay = @sgGetValue($delay, $defaultDelay);
238
  $sgPopupDataIframe = @sgGetValue($sgPopupDataIframe, 'http://');
 
239
  $sgPopupDataHtml = @sgGetValue($sgPopupDataHtml, '');
240
  $sgPopupDataImage = @sgGetValue($sgPopupDataImage, '');
 
 
 
 
 
241
 
242
  function sgGetValue($getedVal,$defValue)
243
  {
@@ -253,12 +292,13 @@
253
  array(
254
  'name'=>'shareUrlType',
255
  'value'=>'activeUrl',
256
- 'additionalHtml'=>''.'<span>'.'Use active URL'.'</span></span>'
 
257
  ),
258
  array(
259
  'name'=>'shareUrlType',
260
  'value'=>'shareUrl',
261
- 'additionalHtml'=>''.'<span>'.'Enter to share URL'.'</span></span>'.'<input class="input-width-static" type="text" name="sgShareUrl" value="'.@$sgShareUrl.'">'
262
  )
263
  );
264
 
@@ -329,6 +369,29 @@
329
  'inside' => 'Inside'
330
  );
331
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
332
  function sgCreateSelect($options,$name,$selecteOption)
333
  {
334
  $selected ='';
3
  if (!$popupType) {
4
  $popupType = 'html';
5
  }
6
+ $popupName = "SG".ucfirst(strtolower($popupType));
7
+ $popupClassName = $popupName."Popup";
8
+ require_once(SG_APP_POPUP_PATH ."/classes/".$popupClassName.".php");
9
+ $obj = new $popupClassName();
10
  if (isset($_GET['id'])) {
11
  $id = (int)$_GET['id'];
 
 
 
12
  $result = call_user_func(array($popupClassName, 'findById'), $id);
13
  if (!$result) {
14
  wp_redirect(SG_APP_POPUP_ADMIN_URL."page=edit-popup&type=".$popupType."");
37
  $sgRestrictionUrl = sgSafeStr($result->getRestrictionUrl());
38
  break;
39
  case 'countdown':
40
+ $sgCoundownContent = $result->getCountdownContent();
41
+ $countdownOptions = json_decode(sgSafeStr($result->getCountdownOptions()),true);
42
+ $sgCountdownNumbersBgColor = $countdownOptions['countdownNumbersBgColor'];
43
+ $sgCountdownNumbersTextColor = $countdownOptions['countdownNumbersTextColor'];
44
+ $sgDueData = $countdownOptions['sg-due-date'];
45
+ @$sgGetCountdownType = $countdownOptions['sg-countdown-type'];
46
+ $sgCountdownLang = $countdownOptions['counts-language'];
47
+ $sgCountdownPosition = $countdownOptions['coundown-position'];
48
+ @$sgSelectedTimeZone = $countdownOptions['sg-time-zone'];
49
  break;
50
  case 'social':
51
  $sgSocialContent = ($result->getSocialContent());
78
  $sgMaxWidth = @$jsonData['maxWidth'];
79
  $sgMaxHeight = @$jsonData['maxHeight'];
80
  $sgForMobile = @$jsonData['forMobile'];
81
+ $sgAllPages = @$jsonData['allPages'];
82
  $sgRepeatPopup = @$jsonData['repeatPopup'];
83
  $sgDisablePopup = @$jsonData['disablePopup'];
84
  $sgPopupClosingTimer = @$jsonData['popupClosingTimer'];
92
  $yesButtonRadius = @sgSafeStr($jsonData['yesButtonRadius']);
93
  $noButtonRadius = @sgSafeStr($jsonData['noButtonRadius']);
94
  $sgSocialOptions = json_decode(@$sgSocialOptions,true);
95
+ $sgShareUrl = $sgSocialOptions['sgShareUrl'];
96
  $shareUrlType = @sgSafeStr($sgSocialOptions['shareUrlType']);
97
  $fbShareLabel = @sgSafeStr($sgSocialOptions['fbShareLabel']);
98
  $lindkinLabel = @sgSafeStr($sgSocialOptions['lindkinLabel']);
113
  $sgSocialLabel = @sgSafeStr($sgSocialOptions['sgSocialLabel']);
114
  $sgSocialShareCount = @sgSafeStr($sgSocialOptions['sgSocialShareCount']);
115
  $sgRoundButton = @sgSafeStr($sgSocialOptions['sgRoundButton']);
116
+ $sgPushToBottom = @sgSafeStr($jsonData['pushToBottom']);
117
  }
118
+
119
+
120
+ $sgPopup = array(
121
  'escKey'=> true,
122
  'closeButton' => true,
123
  'scrolling'=> true,
154
  'googleStatus' => true,
155
  'pinterestStatus' => true,
156
  'sgSocialLabel'=>true,
157
+ 'roundButtons'=>false,
158
+ 'sgShareUrl' => 'http//',
159
+ 'pushToBottom' => true,
160
+ 'allPages' => false,
161
+ 'countdownNumbersTextColor' => '',
162
+ 'countdownNumbersBgColor' => '',
163
+ 'countDownLang' => 'English',
164
+ 'countdown-position' => true,
165
+ 'time-zone' => 'Etc/GMT',
166
+ 'due-date' => date('Y-m-d', strtotime(' +1 day'))
167
  );
168
 
169
+ $escKey = sgBoolToChecked($sgPopup['escKey']);
170
+ $closeButton = sgBoolToChecked($sgPopup['closeButton']);
171
+ $scrolling = sgBoolToChecked($sgPopup['scrolling']);
172
+ $reposition = sgBoolToChecked($sgPopup['reposition']);
173
+ $overlayClose = sgBoolToChecked($sgPopup['overlayClose']);
174
+ $contentClick = sgBoolToChecked($sgPopup['contentClick']);
175
 
176
  $closeType = sgBoolToChecked($popupProDefaultValues['closeType']);
177
  $onScrolling = sgBoolToChecked($popupProDefaultValues['onScrolling']);
187
  $pinterestStatus = sgBoolToChecked($popupProDefaultValues['pinterestStatus']);
188
  $socialLabel = sgBoolToChecked($popupProDefaultValues['sgSocialLabel']);
189
  $roundButtons = sgBoolToChecked($popupProDefaultValues['roundButtons']);
190
+ $shareUrl = $popupProDefaultValues['sgShareUrl'];
191
+ $pushToBottom = sgBoolToChecked($popupProDefaultValues['pushToBottom']);
192
+ $allPages = sgBoolToChecked($popupProDefaultValues['allPages']);
193
+ $countdownNumbersTextColor = $popupProDefaultValues['countdownNumbersTextColor'];
194
+ $countdownNumbersBgColor = $popupProDefaultValues['countdownNumbersBgColor'];
195
+ $countdownLang = $popupProDefaultValues['countDownLang'];
196
+ $countdownPosition = $popupProDefaultValues['countdown-position'];
197
+ $timeZone = $popupProDefaultValues['time-zone'];
198
+ $dueDate = $popupProDefaultValues['due-date'];
199
 
200
  function sgBoolToChecked($var)
201
  {
202
  return ($var?'checked':'');
203
  }
204
 
205
+ $width = $sgPopup['width'];
206
+ $height = $sgPopup['height'];
207
+ $opacityValue = $sgPopup['opacity'];
208
+ $top = $sgPopup['top'];
209
+ $right = $sgPopup['right'];
210
+ $bottom = $sgPopup['bottom'];
211
+ $left = $sgPopup['left'];
212
+ $initialWidth = $sgPopup['initialWidth'];
213
+ $initialHeight = $sgPopup['initialHeight'];
214
+ $maxWidth = $sgPopup['maxWidth'];
215
+ $maxHeight = $sgPopup['maxHeight'];
216
+ $deafultFixed = $sgPopup['fixed'];
217
+ $defaultDuration = $sgPopup['duration'];
218
+ $defaultDelay = $sgPopup['delay'];
219
 
220
  $sgCloseButton = @sgSetChecked($sgCloseButton, $closeButton);
221
  $sgEscKey = @sgSetChecked($sgEscKey, $escKey);
239
  $sgRoundButtons = @sgSetChecked($sgRoundButton, $roundButtons);
240
  $sgSocialLabel = @sgSetChecked($sgSocialLabel, $socialLabel);
241
  $sgPopupFixed = @sgSetChecked($sgPopupFixed, $deafultFixed);
242
+ $sgPushToBottom = @sgSetChecked($sgPushToBottom, $pushToBottom);
243
+ @$sgAllPages = (get_option('SG_POPUP_ONLOAD_ID') && get_option('SG_POPUP_ONLOAD_ID') == $id)? true: false;
244
+ $sgAllPages = @sgSetChecked($sgAllPages, $allPages);
245
+ $sgCountdownPosition = @sgSetChecked($sgCountdownPosition, $countdownPosition);
246
 
247
  function sgSetChecked($optionsParam,$defaultOption)
248
  {
269
  $duration = @sgGetValue($duration, $defaultDuration);
270
  $delay = @sgGetValue($delay, $defaultDelay);
271
  $sgPopupDataIframe = @sgGetValue($sgPopupDataIframe, 'http://');
272
+ $sgShareUrl = @sgGetValue($sgShareUrl, $shareUrl);
273
  $sgPopupDataHtml = @sgGetValue($sgPopupDataHtml, '');
274
  $sgPopupDataImage = @sgGetValue($sgPopupDataImage, '');
275
+ $sgCountdownNumbersTextColor = @sgGetValue($sgCountdownNumbersTextColor, $countdownNumbersTextColor);
276
+ $sgCountdownNumbersBgColor = @sgGetValue($sgCountdownNumbersBgColor, $countdownNumbersBgColor);
277
+ $sgCountdownLang = @sgGetValue($sgCountdownLang, $countdownLang);
278
+ $sgSelectedTimeZone = @sgGetValue($sgSelectedTimeZone, $timeZone);
279
+ $sgDueData = @sgGetValue($sgDueData, $dueDate);
280
 
281
  function sgGetValue($getedVal,$defValue)
282
  {
292
  array(
293
  'name'=>'shareUrlType',
294
  'value'=>'activeUrl',
295
+ 'additionalHtml'=>''.'<span>'.'Use active URL'.'</span></span>
296
+ <span class="span-width-static"></span><span class="dashicons dashicons-info scrollingImg sameImageStyle sg-active-url"></span><span class="info-active-url samefontStyle">If this option is active Share URL will be current page URL.</span>'
297
  ),
298
  array(
299
  'name'=>'shareUrlType',
300
  'value'=>'shareUrl',
301
+ 'additionalHtml'=>''.'<span>'.'Share url'.'</span></span>'.' <input class="input-width-static sg-active-url" type="text" name="sgShareUrl" value="'.@$sgShareUrl.'">'
302
  )
303
  );
304
 
369
  'inside' => 'Inside'
370
  );
371
 
372
+ $sgCountdownType = array(
373
+ 1 => 'DD:HH:MM:SS',
374
+ 2 => 'DD:HH:MM'
375
+ );
376
+
377
+ $sgCountdownlang = array(
378
+ 'English' => 'English',
379
+ 'German' => 'German',
380
+ 'Spanish' => 'Spanish',
381
+ 'Arabic' => 'Arabic',
382
+ 'Italian' => 'Italian',
383
+ 'Italian' => 'Italian',
384
+ 'Dutch' => 'Dutch',
385
+ 'Norwegian' => 'Norwegian',
386
+ 'Portuguese' => 'Portuguese',
387
+ 'Russian' => 'Russian',
388
+ 'Swedish' => 'Swedish',
389
+ 'Chinese' => 'Chinese'
390
+ );
391
+ if(SG_POPUP_PRO) {
392
+ require_once(SG_APP_POPUP_FILES ."/sg_params_arrays.php");
393
+ }
394
+
395
  function sgCreateSelect($options,$name,$selecteOption)
396
  {
397
  $selected ='';
files/sg_popup_main.php CHANGED
@@ -1,16 +1,5 @@
1
  <?php
2
- $pagenum = isset($_GET['pn']) ? (int) $_GET['pn'] : 1;
3
-
4
- $limit = SG_APP_POPUP_TABLE_LIMIT;
5
- $offset = ($pagenum - 1) * $limit;
6
- $total = SGPopup::getTotalRowCount();
7
- $num_of_pages = ceil(esc_html($total) / $limit);
8
- if ($pagenum>$num_of_pages || $pagenum < 1) {
9
- $offset = 0;
10
- $pagenum = 1;
11
- }
12
- $orderBy = 'id DESC';
13
- $entries = SGPopup::findAll($orderBy,$limit,$offset);
14
  ?>
15
  <div class="wrap">
16
  <div class="headers-wrapper">
@@ -19,56 +8,8 @@
19
  <input type="button" class="main-update-to-pro" value="Upgrade to PRO version" onclick="window.open('<?php echo SG_POPUP_PRO_URL;?>')">
20
  <?php endif; ?>
21
  </div>
22
- <table class="widefat">
23
- <thead>
24
- <tr>
25
- <th scope="col" class="manage-column column-name">ID</th>
26
- <th scope="col" class="manage-column column-name title-max-width">Title</th>
27
- <th scope="col" class="manage-column column-name">Type</th>
28
- <th scope="col" class="manage-column column-name">Auto shortcode</th>
29
- <th scope="col" class="manage-column column-name">Options</th>
30
- </tr>
31
- </thead>
32
- <tfoot>
33
- <tr>
34
- <th scope="col" class="manage-column column-name">ID</th>
35
- <th scope="col" class="manage-column column-name title-max-width">Title</th>
36
- <th scope="col" class="manage-column column-name">Type</th>
37
- <th scope="col" class="manage-column column-name">Auto shortcode</th>
38
- <th scope="col" class="manage-column column-name">Options</th>
39
- </tr>
40
- </tfoot>
41
- <tbody>
42
- <?php if($entries) : ?>
43
- <?php foreach($entries as $entry) : ?>
44
- <tr>
45
- <td><?php echo esc_html($entry->getId()); ?></td>
46
- <td class="title-max-width"><?php echo esc_html($entry->getTitle()); ?></td>
47
- <td><?php echo esc_html($entry->getType()); ?></td>
48
- <td><?php echo "[sg_autoload_popup id=\"".esc_html($entry->getId())."\"]"; ?></td>
49
- <td><a href='<?php echo admin_url();?>admin.php?page=edit-popup&id=<?php echo esc_html($entry->getId());?>&type=<?php echo esc_html($entry->getType());?>'>Edit</a><a href="#" data-sg-popup-id="<?php echo esc_html($entry->getId());?>" class="sg-js-delete-link">Delete</a></td>
50
- </tr>
51
- <?php endforeach; ?>
52
- <?php else : ?>
53
- <tr>
54
- <td colspan="2">No popups</td>
55
- </tr>
56
- <?php endif; ?>
57
- </tbody>
58
- </table>
59
  <?php
60
-
61
- $pageLinks = paginate_links(array(
62
- 'base' => add_query_arg('pn', '%#%'),
63
- 'format' => '',
64
- 'prev_text' => __('&laquo;', 'aag'),
65
- 'next_text' => __('&raquo;', 'aag'),
66
- 'total' => $num_of_pages,
67
- 'current' => $pagenum
68
-
69
- ));
70
- if ($pageLinks) {
71
- echo '<div class="tablenav"><div class="tablenav-pages">' . $pageLinks . '</div></div>';
72
- }
73
  ?>
74
  </div>
1
  <?php
2
+ require_once(SG_APP_POPUP_CLASSES.'/sgDataTable/SGPopupTable.php');
 
 
 
 
 
 
 
 
 
 
 
3
  ?>
4
  <div class="wrap">
5
  <div class="headers-wrapper">
8
  <input type="button" class="main-update-to-pro" value="Upgrade to PRO version" onclick="window.open('<?php echo SG_POPUP_PRO_URL;?>')">
9
  <?php endif; ?>
10
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  <?php
12
+ $table = new SGPB_PopupsView();
13
+ echo $table;
 
 
 
 
 
 
 
 
 
 
 
14
  ?>
15
  </div>
files/sg_popup_page_selection.php CHANGED
File without changes
files/sg_popup_save.php CHANGED
@@ -28,7 +28,9 @@ function sgPopupSave()
28
  global $wpdb;
29
  $socialButtons = array();
30
  $socialOptions = array();
 
31
  $options = array();
 
32
 
33
  $socialOptions = array(
34
  'sgSocialTheme' => sgSanitize('sgSocialTheme'),
@@ -53,7 +55,20 @@ function sgPopupSave()
53
  'sgEmailStatus' => sgSanitize('sgEmailStatus'),
54
  'sgLinkedinStatus' => sgSanitize('sgLinkedinStatus'),
55
  'sgGoogleStatus' => sgSanitize('sgGoogleStatus'),
56
- 'sgPinterestStatus' => sgSanitize('sgPinterestStatus')
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  );
58
 
59
  $options = array(
@@ -93,11 +108,12 @@ function sgPopupSave()
93
  'noButtonTextColor' => sgSanitize('noButtonTextColor'),
94
  'yesButtonRadius' => (int)sgSanitize('yesButtonRadius'),
95
  'noButtonRadius' => (int)sgSanitize('noButtonRadius'),
96
- 'closingTime' => sgSanitize('closingTime'),
97
- 'closeType' => sgSanitize('closeType'),
98
  'socialButtons' => json_encode($socialButtons),
99
- 'socialOptions' => json_encode($socialOptions)
 
100
  );
 
101
  $html = stripslashes(sgSanitize("sg_popup_html"));
102
  $ageRestriction = stripslashes(sgSanitize('sg_ageRestriction'));
103
  $social = stripslashes(sgSanitize('sg_social'));
@@ -125,6 +141,16 @@ function sgPopupSave()
125
  'social' => $social,
126
  'options' => $jsonDataArray
127
  );
 
 
 
 
 
 
 
 
 
 
128
  if (empty($title)) {
129
  wp_redirect(SG_APP_POPUP_ADMIN_URL."admin.php?page=edit-popup&type=$type&titleError=1");
130
  exit();
@@ -133,11 +159,11 @@ function sgPopupSave()
133
  $popupClassName = $popupName."Popup";
134
 
135
  require_once(SG_APP_POPUP_PATH ."/classes/".$popupClassName.".php");
136
-
137
  if ($id == "") {
138
  global $wpdb;
139
  call_user_func(array($popupClassName, 'create'), $data);
140
  $lastId = $wpdb->get_var("SELECT LAST_INSERT_ID() FROM ". $wpdb->prefix."sg_popup");
 
141
  wp_redirect(SG_APP_POPUP_ADMIN_URL."admin.php?page=edit-popup&id=".$lastId."&type=$type&saved=1");
142
  exit();
143
  }
@@ -173,8 +199,7 @@ function sgPopupSave()
173
  break;
174
  case 'SGCountdown':
175
  $popup->setCountdownContent($countdown);
176
- $popup->setClosingTime($options['closingTime']);
177
- $popup->setCloseType($options['closeType']);
178
  break;
179
  case 'SGSocial':
180
  $popup->setSocialContent($social);
@@ -182,7 +207,7 @@ function sgPopupSave()
182
  $popup->setSocialOptions(json_encode($socialOptions));
183
  break;
184
  }
185
-
186
  $popup->save();
187
  wp_redirect(SG_APP_POPUP_ADMIN_URL."admin.php?page=edit-popup&id=$id&type=$type&saved=1");
188
  exit();
28
  global $wpdb;
29
  $socialButtons = array();
30
  $socialOptions = array();
31
+ $countdownOptions = array();
32
  $options = array();
33
+ $showAllPages = sgSanitize('allPages');
34
 
35
  $socialOptions = array(
36
  'sgSocialTheme' => sgSanitize('sgSocialTheme'),
55
  'sgEmailStatus' => sgSanitize('sgEmailStatus'),
56
  'sgLinkedinStatus' => sgSanitize('sgLinkedinStatus'),
57
  'sgGoogleStatus' => sgSanitize('sgGoogleStatus'),
58
+ 'sgPinterestStatus' => sgSanitize('sgPinterestStatus'),
59
+ 'pushToBottom' => sgSanitize('pushToBottom')
60
+ );
61
+
62
+ $countdownOptions = array(
63
+ 'pushToBottom' => sgSanitize('pushToBottom'),
64
+ 'countdownNumbersBgColor' => sgSanitize('countdownNumbersBgColor'),
65
+ 'countdownNumbersTextColor' => sgSanitize('countdownNumbersTextColor'),
66
+ 'sg-due-date' => sgSanitize('sg-due-date'),
67
+ 'countdown-position' => sgSanitize('countdown-position'),
68
+ 'counts-language'=> sgSanitize('counts-language'),
69
+ 'coundown-position' => sgSanitize('coundown-position'),
70
+ 'sg-time-zone' => sgSanitize('sg-time-zone'),
71
+ 'sg-countdown-type' => sgSanitize('sg-countdown-type'),
72
  );
73
 
74
  $options = array(
108
  'noButtonTextColor' => sgSanitize('noButtonTextColor'),
109
  'yesButtonRadius' => (int)sgSanitize('yesButtonRadius'),
110
  'noButtonRadius' => (int)sgSanitize('noButtonRadius'),
111
+ 'pushToBottom' => sgSanitize('pushToBottom'),
 
112
  'socialButtons' => json_encode($socialButtons),
113
+ 'socialOptions' => json_encode($socialOptions),
114
+ 'countdownOptions' => json_encode($countdownOptions)
115
  );
116
+
117
  $html = stripslashes(sgSanitize("sg_popup_html"));
118
  $ageRestriction = stripslashes(sgSanitize('sg_ageRestriction'));
119
  $social = stripslashes(sgSanitize('sg_social'));
141
  'social' => $social,
142
  'options' => $jsonDataArray
143
  );
144
+
145
+ function setPopupForAllPages($id, $allPages) {
146
+ if($allPages) {
147
+ update_option('SG_POPUP_ONLOAD_ID',$id);
148
+ }
149
+ else {
150
+ delete_option('SG_POPUP_ONLOAD_ID');
151
+ }
152
+ }
153
+
154
  if (empty($title)) {
155
  wp_redirect(SG_APP_POPUP_ADMIN_URL."admin.php?page=edit-popup&type=$type&titleError=1");
156
  exit();
159
  $popupClassName = $popupName."Popup";
160
 
161
  require_once(SG_APP_POPUP_PATH ."/classes/".$popupClassName.".php");
 
162
  if ($id == "") {
163
  global $wpdb;
164
  call_user_func(array($popupClassName, 'create'), $data);
165
  $lastId = $wpdb->get_var("SELECT LAST_INSERT_ID() FROM ". $wpdb->prefix."sg_popup");
166
+ setPopupForAllPages($lastId,$showAllPages);
167
  wp_redirect(SG_APP_POPUP_ADMIN_URL."admin.php?page=edit-popup&id=".$lastId."&type=$type&saved=1");
168
  exit();
169
  }
199
  break;
200
  case 'SGCountdown':
201
  $popup->setCountdownContent($countdown);
202
+ $popup->setCountdownOptions(json_encode($countdownOptions));
 
203
  break;
204
  case 'SGSocial':
205
  $popup->setSocialContent($social);
207
  $popup->setSocialOptions(json_encode($socialOptions));
208
  break;
209
  }
210
+ setPopupForAllPages($id,$showAllPages);
211
  $popup->save();
212
  wp_redirect(SG_APP_POPUP_ADMIN_URL."admin.php?page=edit-popup&id=$id&type=$type&saved=1");
213
  exit();
img/CountdownButtonPro.png ADDED
Binary file
img/ShortcodePopup.png DELETED
Binary file
img/VideoPopup.png DELETED
Binary file
img/default-image.png CHANGED
File without changes
img/down_arrow-2x.gif CHANGED
File without changes
img/iframePopup.png DELETED
Binary file
img/info.png CHANGED
File without changes
img/pp_Icon.png CHANGED
File without changes
img/theme1.jpg CHANGED
File without changes
img/theme2.jpg CHANGED
File without changes
img/theme3.jpg CHANGED
File without changes
img/theme4.jpg CHANGED
File without changes
img/theme5.jpg CHANGED
File without changes
img/wpspin_light.gif CHANGED
File without changes
javascript/jquery.colorbox-min.js CHANGED
File without changes
javascript/sg_colorpicker.js DELETED
@@ -1,3 +0,0 @@
1
- jQuery(document).ready(function($){
2
- jQuery('.sgOverlayColor').wpColorPicker();
3
- });
 
 
 
javascript/sg_datapickers.js ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ function SgPickers() {
2
+
3
+ }
4
+
5
+ SgPickers.prototype.init = function() {
6
+ jQuery(".sg-calndar").addClass("input-width-static");
7
+
8
+ jQuery('.sg-calndar').bind("click",function() {
9
+ jQuery("#ui-datepicker-div").css({'z-index': 9999});
10
+ });
11
+ }
12
+
13
+ SgPickers.prototype.colorPicekr = function() {
14
+ sgColorPicker = jQuery('.sgOverlayColor').wpColorPicker({
15
+ });
16
+ jQuery(".wp-picker-holder").bind('click',function() {
17
+ var selectedInput = jQuery(this).prev().find('.sgOverlayColor');
18
+ if(selectedInput.attr("name") == 'countdownNumbersTextColor') {
19
+ var textColor = selectedInput.val();
20
+ jQuery("#sg-counts-text").remove();
21
+ jQuery("body").append("<style id=\"sg-counts-text\">.flip-clock-wrapper ul li a div div.inn { color: "+textColor+"; }</style>");
22
+ }
23
+ if(selectedInput.attr("name") == 'countdownNumbersBgColor') {
24
+ var bgColor = selectedInput.val();
25
+ jQuery("#sg-counts-style").remove();
26
+ jQuery("body").append("<style id=\"sg-counts-style\">.flip-clock-wrapper ul li a div div.inn { background-color: "+bgColor+"; }</style>");
27
+ }
28
+ });
29
+ }
30
+
31
+ SgPickers.prototype.datepicker = function() {
32
+ jQuery('.sg-calndar').datepicker({
33
+ dateFormat : 'yy-mm-dd',
34
+ minDate: 0,
35
+ onSelect: function() {
36
+ }
37
+ });
38
+ }
39
+
40
+ jQuery(document).ready(function($){
41
+
42
+ pickersObj = new SgPickers();
43
+ pickersObj.init();
44
+ pickersObj.colorPicekr();
45
+ pickersObj.datepicker();
46
+ });
javascript/sg_popup_backend.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function($){
1
+ jQuery(document).ready(function($){
javascript/sg_popup_core.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ function sgAddEvent(element, eventName, fn) {
2
+ if (element.addEventListener)
3
+ element.addEventListener(eventName, fn, false);
4
+ else if (element.attachEvent)
5
+ element.attachEvent('on' + eventName, fn);
6
+ }
javascript/sg_popup_frontend.js CHANGED
@@ -128,6 +128,7 @@ SGPopup.prototype.sgShowColorboxWithOptions = function() {
128
  var popupInitialHeight = that.popupData['initialHeight'];
129
  var popupEffectDuration = that.popupData['duration'];
130
  var popupEffect = that.popupData['effect'];
 
131
 
132
  popupHtml = (popupHtml) ? popupHtml : false;
133
  var popupIframe = (popupIframeUrl) ? true: false;
@@ -234,7 +235,8 @@ SGPopup.prototype.sgShowColorboxWithOptions = function() {
234
  onLoad: function(){
235
  },
236
  onComplete: function(){
237
- //Contact form 7
 
238
  if(jQuery('div.wpcf7 > form').length) {
239
  jQuery('div.wpcf7 > form').wpcf7InitForm();
240
  }
128
  var popupInitialHeight = that.popupData['initialHeight'];
129
  var popupEffectDuration = that.popupData['duration'];
130
  var popupEffect = that.popupData['effect'];
131
+ var pushToBottom = that.popupData['pushToBottom'];
132
 
133
  popupHtml = (popupHtml) ? popupHtml : false;
134
  var popupIframe = (popupIframeUrl) ? true: false;
235
  onLoad: function(){
236
  },
237
  onComplete: function(){
238
+ jQuery('#sgcolorbox').trigger("sgColorboxOnCompleate",[pushToBottom]);
239
+ /* Contact form 7 */
240
  if(jQuery('div.wpcf7 > form').length) {
241
  jQuery('div.wpcf7 > form').wpcf7InitForm();
242
  }
javascript/sg_popup_javascript.php CHANGED
@@ -23,15 +23,20 @@ function sg_popup_admin_scripts($hook) {
23
  }
24
  if('popup-builder_page_edit-popup' == $hook) {
25
  wp_register_script('sg_popup_rangeslider', SG_APP_POPUP_URL . '/javascript/sg_popup_rangeslider.js', array('jquery'));
26
- wp_register_script('sg_popup_tagsinput', SG_APP_POPUP_URL . '/javascript/bootstrap-tagsinput.js', array('jquery'));
27
  wp_enqueue_script('sg_popup_rangeslider');
28
- wp_enqueue_script('sg_popup_tagsinput');
29
  wp_enqueue_script('jquery');
30
 
 
 
31
  }
32
  }
 
 
 
 
 
33
  add_action('admin_enqueue_scripts', 'sg_set_admin_url');
34
  add_action('admin_enqueue_scripts', 'sg_popup_admin_scripts');
35
-
36
 
37
 
23
  }
24
  if('popup-builder_page_edit-popup' == $hook) {
25
  wp_register_script('sg_popup_rangeslider', SG_APP_POPUP_URL . '/javascript/sg_popup_rangeslider.js', array('jquery'));
 
26
  wp_enqueue_script('sg_popup_rangeslider');
 
27
  wp_enqueue_script('jquery');
28
 
29
+ wp_enqueue_script('jquery-ui-datepicker');
30
+
31
  }
32
  }
33
+
34
+ function SgFrontendScripts() {
35
+ wp_enqueue_script('sg_popup_core', plugins_url('/sg_popup_core.js', __FILE__), '1.0.0', true);
36
+ }
37
+
38
  add_action('admin_enqueue_scripts', 'sg_set_admin_url');
39
  add_action('admin_enqueue_scripts', 'sg_popup_admin_scripts');
40
+ add_action('wp_enqueue_scripts', 'SgFrontendScripts');
41
 
42
 
javascript/sg_popup_pro.js DELETED
@@ -1,47 +0,0 @@
1
- function sgPopup() {
2
-
3
- }
4
- sgPopup.canOpenOnce = function(id) {
5
- if (jQuery.cookie('sgPopupNumbers') != 'undefined' && jQuery.cookie('sgPopupNumbers') == id) {
6
- return false;
7
- }
8
- else {
9
- return true
10
- }
11
- }
12
- sgPopup.cantPopupClose = function() {
13
- sg_popup_escKey = false;
14
- sg_popup_closeButton = false;
15
- sg_popup_overlayClose = false;
16
- sg_popup_contentClick = false;
17
- }
18
- sgPopup.forMobile = function() {
19
- return jQuery.browser.device = (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase()));
20
- }
21
- sgPopup.onScrolling = function(popupId) {
22
- var scrollStatus = false;
23
- jQuery(window).on('scroll', function(){
24
- var scrollTop = jQuery(window).scrollTop();
25
- var docHeight = jQuery(document).height();
26
- var winHeight = jQuery(window).height();
27
- var scrollPercent = (scrollTop) / (docHeight - winHeight);
28
- var scrollPercentRounded = Math.round(scrollPercent*100);
29
- if(beforeScrolingPrsent < scrollPercentRounded) {
30
- if(scrollStatus == false) {
31
- showPopup(popupId,true);
32
- scrollStatus = true;
33
- }
34
- }
35
- });
36
- }
37
- sgPopup.autoClosePopup = function(popupId,sg_promotional_popupClosingTimer) {
38
- showPopup(popupId,true);
39
-
40
- }
41
-
42
- /*sgPopup.cantPopupClose();
43
- setTimeout(autoClosePopup, sg_promotional_popupClosingTimer*1000);
44
- function autoClosePopup() {
45
- sg_prmomotional_overlayClose = true;
46
- colorboxExecute();
47
- }*/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
javascript/sg_popup_rangeslider.js CHANGED
File without changes
popup-builder.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Popup Builder
4
  * Plugin URI: http://sygnoos.com
5
  * Description: The most complete popup plugin. Html, image, iframe, shortcode, video and many other popup types. Manage popup dimensions, effects, themes and more.
6
- * Version: 2.0.7
7
  * Author: Sygnoos
8
  * Author URI: http://www.sygnoos.com
9
  * License: GPLv2
@@ -17,8 +17,8 @@ define('SG_APP_POPUP_FILE', plugin_basename(__FILE__));
17
  define('SG_APP_POPUP_FILES', SG_APP_POPUP_PATH . '/files');
18
  define('SG_APP_POPUP_CLASSES', SG_APP_POPUP_PATH . '/classes');
19
  define('SG_APP_POPUP_JS', SG_APP_POPUP_PATH . '/javascript');
20
- define('SG_APP_POPUP_TABLE_LIMIT', 20 );
21
- define('SG_POPUP_VERSION', 2.07);
22
  define('SG_POPUP_PRO', 0);
23
  define('SG_POPUP_PRO_URL', 'http://sygnoos.com/wordpress-popup/');
24
 
@@ -43,8 +43,8 @@ require_once( SG_APP_POPUP_JS .'/sg_popup_javascript.php' ); //include our js fi
43
  require_once( SG_APP_POPUP_FILES .'/sg_popup_page_selection.php' ); // include here in page button for select popup every page
44
 
45
  register_activation_hook(__FILE__, 'sgPopupActivate');
46
- register_uninstall_hook(__FILE__, 'sgPopupDeactivate');
47
- //register_deactivation_hook(__FILE__, 'sgPopupDeactivate');
48
 
49
 
50
  add_action('wpmu_new_blog', 'sgNewBlogPopup', 10, 6);
@@ -68,11 +68,11 @@ function sgPopupActivate()
68
 
69
  function sgPopupDeactivate()
70
  {
71
- delete_option('SG_POPUP_VERSION');
72
  PopupInstaller::uninstall();
73
  if (SG_POPUP_PRO) {
74
  PopupProInstaller::uninstall();
75
  }
 
76
  }
77
 
78
 
@@ -151,58 +151,53 @@ function sgFindPopupData($id)
151
 
152
  function sgShowShortCode($args, $content)
153
  {
 
154
  $obj = SGPopup::findById($args['id']);
155
  if (!$obj) {
156
  return $content;
157
  }
158
  if(!empty($content)) {
159
  sgRenderPopupScript($args['id']);
160
- return "<a href='javascript:void(0)' class='sg-show-popup' data-sgpopupid=".$args['id'].">".$content."</a>";
161
  }
162
  else {
163
- sgRenderPopupOpen($args['id']);
164
  }
 
 
 
165
  }
166
  add_shortCode('sg_popup', 'sgShowShortCode');
167
 
168
- function sgAutoloadPopup($args) {
169
- $popupId = SGPopup::findById($args['id']);
170
- if(!$popupId) {
171
- return;
172
- }
173
- sgRenderPopupOpen($args['id']);
174
- }
175
- add_shortCode('sg_autoload_popup', 'sgAutoloadPopup');
176
-
177
  function sgRenderPopupOpen($popupId)
178
  {
179
  sgRenderPopupScript($popupId);
180
- echo "<script>
181
- sgAddEvent(window, 'load',function() {
182
- sgOnScrolling = (SG_POPUP_DATA [$popupId]['onScrolling']) ? SG_POPUP_DATA [$popupId]['onScrolling']: ''; ;
183
- beforeScrolingPrsent = (SG_POPUP_DATA [$popupId]['onScrolling']) ? SG_POPUP_DATA [$popupId]['beforeScrolingPrsent']: '';
184
- autoClosePopup = (SG_POPUP_DATA [$popupId]['autoClosePopup']) ? SG_POPUP_DATA [$popupId]['autoClosePopup']: '';
185
- popupClosingTimer = (SG_POPUP_DATA [$popupId]['popupClosingTimer']) ? SG_POPUP_DATA [$popupId]['popupClosingTimer']: '';
186
- sgPoupFrontendObj = new SGPopup();
187
- if(sgOnScrolling) {
188
- sgPoupFrontendObj.onScrolling($popupId);
189
- }
190
- else {
191
-
192
- sgPoupFrontendObj.showPopup($popupId,true);
193
- }
194
- });
195
- function sgAddEvent(element, eventName, fn) {
196
- if (element.addEventListener)
197
- element.addEventListener(eventName, fn, false);
198
- else if (element.attachEvent)
199
- element.attachEvent('on' + eventName, fn);
200
- }
201
- </script>";
202
  }
203
 
204
  function sgOnloadPopup()
205
  {
 
 
 
 
206
  $page = get_queried_object_id ();
207
  $popup = "sg_promotional_popup";
208
  $popupId = SGPopup::getPagePopupId($page,$popup);
3
  * Plugin Name: Popup Builder
4
  * Plugin URI: http://sygnoos.com
5
  * Description: The most complete popup plugin. Html, image, iframe, shortcode, video and many other popup types. Manage popup dimensions, effects, themes and more.
6
+ * Version: 2.0.8
7
  * Author: Sygnoos
8
  * Author URI: http://www.sygnoos.com
9
  * License: GPLv2
17
  define('SG_APP_POPUP_FILES', SG_APP_POPUP_PATH . '/files');
18
  define('SG_APP_POPUP_CLASSES', SG_APP_POPUP_PATH . '/classes');
19
  define('SG_APP_POPUP_JS', SG_APP_POPUP_PATH . '/javascript');
20
+ define('SG_APP_POPUP_TABLE_LIMIT', 15);
21
+ define('SG_POPUP_VERSION', 2.08);
22
  define('SG_POPUP_PRO', 0);
23
  define('SG_POPUP_PRO_URL', 'http://sygnoos.com/wordpress-popup/');
24
 
43
  require_once( SG_APP_POPUP_FILES .'/sg_popup_page_selection.php' ); // include here in page button for select popup every page
44
 
45
  register_activation_hook(__FILE__, 'sgPopupActivate');
46
+ //register_uninstall_hook(__FILE__, 'sgPopupDeactivate');
47
+ register_deactivation_hook(__FILE__, 'sgPopupDeactivate');
48
 
49
 
50
  add_action('wpmu_new_blog', 'sgNewBlogPopup', 10, 6);
68
 
69
  function sgPopupDeactivate()
70
  {
 
71
  PopupInstaller::uninstall();
72
  if (SG_POPUP_PRO) {
73
  PopupProInstaller::uninstall();
74
  }
75
+
76
  }
77
 
78
 
151
 
152
  function sgShowShortCode($args, $content)
153
  {
154
+ ob_start();
155
  $obj = SGPopup::findById($args['id']);
156
  if (!$obj) {
157
  return $content;
158
  }
159
  if(!empty($content)) {
160
  sgRenderPopupScript($args['id']);
161
+ echo "<a href='javascript:void(0)' class='sg-show-popup' data-sgpopupid=".$args['id'].">".$content."</a>";
162
  }
163
  else {
164
+ echo sgRenderPopupOpen($args['id']);
165
  }
166
+ $shortcodeContent = ob_get_contents();
167
+ ob_end_clean();
168
+ return $shortcodeContent;
169
  }
170
  add_shortCode('sg_popup', 'sgShowShortCode');
171
 
 
 
 
 
 
 
 
 
 
172
  function sgRenderPopupOpen($popupId)
173
  {
174
  sgRenderPopupScript($popupId);
175
+
176
+ echo "<script type=\"text/javascript\">
177
+
178
+ sgAddEvent(window, 'load',function() {
179
+ sgOnScrolling = (SG_POPUP_DATA [$popupId]['onScrolling']) ? SG_POPUP_DATA [$popupId]['onScrolling']: ''; ;
180
+ beforeScrolingPrsent = (SG_POPUP_DATA [$popupId]['onScrolling']) ? SG_POPUP_DATA [$popupId]['beforeScrolingPrsent']: '';
181
+ autoClosePopup = (SG_POPUP_DATA [$popupId]['autoClosePopup']) ? SG_POPUP_DATA [$popupId]['autoClosePopup']: '';
182
+ popupClosingTimer = (SG_POPUP_DATA [$popupId]['popupClosingTimer']) ? SG_POPUP_DATA [$popupId]['popupClosingTimer']: '';
183
+ sgPoupFrontendObj = new SGPopup();
184
+ if(sgOnScrolling) {
185
+ sgPoupFrontendObj.onScrolling($popupId);
186
+ }
187
+ else {
188
+
189
+ sgPoupFrontendObj.showPopup($popupId,true);
190
+ }
191
+ });
192
+ </script>";
 
 
 
 
193
  }
194
 
195
  function sgOnloadPopup()
196
  {
197
+ $sgOnloadPopupId = get_option('SG_POPUP_ONLOAD_ID');
198
+ if($sgOnloadPopupId) {
199
+ sgRenderPopupOpen($sgOnloadPopupId);
200
+ }
201
  $page = get_queried_object_id ();
202
  $popup = "sg_promotional_popup";
203
  $popupId = SGPopup::getPagePopupId($page,$popup);
readme.txt CHANGED
@@ -3,7 +3,7 @@ Plugin Name: Popup Builder
3
  Contributors: Popup By Sygnoos
4
  Author: Sygnoos
5
  Donate link: http://sygnoos.com/wordpress-popup/
6
- Tags: popup,popup promote,promotional popup,popup ads, popup advertising, popup box, popup form, popup message, popup window, popups, wordpress popup, simple popup, modal window, responsive popup, fancybox, fancy popup, lightbox, automatic popup, custom popup,popup message, youtube popup, video popup, iframe popup, vimeo popup, popup contact form, dialog box, fancy box popup, wordpress popup plugin, lightbox popup, popup builder, wordpress popup builder, html popup, onclick popup, media, shortcode popup, colorbox popup, social popup, age restriction popup,
7
  Requires at least: 3.8
8
  Tested up to: 4.3.1
9
  Stable tag: trunk
@@ -45,6 +45,7 @@ With popup builder plugin you can insert any type of content, right into your Po
45
  * Create video popup - embed YouTube and Vimeo videos inside your popup.
46
  * Create social popup - this is a great type of a popup if you need to share/like your site. In social popup we have added all popular social networks like Facebook, Linkedin, Twitter, Google Plus etc.
47
  * Create age restriction popup - sometimes the site content may not be appropriate for all audiences. In these cases, users may not be able to view the content until they pass age confirmation popup.
 
48
  * Show popup only when user is scrolling - sometimes you don't want to show the popup right away, it's a good idea to set this option so the popup will be shown to the visitor only when he scrolls.
49
  * Show popup once per visitor - useful when you don't want to show the popup to the same visitor more than once.
50
  * Don't show popup on mobile devices - after activating this option, popup won't be shown in mobile devices.
@@ -60,9 +61,9 @@ With popup builder plugin you can insert any type of content, right into your Po
60
 
61
  Popup Builder team constantly works on upgrades and improvements. With our upcoming updates we are planning to add more types of popups. Currently we are working on
62
 
63
- > + Countdown popup - Your site is under construction and you are planing to open it in some amount of time, in this case countdown popup exactly for you. Comming soon.
64
  > + Exit Intent popup - The general theory behind exit popups is fairly simple. Let’s imagine that a user has been browsing through your awesome site, then decides to leave without doing any of the things you want them to do (buying, registering etc). In that moment of indecision we can briefly interrupt them with a popup message, steering them towards a singular call to action. Comming soon.
65
  > + Subsription popup - This kind of popup provides the easiest way to create an efficient connection between users and your website through subscription popup. With this simple popup solution you can quickly collect subscribers in a very pleasant and elegant way. Comming soon.
 
66
 
67
  Thank you for using our popup plugin.
68
 
@@ -103,6 +104,12 @@ Go to the Popup Builder settings and set your desired options.
103
 
104
  == Changelog ==
105
 
 
 
 
 
 
 
106
  * Version 2.0.7
107
 
108
  Inside HTML popup WYSIWYG is updated and now allows to create content with most common HTML tags and styles.
@@ -198,4 +205,7 @@ The Free version of Popup Builder gives you anything you need for creating unlim
198
 
199
  **Something is not working. What do I do?**
200
 
201
- Contact us! Depending on your server configuration something may go wrong, please don't hesitate on contacting us, we are here to help you! Our support email is: wp-popup@sygnoos.com
 
 
 
3
  Contributors: Popup By Sygnoos
4
  Author: Sygnoos
5
  Donate link: http://sygnoos.com/wordpress-popup/
6
+ Tags: popup,popup promote,promotional popup,popup ads, popup advertising, popup box, popup form, popup message, popup window, popups, wordpress popup, simple popup, modal window, responsive popup, fancybox, fancy popup, lightbox, automatic popup, custom popup,popup message, youtube popup, video popup, iframe popup, vimeo popup, popup contact form, dialog box, fancy box popup, wordpress popup plugin, andlightbox popup, popup builder, wordpress popup builder, html popup, onclick popup, media, shortcode popup, colorbox popup, social popup, age restriction popup, countdown popup
7
  Requires at least: 3.8
8
  Tested up to: 4.3.1
9
  Stable tag: trunk
45
  * Create video popup - embed YouTube and Vimeo videos inside your popup.
46
  * Create social popup - this is a great type of a popup if you need to share/like your site. In social popup we have added all popular social networks like Facebook, Linkedin, Twitter, Google Plus etc.
47
  * Create age restriction popup - sometimes the site content may not be appropriate for all audiences. In these cases, users may not be able to view the content until they pass age confirmation popup.
48
+ * Create countdown popup - your site is under construction and you are planing to open it in some amount of time, in this case countdown popup exactly for you. Comming soon.
49
  * Show popup only when user is scrolling - sometimes you don't want to show the popup right away, it's a good idea to set this option so the popup will be shown to the visitor only when he scrolls.
50
  * Show popup once per visitor - useful when you don't want to show the popup to the same visitor more than once.
51
  * Don't show popup on mobile devices - after activating this option, popup won't be shown in mobile devices.
61
 
62
  Popup Builder team constantly works on upgrades and improvements. With our upcoming updates we are planning to add more types of popups. Currently we are working on
63
 
 
64
  > + Exit Intent popup - The general theory behind exit popups is fairly simple. Let’s imagine that a user has been browsing through your awesome site, then decides to leave without doing any of the things you want them to do (buying, registering etc). In that moment of indecision we can briefly interrupt them with a popup message, steering them towards a singular call to action. Comming soon.
65
  > + Subsription popup - This kind of popup provides the easiest way to create an efficient connection between users and your website through subscription popup. With this simple popup solution you can quickly collect subscribers in a very pleasant and elegant way. Comming soon.
66
+ > + Targetting popup - This popup allows you to show popup depending user location. This kind of popup is useful if your product or service is created for a specifig region.
67
 
68
  Thank you for using our popup plugin.
69
 
104
 
105
  == Changelog ==
106
 
107
+ * Version 2.0.8
108
+
109
+ Inside Popup data table added sorting and search field.
110
+
111
+ Bug fixed.
112
+
113
  * Version 2.0.7
114
 
115
  Inside HTML popup WYSIWYG is updated and now allows to create content with most common HTML tags and styles.
205
 
206
  **Something is not working. What do I do?**
207
 
208
+ Contact us! Depending on your server configuration something may go wrong, please don't hesitate on contacting us, we are here to help you! Our support email is: wp-popup@sygnoos.com
209
+
210
+ == Upgrade Notice ==
211
+ Current version of Popup Builder is v.2.0.8
style/animate.css CHANGED
@@ -1,10 +1,10 @@
1
- @charset "UTF-8";
2
-
3
- /*!
4
- Animate.css - http://daneden.me/animate
5
- Licensed under the MIT license - http://opensource.org/licenses/MIT
6
-
7
- Copyright (c) 2015 Daniel Eden
8
- */
9
-
10
  .animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}@keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}@keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}@keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}@keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}.flipInX,.flipInY{-webkit-backface-visibility:visible!important}@-webkit-keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;backface-visibility:visible!important}.flipOutX,.flipOutY{-webkit-backface-visibility:visible!important}@-webkit-keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}
1
+ @charset "UTF-8";
2
+
3
+ /*!
4
+ Animate.css - http://daneden.me/animate
5
+ Licensed under the MIT license - http://opensource.org/licenses/MIT
6
+
7
+ Copyright (c) 2015 Daniel Eden
8
+ */
9
+
10
  .animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}@keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}@keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}@keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}@keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}.flipInX,.flipInY{-webkit-backface-visibility:visible!important}@-webkit-keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;backface-visibility:visible!important}.flipOutX,.flipOutY{-webkit-backface-visibility:visible!important}@-webkit-keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}
style/bootstrap-tagsinput.css DELETED
@@ -1,45 +0,0 @@
1
- .bootstrap-tagsinput {
2
- background-color: #fff;
3
- display: inline-block;
4
- padding: 4px 0px;
5
- margin-bottom: 10px;
6
- color: #555;
7
- vertical-align: middle;
8
- border-radius: 4px;
9
- max-width: 100%;
10
- line-height: 22px;
11
- cursor: text;
12
- }
13
- .bootstrap-tagsinput input {
14
- border: none;
15
- box-shadow: none;
16
- outline: none;
17
- background-color: transparent;
18
- padding: 0;
19
- margin: 0;
20
- width: auto !important;
21
- max-width: inherit;
22
- }
23
- .bootstrap-tagsinput input:focus {
24
- border: none;
25
- box-shadow: none;
26
- }
27
- .bootstrap-tagsinput .tag {
28
- margin-right: 2px;
29
- color: white;
30
- margin-bottom: 2px;
31
- }
32
- .bootstrap-tagsinput .tag [data-role="remove"] {
33
- margin-left: 8px;
34
- cursor: pointer;
35
- }
36
- .bootstrap-tagsinput .tag [data-role="remove"]:after {
37
- content: "x";
38
- padding: 0px 2px;
39
- }
40
- .bootstrap-tagsinput .tag [data-role="remove"]:hover {
41
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
42
- }
43
- .bootstrap-tagsinput .tag [data-role="remove"]:hover:active {
44
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
45
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
style/sg_popup_rangeslider.css CHANGED
@@ -1,173 +1 @@
1
- .slider-container {
2
- width: 300px;
3
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
4
- }
5
- .slider-container .back-bar {
6
- height: 10px;
7
- position: relative;
8
- }
9
- .slider-container .back-bar .selected-bar {
10
- position: absolute;
11
- height: 100%;
12
- }
13
- .slider-container .back-bar .pointer {
14
- position: absolute;
15
- width: 10px;
16
- height: 10px;
17
- background-color: red;
18
- cursor: col-resize;
19
- opacity: 1;
20
- z-index: 2;
21
- }
22
- .slider-container .back-bar .pointer.last-active {
23
- z-index: 3;
24
- }
25
- .slider-container .back-bar .pointer-label {
26
- position: absolute;
27
- top: -17px;
28
- font-size: 8px;
29
- background: white;
30
- white-space: nowrap;
31
- line-height: 1;
32
- }
33
- .slider-container .back-bar .focused {
34
- z-index: 10;
35
- }
36
- .slider-container .clickable-dummy {
37
- cursor: pointer;
38
- position: absolute;
39
- width: 100%;
40
- height: 100%;
41
- z-index: 1;
42
- }
43
- .slider-container .scale {
44
- top: 2px;
45
- position: relative;
46
- }
47
- .slider-container .scale span {
48
- position: absolute;
49
- height: 5px;
50
- border-left: 1px solid #999;
51
- font-size: 0;
52
- }
53
- .slider-container .scale ins {
54
- font-size: 9px;
55
- text-decoration: none;
56
- position: absolute;
57
- left: 0;
58
- top: 5px;
59
- color: #999;
60
- line-height: 1;
61
- }
62
- .slider-container.slider-readonly .clickable-dummy,
63
- .slider-container.slider-readonly .pointer {
64
- cursor: auto;
65
- }
66
- .theme-green .back-bar {
67
- height: 5px;
68
- border-radius: 2px;
69
- background-color: #eeeeee;
70
- background-color: #e7e7e7;
71
- background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
72
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
73
- background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
74
- background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
75
- background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
76
- background-repeat: repeat-x;
77
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
78
- }
79
- .theme-green .back-bar .selected-bar {
80
- border-radius: 2px;
81
- background-color: #a1fad0;
82
- background-image: -moz-linear-gradient(top, #bdfade, #76fabc);
83
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#bdfade), to(#76fabc));
84
- background-image: -webkit-linear-gradient(top, #bdfade, #76fabc);
85
- background-image: -o-linear-gradient(top, #bdfade, #76fabc);
86
- background-image: linear-gradient(to bottom, #bdfade, #76fabc);
87
- background-repeat: repeat-x;
88
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbdfade', endColorstr='#ff76fabc', GradientType=0);
89
- }
90
- .theme-green .back-bar .pointer {
91
- width: 14px;
92
- height: 14px;
93
- top: -5px;
94
- -webkit-box-sizing: border-box;
95
- -moz-box-sizing: border-box;
96
- box-sizing: border-box;
97
- border-radius: 10px;
98
- border: 1px solid #AAA;
99
- background-color: #e7e7e7;
100
- background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
101
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
102
- background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
103
- background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
104
- background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
105
- background-repeat: repeat-x;
106
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
107
- }
108
- .theme-green .back-bar .pointer-label {
109
- color: #999;
110
- }
111
- .theme-green .back-bar .focused {
112
- color: #333;
113
- }
114
- .theme-green .scale span {
115
- border-left: 1px solid #e5e5e5;
116
- }
117
- .theme-green .scale ins {
118
- color: #999;
119
- }
120
- .theme-blue .back-bar {
121
- height: 5px;
122
- border-radius: 2px;
123
- background-color: #eeeeee;
124
- background-color: #e7e7e7;
125
- background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
126
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
127
- background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
128
- background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
129
- background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
130
- background-repeat: repeat-x;
131
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
132
- }
133
- .theme-blue .back-bar .selected-bar {
134
- border-radius: 2px;
135
- background-color: #92c1f9;
136
- background-image: -moz-linear-gradient(top, #b1d1f9, #64a8f9);
137
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b1d1f9), to(#64a8f9));
138
- background-image: -webkit-linear-gradient(top, #b1d1f9, #64a8f9);
139
- background-image: -o-linear-gradient(top, #b1d1f9, #64a8f9);
140
- background-image: linear-gradient(to bottom, #b1d1f9, #64a8f9);
141
- background-repeat: repeat-x;
142
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffb1d1f9', endColorstr='#ff64a8f9', GradientType=0);
143
- }
144
- .theme-blue .back-bar .pointer {
145
- width: 14px;
146
- height: 14px;
147
- top: -5px;
148
- -webkit-box-sizing: border-box;
149
- -moz-box-sizing: border-box;
150
- box-sizing: border-box;
151
- border-radius: 10px;
152
- border: 1px solid #AAA;
153
- background-color: #e7e7e7;
154
- background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
155
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
156
- background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
157
- background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
158
- background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
159
- background-repeat: repeat-x;
160
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
161
- }
162
- .theme-blue .back-bar .pointer-label {
163
- color: #999;
164
- }
165
- .theme-blue .back-bar .focused {
166
- color: #333;
167
- }
168
- .theme-blue .scale span {
169
- border-left: 1px solid #e5e5e5;
170
- }
171
- .theme-blue .scale ins {
172
- color: #999;
173
- }
174
  width: 300px;
175
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
176
  height: 10px;
177
  position: relative;
178
  position: absolute;
179
  height: 100%;
180
  position: absolute;
181
  width: 10px;
182
  height: 10px;
183
  background-color: red;
184
  cursor: col-resize;
185
  opacity: 1;
186
  z-index: 2;
187
  z-index: 3;
188
  position: absolute;
189
  top: -17px;
190
  font-size: 8px;
191
  background: white;
192
  white-space: nowrap;
193
  line-height: 1;
194
  z-index: 10;
195
  cursor: pointer;
196
  position: absolute;
197
  width: 100%;
198
  height: 100%;
199
  z-index: 1;
200
  top: 2px;
201
  position: relative;
202
  position: absolute;
203
  height: 5px;
204
  border-left: 1px solid #999;
205
  font-size: 0;
206
  font-size: 9px;
207
  text-decoration: none;
208
  position: absolute;
209
  left: 0;
210
  top: 5px;
211
  color: #999;
212
  line-height: 1;
213
  cursor: auto;
214
  height: 5px;
215
  border-radius: 2px;
216
  background-color: #eeeeee;
217
  background-color: #e7e7e7;
218
  background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
219
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
220
  background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
221
  background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
222
  background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
223
  background-repeat: repeat-x;
224
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
225
  border-radius: 2px;
226
  background-color: #a1fad0;
227
  background-image: -moz-linear-gradient(top, #bdfade, #76fabc);
228
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#bdfade), to(#76fabc));
229
  background-image: -webkit-linear-gradient(top, #bdfade, #76fabc);
230
  background-image: -o-linear-gradient(top, #bdfade, #76fabc);
231
  background-image: linear-gradient(to bottom, #bdfade, #76fabc);
232
  background-repeat: repeat-x;
233
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbdfade', endColorstr='#ff76fabc', GradientType=0);
234
  width: 14px;
235
  height: 14px;
236
  top: -5px;
237
  -webkit-box-sizing: border-box;
238
  -moz-box-sizing: border-box;
239
  box-sizing: border-box;
240
  border-radius: 10px;
241
  border: 1px solid #AAA;
242
  background-color: #e7e7e7;
243
  background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
244
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
245
  background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
246
  background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
247
  background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
248
  background-repeat: repeat-x;
249
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
250
  color: #999;
251
  color: #333;
252
  border-left: 1px solid #e5e5e5;
253
  color: #999;
254
  height: 5px;
255
  border-radius: 2px;
256
  background-color: #eeeeee;
257
  background-color: #e7e7e7;
258
  background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
259
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
260
  background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
261
  background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
262
  background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
263
  background-repeat: repeat-x;
264
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
265
  border-radius: 2px;
266
  background-color: #92c1f9;
267
  background-image: -moz-linear-gradient(top, #b1d1f9, #64a8f9);
268
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b1d1f9), to(#64a8f9));
269
  background-image: -webkit-linear-gradient(top, #b1d1f9, #64a8f9);
270
  background-image: -o-linear-gradient(top, #b1d1f9, #64a8f9);
271
  background-image: linear-gradient(to bottom, #b1d1f9, #64a8f9);
272
  background-repeat: repeat-x;
273
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffb1d1f9', endColorstr='#ff64a8f9', GradientType=0);
274
  width: 14px;
275
  height: 14px;
276
  top: -5px;
277
  -webkit-box-sizing: border-box;
278
  -moz-box-sizing: border-box;
279
  box-sizing: border-box;
280
  border-radius: 10px;
281
  border: 1px solid #AAA;
282
  background-color: #e7e7e7;
283
  background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
284
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
285
  background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
286
  background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
287
  background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
288
  background-repeat: repeat-x;
289
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
290
  color: #999;
291
  color: #333;
292
  border-left: 1px solid #e5e5e5;
293
  color: #999;
1
+ .slider-container {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  width: 300px;
3
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
4
  height: 10px;
5
  position: relative;
6
  position: absolute;
7
  height: 100%;
8
  position: absolute;
9
  width: 10px;
10
  height: 10px;
11
  background-color: red;
12
  cursor: col-resize;
13
  opacity: 1;
14
  z-index: 2;
15
  z-index: 3;
16
  position: absolute;
17
  top: -17px;
18
  font-size: 8px;
19
  background: white;
20
  white-space: nowrap;
21
  line-height: 1;
22
  z-index: 10;
23
  cursor: pointer;
24
  position: absolute;
25
  width: 100%;
26
  height: 100%;
27
  z-index: 1;
28
  top: 2px;
29
  position: relative;
30
  position: absolute;
31
  height: 5px;
32
  border-left: 1px solid #999;
33
  font-size: 0;
34
  font-size: 9px;
35
  text-decoration: none;
36
  position: absolute;
37
  left: 0;
38
  top: 5px;
39
  color: #999;
40
  line-height: 1;
41
  cursor: auto;
42
  height: 5px;
43
  border-radius: 2px;
44
  background-color: #eeeeee;
45
  background-color: #e7e7e7;
46
  background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
47
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
48
  background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
49
  background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
50
  background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
51
  background-repeat: repeat-x;
52
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
53
  border-radius: 2px;
54
  background-color: #a1fad0;
55
  background-image: -moz-linear-gradient(top, #bdfade, #76fabc);
56
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#bdfade), to(#76fabc));
57
  background-image: -webkit-linear-gradient(top, #bdfade, #76fabc);
58
  background-image: -o-linear-gradient(top, #bdfade, #76fabc);
59
  background-image: linear-gradient(to bottom, #bdfade, #76fabc);
60
  background-repeat: repeat-x;
61
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbdfade', endColorstr='#ff76fabc', GradientType=0);
62
  width: 14px;
63
  height: 14px;
64
  top: -5px;
65
  -webkit-box-sizing: border-box;
66
  -moz-box-sizing: border-box;
67
  box-sizing: border-box;
68
  border-radius: 10px;
69
  border: 1px solid #AAA;
70
  background-color: #e7e7e7;
71
  background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
72
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
73
  background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
74
  background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
75
  background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
76
  background-repeat: repeat-x;
77
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
78
  color: #999;
79
  color: #333;
80
  border-left: 1px solid #e5e5e5;
81
  color: #999;
82
  height: 5px;
83
  border-radius: 2px;
84
  background-color: #eeeeee;
85
  background-color: #e7e7e7;
86
  background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
87
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
88
  background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
89
  background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
90
  background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
91
  background-repeat: repeat-x;
92
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
93
  border-radius: 2px;
94
  background-color: #92c1f9;
95
  background-image: -moz-linear-gradient(top, #b1d1f9, #64a8f9);
96
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b1d1f9), to(#64a8f9));
97
  background-image: -webkit-linear-gradient(top, #b1d1f9, #64a8f9);
98
  background-image: -o-linear-gradient(top, #b1d1f9, #64a8f9);
99
  background-image: linear-gradient(to bottom, #b1d1f9, #64a8f9);
100
  background-repeat: repeat-x;
101
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffb1d1f9', endColorstr='#ff64a8f9', GradientType=0);
102
  width: 14px;
103
  height: 14px;
104
  top: -5px;
105
  -webkit-box-sizing: border-box;
106
  -moz-box-sizing: border-box;
107
  box-sizing: border-box;
108
  border-radius: 10px;
109
  border: 1px solid #AAA;
110
  background-color: #e7e7e7;
111
  background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
112
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
113
  background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
114
  background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
115
  background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
116
  background-repeat: repeat-x;
117
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
118
  color: #999;
119
  color: #333;
120
  border-left: 1px solid #e5e5e5;
121
  color: #999;
style/sg_popup_style.css CHANGED
@@ -27,6 +27,11 @@ h3.hndle .ui-sortable-handle .generalTitle {
27
  .title-max-width {
28
  max-width: 200px;
29
  }
 
 
 
 
 
30
  .create-popup-link {
31
  cursor: pointer;
32
  }
@@ -117,6 +122,14 @@ div.sg-hide {
117
  min-width: 165px;
118
  }
119
 
 
 
 
 
 
 
 
 
120
  .liquid-width {
121
  font: 13px "Open Sans", sans-serif;
122
  color: black;
@@ -313,6 +326,10 @@ span.phpErrorStyle {
313
  background-image: url("../img/AgeRestrictionPro.png");
314
  }
315
 
 
 
 
 
316
  .social-pro {
317
  background-image: url("../img/SocialButtonPro.png");
318
  }
@@ -722,12 +739,25 @@ input[name="theme"] {
722
  }
723
 
724
  .color-picker > .wp-picker-container .wp-color-result {
725
- top: 7px;
726
  }
 
727
  .special-options-content .wp-color-result:after {
728
  line-height: 22px;
729
  }
730
 
 
 
 
 
 
 
 
 
 
 
 
 
731
  .wp-picker-open+.wp-picker-input-wrap {
732
  float: right;
733
  margin-top: 12px;
@@ -746,7 +776,7 @@ input[name="theme"] {
746
 
747
  .before-scroling-percent,
748
  .input-width-percent {
749
- width: 30px;
750
  }
751
 
752
  .span-percent {
27
  .title-max-width {
28
  max-width: 200px;
29
  }
30
+
31
+ .sg-shortcode-width {
32
+ width: 30%;
33
+ }
34
+
35
  .create-popup-link {
36
  cursor: pointer;
37
  }
122
  min-width: 165px;
123
  }
124
 
125
+ .span-width-static {
126
+ width: 44%;
127
+ min-width: 165px;
128
+ display: inline-block;
129
+ box-sizing: border-box;
130
+ margin-right: 5.2%;
131
+ }
132
+
133
  .liquid-width {
134
  font: 13px "Open Sans", sans-serif;
135
  color: black;
326
  background-image: url("../img/AgeRestrictionPro.png");
327
  }
328
 
329
+ .countdown-pro {
330
+ background-image: url("../img/CountdownButtonPro.png");
331
+ }
332
+
333
  .social-pro {
334
  background-image: url("../img/SocialButtonPro.png");
335
  }
739
  }
740
 
741
  .color-picker > .wp-picker-container .wp-color-result {
742
+ top: 12px;
743
  }
744
+
745
  .special-options-content .wp-color-result:after {
746
  line-height: 22px;
747
  }
748
 
749
+ .special-options-content input[type='text'] {
750
+ margin: 0px;
751
+ }
752
+
753
+ .info-active-url {
754
+ margin-top: 0px;
755
+ }
756
+
757
+ .sg-active-url {
758
+ margin-top: 2px;
759
+ }
760
+
761
  .wp-picker-open+.wp-picker-input-wrap {
762
  float: right;
763
  margin-top: 12px;
776
 
777
  .before-scroling-percent,
778
  .input-width-percent {
779
+ width: 104px;
780
  }
781
 
782
  .span-percent {
style/sg_popup_style.php CHANGED
@@ -7,6 +7,18 @@ function sg_popup_admin_style($hook) {
7
  wp_enqueue_style('sg_popup_style');
8
  wp_register_style('sg_popup_animate', SG_APP_POPUP_URL . '/style/animate.css');
9
  wp_enqueue_style('sg_popup_animate');
 
 
 
 
 
 
 
 
 
 
 
 
10
  }
11
  add_action('admin_enqueue_scripts', 'sg_popup_admin_style');
12
 
@@ -28,5 +40,5 @@ function mw_enqueue_color_picker( $hook_suffix ) {
28
  return;
29
  }
30
  wp_enqueue_style( 'wp-color-picker' );
31
- wp_enqueue_script( 'my-script-handle', plugins_url('javascript/sg_colorpicker.js',dirname(__FILE__)), array( 'wp-color-picker' ) );
32
- }
7
  wp_enqueue_style('sg_popup_style');
8
  wp_register_style('sg_popup_animate', SG_APP_POPUP_URL . '/style/animate.css');
9
  wp_enqueue_style('sg_popup_animate');
10
+ if (SG_POPUP_PRO) {
11
+ wp_register_style('font_awesome', SG_APP_POPUP_URL . "/style/jssocial/font-awesome.min.css");
12
+ wp_enqueue_style('font_awesome');
13
+ wp_register_style('jssocials_main_css', SG_APP_POPUP_URL . "/style/jssocial/jssocials.css");
14
+ wp_enqueue_style('jssocials_main_css');
15
+ wp_register_style('jssocials_theme_tm', SG_APP_POPUP_URL . "/style/jssocial/jssocials-theme-classic.css");
16
+ wp_enqueue_style('jssocials_theme_tm');
17
+ wp_register_style('sg_flipclock_css', SG_APP_POPUP_URL . "/style/sg_flipclock.css");
18
+ wp_enqueue_style('sg_flipclock_css');
19
+ wp_register_style('sg_jqueryUi_css', SG_APP_POPUP_URL . "/style/jquery-ui.min.css");
20
+ wp_enqueue_style('sg_jqueryUi_css');
21
+ }
22
  }
23
  add_action('admin_enqueue_scripts', 'sg_popup_admin_style');
24
 
40
  return;
41
  }
42
  wp_enqueue_style( 'wp-color-picker' );
43
+ wp_enqueue_script( 'sg_libs_handle', plugins_url('javascript/sg_datapickers.js',dirname(__FILE__)), array( 'wp-color-picker' ));
44
+ }
style/sgcolorbox/colorbox1.css CHANGED
File without changes
style/sgcolorbox/colorbox2.css CHANGED
File without changes
style/sgcolorbox/colorbox3.css CHANGED
File without changes
style/sgcolorbox/colorbox4.css CHANGED
File without changes
style/sgcolorbox/colorbox5.css CHANGED
File without changes