Popup Builder – Responsive WordPress Pop up - Version 1.1.4

Version Description

Download this release

Release Info

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

Version 1.1.4

Files changed (48) hide show
  1. files/sg_popup_ajax.php +113 -0
  2. files/sg_popup_create.php +1 -0
  3. files/sg_popup_main.php +91 -0
  4. files/sg_popup_page_selection.php +74 -0
  5. img/colorbox1/border.png +0 -0
  6. img/colorbox1/controls.png +0 -0
  7. img/colorbox1/loading.gif +0 -0
  8. img/colorbox1/loading_background.png +0 -0
  9. img/colorbox1/overlay.png +0 -0
  10. img/colorbox2/controls.png +0 -0
  11. img/colorbox2/loading.gif +0 -0
  12. img/colorbox3/controls.png +0 -0
  13. img/colorbox3/loading.gif +0 -0
  14. img/colorbox4/border1.png +0 -0
  15. img/colorbox4/border2.png +0 -0
  16. img/colorbox4/loading.gif +0 -0
  17. img/colorbox5/border.png +0 -0
  18. img/colorbox5/controls.png +0 -0
  19. img/colorbox5/loading.gif +0 -0
  20. img/colorbox5/loading_background.png +0 -0
  21. img/default-image.png +0 -0
  22. img/down_arrow-2x.gif +0 -0
  23. img/info-error.png +0 -0
  24. img/info.png +0 -0
  25. img/pp_Icon.png +0 -0
  26. img/theme1.jpg +0 -0
  27. img/theme2.jpg +0 -0
  28. img/theme3.jpg +0 -0
  29. img/theme4.jpg +0 -0
  30. img/theme5.jpg +0 -0
  31. img/wpspin_light.gif +0 -0
  32. javascript/jquery.colorbox-min.js +1104 -0
  33. javascript/jquery.cookie.js +117 -0
  34. javascript/sg_popup_backend.js +1 -0
  35. javascript/sg_popup_frontend.js +1 -0
  36. javascript/sg_popup_javascript.php +45 -0
  37. javascript/sg_popup_rangeslider.js +2 -0
  38. popup-builder.php +305 -0
  39. readme.txt +101 -0
  40. style/animate.css +1 -0
  41. style/sg_popup_rangeslider.css +173 -0
  42. style/sg_popup_style.css +682 -0
  43. style/sg_popup_style.php +1 -0
  44. style/sgcolorbox/colorbox1.css +70 -0
  45. style/sgcolorbox/colorbox2.css +50 -0
  46. style/sgcolorbox/colorbox3.css +45 -0
  47. style/sgcolorbox/colorbox4.css +66 -0
  48. style/sgcolorbox/colorbox5.css +59 -0
files/sg_popup_ajax.php ADDED
@@ -0,0 +1,113 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // save ajax
3
+ add_action('wp_ajax_save_popup', 'sg_save_popup');
4
+
5
+ function setOptionvalue($optionsKey)
6
+ {
7
+ if(isset($_POST[$optionsKey]))
8
+ {
9
+ if($optionsKey == "sg_popup_html")
10
+ {
11
+ return wp_kses_post($_POST[$optionsKey]);
12
+ }
13
+
14
+ return sanitize_text_field($_POST[$optionsKey]);
15
+ }
16
+ else
17
+ {
18
+ return "";
19
+ }
20
+ }
21
+
22
+ function sg_save_popup() {
23
+ global $wpdb;
24
+ $array = array();
25
+
26
+ $array['title'] = setOptionvalue('title');
27
+ $array['width'] = setOptionvalue('width');
28
+ $array['height'] = setOptionvalue('height');
29
+ $array['delay'] = (int)setOptionvalue('delay');
30
+ $array['duration'] = (int)setOptionvalue('duration');
31
+ $array['effect'] = setOptionvalue('effect');
32
+ $array['escKey'] = setOptionvalue('escKey');
33
+ $array['scale'] = setOptionvalue('scale');
34
+ $array['scrolling'] = setOptionvalue('scrolling');
35
+ $array['reposition'] = setOptionvalue('reposition');
36
+ $array['overlayClose'] = setOptionvalue('overlayClose');
37
+ $array['opacity'] = setOptionvalue('opacity');
38
+ $array['popupFixed'] = setOptionvalue('popupFixed');
39
+ $array['fixedPostion'] = setOptionvalue('fixedPostion');
40
+ $array['maxWidth'] = setOptionvalue('maxWidth');
41
+ $array['maxHeight'] = setOptionvalue('maxHeight');
42
+ $array['initialWidth'] = setOptionvalue('initialWidth');
43
+ $array['initialHeight'] = setOptionvalue('initialHeight');
44
+ $array['closeButton'] = setOptionvalue('closeButton');
45
+ $array['theme'] = setOptionvalue('theme');
46
+ $array['onScrolling'] = setOptionvalue('onScrolling');
47
+ $array['repeatPopup'] = setOptionvalue('repeatPopup');
48
+ $html = stripslashes(setOptionvalue("sg_popup_html"));
49
+ $image = setOptionvalue('ad_image');
50
+ $iframe = setOptionvalue('iframeLink');
51
+ $shortCode = stripslashes(setOptionvalue('shortCode'));
52
+ $type = setOptionvalue('content');
53
+ $id = setOptionvalue('hidden_popup_number');
54
+ $jsonDataArray = json_encode($array);
55
+
56
+ $saved = false;
57
+
58
+ if($_POST['title'] == "")
59
+ {
60
+ $errorTitle = "Title cannot be empty";
61
+ }
62
+ else
63
+ {
64
+ if($_POST['hidden_popup_number'] == '')
65
+ {
66
+
67
+ $sql = $wpdb->prepare( "INSERT INTO ". $wpdb->prefix ."sg_promotional_popup(content,html,image,iframe,shortCode,options) VALUES (%s,%s,%s,%s,%s,%s)",$type,$html,$image,$iframe,$shortCode,$jsonDataArray);
68
+ $wpdb->query($sql);
69
+ $id = $wpdb->insert_id;
70
+ echo $id;
71
+ die();
72
+ }
73
+ else
74
+ {
75
+ $sql = $wpdb->prepare("UPDATE ". $wpdb->prefix ."sg_promotional_popup SET content=%s,html=%s,image=%s,iframe=%s,shortCode=%s,options=%s WHERE id=%d",$type,$html,$image,$iframe,$shortCode,$jsonDataArray,$id);
76
+ $wpdb->query($sql);
77
+ echo $id;
78
+ die();
79
+ }
80
+ }
81
+ echo '0';
82
+ }
83
+
84
+ /*
85
+ * delete ajax opretion
86
+ */
87
+
88
+ function sg_popup_delete() {
89
+ $id = (int)$_POST['popup_id'];
90
+ if (!$id) return;
91
+
92
+ global $wpdb;
93
+
94
+ $wpdb->query(
95
+ $wpdb->prepare(
96
+ "DELETE FROM ". $wpdb->prefix ."sg_promotional_popup WHERE id = %d"
97
+ ,$id
98
+ )
99
+ );
100
+
101
+ $wpdb->query(
102
+ $wpdb->prepare(
103
+ "DELETE FROM wp_postmeta WHERE meta_value = %d and meta_key = 'sg_promotional_popup'"
104
+ ,$id
105
+ )
106
+ );
107
+ }
108
+ add_action('wp_ajax_delete_promotional_popup', 'sg_popup_delete');
109
+
110
+ /*
111
+ * preview ajax
112
+ */
113
+
files/sg_popup_create.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php
files/sg_popup_main.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ global $wpdb;
3
+
4
+ $pagenum = isset($_GET['pn']) ? (int) $_GET['pn'] : 1;
5
+
6
+ $limit = SG_APP_POPUP_TABLE_LIMIT;//;
7
+ $offset = ($pagenum - 1) * $limit;
8
+
9
+ $total = $wpdb->get_var( "SELECT COUNT(id) FROM ". $wpdb->prefix ."sg_promotional_popup" );
10
+ $num_of_pages = ceil( esc_html($total) / $limit );
11
+ if ($pagenum>$num_of_pages || $pagenum < 1) {
12
+ $offset = 0;
13
+ $pagenum = 1;
14
+ }
15
+
16
+ $st = $wpdb->prepare("SELECT * FROM ". $wpdb->prefix ."sg_promotional_popup ORDER BY id DESC LIMIT %d,%d", $offset, $limit);
17
+ $entries = $wpdb->get_results($st);
18
+ ?>
19
+ <div class="wrap">
20
+ <div class="headersWrapper">
21
+ <h1>Popups</h1>
22
+ <div class="creteLinkWrapper">
23
+
24
+ <a id='linkCreate' href='<?php echo admin_url();?>admin.php?page=create-popup'>Create new</a>
25
+ </div>
26
+ <?php
27
+ if(!SG_POPUP_PRO) { ?>
28
+ <input type="button" class="mainUpdateToPro" value="Upgrade to PRO version" onclick="window.open('<?php echo SG_POPUP_PRO_URL;?>')">
29
+ <?php }
30
+ ?>
31
+ </div>
32
+ <table class="widefat">
33
+ <thead>
34
+ <tr>
35
+ <th scope="col" class="manage-column column-name" style="">ID</th>
36
+ <th scope="col" class="manage-column column-name" style="">Title</th>
37
+ <th scope="col" class="manage-column column-name" style="">Type</th>
38
+ <th scope="col" class="manage-column column-name" style="">Options</th>
39
+ </tr>
40
+ </thead>
41
+ <tfoot>
42
+ <tr>
43
+ <th scope="col" class="manage-column column-name" style="">ID</th>
44
+ <th scope="col" class="manage-column column-name" style="">Title</th>
45
+ <th scope="col" class="manage-column column-name" style="">Type</th>
46
+ <th scope="col" class="manage-column column-name" style="">Options</th>
47
+ </tr>
48
+ </tfoot>
49
+ <tbody>
50
+ <?php if($entries) { ?>
51
+ <?php
52
+ $count = 1;
53
+ $class = '';
54
+ foreach( $entries as $entry ) {
55
+ $class = ( $count % 2 == 0 ) ? ' class="alternate"' : '';
56
+ $jsonData = json_decode($entry->options, true);
57
+ $title = $jsonData['title'];
58
+ ?>
59
+ <tr <?php echo $class; ?>>
60
+ <td><?php echo esc_html($entry->id); ?></td>
61
+ <td><?php echo esc_html($title); ?></td>
62
+ <td><?php echo esc_html($entry->content); ?></td>
63
+ <td><a href='<?php echo admin_url();?>admin.php?page=create-popup&id=<?php echo esc_html($entry->id);?>'>Edit</a><a href="#" sg-app-popup-id = "<?php echo esc_html($entry->id);?>" class='sgDeleteLink'>Delete</a></td>
64
+ </tr>
65
+ <?php
66
+ $count++;
67
+ }
68
+ ?>
69
+ <?php } else { ?>
70
+ <tr>
71
+ <td colspan="2">No popups</td>
72
+ </tr>
73
+ <?php } ?>
74
+ </tbody>
75
+ </table>
76
+ <?php
77
+
78
+ $page_links = paginate_links( array(
79
+ 'base' => add_query_arg( 'pn', '%#%' ),
80
+ 'format' => '',
81
+ 'prev_text' => __( '&laquo;', 'aag' ),
82
+ 'next_text' => __( '&raquo;', 'aag' ),
83
+ 'total' => $num_of_pages,
84
+ 'current' => $pagenum
85
+
86
+ ));
87
+ if ( $page_links ) {
88
+ echo '<div class="tablenav"><div class="tablenav-pages" style="margin: 1em 0">' . $page_links . '</div></div>';
89
+ }
90
+ ?>
91
+ </div>
files/sg_popup_page_selection.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ function sg_popup_meta()
3
+ {
4
+ $screens = array( 'post', 'page' );
5
+ foreach ( $screens as $screen )
6
+ {
7
+ add_meta_box( 'prfx_meta', __( 'Select Popup', 'prfx-textdomain' ), 'sg_popup_callback', $screen, 'normal' );
8
+ }
9
+ }
10
+ add_action( 'add_meta_boxes', 'sg_popup_meta' );
11
+
12
+ /**
13
+ * Outputs the content of the meta box
14
+ */
15
+ function sg_popup_callback( $post )
16
+ {
17
+ wp_nonce_field( basename( __FILE__ ), 'prfx_nonce' );
18
+ $prfx_stored_meta = get_post_meta( $post->ID );
19
+ ?>
20
+ <p class="previewParagaraph">
21
+ <?php
22
+ global $wpdb;
23
+ $proposedTypes = array();
24
+ $proposedTypes = $wpdb->get_results("SELECT * FROM ". $wpdb->prefix ."sg_promotional_popup ORDER BY id DESC");
25
+ function creaeSelect($options,$name,$selecteOption)
26
+ {
27
+ $selected ='';
28
+ $str = "";
29
+ $str .= "<select class='choosePopupType promotionalPopupSelect' name=$name>";
30
+ $str .= "<option>Not selected</potion>";
31
+ foreach($options as $option)
32
+ {
33
+ if($option->options)
34
+ {
35
+ $jsonData = json_decode($option->options);
36
+ $title = $jsonData->title;
37
+ $id = $option->id;
38
+ if($selecteOption == $id)
39
+ {
40
+ $selected = "selected";
41
+ }
42
+ else
43
+ {
44
+ $selected ='';
45
+ }
46
+ $str .= "<option value='".$id."' disable='".$id."' ".$selected." >$title</potion>";
47
+ }
48
+ }
49
+ $str .="</select>" ;
50
+ return $str;
51
+ }
52
+ global $post;
53
+ $page = (int)$post->ID;
54
+ $popup = "sg_promotional_popup";
55
+ $sql = $wpdb->prepare("SELECT meta_value FROM ". $wpdb->prefix ."postmeta WHERE post_id = %d AND meta_key =%s",$page,$popup);
56
+ $row = $wpdb->get_row($sql);
57
+ $type = (int)$row->meta_value;
58
+ $prepare = $wpdb->prepare("SELECT * FROM ". $wpdb->prefix ."sg_promotional_popup WHERE id = %d ",$type);
59
+ $pageSelectionData = $wpdb->get_row($prepare);
60
+ echo creaeSelect($proposedTypes,'sg_promotional_popup',$type);
61
+ $SG_APP_POPUP_URL = SG_APP_POPUP_URL;
62
+ ?>
63
+ </p>
64
+ <input type="button" value="Preview" class="previewbutton" id="previewbuttonStyle" disabled="disabled" /><img src="<?php echo plugins_url('img/wpspin_light.gif', dirname(__FILE__).'../');?>" id="gifLoader" style="display: none;">
65
+ <input type="hidden" value="<?php echo $page;?>" id="post_id">
66
+ <input type="hidden" value="<?php echo $SG_APP_POPUP_URL;?>" id="SG_APP_POPUP_URL">
67
+ <?php
68
+ }
69
+ function slelectPopupSaved($post_id) {
70
+ update_post_meta($post_id, 'sg_promotional_popup' , $_POST['sg_promotional_popup']);
71
+ }
72
+ add_action('save_post','slelectPopupSaved');
73
+
74
+
img/colorbox1/border.png ADDED
Binary file
img/colorbox1/controls.png ADDED
Binary file
img/colorbox1/loading.gif ADDED
Binary file
img/colorbox1/loading_background.png ADDED
Binary file
img/colorbox1/overlay.png ADDED
Binary file
img/colorbox2/controls.png ADDED
Binary file
img/colorbox2/loading.gif ADDED
Binary file
img/colorbox3/controls.png ADDED
Binary file
img/colorbox3/loading.gif ADDED
Binary file
img/colorbox4/border1.png ADDED
Binary file
img/colorbox4/border2.png ADDED
Binary file
img/colorbox4/loading.gif ADDED
Binary file
img/colorbox5/border.png ADDED
Binary file
img/colorbox5/controls.png ADDED
Binary file
img/colorbox5/loading.gif ADDED
Binary file
img/colorbox5/loading_background.png ADDED
Binary file
img/default-image.png ADDED
Binary file
img/down_arrow-2x.gif ADDED
Binary file
img/info-error.png ADDED
Binary file
img/info.png ADDED
Binary file
img/pp_Icon.png ADDED
Binary file
img/theme1.jpg ADDED
Binary file
img/theme2.jpg ADDED
Binary file
img/theme3.jpg ADDED
Binary file
img/theme4.jpg ADDED
Binary file
img/theme5.jpg ADDED
Binary file
img/wpspin_light.gif ADDED
Binary file
javascript/jquery.colorbox-min.js ADDED
@@ -0,0 +1,1104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ Colorbox 1.6.0
3
+ license: MIT
4
+ http://www.jacklmoore.com/colorbox
5
+ */
6
+ (function ($, document, window) {
7
+ var
8
+ // Default settings object.
9
+ // See http://jacklmoore.com/colorbox for details.
10
+ defaults = {
11
+ // data sources
12
+ html: false,
13
+ photo: false,
14
+ iframe: false,
15
+ inline: false,
16
+
17
+ // behavior and appearance
18
+ transition: "elastic",
19
+ speed: 300,
20
+ fadeOut: 300,
21
+ width: false,
22
+ initialWidth: "600",
23
+ innerWidth: false,
24
+ maxWidth: false,
25
+ height: false,
26
+ initialHeight: "450",
27
+ innerHeight: false,
28
+ maxHeight: false,
29
+ scalePhotos: true,
30
+ scrolling: true,
31
+ opacity: 0.9,
32
+ preloading: true,
33
+ className: false,
34
+ overlayClose: true,
35
+ escKey: true,
36
+ arrowKey: true,
37
+ top: false,
38
+ bottom: false,
39
+ left: false,
40
+ right: false,
41
+ fixed: false,
42
+ data: undefined,
43
+ closeButton: true,
44
+ fastIframe: true,
45
+ open: false,
46
+ reposition: true,
47
+ loop: true,
48
+ slideshow: false,
49
+ slideshowAuto: true,
50
+ slideshowSpeed: 2500,
51
+ slideshowStart: "start slideshow",
52
+ slideshowStop: "stop slideshow",
53
+ photoRegex: /\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,
54
+
55
+ // alternate image paths for high-res displays
56
+ retinaImage: false,
57
+ retinaUrl: false,
58
+ retinaSuffix: '@2x.$1',
59
+
60
+ // internationalization
61
+ current: "image {current} of {total}",
62
+ previous: "previous",
63
+ next: "next",
64
+ close: "close",
65
+ xhrError: "This content failed to load.",
66
+ imgError: "This image failed to load.",
67
+
68
+ // accessbility
69
+ returnFocus: true,
70
+ trapFocus: true,
71
+
72
+ // callbacks
73
+ onOpen: false,
74
+ onLoad: false,
75
+ onComplete: false,
76
+ onCleanup: false,
77
+ onClosed: false,
78
+
79
+ rel: function() {
80
+ return this.rel;
81
+ },
82
+ href: function() {
83
+ // using this.href would give the absolute url, when the href may have been inteded as a selector (e.g. '#container')
84
+ return $(this).attr('href');
85
+ },
86
+ title: function() {
87
+ return this.title;
88
+ },
89
+ createImg: function() {
90
+ var img = new Image();
91
+ var attrs = $(this).data('cbox-img-attrs');
92
+
93
+ if (typeof attrs === 'object') {
94
+ $.each(attrs, function(key, val){
95
+ img[key] = val;
96
+ });
97
+ }
98
+
99
+ return img;
100
+ },
101
+ createIframe: function() {
102
+ var iframe = document.createElement('iframe');
103
+ var attrs = $(this).data('cbox-iframe-attrs');
104
+
105
+ if (typeof attrs === 'object') {
106
+ $.each(attrs, function(key, val){
107
+ iframe[key] = val;
108
+ });
109
+ }
110
+
111
+ if ('frameBorder' in iframe) {
112
+ iframe.frameBorder = 0;
113
+ }
114
+ if ('allowTransparency' in iframe) {
115
+ iframe.allowTransparency = "true";
116
+ }
117
+ iframe.name = (new Date()).getTime(); // give the iframe a unique name to prevent caching
118
+ iframe.allowFullScreen = true;
119
+
120
+ return iframe;
121
+ }
122
+ },
123
+
124
+ // Abstracting the HTML and event identifiers for easy rebranding
125
+ colorbox = 'colorbox',
126
+ prefix = 'cbox',
127
+ boxElement = prefix + 'Element',
128
+
129
+ // Events
130
+ event_open = prefix + '_open',
131
+ event_load = prefix + '_load',
132
+ event_complete = prefix + '_complete',
133
+ event_cleanup = prefix + '_cleanup',
134
+ event_closed = prefix + '_closed',
135
+ event_purge = prefix + '_purge',
136
+
137
+ // Cached jQuery Object Variables
138
+ $overlay,
139
+ $box,
140
+ $wrap,
141
+ $content,
142
+ $topBorder,
143
+ $leftBorder,
144
+ $rightBorder,
145
+ $bottomBorder,
146
+ $related,
147
+ $window,
148
+ $loaded,
149
+ $loadingBay,
150
+ $loadingOverlay,
151
+ $title,
152
+ $current,
153
+ $slideshow,
154
+ $next,
155
+ $prev,
156
+ $close,
157
+ $groupControls,
158
+ $events = $('<a/>'), // $({}) would be prefered, but there is an issue with jQuery 1.4.2
159
+
160
+ // Variables for cached values or use across multiple functions
161
+ settings,
162
+ interfaceHeight,
163
+ interfaceWidth,
164
+ loadedHeight,
165
+ loadedWidth,
166
+ index,
167
+ photo,
168
+ open,
169
+ active,
170
+ closing,
171
+ loadingTimer,
172
+ publicMethod,
173
+ div = "div",
174
+ requests = 0,
175
+ previousCSS = {},
176
+ init;
177
+
178
+ // ****************
179
+ // HELPER FUNCTIONS
180
+ // ****************
181
+
182
+ // Convenience function for creating new jQuery objects
183
+ function $tag(tag, id, css) {
184
+ var element = document.createElement(tag);
185
+
186
+ if (id) {
187
+ element.id = prefix + id;
188
+ }
189
+
190
+ if (css) {
191
+ element.style.cssText = css;
192
+ }
193
+
194
+ return $(element);
195
+ }
196
+
197
+ // Get the window height using innerHeight when available to avoid an issue with iOS
198
+ // http://bugs.jquery.com/ticket/6724
199
+ function winheight() {
200
+ return window.innerHeight ? window.innerHeight : $(window).height();
201
+ }
202
+
203
+ function Settings(element, options) {
204
+ if (options !== Object(options)) {
205
+ options = {};
206
+ }
207
+
208
+ this.cache = {};
209
+ this.el = element;
210
+
211
+ this.value = function(key) {
212
+ var dataAttr;
213
+
214
+ if (this.cache[key] === undefined) {
215
+ dataAttr = $(this.el).attr('data-cbox-'+key);
216
+
217
+ if (dataAttr !== undefined) {
218
+ this.cache[key] = dataAttr;
219
+ } else if (options[key] !== undefined) {
220
+ this.cache[key] = options[key];
221
+ } else if (defaults[key] !== undefined) {
222
+ this.cache[key] = defaults[key];
223
+ }
224
+ }
225
+
226
+ return this.cache[key];
227
+ };
228
+
229
+ this.get = function(key) {
230
+ var value = this.value(key);
231
+ return $.isFunction(value) ? value.call(this.el, this) : value;
232
+ };
233
+ }
234
+
235
+ // Determine the next and previous members in a group.
236
+ function getIndex(increment) {
237
+ var
238
+ max = $related.length,
239
+ newIndex = (index + increment) % max;
240
+
241
+ return (newIndex < 0) ? max + newIndex : newIndex;
242
+ }
243
+
244
+ // Convert '%' and 'px' values to integers
245
+ function setSize(size, dimension) {
246
+ return Math.round((/%/.test(size) ? ((dimension === 'x' ? $window.width() : winheight()) / 100) : 1) * parseInt(size, 10));
247
+ }
248
+
249
+ // Checks an href to see if it is a photo.
250
+ // There is a force photo option (photo: true) for hrefs that cannot be matched by the regex.
251
+ function isImage(settings, url) {
252
+ return settings.get('photo') || settings.get('photoRegex').test(url);
253
+ }
254
+
255
+ function retinaUrl(settings, url) {
256
+ return settings.get('retinaUrl') && window.devicePixelRatio > 1 ? url.replace(settings.get('photoRegex'), settings.get('retinaSuffix')) : url;
257
+ }
258
+
259
+ function trapFocus(e) {
260
+ if ('contains' in $box[0] && !$box[0].contains(e.target) && e.target !== $overlay[0]) {
261
+ e.stopPropagation();
262
+ $box.focus();
263
+ }
264
+ }
265
+
266
+ function setClass(str) {
267
+ if (setClass.str !== str) {
268
+ $box.add($overlay).removeClass(setClass.str).addClass(str);
269
+ setClass.str = str;
270
+ }
271
+ }
272
+
273
+ function getRelated(rel) {
274
+ index = 0;
275
+
276
+ if (rel && rel !== false && rel !== 'nofollow') {
277
+ $related = $('.' + boxElement).filter(function () {
278
+ var options = $.data(this, colorbox);
279
+ var settings = new Settings(this, options);
280
+ return (settings.get('rel') === rel);
281
+ });
282
+ index = $related.index(settings.el);
283
+
284
+ // Check direct calls to Colorbox.
285
+ if (index === -1) {
286
+ $related = $related.add(settings.el);
287
+ index = $related.length - 1;
288
+ }
289
+ } else {
290
+ $related = $(settings.el);
291
+ }
292
+ }
293
+
294
+ function trigger(event) {
295
+ // for external use
296
+ $(document).trigger(event);
297
+ // for internal use
298
+ $events.triggerHandler(event);
299
+ }
300
+
301
+ var slideshow = (function(){
302
+ var active,
303
+ className = prefix + "Slideshow_",
304
+ click = "click." + prefix,
305
+ timeOut;
306
+
307
+ function clear () {
308
+ clearTimeout(timeOut);
309
+ }
310
+
311
+ function set() {
312
+ if (settings.get('loop') || $related[index + 1]) {
313
+ clear();
314
+ timeOut = setTimeout(publicMethod.next, settings.get('slideshowSpeed'));
315
+ }
316
+ }
317
+
318
+ function start() {
319
+ $slideshow
320
+ .html(settings.get('slideshowStop'))
321
+ .unbind(click)
322
+ .one(click, stop);
323
+
324
+ $events
325
+ .bind(event_complete, set)
326
+ .bind(event_load, clear);
327
+
328
+ $box.removeClass(className + "off").addClass(className + "on");
329
+ }
330
+
331
+ function stop() {
332
+ clear();
333
+
334
+ $events
335
+ .unbind(event_complete, set)
336
+ .unbind(event_load, clear);
337
+
338
+ $slideshow
339
+ .html(settings.get('slideshowStart'))
340
+ .unbind(click)
341
+ .one(click, function () {
342
+ publicMethod.next();
343
+ start();
344
+ });
345
+
346
+ $box.removeClass(className + "on").addClass(className + "off");
347
+ }
348
+
349
+ function reset() {
350
+ active = false;
351
+ $slideshow.hide();
352
+ clear();
353
+ $events
354
+ .unbind(event_complete, set)
355
+ .unbind(event_load, clear);
356
+ $box.removeClass(className + "off " + className + "on");
357
+ }
358
+
359
+ return function(){
360
+ if (active) {
361
+ if (!settings.get('slideshow')) {
362
+ $events.unbind(event_cleanup, reset);
363
+ reset();
364
+ }
365
+ } else {
366
+ if (settings.get('slideshow') && $related[1]) {
367
+ active = true;
368
+ $events.one(event_cleanup, reset);
369
+ if (settings.get('slideshowAuto')) {
370
+ start();
371
+ } else {
372
+ stop();
373
+ }
374
+ $slideshow.show();
375
+ }
376
+ }
377
+ };
378
+
379
+ }());
380
+
381
+
382
+ function launch(element) {
383
+ var options;
384
+
385
+ if (!closing) {
386
+
387
+ options = $(element).data(colorbox);
388
+
389
+ settings = new Settings(element, options);
390
+
391
+ getRelated(settings.get('rel'));
392
+
393
+ if (!open) {
394
+ open = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys.
395
+
396
+ setClass(settings.get('className'));
397
+
398
+ // Show colorbox so the sizes can be calculated in older versions of jQuery
399
+ $box.css({visibility:'hidden', display:'block', opacity:''});
400
+
401
+ $loaded = $tag(div, 'LoadedContent', 'width:0; height:0; overflow:hidden; visibility:hidden');
402
+ $content.css({width:'', height:''}).append($loaded);
403
+
404
+ // Cache values needed for size calculations
405
+ interfaceHeight = $topBorder.height() + $bottomBorder.height() + $content.outerHeight(true) - $content.height();
406
+ interfaceWidth = $leftBorder.width() + $rightBorder.width() + $content.outerWidth(true) - $content.width();
407
+ loadedHeight = $loaded.outerHeight(true);
408
+ loadedWidth = $loaded.outerWidth(true);
409
+
410
+ // Opens inital empty Colorbox prior to content being loaded.
411
+ var initialWidth = setSize(settings.get('initialWidth'), 'x');
412
+ var initialHeight = setSize(settings.get('initialHeight'), 'y');
413
+ var maxWidth = settings.get('maxWidth');
414
+ var maxHeight = settings.get('maxHeight');
415
+
416
+ settings.w = (maxWidth !== false ? Math.min(initialWidth, setSize(maxWidth, 'x')) : initialWidth) - loadedWidth - interfaceWidth;
417
+ settings.h = (maxHeight !== false ? Math.min(initialHeight, setSize(maxHeight, 'y')) : initialHeight) - loadedHeight - interfaceHeight;
418
+
419
+ $loaded.css({width:'', height:settings.h});
420
+ publicMethod.position();
421
+
422
+ trigger(event_open);
423
+ settings.get('onOpen');
424
+
425
+ $groupControls.add($title).hide();
426
+
427
+ $box.focus();
428
+
429
+ if (settings.get('trapFocus')) {
430
+ // Confine focus to the modal
431
+ // Uses event capturing that is not supported in IE8-
432
+ if (document.addEventListener) {
433
+
434
+ document.addEventListener('focus', trapFocus, true);
435
+
436
+ $events.one(event_closed, function () {
437
+ document.removeEventListener('focus', trapFocus, true);
438
+ });
439
+ }
440
+ }
441
+
442
+ // Return focus on closing
443
+ if (settings.get('returnFocus')) {
444
+ $events.one(event_closed, function () {
445
+ $(settings.el).focus();
446
+ });
447
+ }
448
+ }
449
+
450
+ var opacity = parseFloat(settings.get('opacity'));
451
+ $overlay.css({
452
+ opacity: opacity === opacity ? opacity : '',
453
+ cursor: settings.get('overlayClose') ? 'pointer' : '',
454
+ visibility: 'visible'
455
+ }).show();
456
+
457
+ if (settings.get('closeButton')) {
458
+ $close.html(settings.get('close')).appendTo($content);
459
+ } else {
460
+ $close.appendTo('<div/>'); // replace with .detach() when dropping jQuery < 1.4
461
+ }
462
+
463
+ load();
464
+ }
465
+ }
466
+
467
+ // Colorbox's markup needs to be added to the DOM prior to being called
468
+ // so that the browser will go ahead and load the CSS background images.
469
+ function appendHTML() {
470
+ if (!$box) {
471
+ init = false;
472
+ $window = $(window);
473
+ $box = $tag(div).attr({
474
+ id: colorbox,
475
+ 'class': $.support.opacity === false ? prefix + 'IE' : '', // class for optional IE8 & lower targeted CSS.
476
+ role: 'dialog',
477
+ tabindex: '-1'
478
+ }).hide();
479
+ $overlay = $tag(div, "Overlay").hide();
480
+ $loadingOverlay = $([$tag(div, "LoadingOverlay")[0],$tag(div, "LoadingGraphic")[0]]);
481
+ $wrap = $tag(div, "Wrapper");
482
+ $content = $tag(div, "Content").append(
483
+ $title = $tag(div, "Title"),
484
+ $current = $tag(div, "Current"),
485
+ $prev = $('<button type="button"/>').attr({id:prefix+'Previous'}),
486
+ $next = $('<button type="button"/>').attr({id:prefix+'Next'}),
487
+ $slideshow = $tag('button', "Slideshow"),
488
+ $loadingOverlay
489
+ );
490
+
491
+ $close = $('<button type="button"/>').attr({id:prefix+'Close'});
492
+
493
+ $wrap.append( // The 3x3 Grid that makes up Colorbox
494
+ $tag(div).append(
495
+ $tag(div, "TopLeft"),
496
+ $topBorder = $tag(div, "TopCenter"),
497
+ $tag(div, "TopRight")
498
+ ),
499
+ $tag(div, false, 'clear:left').append(
500
+ $leftBorder = $tag(div, "MiddleLeft"),
501
+ $content,
502
+ $rightBorder = $tag(div, "MiddleRight")
503
+ ),
504
+ $tag(div, false, 'clear:left').append(
505
+ $tag(div, "BottomLeft"),
506
+ $bottomBorder = $tag(div, "BottomCenter"),
507
+ $tag(div, "BottomRight")
508
+ )
509
+ ).find('div div').css({'float': 'left'});
510
+
511
+ $loadingBay = $tag(div, false, 'position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;');
512
+
513
+ $groupControls = $next.add($prev).add($current).add($slideshow);
514
+ }
515
+ if (document.body && !$box.parent().length) {
516
+ $(document.body).append($overlay, $box.append($wrap, $loadingBay));
517
+ }
518
+ }
519
+
520
+ // Add Colorbox's event bindings
521
+ function addBindings() {
522
+ function clickHandler(e) {
523
+ // ignore non-left-mouse-clicks and clicks modified with ctrl / command, shift, or alt.
524
+ // See: http://jacklmoore.com/notes/click-events/
525
+ if (!(e.which > 1 || e.shiftKey || e.altKey || e.metaKey || e.ctrlKey)) {
526
+ e.preventDefault();
527
+ launch(this);
528
+ }
529
+ }
530
+
531
+ if ($box) {
532
+ if (!init) {
533
+ init = true;
534
+
535
+ // Anonymous functions here keep the public method from being cached, thereby allowing them to be redefined on the fly.
536
+ $next.click(function () {
537
+ publicMethod.next();
538
+ });
539
+ $prev.click(function () {
540
+ publicMethod.prev();
541
+ });
542
+ $close.click(function () {
543
+ publicMethod.close();
544
+ });
545
+ $overlay.click(function () {
546
+ if (settings.get('overlayClose')) {
547
+ publicMethod.close();
548
+ }
549
+ });
550
+
551
+ // Key Bindings
552
+ $(document).bind('keydown.' + prefix, function (e) {
553
+ var key = e.keyCode;
554
+ if (open && settings.get('escKey') && key === 27) {
555
+ e.preventDefault();
556
+ publicMethod.close();
557
+ }
558
+ if (open && settings.get('arrowKey') && $related[1] && !e.altKey) {
559
+ if (key === 37) {
560
+ e.preventDefault();
561
+ $prev.click();
562
+ } else if (key === 39) {
563
+ e.preventDefault();
564
+ $next.click();
565
+ }
566
+ }
567
+ });
568
+
569
+ if ($.isFunction($.fn.on)) {
570
+ // For jQuery 1.7+
571
+ $(document).on('click.'+prefix, '.'+boxElement, clickHandler);
572
+ } else {
573
+ // For jQuery 1.3.x -> 1.6.x
574
+ // This code is never reached in jQuery 1.9, so do not contact me about 'live' being removed.
575
+ // This is not here for jQuery 1.9, it's here for legacy users.
576
+ $('.'+boxElement).live('click.'+prefix, clickHandler);
577
+ }
578
+ }
579
+ return true;
580
+ }
581
+ return false;
582
+ }
583
+
584
+ // Don't do anything if Colorbox already exists.
585
+ if ($[colorbox]) {
586
+ return;
587
+ }
588
+
589
+ // Append the HTML when the DOM loads
590
+ $(appendHTML);
591
+
592
+
593
+ // ****************
594
+ // PUBLIC FUNCTIONS
595
+ // Usage format: $.colorbox.close();
596
+ // Usage from within an iframe: parent.jQuery.colorbox.close();
597
+ // ****************
598
+
599
+ publicMethod = $.fn[colorbox] = $[colorbox] = function (options, callback) {
600
+ var settings;
601
+ var $obj = this;
602
+
603
+ options = options || {};
604
+
605
+ if ($.isFunction($obj)) { // assume a call to $.colorbox
606
+ $obj = $('<a/>');
607
+ options.open = true;
608
+ }
609
+
610
+ if (!$obj[0]) { // colorbox being applied to empty collection
611
+ return $obj;
612
+ }
613
+
614
+ appendHTML();
615
+
616
+ if (addBindings()) {
617
+
618
+ if (callback) {
619
+ options.onComplete = callback;
620
+ }
621
+
622
+ $obj.each(function () {
623
+ var old = $.data(this, colorbox) || {};
624
+ $.data(this, colorbox, $.extend(old, options));
625
+ }).addClass(boxElement);
626
+
627
+ settings = new Settings($obj[0], options);
628
+
629
+ if (settings.get('open')) {
630
+ launch($obj[0]);
631
+ }
632
+ }
633
+
634
+ return $obj;
635
+ };
636
+
637
+ publicMethod.position = function (speed, loadedCallback) {
638
+ var
639
+ css,
640
+ top = 0,
641
+ left = 0,
642
+ offset = $box.offset(),
643
+ scrollTop,
644
+ scrollLeft;
645
+
646
+ $window.unbind('resize.' + prefix);
647
+
648
+ // remove the modal so that it doesn't influence the document width/height
649
+ $box.css({top: -9e4, left: -9e4});
650
+
651
+ scrollTop = $window.scrollTop();
652
+ scrollLeft = $window.scrollLeft();
653
+
654
+ if (settings.get('fixed')) {
655
+ offset.top -= scrollTop;
656
+ offset.left -= scrollLeft;
657
+ $box.css({position: 'fixed'});
658
+ } else {
659
+ top = scrollTop;
660
+ left = scrollLeft;
661
+ $box.css({position: 'absolute'});
662
+ }
663
+
664
+ // keeps the top and left positions within the browser's viewport.
665
+ if (settings.get('right') !== false) {
666
+ left += Math.max($window.width() - settings.w - loadedWidth - interfaceWidth - setSize(settings.get('right'), 'x'), 0);
667
+ } else if (settings.get('left') !== false) {
668
+ left += setSize(settings.get('left'), 'x');
669
+ } else {
670
+ left += Math.round(Math.max($window.width() - settings.w - loadedWidth - interfaceWidth, 0) / 2);
671
+ }
672
+
673
+ if (settings.get('bottom') !== false) {
674
+ top += Math.max(winheight() - settings.h - loadedHeight - interfaceHeight - setSize(settings.get('bottom'), 'y'), 0);
675
+ } else if (settings.get('top') !== false) {
676
+ top += setSize(settings.get('top'), 'y');
677
+ } else {
678
+ top += Math.round(Math.max(winheight() - settings.h - loadedHeight - interfaceHeight, 0) / 2);
679
+ }
680
+
681
+ $box.css({top: offset.top, left: offset.left, visibility:'visible'});
682
+
683
+ // this gives the wrapper plenty of breathing room so it's floated contents can move around smoothly,
684
+ // but it has to be shrank down around the size of div#colorbox when it's done. If not,
685
+ // it can invoke an obscure IE bug when using iframes.
686
+ $wrap[0].style.width = $wrap[0].style.height = "9999px";
687
+
688
+ function modalDimensions() {
689
+ $topBorder[0].style.width = $bottomBorder[0].style.width = $content[0].style.width = (parseInt($box[0].style.width,10) - interfaceWidth)+'px';
690
+ $content[0].style.height = $leftBorder[0].style.height = $rightBorder[0].style.height = (parseInt($box[0].style.height,10) - interfaceHeight)+'px';
691
+ }
692
+
693
+ css = {width: settings.w + loadedWidth + interfaceWidth, height: settings.h + loadedHeight + interfaceHeight, top: top, left: left};
694
+
695
+ // setting the speed to 0 if the content hasn't changed size or position
696
+ if (speed) {
697
+ var tempSpeed = 0;
698
+ $.each(css, function(i){
699
+ if (css[i] !== previousCSS[i]) {
700
+ tempSpeed = speed;
701
+ return;
702
+ }
703
+ });
704
+ speed = tempSpeed;
705
+ }
706
+
707
+ previousCSS = css;
708
+
709
+ if (!speed) {
710
+ $box.css(css);
711
+ }
712
+
713
+ $box.dequeue().animate(css, {
714
+ duration: speed || 0,
715
+ complete: function () {
716
+ modalDimensions();
717
+
718
+ active = false;
719
+
720
+ // shrink the wrapper down to exactly the size of colorbox to avoid a bug in IE's iframe implementation.
721
+ $wrap[0].style.width = (settings.w + loadedWidth + interfaceWidth) + "px";
722
+ $wrap[0].style.height = (settings.h + loadedHeight + interfaceHeight) + "px";
723
+
724
+ if (settings.get('reposition')) {
725
+ setTimeout(function () { // small delay before binding onresize due to an IE8 bug.
726
+ $window.bind('resize.' + prefix, publicMethod.position);
727
+ }, 1);
728
+ }
729
+
730
+ if ($.isFunction(loadedCallback)) {
731
+ loadedCallback();
732
+ }
733
+ },
734
+ step: modalDimensions
735
+ });
736
+ };
737
+
738
+ publicMethod.resize = function (options) {
739
+ var scrolltop;
740
+
741
+ if (open) {
742
+ options = options || {};
743
+
744
+ if (options.width) {
745
+ settings.w = setSize(options.width, 'x') - loadedWidth - interfaceWidth;
746
+ }
747
+
748
+ if (options.innerWidth) {
749
+ settings.w = setSize(options.innerWidth, 'x');
750
+ }
751
+
752
+ $loaded.css({width: settings.w});
753
+
754
+ if (options.height) {
755
+ settings.h = setSize(options.height, 'y') - loadedHeight - interfaceHeight;
756
+ }
757
+
758
+ if (options.innerHeight) {
759
+ settings.h = setSize(options.innerHeight, 'y');
760
+ }
761
+
762
+ if (!options.innerHeight && !options.height) {
763
+ scrolltop = $loaded.scrollTop();
764
+ $loaded.css({height: "auto"});
765
+ settings.h = $loaded.height();
766
+ }
767
+
768
+ $loaded.css({height: settings.h});
769
+
770
+ if(scrolltop) {
771
+ $loaded.scrollTop(scrolltop);
772
+ }
773
+
774
+ publicMethod.position(settings.get('transition') === "none" ? 0 : settings.get('speed'));
775
+ }
776
+ };
777
+
778
+ publicMethod.prep = function (object) {
779
+ if (!open) {
780
+ return;
781
+ }
782
+
783
+ var callback, speed = settings.get('transition') === "none" ? 0 : settings.get('speed');
784
+
785
+ $loaded.remove();
786
+
787
+ $loaded = $tag(div, 'LoadedContent').append(object);
788
+
789
+ function getWidth() {
790
+ settings.w = settings.w || $loaded.width();
791
+ settings.w = settings.mw && settings.mw < settings.w ? settings.mw : settings.w;
792
+ return settings.w;
793
+ }
794
+ function getHeight() {
795
+ settings.h = settings.h || $loaded.height();
796
+ settings.h = settings.mh && settings.mh < settings.h ? settings.mh : settings.h;
797
+ return settings.h;
798
+ }
799
+
800
+ $loaded.hide()
801
+ .appendTo($loadingBay.show())// content has to be appended to the DOM for accurate size calculations.
802
+ .css({width: getWidth(), overflow: settings.get('scrolling') ? 'auto' : 'hidden'})
803
+ .css({height: getHeight()})// sets the height independently from the width in case the new width influences the value of height.
804
+ .prependTo($content);
805
+
806
+ $loadingBay.hide();
807
+
808
+ // floating the IMG removes the bottom line-height and fixed a problem where IE miscalculates the width of the parent element as 100% of the document width.
809
+
810
+ $(photo).css({'float': 'none'});
811
+
812
+ setClass(settings.get('className'));
813
+
814
+ callback = function () {
815
+ var total = $related.length,
816
+ iframe,
817
+ complete;
818
+
819
+ if (!open) {
820
+ return;
821
+ }
822
+
823
+ function removeFilter() { // Needed for IE8 in versions of jQuery prior to 1.7.2
824
+ if ($.support.opacity === false) {
825
+ $box[0].style.removeAttribute('filter');
826
+ }
827
+ }
828
+
829
+ complete = function () {
830
+ clearTimeout(loadingTimer);
831
+ $loadingOverlay.hide();
832
+ trigger(event_complete);
833
+ settings.get('onComplete');
834
+ };
835
+
836
+
837
+ $title.html(settings.get('title')).show();
838
+ $loaded.show();
839
+
840
+ if (total > 1) { // handle grouping
841
+ if (typeof settings.get('current') === "string") {
842
+ $current.html(settings.get('current').replace('{current}', index + 1).replace('{total}', total)).show();
843
+ }
844
+
845
+ $next[(settings.get('loop') || index < total - 1) ? "show" : "hide"]().html(settings.get('next'));
846
+ $prev[(settings.get('loop') || index) ? "show" : "hide"]().html(settings.get('previous'));
847
+
848
+ slideshow();
849
+
850
+ // Preloads images within a rel group
851
+ if (settings.get('preloading')) {
852
+ $.each([getIndex(-1), getIndex(1)], function(){
853
+ var img,
854
+ i = $related[this],
855
+ settings = new Settings(i, $.data(i, colorbox)),
856
+ src = settings.get('href');
857
+
858
+ if (src && isImage(settings, src)) {
859
+ src = retinaUrl(settings, src);
860
+ img = document.createElement('img');
861
+ img.src = src;
862
+ }
863
+ });
864
+ }
865
+ } else {
866
+ $groupControls.hide();
867
+ }
868
+
869
+ if (settings.get('iframe')) {
870
+
871
+ iframe = settings.get('createIframe');
872
+
873
+ if (!settings.get('scrolling')) {
874
+ iframe.scrolling = "no";
875
+ }
876
+
877
+ $(iframe)
878
+ .attr({
879
+ src: settings.get('href'),
880
+ 'class': prefix + 'Iframe'
881
+ })
882
+ .one('load', complete)
883
+ .appendTo($loaded);
884
+
885
+ $events.one(event_purge, function () {
886
+ iframe.src = "//about:blank";
887
+ });
888
+
889
+ if (settings.get('fastIframe')) {
890
+ $(iframe).trigger('load');
891
+ }
892
+ } else {
893
+ complete();
894
+ }
895
+
896
+ if (settings.get('transition') === 'fade') {
897
+ $box.fadeTo(speed, 1, removeFilter);
898
+ } else {
899
+ removeFilter();
900
+ }
901
+ };
902
+
903
+ if (settings.get('transition') === 'fade') {
904
+ $box.fadeTo(speed, 0, function () {
905
+ publicMethod.position(0, callback);
906
+ });
907
+ } else {
908
+ publicMethod.position(speed, callback);
909
+ }
910
+ };
911
+
912
+ function load () {
913
+ var href, setResize, prep = publicMethod.prep, $inline, request = ++requests;
914
+
915
+ active = true;
916
+
917
+ photo = false;
918
+
919
+ trigger(event_purge);
920
+ trigger(event_load);
921
+ settings.get('onLoad');
922
+
923
+ settings.h = settings.get('height') ?
924
+ setSize(settings.get('height'), 'y') - loadedHeight - interfaceHeight :
925
+ settings.get('innerHeight') && setSize(settings.get('innerHeight'), 'y');
926
+
927
+ settings.w = settings.get('width') ?
928
+ setSize(settings.get('width'), 'x') - loadedWidth - interfaceWidth :
929
+ settings.get('innerWidth') && setSize(settings.get('innerWidth'), 'x');
930
+
931
+ // Sets the minimum dimensions for use in image scaling
932
+ settings.mw = settings.w;
933
+ settings.mh = settings.h;
934
+
935
+ // Re-evaluate the minimum width and height based on maxWidth and maxHeight values.
936
+ // If the width or height exceed the maxWidth or maxHeight, use the maximum values instead.
937
+ if (settings.get('maxWidth')) {
938
+ settings.mw = setSize(settings.get('maxWidth'), 'x') - loadedWidth - interfaceWidth;
939
+ settings.mw = settings.w && settings.w < settings.mw ? settings.w : settings.mw;
940
+ }
941
+ if (settings.get('maxHeight')) {
942
+ settings.mh = setSize(settings.get('maxHeight'), 'y') - loadedHeight - interfaceHeight;
943
+ settings.mh = settings.h && settings.h < settings.mh ? settings.h : settings.mh;
944
+ }
945
+
946
+ href = settings.get('href');
947
+
948
+ loadingTimer = setTimeout(function () {
949
+ $loadingOverlay.show();
950
+ }, 100);
951
+
952
+ if (settings.get('inline')) {
953
+ var $target = $(href);
954
+ // Inserts an empty placeholder where inline content is being pulled from.
955
+ // An event is bound to put inline content back when Colorbox closes or loads new content.
956
+ $inline = $('<div>').hide().insertBefore($target);
957
+
958
+ $events.one(event_purge, function () {
959
+ $inline.replaceWith($target);
960
+ });
961
+
962
+ prep($target);
963
+ } else if (settings.get('iframe')) {
964
+ // IFrame element won't be added to the DOM until it is ready to be displayed,
965
+ // to avoid problems with DOM-ready JS that might be trying to run in that iframe.
966
+ prep(" ");
967
+ } else if (settings.get('html')) {
968
+ prep(settings.get('html'));
969
+ } else if (isImage(settings, href)) {
970
+
971
+ href = retinaUrl(settings, href);
972
+
973
+ photo = settings.get('createImg');
974
+
975
+ $(photo)
976
+ .addClass(prefix + 'Photo')
977
+ .bind('error',function () {
978
+ prep($tag(div, 'Error').html(settings.get('imgError')));
979
+ })
980
+ .one('load', function () {
981
+ if (request !== requests) {
982
+ return;
983
+ }
984
+
985
+ // A small pause because some browsers will occassionaly report a
986
+ // img.width and img.height of zero immediately after the img.onload fires
987
+ setTimeout(function(){
988
+ var percent;
989
+
990
+ if (settings.get('retinaImage') && window.devicePixelRatio > 1) {
991
+ photo.height = photo.height / window.devicePixelRatio;
992
+ photo.width = photo.width / window.devicePixelRatio;
993
+ }
994
+
995
+ if (settings.get('scalePhotos')) {
996
+ setResize = function () {
997
+ photo.height -= photo.height * percent;
998
+ photo.width -= photo.width * percent;
999
+ };
1000
+ if (settings.mw && photo.width > settings.mw) {
1001
+ percent = (photo.width - settings.mw) / photo.width;
1002
+ setResize();
1003
+ }
1004
+ if (settings.mh && photo.height > settings.mh) {
1005
+ percent = (photo.height - settings.mh) / photo.height;
1006
+ setResize();
1007
+ }
1008
+ }
1009
+
1010
+ if (settings.h) {
1011
+ photo.style.marginTop = Math.max(settings.mh - photo.height, 0) / 2 + 'px';
1012
+ }
1013
+
1014
+ if ($related[1] && (settings.get('loop') || $related[index + 1])) {
1015
+ photo.style.cursor = 'pointer';
1016
+ photo.onclick = function () {
1017
+ publicMethod.next();
1018
+ };
1019
+ }
1020
+
1021
+ photo.style.width = photo.width + 'px';
1022
+ photo.style.height = photo.height + 'px';
1023
+ prep(photo);
1024
+ }, 1);
1025
+ });
1026
+
1027
+ photo.src = href;
1028
+
1029
+ } else if (href) {
1030
+ $loadingBay.load(href, settings.get('data'), function (data, status) {
1031
+ if (request === requests) {
1032
+ prep(status === 'error' ? $tag(div, 'Error').html(settings.get('xhrError')) : $(this).contents());
1033
+ }
1034
+ });
1035
+ }
1036
+ }
1037
+
1038
+ // Navigates to the next page/image in a set.
1039
+ publicMethod.next = function () {
1040
+ if (!active && $related[1] && (settings.get('loop') || $related[index + 1])) {
1041
+ index = getIndex(1);
1042
+ launch($related[index]);
1043
+ }
1044
+ };
1045
+
1046
+ publicMethod.prev = function () {
1047
+ if (!active && $related[1] && (settings.get('loop') || index)) {
1048
+ index = getIndex(-1);
1049
+ launch($related[index]);
1050
+ }
1051
+ };
1052
+
1053
+ // Note: to use this within an iframe use the following format: parent.jQuery.colorbox.close();
1054
+ publicMethod.close = function () {
1055
+ if (open && !closing) {
1056
+
1057
+ closing = true;
1058
+ open = false;
1059
+ trigger(event_cleanup);
1060
+ settings.get('onCleanup');
1061
+ $window.unbind('.' + prefix);
1062
+ $overlay.fadeTo(settings.get('fadeOut') || 0, 0);
1063
+
1064
+ $box.stop().fadeTo(settings.get('fadeOut') || 0, 0, function () {
1065
+ $box.hide();
1066
+ $overlay.hide();
1067
+ trigger(event_purge);
1068
+ $loaded.remove();
1069
+
1070
+ setTimeout(function () {
1071
+ closing = false;
1072
+ trigger(event_closed);
1073
+ settings.get('onClosed');
1074
+ }, 1);
1075
+ });
1076
+ }
1077
+ };
1078
+
1079
+ // Removes changes Colorbox made to the document, but does not remove the plugin.
1080
+ publicMethod.remove = function () {
1081
+ if (!$box) { return; }
1082
+
1083
+ $box.stop();
1084
+ $[colorbox].close();
1085
+ $box.stop(false, true).remove();
1086
+ $overlay.remove();
1087
+ closing = false;
1088
+ $box = null;
1089
+ $('.' + boxElement)
1090
+ .removeData(colorbox)
1091
+ .removeClass(boxElement);
1092
+
1093
+ $(document).unbind('click.'+prefix).unbind('keydown.'+prefix);
1094
+ };
1095
+
1096
+ // A method for fetching the current element Colorbox is referencing.
1097
+ // returns a jQuery object.
1098
+ publicMethod.element = function () {
1099
+ return $(settings.el);
1100
+ };
1101
+
1102
+ publicMethod.settings = defaults;
1103
+
1104
+ }(jQuery, document, window));
javascript/jquery.cookie.js ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery Cookie Plugin v1.4.0
3
+ * https://github.com/carhartl/jquery-cookie
4
+ *
5
+ * Copyright 2013 Klaus Hartl
6
+ * Released under the MIT license
7
+ */
8
+ (function (factory) {
9
+ if (typeof define === 'function' && define.amd) {
10
+ // AMD. Register as anonymous module.
11
+ define(['jquery'], factory);
12
+ } else {
13
+ // Browser globals.
14
+ factory(jQuery);
15
+ }
16
+ }(function ($) {
17
+
18
+ var pluses = /\+/g;
19
+
20
+ function encode(s) {
21
+ return config.raw ? s : encodeURIComponent(s);
22
+ }
23
+
24
+ function decode(s) {
25
+ return config.raw ? s : decodeURIComponent(s);
26
+ }
27
+
28
+ function stringifyCookieValue(value) {
29
+ return encode(config.json ? JSON.stringify(value) : String(value));
30
+ }
31
+
32
+ function parseCookieValue(s) {
33
+ if (s.indexOf('"') === 0) {
34
+ // This is a quoted cookie as according to RFC2068, unescape...
35
+ s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
36
+ }
37
+
38
+ try {
39
+ // Replace server-side written pluses with spaces.
40
+ // If we can't decode the cookie, ignore it, it's unusable.
41
+ s = decodeURIComponent(s.replace(pluses, ' '));
42
+ } catch(e) {
43
+ return;
44
+ }
45
+
46
+ try {
47
+ // If we can't parse the cookie, ignore it, it's unusable.
48
+ return config.json ? JSON.parse(s) : s;
49
+ } catch(e) {}
50
+ }
51
+
52
+ function read(s, converter) {
53
+ var value = config.raw ? s : parseCookieValue(s);
54
+ return $.isFunction(converter) ? converter(value) : value;
55
+ }
56
+
57
+ var config = $.cookie = function (key, value, options) {
58
+
59
+ // Write
60
+ if (value !== undefined && !$.isFunction(value)) {
61
+ options = $.extend({}, config.defaults, options);
62
+
63
+ if (typeof options.expires === 'number') {
64
+ var days = options.expires, t = options.expires = new Date();
65
+ t.setDate(t.getDate() + days);
66
+ }
67
+
68
+ return (document.cookie = [
69
+ encode(key), '=', stringifyCookieValue(value),
70
+ options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
71
+ options.path ? '; path=' + options.path : '',
72
+ options.domain ? '; domain=' + options.domain : '',
73
+ options.secure ? '; secure' : ''
74
+ ].join(''));
75
+ }
76
+
77
+ // Read
78
+
79
+ var result = key ? undefined : {};
80
+
81
+ // To prevent the for loop in the first place assign an empty array
82
+ // in case there are no cookies at all. Also prevents odd result when
83
+ // calling $.cookie().
84
+ var cookies = document.cookie ? document.cookie.split('; ') : [];
85
+
86
+ for (var i = 0, l = cookies.length; i < l; i++) {
87
+ var parts = cookies[i].split('=');
88
+ var name = decode(parts.shift());
89
+ var cookie = parts.join('=');
90
+
91
+ if (key && key === name) {
92
+ // If second argument (value) is a function it's a converter...
93
+ result = read(cookie, value);
94
+ break;
95
+ }
96
+
97
+ // Prevent storing a cookie that we couldn't decode.
98
+ if (!key && (cookie = read(cookie)) !== undefined) {
99
+ result[name] = cookie;
100
+ }
101
+ }
102
+
103
+ return result;
104
+ };
105
+
106
+ config.defaults = {};
107
+
108
+ $.removeCookie = function (key, options) {
109
+ if ($.cookie(key) !== undefined) {
110
+ // Must not alter options, thus extending a fresh object...
111
+ $.cookie(key, '', $.extend({}, options, { expires: -1 }));
112
+ return true;
113
+ }
114
+ return false;
115
+ };
116
+
117
+ }));
javascript/sg_popup_backend.js ADDED
@@ -0,0 +1 @@
 
0
  var custom_uploader;
1
  $('#upload_image_button').click(function(e)
2
  e.preventDefault();
3
  //If the uploader object has already been created, reopen the dialog
4
  if (custom_uploader)
5
  custom_uploader.open();
6
  return;
7
  }
8
  //Extend the wp.media object
9
  custom_uploader = wp.media.frames.file_frame = wp.media({
10
  titleFF: 'Choose Image',
11
  button: {
12
  text: 'Choose Image'
13
  },
14
  multiple: false
15
  });
16
  //When a file is selected, grab the URL and set it as the text field's value
17
  custom_uploader.on('select', function() {
18
  attachment = custom_uploader.state().get('selection').first().toJSON();
19
  $('#upload_image').val(attachment.url);
20
  });
21
  //Open the uploader dialog
22
  custom_uploader.open();
23
  });
24
  }
25
  var currentAttrValue = jQuery(this).attr('href');
26
  // Show/Hide Tabs
27
  jQuery('.tabs ' + currentAttrValue).show().siblings().hide();
28
  // Change/remove current tab to active
29
  jQuery(this).parent('li').removeClass('active').siblings().addClass('active');
30
  e.preventDefault();
31
  });
1
+ jQuery(document).ready(function($){
2
  var custom_uploader;
3
  $('#upload_image_button').click(function(e)
4
  e.preventDefault();
5
  //If the uploader object has already been created, reopen the dialog
6
  if (custom_uploader)
7
  custom_uploader.open();
8
  return;
9
  }
10
  //Extend the wp.media object
11
  custom_uploader = wp.media.frames.file_frame = wp.media({
12
  titleFF: 'Choose Image',
13
  button: {
14
  text: 'Choose Image'
15
  },
16
  multiple: false
17
  });
18
  //When a file is selected, grab the URL and set it as the text field's value
19
  custom_uploader.on('select', function() {
20
  attachment = custom_uploader.state().get('selection').first().toJSON();
21
  $('#upload_image').val(attachment.url);
22
  });
23
  //Open the uploader dialog
24
  custom_uploader.open();
25
  });
26
  }
27
  var currentAttrValue = jQuery(this).attr('href');
28
  // Show/Hide Tabs
29
  jQuery('.tabs ' + currentAttrValue).show().siblings().hide();
30
  // Change/remove current tab to active
31
  jQuery(this).parent('li').removeClass('active').siblings().addClass('active');
32
  e.preventDefault();
33
  });
javascript/sg_popup_frontend.js ADDED
@@ -0,0 +1 @@
 
0
  if(sg_prmomotional_popupFixed == true)
1
+ var sg_prmomotional_title = SG_POPUP_VARS['title'];
2
  if(sg_prmomotional_popupFixed == true)
javascript/sg_popup_javascript.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function sg_set_admin_url($hook) {
4
+ if ('popup-builder_page_create-popup' == $hook) {
5
+ echo '<script type="text/javascript">SG_ADMIN_URL = "'.admin_url()."admin.php?page=create-popup".'";</script>';
6
+ }
7
+ }
8
+
9
+ function sg_popup_admin_scripts($hook) {
10
+ if ('popup-builder_page_create-popup' == $hook) {
11
+ wp_enqueue_media();
12
+
13
+ wp_register_script('javascript', SG_APP_POPUP_URL . '/javascript/sg_popup_backend.js', array('jquery'));
14
+ wp_register_script('sg_popup_rangeslider', SG_APP_POPUP_URL . '/javascript/sg_popup_rangeslider.js', array('jquery'));
15
+ wp_enqueue_script('sg_popup_rangeslider');
16
+ wp_enqueue_script('jquery');
17
+ wp_enqueue_script('javascript');
18
+ }
19
+ else if('toplevel_page_PopupBuilder' == $hook){
20
+ wp_register_script('javascript', SG_APP_POPUP_URL . '/javascript/sg_popup_backend.js', array('jquery'));
21
+ wp_enqueue_script('javascript');
22
+ wp_enqueue_script('jquery');
23
+ }
24
+ }
25
+ add_action('admin_enqueue_scripts', 'sg_set_admin_url');
26
+ add_action('admin_enqueue_scripts', 'sg_popup_admin_scripts');
27
+
28
+ function sg_popup_scripts($hook) {
29
+ if ($hook != 'post.php' && $hook != 'post-new.php') {
30
+ return;
31
+ }
32
+ wp_register_script('javascript', SG_APP_POPUP_URL . '/javascript/sg_popup_backend.js', array('jquery'));
33
+ wp_register_script('colorbox', SG_APP_POPUP_URL . '/javascript/jquery.colorbox-min.js', array('jquery'));
34
+
35
+ if (SG_POPUP_PRO) {
36
+ wp_register_script('sgpropopup', SG_APP_POPUP_URL . '/javascript/sg_popup_pro.js');
37
+ wp_enqueue_script('sgpropopup');
38
+ }
39
+
40
+ wp_enqueue_script('jquery');
41
+ wp_enqueue_script('colorbox');
42
+ wp_enqueue_script('javascript');
43
+ }
44
+ add_action('admin_enqueue_scripts', 'sg_popup_scripts');
45
+
javascript/sg_popup_rangeslider.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ (function(){function e(t,s,n){var i=e.resolve(t);if(null==i){n=n||t,s=s||"root";var o=Error('Failed to require "'+n+'" from "'+s+'"');throw o.path=n,o.parent=s,o.require=!0,o}var r=e.modules[i];if(!r._resolving&&!r.exports){var a={};a.exports={},a.client=a.component=!0,r._resolving=!0,r.call(this,a.exports,e.relative(i),a),delete r._resolving,r.exports=a.exports}return r.exports}e.modules={},e.aliases={},e.resolve=function(t){"/"===t.charAt(0)&&(t=t.slice(1));for(var s=[t,t+".js",t+".json",t+"/index.js",t+"/index.json"],n=0;s.length>n;n++){var t=s[n];if(e.modules.hasOwnProperty(t))return t;if(e.aliases.hasOwnProperty(t))return e.aliases[t]}},e.normalize=function(e,t){var s=[];if("."!=t.charAt(0))return t;e=e.split("/"),t=t.split("/");for(var n=0;t.length>n;++n)".."==t[n]?e.pop():"."!=t[n]&&""!=t[n]&&s.push(t[n]);return e.concat(s).join("/")},e.register=function(t,s){e.modules[t]=s},e.alias=function(t,s){if(!e.modules.hasOwnProperty(t))throw Error('Failed to alias "'+t+'", it does not exist');e.aliases[s]=t},e.relative=function(t){function s(e,t){for(var s=e.length;s--;)if(e[s]===t)return s;return-1}function n(s){var i=n.resolve(s);return e(i,t,s)}var i=e.normalize(t,"..");return n.resolve=function(n){var o=n.charAt(0);if("/"==o)return n.slice(1);if("."==o)return e.normalize(i,n);var r=t.split("/"),a=s(r,"deps")+1;return a||(a=0),n=r.slice(0,a+1).join("/")+"/deps/"+n},n.exists=function(t){return e.modules.hasOwnProperty(n.resolve(t))},n},e.register("component-event/index.js",function(e){var t=window.addEventListener?"addEventListener":"attachEvent",s=window.removeEventListener?"removeEventListener":"detachEvent",n="addEventListener"!==t?"on":"";e.bind=function(e,s,i,o){return e[t](n+s,i,o||!1),i},e.unbind=function(e,t,i,o){return e[s](n+t,i,o||!1),i}}),e.register("component-query/index.js",function(e,t,s){function n(e,t){return t.querySelector(e)}e=s.exports=function(e,t){return t=t||document,n(e,t)},e.all=function(e,t){return t=t||document,t.querySelectorAll(e)},e.engine=function(t){if(!t.one)throw Error(".one callback required");if(!t.all)throw Error(".all callback required");return n=t.one,e.all=t.all,e}}),e.register("component-matches-selector/index.js",function(e,t,s){function n(e,t){if(r)return r.call(e,t);for(var s=i.all(t,e.parentNode),n=0;s.length>n;++n)if(s[n]==e)return!0;return!1}var i=t("query"),o=Element.prototype,r=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.msMatchesSelector||o.oMatchesSelector;s.exports=n}),e.register("discore-closest/index.js",function(e,t,s){var n=t("matches-selector");s.exports=function(e,t,s,i){for(e=s?{parentNode:e}:e,i=i||document;(e=e.parentNode)&&e!==document;){if(n(e,t))return e;if(e===i)return}}}),e.register("component-delegate/index.js",function(e,t){var s=t("closest"),n=t("event");e.bind=function(e,t,i,o,r){return n.bind(e,i,function(n){var i=n.target||n.srcElement;n.delegateTarget=s(i,t,!0,e),n.delegateTarget&&o.call(e,n)},r)},e.unbind=function(e,t,s,i){n.unbind(e,t,s,i)}}),e.register("component-events/index.js",function(e,t,s){function n(e,t){if(!(this instanceof n))return new n(e,t);if(!e)throw Error("element required");if(!t)throw Error("object required");this.el=e,this.obj=t,this._events={}}function i(e){var t=e.split(/ +/);return{name:t.shift(),selector:t.join(" ")}}var o=t("event"),r=t("delegate");s.exports=n,n.prototype.sub=function(e,t,s){this._events[e]=this._events[e]||{},this._events[e][t]=s},n.prototype.bind=function(e,t){function s(){var e=[].slice.call(arguments).concat(h);l[t].apply(l,e)}var n=i(e),a=this.el,l=this.obj,c=n.name,t=t||"on"+c,h=[].slice.call(arguments,2);return n.selector?s=r.bind(a,n.selector,c,s):o.bind(a,c,s),this.sub(c,t,s),s},n.prototype.unbind=function(e,t){if(0==arguments.length)return this.unbindAll();if(1==arguments.length)return this.unbindAllOf(e);var s=this._events[e];if(s){var n=s[t];n&&o.unbind(this.el,e,n)}},n.prototype.unbindAll=function(){for(var e in this._events)this.unbindAllOf(e)},n.prototype.unbindAllOf=function(e){var t=this._events[e];if(t)for(var s in t)this.unbind(e,s)}}),e.register("component-indexof/index.js",function(e,t,s){s.exports=function(e,t){if(e.indexOf)return e.indexOf(t);for(var s=0;e.length>s;++s)if(e[s]===t)return s;return-1}}),e.register("component-classes/index.js",function(e,t,s){function n(e){if(!e)throw Error("A DOM element reference is required");this.el=e,this.list=e.classList}var i=t("indexof"),o=/\s+/,r=Object.prototype.toString;s.exports=function(e){return new n(e)},n.prototype.add=function(e){if(this.list)return this.list.add(e),this;var t=this.array(),s=i(t,e);return~s||t.push(e),this.el.className=t.join(" "),this},n.prototype.remove=function(e){if("[object RegExp]"==r.call(e))return this.removeMatching(e);if(this.list)return this.list.remove(e),this;var t=this.array(),s=i(t,e);return~s&&t.splice(s,1),this.el.className=t.join(" "),this},n.prototype.removeMatching=function(e){for(var t=this.array(),s=0;t.length>s;s++)e.test(t[s])&&this.remove(t[s]);return this},n.prototype.toggle=function(e,t){return this.list?(t!==void 0?t!==this.list.toggle(e,t)&&this.list.toggle(e):this.list.toggle(e),this):(t!==void 0?t?this.add(e):this.remove(e):this.has(e)?this.remove(e):this.add(e),this)},n.prototype.array=function(){var e=this.el.className.replace(/^\s+|\s+$/g,""),t=e.split(o);return""===t[0]&&t.shift(),t},n.prototype.has=n.prototype.contains=function(e){return this.list?this.list.contains(e):!!~i(this.array(),e)}}),e.register("component-emitter/index.js",function(e,t,s){function n(e){return e?i(e):void 0}function i(e){for(var t in n.prototype)e[t]=n.prototype[t];return e}s.exports=n,n.prototype.on=n.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks[e]=this._callbacks[e]||[]).push(t),this},n.prototype.once=function(e,t){function s(){n.off(e,s),t.apply(this,arguments)}var n=this;return this._callbacks=this._callbacks||{},s.fn=t,this.on(e,s),this},n.prototype.off=n.prototype.removeListener=n.prototype.removeAllListeners=n.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var s=this._callbacks[e];if(!s)return this;if(1==arguments.length)return delete this._callbacks[e],this;for(var n,i=0;s.length>i;i++)if(n=s[i],n===t||n.fn===t){s.splice(i,1);break}return this},n.prototype.emit=function(e){this._callbacks=this._callbacks||{};var t=[].slice.call(arguments,1),s=this._callbacks[e];if(s){s=s.slice(0);for(var n=0,i=s.length;i>n;++n)s[n].apply(this,t)}return this},n.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks[e]||[]},n.prototype.hasListeners=function(e){return!!this.listeners(e).length}}),e.register("ui-component-mouse/index.js",function(e,t,s){function n(e,t){this.obj=t||{},this.el=e}var i=t("emitter"),o=t("event");s.exports=function(e,t){return new n(e,t)},i(n.prototype),n.prototype.bind=function(){function e(i){s.onmouseup&&s.onmouseup(i),o.unbind(document,"mousemove",t),o.unbind(document,"mouseup",e),n.emit("up",i)}function t(e){s.onmousemove&&s.onmousemove(e),n.emit("move",e)}var s=this.obj,n=this;return n.down=function(i){s.onmousedown&&s.onmousedown(i),o.bind(document,"mouseup",e),o.bind(document,"mousemove",t),n.emit("down",i)},o.bind(this.el,"mousedown",n.down),this},n.prototype.unbind=function(){o.unbind(this.el,"mousedown",this.down),this.down=null}}),e.register("abpetkov-percentage-calc/percentage-calc.js",function(e){e.isNumber=function(e){return"number"==typeof e?!0:!1},e.of=function(t,s){return e.isNumber(t)&&e.isNumber(s)?t/100*s:void 0},e.from=function(t,s){return e.isNumber(t)&&e.isNumber(s)?100*(t/s):void 0}}),e.register("abpetkov-closest-num/closest-num.js",function(e){e.find=function(e,t){var s=null,n=null,o=t[0];for(i=0;t.length>i;i++)s=Math.abs(e-o),n=Math.abs(e-t[i]),s>n&&(o=t[i]);return o}}),e.register("vesln-super/lib/super.js",function(e,t,s){function n(){var t=i.call(arguments);if(t.length)return"function"!=typeof t[0]?e.merge(t):(e.inherits.apply(null,t),void 0)}var i=Array.prototype.slice,e=s.exports=n;e.extend=function(t,s){var n=this,i=function(){return n.apply(this,arguments)};return e.merge([i,this]),e.inherits(i,this),t&&e.merge([i.prototype,t]),s&&e.merge([i,s]),i.extend=this.extend,i},e.inherits=function(e,t){e.super_=t,Object.create?e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}):(e.prototype=new t,e.prototype.constructor=e)},e.merge=function(e){for(var t=2===e.length?e.shift():{},s=null,n=0,i=e.length;i>n;n++){s=e[n];for(var o in s)s.hasOwnProperty(o)&&(t[o]=s[o])}return t}}),e.register("powerange/lib/powerange.js",function(e,t,s){var n=(t("./main"),t("./horizontal")),i=t("./vertical"),o={callback:function(){},decimal:!1,disable:!1,disableOpacity:.5,hideRange:!1,klass:"",min:0,max:100,start:null,step:null,vertical:!1};s.exports=function(e,t){t=t||{};for(var s in o)null==t[s]&&(t[s]=o[s]);return t.vertical?new i(e,t):new n(e,t)}}),e.register("powerange/lib/main.js",function(e,t,s){function n(e,t){return this instanceof n?(this.element=e,this.options=t||{},this.slider=this.create("span","range-bar"),null!==this.element&&"text"===this.element.type&&this.init(),void 0):new n(e,t)}var o=t("mouse"),r=t("events"),a=t("classes"),l=t("percentage-calc");s.exports=n,n.prototype.bindEvents=function(){this.handle=this.slider.querySelector(".range-handle"),this.touch=r(this.handle,this),this.touch.bind("touchstart","onmousedown"),this.touch.bind("touchmove","onmousemove"),this.touch.bind("touchend","onmouseup"),this.mouse=o(this.handle,this),this.mouse.bind()},n.prototype.hide=function(){this.element.style.display="none"},n.prototype.append=function(){var e=this.generate();this.insertAfter(this.element,e)},n.prototype.generate=function(){var e={handle:{type:"span",selector:"range-handle"},min:{type:"span",selector:"range-min"},max:{type:"span",selector:"range-max"},quantity:{type:"span",selector:"range-quantity"}};for(var t in e)if(e.hasOwnProperty(t)){var s=this.create(e[t].type,e[t].selector);this.slider.appendChild(s)}return this.slider},n.prototype.create=function(e,t){var s=document.createElement(e);return s.className=t,s},n.prototype.insertAfter=function(e,t){e.parentNode.insertBefore(t,e.nextSibling)},n.prototype.extraClass=function(e){this.options.klass&&a(this.slider).add(e)},n.prototype.setRange=function(e,t){"number"!=typeof e||"number"!=typeof t||this.options.hideRange||(this.slider.querySelector(".range-min").innerHTML=e,this.slider.querySelector(".range-max").innerHTML=t)},n.prototype.setValue=function(e,t){var s=l.from(parseFloat(e),t),n=l.of(s,this.options.max-this.options.min)+this.options.min,i=!1;n=this.options.decimal?Math.round(100*n)/100:Math.round(n),i=this.element.value!=n?!0:!1,this.element.value=n,this.options.callback(),i&&this.changeEvent()},n.prototype.step=function(e,t){var s=e-t,n=l.from(this.checkStep(this.options.step),this.options.max-this.options.min),o=l.of(n,s),r=[];for(i=0;s>=i;i+=o)r.push(i);return this.steps=r,this.steps},n.prototype.checkValues=function(e){this.options.min>e&&(this.options.start=this.options.min),e>this.options.max&&(this.options.start=this.options.max),this.options.min>=this.options.max&&(this.options.min=this.options.max)},n.prototype.checkStep=function(e){return 0>e&&(e=Math.abs(e)),this.options.step=e,this.options.step},n.prototype.disable=function(){(this.options.min==this.options.max||this.options.min>this.options.max||this.options.disable)&&(this.mouse.unbind(),this.touch.unbind(),this.slider.style.opacity=this.options.disableOpacity,a(this.handle).add("range-disabled"))},n.prototype.unselectable=function(e,t){a(this.slider).has("unselectable")||t!==!0?a(this.slider).remove("unselectable"):a(this.slider).add("unselectable")},n.prototype.changeEvent=function(){if("function"!=typeof Event&&document.fireEvent)this.element.fireEvent("onchange");else{var e=document.createEvent("HTMLEvents");e.initEvent("change",!1,!0),this.element.dispatchEvent(e)}},n.prototype.init=function(){this.hide(),this.append(),this.bindEvents(),this.extraClass(this.options.klass),this.checkValues(this.options.start),this.setRange(this.options.min,this.options.max),this.disable()}}),e.register("powerange/lib/horizontal.js",function(e,t,s){function n(){a.apply(this,arguments),this.options.step&&this.step(this.slider.offsetWidth,this.handle.offsetWidth),this.setStart(this.options.start)}var i=t("super"),o=t("closest-num"),r=t("percentage-calc"),a=t("./main");s.exports=n,i(n,a),n.prototype.setStart=function(e){var t=null===e?this.options.min:e,s=r.from(t-this.options.min,this.options.max-this.options.min)||0,n=r.of(s,this.slider.offsetWidth-this.handle.offsetWidth),i=this.options.step?o.find(n,this.steps):n;this.setPosition(i),this.setValue(this.handle.style.left,this.slider.offsetWidth-this.handle.offsetWidth)},n.prototype.setPosition=function(e){this.handle.style.left=e+"px",this.slider.querySelector(".range-quantity").style.width=e+"px"},n.prototype.onmousedown=function(e){e.touches&&(e=e.touches[0]),this.startX=e.clientX,this.handleOffsetX=this.handle.offsetLeft,this.restrictHandleX=this.slider.offsetWidth-this.handle.offsetWidth,this.unselectable(this.slider,!0)},n.prototype.onmousemove=function(e){e.preventDefault(),e.touches&&(e=e.touches[0]);var t=this.handleOffsetX+e.clientX-this.startX,s=this.steps?o.find(t,this.steps):t;0>=t?this.setPosition(0):t>=this.restrictHandleX?this.setPosition(this.restrictHandleX):this.setPosition(s),this.setValue(this.handle.style.left,this.slider.offsetWidth-this.handle.offsetWidth)},n.prototype.onmouseup=function(){this.unselectable(this.slider,!1)}}),e.register("powerange/lib/vertical.js",function(e,t,s){function n(){l.apply(this,arguments),o(this.slider).add("vertical"),this.options.step&&this.step(this.slider.offsetHeight,this.handle.offsetHeight),this.setStart(this.options.start)}var i=t("super"),o=t("classes"),r=t("closest-num"),a=t("percentage-calc"),l=t("./main");s.exports=n,i(n,l),n.prototype.setStart=function(e){var t=null===e?this.options.min:e,s=a.from(t-this.options.min,this.options.max-this.options.min)||0,n=a.of(s,this.slider.offsetHeight-this.handle.offsetHeight),i=this.options.step?r.find(n,this.steps):n;this.setPosition(i),this.setValue(this.handle.style.bottom,this.slider.offsetHeight-this.handle.offsetHeight)},n.prototype.setPosition=function(e){this.handle.style.bottom=e+"px",this.slider.querySelector(".range-quantity").style.height=e+"px"},n.prototype.onmousedown=function(e){e.touches&&(e=e.touches[0]),this.startY=e.clientY,this.handleOffsetY=this.slider.offsetHeight-this.handle.offsetHeight-this.handle.offsetTop,this.restrictHandleY=this.slider.offsetHeight-this.handle.offsetHeight,this.unselectable(this.slider,!0)},n.prototype.onmousemove=function(e){e.preventDefault(),e.touches&&(e=e.touches[0]);var t=this.handleOffsetY+this.startY-e.clientY,s=this.steps?r.find(t,this.steps):t;0>=t?this.setPosition(0):t>=this.restrictHandleY?this.setPosition(this.restrictHandleY):this.setPosition(s),this.setValue(this.handle.style.bottom,this.slider.offsetHeight-this.handle.offsetHeight)},n.prototype.onmouseup=function(){this.unselectable(this.slider,!1)}}),e.alias("component-events/index.js","powerange/deps/events/index.js"),e.alias("component-events/index.js","events/index.js"),e.alias("component-event/index.js","component-events/deps/event/index.js"),e.alias("component-delegate/index.js","component-events/deps/delegate/index.js"),e.alias("discore-closest/index.js","component-delegate/deps/closest/index.js"),e.alias("discore-closest/index.js","component-delegate/deps/closest/index.js"),e.alias("component-matches-selector/index.js","discore-closest/deps/matches-selector/index.js"),e.alias("component-query/index.js","component-matches-selector/deps/query/index.js"),e.alias("discore-closest/index.js","discore-closest/index.js"),e.alias("component-event/index.js","component-delegate/deps/event/index.js"),e.alias("component-classes/index.js","powerange/deps/classes/index.js"),e.alias("component-classes/index.js","classes/index.js"),e.alias("component-indexof/index.js","component-classes/deps/indexof/index.js"),e.alias("ui-component-mouse/index.js","powerange/deps/mouse/index.js"),e.alias("ui-component-mouse/index.js","mouse/index.js"),e.alias("component-emitter/index.js","ui-component-mouse/deps/emitter/index.js"),e.alias("component-event/index.js","ui-component-mouse/deps/event/index.js"),e.alias("abpetkov-percentage-calc/percentage-calc.js","powerange/deps/percentage-calc/percentage-calc.js"),e.alias("abpetkov-percentage-calc/percentage-calc.js","powerange/deps/percentage-calc/index.js"),e.alias("abpetkov-percentage-calc/percentage-calc.js","percentage-calc/index.js"),e.alias("abpetkov-percentage-calc/percentage-calc.js","abpetkov-percentage-calc/index.js"),e.alias("abpetkov-closest-num/closest-num.js","powerange/deps/closest-num/closest-num.js"),e.alias("abpetkov-closest-num/closest-num.js","powerange/deps/closest-num/index.js"),e.alias("abpetkov-closest-num/closest-num.js","closest-num/index.js"),e.alias("abpetkov-closest-num/closest-num.js","abpetkov-closest-num/index.js"),e.alias("vesln-super/lib/super.js","powerange/deps/super/lib/super.js"),e.alias("vesln-super/lib/super.js","powerange/deps/super/index.js"),e.alias("vesln-super/lib/super.js","super/index.js"),e.alias("vesln-super/lib/super.js","vesln-super/index.js"),e.alias("powerange/lib/powerange.js","powerange/index.js"),"object"==typeof exports?module.exports=e("powerange"):"function"==typeof define&&define.amd?define([],function(){return e("powerange")}):this.Powerange=e("powerange")})();
2
+
popup-builder.php ADDED
@@ -0,0 +1,305 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Plugin Name: Popup Builder
4
+ * Plugin URI: http://sygnoos.com
5
+ * Description: Create powerful popups for promotion. Manage popup dimensions, effects, themes and more.
6
+ * Version: 1.1.4
7
+ * Author: Sygnoos
8
+ * Author URI: http://www.sygnoos.com
9
+ * License: GPLv2
10
+ */
11
+
12
+ //create some difine Pats
13
+ define("SG_APP_POPUP_PATH", dirname(__FILE__));
14
+ define('SG_APP_POPUP_URL', plugins_url('', __FILE__));
15
+ define('SG_APP_POPUP_ADMIN_URL', admin_url());
16
+ define('SG_APP_POPUP_FILE', plugin_basename(__FILE__));
17
+ define('SG_APP_POPUP_FILES', SG_APP_POPUP_PATH . '/files');
18
+ define('SG_APP_POPUP_JS', SG_APP_POPUP_PATH . '/javascript');
19
+ define('SG_APP_POPUP_TABLE_LIMIT', 10 );
20
+ define('SG_POPUP_PRO', 0);
21
+ define('SG_POPUP_PRO_URL', 'http://sygnoos.com/wordpress-popup/');
22
+
23
+ require_once( SG_APP_POPUP_PATH .'/style/sg_popup_style.php' ); //include our css file
24
+ require_once( SG_APP_POPUP_JS .'/sg_popup_javascript.php' ); //include our js file
25
+ require_once( SG_APP_POPUP_FILES .'/sg_popup_page_selection.php' ); // include here in page button for select popup every page
26
+
27
+
28
+ register_activation_hook(__FILE__, 'sg_popup_activate');
29
+ register_uninstall_hook(__FILE__, 'sg_popup_POD_deactivate');
30
+ add_action( 'wpmu_new_blog', 'wporg_wpmu_new_blog', 10, 6 );
31
+
32
+ function wporg_wpmu_new_blog( $blog_id, $user_id, $domain, $path, $site_id, $meta ) {
33
+ global $wpdb;
34
+ $bolgs_id = $blog_id;
35
+ createTables($bolgs_id);
36
+ }
37
+
38
+ function sg_popup_activate($network_wide) {
39
+ global $wpdb;
40
+ creteTable();
41
+ if(is_multisite() ) {
42
+
43
+ $stites = wp_get_sites();
44
+ foreach($stites as $site) {
45
+ $bolgs_id = $site['blog_id'];
46
+ global $wpdb;
47
+ createTables($bolgs_id);
48
+ }
49
+ }
50
+ }
51
+ function creteTable() {
52
+ global $wpdb;
53
+
54
+ $sg_popup_base = "CREATE TABLE IF NOT EXISTS ". $wpdb->prefix ."sg_promotional_popup (
55
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
56
+ `content` varchar(255) NOT NULL,
57
+ `html` text NOT NULL,
58
+ `image` varchar(255) NOT NULL,
59
+ `iframe` varchar(255) NOT NULL,
60
+ `shortCode` varchar(255) NOT NULL,
61
+ `options` text NOT NULL,
62
+ PRIMARY KEY (`id`)
63
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;";
64
+ $wpdb->query($sg_popup_base);
65
+ }
66
+ function createTables($bolgs_id) {
67
+ global $wpdb;
68
+ $sg_popup_net_base = "CREATE TABLE IF NOT EXISTS ". $wpdb->prefix.$bolgs_id."_sg_promotional_popup (
69
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
70
+ `content` varchar(255) NOT NULL,
71
+ `html` text NOT NULL,
72
+ `image` varchar(255) NOT NULL,
73
+ `iframe` varchar(255) NOT NULL,
74
+ `shortCode` varchar(255) NOT NULL,
75
+ `options` text NOT NULL,
76
+ PRIMARY KEY (`id`)
77
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;";
78
+ $wpdb->query($sg_popup_net_base);
79
+ }
80
+
81
+ function sg_popup_POD_deactivate(){
82
+ global $wpdb; //required global declaration of WP variable
83
+ $delete = "DELETE FROM ".$wpdb->prefix."postmeta WHERE meta_key = 'sg_promotional_popup' ";
84
+ $wpdb->query($delete);
85
+ $table_name = $wpdb->prefix."sg_promotional_popup";
86
+ $sql = "DROP TABLE ". $table_name;
87
+ $wpdb->query($sql);
88
+ if(is_multisite() ) {
89
+
90
+ $stites = wp_get_sites();
91
+ foreach($stites as $site) {
92
+ $bolgs_id = $site['blog_id'];
93
+ $table_name = $wpdb->prefix.$bolgs_id."_sg_promotional_popup";
94
+ $sql = "DROP TABLE ". $table_name;
95
+ $wpdb->query($sql);
96
+ $delete = "DELETE FROM ".$wpdb->prefix.$bolgs_id."_postmeta WHERE meta_key = 'sg_promotional_popup' ";
97
+ $wpdb->query($delete);
98
+ }
99
+ }
100
+
101
+ }
102
+
103
+
104
+ //create action huk for create menu and subMenu in the admin menu
105
+
106
+ add_action("admin_menu","addMenu");
107
+ function addMenu()
108
+ {
109
+ add_menu_page("Popup Builder", "Popup Builder", "manage_options","PopupBuilder","sgPopupMenu","dashicons-welcome-widgets-menus");
110
+ add_submenu_page("PopupBuilder", "Popups", "Popups", 'manage_options', "PopupBuilder", "sgPopupMenu");
111
+ add_submenu_page("PopupBuilder", "Edit popup", "Create new", 'manage_options', "create-popup", "createPopup");
112
+ }
113
+
114
+ function sgPopupMenu()
115
+ {
116
+ require_once( SG_APP_POPUP_FILES . '/sg_popup_main.php');
117
+ }
118
+
119
+ function createPopup()
120
+ {
121
+ require_once( SG_APP_POPUP_FILES . '/sg_popup_create.php'); // here is inculde file in the first sub menu
122
+ }
123
+
124
+ function getPopupDetails($page , $popup) {
125
+ global $wpdb;
126
+ global $post;
127
+
128
+ $sql = $wpdb->prepare("SELECT meta_value FROM ". $wpdb->prefix ."postmeta WHERE post_id = %d AND meta_key =%s",$page,$popup);
129
+ $row = $wpdb->get_row($sql);
130
+ $type = (int)$row->meta_value;
131
+ $result = $wpdb->get_row('SELECT * FROM '. $wpdb->prefix .'sg_promotional_popup WHERE id='.$type.'');
132
+ return $result;
133
+ }
134
+
135
+ function sg_popup_dataAdmin() {
136
+ global $wpdb;
137
+ global $post;
138
+ $page = get_queried_object_id();
139
+ $popup = "sg_promotional_popup";
140
+
141
+ $result = getPopupDetails($page,$popup);
142
+
143
+ $jsonData = json_decode($result->options);
144
+ $type = esc_html($result->content);
145
+ $id = esc_html($result->id);
146
+ $repeatPopup = esc_html($jsonData->repeatPopup);
147
+
148
+ if(!canViewPopup($id, $repeatPopup)) return;
149
+
150
+ if(SG_POPUP_PRO ){
151
+ include_once( SG_APP_POPUP_FILES . '/sg_popup_params_pro.php');
152
+ $shortCode=PopupPro::shortcode($result->shortCode);
153
+ }
154
+ else{
155
+ $shortCode = 1;
156
+ }
157
+
158
+ $html = json_encode(wp_kses_post(array("html" => $result->html)));
159
+
160
+ $iframe = wp_kses_post($result->iframe);
161
+ $image = esc_html($result->image);
162
+ $title = esc_html($jsonData->title);
163
+ $effect = esc_html($jsonData->effect);
164
+ $theme = esc_html($jsonData->theme);
165
+ $duration = esc_html($jsonData->duration);
166
+ $delay = esc_html($jsonData->delay);
167
+ $width = esc_html($jsonData->width);
168
+ $height = esc_html($jsonData->height);
169
+ $escKey = esc_html($jsonData->escKey);
170
+ $closeButton = esc_html($jsonData->closeButton);
171
+ $popupFixed = esc_html($jsonData->popupFixed);
172
+ $fixedPostion = esc_html($jsonData->fixedPostion);
173
+ $onScrolling = esc_html($jsonData->onScrolling); // its on scrooling event
174
+ $scrolling = esc_html($jsonData->scrolling); // its abot popup scrolling
175
+ $reposition = esc_html($jsonData->reposition);
176
+ $overlayClose = esc_html($jsonData->overlayClose);
177
+ $opacity = esc_html($jsonData->opacity);
178
+ $maxWidth = esc_html($jsonData->maxWidth);
179
+ $maxHeight = esc_html($jsonData->maxHeight);
180
+ $initialWidth = esc_html($jsonData->initialWidth);
181
+ $initialHeight = esc_html($jsonData->initialHeight);
182
+
183
+ echo "<script type=\"text/javascript\">
184
+
185
+ var SG_POPUP_VARS = {
186
+ title:'$title',
187
+ id:'$id',
188
+ html: ".$html.",
189
+ shortCode: '$shortCode',
190
+ iframe: '$iframe',
191
+ image:'$image',
192
+ type:'$type',
193
+ effect:'$effect',
194
+ width:'$width',
195
+ height:'$height',
196
+ delay:'$delay',
197
+ duration:'$duration',
198
+ escKey:'$escKey',
199
+ closeButton: '$closeButton',
200
+ popupPostion: '$fixedPostion',
201
+ popupFixed:'$popupFixed',
202
+ scrolling: '$scrolling',
203
+ onScrolling:'$onScrolling',
204
+ repeatPopup:'$repeatPopup',
205
+ reposition:'$reposition',
206
+ overlayClose:'$overlayClose',
207
+ opacity:'$opacity',
208
+ maxWidth:'$maxWidth',
209
+ maxHeight: '$maxHeight',
210
+ initialWidth:'$initialWidth',
211
+ initialHeight:'$initialHeight',
212
+ siteUrl: '".plugins_url('', __FILE__)."',
213
+ };
214
+ </script>";
215
+ echo '<style type="text/css">
216
+ *{
217
+ -webkit-animation-duration:'.$duration.'s !important;
218
+ animation-duration:'.$duration.'s !important;
219
+ }
220
+ </style>';
221
+
222
+ }
223
+
224
+ if (SG_POPUP_PRO) {
225
+ @include_once( SG_APP_POPUP_FILES . '/sg_popup_pro.php');
226
+ }
227
+ else {
228
+ function canViewPopup($id, $repeatPopup)
229
+ {
230
+ return true;
231
+ }
232
+ }
233
+
234
+ function sg_popup_enqueueScript()
235
+ {
236
+ global $wpdb;
237
+ global $post;
238
+ $page = get_queried_object_id();
239
+ $popup = "sg_promotional_popup";
240
+
241
+ $result = getPopupDetails($page,$popup); /// query functions result
242
+
243
+ $jsonData = json_decode($result->options);
244
+ $id = esc_html($result->id);
245
+ $repeatPopup = esc_html($jsonData->repeatPopup);
246
+ $theme = esc_html($jsonData->theme);
247
+ $row = $wpdb->get_row($sql);
248
+ if($id){
249
+
250
+ if(canViewPopup($id,$repeatPopup)) {
251
+ wp_register_script('js', SG_APP_POPUP_URL . '/javascript/jquery.colorbox-min.js', array('jquery'));
252
+ wp_enqueue_script('jquery');
253
+ wp_register_style('styl', SG_APP_POPUP_URL . "/style/sgcolorbox/$theme");
254
+ wp_enqueue_style('styl');
255
+ wp_enqueue_script('js');
256
+
257
+ add_action( 'wp_head', 'sg_popup_dataAdmin');
258
+
259
+ function frontendFunction() {
260
+ wp_register_script('javascript', SG_APP_POPUP_URL . '/javascript/sg_popup_frontend.js', array('jquery'));
261
+ wp_enqueue_script('jquery');
262
+ wp_enqueue_script('javascript');
263
+ wp_register_script('cookie', SG_APP_POPUP_URL . '/javascript/jquery.cookie.js', array('jquery'));
264
+ wp_enqueue_script('cookie');
265
+ }
266
+ add_action( 'wp_head', 'frontendFunction' );
267
+ if (SG_POPUP_PRO) {
268
+ function frontendPro(){
269
+ wp_register_script('pro', SG_APP_POPUP_URL . '/javascript/sg_popup_pro.js', array('jquery'));
270
+ wp_enqueue_script('pro');
271
+ wp_enqueue_script('jquery');
272
+ }
273
+
274
+ add_action( 'wp_head', 'frontendPro' );
275
+ }
276
+ wp_register_style('cssStyl', SG_APP_POPUP_URL . "/style/animate.css");
277
+ wp_enqueue_style('cssStyl');
278
+ }
279
+ }
280
+ }
281
+
282
+ add_action('wp','sg_popup_enqueueScript');
283
+
284
+ add_action('wp_ajax_get_popup_preview', 'sg_popup_getresults');
285
+ function sg_popup_getresults(){
286
+ global $wpdb;
287
+ $page = (int)$_POST['postId'];
288
+ $result = $wpdb->get_row('SELECT * FROM '. $wpdb->prefix .'sg_promotional_popup WHERE id='.$page, ARRAY_A ); //query for get all information about popup
289
+ foreach($result as $key=>$results)
290
+ {
291
+ if($key == 'html')
292
+ {
293
+ $result[$key] = wp_kses_post($results);
294
+ }
295
+ else
296
+ {
297
+ $result[$key] = sanitize_text_field($results);
298
+ }
299
+ }
300
+ $result['sg_promotional_site_url'] = plugins_url('', __FILE__);
301
+ echo json_encode($result);
302
+ exit();
303
+ }
304
+
305
+ require_once( SG_APP_POPUP_FILES . '/sg_popup_ajax.php');
readme.txt ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Popup Builder ===
2
+ Plugin Name: Popup Builder
3
+ Contributors: Sygnoos
4
+ Donate link: http://sygnoos.com/wordpress-popup/
5
+ 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
6
+ Requires at least: 3.8
7
+ Tested up to: 4.2.3
8
+ Stable tag: 1.1.4
9
+ License: GPLv2 or later
10
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
+
12
+ Create powerful popups for promotion. Manage popup dimensions, effects, themes and more.
13
+
14
+ == Description ==
15
+
16
+ #### Popup Builder
17
+
18
+ Create and manage powerful promotion popups for your WordPress blog or website. Powerful, and yet, easy to use popup plugin that will help you to grab your visitor's attention to introduce him offers, discounts or other kind of promotional notices.
19
+
20
+ Popups are a good marketing tool, they're impressively high converting. A web page with a popup typically sees more conversions than the same page without a popup. More important, a page with a well designed and thoughtfully implemented popup converts better than one with an ugly popup. With Popup Builder plugin you can customize the popup according to your needs.
21
+
22
+ **Features:**
23
+
24
+ * Create and manage as many popups as you want
25
+ * Choose whether to show html popup or a single image
26
+ * Customize the look and feel of the popup
27
+ * Set custom animation effects
28
+ * Customize popup animation effect
29
+ * Choose between several popup themes
30
+ * Set popup location on the screen
31
+ * Responsive popup
32
+ * Network/Multisite popup
33
+
34
+ **PRO features:**
35
+
36
+ * Create iframe popup - you can set the URL you want to load within an iframe and the popup will load that iframe
37
+ * Create popup from shortcodes of other plugins - very useful when you want to load another plugin inside your popup
38
+ * 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
39
+ * Show popup once per visitor - useful when you don't want to show the popup to the same visitor more than once
40
+
41
+ <a href="http://sygnoos.com/wordpress-popup/" target="_blank">Get Popup Builder PRO package</a>
42
+ <div>
43
+ Customizing the look and feel of the popup is as important as the content itself. That's why Popup Builder gives you the ability tu customize the timings, effects, position and size of the popup to your needs.
44
+ </div>
45
+
46
+ <div>
47
+ <div>
48
+ <br />
49
+ </div>
50
+
51
+ <div>
52
+ If you think that you found a bug in our Popup Builder plugin or have any questions, please feel free to contact us at <a href="mailto:wp-popup@sygnoos.com" title="wp-popup@sygnoos.com"><strong>wp-popup@sygnoos.com</strong></a>.
53
+ ### Popup Builder
54
+ </div>
55
+ </div>
56
+
57
+ <div>
58
+ <br />
59
+ </div>
60
+
61
+ == Installation ==
62
+
63
+ Install Popup Builder either via the WordPress.org plugin directory, or by uploading the files to your server.
64
+
65
+ Activate the plugin through the 'Plugins' menu in WordPress.
66
+
67
+ Go to the Popup Builder settings and set your desired options.
68
+
69
+ == Screenshots ==
70
+
71
+ 1. Admin Panel
72
+ 2. List of popups
73
+ 3. Setting a popup inside a page
74
+ 4. Showing a popup
75
+
76
+ == Changelog ==
77
+
78
+ * Version 1.1.4
79
+
80
+ Bug fixed with single quotes string/html popup.
81
+
82
+ * Version 1.1.3
83
+
84
+ Multisite support
85
+
86
+ Bug fixes
87
+
88
+
89
+ * Version 1.1.2
90
+
91
+ Bug fixes
92
+
93
+ * Version 1.1.1
94
+
95
+ Bug fixes
96
+
97
+ * Version 1.1
98
+
99
+ Bug fixes
100
+
101
+ * Initial upload 1.0.0
style/animate.css ADDED
@@ -0,0 +1 @@
 
1
+ @charset "UTF-8";/*!;Animate.css - http://daneden.me/animate;Licensed under the MIT license - http://opensource.org/licenses/MIT;;Copyright (c) 2015 Daniel Eden;*/.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{0%,100%,20%,53%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.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{0%,100%,20%,53%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.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{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-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)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{0%{-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)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-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(0.75,1.25,1);transform:scale3d(0.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)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{0%{-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(0.75,1.25,1);transform:scale3d(0.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)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,100%{-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{0%,100%{-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)}100%{-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)}100%{-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{0%{-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)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes tada{0%{-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)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-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)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-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)}100%{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.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)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.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)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.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)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.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)}100%{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.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)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.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)}100%{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.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)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.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)}100%{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.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,-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)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.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,-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)}100%{-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)}100%{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)}100%{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)}100%{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)}100%{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)}100%{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)}100%{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)}100%{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)}100%{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)}100%{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)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-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}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-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}100%{-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{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-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-transition-timing-function:ease-in;transition-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)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-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-transition-timing-function:ease-in;transition-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)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-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-transition-timing-function:ease-in;transition-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)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-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-transition-timing-function:ease-in;transition-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)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-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}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{0%{-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}100%{-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;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-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}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{0%{-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}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-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}100%{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-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}100%{-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{0%{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}100%{-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{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-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{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-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{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-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{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-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{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-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{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-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{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-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{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-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{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-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{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-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{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-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{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-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{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-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{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-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}100%{-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}100%{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}100%{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{0%{opacity:1}100%{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{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{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{0%{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(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.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(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInDown{0%{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(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.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(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{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(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.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(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInLeft{0%{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(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.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(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{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(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.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(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInRight{0%{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(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.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(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{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(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.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(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInUp{0%{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(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.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(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{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(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{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(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.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(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{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(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.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)}100%{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)}100%{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)}100%{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)}100%{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(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{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(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.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(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{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(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%)}}@keyframes slideOutDown{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%)}}@keyframes slideOutLeft{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%)}}@keyframes slideOutRight{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%)}}@keyframes slideOutUp{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}
style/sg_popup_rangeslider.css ADDED
@@ -0,0 +1,173 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ }
style/sg_popup_style.css ADDED
@@ -0,0 +1,682 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******* coomon *******/
2
+ #displayNone {
3
+ display: none;
4
+ }
5
+ #defaultMessage{
6
+ margin-left: 0px;
7
+ margin-right: 30px;
8
+ }
9
+ .samefontStyle {
10
+ color: #3879D9;
11
+ font: 14px Arial;
12
+ padding-left: 3px;
13
+ border: 1px solid #ccc;
14
+ position: absolute;
15
+ min-width: 20px;
16
+ min-height: 13px;
17
+ display: none;
18
+ margin-top: 7px;
19
+ margin-left: 12px;
20
+ box-shadow: 0px 0px 2px #ccc;
21
+ padding: 5px;
22
+ z-index: 9999;
23
+ background-color: white;
24
+ }
25
+ .errorInfo {
26
+ display: none;
27
+ margin-left: 11px;
28
+ }
29
+
30
+ .validateError {
31
+ color: red;
32
+ display: none;
33
+ margin-left: 8px;
34
+ position: absolute;
35
+ padding-left: 3px;
36
+ border: 1px solid #ccc;
37
+ min-width: 20px;
38
+ min-height: 13px;
39
+ margin-top: 7px;
40
+ margin-left: 12px;
41
+ box-shadow: 0px 0px 2px #ccc;
42
+ padding: 5px;
43
+ z-index: 9999;
44
+ background-color: white;
45
+ }
46
+ [class = sameWidthinputs ] {
47
+ width: 44%;
48
+ min-width: 165px;
49
+ }
50
+ .createDescribe{
51
+ font: 13px "Open Sans", sans-serif;
52
+ color: black;
53
+ }
54
+ .createDescribe + span{
55
+ color: #3879D9;
56
+ font: 14px Arial;
57
+ padding-left: 12px;
58
+ }
59
+ .h2Background{
60
+ background-color: #FAFAFA;
61
+ display: inline-block;
62
+ height: 50px;
63
+ width: 100%;
64
+ border-bottom: 1px solid #ccc;
65
+ position: relative;
66
+ }
67
+ .h2Background h2{
68
+ margin: 18px;
69
+ display: inline-block;
70
+ }
71
+ #dimentionsTitle > img,#optionsTitle > img,#effectsTitle > img,#generalTitle > img {
72
+ position: absolute;
73
+ left: 90%;
74
+ top: 9%;
75
+ transform: rotate(-180deg);
76
+
77
+ }
78
+ .rightArrow{
79
+ transform: rotate(0deg);
80
+ }
81
+ .turnArrow{
82
+ transform: rotate(-180deg);
83
+ }
84
+
85
+ .dimensionsContent, .generalContent, .effectsContent, .optionsContent {
86
+ padding: 10px 20px;
87
+ }
88
+
89
+
90
+ .clear{
91
+ clear: both;
92
+ }
93
+ /******* coomon end *******/
94
+ /******* admin page ******/
95
+ .headersWrapper {
96
+ width: 100%;
97
+ height: 90px;
98
+ position: relative;
99
+ }
100
+ .mainUpdateToPro {
101
+ position: absolute;
102
+ right: 0px;
103
+ top: 0px;
104
+ top: 0px;
105
+ background-color: #D54E21;
106
+ border: 1px solid #D54E21;
107
+ color: white;
108
+ cursor: pointer;
109
+ }
110
+ .crudToPro {
111
+ float: right;
112
+ margin-top: 7px;
113
+ background-color: #D54E21;
114
+ border: 1px solid #D54E21;
115
+ color: white;
116
+ cursor: pointer;
117
+ margin-right: 2.5%;
118
+ }
119
+
120
+ .effectsContent .samefontStyle{
121
+ max-width: 131px;
122
+
123
+ }
124
+ .sgDeleteLink{
125
+ margin-left: 10px;
126
+ }
127
+
128
+ #promotionalSaveButton:before{
129
+ clear: both;
130
+ }
131
+
132
+ #promotionalSaveButton{
133
+ float: right;
134
+ margin-right: 2.5%;
135
+ }
136
+ #linkCreate {
137
+ text-decoration: none;
138
+ display: block;
139
+ cursor: pointer;
140
+ font: 13px Arial;
141
+ }
142
+ #linkCreate :hover{
143
+ display: block;
144
+ }
145
+ .creteLinkWrapper{
146
+ display: inline-block;
147
+ margin-bottom: 17px;
148
+ margin-top: 10px;
149
+ background-color: #E0E0E0;
150
+ }
151
+ .creteLinkWrapper a{
152
+ display: block;
153
+ padding: 6px;
154
+ }
155
+ .creteLinkWrapper a:hover{
156
+ background-color: #46ADD0;
157
+ color: white;
158
+ cursor: pointer;
159
+ }
160
+
161
+
162
+ #disine tr:nth-child(even){
163
+ background-color: #F9F9F9;
164
+ }
165
+ #previewbuttonStyle {
166
+ margin-right: 5px;
167
+ background: #00a0d2;
168
+ border-color: #0073aa;
169
+ color: #fff;
170
+ text-decoration: none;
171
+ display: inline-block;
172
+ font-size: 13px;
173
+ line-height: 26px;
174
+ height: 28px;
175
+ margin: 0;
176
+ padding: 0 10px 1px;
177
+ cursor: pointer;
178
+ border-width: 1px;
179
+ border-style: solid;
180
+ -webkit-appearance: none;
181
+ border-radius: 3px;
182
+ white-space: nowrap;
183
+ }
184
+ .previewParagaraph{
185
+ display: inline-block;
186
+ }
187
+
188
+ span.phpErrorStyle{
189
+ display: inline-block;
190
+ margin-left: 5px;
191
+ font: 18px Arial Sans-serif;
192
+ color: red;
193
+ }
194
+
195
+ #successMessage {
196
+ width: 97%;
197
+ height: 37px;
198
+ border-left: 5px solid #7AD03A;
199
+ background-color: #FFFFFF;
200
+ }
201
+ #gifLoader {
202
+ margin-left: 5px;
203
+ }
204
+ /******* admin page end ******/
205
+ /******* general ******/
206
+ #createAjaxLoader {
207
+ float: right;
208
+ margin-right: 11px;
209
+ margin-top: 7px;
210
+ }
211
+ .generalMenu {
212
+ width: 98%;
213
+ height: 39px;
214
+ }
215
+ .contentType {
216
+
217
+ margin: 10px auto;
218
+ }
219
+
220
+
221
+ .contentTypeMain{
222
+ border-right: 1px solid #ccc;
223
+ border-bottom: 1px solid #ccc;
224
+ border-left: 1px solid #ccc;
225
+ width: 94.1%;
226
+ min-height: 262px;
227
+ padding-right: 20px;
228
+ padding-bottom: 30px;
229
+ margin-bottom: 26px;
230
+ }
231
+
232
+ .generalMenu > ul li {
233
+ display: block;
234
+ font: 14px Arial;
235
+ color: black;
236
+ float: left;
237
+ width: 49.5%;
238
+ display: block;
239
+ padding: 11px 0px;
240
+ text-align: center;
241
+ border: 1px solid #ccc;
242
+ cursor: pointer;
243
+
244
+ }
245
+ .imagetype{
246
+ padding-bottom: 5px;
247
+ min-height: 140px;
248
+ }
249
+ /*tab css*/
250
+ .tabWrapper{
251
+ background-color: #F1F1F1;
252
+ margin-top: 12px;
253
+ }
254
+
255
+ /*----- Tabs -----*/
256
+ .tabs {
257
+ width:100%;
258
+ display:inline-block;
259
+ }
260
+
261
+ /*----- Tab Links -----*/
262
+ /* Clearfix */
263
+ .tab-links:after {
264
+ display:block;
265
+ clear:both;
266
+ content:'';
267
+ }
268
+
269
+ .tab-links li {
270
+ margin:0px 5px;
271
+ float:left;
272
+ list-style:none;
273
+ }
274
+
275
+ .tab-links a {
276
+ padding:9px 15px;
277
+ display:inline-block;
278
+ border-radius:3px 3px 0px 0px;
279
+ background:#7FB5DA;
280
+ font-size:13px;
281
+ font-weight:600;
282
+ color:#4c4c4c;
283
+ text-decoration: none;
284
+ transition:all linear 0.15s;
285
+ }
286
+
287
+ .tab-links a:hover {
288
+ background:#a7cce5;
289
+ text-decoration:none;
290
+ }
291
+
292
+ li.active a, li.active a:hover {
293
+ background:#fff;
294
+ color:#4c4c4c;
295
+ }
296
+
297
+ /*----- Content of Tabs -----*/
298
+ .tab-content {
299
+ min-height: 275px;
300
+ margin-top: -12px;
301
+ padding:15px;
302
+ border-radius:3px;
303
+ box-shadow: 0px 0px 3px rgba(0,0,0,0.15);
304
+ background:#fff;
305
+ }
306
+
307
+ .tab {
308
+ display:none;
309
+ }
310
+
311
+ .tab.active {
312
+ display:block;
313
+ }
314
+ input[id="upload_image_button"]{
315
+ width: 37%;
316
+ }
317
+ #upload_image {
318
+ width: 61%;
319
+ }
320
+ .imageUploderWrapper{
321
+ margin: 0 auto;
322
+ width: 82%;
323
+ }
324
+ .ShowSelectedImage {
325
+ width: 222px;
326
+ height: 127px;
327
+ background-color: #F8F8F8;
328
+ margin: 14px auto;
329
+ background-size: contain;
330
+ background-position: center center;
331
+ background-repeat: no-repeat;
332
+ }
333
+ .NoImage {
334
+ display: block;
335
+ font: 13px Arial;
336
+ margin: 0 auto;
337
+ text-align: center;
338
+ padding-top: 56px;
339
+ }
340
+ .imageHeadline{
341
+ margin-top: 27px;
342
+ margin-bottom: 41px;
343
+ text-align: center;
344
+ font: 16px arial;
345
+ }
346
+ .choosePopupType{
347
+ margin-top: -3px;
348
+ margin-left: 20px;
349
+ }
350
+ .htmlType .wp-editor-tabs {
351
+ float: right;
352
+ margin-right: 6%;
353
+ }
354
+ .htmlType #insert-media-button {
355
+ position: relative;
356
+ top:3px;
357
+ }
358
+ .iframetype h1 {
359
+ text-align: center;
360
+ padding-bottom: 34px;
361
+ font: 16px arial;
362
+ }
363
+ .iframeContent{
364
+ width: 48%;
365
+ margin: 28px auto;
366
+ }
367
+ [name=iframeLink],[name=shortCode]{
368
+ width: 100%;
369
+ }
370
+ /*its dive picturs*/
371
+ .theme1,.theme2,.theme3,.theme4,.theme5{
372
+ border: 0px solid red;
373
+ width: 240px;
374
+ height: 130px;
375
+ margin-top: 1px;
376
+ margin-left: 6%;
377
+ display: block;
378
+ position: absolute;
379
+ z-index: 9999999999999999;
380
+ }
381
+ input[name="theme"]{
382
+ margin-left: 14px;
383
+
384
+ }
385
+ .theme1{
386
+ background-image: url(../img/theme1.jpg);
387
+ background-size: 240px 130px;
388
+ }
389
+ .theme2{
390
+ background-image: url(../img/theme2.jpg);
391
+
392
+ }
393
+ .theme3{
394
+ background-image: url(../img/theme3.jpg);
395
+ }
396
+ .theme4{
397
+ background-image: url(../img/theme4.jpg);
398
+ background-size: 240px 130px;
399
+ }
400
+ .theme5{
401
+ background-image: url(../img/theme5.jpg);
402
+ background-size: 240px 130px;
403
+ }
404
+
405
+ /******* general end ******/
406
+ /******* Effects ******/
407
+ .effects {
408
+ margin-top: 14px;
409
+ background-color: white;
410
+ margin-left: 3px;
411
+ }
412
+ .effects span img{
413
+ margin-left: 3px;
414
+ }
415
+ .effectsContent {
416
+ padding-left: 20px;
417
+
418
+ }
419
+ .effectsContent .sameWidthinputs{
420
+ margin-right: 25px;
421
+ }
422
+ .theme input {
423
+ margin-top: 13px;
424
+ }
425
+ #themeSPan{
426
+ margin-top: 24px;
427
+ }
428
+ /*effects*/
429
+ .effects span{
430
+ margin-top: 13px;
431
+ }
432
+ .effects select{
433
+ margin-bottom: 10px;
434
+ }
435
+ .crudWrapper .createDescribe {
436
+ display: inline-block;
437
+ margin: 8px auto;
438
+ width: 151px;
439
+ }
440
+ .crudWrapper .general .createDescribe {
441
+ display: inline-block;
442
+ margin: 8px auto;
443
+ width: 62px;
444
+ }
445
+ .sameWidthinputsTitle {
446
+ width: 60.0%;
447
+ }
448
+ #themeSPan {
449
+ width: 119px;
450
+ }
451
+
452
+
453
+ #sameWidthinputs{
454
+ width: 44%;
455
+ min-width: 165px;
456
+ }
457
+ #effectShow {
458
+ display: none;
459
+ width: 150px;
460
+ height: 150px;
461
+ margin-left: 5px;
462
+ background-image: url(../img/theme4.jpg);
463
+ background-size: 150px 150px;
464
+ position: absolute;
465
+ top: -46px;
466
+ left: 72%;
467
+ z-index: 9999;
468
+ }
469
+ .effectWrapper{
470
+ position: relative;
471
+
472
+ }
473
+ /******* Effects end******/
474
+ /******* dimensions ******/
475
+
476
+ .dimensions {
477
+ width: 100%;
478
+ background-color: white;
479
+ margin-right: 2.1%;
480
+ box-sizing: border-box;
481
+ }
482
+ /******* dimensions end******/
483
+
484
+ /******* options ******/
485
+
486
+ .options{
487
+ margin-top: 13px;
488
+ }
489
+ .optionsContent .createDescribe {
490
+ width: 241px;
491
+ }
492
+ .optionsContent .sameWidthinputs {
493
+ margin-right: 20px;
494
+ }
495
+ .optionsContent{
496
+ background-color: white;
497
+ position: relative;
498
+ padding: 10px 20px 0px 20px;
499
+ }
500
+
501
+ .range-bar {
502
+ background-color: #a9acb1;
503
+ border-radius: 15px;
504
+ display: block;
505
+ height: 4px;
506
+ position: relative;
507
+ width: 100%;
508
+
509
+ }
510
+
511
+ .range-quantity {
512
+ background-color: #017afd;
513
+ border-radius: 15px;
514
+ display: block;
515
+ height: 100%;
516
+ width: 0;
517
+ }
518
+
519
+ .range-handle {
520
+ background-color: #fff;
521
+ border-radius: 100%;
522
+ cursor: move;
523
+ height: 20px;
524
+ left: 0;
525
+ top: -10px;
526
+ position: absolute;
527
+ width: 20px;
528
+
529
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
530
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
531
+ }
532
+
533
+ .range-min,
534
+ .range-max {
535
+
536
+ height: 20px;
537
+ padding-top: 4px;
538
+ position: absolute;
539
+ text-align: center;
540
+ top: -9px;
541
+ display: none;
542
+ }
543
+ .slider-wrapper {
544
+
545
+ position: relative;
546
+ width: 150px;
547
+ display: inline-block;
548
+ }
549
+
550
+ .vertical-wrapper {
551
+ height: 200px;
552
+ width: auto;
553
+ }
554
+ .display-box {
555
+ background-color: #f7fcff;
556
+ border-radius: 5px;
557
+ font-size: 0.8em;
558
+ height: 23px;
559
+ right: -41px;
560
+ padding-top: 2px;
561
+ position: absolute;
562
+ text-align: center;
563
+ top: -10px;
564
+ width: 35px;
565
+
566
+ -webkit-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.15);
567
+ box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.15);
568
+ }
569
+
570
+ .fixedWrapper {
571
+ max-width: 248px;
572
+ width: 40%;
573
+ height: 191px;
574
+ display: none;
575
+
576
+ }
577
+ .forFixWrapperStyle {
578
+ width: 241px;
579
+ display: inline-block;
580
+ }
581
+ .fixedPositionStyle {
582
+ width: 31.85%;
583
+ height: 53px;
584
+
585
+ float: left;
586
+ cursor: pointer;
587
+ }
588
+ #fixedPosition2, #fixedPosition4 , #fixedPosition8,#fixedPosition6{
589
+ float: left;
590
+ width: 31.85%;
591
+ height: 53px;
592
+ background-color: rgb(241,241,241);
593
+
594
+ }
595
+ #fixedPosition1{
596
+ border: 1px solid #ccc;
597
+
598
+ }
599
+
600
+ #fixedPosition2{
601
+ border-bottom: 1px solid #ccc;
602
+ border-top: 1px solid #ccc;
603
+ }
604
+ #fixedPosition3{
605
+ border: 1px solid #ccc;
606
+ }
607
+ #fixedPosition6{
608
+ border-left: 1px solid #ccc;
609
+ border-right: 1px solid #ccc;
610
+ }
611
+ #fixedPosition9{
612
+ border-left: 1px solid #ccc;
613
+ border-bottom: 1px solid #ccc;
614
+ border-right: 1px solid #ccc;
615
+ border-top: 1px solid #ccc;
616
+ }
617
+ #fixedPosition8{
618
+ border-left: 1px solid #ccc;
619
+ border-bottom: 1px solid #ccc;
620
+ border-top: 1px solid #ccc;
621
+ }
622
+ #fixedPosition7{
623
+ border-top: 1px solid #ccc;
624
+ border-left: 1px solid #ccc;
625
+ border-bottom: 1px solid #ccc;
626
+ }
627
+
628
+ #fixedPosition4{
629
+ border-right: 1px solid #ccc;
630
+ border-left: 1px solid #ccc;
631
+ }
632
+
633
+
634
+ /******* options end ******/
635
+
636
+ /*style main*/
637
+ .general {
638
+ background-color: white;
639
+ margin-left: 3px;
640
+ margin-top: 5px;
641
+ }
642
+ .generalContent{
643
+ padding-right: 20px;
644
+ padding-left: 20px;
645
+ }
646
+ .Sg_title_crud{
647
+ float: left;
648
+ display: inline-block;
649
+ }
650
+ .cereateTitleWrapper{
651
+ position: relative;
652
+ margin-bottom: 32px;
653
+ }
654
+ #leftMainDiv{
655
+ width: 48%;
656
+ width: 48%;
657
+ float: left;
658
+ overflow: hidden;
659
+ margin-right: 18px;
660
+ display: block;
661
+ }
662
+ #rightMaindiv{
663
+ width:48%;
664
+ display: inline-block;
665
+ overflow: hidden;
666
+ padding-top: 5px;
667
+ }
668
+ /
669
+ /*meduia queris*/
670
+
671
+ @media(max-width: 1042px) {
672
+ #leftMainDiv{
673
+ width: 97.5%;
674
+ margin: 0px auto;
675
+ }
676
+ #rightMaindiv{
677
+ width: 97.5%;
678
+ margin: 0px auto;
679
+ }
680
+ }
681
+ /*style css*/
682
+
style/sg_popup_style.php ADDED
@@ -0,0 +1 @@
 
0
  return;
1
  }
2
 
1
+ <?php
2
  return;
3
  }
4
 
style/sgcolorbox/colorbox1.css ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Colorbox Core Style:
3
+ The following CSS is consistent between example themes and should not be altered.
4
+ */
5
+ #colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
6
+ #cboxWrapper {max-width:none;}
7
+ #cboxOverlay{position:fixed; width:100%; height:100%;}
8
+ #cboxMiddleLeft, #cboxBottomLeft{clear:left;}
9
+ #cboxContent{position:relative;}
10
+ #cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
11
+ #cboxTitle{margin:0;}
12
+ #cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
13
+ #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
14
+ .cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
15
+ .cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
16
+ #colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
17
+
18
+ /*
19
+ User Style:
20
+ Change the following styles to modify the appearance of Colorbox. They are
21
+ ordered & tabbed in a way that represents the nesting of the generated HTML.
22
+ */
23
+ #cboxOverlay{background:url(../../img/colorbox1/overlay.png) repeat 0 0; opacity: 0.9; filter: alpha(opacity = 90);}
24
+ #colorbox{outline:0;}
25
+ #cboxTopLeft{width:21px; height:21px; background:url(../../img/colorbox1/controls.png) no-repeat -101px 0;}
26
+ #cboxTopRight{width:21px; height:21px; background:url(../../img/colorbox1/controls.png) no-repeat -130px 0;}
27
+ #cboxBottomLeft{width:21px; height:21px; background:url(../../img/colorbox1/controls.png) no-repeat -101px -29px;}
28
+ #cboxBottomRight{width:21px; height:21px; background:url(../../img/colorbox1/controls.png) no-repeat -130px -29px;}
29
+ #cboxMiddleLeft{width:21px; background:url(../../img/colorbox1/controls.png) left top repeat-y;}
30
+ #cboxMiddleRight{width:21px; background:url(../../img/colorbox1/controls.png) right top repeat-y;}
31
+ #cboxTopCenter{height:21px; background:url(../../img/colorbox1/border.png) 0 0 repeat-x;}
32
+ #cboxBottomCenter{height:21px; background:url(../../img/colorbox1/border.png) 0 -29px repeat-x;}
33
+ #cboxContent{background:#fff; overflow:hidden;}
34
+ .cboxIframe{background:#fff;}
35
+ #cboxError{padding:50px; border:1px solid #ccc;}
36
+ #cboxLoadedContent{margin-bottom:28px;}
37
+ #cboxTitle{position:absolute; bottom:4px; left:0; text-align:center; width:100%; color:#949494;}
38
+ #cboxCurrent{position:absolute; bottom:4px; left:58px; color:#949494;}
39
+ #cboxLoadingOverlay{background:url(../../img/colorbox1/loading_background.png) no-repeat center center;}
40
+ #cboxLoadingGraphic{background:url(../../img/colorbox1/loading.gif) no-repeat center center;}
41
+
42
+ /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
43
+ #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
44
+
45
+ /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
46
+ #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
47
+
48
+ #cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;}
49
+ #cboxPrevious{position:absolute; bottom:0; left:0; background:url(../../img/colorbox1/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;}
50
+ #cboxPrevious:hover{background-position:-75px -25px;}
51
+ #cboxNext{position:absolute; bottom:0; left:27px; background:url(../../img/colorbox1/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;}
52
+ #cboxNext:hover{background-position:-50px -25px;}
53
+ #cboxClose{position:absolute; bottom:0; right:0; background:url(../../img/colorbox1/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;}
54
+ #cboxClose:hover{background-position:-25px -25px;}
55
+
56
+ /*
57
+ The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
58
+ when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9.
59
+ See: http://jacklmoore.com/notes/ie-transparency-problems/
60
+ */
61
+ .cboxIE #cboxTopLeft,
62
+ .cboxIE #cboxTopCenter,
63
+ .cboxIE #cboxTopRight,
64
+ .cboxIE #cboxBottomLeft,
65
+ .cboxIE #cboxBottomCenter,
66
+ .cboxIE #cboxBottomRight,
67
+ .cboxIE #cboxMiddleLeft,
68
+ .cboxIE #cboxMiddleRight {
69
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
70
+ }
style/sgcolorbox/colorbox2.css ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Colorbox Core Style:
3
+ The following CSS is consistent between example themes and should not be altered.
4
+ */
5
+ #colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
6
+ #cboxWrapper {max-width:none;}
7
+ #cboxOverlay{position:fixed; width:100%; height:100%;}
8
+ #cboxMiddleLeft, #cboxBottomLeft{clear:left;}
9
+ #cboxContent{position:relative;}
10
+ #cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
11
+ #cboxTitle{margin:0;}
12
+ #cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
13
+ #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
14
+ .cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
15
+ .cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
16
+ #colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
17
+
18
+ /*
19
+ User Style:
20
+ Change the following styles to modify the appearance of Colorbox. They are
21
+ ordered & tabbed in a way that represents the nesting of the generated HTML.
22
+ */
23
+ #cboxOverlay{background:#fff; opacity: 0.9; filter: alpha(opacity = 90);}
24
+ #colorbox{outline:0;}
25
+ #cboxContent{margin-top:32px; overflow:visible; background:#000;}
26
+ .cboxIframe{background:#fff;}
27
+ #cboxError{padding:50px; border:1px solid #ccc;}
28
+ #cboxLoadedContent{background:#000; padding:1px;}
29
+ #cboxLoadingGraphic{background:url(../../img/colorbox2/loading.gif) no-repeat center center;}
30
+ #cboxLoadingOverlay{background:#000;}
31
+ #cboxTitle{position:absolute; top:-22px; left:0; color:#000;}
32
+ #cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;}
33
+
34
+ /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
35
+ #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; text-indent:-9999px; width:20px; height:20px; position:absolute; top:-20px; background:url(../../img/colorbox2/controls.png) no-repeat 0 0;}
36
+
37
+ /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
38
+ #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
39
+
40
+ #cboxPrevious{background-position:0px 0px; right:44px;}
41
+ #cboxPrevious:hover{background-position:0px -25px;}
42
+ #cboxNext{background-position:-25px 0px; right:22px;}
43
+ #cboxNext:hover{background-position:-25px -25px;}
44
+ #cboxClose{background-position:-50px 0px; right:0;}
45
+ #cboxClose:hover{background-position:-50px -25px;}
46
+ .cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off #cboxPrevious{right:66px;}
47
+ .cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;}
48
+ .cboxSlideshow_on #cboxSlideshow:hover{background-position:-100px -25px;}
49
+ .cboxSlideshow_off #cboxSlideshow{background-position:-100px 0px; right:44px;}
50
+ .cboxSlideshow_off #cboxSlideshow:hover{background-position:-75px -25px;}
style/sgcolorbox/colorbox3.css ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Colorbox Core Style:
3
+ The following CSS is consistent between example themes and should not be altered.
4
+ */
5
+ #colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
6
+ #cboxWrapper {max-width:none;}
7
+ #cboxOverlay{position:fixed; width:100%; height:100%;}
8
+ #cboxMiddleLeft, #cboxBottomLeft{clear:left;}
9
+ #cboxContent{position:relative;}
10
+ #cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
11
+ #cboxTitle{margin:0;}
12
+ #cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
13
+ #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
14
+ .cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
15
+ .cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
16
+ #colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
17
+
18
+ /*
19
+ User Style:
20
+ Change the following styles to modify the appearance of Colorbox. They are
21
+ ordered & tabbed in a way that represents the nesting of the generated HTML.
22
+ */
23
+ #cboxOverlay{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
24
+ #colorbox{outline:0;}
25
+ #cboxContent{margin-top:20px;background:#000;}
26
+ .cboxIframe{background:#fff;}
27
+ #cboxError{padding:50px; border:1px solid #ccc;}
28
+ #cboxLoadedContent{border:5px solid #000; background:#fff;}
29
+ #cboxTitle{position:absolute; top:-20px; left:0; color:#ccc;}
30
+ #cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc;}
31
+ #cboxLoadingGraphic{background:url(../../img/colorbox3/loading.gif) no-repeat center center;}
32
+
33
+ /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
34
+ #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
35
+
36
+ /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
37
+ #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
38
+
39
+ #cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
40
+ #cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(../../img/colorbox3/controls.png) no-repeat top left; width:28px; height:65px; text-indent:-9999px;}
41
+ #cboxPrevious:hover{background-position:bottom left;}
42
+ #cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(../../img/colorbox3/controls.png) no-repeat top right; width:28px; height:65px; text-indent:-9999px;}
43
+ #cboxNext:hover{background-position:bottom right;}
44
+ #cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(../../img/colorbox3/controls.png) no-repeat top center; width:38px; height:19px; text-indent:-9999px;}
45
+ #cboxClose:hover{background-position:bottom center;}
style/sgcolorbox/colorbox4.css ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Colorbox Core Style:
3
+ The following CSS is consistent between example themes and should not be altered.
4
+ */
5
+ #colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
6
+ #cboxWrapper {max-width:none;}
7
+ #cboxOverlay{position:fixed; width:100%; height:100%;}
8
+ #cboxMiddleLeft, #cboxBottomLeft{clear:left;}
9
+ #cboxContent{position:relative;}
10
+ #cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
11
+ #cboxTitle{margin:0;}
12
+ #cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
13
+ #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
14
+ .cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
15
+ .cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
16
+ #colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
17
+
18
+ /*
19
+ User Style:
20
+ Change the following styles to modify the appearance of Colorbox. They are
21
+ ordered & tabbed in a way that represents the nesting of the generated HTML.
22
+ */
23
+ #cboxOverlay{background:#fff; opacity: 0.9; filter: alpha(opacity = 90);}
24
+ #colorbox{outline:0;}
25
+ #cboxTopLeft{width:25px; height:25px; background:url(../../img/colorbox4/border1.png) no-repeat 0 0;}
26
+ #cboxTopCenter{height:25px; background:url(../../img/colorbox4/border1.png) repeat-x 0 -50px;}
27
+ #cboxTopRight{width:25px; height:25px; background:url(../../img/colorbox4/border1.png) no-repeat -25px 0;}
28
+ #cboxBottomLeft{width:25px; height:25px; background:url(../../img/colorbox4/border1.png) no-repeat 0 -25px;}
29
+ #cboxBottomCenter{height:25px; background:url(../../img/colorbox4/border1.png) repeat-x 0 -75px;}
30
+ #cboxBottomRight{width:25px; height:25px; background:url(../../img/colorbox4/border1.png) no-repeat -25px -25px;}
31
+ #cboxMiddleLeft{width:25px; background:url(../../img/colorbox4/border2.png) repeat-y 0 0;}
32
+ #cboxMiddleRight{width:25px; background:url(../../img/colorbox4/border2.png) repeat-y -25px 0;}
33
+ #cboxContent{background:#fff; overflow:hidden;}
34
+ .cboxIframe{background:#fff;}
35
+ #cboxError{padding:50px; border:1px solid #ccc;}
36
+ #cboxLoadedContent{margin-bottom:20px;}
37
+ #cboxTitle{position:absolute; bottom:0px; left:0; text-align:center; width:100%; color:#999;}
38
+ #cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999;}
39
+ #cboxLoadingOverlay{background:#fff url(../../img/colorbox4/loading.gif) no-repeat 5px 5px;}
40
+
41
+ /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
42
+ #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
43
+
44
+ /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
45
+ #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
46
+
47
+ #cboxSlideshow{position:absolute; bottom:0px; right:42px; color:#444;}
48
+ #cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
49
+ #cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
50
+ #cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;}
51
+
52
+ /*
53
+ The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
54
+ when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9.
55
+ See: http://jacklmoore.com/notes/ie-transparency-problems/
56
+ */
57
+ .cboxIE #cboxTopLeft,
58
+ .cboxIE #cboxTopCenter,
59
+ .cboxIE #cboxTopRight,
60
+ .cboxIE #cboxBottomLeft,
61
+ .cboxIE #cboxBottomCenter,
62
+ .cboxIE #cboxBottomRight,
63
+ .cboxIE #cboxMiddleLeft,
64
+ .cboxIE #cboxMiddleRight {
65
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
66
+ }
style/sgcolorbox/colorbox5.css ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Colorbox Core Style:
3
+ The following CSS is consistent between example themes and should not be altered.
4
+ */
5
+ #colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
6
+ #cboxWrapper {max-width:none;}
7
+ #cboxOverlay{position:fixed; width:100%; height:100%;}
8
+ #cboxMiddleLeft, #cboxBottomLeft{clear:left;}
9
+ #cboxContent{position:relative;}
10
+ #cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
11
+ #cboxTitle{margin:0;}
12
+ #cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
13
+ #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
14
+ .cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
15
+ .cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
16
+ #colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
17
+
18
+
19
+ /*
20
+ User Style:
21
+ Change the following styles to modify the appearance of Colorbox. They are
22
+ ordered & tabbed in a way that represents the nesting of the generated HTML.
23
+ */
24
+ #cboxOverlay{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
25
+ #colorbox{outline:0;}
26
+ #cboxTopLeft{width:14px; height:14px; background:url(../../img/colorbox5/controls.png) no-repeat 0 0;}
27
+ #cboxTopCenter{height:14px; background:url(../../img/colorbox5/border.png) repeat-x top left;}
28
+ #cboxTopRight{width:14px; height:14px; background:url(../../img/colorbox5/controls.png) no-repeat -36px 0;}
29
+ #cboxBottomLeft{width:14px; height:43px; background:url(../../img/colorbox5/controls.png) no-repeat 0 -32px;}
30
+ #cboxBottomCenter{height:43px; background:url(../../img/colorbox5/border.png) repeat-x bottom left;}
31
+ #cboxBottomRight{width:14px; height:43px; background:url(../../img/colorbox5/controls.png) no-repeat -36px -32px;}
32
+ #cboxMiddleLeft{width:14px; background:url(../../img/colorbox5/controls.png) repeat-y -175px 0;}
33
+ #cboxMiddleRight{width:14px; background:url(../../img/colorbox5/controls.png) repeat-y -211px 0;}
34
+ #cboxContent{background:#fff; overflow:visible;}
35
+ .cboxIframe{background:#fff;}
36
+ #cboxError{padding:50px; border:1px solid #ccc;}
37
+ #cboxLoadedContent{margin-bottom:5px;}
38
+ #cboxLoadingOverlay{background:url(../../img/colorbox5/loading_background.png) no-repeat center center;}
39
+ #cboxLoadingGraphic{background:url(../../img/colorbox5/loading.gif) no-repeat center center;}
40
+ #cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;}
41
+ #cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;}
42
+
43
+ /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
44
+ #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; position:absolute; bottom:-29px; background:url(../../img/colorbox5/controls.png) no-repeat 0px 0px; width:23px; height:23px; text-indent:-9999px;}
45
+
46
+ /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
47
+ #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
48
+
49
+ #cboxPrevious{left:0px; background-position: -51px -25px;}
50
+ #cboxPrevious:hover{background-position:-51px 0px;}
51
+ #cboxNext{left:27px; background-position:-75px -25px;}
52
+ #cboxNext:hover{background-position:-75px 0px;}
53
+ #cboxClose{right:0; background-position:-100px -25px;}
54
+ #cboxClose:hover{background-position:-100px 0px;}
55
+
56
+ .cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;}
57
+ .cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;}
58
+ .cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;}
59
+ .cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;}