Simple Share Buttons Adder - Version 6.3.5

Version Description

  • Enable declining of Terms of Service
Download this release

Release Info

Developer DavidoffNeal
Plugin Icon 128x128 Simple Share Buttons Adder
Version 6.3.5
Comparing to
See all releases

Version 6.3.5

Files changed (165) hide show
  1. .editorconfig +10 -0
  2. buttons/arbenta/buffer.png +0 -0
  3. buttons/arbenta/diggit.png +0 -0
  4. buttons/arbenta/email.png +0 -0
  5. buttons/arbenta/facebook.png +0 -0
  6. buttons/arbenta/facebook_save.png +0 -0
  7. buttons/arbenta/flattr.png +0 -0
  8. buttons/arbenta/google.png +0 -0
  9. buttons/arbenta/linkedin.png +0 -0
  10. buttons/arbenta/pinterest.png +0 -0
  11. buttons/arbenta/print.png +0 -0
  12. buttons/arbenta/reddit.png +0 -0
  13. buttons/arbenta/stumbleupon.png +0 -0
  14. buttons/arbenta/tumblr.png +0 -0
  15. buttons/arbenta/twitter.png +0 -0
  16. buttons/arbenta/vk.png +0 -0
  17. buttons/arbenta/yummly.png +0 -0
  18. buttons/metal/buffer.png +0 -0
  19. buttons/metal/diggit.png +0 -0
  20. buttons/metal/email.png +0 -0
  21. buttons/metal/facebook.png +0 -0
  22. buttons/metal/facebook_save.png +0 -0
  23. buttons/metal/flattr.png +0 -0
  24. buttons/metal/google.png +0 -0
  25. buttons/metal/linkedin.png +0 -0
  26. buttons/metal/pinterest.png +0 -0
  27. buttons/metal/print.png +0 -0
  28. buttons/metal/reddit.png +0 -0
  29. buttons/metal/stumbleupon.png +0 -0
  30. buttons/metal/tumblr.png +0 -0
  31. buttons/metal/twitter.png +0 -0
  32. buttons/metal/vk.png +0 -0
  33. buttons/metal/yummly.png +0 -0
  34. buttons/pagepeel/buffer.png +0 -0
  35. buttons/pagepeel/diggit.png +0 -0
  36. buttons/pagepeel/email.png +0 -0
  37. buttons/pagepeel/facebook.png +0 -0
  38. buttons/pagepeel/facebook_save.png +0 -0
  39. buttons/pagepeel/flattr.png +0 -0
  40. buttons/pagepeel/google.png +0 -0
  41. buttons/pagepeel/linkedin.png +0 -0
  42. buttons/pagepeel/pinterest.png +0 -0
  43. buttons/pagepeel/print.png +0 -0
  44. buttons/pagepeel/reddit.png +0 -0
  45. buttons/pagepeel/stumbleupon.png +0 -0
  46. buttons/pagepeel/tumblr.png +0 -0
  47. buttons/pagepeel/twitter.png +0 -0
  48. buttons/pagepeel/vk.png +0 -0
  49. buttons/pagepeel/yummly.png +0 -0
  50. buttons/plain/buffer.png +0 -0
  51. buttons/plain/diggit.png +0 -0
  52. buttons/plain/email.png +0 -0
  53. buttons/plain/facebook.png +0 -0
  54. buttons/plain/facebook_save.png +0 -0
  55. buttons/plain/flattr.png +0 -0
  56. buttons/plain/google.png +0 -0
  57. buttons/plain/linkedin.png +0 -0
  58. buttons/plain/pinterest.png +0 -0
  59. buttons/plain/print.png +0 -0
  60. buttons/plain/reddit.png +0 -0
  61. buttons/plain/stumbleupon.png +0 -0
  62. buttons/plain/tumblr.png +0 -0
  63. buttons/plain/twitter.png +0 -0
  64. buttons/plain/vk.png +0 -0
  65. buttons/plain/yummly.png +0 -0
  66. buttons/retro/buffer.png +0 -0
  67. buttons/retro/diggit.png +0 -0
  68. buttons/retro/email.png +0 -0
  69. buttons/retro/facebook.png +0 -0
  70. buttons/retro/facebook_save.png +0 -0
  71. buttons/retro/flattr.png +0 -0
  72. buttons/retro/google.png +0 -0
  73. buttons/retro/linkedin.png +0 -0
  74. buttons/retro/pinterest.png +0 -0
  75. buttons/retro/print.png +0 -0
  76. buttons/retro/reddit.png +0 -0
  77. buttons/retro/stumbleupon.png +0 -0
  78. buttons/retro/tumblr.png +0 -0
  79. buttons/retro/twitter.png +0 -0
  80. buttons/retro/vk.png +0 -0
  81. buttons/retro/yummly.png +0 -0
  82. buttons/ribbons/buffer.png +0 -0
  83. buttons/ribbons/diggit.png +0 -0
  84. buttons/ribbons/email.png +0 -0
  85. buttons/ribbons/facebook.png +0 -0
  86. buttons/ribbons/facebook_save.png +0 -0
  87. buttons/ribbons/flattr.png +0 -0
  88. buttons/ribbons/google.png +0 -0
  89. buttons/ribbons/linkedin.png +0 -0
  90. buttons/ribbons/pinterest.png +0 -0
  91. buttons/ribbons/print.png +0 -0
  92. buttons/ribbons/reddit.png +0 -0
  93. buttons/ribbons/stumbleupon.png +0 -0
  94. buttons/ribbons/tumblr.png +0 -0
  95. buttons/ribbons/twitter.png +0 -0
  96. buttons/ribbons/vk.png +0 -0
  97. buttons/ribbons/yummly.png +0 -0
  98. buttons/simple/buffer.png +0 -0
  99. buttons/simple/diggit.png +0 -0
  100. buttons/simple/email.png +0 -0
  101. buttons/simple/facebook.png +0 -0
  102. buttons/simple/facebook_save.png +0 -0
  103. buttons/simple/flattr.png +0 -0
  104. buttons/simple/google.png +0 -0
  105. buttons/simple/linkedin.png +0 -0
  106. buttons/simple/pinterest.png +0 -0
  107. buttons/simple/print.png +0 -0
  108. buttons/simple/reddit.png +0 -0
  109. buttons/simple/stumbleupon.png +0 -0
  110. buttons/simple/tumblr.png +0 -0
  111. buttons/simple/twitter.png +0 -0
  112. buttons/simple/vk.png +0 -0
  113. buttons/simple/yummly.png +0 -0
  114. buttons/somacro/buffer.png +0 -0
  115. buttons/somacro/diggit.png +0 -0
  116. buttons/somacro/email.png +0 -0
  117. buttons/somacro/facebook.png +0 -0
  118. buttons/somacro/facebook_save.png +0 -0
  119. buttons/somacro/flattr.png +0 -0
  120. buttons/somacro/google.png +0 -0
  121. buttons/somacro/linkedin.png +0 -0
  122. buttons/somacro/pinterest.png +0 -0
  123. buttons/somacro/print.png +0 -0
  124. buttons/somacro/reddit.png +0 -0
  125. buttons/somacro/stumbleupon.png +0 -0
  126. buttons/somacro/tumblr.png +0 -0
  127. buttons/somacro/twitter.png +0 -0
  128. buttons/somacro/vk.png +0 -0
  129. buttons/somacro/yummly.png +0 -0
  130. css/colorpicker.css +421 -0
  131. css/readable.css +7 -0
  132. css/ssbp-admin-theme.css +427 -0
  133. css/ssbp_switch.css +22 -0
  134. css/style.css +174 -0
  135. fonts/selection.json +896 -0
  136. fonts/ssbp.eot +0 -0
  137. fonts/ssbp.svg +36 -0
  138. fonts/ssbp.ttf +0 -0
  139. fonts/ssbp.woff +0 -0
  140. images/david.png +0 -0
  141. images/flattr.png +0 -0
  142. images/freelancer.png +0 -0
  143. images/paypal.png +0 -0
  144. images/share.png +0 -0
  145. images/sharebuttonsplus.png +0 -0
  146. images/simple-share-buttons-mockups.png +0 -0
  147. images/simplesharebuttons.png +0 -0
  148. images/stars.png +0 -0
  149. images/tweet.png +0 -0
  150. inc/ssba_admin_bits.php +237 -0
  151. inc/ssba_admin_panel.php +1015 -0
  152. inc/ssba_buttons.php +1012 -0
  153. inc/ssba_database.php +390 -0
  154. inc/ssba_styles.php +230 -0
  155. inc/ssba_widget.php +92 -0
  156. inc/ssbp_forms.php +197 -0
  157. js/ssba.js +40 -0
  158. js/ssba.min.js +1 -0
  159. js/ssba_admin.js +130 -0
  160. js/ssba_bootstrap.js +7 -0
  161. js/ssba_colorpicker.js +520 -0
  162. js/ssba_switch.js +22 -0
  163. js/ssbp_admin.js +135 -0
  164. readme.txt +389 -0
  165. simple-share-buttons-adder.php +109 -0
.editorconfig ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ # editorconfig.org
2
+ root = true
3
+
4
+ [*]
5
+ indent_style = space
6
+ indent_size = 4
7
+ end_of_line = lf
8
+ charset = utf-8
9
+ trim_trailing_whitespace = true
10
+ insert_final_newline = true
buttons/arbenta/buffer.png ADDED
Binary file
buttons/arbenta/diggit.png ADDED
Binary file
buttons/arbenta/email.png ADDED
Binary file
buttons/arbenta/facebook.png ADDED
Binary file
buttons/arbenta/facebook_save.png ADDED
Binary file
buttons/arbenta/flattr.png ADDED
Binary file
buttons/arbenta/google.png ADDED
Binary file
buttons/arbenta/linkedin.png ADDED
Binary file
buttons/arbenta/pinterest.png ADDED
Binary file
buttons/arbenta/print.png ADDED
Binary file
buttons/arbenta/reddit.png ADDED
Binary file
buttons/arbenta/stumbleupon.png ADDED
Binary file
buttons/arbenta/tumblr.png ADDED
Binary file
buttons/arbenta/twitter.png ADDED
Binary file
buttons/arbenta/vk.png ADDED
Binary file
buttons/arbenta/yummly.png ADDED
Binary file
buttons/metal/buffer.png ADDED
Binary file
buttons/metal/diggit.png ADDED
Binary file
buttons/metal/email.png ADDED
Binary file
buttons/metal/facebook.png ADDED
Binary file
buttons/metal/facebook_save.png ADDED
Binary file
buttons/metal/flattr.png ADDED
Binary file
buttons/metal/google.png ADDED
Binary file
buttons/metal/linkedin.png ADDED
Binary file
buttons/metal/pinterest.png ADDED
Binary file
buttons/metal/print.png ADDED
Binary file
buttons/metal/reddit.png ADDED
Binary file
buttons/metal/stumbleupon.png ADDED
Binary file
buttons/metal/tumblr.png ADDED
Binary file
buttons/metal/twitter.png ADDED
Binary file
buttons/metal/vk.png ADDED
Binary file
buttons/metal/yummly.png ADDED
Binary file
buttons/pagepeel/buffer.png ADDED
Binary file
buttons/pagepeel/diggit.png ADDED
Binary file
buttons/pagepeel/email.png ADDED
Binary file
buttons/pagepeel/facebook.png ADDED
Binary file
buttons/pagepeel/facebook_save.png ADDED
Binary file
buttons/pagepeel/flattr.png ADDED
Binary file
buttons/pagepeel/google.png ADDED
Binary file
buttons/pagepeel/linkedin.png ADDED
Binary file
buttons/pagepeel/pinterest.png ADDED
Binary file
buttons/pagepeel/print.png ADDED
Binary file
buttons/pagepeel/reddit.png ADDED
Binary file
buttons/pagepeel/stumbleupon.png ADDED
Binary file
buttons/pagepeel/tumblr.png ADDED
Binary file
buttons/pagepeel/twitter.png ADDED
Binary file
buttons/pagepeel/vk.png ADDED
Binary file
buttons/pagepeel/yummly.png ADDED
Binary file
buttons/plain/buffer.png ADDED
Binary file
buttons/plain/diggit.png ADDED
Binary file
buttons/plain/email.png ADDED
Binary file
buttons/plain/facebook.png ADDED
Binary file
buttons/plain/facebook_save.png ADDED
Binary file
buttons/plain/flattr.png ADDED
Binary file
buttons/plain/google.png ADDED
Binary file
buttons/plain/linkedin.png ADDED
Binary file
buttons/plain/pinterest.png ADDED
Binary file
buttons/plain/print.png ADDED
Binary file
buttons/plain/reddit.png ADDED
Binary file
buttons/plain/stumbleupon.png ADDED
Binary file
buttons/plain/tumblr.png ADDED
Binary file
buttons/plain/twitter.png ADDED
Binary file
buttons/plain/vk.png ADDED
Binary file
buttons/plain/yummly.png ADDED
Binary file
buttons/retro/buffer.png ADDED
Binary file
buttons/retro/diggit.png ADDED
Binary file
buttons/retro/email.png ADDED
Binary file
buttons/retro/facebook.png ADDED
Binary file
buttons/retro/facebook_save.png ADDED
Binary file
buttons/retro/flattr.png ADDED
Binary file
buttons/retro/google.png ADDED
Binary file
buttons/retro/linkedin.png ADDED
Binary file
buttons/retro/pinterest.png ADDED
Binary file
buttons/retro/print.png ADDED
Binary file
buttons/retro/reddit.png ADDED
Binary file
buttons/retro/stumbleupon.png ADDED
Binary file
buttons/retro/tumblr.png ADDED
Binary file
buttons/retro/twitter.png ADDED
Binary file
buttons/retro/vk.png ADDED
Binary file
buttons/retro/yummly.png ADDED
Binary file
buttons/ribbons/buffer.png ADDED
Binary file
buttons/ribbons/diggit.png ADDED
Binary file
buttons/ribbons/email.png ADDED
Binary file
buttons/ribbons/facebook.png ADDED
Binary file
buttons/ribbons/facebook_save.png ADDED
Binary file
buttons/ribbons/flattr.png ADDED
Binary file
buttons/ribbons/google.png ADDED
Binary file
buttons/ribbons/linkedin.png ADDED
Binary file
buttons/ribbons/pinterest.png ADDED
Binary file
buttons/ribbons/print.png ADDED
Binary file
buttons/ribbons/reddit.png ADDED
Binary file
buttons/ribbons/stumbleupon.png ADDED
Binary file
buttons/ribbons/tumblr.png ADDED
Binary file
buttons/ribbons/twitter.png ADDED
Binary file
buttons/ribbons/vk.png ADDED
Binary file
buttons/ribbons/yummly.png ADDED
Binary file
buttons/simple/buffer.png ADDED
Binary file
buttons/simple/diggit.png ADDED
Binary file
buttons/simple/email.png ADDED
Binary file
buttons/simple/facebook.png ADDED
Binary file
buttons/simple/facebook_save.png ADDED
Binary file
buttons/simple/flattr.png ADDED
Binary file
buttons/simple/google.png ADDED
Binary file
buttons/simple/linkedin.png ADDED
Binary file
buttons/simple/pinterest.png ADDED
Binary file
buttons/simple/print.png ADDED
Binary file
buttons/simple/reddit.png ADDED
Binary file
buttons/simple/stumbleupon.png ADDED
Binary file
buttons/simple/tumblr.png ADDED
Binary file
buttons/simple/twitter.png ADDED
Binary file
buttons/simple/vk.png ADDED
Binary file
buttons/simple/yummly.png ADDED
Binary file
buttons/somacro/buffer.png ADDED
Binary file
buttons/somacro/diggit.png ADDED
Binary file
buttons/somacro/email.png ADDED
Binary file
buttons/somacro/facebook.png ADDED
Binary file
buttons/somacro/facebook_save.png ADDED
Binary file
buttons/somacro/flattr.png ADDED
Binary file
buttons/somacro/google.png ADDED
Binary file
buttons/somacro/linkedin.png ADDED
Binary file
buttons/somacro/pinterest.png ADDED
Binary file
buttons/somacro/print.png ADDED
Binary file
buttons/somacro/reddit.png ADDED
Binary file
buttons/somacro/stumbleupon.png ADDED
Binary file
buttons/somacro/tumblr.png ADDED
Binary file
buttons/somacro/twitter.png ADDED
Binary file
buttons/somacro/vk.png ADDED
Binary file
buttons/somacro/yummly.png ADDED
Binary file
css/colorpicker.css ADDED
@@ -0,0 +1,421 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ colpick Color Picker / colpick.com
3
+ */
4
+
5
+ /*Main container*/
6
+ .colpick {
7
+ position: absolute;
8
+ width: 346px;
9
+ height: 170px;
10
+ overflow: hidden;
11
+ display: none;
12
+ font-family: Arial, Helvetica, sans-serif;
13
+ background:#f7f7f7;
14
+ border: 1px solid #e5e5e5;
15
+ -webkit-border-radius: 5px;
16
+ -moz-border-radius: 5px;
17
+ border-radius:5px;
18
+ z-index: 10;
19
+
20
+ /*Prevents selecting text when dragging the selectors*/
21
+ -webkit-user-select: none;
22
+ -moz-user-select: none;
23
+ -ms-user-select: none;
24
+ -o-user-select: none;
25
+ user-select: none;
26
+ }
27
+ /*Color selection box with gradients*/
28
+ .colpick_color {
29
+ position: absolute;
30
+ left: 7px;
31
+ top: 7px;
32
+ width: 156px;
33
+ height: 156px;
34
+ overflow: hidden;
35
+ outline: 1px solid #aaa;
36
+ cursor: crosshair;
37
+ }
38
+ .colpick_color_overlay1 {
39
+ position: absolute;
40
+ left:0;
41
+ top:0;
42
+ width: 156px;
43
+ height: 156px;
44
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')"; /* IE8 */
45
+ background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); /* FF3.6+ */
46
+ background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */
47
+ background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */
48
+ background: -o-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Opera 11.10+ */
49
+ background: -ms-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* IE10+ */
50
+ background: linear-gradient(to right, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
51
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff'); /* IE6 & IE7 */
52
+ }
53
+ .colpick_color_overlay2 {
54
+ position: absolute;
55
+ left:0;
56
+ top:0;
57
+ width: 156px;
58
+ height: 156px;
59
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')"; /* IE8 */
60
+ background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); /* FF3.6+ */
61
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,1))); /* Chrome,Safari4+ */
62
+ background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* Chrome10+,Safari5.1+ */
63
+ background: -o-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* Opera 11.10+ */
64
+ background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* IE10+ */
65
+ background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* W3C */
66
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 ); /* IE6-9 */
67
+ }
68
+ /*Circular color selector*/
69
+ .colpick_selector_outer {
70
+ background:none;
71
+ position: absolute;
72
+ width: 11px;
73
+ height: 11px;
74
+ margin: -6px 0 0 -6px;
75
+ border: 1px solid black;
76
+ border-radius: 50%;
77
+ }
78
+ .colpick_selector_inner{
79
+ position: absolute;
80
+ width: 9px;
81
+ height: 9px;
82
+ border: 1px solid white;
83
+ border-radius: 50%;
84
+ }
85
+ /*Vertical hue bar*/
86
+ .colpick_hue {
87
+ position: absolute;
88
+ top: 6px;
89
+ left: 175px;
90
+ width: 19px;
91
+ height: 156px;
92
+ border: 1px solid #aaa;
93
+ cursor: n-resize;
94
+ }
95
+ /*Hue bar sliding indicator*/
96
+ .colpick_hue_arrs {
97
+ position: absolute;
98
+ left: -8px;
99
+ width: 35px;
100
+ height: 7px;
101
+ margin: -7px 0 0 0;
102
+ }
103
+ .colpick_hue_larr {
104
+ position:absolute;
105
+ width: 0;
106
+ height: 0;
107
+ border-top: 6px solid transparent;
108
+ border-bottom: 6px solid transparent;
109
+ border-left: 7px solid #858585;
110
+ }
111
+ .colpick_hue_rarr {
112
+ position:absolute;
113
+ right:0;
114
+ width: 0;
115
+ height: 0;
116
+ border-top: 6px solid transparent;
117
+ border-bottom: 6px solid transparent;
118
+ border-right: 7px solid #858585;
119
+ }
120
+ /*New color box*/
121
+ .colpick_new_color {
122
+ position: absolute;
123
+ left: 207px;
124
+ top: 6px;
125
+ width: 60px;
126
+ height: 27px;
127
+ background: #f00;
128
+ border: 1px solid #8f8f8f;
129
+ }
130
+ /*Current color box*/
131
+ .colpick_current_color {
132
+ position: absolute;
133
+ left: 277px;
134
+ top: 6px;
135
+ width: 60px;
136
+ height: 27px;
137
+ background: #f00;
138
+ border: 1px solid #8f8f8f;
139
+ }
140
+ /*Input field containers*/
141
+ .colpick_field, .colpick_hex_field {
142
+ position: absolute;
143
+ height: 20px;
144
+ width: 60px;
145
+ overflow:hidden;
146
+ background:#f3f3f3;
147
+ color:#b8b8b8;
148
+ font-size:12px;
149
+ border:1px solid #bdbdbd;
150
+ -webkit-border-radius: 3px;
151
+ -moz-border-radius: 3px;
152
+ border-radius: 3px;
153
+ }
154
+ .colpick_rgb_r {
155
+ top: 40px;
156
+ left: 207px;
157
+ }
158
+ .colpick_rgb_g {
159
+ top: 67px;
160
+ left: 207px;
161
+ }
162
+ .colpick_rgb_b {
163
+ top: 94px;
164
+ left: 207px;
165
+ }
166
+ .colpick_hsb_h {
167
+ top: 40px;
168
+ left: 277px;
169
+ }
170
+ .colpick_hsb_s {
171
+ top: 67px;
172
+ left: 277px;
173
+ }
174
+ .colpick_hsb_b {
175
+ top: 94px;
176
+ left: 277px;
177
+ }
178
+ .colpick_hex_field {
179
+ width: 68px;
180
+ left: 207px;
181
+ top: 121px;
182
+ }
183
+ /*Text field container on focus*/
184
+ .colpick_focus {
185
+ border-color: #999;
186
+ }
187
+ /*Field label container*/
188
+ .colpick_field_letter {
189
+ position: absolute;
190
+ width: 12px;
191
+ height: 20px;
192
+ line-height: 20px;
193
+ padding-left: 4px;
194
+ background: #efefef;
195
+ border-right: 1px solid #bdbdbd;
196
+ font-weight: bold;
197
+ color:#777;
198
+ }
199
+ /*Text inputs*/
200
+ .colpick_field input, .colpick_hex_field input {
201
+ position: absolute;
202
+ right: 11px;
203
+ margin: 0;
204
+ padding: 0;
205
+ height: 20px;
206
+ line-height: 20px;
207
+ background: transparent;
208
+ border: none;
209
+ font-size: 12px;
210
+ font-family: Arial, Helvetica, sans-serif;
211
+ color: #555;
212
+ text-align: right;
213
+ outline: none;
214
+ }
215
+ .colpick_hex_field input {
216
+ right: 4px;
217
+ }
218
+ /*Field up/down arrows*/
219
+ .colpick_field_arrs {
220
+ position: absolute;
221
+ top: 0;
222
+ right: 0;
223
+ width: 9px;
224
+ height: 21px;
225
+ cursor: n-resize;
226
+ }
227
+ .colpick_field_uarr {
228
+ position: absolute;
229
+ top: 5px;
230
+ width: 0;
231
+ height: 0;
232
+ border-left: 4px solid transparent;
233
+ border-right: 4px solid transparent;
234
+ border-bottom: 4px solid #959595;
235
+ }
236
+ .colpick_field_darr {
237
+ position: absolute;
238
+ bottom:5px;
239
+ width: 0;
240
+ height: 0;
241
+ border-left: 4px solid transparent;
242
+ border-right: 4px solid transparent;
243
+ border-top: 4px solid #959595;
244
+ }
245
+ /*Submit/Select button*/
246
+ .colpick_submit {
247
+ position: absolute;
248
+ left: 207px;
249
+ top: 149px;
250
+ width: 130px;
251
+ height: 22px;
252
+ line-height:22px;
253
+ background: #efefef;
254
+ text-align: center;
255
+ color: #555;
256
+ font-size: 12px;
257
+ font-weight:bold;
258
+ border: 1px solid #bdbdbd;
259
+ -webkit-border-radius: 3px;
260
+ -moz-border-radius: 3px;
261
+ border-radius: 3px;
262
+ }
263
+ .colpick_submit:hover {
264
+ background:#f3f3f3;
265
+ border-color:#999;
266
+ cursor: pointer;
267
+ }
268
+
269
+ /*full layout with no submit button*/
270
+ .colpick_full_ns .colpick_submit, .colpick_full_ns .colpick_current_color{
271
+ display:none;
272
+ }
273
+ .colpick_full_ns .colpick_new_color {
274
+ width: 130px;
275
+ height: 25px;
276
+ }
277
+ .colpick_full_ns .colpick_rgb_r, .colpick_full_ns .colpick_hsb_h {
278
+ top: 42px;
279
+ }
280
+ .colpick_full_ns .colpick_rgb_g, .colpick_full_ns .colpick_hsb_s {
281
+ top: 73px;
282
+ }
283
+ .colpick_full_ns .colpick_rgb_b, .colpick_full_ns .colpick_hsb_b {
284
+ top: 104px;
285
+ }
286
+ .colpick_full_ns .colpick_hex_field {
287
+ top: 135px;
288
+ }
289
+
290
+ /*rgbhex layout*/
291
+ .colpick_rgbhex .colpick_hsb_h, .colpick_rgbhex .colpick_hsb_s, .colpick_rgbhex .colpick_hsb_b {
292
+ display:none;
293
+ }
294
+ .colpick_rgbhex {
295
+ width:282px;
296
+ }
297
+ .colpick_rgbhex .colpick_field, .colpick_rgbhex .colpick_submit {
298
+ width:68px;
299
+ }
300
+ .colpick_rgbhex .colpick_new_color {
301
+ width:34px;
302
+ border-right:none;
303
+ }
304
+ .colpick_rgbhex .colpick_current_color {
305
+ width:34px;
306
+ left:240px;
307
+ border-left:none;
308
+ }
309
+
310
+ /*rgbhex layout, no submit button*/
311
+ .colpick_rgbhex_ns .colpick_submit, .colpick_rgbhex_ns .colpick_current_color{
312
+ display:none;
313
+ }
314
+ .colpick_rgbhex_ns .colpick_new_color{
315
+ width:68px;
316
+ border: 1px solid #8f8f8f;
317
+ }
318
+ .colpick_rgbhex_ns .colpick_rgb_r {
319
+ top: 42px;
320
+ }
321
+ .colpick_rgbhex_ns .colpick_rgb_g {
322
+ top: 73px;
323
+ }
324
+ .colpick_rgbhex_ns .colpick_rgb_b {
325
+ top: 104px;
326
+ }
327
+ .colpick_rgbhex_ns .colpick_hex_field {
328
+ top: 135px;
329
+ }
330
+
331
+ /*hex layout*/
332
+ .colpick_hex .colpick_hsb_h, .colpick_hex .colpick_hsb_s, .colpick_hex .colpick_hsb_b, .colpick_hex .colpick_rgb_r, .colpick_hex .colpick_rgb_g, .colpick_hex .colpick_rgb_b {
333
+ display:none;
334
+ }
335
+ .colpick_hex {
336
+ width:206px;
337
+ height:201px;
338
+ }
339
+ .colpick_hex .colpick_hex_field {
340
+ width:72px;
341
+ height:25px;
342
+ top:168px;
343
+ left:80px;
344
+ }
345
+ .colpick_hex .colpick_hex_field div, .colpick_hex .colpick_hex_field input {
346
+ height: 25px;
347
+ line-height: 25px;
348
+ }
349
+ .colpick_hex .colpick_new_color {
350
+ left:9px;
351
+ top:168px;
352
+ width:30px;
353
+ border-right:none;
354
+ }
355
+ .colpick_hex .colpick_current_color {
356
+ left:39px;
357
+ top:168px;
358
+ width:30px;
359
+ border-left:none;
360
+ }
361
+ .colpick_hex .colpick_submit {
362
+ left:164px;
363
+ top: 168px;
364
+ width:30px;
365
+ height:25px;
366
+ line-height: 25px;
367
+ }
368
+
369
+ /*hex layout, no submit button*/
370
+ .colpick_hex_ns .colpick_submit, .colpick_hex_ns .colpick_current_color {
371
+ display:none;
372
+ }
373
+ .colpick_hex_ns .colpick_hex_field {
374
+ width:80px;
375
+ }
376
+ .colpick_hex_ns .colpick_new_color{
377
+ width:60px;
378
+ border: 1px solid #8f8f8f;
379
+ }
380
+
381
+ /*Dark color scheme*/
382
+ .colpick_dark {
383
+ background: #161616;
384
+ border-color: #2a2a2a;
385
+ }
386
+ .colpick_dark .colpick_color {
387
+ outline-color: #333;
388
+ }
389
+ .colpick_dark .colpick_hue {
390
+ border-color: #555;
391
+ }
392
+ .colpick_dark .colpick_field, .colpick_dark .colpick_hex_field {
393
+ background: #101010;
394
+ border-color: #2d2d2d;
395
+ }
396
+ .colpick_dark .colpick_field_letter {
397
+ background: #131313;
398
+ border-color: #2d2d2d;
399
+ color: #696969;
400
+ }
401
+ .colpick_dark .colpick_field input, .colpick_dark .colpick_hex_field input {
402
+ color: #7a7a7a;
403
+ }
404
+ .colpick_dark .colpick_field_uarr {
405
+ border-bottom-color:#696969;
406
+ }
407
+ .colpick_dark .colpick_field_darr {
408
+ border-top-color:#696969;
409
+ }
410
+ .colpick_dark .colpick_focus {
411
+ border-color:#444;
412
+ }
413
+ .colpick_dark .colpick_submit {
414
+ background: #131313;
415
+ border-color:#2d2d2d;
416
+ color:#7a7a7a;
417
+ }
418
+ .colpick_dark .colpick_submit:hover {
419
+ background-color:#101010;
420
+ border-color:#444;
421
+ }
css/readable.css ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ @import url("//fonts.googleapis.com/css?family=Raleway:400,700");/*!
2
+ * bootswatch v3.3.4+1
3
+ * Homepage: http://bootswatch.com
4
+ * Copyright 2012-2015 Thomas Park
5
+ * Licensed under MIT
6
+ * Based on Bootstrap
7
+ *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */.ssbp-admin-wrap{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.ssbp-admin-wrap{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff !important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#4582ec;text-decoration:none}a:hover,a:focus{color:#134fb8;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:22px;margin-bottom:22px;border:0;border-top:1px solid #eeeeee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#b3b3b3}h1,.h1,h2,.h2,h3,.h3{margin-top:22px;margin-bottom:11px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:11px;margin-bottom:11px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:41px}h2,.h2{font-size:34px}h3,.h3{font-size:28px}h4,.h4{font-size:20px}h5,.h5{font-size:16px}h6,.h6{font-size:14px}p{margin:0 0 11px}.lead{margin-bottom:22px;font-size:18px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:24px}}small,.small{font-size:87%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#b3b3b3}.text-primary{color:#4582ec}a.text-primary:hover{color:#1863e6}.text-success{color:#3fad46}a.text-success:hover{color:#318837}.text-info{color:#5bc0de}a.text-info:hover{color:#31b0d5}.text-warning{color:#f0ad4e}a.text-warning:hover{color:#ec971f}.text-danger{color:#d9534f}a.text-danger:hover{color:#c9302c}.bg-primary{color:#fff;background-color:#4582ec}a.bg-primary:hover{background-color:#1863e6}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:10px;margin:44px 0 22px;border-bottom:1px solid #dddddd}ul,ol{margin-top:0;margin-bottom:11px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:22px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #b3b3b3}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:11px 22px;margin:0 0 22px;font-size:20px;border-left:5px solid #4582ec}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#333333}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #4582ec;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:22px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:10.5px;margin:0 0 11px;font-size:15px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#b3b3b3;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:22px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #dddddd}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:16.5px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:22px;font-size:24px;line-height:inherit;color:#333333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:9px;font-size:16px;line-height:1.42857143;color:#333333}.form-control{display:block;width:100%;height:40px;padding:8px 12px;font-size:16px;line-height:1.42857143;color:#333333;background-color:#ffffff;background-image:none;border:1px solid #dddddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#b3b3b3;opacity:1}.form-control:-ms-input-placeholder{color:#b3b3b3}.form-control::-webkit-input-placeholder{color:#b3b3b3}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eeeeee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{line-height:40px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:33px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:57px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:22px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:9px;padding-bottom:9px;margin-bottom:0;min-height:38px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:33px;padding:5px 10px;font-size:14px;line-height:1.5;border-radius:3px}select.input-sm{height:33px;line-height:33px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:33px;padding:5px 10px;font-size:14px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:33px;line-height:33px}textarea.form-group-sm .form-control,select[multiple].form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:33px;padding:5px 10px;font-size:14px;line-height:1.5;min-height:36px}.input-lg{height:57px;padding:14px 16px;font-size:20px;line-height:1.3333333;border-radius:6px}select.input-lg{height:57px;line-height:57px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:57px;padding:14px 16px;font-size:20px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:57px;line-height:57px}textarea.form-group-lg .form-control,select[multiple].form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:57px;padding:14px 16px;font-size:20px;line-height:1.3333333;min-height:42px}.has-feedback{position:relative}.has-feedback .form-control{padding-right:50px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:40px;height:40px;line-height:40px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:57px;height:57px;line-height:57px}.input-sm+.form-control-feedback{width:33px;height:33px;line-height:33px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3fad46}.has-success .form-control{border-color:#3fad46;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#318837;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #81d186;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #81d186}.has-success .input-group-addon{color:#3fad46;border-color:#3fad46;background-color:#dff0d8}.has-success .form-control-feedback{color:#3fad46}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#ec971f;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f8d9ac;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f8d9ac}.has-warning .input-group-addon{color:#f0ad4e;border-color:#f0ad4e;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#f0ad4e}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#d9534f}.has-error .form-control{border-color:#d9534f;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#c9302c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #eba5a3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #eba5a3}.has-error .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#f2dede}.has-error .form-control-feedback{color:#d9534f}.has-feedback label~.form-control-feedback{top:27px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:9px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:31px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:9px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:19.6666662px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:8px 12px;font-size:16px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333333;background-color:#ffffff;border-color:#dddddd}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333333;background-color:#e6e6e6;border-color:#bebebe}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#ffffff;border-color:#dddddd}.btn-default .badge{color:#ffffff;background-color:#333333}.btn-primary{color:#ffffff;background-color:#4582ec;border-color:#4582ec}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#1863e6;border-color:#175fdd}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#4582ec;border-color:#4582ec}.btn-primary .badge{color:#4582ec;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#3fad46;border-color:#3fad46}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#318837;border-color:#2f8034}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#3fad46;border-color:#3fad46}.btn-success .badge{color:#3fad46;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#31b0d5;border-color:#2aabd2}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#5bc0de}.btn-info .badge{color:#5bc0de;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#ec971f;border-color:#eb9316}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning .badge{color:#f0ad4e;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#c9302c;border-color:#c12e2a}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d9534f}.btn-danger .badge{color:#d9534f;background-color:#ffffff}.btn-link{color:#4582ec;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#134fb8;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#b3b3b3;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:14px 16px;font-size:20px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:14px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:14px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:16px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ffffff;background-color:#4582ec}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#4582ec}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#b3b3b3}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:14px;line-height:1.42857143;color:#b3b3b3;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:57px;padding:14px 16px;font-size:20px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:57px;line-height:57px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:33px;padding:5px 10px;font-size:14px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:33px;line-height:33px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:8px 12px;font-size:16px;font-weight:normal;line-height:1;color:#333333;text-align:center;background-color:#eeeeee;border:1px solid #dddddd;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:14px;border-radius:3px}.input-group-addon.input-lg{padding:14px 16px;font-size:20px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee}.nav>li.disabled>a{color:#b3b3b3}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#b3b3b3;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eeeeee;border-color:#4582ec}.nav .nav-divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #dddddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555555;background-color:#ffffff;border:1px solid #dddddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#4582ec}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:65px;margin-bottom:22px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:21.5px 15px;font-size:20px;line-height:22px;height:65px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:15.5px;margin-bottom:15.5px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:10.75px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:22px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:22px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:21.5px;padding-bottom:21.5px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:12.5px;margin-bottom:12.5px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:12.5px;margin-bottom:12.5px}.navbar-btn.btn-sm{margin-top:16px;margin-bottom:16px}.navbar-btn.btn-xs{margin-top:21.5px;margin-bottom:21.5px}.navbar-text{margin-top:21.5px;margin-bottom:21.5px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#ffffff;border-color:#dddddd}.navbar-default .navbar-brand{color:#4582ec}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#4582ec;background-color:transparent}.navbar-default .navbar-text{color:#333333}.navbar-default .navbar-nav>li>a{color:#4582ec}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#4582ec;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#4582ec;background-color:transparent}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#333333;background-color:transparent}.navbar-default .navbar-toggle{border-color:#dddddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#dddddd}.navbar-default .navbar-toggle .icon-bar{background-color:#cccccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#dddddd}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:transparent;color:#4582ec}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#4582ec}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#4582ec;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#4582ec;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#333333;background-color:transparent}}.navbar-default .navbar-link{color:#4582ec}.navbar-default .navbar-link:hover{color:#4582ec}.navbar-default .btn-link{color:#4582ec}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#4582ec}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#333333}.navbar-inverse{background-color:#ffffff;border-color:#dddddd}.navbar-inverse .navbar-brand{color:#333333}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-text{color:#333333}.navbar-inverse .navbar-nav>li>a{color:#333333}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#dddddd}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#dddddd}.navbar-inverse .navbar-toggle .icon-bar{background-color:#cccccc}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#ededed}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:transparent;color:#333333}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#dddddd}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#dddddd}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#333333}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-inverse .navbar-link{color:#333333}.navbar-inverse .navbar-link:hover{color:#333333}.navbar-inverse .btn-link{color:#333333}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#333333}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#cccccc}.breadcrumb{padding:8px 15px;margin-bottom:22px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc}.breadcrumb>.active{color:#b3b3b3}.pagination{display:inline-block;padding-left:0;margin:22px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:8px 12px;line-height:1.42857143;text-decoration:none;color:#333333;background-color:#ffffff;border:1px solid #dddddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#ffffff;background-color:#4582ec;border-color:#4582ec}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#ffffff;background-color:#4582ec;border-color:#4582ec;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#b3b3b3;background-color:#ffffff;border-color:#dddddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:14px 16px;font-size:20px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:14px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:22px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#ffffff;border:1px solid #dddddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#4582ec}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#b3b3b3;background-color:#ffffff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#ffffff}.label-default[href]:hover,.label-default[href]:focus{background-color:#e6e6e6}.label-primary{background-color:#4582ec}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#1863e6}.label-success{background-color:#3fad46}.label-success[href]:hover,.label-success[href]:focus{background-color:#318837}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:14px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#4582ec;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#4582ec;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#f7f7f7}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:24px;font-weight:200}.jumbotron>hr{border-top-color:#dedede}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:72px}}.thumbnail{display:block;padding:4px;margin-bottom:22px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#4582ec}.thumbnail .caption{padding:9px;color:#333333}.alert{padding:15px;margin-bottom:22px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#3fad46;border-color:#3fad46;color:#ffffff}.alert-success hr{border-top-color:#389a3e}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#5bc0de;border-color:#5bc0de;color:#ffffff}.alert-info hr{border-top-color:#46b8da}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#f0ad4e;border-color:#f0ad4e;color:#ffffff}.alert-warning hr{border-top-color:#eea236}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#d9534f;border-color:#d9534f;color:#ffffff}.alert-danger hr{border-top-color:#d43f3a}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:22px;margin-bottom:22px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:14px;line-height:22px;color:#ffffff;text-align:center;background-color:#4582ec;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#3fad46}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555555}a.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;color:#555555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eeeeee;color:#b3b3b3;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#b3b3b3}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#4582ec;border-color:#4582ec}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#fefeff}.list-group-item-success{color:#3fad46;background-color:#dff0d8}a.list-group-item-success{color:#3fad46}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3fad46;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3fad46;border-color:#3fad46}.list-group-item-info{color:#5bc0de;background-color:#d9edf7}a.list-group-item-info{color:#5bc0de}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#5bc0de;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.list-group-item-warning{color:#f0ad4e;background-color:#fcf8e3}a.list-group-item-warning{color:#f0ad4e}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#f0ad4e;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.list-group-item-danger{color:#d9534f;background-color:#f2dede}a.list-group-item-danger{color:#d9534f}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#d9534f;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#d9534f;border-color:#d9534f}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:22px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:18px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#ffffff;border-top:1px solid #dddddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #dddddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:22px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #dddddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dddddd}.panel-default{border-color:#dddddd}.panel-default>.panel-heading{color:#333333;background-color:#f5f5f5;border-color:#dddddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-primary{border-color:#4582ec}.panel-primary>.panel-heading{color:#ffffff;background-color:#4582ec;border-color:#4582ec}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#4582ec}.panel-primary>.panel-heading .badge{color:#4582ec;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#4582ec}.panel-success{border-color:#3fad46}.panel-success>.panel-heading{color:#ffffff;background-color:#3fad46;border-color:#3fad46}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3fad46}.panel-success>.panel-heading .badge{color:#3fad46;background-color:#ffffff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3fad46}.panel-info{border-color:#5bc0de}.panel-info>.panel-heading{color:#ffffff;background-color:#5bc0de;border-color:#5bc0de}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#5bc0de}.panel-info>.panel-heading .badge{color:#5bc0de;background-color:#ffffff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#5bc0de}.panel-warning{border-color:#f0ad4e}.panel-warning>.panel-heading{color:#ffffff;background-color:#f0ad4e;border-color:#f0ad4e}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f0ad4e}.panel-warning>.panel-heading .badge{color:#f0ad4e;background-color:#ffffff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f0ad4e}.panel-danger{border-color:#d9534f}.panel-danger>.panel-heading{color:#ffffff;background-color:#d9534f;border-color:#d9534f}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d9534f}.panel-danger>.panel-heading .badge{color:#d9534f;background-color:#ffffff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d9534f}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f7f7f7;border:1px solid #e5e5e5;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:24px;font-weight:bold;line-height:1;color:#ffffff;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#ffffff;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:14px;font-weight:normal;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-size:16px;font-weight:normal;line-height:1.42857143;text-align:left;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:16px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif}.navbar-nav,.navbar-form{margin-left:0;margin-right:0}.navbar-nav>li>a{padding:8px 12px;margin:12.5px 6px;border:1px solid transparent;border-radius:4px}.navbar-nav>li>a:hover{border:1px solid #ddd}.navbar-nav>.active>a,.navbar-nav>.active>a:hover{border:1px solid #ddd}.navbar-default .navbar-nav>.active>a:hover{color:#4582ec}.navbar-inverse .navbar-nav>.active>a:hover{color:#333333}.navbar-brand{padding-top:12.5px;padding-bottom:12.5px;line-height:1.9}@media (max-width:768px){.navbar .navbar-nav>li>a{margin:0}}.btn{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif}legend{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif}.input-group-addon{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border:1px solid #ddd}.pagination{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif}.pagination-lg>li>a,.pagination-lg>li>span{padding:14px 24px}.pager{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif}.pager a{color:#333333}.pager a:hover{border-color:transparent;color:#fff}.pager .disabled a{border-color:#dddddd}.close{color:#fff;text-decoration:none;text-shadow:none;opacity:0.4}.close:hover,.close:focus{color:#fff;opacity:1}.alert .alert-link{color:#ffffff;text-decoration:underline}.label{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal}.label-default{border:1px solid #ddd;color:#333333}.badge{padding:1px 7px 5px;vertical-align:2px;font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal}.panel{-webkit-box-shadow:none;box-shadow:none}.panel-default .close{color:#333333}.modal .close{color:#333333}
css/ssbp-admin-theme.css ADDED
@@ -0,0 +1,427 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ssbp-btn:before,
2
+ .ssbp-toggle-switch:before {
3
+ display: inline-block;
4
+ font-family: 'ssbp';
5
+ speak: none;
6
+ font-size: 24px;
7
+ font-style: normal;
8
+ font-weight: normal;
9
+ font-variant: normal;
10
+ text-transform: none
11
+ }
12
+ .ssbp-arrow-right:before {
13
+ content: "\e612"
14
+ }
15
+ .ssbp-arrow-left:before {
16
+ content: "\e613"
17
+ }
18
+ .ssbp-arrow-down:before {
19
+ content: "\e619"
20
+ }
21
+ .ssbp-arrow-up:before {
22
+ content: "\e61a"
23
+ }
24
+ .ssbp-chevron-down:before,
25
+ .ssbp-toggle-switch:before {
26
+ content: "\e618"
27
+ }
28
+ .ssbp-chevron-up:before,
29
+ .ssbp--state-hidden .ssbp-toggle-switch:before {
30
+ content: "\e615"
31
+ }
32
+ .ssbp-chevron-right:before,
33
+ .ssbp--fixed-right .ssbp-toggle-switch:before,
34
+ .ssbp--state-hidden.ssbp--fixed-left .ssbp-toggle-switch:before {
35
+ content: "\e616"
36
+ }
37
+ .ssbp-chevron-left:before,
38
+ .ssbp--fixed-left .ssbp-toggle-switch:before,
39
+ .ssbp--state-hidden.ssbp--fixed-right .ssbp-toggle-switch:before {
40
+ content: "\e617"
41
+ }
42
+ .ssbp-simplesharebuttons:before {
43
+ content: "\e611"
44
+ }
45
+ .ssbp-yummly:before {
46
+ content: "\e60b"
47
+ }
48
+ .ssbp-whatsapp:before {
49
+ content: "\e60f"
50
+ }
51
+ .ssbp-diggit:before {
52
+ content: "\e60c"
53
+ }
54
+ .ssbp-buffer:before {
55
+ content: "\e60d"
56
+ }
57
+ .ssbp-close:before {
58
+ content: "\e614"
59
+ }
60
+ .ssbp-twitter:before {
61
+ content: "\e605"
62
+ }
63
+ .ssbp-reddit:before {
64
+ content: "\e606"
65
+ }
66
+ .ssbp-flattr:before {
67
+ content: "\e607"
68
+ }
69
+ .ssbp-tumblr:before {
70
+ content: "\e608"
71
+ }
72
+ .ssbp-linkedin:before {
73
+ content: "\e609"
74
+ }
75
+ .ssbp-google:before {
76
+ content: "\e60a"
77
+ }
78
+ .ssbp-xing:before {
79
+ content: "\e610"
80
+ }
81
+ .ssbp-facebook:before {
82
+ content: "\e60e"
83
+ }
84
+ .ssbp-facebook_save:before {
85
+ content: "\e900";
86
+ }
87
+ .ssbp-vk:before {
88
+ content: "\e600"
89
+ }
90
+ .ssbp-stumbleupon:before {
91
+ content: "\e601"
92
+ }
93
+ .ssbp-print:before {
94
+ content: "\e602"
95
+ }
96
+ .ssbp-pinterest:before {
97
+ content: "\e603"
98
+ }
99
+ .ssbp-email:before {
100
+ content: "\e604"
101
+ }
102
+ @media only screen and (min-width: 481px) {
103
+ .ssbp-li--whatsapp {
104
+ display: none !important
105
+ }
106
+ }
107
+ .ssbp-wrap *,
108
+ .ssbp-wrap *:before,
109
+ .ssbp-wrap *:after {
110
+ box-sizing: border-box
111
+ }
112
+ .ssbp-input-url-div,
113
+ .ssbp-total-shares,
114
+ .ssbp-each-share,
115
+ .ssbp-toggle-switch,
116
+ .ssbp-text {
117
+ display: none
118
+ }
119
+ .ssbp-wrap {
120
+ position: relative;
121
+ display: inline-block;
122
+ padding: 0px;
123
+ font-size: 0;
124
+ color: #272727
125
+ }
126
+ .ssbp-wrap.ssbp--centred {
127
+ display: block;
128
+ text-align: center
129
+ }
130
+ .ssbp-wrap.ssbp--aligned-right {
131
+ display: block;
132
+ text-align: right
133
+ }
134
+ .ssbp-wrap.ssbp--aligned-right .ssbp-container {
135
+ display: inline-block
136
+ }
137
+ .ssbp-wrap .ssbp-container,
138
+ .ssbp-wrap .ssbp-toggle-switch {
139
+ font-size: 16px
140
+ }
141
+ .ssbp-wrap .ssbp-list {
142
+ list-style: none;
143
+ display: inline-block;
144
+ vertical-align: middle;
145
+ margin: 0;
146
+ padding: 0
147
+ }
148
+ .ssbp-wrap .ssbp-list li {
149
+ position: relative;
150
+ display: inline-block;
151
+ vertical-align: top
152
+ }
153
+ .ssbp-wrap .ssbp-list li:first-of-type {
154
+ margin-left: 0
155
+ }
156
+ .ssbp-wrap .ssbp-btn {
157
+ display: inline-block;
158
+ text-align: center;
159
+ text-decoration: none;
160
+ font-family: sans-serif
161
+ }
162
+ .ssbp-wrap.ssbp--stacked .ssbp-list li,
163
+ .ssbp-wrap.ssbp--fixed-left .ssbp-list li,
164
+ .ssbp-wrap.ssbp--fixed-right .ssbp-list li {
165
+ display: block;
166
+ margin-top: 6px;
167
+ margin-left: 0 !important;
168
+ margin-right: 0 !important
169
+ }
170
+ .ssbp-wrap.ssbp--stacked .ssbp-list li:first-of-type,
171
+ .ssbp-wrap.ssbp--fixed-left .ssbp-list li:first-of-type,
172
+ .ssbp-wrap.ssbp--fixed-right .ssbp-list li:first-of-type {
173
+ margin-top: 0
174
+ }
175
+ .ssbp-wrap[class*="ssbp--fixed"] {
176
+ position: fixed;
177
+ z-index: 99999
178
+ }
179
+ .ssbp-wrap[class*="ssbp--fixed"] .ssbp-container {
180
+ -webkit-transition: 0.25s;
181
+ transition: 0.25s
182
+ }
183
+ .ssbp-wrap.ssbp--fixed-top,
184
+ .ssbp-wrap.ssbp--fixed-bottom {
185
+ left: 50%;
186
+ -webkit-transform: translateX(-50%);
187
+ -ms-transform: translateX(-50%);
188
+ transform: translateX(-50%)
189
+ }
190
+ .ssbp-wrap.ssbp--fixed-left,
191
+ .ssbp-wrap.ssbp--fixed-right {
192
+ top: 25%
193
+ }
194
+ .ssbp-wrap.ssbp--fixed-top {
195
+ top: 0
196
+ }
197
+ .ssbp-wrap.ssbp--fixed-bottom {
198
+ bottom: 0
199
+ }
200
+ .ssbp-wrap.ssbp--fixed-left {
201
+ left: 0
202
+ }
203
+ .ssbp-wrap.ssbp--fixed-right {
204
+ right: 0
205
+ }
206
+ .ssbp-wrap[data-ssbp-counts="true"] .ssbp-each-share {
207
+ display: block;
208
+ pointer-events: none
209
+ }
210
+ .ssbp-wrap[data-ssbp-total-counts="true"] .ssbp-total-shares {
211
+ display: inline-block;
212
+ padding: 0 .5em;
213
+ text-align: center;
214
+ font-size: 14px;
215
+ line-height: 2
216
+ }
217
+ .ssbp-wrap.ssbp--fixed-left .ssbp-total-shares,
218
+ .ssbp-wrap.ssbp--fixed-right .ssbp-total-shares,
219
+ .ssbp-wrap.ssbp--stacked .ssbp-total-shares,
220
+ .ssbp-wrap.ssbp--fixed-left .ssbp-total-shares,
221
+ .ssbp-wrap.ssbp--fixed-right .ssbp-total-shares {
222
+ display: block;
223
+ padding: 0
224
+ }
225
+ .ssbp-toggle-switch {
226
+ position: absolute;
227
+ padding: 0;
228
+ border: 0;
229
+ background: transparent;
230
+ text-align: center;
231
+ cursor: pointer;
232
+ -webkit-transition: 0.25s;
233
+ transition: 0.25s;
234
+ display: none !important
235
+ }
236
+ [data-ssbp-toggle="true"][class*="ssbp--fixed"] .ssbp-toggle-switch {
237
+ display: inline-block !important
238
+ }
239
+ .ssbp-toggle-switch:active,
240
+ .ssbp-toggle-switch:hover,
241
+ .ssbp-toggle-switch:focus {
242
+ padding: 0;
243
+ border: 0
244
+ }
245
+ .ssbp--fixed-left .ssbp-toggle-switch,
246
+ .ssbp--fixed-right .ssbp-toggle-switch {
247
+ left: 0;
248
+ bottom: 100%;
249
+ width: 100%
250
+ }
251
+ .ssbp--fixed-top .ssbp-toggle-switch,
252
+ .ssbp--fixed-bottom .ssbp-toggle-switch {
253
+ left: 100%;
254
+ bottom: 0;
255
+ height: 100%
256
+ }
257
+ .ssbp--show-toggle.ssbp--fixed-top .ssbp-toggle-switch:before {
258
+ -webkit-transform: rotate(90deg);
259
+ -ms-transform: rotate(90deg);
260
+ transform: rotate(90deg)
261
+ }
262
+ .ssbp--show-toggle.ssbp--fixed-bottom .ssbp-toggle-switch:before {
263
+ -webkit-transform: rotate(-90deg);
264
+ -ms-transform: rotate(-90deg);
265
+ transform: rotate(-90deg)
266
+ }
267
+ .ssbp--show-toggle.ssbp--fixed-right .ssbp-toggle-switch:before {
268
+ -webkit-transform: rotate(180deg);
269
+ -ms-transform: rotate(180deg);
270
+ transform: rotate(180deg)
271
+ }
272
+ .ssbp--state-hidden .ssbp-each-share {
273
+ opacity: 0
274
+ }
275
+ .ssbp--state-hidden .ssbp-container {
276
+ -webkit-transform: translateX(-100%);
277
+ -ms-transform: translateX(-100%);
278
+ transform: translateX(-100%)
279
+ }
280
+ .ssbp--state-hidden.ssbp--fixed-top .ssbp-container {
281
+ -webkit-transform: translateY(-100%);
282
+ -ms-transform: translateY(-100%);
283
+ transform: translateY(-100%)
284
+ }
285
+ .ssbp--state-hidden.ssbp--fixed-bottom .ssbp-container {
286
+ -webkit-transform: translateY(100%);
287
+ -ms-transform: translateY(100%);
288
+ transform: translateY(100%)
289
+ }
290
+ .ssbp--state-hidden.ssbp--fixed-left .ssbp-container {
291
+ -webkit-transform: translateX(-100%);
292
+ -ms-transform: translateX(-100%);
293
+ transform: translateX(-100%)
294
+ }
295
+ .ssbp--state-hidden.ssbp--fixed-right .ssbp-container {
296
+ -webkit-transform: translateX(100%);
297
+ -ms-transform: translateX(100%);
298
+ transform: translateX(100%)
299
+ }
300
+ .ssbp--theme-4 .ssbp-toggle-switch {
301
+ background: #fff;
302
+ background: rgba(255, 255, 255, 0.8);
303
+ color: #272727;
304
+ border-radius: 0
305
+ }
306
+ .ssbp--theme-4 .ssbp-toggle-switch:active,
307
+ .ssbp--theme-4 .ssbp-toggle-switch:hover,
308
+ .ssbp--theme-4 .ssbp-toggle-switch:focus {
309
+ background: #fff;
310
+ background: rgba(255, 255, 255, 0.9)
311
+ }
312
+ .ssbp--theme-4[class*="ssbp--fixed"] .ssbp-container {
313
+ background-color: rgba(255, 255, 255, 0.8);
314
+ padding: 8px
315
+ }
316
+ .ssbp--theme-4 .ssbp-btn {
317
+ width: 3em;
318
+ height: 3em;
319
+ line-height: 3em;
320
+ border-radius: 7.5px;
321
+ color: #fff;
322
+ -webkit-transition: background-color 0.25s;
323
+ transition: background-color 0.25s;
324
+ box-shadow: inset 0 -1.5em 2em rgba(255, 255, 255, 0.1);
325
+ border-bottom: 0
326
+ }
327
+ .ssbp--theme-4 .ssbp-btn:hover,
328
+ .ssbp--theme-4 .ssbp-btn:focus,
329
+ .ssbp--theme-4 .ssbp-btn:active {
330
+ box-shadow: inset 0 -1.5em 2em rgba(255, 255, 255, 0.1), inset 0 0 3.5em rgba(0, 0, 0, 0.33)
331
+ }
332
+ .ssbp--theme-4 .ssbp-btn:hover,
333
+ .ssbp--theme-4 .ssbp-btn:focus,
334
+ .ssbp--theme-4 .ssbp-btn:active,
335
+ .ssbp--theme-4 .ssbp-btn:visited {
336
+ color: #fff
337
+ }
338
+ .ssbp--theme-4 .ssbp-list li {
339
+ margin-left: 12px
340
+ }
341
+ .ssbp--theme-4 .ssbp-buffer {
342
+ background-color: #272727
343
+ }
344
+ .ssbp--theme-4 .ssbp-diggit {
345
+ background-color: #14589E
346
+ }
347
+ .ssbp--theme-4 .ssbp-email {
348
+ background-color: #787878
349
+ }
350
+ .ssbp--theme-4 .ssbp-ellipsis {
351
+ background-color: #152B3C
352
+ }
353
+ .ssbp--theme-4 .ssbp-facebook {
354
+ background-color: #365397
355
+ }
356
+ .ssbp--theme-4 .ssbp-facebook_save {
357
+ background-color: #365397
358
+ }
359
+ .ssbp--theme-4 .ssbp-flattr {
360
+ background-color: #f67C1A
361
+ }
362
+ .ssbp--theme-4 .ssbp-google {
363
+ background-color: #e0452c
364
+ }
365
+ .ssbp--theme-4 .ssbp-linkedin {
366
+ background-color: #007bb6
367
+ }
368
+ .ssbp--theme-4 .ssbp-pinterest {
369
+ background-color: #ce1a19
370
+ }
371
+ .ssbp--theme-4 .ssbp-print {
372
+ background-color: #1F6B43
373
+ }
374
+ .ssbp--theme-4 .ssbp-reddit {
375
+ background-color: #FF4500
376
+ }
377
+ .ssbp--theme-4 .ssbp-simplesharebuttons {
378
+ background-color: #4582ec
379
+ }
380
+ .ssbp--theme-4 .ssbp-stumbleupon {
381
+ background-color: #EB4924
382
+ }
383
+ .ssbp--theme-4 .ssbp-tumblr {
384
+ background-color: #2C4762
385
+ }
386
+ .ssbp--theme-4 .ssbp-twitter {
387
+ background-color: #00a9f1
388
+ }
389
+ .ssbp--theme-4 .ssbp-vk {
390
+ background-color: #45668E
391
+ }
392
+ .ssbp--theme-4 .ssbp-whatsapp {
393
+ background-color: #34AF23
394
+ }
395
+ .ssbp--theme-4 .ssbp-yummly {
396
+ background-color: #E16120
397
+ }
398
+ .ssbp--theme-4 .ssbp-xing {
399
+ background-color: #026466
400
+ }
401
+ .ssbp--theme-4 .ssbp-each-share {
402
+ position: absolute;
403
+ bottom: 100%;
404
+ right: 0;
405
+ z-index: 11;
406
+ min-width: 1.25em;
407
+ margin-right: -6px;
408
+ margin-bottom: -8px;
409
+ padding: 2px 4px;
410
+ border-radius: 8px;
411
+ background-color: #F22121;
412
+ font-size: 10px;
413
+ color: #FFF;
414
+ text-align: center
415
+ }
416
+ .ssbp--theme-4.ssbp--fixed-right .ssbp-each-share {
417
+ left: auto;
418
+ right: 100%;
419
+ margin-left: 0;
420
+ margin-right: -16px
421
+ }
422
+ .ssbp-share-text {
423
+ font-weight: normal;
424
+ margin: 0 0 10px 0;
425
+ font-size: 12px;
426
+ color: #4582ec
427
+ }
css/ssbp_switch.css ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* ========================================================================
2
+ * bootstrap-switch - v3.3.2
3
+ * http://www.bootstrap-switch.org
4
+ * ========================================================================
5
+ * Copyright 2012-2013 Mattia Larentis
6
+ *
7
+ * ========================================================================
8
+ * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * you may not use this file except in compliance with the License.
10
+ * You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * See the License for the specific language governing permissions and
18
+ * limitations under the License.
19
+ * ========================================================================
20
+ */
21
+
22
+ .bootstrap-switch{display:inline-block;direction:ltr;cursor:pointer;border-radius:4px;border:1px solid;border-color:#ccc;position:relative;text-align:left;overflow:hidden;line-height:8px;z-index:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.bootstrap-switch .bootstrap-switch-container{display:inline-block;top:0;border-radius:4px;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block !important;height:100%;padding:6px 12px;font-size:14px;line-height:20px}.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-handle-off{text-align:center;z-index:1}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary{color:#fff;background:#4583ee}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info{color:#fff;background:#5bc0de}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success{color:#fff;background:#5cb85c}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning{background:#f0ad4e;color:#fff}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger{color:#fff;background:#d9534e}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default{color:#000;background:#eee}.bootstrap-switch .bootstrap-switch-label{text-align:center;margin-top:-1px;margin-bottom:-1px;z-index:100;color:#333;background:#fff}.bootstrap-switch .bootstrap-switch-handle-on{border-bottom-left-radius:3px;border-top-left-radius:3px}.bootstrap-switch .bootstrap-switch-handle-off{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch input[type='radio'],.bootstrap-switch input[type='checkbox']{position:absolute !important;top:0;left:0;opacity:0;filter:alpha(opacity=0);z-index:-1}.bootstrap-switch input[type='radio'].form-control,.bootstrap-switch input[type='checkbox'].form-control{height:auto}.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label{padding:1px 5px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label{padding:5px 10px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label{padding:6px 16px;font-size:18px;line-height:1.33}.bootstrap-switch.bootstrap-switch-disabled,.bootstrap-switch.bootstrap-switch-readonly,.bootstrap-switch.bootstrap-switch-indeterminate{cursor:default !important}.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label{opacity:.5;filter:alpha(opacity=50);cursor:default !important}.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container{-webkit-transition:margin-left .5s;transition:margin-left .5s}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on{border-bottom-left-radius:0;border-top-left-radius:0;border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off{border-bottom-right-radius:0;border-top-right-radius:0;border-bottom-left-radius:3px;border-top-left-radius:3px}.bootstrap-switch.bootstrap-switch-focused{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label{border-bottom-left-radius:3px;border-top-left-radius:3px}
css/style.css ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ssba-admin-wrap {
2
+ background-color: #fff!important;
3
+ margin-left:-20px;
4
+ font-size: 16px;
5
+ line-height: 1.42857143;
6
+ color: #333333;
7
+ font-family: "Raleway","Helvetica Neue",Helvetica,Arial,sans-serif;
8
+ }
9
+
10
+ .container {
11
+ width: 100%;
12
+ }
13
+
14
+ .ssba-float-right-btn {
15
+ float:right;
16
+ margin: 20px 0 0 20px;
17
+ }
18
+
19
+ .ssba-form-wrap {
20
+ padding: 20px;
21
+ }
22
+
23
+ .ssba-admin-wrap .tab-pane {
24
+ padding-top:15px;
25
+ }
26
+
27
+ .tab-pane .input-div {
28
+ margin-bottom: 15px;
29
+ }
30
+
31
+ #ssbasort2 {
32
+ width: 100%;
33
+ }
34
+
35
+ .ssba-logo-img {
36
+ width: 165px;
37
+ height: 47px;
38
+ }
39
+ .ssba-admin-wrap .navbar {
40
+ border-radius: 0;
41
+ }
42
+ .ssba-admin-wrap .modal-dialog {
43
+ margin-top: 60px;
44
+ }
45
+ .ssba-btn-inactive {
46
+ margin-top: 12px;
47
+ }
48
+
49
+ .ssba-admin-wrap .btn a:hover {
50
+ text-decoration: none !important;
51
+ }
52
+
53
+ .ssba-admin-wrap .form-control:not(textarea) {
54
+ height: 40px !important;
55
+ }
56
+
57
+ .checkbox-inline {
58
+ padding-left:0;
59
+ font-size:14px;
60
+ }
61
+
62
+ .ssba-video-container {
63
+ margin-top:15px;
64
+ margin-bottom: 15px;
65
+ position: relative;
66
+ padding-bottom: 56.25%;
67
+ padding-top: 30px; height: 0; overflow: hidden;
68
+ }
69
+
70
+ .ssba-video-container iframe,
71
+ .ssba-video-container object,
72
+ .ssba-video-container embed {
73
+ position: absolute;
74
+ top: 0;
75
+ left: 0;
76
+ width: 95%;
77
+ height: 100%;
78
+ }
79
+
80
+ .ssbp-wrap .ssbp-list {
81
+ min-height: 55px;
82
+ min-width: 200px;
83
+ }
84
+
85
+ .ssba-include-list {
86
+ border: 1px dashed #ADADAD;
87
+ }
88
+
89
+ #ssbasort2 li {
90
+ margin-top: 6px;
91
+ }
92
+
93
+ .ssba-well-instruction {
94
+ text-align: center;
95
+ color: #ADADAD;
96
+ width: 100%;
97
+ margin-bottom: 15px;
98
+ }
99
+
100
+ .ssba-admin-wrap .code-font {
101
+ font-family:Menlo,Monaco,Consolas,"Courier New",monospace !important;
102
+ font-size: 12px;
103
+ }
104
+
105
+ .ssbp--theme-4 .ssbp-list li {
106
+ margin-left: 5px;
107
+ }
108
+
109
+ .ssbp--theme-4 .ssbp-btn {
110
+ width: 2.5em;
111
+ height: 2.5em;
112
+ line-height: 2.5em;
113
+ }
114
+
115
+ .ssbp-btn:before {
116
+ font-size: 18px;
117
+ }
118
+
119
+ .ssba-btn-save-success {
120
+ display: none;
121
+ }
122
+
123
+ .ssba-btn-save, .ssba-btn-save-success {
124
+ width:65px;
125
+ border-radius: 5px 0 0 5px;
126
+ position: fixed;
127
+ z-index: 10;
128
+ right: 0;
129
+ top: 130px;
130
+ }
131
+
132
+ .ssba-btn-thank-you {
133
+ margin-top: -10px;
134
+ }
135
+
136
+ .ssba-admin-wrap footer {
137
+ margin-top: 40px;
138
+ padding: 20px 0 15px 0;
139
+ border-top: 1px solid #dddddd;
140
+ }
141
+
142
+ .ssbp-float-right-btn {
143
+ float: right;
144
+ margin: 20px 0 0 20px;
145
+ }
146
+
147
+ .ssba-navlink-blue {
148
+ color: #fff !important;
149
+ }
150
+
151
+ .ssba-navlink-blue:hover, .ssba-navlink-blue:focus {
152
+ color: #4582ec !important;
153
+ }
154
+
155
+ .margin-bottom {
156
+ margin-bottom: 10px;
157
+ }
158
+
159
+ .ssba-responsive-img {
160
+ width: 100%;
161
+ height: auto;
162
+ }
163
+
164
+ .ssba-spacer {
165
+ margin-top: 20px;
166
+ }
167
+
168
+ .text-20 {
169
+ font-size: 20px;
170
+ }
171
+
172
+ .ssba-nag {
173
+ margin: 20px 20px 20px 0;
174
+ }
fonts/selection.json ADDED
@@ -0,0 +1,896 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "IcoMoonType": "selection",
3
+ "icons": [
4
+ {
5
+ "icon": {
6
+ "paths": [
7
+ "M495.232 622.752l-270.432 272.032v-733.568h542.432v733.568l-272-272.032z"
8
+ ],
9
+ "attrs": [],
10
+ "isMulticolor": false,
11
+ "tags": [
12
+ "bookmark",
13
+ "favorite",
14
+ "ribbon"
15
+ ],
16
+ "grid": 32
17
+ },
18
+ "attrs": [],
19
+ "properties": {
20
+ "order": 1,
21
+ "id": 0,
22
+ "prevSize": 32,
23
+ "code": 59648,
24
+ "name": "facebook_save"
25
+ },
26
+ "setIdx": 0,
27
+ "setId": 2,
28
+ "iconIdx": 0
29
+ },
30
+ {
31
+ "icon": {
32
+ "paths": [
33
+ "M896 160h-768c-70.688 0-128 57.344-128 128v416c0 70.688 57.312 128 128 128h768c70.688 0 128-57.312 128-128v-416c0-70.656-57.312-128-128-128zM64 328l223.968 168-223.968 168v-336zM960 704c0 35.328-28.736 64-64 64h-768c-35.296 0-64-28.672-64-64l250.624-188 139.776 104.864c17.056 12.736 37.312 19.2 57.6 19.2 20.256 0 40.512-6.432 57.568-19.2l139.808-104.864 250.624 188zM960 664l-224-168 224-168v336zM550.368 595.264c-11.168 8.384-24.416 12.8-38.368 12.8s-27.232-4.448-38.4-12.8l-409.6-307.264c0-35.296 28.704-64 64-64h768c35.264 0 64 28.704 64 64l-409.632 307.264z"
34
+ ],
35
+ "attrs": [
36
+ {}
37
+ ],
38
+ "isMulticolor": false,
39
+ "colorPermutations": {
40
+ "6868681": [
41
+ 0
42
+ ]
43
+ },
44
+ "tags": [
45
+ "mail",
46
+ "email",
47
+ "letter",
48
+ "envelope",
49
+ "contact"
50
+ ],
51
+ "grid": 32
52
+ },
53
+ "attrs": [
54
+ {}
55
+ ],
56
+ "properties": {
57
+ "order": 7,
58
+ "id": 0,
59
+ "prevSize": 32,
60
+ "code": 58884,
61
+ "name": "email"
62
+ },
63
+ "setIdx": 1,
64
+ "setId": 1,
65
+ "iconIdx": 24
66
+ },
67
+ {
68
+ "icon": {
69
+ "paths": [
70
+ "M188.486 200.139c142.799-104.322 354.773-91.93 484.256 28.67-34.405 33.664-68.811 67.33-103.397 100.809-96.37-83.977-256.185-74.356-337.573 25.711-100.068 109.317-68.622 303.539 62.335 373.822 123.191 76.395 309.273 12.949 341.088-133.92-74.172-2.035-148.532-0.74-222.708-1.11-0.185-44.392-0.185-88.786-0.185-133.179 123.006 0.185 246.014-0.74 369.203 0.74 11.837 112.276-9.804 233.988-86.011 321.292-94.705 111.352-259.143 145.202-396.025 104.137-132.438-38.845-238.427-154.083-265.989-289.296-33.48-148.162 30.151-311.487 155.006-397.689z",
71
+ "M991.996 336.946c42.666 0 85.335 0 128.002 0 0 42.666 0 85.335 0 127.786 42.666 0.212 85.335 0.212 128.002 0.212 0 42.666 0 85.335 0 128.002-42.666 0-85.335 0-127.786 0-0.212 42.666-0.212 85.335-0.212 128.002-42.666 0-85.335 0-128.002 0 0-42.666 0-85.335 0-127.786-42.666-0.212-85.335-0.212-128.002-0.212 0-42.666 0-85.335 0-128.002 42.666 0 85.335 0 128.002 0 0-42.666 0-85.335 0-128.002z"
72
+ ],
73
+ "attrs": [],
74
+ "isMulticolor": false,
75
+ "grid": 16,
76
+ "tags": [
77
+ "button-gplus (2)"
78
+ ],
79
+ "width": 1280
80
+ },
81
+ "attrs": [],
82
+ "properties": {
83
+ "order": 31,
84
+ "id": 0,
85
+ "prevSize": 32,
86
+ "code": 58890,
87
+ "name": "google"
88
+ },
89
+ "setIdx": 1,
90
+ "setId": 1,
91
+ "iconIdx": 0
92
+ },
93
+ {
94
+ "icon": {
95
+ "paths": [
96
+ "M512 0c-278.748 0-505.458 222.762-511.848 499.974 5.92-241.864 189.832-435.974 415.848-435.974 229.75 0 416 200.576 416 448 0 53.020 42.98 96 96 96s96-42.98 96-96c0-282.77-229.23-512-512-512zM512 1024c278.748 0 505.458-222.762 511.848-499.974-5.92 241.864-189.832 435.974-415.848 435.974-229.75 0-416-200.576-416-448 0-53.020-42.98-96-96-96s-96 42.98-96 96c0 282.77 229.23 512 512 512z"
97
+ ],
98
+ "attrs": [],
99
+ "isMulticolor": false,
100
+ "tags": [
101
+ "spinner",
102
+ "loading",
103
+ "loading-wheel",
104
+ "busy",
105
+ "wait"
106
+ ],
107
+ "grid": 16
108
+ },
109
+ "attrs": [],
110
+ "properties": {
111
+ "order": 1,
112
+ "id": 0,
113
+ "prevSize": 32,
114
+ "code": 58900,
115
+ "name": "spinner"
116
+ },
117
+ "setIdx": 1,
118
+ "setId": 1,
119
+ "iconIdx": 1
120
+ },
121
+ {
122
+ "icon": {
123
+ "paths": [
124
+ "M983.072 216.768l-294.304 296.096 294.304 294.336c12.32 12.288 12.32 32.224 0 44.544l-133.632 133.6c-12.256 12.32-32.192 12.32-44.512 0l-293.824-293.824-292.064 293.824c-12.288 12.32-32.224 12.32-44.544 0l-133.6-133.6c-12.288-12.32-12.288-32.256 0-44.544l292.064-293.824-292.032-292.032c-12.288-12.288-12.288-32.224 0-44.544l133.6-133.6c12.288-12.32 32.224-12.32 44.544 0l291.52 291.52 294.368-296.096c12.32-12.32 32.256-12.32 44.512 0l133.632 133.6c12.256 12.32 12.256 32.256-0.032 44.544z"
125
+ ],
126
+ "attrs": [],
127
+ "isMulticolor": false,
128
+ "tags": [
129
+ "cancel",
130
+ "close",
131
+ "dismiss"
132
+ ],
133
+ "grid": 16
134
+ },
135
+ "attrs": [],
136
+ "properties": {
137
+ "order": 1,
138
+ "id": 0,
139
+ "prevSize": 32,
140
+ "code": 58899,
141
+ "name": "x"
142
+ },
143
+ "setIdx": 1,
144
+ "setId": 1,
145
+ "iconIdx": 2
146
+ },
147
+ {
148
+ "icon": {
149
+ "paths": [
150
+ "M1024 194.418c-37.676 16.708-78.164 28.002-120.66 33.080 43.372-26 76.686-67.17 92.372-116.23-40.596 24.078-85.556 41.56-133.41 50.98-38.32-40.83-92.922-66.34-153.346-66.34-116.022 0-210.088 94.058-210.088 210.078 0 16.466 1.858 32.5 5.44 47.878-174.6-8.764-329.402-92.4-433.018-219.506-18.084 31.028-28.446 67.116-28.446 105.618 0 72.888 37.088 137.192 93.46 174.866-34.438-1.092-66.832-10.542-95.154-26.278-0.020 0.876-0.020 1.756-0.020 2.642 0 101.788 72.418 186.696 168.522 206-17.626 4.8-36.188 7.372-55.348 7.372-13.538 0-26.698-1.32-39.528-3.772 26.736 83.46 104.32 144.206 196.252 145.896-71.9 56.35-162.486 89.934-260.916 89.934-16.958 0-33.68-0.994-50.116-2.94 92.972 59.61 203.402 94.394 322.042 94.394 386.422 0 597.736-320.124 597.736-597.744 0-9.108-0.206-18.168-0.61-27.18 41.056-29.62 76.672-66.62 104.836-108.748z"
151
+ ],
152
+ "attrs": [
153
+ {}
154
+ ],
155
+ "isMulticolor": false,
156
+ "colorPermutations": {
157
+ "6868681": [
158
+ 0
159
+ ]
160
+ },
161
+ "tags": [
162
+ "twitter",
163
+ "brand",
164
+ "tweet",
165
+ "social"
166
+ ],
167
+ "grid": 16
168
+ },
169
+ "attrs": [
170
+ {}
171
+ ],
172
+ "properties": {
173
+ "order": 8,
174
+ "id": 6,
175
+ "prevSize": 32,
176
+ "code": 58885,
177
+ "name": "twitter"
178
+ },
179
+ "setIdx": 1,
180
+ "setId": 1,
181
+ "iconIdx": 3
182
+ },
183
+ {
184
+ "icon": {
185
+ "paths": [
186
+ "M256 640c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM640 640c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM643.112 776.778c16.482-12.986 40.376-10.154 53.364 6.332s10.152 40.378-6.334 53.366c-45.896 36.158-115.822 59.524-178.142 59.524-62.322 0-132.248-23.366-178.144-59.522-16.486-12.99-19.32-36.882-6.332-53.368 12.99-16.482 36.882-19.318 53.366-6.332 26.422 20.818 78.722 43.222 131.11 43.222s104.688-22.404 131.112-43.222zM1024 512c0-70.692-57.308-128-128-128-48.116 0-89.992 26.57-111.852 65.82-65.792-35.994-145.952-59.246-233.28-64.608l76.382-171.526 146.194 42.2c13.152 37.342 48.718 64.114 90.556 64.114 53.020 0 96-42.98 96-96s-42.98-96-96-96c-36.56 0-68.342 20.442-84.554 50.514l-162.906-47.024c-18.224-5.258-37.538 3.722-45.252 21.052l-103.77 233.026c-85.138 5.996-163.262 29.022-227.636 64.236-21.864-39.25-63.766-65.804-111.882-65.804-70.692 0-128 57.308-128 128 0 52.312 31.402 97.254 76.372 117.102-8.070 24.028-12.372 49.104-12.372 74.898 0 176.73 200.576 320 448 320 247.422 0 448-143.27 448-320 0-25.792-4.3-50.862-12.368-74.886 44.97-19.85 76.368-64.802 76.368-117.114zM864 188c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36 16.118-36 36-36zM64 512c0-35.29 28.71-64 64-64 25.508 0 47.572 15.004 57.846 36.646-33.448 25.366-61.166 54.626-81.666 86.738-23.524-9.47-40.18-32.512-40.18-59.384zM512 948c-205.45 0-372-109.242-372-244s166.55-244 372-244c205.45 0 372 109.242 372 244s-166.55 244-372 244zM919.82 571.384c-20.5-32.112-48.218-61.372-81.666-86.738 10.276-21.642 32.338-36.646 57.846-36.646 35.29 0 64 28.71 64 64 0 26.872-16.656 49.914-40.18 59.384z"
187
+ ],
188
+ "attrs": [
189
+ {}
190
+ ],
191
+ "isMulticolor": false,
192
+ "colorPermutations": {
193
+ "6868681": [
194
+ 0
195
+ ]
196
+ },
197
+ "tags": [
198
+ "reddit",
199
+ "brand",
200
+ "social"
201
+ ],
202
+ "grid": 16
203
+ },
204
+ "attrs": [
205
+ {}
206
+ ],
207
+ "properties": {
208
+ "order": 9,
209
+ "id": 5,
210
+ "prevSize": 32,
211
+ "code": 58886,
212
+ "name": "reddit"
213
+ },
214
+ "setIdx": 1,
215
+ "setId": 1,
216
+ "iconIdx": 4
217
+ },
218
+ {
219
+ "icon": {
220
+ "paths": [
221
+ "M367.562 0c-243.358 0-367.562 140.162-367.562 401.856v0 549.034l238.39-238.628v-278.896c0-108.416 28.73-177.406 125.118-192.894v0c33.672-6.584 103.75-4.278 148.306-4.278v0 165.596c0 1.51 0.208 4.206 0.594 5.586v0c1.87 6.704 7.93 11.616 15.116 11.63v0c4.062 0.008 7.868-2.104 11.79-5.97v0l413.122-412.974-584.874-0.062zM785.61 311.746v278.89c0 108.414-28.736 177.414-125.116 192.894v0c-33.672 6.582-103.756 4.278-148.312 4.278v0-165.594c0-1.5-0.206-4.204-0.594-5.582v0c-1.864-6.712-7.922-11.622-15.112-11.63v0c-4.064-0.008-7.866 2.112-11.79 5.966v0l-413.124 412.966 584.874 0.066c243.354 0 367.564-140.168 367.564-401.852v0-549.028l-238.39 238.626z"
222
+ ],
223
+ "attrs": [
224
+ {}
225
+ ],
226
+ "isMulticolor": false,
227
+ "colorPermutations": {
228
+ "6868681": [
229
+ 0
230
+ ]
231
+ },
232
+ "tags": [
233
+ "flattr",
234
+ "brand",
235
+ "donate",
236
+ "social"
237
+ ],
238
+ "grid": 16
239
+ },
240
+ "attrs": [
241
+ {}
242
+ ],
243
+ "properties": {
244
+ "order": 10,
245
+ "id": 4,
246
+ "prevSize": 32,
247
+ "code": 58887,
248
+ "name": "flattr"
249
+ },
250
+ "setIdx": 1,
251
+ "setId": 1,
252
+ "iconIdx": 5
253
+ },
254
+ {
255
+ "icon": {
256
+ "paths": [
257
+ "M576.032 448l-0.002 234.184c0 59.418-0.77 93.656 5.53 110.5 6.25 16.754 21.918 34.146 38.99 44.202 22.684 13.588 48.542 20.376 77.708 20.376 51.854 0 82.478-6.848 133.742-40.54v153.944c-43.7 20.552-81.866 32.594-117.324 40.922-35.5 8.242-73.86 12.406-115.064 12.406-46.828 0-74.456-5.886-110.41-17.656-35.958-11.868-66.66-28.806-92.020-50.54-25.45-21.922-43.022-45.208-52.848-69.832-9.826-24.636-14.716-60.414-14.716-107.244v-359.1h-137.426v-145.006c40.208-13.042 85.164-31.788 113.78-56.152 28.754-24.45 51.766-53.706 69.106-87.944 17.392-34.146 29.348-77.712 35.872-130.516h165.084l-0.002 255.996h255.968v192h-255.968z"
258
+ ],
259
+ "attrs": [
260
+ {}
261
+ ],
262
+ "isMulticolor": false,
263
+ "colorPermutations": {
264
+ "6868681": [
265
+ 0
266
+ ]
267
+ },
268
+ "tags": [
269
+ "tumblr",
270
+ "brand",
271
+ "social"
272
+ ],
273
+ "grid": 16
274
+ },
275
+ "attrs": [
276
+ {}
277
+ ],
278
+ "properties": {
279
+ "order": 11,
280
+ "id": 3,
281
+ "prevSize": 32,
282
+ "code": 58888,
283
+ "name": "tumblr"
284
+ },
285
+ "setIdx": 1,
286
+ "setId": 1,
287
+ "iconIdx": 6
288
+ },
289
+ {
290
+ "icon": {
291
+ "paths": [
292
+ "M384 384h177.106v90.782h2.532c24.64-44.194 84.958-90.782 174.842-90.782 186.946 0 221.52 116.376 221.52 267.734v308.266h-184.61v-273.278c0-65.184-1.334-149.026-96.028-149.026-96.148 0-110.82 70.986-110.82 144.292v278.012h-184.542v-576z",
293
+ "M64 384h192v576h-192v-576z",
294
+ "M256 224c0 53.019-42.981 96-96 96s-96-42.981-96-96c0-53.019 42.981-96 96-96s96 42.981 96 96z"
295
+ ],
296
+ "attrs": [
297
+ {},
298
+ {},
299
+ {}
300
+ ],
301
+ "isMulticolor": false,
302
+ "colorPermutations": {
303
+ "6868681": [
304
+ 0,
305
+ 0,
306
+ 0
307
+ ]
308
+ },
309
+ "tags": [
310
+ "linkedin",
311
+ "brand",
312
+ "social"
313
+ ],
314
+ "grid": 16
315
+ },
316
+ "attrs": [
317
+ {},
318
+ {},
319
+ {}
320
+ ],
321
+ "properties": {
322
+ "order": 12,
323
+ "id": 2,
324
+ "prevSize": 32,
325
+ "code": 58889,
326
+ "name": "linkedin"
327
+ },
328
+ "setIdx": 1,
329
+ "setId": 1,
330
+ "iconIdx": 7
331
+ },
332
+ {
333
+ "icon": {
334
+ "paths": [
335
+ "M219.429 420.571v109.714q0 22.857-16 38.857t-38.857 16h-109.714q-22.857 0-38.857-16t-16-38.857v-109.714q0-22.857 16-38.857t38.857-16h109.714q22.857 0 38.857 16t16 38.857zM512 420.571v109.714q0 22.857-16 38.857t-38.857 16h-109.714q-22.857 0-38.857-16t-16-38.857v-109.714q0-22.857 16-38.857t38.857-16h109.714q22.857 0 38.857 16t16 38.857zM804.571 420.571v109.714q0 22.857-16 38.857t-38.857 16h-109.714q-22.857 0-38.857-16t-16-38.857v-109.714q0-22.857 16-38.857t38.857-16h109.714q22.857 0 38.857 16t16 38.857z"
336
+ ],
337
+ "attrs": [],
338
+ "isMulticolor": false,
339
+ "width": 805,
340
+ "tags": [
341
+ "ellipsis-h"
342
+ ],
343
+ "grid": 14
344
+ },
345
+ "attrs": [],
346
+ "properties": {
347
+ "order": 1,
348
+ "id": 0,
349
+ "prevSize": 14,
350
+ "code": 58898,
351
+ "name": "ellipsis"
352
+ },
353
+ "setIdx": 1,
354
+ "setId": 1,
355
+ "iconIdx": 8
356
+ },
357
+ {
358
+ "icon": {
359
+ "paths": [
360
+ "M341.143 381.143q-5.714 10.286-146.857 260.571-15.429 26.286-37.143 26.286h-136.571q-12 0-17.714-9.714t0-20.571l144.571-256q0.571 0 0-0.571l-92-159.429q-6.857-12.571-0.571-21.143 5.143-8.571 18.286-8.571h136.571q22.857 0 37.714 25.714zM801.714 14.286q6.286 9.143 0 21.143l-301.714 533.714v0.571l192 351.429q6.286 11.429 0.571 21.143-5.714 8.571-18.286 8.571h-136.571q-24 0-37.714-25.714l-193.714-355.429q10.286-18.286 303.429-538.286 14.286-25.714 36.571-25.714h137.714q12.571 0 17.714 8.571z"
361
+ ],
362
+ "width": 805,
363
+ "attrs": [
364
+ {}
365
+ ],
366
+ "isMulticolor": false,
367
+ "colorPermutations": {
368
+ "6868681": [
369
+ 0
370
+ ]
371
+ },
372
+ "tags": [
373
+ "xing"
374
+ ],
375
+ "grid": 14
376
+ },
377
+ "attrs": [
378
+ {}
379
+ ],
380
+ "properties": {
381
+ "order": 3,
382
+ "id": 0,
383
+ "prevSize": 14,
384
+ "code": 58896,
385
+ "name": "xing"
386
+ },
387
+ "setIdx": 1,
388
+ "setId": 1,
389
+ "iconIdx": 9
390
+ },
391
+ {
392
+ "icon": {
393
+ "paths": [
394
+ "M548 6.857v150.857h-89.714q-49.143 0-66.286 20.571t-17.143 61.714v108h167.429l-22.286 169.143h-145.143v433.714h-174.857v-433.714h-145.714v-169.143h145.714v-124.571q0-106.286 59.429-164.857t158.286-58.571q84 0 130.286 6.857z"
395
+ ],
396
+ "width": 585,
397
+ "attrs": [
398
+ {}
399
+ ],
400
+ "isMulticolor": false,
401
+ "colorPermutations": {
402
+ "6868681": [
403
+ 0
404
+ ]
405
+ },
406
+ "tags": [
407
+ "facebook"
408
+ ],
409
+ "grid": 14
410
+ },
411
+ "attrs": [
412
+ {}
413
+ ],
414
+ "properties": {
415
+ "order": 14,
416
+ "id": 0,
417
+ "prevSize": 14,
418
+ "code": 58894,
419
+ "name": "facebook"
420
+ },
421
+ "setIdx": 1,
422
+ "setId": 1,
423
+ "iconIdx": 10
424
+ },
425
+ {
426
+ "icon": {
427
+ "paths": [
428
+ "M1095.429 297.143q13.143 36.571-85.714 168-13.714 18.286-37.143 48.571-44.571 57.143-51.429 74.857-9.714 23.429 8 46.286 9.714 12 46.286 46.857h0.571l2.286 2.286q80.571 74.857 109.143 126.286 1.714 2.857 3.714 7.143t4 15.143-0.286 19.429-14.286 15.714-33.714 7.143l-146.286 2.286q-13.714 2.857-32-2.857t-29.714-12.571l-11.429-6.857q-17.143-12-40-36.571t-39.143-44.286-34.857-33.143-32.286-8.857q-1.714 0.571-4.571 2t-9.714 8.286-12.286 16.857-9.714 29.714-3.714 44.286q0 8.571-2 15.714t-4.286 10.571l-2.286 2.857q-10.286 10.857-30.286 12.571h-65.714q-40.571 2.286-83.429-9.429t-75.143-30.286-58.857-37.714-40.286-32.857l-14.286-13.714q-5.714-5.714-15.714-17.143t-40.857-52-60.571-86.286-70-120.571-74.571-155.429q-3.429-9.143-3.429-15.429t1.714-9.143l2.286-3.429q8.571-10.857 32.571-10.857l156.571-1.143q6.857 1.143 13.143 3.714t9.143 4.857l2.857 1.714q9.143 6.286 13.714 18.286 11.429 28.571 26.286 59.143t23.429 46.571l9.143 16.571q16.571 34.286 32 59.429t27.714 39.143 23.714 22 19.429 8 15.429-2.857q1.143-0.571 2.857-2.857t6.857-12.571 7.714-26.857 5.429-46.286 0-71.429q-1.143-22.857-5.143-41.714t-8-26.286l-3.429-6.857q-14.286-19.429-48.571-24.571-7.429-1.143 2.857-13.714 9.714-10.857 21.714-17.143 30.286-14.857 136.571-13.714 46.857 0.571 77.143 7.429 11.429 2.857 19.143 7.714t11.714 13.714 6 18.286 2 26-0.571 31.429-1.429 40.286-0.857 47.143q0 6.286-0.571 24t-0.286 27.429 2 23.143 6.571 22.286 12.857 14q4.571 1.143 9.714 2.286t14.857-6.286 21.714-19.714 29.714-38.286 38.857-61.429q34.286-59.429 61.143-128.571 2.286-5.714 5.714-10t6.286-6l2.286-1.714 2.857-1.429t7.429-1.714 11.429-0.286l164.571-1.143q22.286-2.857 36.571 1.429t17.714 9.429z"
429
+ ],
430
+ "width": 1097,
431
+ "attrs": [
432
+ {}
433
+ ],
434
+ "isMulticolor": false,
435
+ "colorPermutations": {
436
+ "6868681": [
437
+ 0
438
+ ]
439
+ },
440
+ "tags": [
441
+ "vk"
442
+ ],
443
+ "grid": 14
444
+ },
445
+ "attrs": [
446
+ {}
447
+ ],
448
+ "properties": {
449
+ "order": 1,
450
+ "id": 1,
451
+ "prevSize": 14,
452
+ "code": 58880,
453
+ "name": "vk"
454
+ },
455
+ "setIdx": 1,
456
+ "setId": 1,
457
+ "iconIdx": 11
458
+ },
459
+ {
460
+ "icon": {
461
+ "paths": [
462
+ "M606.857 406.857v-67.429q0-24-17.143-41.143t-41.143-17.143-41.143 17.143-17.143 41.143v349.714q0 100-72 170.857t-173.143 70.857q-101.714 0-173.429-71.714t-71.714-173.429v-152h187.429v149.714q0 24.571 17.143 41.429t41.143 16.857 41.143-16.857 17.143-41.429v-354.286q0-97.714 72.286-166.857t172.286-69.143q100.571 0 172.571 69.714t72 168v77.714l-111.429 33.143zM909.714 533.714h187.429v152q0 101.714-71.714 173.429t-173.429 71.714q-101.143 0-173.143-71.143t-72-171.714v-153.143l74.857 34.857 111.429-33.143v154.286q0 24 17.143 40.857t41.143 16.857 41.143-16.857 17.143-40.857v-157.143z"
463
+ ],
464
+ "width": 1097,
465
+ "attrs": [
466
+ {}
467
+ ],
468
+ "isMulticolor": false,
469
+ "colorPermutations": {
470
+ "6868681": [
471
+ 0
472
+ ]
473
+ },
474
+ "tags": [
475
+ "stumbleupon"
476
+ ],
477
+ "grid": 14
478
+ },
479
+ "attrs": [
480
+ {}
481
+ ],
482
+ "properties": {
483
+ "order": 2,
484
+ "id": 0,
485
+ "prevSize": 14,
486
+ "code": 58881,
487
+ "name": "stumbleupon"
488
+ },
489
+ "setIdx": 1,
490
+ "setId": 1,
491
+ "iconIdx": 12
492
+ },
493
+ {
494
+ "icon": {
495
+ "paths": [
496
+ "M508.84 0c-281.025 0-508.84 212.249-508.84 474.074 0 149.191 73.993 282.267 189.63 369.168v180.758l173.255-95.678c46.238 12.876 95.223 19.826 145.955 19.826 281.025 0 508.84-212.249 508.84-474.074s-227.815-474.074-508.84-474.074zM559.407 638.42l-129.58-139.062-252.84 139.062 278.123-297.086 132.741 139.062 249.679-139.062-278.123 297.086z"
497
+ ],
498
+ "attrs": [
499
+ {}
500
+ ],
501
+ "isMulticolor": false,
502
+ "width": 1018,
503
+ "grid": 0,
504
+ "tags": [
505
+ "facebook-messenger"
506
+ ]
507
+ },
508
+ "attrs": [
509
+ {}
510
+ ],
511
+ "properties": {
512
+ "order": 29,
513
+ "id": 0,
514
+ "prevSize": 32,
515
+ "code": 58897,
516
+ "name": "facebook-messenger"
517
+ },
518
+ "setIdx": 1,
519
+ "setId": 1,
520
+ "iconIdx": 13
521
+ },
522
+ {
523
+ "icon": {
524
+ "paths": [
525
+ "M321.707 366.293l195.627 195.627 195.627-195.627 60.373 60.373-256 256-256-256z"
526
+ ],
527
+ "attrs": [
528
+ {}
529
+ ],
530
+ "isMulticolor": false,
531
+ "colorPermutations": {
532
+ "6868681": [
533
+ 0
534
+ ]
535
+ },
536
+ "tags": [
537
+ "keyboard-arrow-down"
538
+ ],
539
+ "grid": 24
540
+ },
541
+ "attrs": [
542
+ {}
543
+ ],
544
+ "properties": {
545
+ "order": 2,
546
+ "id": 7,
547
+ "prevSize": 24,
548
+ "code": 58904,
549
+ "name": "chevron-down"
550
+ },
551
+ "setIdx": 1,
552
+ "setId": 1,
553
+ "iconIdx": 14
554
+ },
555
+ {
556
+ "icon": {
557
+ "paths": [
558
+ "M702.293 657.707l-195.627-195.627-195.627 195.627-60.373-60.373 256-256 256 256z"
559
+ ],
560
+ "attrs": [
561
+ {}
562
+ ],
563
+ "isMulticolor": false,
564
+ "colorPermutations": {
565
+ "6868681": [
566
+ 0
567
+ ]
568
+ },
569
+ "tags": [
570
+ "keyboard-arrow-up"
571
+ ],
572
+ "grid": 24
573
+ },
574
+ "attrs": [
575
+ {}
576
+ ],
577
+ "properties": {
578
+ "order": 1,
579
+ "id": 8,
580
+ "prevSize": 24,
581
+ "code": 58901,
582
+ "name": "chevron-up"
583
+ },
584
+ "setIdx": 1,
585
+ "setId": 1,
586
+ "iconIdx": 15
587
+ },
588
+ {
589
+ "icon": {
590
+ "paths": [
591
+ "M366.293 702.293l195.627-195.627-195.627-195.627 60.373-60.373 256 256-256 256z"
592
+ ],
593
+ "attrs": [
594
+ {}
595
+ ],
596
+ "isMulticolor": false,
597
+ "colorPermutations": {
598
+ "6868681": [
599
+ 0
600
+ ]
601
+ },
602
+ "tags": [
603
+ "keyboard-arrow-right"
604
+ ],
605
+ "grid": 24
606
+ },
607
+ "attrs": [
608
+ {}
609
+ ],
610
+ "properties": {
611
+ "order": 27,
612
+ "id": 2,
613
+ "prevSize": 24,
614
+ "code": 58902,
615
+ "name": "chevron-right"
616
+ },
617
+ "setIdx": 1,
618
+ "setId": 1,
619
+ "iconIdx": 16
620
+ },
621
+ {
622
+ "icon": {
623
+ "paths": [
624
+ "M657.707 696.96l-195.627-195.627 195.627-195.627-60.373-60.373-256 256 256 256z"
625
+ ],
626
+ "attrs": [
627
+ {}
628
+ ],
629
+ "isMulticolor": false,
630
+ "colorPermutations": {
631
+ "6868681": [
632
+ 0
633
+ ]
634
+ },
635
+ "tags": [
636
+ "keyboard-arrow-left"
637
+ ],
638
+ "grid": 24
639
+ },
640
+ "attrs": [
641
+ {}
642
+ ],
643
+ "properties": {
644
+ "order": 3,
645
+ "id": 1,
646
+ "prevSize": 24,
647
+ "code": 58903,
648
+ "name": "chevron-left"
649
+ },
650
+ "setIdx": 1,
651
+ "setId": 1,
652
+ "iconIdx": 17
653
+ },
654
+ {
655
+ "icon": {
656
+ "paths": [
657
+ "M310.909 233.644c18.562-12.937 62.293-18.169 74.267 1.727 6.818 11.329 3.21 35.258 0 53.54-19.941 113.531-43.798 244.244-62.179 350.607 100.739 10.269 206.112 32.519 314.337 48.36 121.619 17.801 266.81 25.201 354.058-34.541 15.836 12.075 32.691 28.155 31.092 53.538-1.958 31.003-47.862 47.411-77.723 56.996-36.47 11.706-75.527 17.405-117.443 17.273-186.82-0.602-341.378-72.731-512.956-81.176-18.475 82.673-56.465 182.378-162.348 177.894-45.624-1.935-83.57-30.375-86.357-79.449-2.847-50.147 27.856-90.086 56.996-112.261 34.2-26.030 74.933-38.733 124.353-44.909 2.225-18.495 6.849-34.598 8.636-53.538-8.178-1.49-16.234 4.847-24.178 8.641-32.41 15.45-101.937 36.512-143.351 12.087-60.167-35.487-14.78-134.791 0-189.984 5.338-19.939 10.44-41.235 15.544-60.447 5.021-18.901 14.488-41.718 1.727-58.723-21.839-4.765-39.728 6.393-53.542 17.271-4.287 3.376-5.779 11.682-12.088 8.636-14.285-11.334-32.961-25.185-31.089-48.36 1.882-23.277 42.708-41.129 63.903-48.358 66.239-22.593 124.698 3.316 117.444 81.174-3.169 34.014-17.29 72.653-25.907 105.354-9.305 35.308-24.347 69.784-18.999 108.807 15.596 18.314 46.718 9.308 67.359 3.453 22.746-6.449 45.52-15.379 58.723-25.904 8.284-38.014 13.826-75.626 20.724-113.992 8.849-49.213 23.229-95.345 18.997-153.716zM157.194 798.413c58.354 8.762 65.801-48.126 77.72-91.539-51.84 0.937-107.691 50.43-77.72 91.539zM751.324 363.179c-10.685-23.716-58.813-23.149-77.722-6.909 7.555 30.379-1.379 51.598-6.907 82.901-3.367 19.072-5.193 39.48-8.636 58.723-6.91 38.617-23.741 88.448-13.819 112.261 8.458 20.303 59.015 21.059 74.267 3.456-3.323-61.36 17.881-125.285 25.905-186.528 12.735-5.040 35.311-22.707 50.089-10.363 15.602 13.036-2.35 70.692-6.909 98.446-5.731 34.901-20.975 81.94-6.909 100.173 9.928 12.868 51.666 15.392 72.537 0-6.567-64.754 17.853-125.213 24.18-188.256 13.128-4.673 35.077-22.905 50.089-10.363 8.841 7.385 4.929 31.094 1.727 50.086-3.18 18.845-5.77 33.241-8.636 50.086-6.033 35.461-21.33 83.048-5.181 100.173 10.786 11.441 51.357 12.86 70.811-1.727-3.7-48.147 5.42-84.332 13.819-131.261 6.139-34.324 16.428-67.937 13.814-94.991-6.979-72.255-98.601-46.592-138.168-20.727-19.041-43.709-93.162-24.912-124.353-5.178zM476.713 452.989c5.702-32.468 18.188-69.53 10.363-91.539-8.127-22.861-58.093-20.499-75.993-5.181 7.052 36.431-3.326 65.297-10.363 105.354-4.862 27.686-11.988 57.073-13.817 81.174-7.084 93.387 73.929 89.324 131.261 58.72 6.42 7.578 6.465 15.575 17.271 20.727 19.238 9.175 51.5 2.313 63.901-8.636-6.354-50.848 4.893-88.924 15.546-146.806 5.82-31.643 25.288-89.989 10.361-110.536-12.582-17.319-58.276-15.305-72.538 1.729 5.076 59.885-16.836 120.827-24.18 179.62-14.437 8.253-44.276 19.048-60.448 5.181-5.996-23.323 2.611-55.511 8.636-89.808z"
658
+ ],
659
+ "attrs": [
660
+ {}
661
+ ],
662
+ "isMulticolor": false,
663
+ "colorPermutations": {
664
+ "6868681": [
665
+ 0
666
+ ]
667
+ },
668
+ "tags": [
669
+ "Untitled-2"
670
+ ],
671
+ "grid": 24
672
+ },
673
+ "attrs": [
674
+ {}
675
+ ],
676
+ "properties": {
677
+ "order": 17,
678
+ "id": 0,
679
+ "prevSize": 24,
680
+ "code": 58891,
681
+ "name": "yummly"
682
+ },
683
+ "setIdx": 1,
684
+ "setId": 1,
685
+ "iconIdx": 18
686
+ },
687
+ {
688
+ "icon": {
689
+ "paths": [
690
+ "M1024 498.813c0 275.49-225.041 498.813-502.693 498.813-88.144 0-170.951-22.528-242.995-62.066l-278.312 88.439 90.738-267.628c-45.773-75.162-72.135-163.317-72.135-257.559 0-275.49 225.064-498.813 502.704-498.813 277.675 0 502.693 223.323 502.693 498.813zM521.307 79.44c-233.062 0-422.639 188.132-422.639 419.374 0 91.762 29.912 176.742 80.509 245.874l-52.804 155.75 162.418-51.621c66.731 43.816 146.671 69.37 232.528 69.37 233.028 0 422.639-188.109 422.639-419.351s-189.599-419.396-422.65-419.396zM775.157 613.695c-3.106-5.086-11.31-8.158-23.62-14.268-12.334-6.11-72.932-35.703-84.196-39.765-11.298-4.073-19.536-6.121-27.739 6.11-8.203 12.242-31.824 39.765-39.026 47.923-7.191 8.181-14.37 9.205-26.704 3.083-12.311-6.11-52.008-19.035-99.078-60.678-36.625-32.404-61.36-72.408-68.551-84.662-7.179-12.231-0.751-18.842 5.404-24.929 5.552-5.484 12.334-14.279 18.489-21.413 6.178-7.145 8.226-12.231 12.311-20.4 4.13-8.158 2.071-15.292-1.024-21.424-3.072-6.11-27.739-66.276-38.002-90.761-10.263-24.462-20.514-20.389-27.716-20.389-7.179 0-15.406-1.024-23.62-1.024s-21.572 3.061-32.87 15.292c-11.287 12.242-43.11 41.825-43.11 101.979 0 60.166 44.134 118.295 50.313 126.441 6.155 8.146 85.22 135.623 210.489 184.582 125.281 48.936 125.281 32.609 147.877 30.561 22.574-2.037 72.886-29.571 83.194-58.106 10.24-28.581 10.24-53.055 7.179-58.152z"
691
+ ],
692
+ "attrs": [
693
+ {}
694
+ ],
695
+ "isMulticolor": false,
696
+ "colorPermutations": {
697
+ "6868681": [
698
+ 0
699
+ ]
700
+ },
701
+ "tags": [
702
+ "whatsapp"
703
+ ],
704
+ "grid": 24
705
+ },
706
+ "attrs": [
707
+ {}
708
+ ],
709
+ "properties": {
710
+ "order": 5,
711
+ "id": 0,
712
+ "prevSize": 24,
713
+ "code": 58895,
714
+ "name": "whatsapp"
715
+ },
716
+ "setIdx": 1,
717
+ "setId": 1,
718
+ "iconIdx": 19
719
+ },
720
+ {
721
+ "icon": {
722
+ "paths": [
723
+ "M164 205h102v491.5h-266v-348.5h164v-143zM164 614.5v-184.5h-61.5v184.5h61.5zM307 348v348.5h102.5v-348.5h-102.5zM307 205v102h102.5v-102h-102.5zM450.5 348h266.5v471h-266.5v-81.5h164v-41h-164v-348.5zM614.5 614.5v-184.5h-61.5v184.5h61.5zM758 348h266v471h-266v-81.5h163.5v-41h-163.5v-348.5zM921.5 614.5v-184.5h-61.5v184.5h61.5z"
724
+ ],
725
+ "attrs": [
726
+ {}
727
+ ],
728
+ "isMulticolor": false,
729
+ "colorPermutations": {
730
+ "6868681": [
731
+ 0
732
+ ]
733
+ },
734
+ "tags": [
735
+ "Diggit"
736
+ ],
737
+ "grid": 24
738
+ },
739
+ "attrs": [
740
+ {}
741
+ ],
742
+ "properties": {
743
+ "order": 16,
744
+ "id": 0,
745
+ "prevSize": 24,
746
+ "code": 58892,
747
+ "name": "diggit"
748
+ },
749
+ "setIdx": 1,
750
+ "setId": 1,
751
+ "iconIdx": 20
752
+ },
753
+ {
754
+ "icon": {
755
+ "paths": [
756
+ "M970.282 741.859l-111.191-51.080c-9.534-4.381-25.138-4.381-34.676 0l-318.361 146.253c-9.534 4.381-25.142 4.381-34.676 0l-318.361-146.253c-9.538-4.381-25.142-4.381-34.676 0l-111.191 51.080c-9.534 4.381-9.534 11.547 0 15.928l464.227 213.261c9.534 4.381 25.142 4.381 34.676 0l464.227-213.261c9.534-4.381 9.534-11.547 0-15.928z",
757
+ "M970.282 479.2l-111.191-51.076c-9.534-4.381-25.138-4.381-34.676 0l-318.361 146.249c-9.534 4.381-25.142 4.381-34.676 0l-318.361-146.249c-9.538-4.381-25.142-4.381-34.676 0l-111.191 51.076c-9.534 4.381-9.534 11.551 0 15.932l464.227 213.257c9.534 4.381 25.142 4.381 34.676 0l464.227-213.257c9.534-4.381 9.534-11.551 0-15.932z",
758
+ "M7.151 232.473l464.227 213.261c9.534 4.381 25.142 4.381 34.676 0l464.227-213.261c9.534-4.381 9.534-11.547 0-15.928l-464.227-213.261c-9.534-4.381-25.142-4.381-34.676 0l-464.227 213.261c-9.534 4.381-9.534 11.547 0 15.928z"
759
+ ],
760
+ "attrs": [
761
+ {},
762
+ {},
763
+ {}
764
+ ],
765
+ "isMulticolor": false,
766
+ "colorPermutations": {
767
+ "6868681": [
768
+ 0,
769
+ 0,
770
+ 0
771
+ ]
772
+ },
773
+ "tags": [
774
+ "buffer"
775
+ ],
776
+ "grid": 24
777
+ },
778
+ "attrs": [
779
+ {},
780
+ {},
781
+ {}
782
+ ],
783
+ "properties": {
784
+ "order": 15,
785
+ "id": 0,
786
+ "prevSize": 24,
787
+ "code": 58893,
788
+ "name": "buffer"
789
+ },
790
+ "setIdx": 1,
791
+ "setId": 1,
792
+ "iconIdx": 21
793
+ },
794
+ {
795
+ "icon": {
796
+ "paths": [
797
+ "M0 938.666c0 47.146 38.186 85.334 85.334 85.334h853.334c47.146 0 85.334-38.186 85.334-85.334l-0.002-512c0-47.146-38.186-85.334-85.334-85.334h-64v-255.998c0-47.146-38.186-85.334-85.334-85.334h-554.666c-47.146 0-85.332 38.186-85.332 85.334v256h-64c-47.146 0-85.334 38.186-85.334 85.334v511.998zM768 153.6v247.466c0 26.026-20.906 46.934-46.934 46.934h-418.132c-26.026 0-46.934-20.906-46.934-46.934v-247.466c0-26.026 20.906-46.934 46.934-46.934h418.134c26.026 0 46.932 20.908 46.932 46.934zM832 917.334h-640c-23.466 0-42.666-19.2-42.666-42.666s19.2-42.666 42.666-42.666h640c23.466 0 42.666 19.2 42.666 42.666s-19.2 42.666-42.666 42.666zM149.334 693.334c0-29.44 23.892-53.334 53.332-53.334s53.334 23.894 53.334 53.334-23.894 53.332-53.334 53.332-53.332-23.892-53.332-53.332z"
798
+ ],
799
+ "attrs": [
800
+ {}
801
+ ],
802
+ "isMulticolor": false,
803
+ "colorPermutations": {
804
+ "6868681": [
805
+ 0
806
+ ]
807
+ },
808
+ "tags": [
809
+ "printer"
810
+ ],
811
+ "grid": 48
812
+ },
813
+ "attrs": [
814
+ {}
815
+ ],
816
+ "properties": {
817
+ "order": 4,
818
+ "id": 0,
819
+ "prevSize": 48,
820
+ "code": 58882,
821
+ "name": "print"
822
+ },
823
+ "setIdx": 1,
824
+ "setId": 1,
825
+ "iconIdx": 22
826
+ },
827
+ {
828
+ "icon": {
829
+ "paths": [
830
+ "M441.19 677.222c-26.931 141.005-59.75 276.173-157.082 346.778-30.003-213.094 44.083-373.094 78.541-542.976-58.726-98.816 7.066-297.574 130.816-248.576 152.32 60.211-131.891 367.206 58.88 405.606 199.219 39.987 280.525-345.6 156.979-470.989-178.432-181.146-519.475-4.25-477.491 255.078 10.189 63.386 75.674 82.586 26.163 170.086-114.227-25.293-148.326-115.405-143.923-235.52 7.066-196.608 176.589-334.182 346.675-353.28 215.091-24.115 416.973 79.002 444.877 281.293 31.386 228.403-97.075 475.802-327.117 457.984-62.362-4.864-88.474-35.789-137.318-65.485z"
831
+ ],
832
+ "attrs": [
833
+ {}
834
+ ],
835
+ "isMulticolor": false,
836
+ "colorPermutations": {
837
+ "6868681": [
838
+ 0
839
+ ]
840
+ },
841
+ "tags": [
842
+ "pinterest"
843
+ ],
844
+ "grid": 20
845
+ },
846
+ "attrs": [
847
+ {}
848
+ ],
849
+ "properties": {
850
+ "order": 6,
851
+ "id": 0,
852
+ "prevSize": 20,
853
+ "code": 58883,
854
+ "name": "pinterest"
855
+ },
856
+ "setIdx": 1,
857
+ "setId": 1,
858
+ "iconIdx": 23
859
+ }
860
+ ],
861
+ "height": 1024,
862
+ "metadata": {
863
+ "name": "ssbp"
864
+ },
865
+ "preferences": {
866
+ "showGlyphs": true,
867
+ "showQuickUse": true,
868
+ "showQuickUse2": true,
869
+ "showSVGs": true,
870
+ "fontPref": {
871
+ "prefix": "ssbp-",
872
+ "metadata": {
873
+ "fontFamily": "ssbp",
874
+ "majorVersion": 1,
875
+ "minorVersion": 0
876
+ },
877
+ "metrics": {
878
+ "emSize": 1024,
879
+ "baseline": 6.25,
880
+ "whitespace": 50
881
+ },
882
+ "embed": false
883
+ },
884
+ "imagePref": {
885
+ "prefix": "icon-",
886
+ "png": true,
887
+ "useClassSelector": true,
888
+ "color": 4473924,
889
+ "bgColor": 16777215,
890
+ "classSelector": ".icon"
891
+ },
892
+ "historySize": 100,
893
+ "showCodes": true,
894
+ "gridSize": 16
895
+ }
896
+ }
fonts/ssbp.eot ADDED
Binary file
fonts/ssbp.svg ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata>Generated by IcoMoon</metadata>
5
+ <defs>
6
+ <font id="ssbp" horiz-adv-x="1024">
7
+ <font-face units-per-em="1024" ascent="960" descent="-64" />
8
+ <missing-glyph horiz-adv-x="1024" />
9
+ <glyph unicode="&#x20;" horiz-adv-x="512" d="" />
10
+ <glyph unicode="&#xe600;" glyph-name="vk" horiz-adv-x="1097" d="M1095.429 653.714q13.143-36.571-85.714-168-13.714-18.286-37.143-48.571-44.571-57.143-51.429-74.857-9.714-23.429 8-46.286 9.714-12 46.286-46.857h0.571l2.286-2.286q80.571-74.857 109.143-126.286 1.714-2.857 3.714-7.143t4-15.143-0.286-19.429-14.286-15.714-33.714-7.143l-146.286-2.286q-13.714-2.857-32 2.857t-29.714 12.571l-11.429 6.857q-17.143 12-40 36.571t-39.143 44.286-34.857 33.143-32.286 8.857q-1.714-0.571-4.571-2t-9.714-8.286-12.286-16.857-9.714-29.714-3.714-44.286q0-8.571-2-15.714t-4.286-10.571l-2.286-2.857q-10.286-10.857-30.286-12.571h-65.714q-40.571-2.286-83.429 9.429t-75.143 30.286-58.857 37.714-40.286 32.857l-14.286 13.714q-5.714 5.714-15.714 17.143t-40.857 52-60.571 86.286-70 120.571-74.571 155.429q-3.429 9.143-3.429 15.429t1.714 9.143l2.286 3.429q8.571 10.857 32.571 10.857l156.571 1.143q6.857-1.143 13.143-3.714t9.143-4.857l2.857-1.714q9.143-6.286 13.714-18.286 11.429-28.571 26.286-59.143t23.429-46.571l9.143-16.571q16.571-34.286 32-59.429t27.714-39.143 23.714-22 19.429-8 15.429 2.857q1.143 0.571 2.857 2.857t6.857 12.571 7.714 26.857 5.429 46.286 0 71.429q-1.143 22.857-5.143 41.714t-8 26.286l-3.429 6.857q-14.286 19.429-48.571 24.571-7.429 1.143 2.857 13.714 9.714 10.857 21.714 17.143 30.286 14.857 136.571 13.714 46.857-0.571 77.143-7.429 11.429-2.857 19.143-7.714t11.714-13.714 6-18.286 2-26-0.571-31.429-1.429-40.286-0.857-47.143q0-6.286-0.571-24t-0.286-27.429 2-23.143 6.571-22.286 12.857-14q4.571-1.143 9.714-2.286t14.857 6.286 21.714 19.714 29.714 38.286 38.857 61.429q34.286 59.429 61.143 128.571 2.286 5.714 5.714 10t6.286 6l2.286 1.714 2.857 1.429t7.429 1.714 11.429 0.286l164.571 1.143q22.286 2.857 36.571-1.429t17.714-9.429z" />
11
+ <glyph unicode="&#xe601;" glyph-name="stumbleupon" horiz-adv-x="1097" d="M606.857 544v67.429q0 24-17.143 41.143t-41.143 17.143-41.143-17.143-17.143-41.143v-349.714q0-100-72-170.857t-173.143-70.857q-101.714 0-173.429 71.714t-71.714 173.429v152h187.429v-149.714q0-24.571 17.143-41.429t41.143-16.857 41.143 16.857 17.143 41.429v354.286q0 97.714 72.286 166.857t172.286 69.143q100.571 0 172.571-69.714t72-168v-77.714l-111.429-33.143zM909.714 417.143h187.429v-152q0-101.714-71.714-173.429t-173.429-71.714q-101.143 0-173.143 71.143t-72 171.714v153.143l74.857-34.857 111.429 33.143v-154.286q0-24 17.143-40.857t41.143-16.857 41.143 16.857 17.143 40.857v157.143z" />
12
+ <glyph unicode="&#xe602;" glyph-name="print" d="M0 21.334c0-47.146 38.186-85.334 85.334-85.334h853.334c47.146 0 85.334 38.186 85.334 85.334l-0.002 512c0 47.146-38.186 85.334-85.334 85.334h-64v255.998c0 47.146-38.186 85.334-85.334 85.334h-554.666c-47.146 0-85.332-38.186-85.332-85.334v-256h-64c-47.146 0-85.334-38.186-85.334-85.334v-511.998zM768 806.4v-247.466c0-26.026-20.906-46.934-46.934-46.934h-418.132c-26.026 0-46.934 20.906-46.934 46.934v247.466c0 26.026 20.906 46.934 46.934 46.934h418.134c26.026 0 46.932-20.908 46.932-46.934zM832 42.666h-640c-23.466 0-42.666 19.2-42.666 42.666s19.2 42.666 42.666 42.666h640c23.466 0 42.666-19.2 42.666-42.666s-19.2-42.666-42.666-42.666zM149.334 266.666c0 29.44 23.892 53.334 53.332 53.334s53.334-23.894 53.334-53.334-23.894-53.332-53.334-53.332-53.332 23.892-53.332 53.332z" />
13
+ <glyph unicode="&#xe603;" glyph-name="pinterest" d="M441.19 295.578c-26.931-141.005-59.75-276.173-157.082-346.778-30.003 213.094 44.083 373.094 78.541 542.976-58.726 98.816 7.066 297.574 130.816 248.576 152.32-60.211-131.891-367.206 58.88-405.606 199.219-39.987 280.525 345.6 156.979 470.989-178.432 181.146-519.475 4.25-477.491-255.078 10.189-63.386 75.674-82.586 26.163-170.086-114.227 25.293-148.326 115.405-143.923 235.52 7.066 196.608 176.589 334.182 346.675 353.28 215.091 24.115 416.973-79.002 444.877-281.293 31.386-228.403-97.075-475.802-327.117-457.984-62.362 4.864-88.474 35.789-137.318 65.485z" />
14
+ <glyph unicode="&#xe604;" glyph-name="email" d="M896 800h-768c-70.688 0-128-57.344-128-128v-416c0-70.688 57.312-128 128-128h768c70.688 0 128 57.312 128 128v416c0 70.656-57.312 128-128 128zM64 632l223.968-168-223.968-168v336zM960 256c0-35.328-28.736-64-64-64h-768c-35.296 0-64 28.672-64 64l250.624 188 139.776-104.864c17.056-12.736 37.312-19.2 57.6-19.2 20.256 0 40.512 6.432 57.568 19.2l139.808 104.864 250.624-188zM960 296l-224 168 224 168v-336zM550.368 364.736c-11.168-8.384-24.416-12.8-38.368-12.8s-27.232 4.448-38.4 12.8l-409.6 307.264c0 35.296 28.704 64 64 64h768c35.264 0 64-28.704 64-64l-409.632-307.264z" />
15
+ <glyph unicode="&#xe605;" glyph-name="twitter" d="M1024 765.582c-37.676-16.708-78.164-28.002-120.66-33.080 43.372 26 76.686 67.17 92.372 116.23-40.596-24.078-85.556-41.56-133.41-50.98-38.32 40.83-92.922 66.34-153.346 66.34-116.022 0-210.088-94.058-210.088-210.078 0-16.466 1.858-32.5 5.44-47.878-174.6 8.764-329.402 92.4-433.018 219.506-18.084-31.028-28.446-67.116-28.446-105.618 0-72.888 37.088-137.192 93.46-174.866-34.438 1.092-66.832 10.542-95.154 26.278-0.020-0.876-0.020-1.756-0.020-2.642 0-101.788 72.418-186.696 168.522-206-17.626-4.8-36.188-7.372-55.348-7.372-13.538 0-26.698 1.32-39.528 3.772 26.736-83.46 104.32-144.206 196.252-145.896-71.9-56.35-162.486-89.934-260.916-89.934-16.958 0-33.68 0.994-50.116 2.94 92.972-59.61 203.402-94.394 322.042-94.394 386.422 0 597.736 320.124 597.736 597.744 0 9.108-0.206 18.168-0.61 27.18 41.056 29.62 76.672 66.62 104.836 108.748z" />
16
+ <glyph unicode="&#xe606;" glyph-name="reddit" d="M256 320c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM640 320c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM643.112 183.222c16.482 12.986 40.376 10.154 53.364-6.332s10.152-40.378-6.334-53.366c-45.896-36.158-115.822-59.524-178.142-59.524-62.322 0-132.248 23.366-178.144 59.522-16.486 12.99-19.32 36.882-6.332 53.368 12.99 16.482 36.882 19.318 53.366 6.332 26.422-20.818 78.722-43.222 131.11-43.222s104.688 22.404 131.112 43.222zM1024 448c0 70.692-57.308 128-128 128-48.116 0-89.992-26.57-111.852-65.82-65.792 35.994-145.952 59.246-233.28 64.608l76.382 171.526 146.194-42.2c13.152-37.342 48.718-64.114 90.556-64.114 53.020 0 96 42.98 96 96s-42.98 96-96 96c-36.56 0-68.342-20.442-84.554-50.514l-162.906 47.024c-18.224 5.258-37.538-3.722-45.252-21.052l-103.77-233.026c-85.138-5.996-163.262-29.022-227.636-64.236-21.864 39.25-63.766 65.804-111.882 65.804-70.692 0-128-57.308-128-128 0-52.312 31.402-97.254 76.372-117.102-8.070-24.028-12.372-49.104-12.372-74.898 0-176.73 200.576-320 448-320 247.422 0 448 143.27 448 320 0 25.792-4.3 50.862-12.368 74.886 44.97 19.85 76.368 64.802 76.368 117.114zM864 772c19.882 0 36-16.118 36-36s-16.118-36-36-36-36 16.118-36 36 16.118 36 36 36zM64 448c0 35.29 28.71 64 64 64 25.508 0 47.572-15.004 57.846-36.646-33.448-25.366-61.166-54.626-81.666-86.738-23.524 9.47-40.18 32.512-40.18 59.384zM512 12c-205.45 0-372 109.242-372 244s166.55 244 372 244c205.45 0 372-109.242 372-244s-166.55-244-372-244zM919.82 388.616c-20.5 32.112-48.218 61.372-81.666 86.738 10.276 21.642 32.338 36.646 57.846 36.646 35.29 0 64-28.71 64-64 0-26.872-16.656-49.914-40.18-59.384z" />
17
+ <glyph unicode="&#xe607;" glyph-name="flattr" d="M367.562 960c-243.358 0-367.562-140.162-367.562-401.856v0-549.034l238.39 238.628v278.896c0 108.416 28.73 177.406 125.118 192.894v0c33.672 6.584 103.75 4.278 148.306 4.278v0-165.596c0-1.51 0.208-4.206 0.594-5.586v0c1.87-6.704 7.93-11.616 15.116-11.63v0c4.062-0.008 7.868 2.104 11.79 5.97v0l413.122 412.974-584.874 0.062zM785.61 648.254v-278.89c0-108.414-28.736-177.414-125.116-192.894v0c-33.672-6.582-103.756-4.278-148.312-4.278v0 165.594c0 1.5-0.206 4.204-0.594 5.582v0c-1.864 6.712-7.922 11.622-15.112 11.63v0c-4.064 0.008-7.866-2.112-11.79-5.966v0l-413.124-412.966 584.874-0.066c243.354 0 367.564 140.168 367.564 401.852v0 549.028l-238.39-238.626z" />
18
+ <glyph unicode="&#xe608;" glyph-name="tumblr" d="M576.032 512l-0.002-234.184c0-59.418-0.77-93.656 5.53-110.5 6.25-16.754 21.918-34.146 38.99-44.202 22.684-13.588 48.542-20.376 77.708-20.376 51.854 0 82.478 6.848 133.742 40.54v-153.944c-43.7-20.552-81.866-32.594-117.324-40.922-35.5-8.242-73.86-12.406-115.064-12.406-46.828 0-74.456 5.886-110.41 17.656-35.958 11.868-66.66 28.806-92.020 50.54-25.45 21.922-43.022 45.208-52.848 69.832-9.826 24.636-14.716 60.414-14.716 107.244v359.1h-137.426v145.006c40.208 13.042 85.164 31.788 113.78 56.152 28.754 24.45 51.766 53.706 69.106 87.944 17.392 34.146 29.348 77.712 35.872 130.516h165.084l-0.002-255.996h255.968v-192h-255.968z" />
19
+ <glyph unicode="&#xe609;" glyph-name="linkedin" d="M384 576h177.106v-90.782h2.532c24.64 44.194 84.958 90.782 174.842 90.782 186.946 0 221.52-116.376 221.52-267.734v-308.266h-184.61v273.278c0 65.184-1.334 149.026-96.028 149.026-96.148 0-110.82-70.986-110.82-144.292v-278.012h-184.542v576zM64 576h192v-576h-192v576zM256 736c0-53.019-42.981-96-96-96s-96 42.981-96 96c0 53.019 42.981 96 96 96s96-42.981 96-96z" />
20
+ <glyph unicode="&#xe60a;" glyph-name="google" horiz-adv-x="1280" d="M188.486 759.861c142.799 104.322 354.773 91.93 484.256-28.67-34.405-33.664-68.811-67.33-103.397-100.809-96.37 83.977-256.185 74.356-337.573-25.711-100.068-109.317-68.622-303.539 62.335-373.822 123.191-76.395 309.273-12.949 341.088 133.92-74.172 2.035-148.532 0.74-222.708 1.11-0.185 44.392-0.185 88.786-0.185 133.179 123.006-0.185 246.014 0.74 369.203-0.74 11.837-112.276-9.804-233.988-86.011-321.292-94.705-111.352-259.143-145.202-396.025-104.137-132.438 38.845-238.427 154.083-265.989 289.296-33.48 148.162 30.151 311.487 155.006 397.689zM991.996 623.054c42.666 0 85.335 0 128.002 0 0-42.666 0-85.335 0-127.786 42.666-0.212 85.335-0.212 128.002-0.212 0-42.666 0-85.335 0-128.002-42.666 0-85.335 0-127.786 0-0.212-42.666-0.212-85.335-0.212-128.002-42.666 0-85.335 0-128.002 0 0 42.666 0 85.335 0 127.786-42.666 0.212-85.335 0.212-128.002 0.212 0 42.666 0 85.335 0 128.002 42.666 0 85.335 0 128.002 0 0 42.666 0 85.335 0 128.002z" />
21
+ <glyph unicode="&#xe60b;" glyph-name="yummly" d="M310.909 705.023c18.562 12.937 62.293 18.169 74.267-1.727 6.818-11.329 3.21-35.258 0-53.54-19.941-113.531-43.798-244.244-62.179-350.607 100.739-10.269 206.112-32.519 314.337-48.36 121.619-17.801 266.81-25.201 354.058 34.541 15.836-12.075 32.691-28.155 31.092-53.538-1.958-31.003-47.862-47.411-77.723-56.996-36.47-11.706-75.527-17.405-117.443-17.273-186.82 0.602-341.378 72.731-512.956 81.176-18.475-82.673-56.465-182.378-162.348-177.894-45.624 1.935-83.57 30.375-86.357 79.449-2.847 50.147 27.856 90.086 56.996 112.261 34.2 26.030 74.933 38.733 124.353 44.909 2.225 18.495 6.849 34.598 8.636 53.538-8.178 1.49-16.234-4.847-24.178-8.641-32.41-15.45-101.937-36.512-143.351-12.087-60.167 35.487-14.78 134.791 0 189.984 5.338 19.939 10.44 41.235 15.544 60.447 5.021 18.901 14.488 41.718 1.727 58.723-21.839 4.765-39.728-6.393-53.542-17.271-4.287-3.376-5.779-11.682-12.088-8.636-14.285 11.334-32.961 25.185-31.089 48.36 1.882 23.277 42.708 41.129 63.903 48.358 66.239 22.593 124.698-3.316 117.444-81.174-3.169-34.014-17.29-72.653-25.907-105.354-9.305-35.308-24.347-69.784-18.999-108.807 15.596-18.314 46.718-9.308 67.359-3.453 22.746 6.449 45.52 15.379 58.723 25.904 8.284 38.014 13.826 75.626 20.724 113.992 8.849 49.213 23.229 95.345 18.997 153.716zM157.194 140.254c58.354-8.762 65.801 48.126 77.72 91.539-51.84-0.937-107.691-50.43-77.72-91.539zM751.324 575.488c-10.685 23.716-58.813 23.149-77.722 6.909 7.555-30.379-1.379-51.598-6.907-82.901-3.367-19.072-5.193-39.48-8.636-58.723-6.91-38.617-23.741-88.448-13.819-112.261 8.458-20.303 59.015-21.059 74.267-3.456-3.323 61.36 17.881 125.285 25.905 186.528 12.735 5.040 35.311 22.707 50.089 10.363 15.602-13.036-2.35-70.692-6.909-98.446-5.731-34.901-20.975-81.94-6.909-100.173 9.928-12.868 51.666-15.392 72.537 0-6.567 64.754 17.853 125.213 24.18 188.256 13.128 4.673 35.077 22.905 50.089 10.363 8.841-7.385 4.929-31.094 1.727-50.086-3.18-18.845-5.77-33.241-8.636-50.086-6.033-35.461-21.33-83.048-5.181-100.173 10.786-11.441 51.357-12.86 70.811 1.727-3.7 48.147 5.42 84.332 13.819 131.261 6.139 34.324 16.428 67.937 13.814 94.991-6.979 72.255-98.601 46.592-138.168 20.727-19.041 43.709-93.162 24.912-124.353 5.178zM476.713 485.678c5.702 32.468 18.188 69.53 10.363 91.539-8.127 22.861-58.093 20.499-75.993 5.181 7.052-36.431-3.326-65.297-10.363-105.354-4.862-27.686-11.988-57.073-13.817-81.174-7.084-93.387 73.929-89.324 131.261-58.72 6.42-7.578 6.465-15.575 17.271-20.727 19.238-9.175 51.5-2.313 63.901 8.636-6.354 50.848 4.893 88.924 15.546 146.806 5.82 31.643 25.288 89.989 10.361 110.536-12.582 17.319-58.276 15.305-72.538-1.729 5.076-59.885-16.836-120.827-24.18-179.62-14.437-8.253-44.276-19.048-60.448-5.181-5.996 23.323 2.611 55.511 8.636 89.808z" />
22
+ <glyph unicode="&#xe60c;" glyph-name="diggit" d="M164 733.667h102v-491.5h-266v348.5h164v143zM164 324.167v184.5h-61.5v-184.5h61.5zM307 590.667v-348.5h102.5v348.5h-102.5zM307 733.667v-102h102.5v102h-102.5zM450.5 590.667h266.5v-471h-266.5v81.5h164v41h-164v348.5zM614.5 324.167v184.5h-61.5v-184.5h61.5zM758 590.667h266v-471h-266v81.5h163.5v41h-163.5v348.5zM921.5 324.167v184.5h-61.5v-184.5h61.5z" />
23
+ <glyph unicode="&#xe60d;" glyph-name="buffer" d="M970.282 196.808l-111.191 51.080c-9.534 4.381-25.138 4.381-34.676 0l-318.361-146.253c-9.534-4.381-25.142-4.381-34.676 0l-318.361 146.253c-9.538 4.381-25.142 4.381-34.676 0l-111.191-51.080c-9.534-4.381-9.534-11.547 0-15.928l464.227-213.261c9.534-4.381 25.142-4.381 34.676 0l464.227 213.261c9.534 4.381 9.534 11.547 0 15.928zM970.282 459.467l-111.191 51.076c-9.534 4.381-25.138 4.381-34.676 0l-318.361-146.249c-9.534-4.381-25.142-4.381-34.676 0l-318.361 146.249c-9.538 4.381-25.142 4.381-34.676 0l-111.191-51.076c-9.534-4.381-9.534-11.551 0-15.932l464.227-213.257c9.534-4.381 25.142-4.381 34.676 0l464.227 213.257c9.534 4.381 9.534 11.551 0 15.932zM7.151 706.194l464.227-213.261c9.534-4.381 25.142-4.381 34.676 0l464.227 213.261c9.534 4.381 9.534 11.547 0 15.928l-464.227 213.261c-9.534 4.381-25.142 4.381-34.676 0l-464.227-213.261c-9.534-4.381-9.534-11.547 0-15.928z" />
24
+ <glyph unicode="&#xe60e;" glyph-name="facebook" horiz-adv-x="585" d="M548 944v-150.857h-89.714q-49.143 0-66.286-20.571t-17.143-61.714v-108h167.429l-22.286-169.143h-145.143v-433.714h-174.857v433.714h-145.714v169.143h145.714v124.571q0 106.286 59.429 164.857t158.286 58.571q84 0 130.286-6.857z" />
25
+ <glyph unicode="&#xe60f;" glyph-name="whatsapp" d="M1024 439.854c0-275.49-225.041-498.813-502.693-498.813-88.144 0-170.951 22.528-242.995 62.066l-278.312-88.439 90.738 267.628c-45.773 75.162-72.135 163.317-72.135 257.559 0 275.49 225.064 498.813 502.704 498.813 277.675 0 502.693-223.323 502.693-498.813zM521.307 859.227c-233.062 0-422.639-188.132-422.639-419.374 0-91.762 29.912-176.742 80.509-245.874l-52.804-155.75 162.418 51.621c66.731-43.816 146.671-69.37 232.528-69.37 233.028 0 422.639 188.109 422.639 419.351s-189.599 419.396-422.65 419.396zM775.157 324.972c-3.106 5.086-11.31 8.158-23.62 14.268-12.334 6.11-72.932 35.703-84.196 39.765-11.298 4.073-19.536 6.121-27.739-6.11-8.203-12.242-31.824-39.765-39.026-47.923-7.191-8.181-14.37-9.205-26.704-3.083-12.311 6.11-52.008 19.035-99.078 60.678-36.625 32.404-61.36 72.408-68.551 84.662-7.179 12.231-0.751 18.842 5.404 24.929 5.552 5.484 12.334 14.279 18.489 21.413 6.178 7.145 8.226 12.231 12.311 20.4 4.13 8.158 2.071 15.292-1.024 21.424-3.072 6.11-27.739 66.276-38.002 90.761-10.263 24.462-20.514 20.389-27.716 20.389-7.179 0-15.406 1.024-23.62 1.024s-21.572-3.061-32.87-15.292c-11.287-12.242-43.11-41.825-43.11-101.979 0-60.166 44.134-118.295 50.313-126.441 6.155-8.146 85.22-135.623 210.489-184.582 125.281-48.936 125.281-32.609 147.877-30.561 22.574 2.037 72.886 29.571 83.194 58.106 10.24 28.581 10.24 53.055 7.179 58.152z" />
26
+ <glyph unicode="&#xe610;" glyph-name="xing" horiz-adv-x="805" d="M341.143 569.714q-5.714-10.286-146.857-260.571-15.429-26.286-37.143-26.286h-136.571q-12 0-17.714 9.714t0 20.571l144.571 256q0.571 0 0 0.571l-92 159.429q-6.857 12.571-0.571 21.143 5.143 8.571 18.286 8.571h136.571q22.857 0 37.714-25.714zM801.714 936.571q6.286-9.143 0-21.143l-301.714-533.714v-0.571l192-351.429q6.286-11.429 0.571-21.143-5.714-8.571-18.286-8.571h-136.571q-24 0-37.714 25.714l-193.714 355.429q10.286 18.286 303.429 538.286 14.286 25.714 36.571 25.714h137.714q12.571 0 17.714-8.571z" />
27
+ <glyph unicode="&#xe611;" glyph-name="facebook-messenger" horiz-adv-x="1018" d="M508.84 960c-281.025 0-508.84-212.249-508.84-474.074 0-149.191 73.993-282.267 189.63-369.168v-180.758l173.255 95.678c46.238-12.876 95.223-19.826 145.955-19.826 281.025 0 508.84 212.249 508.84 474.074s-227.815 474.074-508.84 474.074zM559.407 321.58l-129.58 139.062-252.84-139.062 278.123 297.086 132.741-139.062 249.679 139.062-278.123-297.086z" />
28
+ <glyph unicode="&#xe612;" glyph-name="ellipsis" horiz-adv-x="805" d="M219.429 530.286v-109.714q0-22.857-16-38.857t-38.857-16h-109.714q-22.857 0-38.857 16t-16 38.857v109.714q0 22.857 16 38.857t38.857 16h109.714q22.857 0 38.857-16t16-38.857zM512 530.286v-109.714q0-22.857-16-38.857t-38.857-16h-109.714q-22.857 0-38.857 16t-16 38.857v109.714q0 22.857 16 38.857t38.857 16h109.714q22.857 0 38.857-16t16-38.857zM804.571 530.286v-109.714q0-22.857-16-38.857t-38.857-16h-109.714q-22.857 0-38.857 16t-16 38.857v109.714q0 22.857 16 38.857t38.857 16h109.714q22.857 0 38.857-16t16-38.857z" />
29
+ <glyph unicode="&#xe613;" glyph-name="x" d="M983.072 743.232l-294.304-296.096 294.304-294.336c12.32-12.288 12.32-32.224 0-44.544l-133.632-133.6c-12.256-12.32-32.192-12.32-44.512 0l-293.824 293.824-292.064-293.824c-12.288-12.32-32.224-12.32-44.544 0l-133.6 133.6c-12.288 12.32-12.288 32.256 0 44.544l292.064 293.824-292.032 292.032c-12.288 12.288-12.288 32.224 0 44.544l133.6 133.6c12.288 12.32 32.224 12.32 44.544 0l291.52-291.52 294.368 296.096c12.32 12.32 32.256 12.32 44.512 0l133.632-133.6c12.256-12.32 12.256-32.256-0.032-44.544z" />
30
+ <glyph unicode="&#xe614;" glyph-name="spinner" d="M512 960c-278.748 0-505.458-222.762-511.848-499.974 5.92 241.864 189.832 435.974 415.848 435.974 229.75 0 416-200.576 416-448 0-53.020 42.98-96 96-96s96 42.98 96 96c0 282.77-229.23 512-512 512zM512-64c278.748 0 505.458 222.762 511.848 499.974-5.92-241.864-189.832-435.974-415.848-435.974-229.75 0-416 200.576-416 448 0 53.020-42.98 96-96 96s-96-42.98-96-96c0-282.77 229.23-512 512-512z" />
31
+ <glyph unicode="&#xe615;" glyph-name="chevron-up" d="M702.293 280.96l-195.627 195.627-195.627-195.627-60.373 60.373 256 256 256-256z" />
32
+ <glyph unicode="&#xe616;" glyph-name="chevron-right" d="M366.293 236.374l195.627 195.627-195.627 195.627 60.373 60.373 256-256-256-256z" />
33
+ <glyph unicode="&#xe617;" glyph-name="chevron-left" d="M657.707 241.707l-195.627 195.627 195.627 195.627-60.373 60.373-256-256 256-256z" />
34
+ <glyph unicode="&#xe618;" glyph-name="chevron-down" d="M321.707 572.374l195.627-195.627 195.627 195.627 60.373-60.373-256-256-256 256z" />
35
+ <glyph unicode="&#xe900;" glyph-name="facebook_save" d="M495.232 337.248l-270.432-272.032v733.568h542.432v-733.568l-272 272.032z" />
36
+ </font></defs></svg>
fonts/ssbp.ttf ADDED
Binary file
fonts/ssbp.woff ADDED
Binary file
images/david.png ADDED
Binary file
images/flattr.png ADDED
Binary file
images/freelancer.png ADDED
Binary file
images/paypal.png ADDED
Binary file
images/share.png ADDED
Binary file
images/sharebuttonsplus.png ADDED
Binary file
images/simple-share-buttons-mockups.png ADDED
Binary file
images/simplesharebuttons.png ADDED
Binary file
images/stars.png ADDED
Binary file
images/tweet.png ADDED
Binary file
inc/ssba_admin_bits.php ADDED
@@ -0,0 +1,237 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined('ABSPATH') or die('No direct access permitted');
3
+
4
+ // Adds ST terms to array if they don't exist.
5
+ $arrSettings = wp_parse_args( $arrSettings, array(
6
+ 'accepted_sharethis_terms' => 'N',
7
+ 'hide_sharethis_terms' => false,
8
+ ) );
9
+
10
+ // if the sharethis terms have not yet been accepted
11
+ if ( isset( $_GET['page'] ) &&
12
+ $_GET['page'] == 'simple-share-buttons-adder' &&
13
+ 'Y' !== $arrSettings['accepted_sharethis_terms'] &&
14
+ true !== $arrSettings['hide_sharethis_terms']
15
+ ) {
16
+ function sharethis_terms_notice() {
17
+ ?>
18
+ <div id="sharethis_terms_notice" class="update-nag ssba-nag notice is-dismissible">
19
+ <p>We've updated our <a href="http://simplesharebuttons.com/privacy" target="_blank">privacy policy and
20
+ terms of use</a> with important changes you should review. Please review and <a
21
+ href="http://simplesharebuttons.com/privacy" target="_blank">accept the new terms and
22
+ privacy
23
+ policy</a>.
24
+ <a href="options-general.php?page=simple-share-buttons-adder&accept-terms=Y"><span
25
+ class="button button-primary">I accept</span></a>
26
+ </p>
27
+ </div>
28
+ <script type="text/javascript">
29
+ jQuery('#sharethis_terms_notice').on('click', '.notice-dismiss', function (event) {
30
+ jQuery.post(ajaxurl, {action: 'ssba_hide_terms'});
31
+ });
32
+ </script>
33
+ <?php
34
+ }
35
+
36
+ add_action( 'admin_notices', 'sharethis_terms_notice' );
37
+ }
38
+ add_action( 'wp_ajax_ssba_hide_terms', 'ssba_admin_hide_callback' );
39
+ // add settings link on plugin page
40
+ function ssba_settings_link($links) {
41
+
42
+ // add to plugins links
43
+ array_unshift($links, '<a href="options-general.php?page=simple-share-buttons-adder">Settings</a>');
44
+
45
+ // return all links
46
+ return $links;
47
+ }
48
+
49
+ // Hides the terms agreement at user's request.
50
+ function ssba_admin_hide_callback() {
51
+ ssba_update_options( array( 'hide_sharethis_terms' => true ) );
52
+ wp_die();
53
+ }
54
+
55
+ // include js files and upload script
56
+ function ssba_admin_scripts() {
57
+
58
+ // all extra scripts needed
59
+ wp_enqueue_media();
60
+ wp_enqueue_script('media-upload');
61
+ wp_register_script('ssba-bootstrap-js', plugins_url('/js/ssba_bootstrap.js', SSBA_FILE ));
62
+ wp_enqueue_script('ssba-bootstrap-js');
63
+ wp_register_script('ssba-colorpicker-js', plugins_url('/js/ssba_colorpicker.js', SSBA_FILE ));
64
+ wp_enqueue_script('ssba-colorpicker-js');
65
+ wp_register_script('ssba-switch-js', plugins_url('/js/ssba_switch.js', SSBA_FILE ));
66
+ wp_enqueue_script('ssba-switch-js');
67
+ wp_register_script('ssba-admin-js', plugins_url('/js/ssba_admin.js', SSBA_FILE ));
68
+ wp_enqueue_script('ssba-admin-js');
69
+ wp_enqueue_script('jquery-ui-sortable');
70
+ wp_enqueue_script('jquery-ui');
71
+ }
72
+
73
+ // include styles for the ssba admin panel
74
+ function ssba_admin_styles() {
75
+
76
+ // admin styles
77
+ wp_register_style('ssba-readable', plugins_url('/css/readable.css', SSBA_FILE ));
78
+ wp_enqueue_style('ssba-readable');
79
+ wp_register_style('ssba-colorpicker', plugins_url('/css/colorpicker.css', SSBA_FILE ));
80
+ wp_enqueue_style('ssba-colorpicker');
81
+ wp_register_style('ssba-switch', plugins_url('/css/ssbp_switch.css', SSBA_FILE ));
82
+ wp_enqueue_style('ssba-switch');
83
+ wp_register_style('ssba-admin-theme', plugins_url('/css/ssbp-admin-theme.css', SSBA_FILE ));
84
+ wp_enqueue_style('ssba-admin-theme');
85
+ wp_register_style('ssbp-font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css');
86
+ wp_enqueue_style('ssbp-font-awesome');
87
+ wp_register_style('ssba-styles', plugins_url('/css/style.css', SSBA_FILE ));
88
+ wp_enqueue_style('ssba-styles');
89
+ }
90
+
91
+ // add filter hook for plugin action links
92
+ add_filter('plugin_action_links_' . plugin_basename(SSBA_FILE), 'ssba_settings_link' );
93
+
94
+ // add menu to dashboard
95
+ add_action( 'admin_menu', 'ssba_menu' );
96
+
97
+ // check if viewing the admin page
98
+ if (isset($_GET['page']) && $_GET['page'] == 'simple-share-buttons-adder') {
99
+
100
+ // add the registered scripts
101
+ add_action('admin_print_styles', 'ssba_admin_styles');
102
+ add_action('admin_print_scripts', 'ssba_admin_scripts');
103
+ }
104
+
105
+ // menu settings
106
+ function ssba_menu() {
107
+
108
+ // add menu page
109
+ add_options_page( 'Simple Share Buttons Adder', 'Simple Share Buttons', 'manage_options', 'simple-share-buttons-adder', 'ssba_settings');
110
+
111
+ // query the db for current ssba settings
112
+ $arrSettings = get_ssba_settings();
113
+
114
+ // get the current version
115
+ $version = get_option('ssba_version');
116
+
117
+ // there was a version set
118
+ if ($version !== false) {
119
+ // check if not updated to current version
120
+ if ($version < SSBA_VERSION) {
121
+ // run the upgrade function
122
+ upgrade_ssba($arrSettings, $version);
123
+ }
124
+ }
125
+ }
126
+
127
+ // answer form
128
+ function ssba_settings() {
129
+
130
+ // check if user has the rights to manage options
131
+ if (! current_user_can('manage_options')) {
132
+
133
+ // permissions message
134
+ wp_die( __('You do not have sufficient permissions to access this page.'));
135
+ }
136
+
137
+ // if a post has been made
138
+ if(isset($_POST['ssbaData']))
139
+ {
140
+ // get posted data
141
+ $ssbaPost = $_POST['ssbaData'];
142
+ parse_str($ssbaPost, $ssbaPost);
143
+
144
+ // if the nonce doesn't check out...
145
+ if ( ! isset($ssbaPost['ssba_save_nonce']) || ! wp_verify_nonce($ssbaPost['ssba_save_nonce'], 'ssba_save_settings')) {
146
+ die('There was no nonce provided, or the one provided did not verify.');
147
+ }
148
+
149
+ // prepare array
150
+ $arrOptions = array(
151
+ 'ssba_image_set' => $ssbaPost['ssba_image_set'],
152
+ 'ssba_size' => $ssbaPost['ssba_size'],
153
+ 'ssba_pages' => (isset($ssbaPost['ssba_pages']) ? $ssbaPost['ssba_pages'] : NULL),
154
+ 'ssba_posts' => (isset($ssbaPost['ssba_posts']) ? $ssbaPost['ssba_posts'] : NULL),
155
+ 'ssba_cats_archs' => (isset($ssbaPost['ssba_cats_archs']) ? $ssbaPost['ssba_cats_archs'] : NULL),
156
+ 'ssba_homepage' => (isset($ssbaPost['ssba_homepage']) ? $ssbaPost['ssba_homepage'] : NULL),
157
+ 'ssba_excerpts' => (isset($ssbaPost['ssba_excerpts']) ? $ssbaPost['ssba_excerpts'] : NULL),
158
+ 'ssba_align' => (isset($ssbaPost['ssba_align']) ? $ssbaPost['ssba_align'] : NULL),
159
+ 'ssba_padding' => $ssbaPost['ssba_padding'],
160
+ 'ssba_before_or_after' => $ssbaPost['ssba_before_or_after'],
161
+ 'ssba_additional_css' => $ssbaPost['ssba_additional_css'],
162
+ 'ssba_custom_styles' => $ssbaPost['ssba_custom_styles'],
163
+ 'ssba_custom_styles_enabled' => $ssbaPost['ssba_custom_styles_enabled'],
164
+ 'ssba_email_message' => stripslashes_deep($ssbaPost['ssba_email_message']),
165
+ 'ssba_twitter_text' => stripslashes_deep($ssbaPost['ssba_twitter_text']),
166
+ 'ssba_buffer_text' => stripslashes_deep($ssbaPost['ssba_buffer_text']),
167
+ 'ssba_flattr_user_id' => stripslashes_deep($ssbaPost['ssba_flattr_user_id']),
168
+ 'ssba_flattr_url' => stripslashes_deep($ssbaPost['ssba_flattr_url']),
169
+ 'ssba_share_new_window' => (isset($ssbaPost['ssba_share_new_window']) ? $ssbaPost['ssba_share_new_window'] : NULL),
170
+ 'ssba_link_to_ssb' => (isset($ssbaPost['ssba_link_to_ssb']) ? $ssbaPost['ssba_link_to_ssb'] : NULL),
171
+ 'ssba_show_share_count' => (isset($ssbaPost['ssba_show_share_count']) ? $ssbaPost['ssba_show_share_count'] : NULL),
172
+ 'ssba_share_count_style' => $ssbaPost['ssba_share_count_style'],
173
+ 'ssba_share_count_css' => $ssbaPost['ssba_share_count_css'],
174
+ 'ssba_share_count_once' => (isset($ssbaPost['ssba_share_count_once']) ? $ssbaPost['ssba_share_count_once'] : NULL),
175
+ 'ssba_widget_text' => $ssbaPost['ssba_widget_text'],
176
+ 'ssba_rel_nofollow' => (isset($ssbaPost['ssba_rel_nofollow']) ? $ssbaPost['ssba_rel_nofollow'] : NULL),
177
+ 'ssba_default_pinterest' => (isset($ssbaPost['ssba_default_pinterest']) ? $ssbaPost['ssba_default_pinterest'] : NULL),
178
+ 'ssba_pinterest_featured' => (isset($ssbaPost['ssba_pinterest_featured']) ? $ssbaPost['ssba_pinterest_featured'] : NULL),
179
+ 'ssba_content_priority' => (isset($ssbaPost['ssba_content_priority']) ? $ssbaPost['ssba_content_priority'] : NULL),
180
+ 'accepted_sharethis_terms' => ( isset( $ssbaPost['accepted_sharethis_terms'] ) ? $ssbaPost['accepted_sharethis_terms'] : 'N' ),
181
+
182
+ // share container
183
+ 'ssba_div_padding' => $ssbaPost['ssba_div_padding'],
184
+ 'ssba_div_rounded_corners' => (isset($ssbaPost['ssba_div_rounded_corners']) ? $ssbaPost['ssba_div_rounded_corners'] : NULL),
185
+ 'ssba_border_width' => $ssbaPost['ssba_border_width'],
186
+ 'ssba_div_border' => $ssbaPost['ssba_div_border'],
187
+ 'ssba_div_background' => $ssbaPost['ssba_div_background'],
188
+
189
+ // text
190
+ 'ssba_share_text' => stripslashes_deep($ssbaPost['ssba_share_text']),
191
+ 'ssba_text_placement' => $ssbaPost['ssba_text_placement'],
192
+ 'ssba_font_family' => $ssbaPost['ssba_font_family'],
193
+ 'ssba_font_color' => $ssbaPost['ssba_font_color'],
194
+ 'ssba_font_size' => $ssbaPost['ssba_font_size'],
195
+ 'ssba_font_weight' => $ssbaPost['ssba_font_weight'],
196
+
197
+ // included buttons
198
+ 'ssba_selected_buttons' => $ssbaPost['ssba_selected_buttons'],
199
+
200
+ // sharedcount
201
+ 'sharedcount_enabled' => $ssbaPost['sharedcount_enabled'],
202
+ 'sharedcount_api_key' => $ssbaPost['sharedcount_api_key'],
203
+ 'sharedcount_plan' => $ssbaPost['sharedcount_plan'],
204
+
205
+ // newsharecounts
206
+ 'twitter_newsharecounts' => $ssbaPost['twitter_newsharecounts'],
207
+
208
+ // facebook
209
+ 'facebook_insights' => $ssbaPost['facebook_insights'],
210
+ 'facebook_app_id' => $ssbaPost['facebook_app_id'],
211
+ );
212
+
213
+ // prepare array of buttons
214
+ $arrButtons = json_decode(get_option('ssba_buttons'), true);
215
+
216
+ // loop through each button
217
+ foreach ($arrButtons as $button => $arrButton) {
218
+ // add custom button to array of options
219
+ $arrOptions['ssba_custom_'.$button] = $ssbaPost['ssba_custom_'.$button];
220
+ }
221
+
222
+ // save the settings
223
+ ssba_update_options($arrOptions);
224
+
225
+ // return success
226
+ return true;
227
+ }
228
+
229
+ // include then run the upgrade script
230
+ include_once (plugin_dir_path(SSBA_FILE) . '/inc/ssba_admin_panel.php');
231
+
232
+ // query the db for current ssba settings
233
+ $arrSettings = get_ssba_settings();
234
+
235
+ // --------- ADMIN PANEL ------------ //
236
+ ssba_admin_panel($arrSettings);
237
+ }
inc/ssba_admin_panel.php ADDED
@@ -0,0 +1,1015 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function ssba_admin_header()
4
+ {
5
+ // open wrap
6
+ $htmlHeader = '<div class="ssba-admin-wrap">';
7
+
8
+ // navbar/header
9
+ $htmlHeader .= '<nav class="navbar navbar-default">
10
+ <div class="container-fluid">
11
+ <div class="navbar-header">
12
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
13
+ <span class="sr-only">Toggle navigation</span>
14
+ <span class="icon-bar"></span>
15
+ <span class="icon-bar"></span>
16
+ <span class="icon-bar"></span>
17
+ </button>
18
+ <a class="navbar-brand" href="https://simplesharebuttons.com"><img src="'.plugins_url().'/simple-share-buttons-adder/images/simplesharebuttons.png" alt="Simple Share Buttons Plus" class="ssba-logo-img" /></a>
19
+ </div>
20
+
21
+ <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
22
+ <ul class="nav navbar-nav navbar-right">
23
+ <li><a href="https://simplesharebuttons.com/wordpress-faq/" target="_blank">FAQ</a></li>
24
+ <li><a href="https://wordpress.org/support/plugin/simple-share-buttons-adder" target="_blank">Support</a></li>
25
+ </ul>
26
+ </div>
27
+ </div>
28
+ </nav>';
29
+
30
+ // open container - closed in footer
31
+ $htmlHeader .= '<div class="container">';
32
+
33
+ // return
34
+ return $htmlHeader;
35
+ }
36
+
37
+ function ssba_admin_footer()
38
+ {
39
+ // row
40
+ $htmlFooter = '<footer class="row">';
41
+
42
+ // col
43
+ $htmlFooter .= '<div class="col-sm-12">';
44
+
45
+ // link to show footer content
46
+ $htmlFooter .= '<a href="https://simplesharebuttons.com" target="_blank">Simple Share Buttons Adder</a> <span class="badge">'.SSBA_VERSION.'</span>';
47
+
48
+ // show more/less links
49
+ $htmlFooter .= '<button type="button" class="ssba-btn-thank-you pull-right btn btn-primary" data-toggle="modal" data-target="#ssbaFooterModal"><i class="fa fa-info"></i></button>';
50
+
51
+ $htmlFooter.= '<div class="modal fade" id="ssbaFooterModal" tabindex="-1" role="dialog" aria-labelledby="ssbaFooterModalLabel" aria-hidden="true">
52
+ <div class="modal-dialog">
53
+ <div class="modal-content">
54
+ <div class="modal-header">
55
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
56
+ <h4 class="modal-title">Simple Share Buttons</h4>
57
+ </div>
58
+ <div class="modal-body">
59
+ <p>Many thanks for choosing <a href="https://simplesharebuttons.com" target="_blank">Simple Share Buttons</a> for your share buttons plugin, we\'re confident you won\'t be disappointed in your decision. If you require any support, please visit the <a href="https://wordpress.org/support/plugin/simple-share-buttons-adder" target="_blank">support forum</a>.</p>
60
+ <p>If you like the plugin, we\'d really appreciate it if you took a moment to <a href="https://wordpress.org/support/view/plugin-reviews/simple-share-buttons-adder" target="_blank">leave a review</a>, if there\'s anything missing to get 5 stars do please <a href="https://simplesharebuttons.com/contact/" target="_blank">let us know</a>. If you feel your website is worthy of appearing on our <a href="https://simplesharebuttons.com/showcase/" target="_blank">showcase page</a> do <a href="https://simplesharebuttons.com/contact/" target="_blank">get in touch</a>.</p>
61
+ </div>
62
+ <div class="modal-footer">
63
+ <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
64
+ </div>
65
+ </div>
66
+ </div>
67
+ </div>';
68
+
69
+ // close col
70
+ $htmlFooter .= '</div>';
71
+
72
+ // close row
73
+ $htmlFooter .= '</footer>';
74
+
75
+ // close container - opened in header
76
+ $htmlFooter .= '</div>';
77
+
78
+ // close ssba-admin-wrap - opened in header
79
+ $htmlFooter .= '</div>';
80
+
81
+ // return
82
+ return $htmlFooter;
83
+ }
84
+
85
+ function ssba_admin_panel($arrSettings)
86
+ {
87
+ // set var
88
+ $htmlShareButtonsForm = '';
89
+
90
+ // if user is accepting terms
91
+ if (isset($_GET['accept-terms']) && $_GET['accept-terms'] == 'Y') {
92
+ // save acceptance
93
+ ssba_update_options(array('accepted_sharethis_terms' => 'Y'));
94
+
95
+ // hide the notice for now, it will disappear upon reload
96
+ $htmlShareButtonsForm .= '<style>#sharethis_terms_notice { display: none }.ssbp-facebook_save { background-color: #365397 !important; }</style>';
97
+
98
+ // show notice
99
+ add_action( 'admin_notices', 'accepted_sharethis_terms_notice' );
100
+ }
101
+
102
+ // include the forms helper
103
+ include_once 'ssbp_forms.php';
104
+
105
+ // prepare array of buttons
106
+ $arrButtons = json_decode(get_option('ssba_buttons'), true);
107
+
108
+ // get the font family needed
109
+ $htmlShareButtonsForm .= '<style>'.ssba_get_font_family().'</style>';
110
+
111
+ // if left to right
112
+ if (is_rtl()) {
113
+ // move save button
114
+ $htmlShareButtonsForm .= '<style>.ssba-btn-save{left: 0!important;
115
+ right: auto !important;
116
+ border-radius: 0 5px 5px 0;}
117
+ </style>';
118
+ }
119
+
120
+ // add header
121
+ $htmlShareButtonsForm .= ssba_admin_header();
122
+
123
+ // initiate forms helper
124
+ $ssbpForm = new ssbpForms;
125
+
126
+ // opening form tag
127
+ $htmlShareButtonsForm .= $ssbpForm->open(false);
128
+
129
+ // heading
130
+ $htmlShareButtonsForm .= '<h2>Share Buttons Settings</h2>';
131
+
132
+ // if terms have just been accepted
133
+ if (isset($_GET['accept-terms']) && $_GET['accept-terms'] == 'Y') {
134
+ $htmlShareButtonsForm.= '<div class="alert alert-success text-center">
135
+ <p>Thanks for accepting the terms, you can now take advantage of the great new features!</p>
136
+ </div>';
137
+ }
138
+
139
+ // tabs
140
+ $htmlShareButtonsForm .= '<ul class="nav nav-tabs">
141
+ <li class="active"><a href="#core" data-toggle="tab">Core</a></li>
142
+ <li><a href="#styling" data-toggle="tab">Styling</a></li>
143
+ <li><a href="#counters" data-toggle="tab">Counters</a></li>
144
+ <li><a href="#advanced" data-toggle="tab">Advanced</a></li>
145
+ <li class="dropdown">
146
+ <a class="dropdown-toggle" data-toggle="dropdown" href="#">
147
+ CSS <span class="caret"></span>
148
+ </a>
149
+ <ul class="dropdown-menu">
150
+ <li><a href="#css_additional" data-toggle="tab">Additional</a></li>
151
+ <li><a href="#css_custom" data-toggle="tab">Custom</a></li>
152
+ </ul>
153
+ </li>
154
+ </ul>';
155
+ // tab content div
156
+ $htmlShareButtonsForm .= '<div id="ssbaTabContent" class="tab-content">';
157
+
158
+ //======================================================================
159
+ // CORE
160
+ //======================================================================
161
+ $htmlShareButtonsForm .= '<div class="tab-pane fade active in" id="core">';
162
+
163
+ // basic info
164
+ $htmlShareButtonsForm .= '<blockquote><p>The <b>simple</b> options you can see below are all you need to complete to get your <b>share buttons</b> to appear on your website. Once you\'re done here, you can further customise the share buttons via the Styling tab.</p></blockquote>';
165
+
166
+ // COLUMN --------------------------------
167
+ $htmlShareButtonsForm .= '<div class="col-sm-12">';
168
+
169
+ // locations array
170
+ $locs = array(
171
+ 'Homepage' => array(
172
+ 'value' => 'ssba_homepage',
173
+ 'checked' => ($arrSettings['ssba_homepage'] == 'Y' ? true : false)
174
+ ),
175
+ 'Pages' => array(
176
+ 'value' => 'ssba_pages',
177
+ 'checked' => ($arrSettings['ssba_pages'] == 'Y' ? true : false)
178
+ ),
179
+ 'Posts' => array(
180
+ 'value' => 'ssba_posts',
181
+ 'checked' => ($arrSettings['ssba_posts'] == 'Y' ? true : false)
182
+ ),
183
+ 'Excerpts' => array(
184
+ 'value' => 'ssba_excerpts',
185
+ 'checked' => ($arrSettings['ssba_excerpts'] == 'Y' ? true : false)
186
+ ),
187
+ 'Categories/Archives' => array(
188
+ 'value' => 'ssba_cats_archs',
189
+ 'checked' => ($arrSettings['ssba_cats_archs'] == 'Y' ? true : false)
190
+ )
191
+ );
192
+ // locations
193
+ $opts = array(
194
+ 'form_group' => false,
195
+ 'label' => 'Locations',
196
+ 'tooltip' => 'Enable the locations you wish for share buttons to appear',
197
+ 'value' => 'Y',
198
+ 'checkboxes' => $locs
199
+ );
200
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_checkboxes($opts);
201
+
202
+ // placement
203
+ $opts = array(
204
+ 'form_group' => false,
205
+ 'type' => 'select',
206
+ 'name' => 'ssba_before_or_after',
207
+ 'label' => 'Placement',
208
+ 'tooltip' => 'Place share buttons before or after your content',
209
+ 'selected' => $arrSettings['ssba_before_or_after'],
210
+ 'options' => array(
211
+ 'After' => 'after',
212
+ 'Before' => 'before',
213
+ 'Both' => 'both',
214
+ ),
215
+ );
216
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
217
+
218
+ // share text
219
+ $opts = array(
220
+ 'form_group' => false,
221
+ 'type' => 'text',
222
+ 'placeholder' => 'Keeping sharing simple...',
223
+ 'name' => 'ssba_share_text',
224
+ 'label' => 'Share Text',
225
+ 'tooltip' => 'Add some custom text by your share buttons',
226
+ 'value' => $arrSettings['ssba_share_text'],
227
+ );
228
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
229
+
230
+ // networks
231
+ $htmlShareButtonsForm .= '<label for="ssba_choices" class="control-label" data-toggle="tooltip" data-placement="right" data-original-title="Drag, drop and reorder those buttons that you wish to include">Networks</label>
232
+ <div class="">';
233
+
234
+ $htmlShareButtonsForm .= '<div class="ssbp-wrap ssbp--centred ssbp--theme-4">
235
+ <div class="ssbp-container">
236
+ <ul id="ssbasort1" class="ssbp-list ssbaSortable">';
237
+ $htmlShareButtonsForm .= getAvailableSSBA($arrSettings['ssba_selected_buttons'], $arrSettings);
238
+ $htmlShareButtonsForm .= '</ul>
239
+ </div>
240
+ </div>';
241
+ $htmlShareButtonsForm .= '<div class="well">';
242
+ $htmlShareButtonsForm .= '<div class="ssba-well-instruction"><i class="fa fa-download"></i> Drop icons below</div>';
243
+ $htmlShareButtonsForm .= '<div class="ssbp-wrap ssbp--centred ssbp--theme-4">
244
+ <div class="ssbp-container">
245
+ <ul id="ssbasort2" class="ssba-include-list ssbp-list ssbaSortable">';
246
+ $htmlShareButtonsForm .= getSelectedSSBA($arrSettings['ssba_selected_buttons'], $arrSettings);
247
+ $htmlShareButtonsForm .= '</ul>
248
+ </div>';
249
+ $htmlShareButtonsForm .= '</div>';
250
+ $htmlShareButtonsForm .= '</div>';
251
+ $htmlShareButtonsForm .= '<input type="hidden" name="ssba_selected_buttons" id="ssba_selected_buttons" value="'.$arrSettings['ssba_selected_buttons'].'"/>';
252
+
253
+ $htmlShareButtonsForm .= '</div>';
254
+
255
+ // close col
256
+ $htmlShareButtonsForm .= '</div>';
257
+
258
+ // close share buttons tab
259
+ $htmlShareButtonsForm .= '</div>';
260
+
261
+ //======================================================================
262
+ // STYLING
263
+ //======================================================================
264
+ $htmlShareButtonsForm .= '<div class="tab-pane fade" id="styling">';
265
+
266
+ // intro info
267
+ $htmlShareButtonsForm .= '<blockquote><p>Use the options below to choose your favourite button set and how it should appear. <strong>If you wish to upload your own custom images</strong> please select \'Custom\' from the Image Set dropdown.</p></blockquote>';
268
+
269
+ // COLUMN --------------------------------
270
+ $htmlShareButtonsForm .= '<div class="col-sm-12">';
271
+
272
+ // IMAGES --------------------------------
273
+ $htmlShareButtonsForm .= '<div class="well">';
274
+
275
+ // heading
276
+ $htmlShareButtonsForm .= '<h3>Images</h3>';
277
+
278
+ // placement
279
+ $opts = array(
280
+ 'form_group' => false,
281
+ 'type' => 'select',
282
+ 'name' => 'ssba_image_set',
283
+ 'label' => 'Image set',
284
+ 'tooltip' => 'Choose your favourite set of buttons, or set to custom to choose your own',
285
+ 'selected' => $arrSettings['ssba_image_set'],
286
+ 'options' => array(
287
+ 'Arbenta' => 'arbenta',
288
+ 'Custom' => 'custom',
289
+ 'Metal' => 'metal',
290
+ 'Pagepeel' => 'pagepeel',
291
+ 'Plain' => 'plain',
292
+ 'Retro' => 'retro',
293
+ 'Ribbons' => 'ribbons',
294
+ 'Simple' => 'simple',
295
+ 'Somacro' => 'somacro',
296
+ ),
297
+ );
298
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
299
+
300
+ // custom images well
301
+ $htmlShareButtonsForm .= '<div id="ssba-custom-images" '.($arrSettings['ssba_image_set'] != 'custom' ? 'style="display: none;"' : NULL).'>';
302
+
303
+ // loop through each button
304
+ foreach ($arrButtons as $button => $arrButton) {
305
+ // enable custom images
306
+ $opts = array(
307
+ 'form_group' => false,
308
+ 'type' => 'image_upload',
309
+ 'name' => 'ssba_custom_'.$button,
310
+ 'label' => $arrButton['full_name'],
311
+ 'tooltip' => 'Upload a custom '.$arrButton['full_name'].' image',
312
+ 'value' => $arrSettings['ssba_custom_'.$button],
313
+ );
314
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
315
+ }
316
+
317
+ // close custom images
318
+ $htmlShareButtonsForm .= '</div>';
319
+
320
+ // button size
321
+ $opts = array(
322
+ 'form_group' => false,
323
+ 'type' => 'number_addon',
324
+ 'addon' => 'px',
325
+ 'placeholder' => '35',
326
+ 'name' => 'ssba_size',
327
+ 'label' => 'Button Size',
328
+ 'tooltip' => 'Set the size of your buttons in pixels',
329
+ 'value' => $arrSettings['ssba_size'],
330
+ );
331
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
332
+
333
+ // alignment
334
+ $opts = array(
335
+ 'form_group' => false,
336
+ 'type' => 'select',
337
+ 'name' => 'ssba_align',
338
+ 'label' => 'Alignment',
339
+ 'tooltip' => 'Align your buttons the way you wish',
340
+ 'selected' => $arrSettings['ssba_align'],
341
+ 'options' => array(
342
+ 'Left' => 'left',
343
+ 'Centre' => 'center',
344
+ 'Right' => 'right',
345
+ ),
346
+ );
347
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
348
+
349
+ // padding
350
+ $opts = array(
351
+ 'form_group' => false,
352
+ 'type' => 'number_addon',
353
+ 'addon' => 'px',
354
+ 'placeholder' => '10',
355
+ 'name' => 'ssba_padding',
356
+ 'label' => 'Padding',
357
+ 'tooltip' => 'Apply some space around your images',
358
+ 'value' => $arrSettings['ssba_padding'],
359
+ );
360
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
361
+
362
+ // close images well
363
+ $htmlShareButtonsForm .= '</div>';
364
+
365
+ // SHARE TEXT STYLING --------------------------------
366
+ $htmlShareButtonsForm .= '<div class="well">';
367
+
368
+ // heading
369
+ $htmlShareButtonsForm .= '<h3>Share Text</h3>';
370
+
371
+ // font colour
372
+ $opts = array(
373
+ 'form_group' => false,
374
+ 'type' => 'colorpicker',
375
+ 'name' => 'ssba_font_color',
376
+ 'label' => 'Font Colour',
377
+ 'tooltip' => 'Choose the colour of your share text',
378
+ 'value' => $arrSettings['ssba_font_color'],
379
+ );
380
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
381
+
382
+ // font family
383
+ $opts = array(
384
+ 'form_group' => false,
385
+ 'type' => 'select',
386
+ 'name' => 'ssba_font_family',
387
+ 'label' => 'Font Family',
388
+ 'tooltip' => 'Choose a font available or inherit the font from your website',
389
+ 'selected' => $arrSettings['ssba_font_family'],
390
+ 'options' => array(
391
+ 'Reenie Beanie' => 'Reenie Beanie',
392
+ 'Indie Flower' => 'Indie Flower',
393
+ 'Inherit from my website' => '',
394
+ ),
395
+ );
396
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
397
+
398
+ // font size
399
+ $opts = array(
400
+ 'form_group' => false,
401
+ 'type' => 'number_addon',
402
+ 'addon' => 'px',
403
+ 'placeholder' => '20',
404
+ 'name' => 'ssba_font_size',
405
+ 'label' => 'Font Size',
406
+ 'tooltip' => 'Set the size of the share text in pixels',
407
+ 'value' => $arrSettings['ssba_font_size'],
408
+ );
409
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
410
+
411
+ // font weight
412
+ $opts = array(
413
+ 'form_group' => false,
414
+ 'type' => 'select',
415
+ 'name' => 'ssba_font_weight',
416
+ 'label' => 'Font Weight',
417
+ 'tooltip' => 'Set the weight of the share text',
418
+ 'selected' => $arrSettings['ssba_font_weight'],
419
+ 'options' => array(
420
+ 'Bold' => 'bold',
421
+ 'Normal' => 'normal',
422
+ 'Light' => 'light',
423
+ ),
424
+ );
425
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
426
+
427
+ // text placement
428
+ $opts = array(
429
+ 'form_group' => false,
430
+ 'type' => 'select',
431
+ 'name' => 'ssba_text_placement',
432
+ 'label' => 'Text placement',
433
+ 'tooltip' => 'Choose where you want your text to be displayed, in relation to the buttons',
434
+ 'selected' => $arrSettings['ssba_text_placement'],
435
+ 'options' => array(
436
+ 'Above' => 'above',
437
+ 'Left' => 'left',
438
+ 'Right' => 'right',
439
+ 'Below' => 'below',
440
+ ),
441
+ );
442
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
443
+
444
+ // close share text well
445
+ $htmlShareButtonsForm .= '</div>';
446
+
447
+ // CONTAINER TEXT STYLING --------------------------------
448
+ $htmlShareButtonsForm .= '<div class="well">';
449
+
450
+ // heading
451
+ $htmlShareButtonsForm .= '<h3>Container</h3>';
452
+
453
+ // container padding
454
+ $opts = array(
455
+ 'form_group' => false,
456
+ 'type' => 'number_addon',
457
+ 'addon' => 'px',
458
+ 'placeholder' => '10',
459
+ 'name' => 'ssba_div_padding',
460
+ 'label' => 'Container Padding',
461
+ 'tooltip' => 'Add some padding to your share container',
462
+ 'value' => $arrSettings['ssba_div_padding'],
463
+ );
464
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
465
+
466
+ // div background colour
467
+ $opts = array(
468
+ 'form_group' => false,
469
+ 'type' => 'colorpicker',
470
+ 'name' => 'ssba_div_background',
471
+ 'label' => 'Container Background Colour',
472
+ 'tooltip' => 'Choose the colour of your share container',
473
+ 'value' => $arrSettings['ssba_div_background'],
474
+ );
475
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
476
+
477
+ // div border colour
478
+ $opts = array(
479
+ 'form_group' => false,
480
+ 'type' => 'colorpicker',
481
+ 'name' => 'ssba_div_border',
482
+ 'label' => 'Container Border Colour',
483
+ 'tooltip' => 'Choose the colour of your share container border',
484
+ 'value' => $arrSettings['ssba_div_border'],
485
+ );
486
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
487
+
488
+ // container border width
489
+ $opts = array(
490
+ 'form_group' => false,
491
+ 'type' => 'number_addon',
492
+ 'addon' => 'px',
493
+ 'placeholder' => '1',
494
+ 'name' => 'ssba_border_width',
495
+ 'label' => 'Container Border Width',
496
+ 'tooltip' => 'Set the width of the share container border',
497
+ 'value' => $arrSettings['ssba_border_width'],
498
+ );
499
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
500
+
501
+ // rounded container corners
502
+ $opts = array(
503
+ 'form_group' => false,
504
+ 'type' => 'checkbox',
505
+ 'name' => 'ssba_div_rounded_corners',
506
+ 'label' => 'Rounded Container Corners',
507
+ 'tooltip' => 'Switch on to enable rounded corners for your share container',
508
+ 'value' => 'Y',
509
+ 'checked' => ($arrSettings['ssba_div_rounded_corners'] == 'Y' ? 'checked' : null),
510
+ );
511
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
512
+
513
+ // close container well
514
+ $htmlShareButtonsForm .= '</div>';
515
+
516
+ // close col
517
+ $htmlShareButtonsForm .= '</div>';
518
+
519
+
520
+ // close share buttons tab
521
+ $htmlShareButtonsForm .= '</div>';
522
+
523
+ //======================================================================
524
+ // COUNTERS
525
+ //======================================================================
526
+ $htmlShareButtonsForm .= '<div class="tab-pane fade" id="counters">';
527
+
528
+ // intro info
529
+ $htmlShareButtonsForm .= '<blockquote><p>You can tweak share counter settings to your liking here.</p></blockquote>';
530
+
531
+ // COLUMN --------------------------------
532
+ $htmlShareButtonsForm .= '<div class="col-sm-12">';
533
+
534
+ // share count
535
+ $opts = array(
536
+ 'form_group' => false,
537
+ 'type' => 'checkbox',
538
+ 'name' => 'ssba_show_share_count',
539
+ 'label' => 'Share Count',
540
+ 'tooltip' => 'Check the box if you wish to enable share counts. Enabling this option will slow down the loading of any pages that use share buttons',
541
+ 'value' => 'Y',
542
+ 'checked' => ($arrSettings['ssba_show_share_count'] == 'Y' ? 'checked' : null),
543
+ );
544
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
545
+
546
+ // show count once
547
+ $opts = array(
548
+ 'form_group' => false,
549
+ 'type' => 'checkbox',
550
+ 'name' => 'ssba_share_count_once',
551
+ 'label' => 'Show Once',
552
+ 'tooltip' => 'This option is recommended, it deactivates share counts for categories and archives allowing them to load more quickly',
553
+ 'value' => 'Y',
554
+ 'checked' => ($arrSettings['ssba_share_count_once'] == 'Y' ? 'checked' : null),
555
+ );
556
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
557
+
558
+ // share counters style
559
+ $opts = array(
560
+ 'form_group' => false,
561
+ 'type' => 'select',
562
+ 'name' => 'ssba_share_count_style',
563
+ 'label' => 'Counters Style',
564
+ 'tooltip' => 'Pick a setting to style the share counters',
565
+ 'selected' => $arrSettings['ssba_share_count_style'],
566
+ 'options' => array(
567
+ 'Default' => 'default',
568
+ 'White' => 'white',
569
+ 'Blue' => 'blue',
570
+ ),
571
+ );
572
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
573
+
574
+ // newsharecounts.com enable
575
+ $opts = array(
576
+ 'form_group' => false,
577
+ 'type' => 'checkbox',
578
+ 'name' => 'twitter_newsharecounts',
579
+ 'label' => 'newsharecounts.com Counts for Twitter',
580
+ 'tooltip' => 'Switch on to enable the use of the newsharecounts.com API for Twitter share counts',
581
+ 'value' => 'Y',
582
+ 'checked' => ($arrSettings['twitter_newsharecounts'] == 'Y' ? 'checked' : null),
583
+ );
584
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
585
+
586
+ // info
587
+ $htmlShareButtonsForm .= '<p>You shall need to follow the instructions here before enabling this feature - <a target="_blank" href="http://newsharecounts.com/">newsharecounts.com</a>';
588
+
589
+ // open sharedcount well
590
+ $htmlShareButtonsForm .= '<div class="well">';
591
+
592
+ // sharedcount heading
593
+ $htmlShareButtonsForm .= '<h3>sharedcount.com</h3>';
594
+ $htmlShareButtonsForm .= '<p>Only necessary if you are experiencing issues with Facebook share counts. <a href="https://admin.sharedcount.com/admin/signup.php" target="_blank">Signup for your free account here</a>.</p>';
595
+
596
+ // sharedcount enable
597
+ $opts = array(
598
+ 'form_group' => false,
599
+ 'type' => 'checkbox',
600
+ 'name' => 'sharedcount_enabled',
601
+ 'label' => 'Enable sharedcount.com API',
602
+ 'tooltip' => 'Enable if you wish to enable the use of the sharedcount.com API',
603
+ 'value' => 'Y',
604
+ 'checked' => ($arrSettings['sharedcount_enabled'] == 'Y' ? 'checked' : null),
605
+ );
606
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
607
+
608
+ // sharedcount plan
609
+ $opts = array(
610
+ 'form_group' => false,
611
+ 'type' => 'select',
612
+ 'name' => 'sharedcount_plan',
613
+ 'label' => 'sharedcount.com plan',
614
+ 'tooltip' => 'Select your sharedcount.com plan',
615
+ 'selected' => $arrSettings['sharedcount_plan'],
616
+ 'options' => array(
617
+ 'Free' => 'free',
618
+ 'Plus' => 'plus',
619
+ 'Business' => 'business',
620
+ ),
621
+ );
622
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
623
+
624
+ // sharedcount api key
625
+ $opts = array(
626
+ 'form_group' => false,
627
+ 'type' => 'text',
628
+ 'placeholder' => '9b17c12712c691491ef95f46c51ce3917118fdf9',
629
+ 'name' => 'sharedcount_api_key',
630
+ 'label' => 'sharedcount.com API Key',
631
+ 'tooltip' => 'Add some text included in an email when people share that way',
632
+ 'value' => $arrSettings['sharedcount_api_key'],
633
+ );
634
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
635
+
636
+ // close well
637
+ $htmlShareButtonsForm .= '</div>';
638
+
639
+ // close col
640
+ $htmlShareButtonsForm .= '</div>';
641
+
642
+ // close share buttons tab
643
+ $htmlShareButtonsForm .= '</div>';
644
+
645
+ //======================================================================
646
+ // ADVANCED
647
+ //======================================================================
648
+ $htmlShareButtonsForm .= '<div class="tab-pane fade" id="advanced">';
649
+
650
+ // intro info
651
+ $htmlShareButtonsForm .= '<blockquote><p>You\'ll find a number of advanced and miscellaneous options below, to get your share buttons functioning how you would like.</p></blockquote>';
652
+
653
+ // COLUMN --------------------------------
654
+ $htmlShareButtonsForm .= '<div class="col-sm-12">';
655
+
656
+ // link to ssb
657
+ $opts = array(
658
+ 'form_group' => false,
659
+ 'type' => 'checkbox',
660
+ 'name' => 'ssba_link_to_ssb',
661
+ 'label' => 'Share Text Link',
662
+ 'tooltip' => 'Enabling this will set your share text as a link to simplesharebuttons.com to help others learn of the plugin',
663
+ 'value' => 'Y',
664
+ 'checked' => ($arrSettings['ssba_link_to_ssb'] == 'Y' ? 'checked' : null),
665
+ );
666
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
667
+
668
+ // content priority
669
+ $opts = array(
670
+ 'form_group' => false,
671
+ 'type' => 'number',
672
+ 'placeholder' => '10',
673
+ 'name' => 'ssba_content_priority',
674
+ 'label' => 'Content Priority',
675
+ 'tooltip' => 'Set the priority for your share buttons within your content. 1-10, default is 10',
676
+ 'value' => $arrSettings['ssba_content_priority'],
677
+ );
678
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
679
+
680
+ // share in new window
681
+ $opts = array(
682
+ 'form_group' => false,
683
+ 'type' => 'checkbox',
684
+ 'name' => 'ssba_share_new_window',
685
+ 'label' => 'Open links in a new window',
686
+ 'tooltip' => 'Disabling this will make links open in the same window',
687
+ 'value' => 'Y',
688
+ 'checked' => ($arrSettings['ssba_share_new_window'] == 'Y' ? 'checked' : null),
689
+ );
690
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
691
+
692
+ // nofollow
693
+ $opts = array(
694
+ 'form_group' => false,
695
+ 'type' => 'checkbox',
696
+ 'name' => 'ssba_rel_nofollow',
697
+ 'label' => 'Add rel="nofollow"',
698
+ 'tooltip' => 'Enable this to add nofollow to all share links',
699
+ 'value' => 'Y',
700
+ 'checked' => ($arrSettings['ssba_rel_nofollow'] == 'Y' ? 'checked' : null),
701
+ );
702
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
703
+
704
+ // widget share text
705
+ $opts = array(
706
+ 'form_group' => false,
707
+ 'type' => 'text',
708
+ 'placeholder' => 'Keeping sharing simple...',
709
+ 'name' => 'ssba_widget_text',
710
+ 'label' => 'Widget Share Text',
711
+ 'tooltip' => 'Add custom share text when used as a widget',
712
+ 'value' => $arrSettings['ssba_widget_text'],
713
+ );
714
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
715
+
716
+ // email share text
717
+ $opts = array(
718
+ 'form_group' => false,
719
+ 'type' => 'text',
720
+ 'placeholder' => 'Share by email...',
721
+ 'name' => 'ssba_email_message',
722
+ 'label' => 'Email Text',
723
+ 'tooltip' => 'Add some text included in an email when people share that way',
724
+ 'value' => $arrSettings['ssba_email_message'],
725
+ );
726
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
727
+
728
+ // facebook app id
729
+ $opts = array(
730
+ 'form_group' => false,
731
+ 'type' => 'text',
732
+ 'placeholder' => '123456789123',
733
+ 'name' => 'facebook_app_id',
734
+ 'label' => 'Facebook App ID',
735
+ 'tooltip' => 'Enter your Facebook App ID, e.g. 123456789123',
736
+ 'value' => $arrSettings['facebook_app_id'],
737
+ 'disabled' => ($arrSettings['accepted_sharethis_terms'] != 'Y' ? 'disabled' : null),
738
+ );
739
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
740
+
741
+ // info
742
+ $htmlShareButtonsForm .= '<p>You shall need to follow the instructions here before enabling this feature - <a target="_blank" href="https://developers.facebook.com/docs/apps/register">https://developers.facebook.com/docs/apps/register</a></p>';
743
+
744
+ // facebook insights
745
+ $opts = array(
746
+ 'form_group' => false,
747
+ 'type' => 'checkbox',
748
+ 'name' => 'facebook_insights',
749
+ 'label' => 'Facebook Insights',
750
+ 'tooltip' => 'Enable this feature to enable Facebook Insights',
751
+ 'value' => 'Y',
752
+ 'checked' => ($arrSettings['facebook_insights'] == 'Y' ? 'checked' : null),
753
+ 'disabled' => ($arrSettings['accepted_sharethis_terms'] != 'Y' ? 'disabled' : null),
754
+ );
755
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
756
+
757
+ // info
758
+ $htmlShareButtonsForm .= '<p>You shall need have created and added a Facebook App ID above to make use of this feature</p>';
759
+
760
+ // twitter share text
761
+ $opts = array(
762
+ 'form_group' => false,
763
+ 'type' => 'text',
764
+ 'placeholder' => 'Shared by Twitter...',
765
+ 'name' => 'ssba_twitter_text',
766
+ 'label' => 'Twitter Text',
767
+ 'tooltip' => 'Add some custom text for when people share via Twitter',
768
+ 'value' => $arrSettings['ssba_twitter_text'],
769
+ );
770
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
771
+
772
+ // flattr user id
773
+ $opts = array(
774
+ 'form_group' => false,
775
+ 'type' => 'text',
776
+ 'placeholder' => 'davidsneal',
777
+ 'name' => 'ssba_flattr_user_id',
778
+ 'label' => 'Flattr User ID',
779
+ 'tooltip' => 'Enter your Flattr ID, e.g. davidsneal',
780
+ 'value' => $arrSettings['ssba_flattr_user_id'],
781
+ );
782
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
783
+
784
+ // flattr url
785
+ $opts = array(
786
+ 'form_group' => false,
787
+ 'type' => 'text',
788
+ 'placeholder' => 'https://simplesharebuttons.com',
789
+ 'name' => 'ssba_flattr_url',
790
+ 'label' => 'Flattr URL',
791
+ 'tooltip' => 'This option is perfect for dedicated sites, e.g. https://simplesharebuttons.com',
792
+ 'value' => $arrSettings['ssba_flattr_url'],
793
+ );
794
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
795
+
796
+ // buffer text
797
+ $opts = array(
798
+ 'form_group' => false,
799
+ 'type' => 'text',
800
+ 'placeholder' => 'Shared by Buffer...',
801
+ 'name' => 'ssba_buffer_text',
802
+ 'label' => 'Custom Buffer Text',
803
+ 'tooltip' => 'Add some custom text for when people share via Buffer',
804
+ 'value' => $arrSettings['ssba_buffer_text'],
805
+ );
806
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
807
+
808
+ // pin featured images
809
+ $opts = array(
810
+ 'form_group' => false,
811
+ 'type' => 'checkbox',
812
+ 'name' => 'ssba_pinterest_featured',
813
+ 'label' => 'Pin Featured Images',
814
+ 'tooltip' => 'Force the use of featured images for posts/pages when pinning',
815
+ 'value' => 'Y',
816
+ 'checked' => ($arrSettings['ssba_pinterest_featured'] == 'Y' ? 'checked' : null),
817
+ );
818
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
819
+
820
+ // default pinterest image
821
+ $opts = array(
822
+ 'form_group' => false,
823
+ 'type' => 'image_upload',
824
+ 'name' => 'ssba_default_pinterest',
825
+ 'label' => 'Default Pinterest Image',
826
+ 'tooltip' => 'Upload a default Pinterest image',
827
+ 'value' => $arrSettings['ssba_default_pinterest'],
828
+ );
829
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
830
+
831
+ $htmlShareButtonsForm .='<h4>Privacy Settings</h4>';
832
+
833
+ $opts = array(
834
+ 'form_group' => false,
835
+ 'type' => 'checkbox',
836
+ 'name' => 'accepted_sharethis_terms',
837
+ 'label' => '<a target="_blank" href="https://simplesharebuttons.com/privacy/">Terms of Service</a>',
838
+ 'tooltip' => 'We \'ve updated our privacy policy and terms of use with important changes you should review.',
839
+ 'value' => 'Y',
840
+ 'checked' => ($arrSettings['accepted_sharethis_terms'] != 'N' ? 'checked' : null),
841
+ );
842
+
843
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
844
+
845
+ // close col
846
+ $htmlShareButtonsForm .= '</div>';
847
+
848
+ // close share buttons tab
849
+ $htmlShareButtonsForm .= '</div>';
850
+
851
+ //======================================================================
852
+ // ADDITIONAL CSS
853
+ //======================================================================
854
+ $htmlShareButtonsForm .= '<div class="tab-pane fade" id="css_additional">';
855
+
856
+ // intro info
857
+ $htmlShareButtonsForm .= '<blockquote><p>The contents of the text area below will be appended to Simple Share Button Adder\'s CSS.</p></blockquote>';
858
+
859
+ // column for padding
860
+ $htmlShareButtonsForm .= '<div class="col-sm-12">';
861
+
862
+ // additional css
863
+ $opts = array(
864
+ 'form_group' => false,
865
+ 'type' => 'textarea',
866
+ 'rows' => '15',
867
+ 'class' => 'code-font',
868
+ 'name' => 'ssba_additional_css',
869
+ 'label' => 'Additional CSS',
870
+ 'tooltip' => 'Add your own additional CSS if you wish',
871
+ 'value' => $arrSettings['ssba_additional_css'],
872
+ );
873
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
874
+
875
+ // close column
876
+ $htmlShareButtonsForm .= '</div>';
877
+
878
+ // close additional css
879
+ $htmlShareButtonsForm .= '</div>';
880
+
881
+ //======================================================================
882
+ // CUSTOM CSS
883
+ //======================================================================
884
+ $htmlShareButtonsForm .= '<div class="tab-pane fade" id="css_custom">';
885
+
886
+ // intro info
887
+ $htmlShareButtonsForm .= '<blockquote><p>If you want to take over control of your share buttons\' CSS entirely, turn on the switch below and enter your custom CSS. <strong>ALL of Simple Share Buttons Adder\'s CSS will be disabled</strong>.</p></blockquote>';
888
+
889
+ // column for padding
890
+ $htmlShareButtonsForm .= '<div class="col-sm-12">';
891
+
892
+ // enable custom css
893
+ $opts = array(
894
+ 'form_group' => false,
895
+ 'type' => 'checkbox',
896
+ 'name' => 'ssba_custom_styles_enabled',
897
+ 'label' => 'Enable Custom CSS',
898
+ 'tooltip' => 'Switch on to disable all SSBA styles and use your own custom CSS',
899
+ 'value' => 'Y',
900
+ 'checked' => ($arrSettings['ssba_custom_styles_enabled'] == 'Y' ? 'checked' : null),
901
+ );
902
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
903
+
904
+ // custom css
905
+ $opts = array(
906
+ 'form_group' => false,
907
+ 'type' => 'textarea',
908
+ 'rows' => '15',
909
+ 'class' => 'code-font',
910
+ 'name' => 'ssba_custom_styles',
911
+ 'label' => 'Custom CSS',
912
+ 'tooltip' => 'Enter in your own custom CSS for your share buttons',
913
+ 'value' => $arrSettings['ssba_custom_styles'],
914
+ );
915
+ $htmlShareButtonsForm .= $ssbpForm->ssbp_input($opts);
916
+
917
+ // close column
918
+ $htmlShareButtonsForm .= '</div>';
919
+
920
+ // close custom css
921
+ $htmlShareButtonsForm .= '</div>';
922
+
923
+ // close tab content div
924
+ $htmlShareButtonsForm .= '</div>';
925
+
926
+ // close off form with save button
927
+ $htmlShareButtonsForm .= $ssbpForm->close();
928
+
929
+ // add footer
930
+ $htmlShareButtonsForm .= ssba_admin_footer();
931
+
932
+ echo $htmlShareButtonsForm;
933
+ }
934
+
935
+ // get an html formatted of currently selected and ordered buttons
936
+ function getSelectedSSBA($strSelectedSSBA, $arrSettings) {
937
+ //variables
938
+ $htmlSelectedList = '';
939
+
940
+ // prepare array of buttons
941
+ $arrButtons = json_decode(get_option('ssba_buttons'), true);
942
+
943
+ // if there are some selected buttons
944
+ if ($strSelectedSSBA != '') {
945
+
946
+ // explode saved include list and add to a new array
947
+ $arrSelectedSSBA = explode(',', $strSelectedSSBA);
948
+
949
+ // check if array is not empty
950
+ if ($arrSelectedSSBA != '') {
951
+
952
+ // for each included button
953
+ foreach ($arrSelectedSSBA as $strSelected) {
954
+ // if share this terms haven't been accepted and it's the facebook save button then make the button look disabled
955
+ $disabled = ($arrSettings['accepted_sharethis_terms'] != 'Y' && $strSelected == 'facebook_save' ? 'style="background-color:#eaeaea;"' : null);
956
+
957
+ // add a list item for each selected option
958
+ $htmlSelectedList .= '<li class="ssbp-option-item" id="'.$strSelected.'"><a title="'.$arrButtons[$strSelected]["full_name"].'" href="javascript:;" class="ssbp-btn ssbp-'.$strSelected.'" '.$disabled.'></a></li>';
959
+ }
960
+ }
961
+ }
962
+
963
+ // return html list options
964
+ return $htmlSelectedList;
965
+ }
966
+
967
+ function getAvailableSSBA($strSelectedSSBA, $arrSettings)
968
+ {
969
+ // variables
970
+ $htmlAvailableList = '';
971
+
972
+ // prepare array of buttons
973
+ $arrButtons = json_decode(get_option('ssba_buttons'), true);
974
+
975
+ // explode saved include list and add to a new array
976
+ $arrSelectedSSBA = explode(',', $strSelectedSSBA);
977
+
978
+ // extract the available buttons
979
+ $arrAvailableSSBA = array_diff(array_keys($arrButtons), $arrSelectedSSBA);
980
+
981
+ // check if array is not empty
982
+ if($arrSelectedSSBA != '')
983
+ {
984
+ // for each included button
985
+ foreach($arrAvailableSSBA as $strAvailable) {
986
+ // if share this terms haven't been accepted and it's the facebook save button then make the button look disabled
987
+ $disabled = ($arrSettings['accepted_sharethis_terms'] != 'Y' && $strAvailable == 'facebook_save' ? 'style="background-color:#eaeaea;"' : null);
988
+
989
+ // add a list item for each available option
990
+ $htmlAvailableList .= '<li class="ssbp-option-item" id="'.$strAvailable.'"><a title="'.$arrButtons[$strAvailable]["full_name"].'" href="javascript:;" class="ssbp-btn ssbp-'.$strAvailable.'" '.$disabled.'></a></li>';
991
+ }
992
+ }
993
+
994
+ // return html list options
995
+ return $htmlAvailableList;
996
+ }
997
+
998
+ // get ssbp font family
999
+ function ssba_get_font_family()
1000
+ {
1001
+ return "@font-face {
1002
+ font-family: 'ssbp';
1003
+ src:url('".plugins_url()."/simple-share-buttons-adder/fonts/ssbp.eot?xj3ol1');
1004
+ src:url('".plugins_url()."/simple-share-buttons-adder/fonts/ssbp.eot?#iefixxj3ol1') format('embedded-opentype'),
1005
+ url('".plugins_url()."/simple-share-buttons-adder/fonts/ssbp.woff?xj3ol1') format('woff'),
1006
+ url('".plugins_url()."/simple-share-buttons-adder/fonts/ssbp.ttf?xj3ol1') format('truetype'),
1007
+ url('".plugins_url()."/simple-share-buttons-adder/fonts/ssbp.svg?xj3ol1#ssbp') format('svg');
1008
+ font-weight: normal;
1009
+ font-style: normal;
1010
+
1011
+ /* Better Font Rendering =========== */
1012
+ -webkit-font-smoothing: antialiased;
1013
+ -moz-osx-font-smoothing: grayscale;
1014
+ }";
1015
+ }
inc/ssba_buttons.php ADDED
@@ -0,0 +1,1012 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined('ABSPATH') or die('No direct access permitted');
3
+
4
+ // format the returned number
5
+ function ssba_format_number($intNumber)
6
+ {
7
+ // if the number is greater than or equal to 1000
8
+ if ($intNumber >= 1000) {
9
+ // divide by 1000 and add k
10
+ $intNumber = round(($intNumber / 1000), 1).'k';
11
+ }
12
+
13
+ // return the number
14
+ return $intNumber;
15
+ }
16
+
17
+ /**
18
+ * Adds a filter around the content.
19
+ */
20
+ function ssba_add_button_filter() {
21
+ $arrSettings = get_ssba_settings();
22
+ add_filter( 'the_content', 'show_share_buttons', (int) $arrSettings['ssba_content_priority'] );
23
+ }
24
+
25
+ add_action( 'wp_head', 'ssba_add_button_filter', 99 );
26
+
27
+
28
+ // get and show share buttons
29
+ function show_share_buttons($content, $booShortCode = FALSE, $atts = '') {
30
+
31
+ // globals
32
+ global $post;
33
+
34
+ // variables
35
+ $htmlContent = $content;
36
+ $pattern = get_shortcode_regex();
37
+
38
+ // ssba_hide shortcode is in the post content and instance is not called by shortcode ssba
39
+ if (isset($post->post_content) && preg_match_all( '/'. $pattern .'/s', $post->post_content, $matches )
40
+ && array_key_exists( 2, $matches )
41
+ && in_array('ssba_hide', $matches[2])
42
+ && $booShortCode == FALSE) {
43
+
44
+ // exit the function returning the content without the buttons
45
+ return $content;
46
+ }
47
+
48
+ // get sbba settings
49
+ $arrSettings = get_ssba_settings();
50
+
51
+ // placement on pages/posts/categories/archives/homepage
52
+ if ((!is_home() && !is_front_page() && is_page() && $arrSettings['ssba_pages'] == 'Y') || (is_single() && $arrSettings['ssba_posts'] == 'Y') || (is_category() && $arrSettings['ssba_cats_archs'] == 'Y') || (is_archive() && $arrSettings['ssba_cats_archs'] == 'Y') || ( (is_home() || is_front_page() ) && $arrSettings['ssba_homepage'] == 'Y') || $booShortCode == TRUE) {
53
+
54
+
55
+ // if not shortcode
56
+ if (isset($atts['widget']) && $atts['widget'] == 'Y')
57
+ // use widget share text
58
+ $strShareText = $arrSettings['ssba_widget_text'];
59
+ else
60
+ // use normal share text
61
+ $strShareText = $arrSettings['ssba_share_text'];
62
+
63
+ // post id
64
+ $intPostID = get_the_ID();
65
+
66
+ // ssba div
67
+ $htmlShareButtons = '<!-- Simple Share Buttons Adder ('.SSBA_VERSION.') simplesharebuttons.com --><div class="ssba ssba-wrap">';
68
+
69
+ // center if set so
70
+ $htmlShareButtons.= '<div style="text-align:'.$arrSettings['ssba_align'].'">';
71
+
72
+ // add custom text if set and set to placement above or left
73
+ if (($strShareText != '') && ($arrSettings['ssba_text_placement'] == 'above' || $arrSettings['ssba_text_placement'] == 'left')) {
74
+
75
+ // check if user has left share link box checked
76
+ if ($arrSettings['ssba_link_to_ssb'] == 'Y') {
77
+
78
+ // share text with link
79
+ $htmlShareButtons .= '<a href="https://simplesharebuttons.com" target="_blank">' . $strShareText . '</a>';
80
+ }
81
+
82
+ // just display the share text
83
+ else {
84
+
85
+ // share text
86
+ $htmlShareButtons .= $strShareText;
87
+ }
88
+ // add a line break if set to above
89
+ ($arrSettings['ssba_text_placement'] == 'above' ? $htmlShareButtons .= '<br/>' : NULL);
90
+ }
91
+
92
+ // if running standard
93
+ if ($booShortCode == FALSE) {
94
+
95
+ // use wordpress functions for page/post details
96
+ $urlCurrentPage = get_permalink($post->ID);
97
+ $strPageTitle = get_the_title($post->ID);
98
+
99
+ } else { // using shortcode
100
+
101
+ // set page URL and title as set by user or get if needed
102
+ $urlCurrentPage = (isset($atts['url']) ? $atts['url'] : ssba_current_url($atts));
103
+ $strPageTitle = (isset($atts['title']) ? $atts['title'] : get_the_title());
104
+ }
105
+
106
+ // strip any unwanted tags from the page title
107
+ $strPageTitle = esc_attr(strip_tags($strPageTitle));
108
+
109
+ // the buttons!
110
+ $htmlShareButtons.= get_share_buttons($arrSettings, $urlCurrentPage, $strPageTitle, $intPostID);
111
+
112
+ // add custom text if set and set to placement right or below
113
+ if (($strShareText != '') && ($arrSettings['ssba_text_placement'] == 'right' || $arrSettings['ssba_text_placement'] =='below')) {
114
+
115
+ // add a line break if set to above
116
+ ($arrSettings['ssba_text_placement'] == 'below' ? $htmlShareButtons .= '<br/>' : NULL);
117
+
118
+ // check if user has checked share link option
119
+ if ($arrSettings['ssba_link_to_ssb'] == 'Y') {
120
+
121
+ // share text with link
122
+ $htmlShareButtons .= '<a href="https://simplesharebuttons.com" target="_blank">' . $strShareText . '</a>';
123
+ }
124
+
125
+ // just display the share text
126
+ else {
127
+
128
+ // share text
129
+ $htmlShareButtons .= $strShareText;
130
+ }
131
+ }
132
+
133
+ // close center if set
134
+ $htmlShareButtons.= '</div>';
135
+ $htmlShareButtons.= '</div>';
136
+
137
+ // if not using shortcode
138
+ if ($booShortCode == FALSE) {
139
+
140
+ // switch for placement of ssba
141
+ switch ($arrSettings['ssba_before_or_after']) {
142
+
143
+ case 'before': // before the content
144
+ $htmlContent = $htmlShareButtons . $content;
145
+ break;
146
+
147
+ case 'after': // after the content
148
+ $htmlContent = $content . $htmlShareButtons;
149
+ break;
150
+
151
+ case 'both': // before and after the content
152
+ $htmlContent = $htmlShareButtons . $content . $htmlShareButtons;
153
+ break;
154
+ }
155
+ }
156
+
157
+ // if using shortcode
158
+ else {
159
+
160
+ // just return buttons
161
+ $htmlContent = $htmlShareButtons;
162
+ }
163
+ }
164
+
165
+ // return content and share buttons
166
+ return $htmlContent;
167
+ }
168
+
169
+ // if we wish to add to excerpts
170
+ if(isset($arrSettings['ssba_excerpts']) && $arrSettings['ssba_excerpts'] == 'Y') {
171
+
172
+ // add a hook
173
+ add_filter( 'the_excerpt', 'show_share_buttons');
174
+ }
175
+
176
+ // shortcode for adding buttons
177
+ function ssba_buttons($atts) {
178
+
179
+ // get buttons - NULL for $content, TRUE for shortcode flag
180
+ $htmlShareButtons = show_share_buttons(NULL, TRUE, $atts);
181
+
182
+ //return buttons
183
+ return $htmlShareButtons;
184
+ }
185
+
186
+ // shortcode for hiding buttons
187
+ function ssba_hide($content) {
188
+ // no need to do anything here!
189
+ }
190
+
191
+ // get URL function
192
+ function ssba_current_url($atts) {
193
+ // if multisite has been set to true
194
+ if (isset($atts['multisite'])) {
195
+ global $wp;
196
+ $url = add_query_arg($_SERVER['QUERY_STRING'], '', home_url($wp->request));
197
+ return esc_url($url);
198
+ }
199
+
200
+ // add http
201
+ $urlCurrentPage = 'http';
202
+
203
+ // add s to http if required
204
+ if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") {
205
+ $urlCurrentPage .= "s";
206
+ }
207
+
208
+ // add colon and forward slashes
209
+ $urlCurrentPage .= "://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
210
+
211
+ // return url
212
+ return esc_url($urlCurrentPage);
213
+ }
214
+
215
+ // get set share buttons
216
+ function get_share_buttons($arrSettings, $urlCurrentPage, $strPageTitle, $intPostID) {
217
+
218
+ // variables
219
+ $htmlShareButtons = '';
220
+
221
+ // explode saved include list and add to a new array
222
+ $arrSelectedSSBA = explode(',', $arrSettings['ssba_selected_buttons']);
223
+
224
+ // check if array is not empty
225
+ if ($arrSettings['ssba_selected_buttons'] != '') {
226
+
227
+ // add post ID to settings array
228
+ $arrSettings['post_id'] = $intPostID;
229
+
230
+ // if show counters option is selected
231
+ if ($arrSettings['ssba_show_share_count'] == 'Y') {
232
+
233
+ // set show flag to true
234
+ $booShowShareCount = true;
235
+
236
+ // if show counters once option is selected
237
+ if ($arrSettings['ssba_share_count_once'] == 'Y') {
238
+
239
+ // if not a page or post
240
+ if (!is_page() && !is_single()) {
241
+
242
+ // set show flag to false
243
+ $booShowShareCount = false;
244
+ }
245
+ }
246
+ } else {
247
+ // set show flag to false
248
+ $booShowShareCount = false;
249
+ }
250
+
251
+ // for each included button
252
+ foreach ($arrSelectedSSBA as $strSelected) {
253
+
254
+ $strGetButton = 'ssba_' . $strSelected;
255
+
256
+ // add a list item for each selected option
257
+ $htmlShareButtons .= $strGetButton($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount);
258
+ }
259
+ }
260
+
261
+ // return share buttons
262
+ return $htmlShareButtons;
263
+ }
264
+
265
+ // get facebook button
266
+ function ssba_facebook($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
267
+ // if the sharethis terms have been accepted
268
+ if ($arrSettings['accepted_sharethis_terms'] == 'Y' && $arrSettings['facebook_app_id'] != '') {
269
+ // facebook share link
270
+ $htmlShareButtons = '<a data-site="" data-facebook="mobile" class="ssba_facebook_share" data-href="'.$urlCurrentPage.'" href="https://www.facebook.com/dialog/share?app_id='.$arrSettings['facebook_app_id'].'&display=popup&href='.$urlCurrentPage.'&redirect_uri='.$urlCurrentPage.'" ' . ($arrSettings['ssba_share_new_window'] == 'Y' ? ' target="_blank" ' : NULL) . ($arrSettings['ssba_rel_nofollow'] == 'Y' ? ' rel="nofollow"' : NULL) .'>';
271
+ } else {
272
+ // facebook share link
273
+ $htmlShareButtons = '<a data-site="" class="ssba_facebook_share" href="http://www.facebook.com/sharer.php?u=' . $urlCurrentPage . '" ' . ($arrSettings['ssba_share_new_window'] == 'Y' ? ' target="_blank" ' : NULL) . ($arrSettings['ssba_rel_nofollow'] == 'Y' ? ' rel="nofollow"' : NULL) .'>';
274
+ }
275
+
276
+ // if not using custom
277
+ if ($arrSettings['ssba_image_set'] != 'custom') {
278
+
279
+ // show selected ssba image
280
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/facebook.png" title="Facebook" class="ssba ssba-img" alt="Share on Facebook" />';
281
+ }
282
+
283
+ // if using custom images
284
+ else {
285
+
286
+ // show custom image
287
+ $htmlShareButtons .= '<img src="' . $arrSettings['ssba_custom_facebook'] . '" title="Facebook" class="ssba ssba-img" alt="Share on Facebook" />';
288
+ }
289
+
290
+ // close href
291
+ $htmlShareButtons .= '</a>';
292
+
293
+ // if show share count is set to Y
294
+ if ($arrSettings['ssba_show_share_count'] == 'Y' && $booShowShareCount == true) {
295
+ // get and add facebook share count
296
+ $htmlShareButtons .= '<span class="ssba_sharecount">' . getFacebookShareCount($urlCurrentPage, $arrSettings) . '</span>';
297
+ }
298
+
299
+ // return share buttons
300
+ return $htmlShareButtons;
301
+ }
302
+
303
+ // get facebook button
304
+ function ssba_facebook_save($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
305
+ // if the sharethis terms have been accepted
306
+ if ($arrSettings['accepted_sharethis_terms'] == 'Y') {
307
+ // add facebook save button
308
+ return '<div class="fb-save" style="display:inline-block" data-uri="'.$urlCurrentPage.'"></div>';
309
+ }
310
+ }
311
+
312
+ // get facebook share count
313
+ function getFacebookShareCount($urlCurrentPage, $arrSettings)
314
+ {
315
+ $cache_key = sprintf(
316
+ 'facebook_sharecount_%s',
317
+ wp_hash( $urlCurrentPage )
318
+ );
319
+ if ( $cachedCount = wp_cache_get( $cache_key, 'ssba' ) ) {
320
+ return ssba_format_number( $cachedCount );
321
+ }
322
+
323
+ // Get the longer cached value from the Transient API.
324
+ $longCachedCount = get_transient( "ssba_{$cache_key}" );
325
+ if ( false === $longCachedCount ) {
326
+ $longCachedCount = 0;
327
+ }
328
+
329
+ // if sharedcount.com is enabled
330
+ if ($arrSettings['sharedcount_enabled']) {
331
+ // request from sharedcount.com
332
+ $sharedcount = wp_remote_get('https://'.$arrSettings['sharedcount_plan'].'.sharedcount.com/url?url='.$urlCurrentPage.'&apikey='.$arrSettings['sharedcount_api_key'], array('timeout' => 6));
333
+
334
+ // if no error
335
+ if (is_wp_error($sharedcount)) {
336
+ return ssba_format_number( $longCachedCount );
337
+ }
338
+
339
+ // decode and return count
340
+ $shared_resp = json_decode( $sharedcount['body'], true );
341
+ $sharedcount = $longCachedCount;
342
+ if ( isset( $shared_resp['Facebook']['share_count'] ) ) {
343
+ $sharedcount = (int) $shared_resp['Facebook']['share_count'];
344
+ wp_cache_set( $cache_key, $sharedcount, 'ssba', MINUTE_IN_SECONDS * 2 );
345
+ set_transient( "ssba_{$cache_key}", $sharedcount, DAY_IN_SECONDS );
346
+ }
347
+ return ssba_format_number( $sharedcount );
348
+ } else {
349
+ // get results from facebook
350
+ $htmlFacebookShareDetails = wp_remote_get('http://graph.facebook.com/'.$urlCurrentPage, array('timeout' => 6));
351
+
352
+ // if no error
353
+ if (is_wp_error($htmlFacebookShareDetails)) {
354
+ return ssba_format_number( $longCachedCount );
355
+ }
356
+
357
+ // decode and return count
358
+ $arrFacebookShareDetails = json_decode($htmlFacebookShareDetails['body'], true);
359
+ $intFacebookShareCount = $longCachedCount;
360
+ if ( isset( $arrFacebookShareDetails['share']['share_count'] ) ) {
361
+ $intFacebookShareCount = (int) $arrFacebookShareDetails['share']['share_count'];
362
+ wp_cache_set( $cache_key, $intFacebookShareCount, 'ssba', MINUTE_IN_SECONDS * 2 );
363
+ set_transient( "ssba_{$cache_key}", $intFacebookShareCount, DAY_IN_SECONDS );
364
+ }
365
+ return ssba_format_number( $intFacebookShareCount );
366
+ }
367
+ }
368
+
369
+ // get twitter button
370
+ function ssba_twitter($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
371
+
372
+ // format the URL into friendly code
373
+ $twitterShareText = urlencode(html_entity_decode($strPageTitle . ' ' . $arrSettings['ssba_twitter_text'], ENT_COMPAT, 'UTF-8'));
374
+
375
+ // twitter share link
376
+ $htmlShareButtons = '<a data-site="" class="ssba_twitter_share" href="http://twitter.com/share?url=' . $urlCurrentPage . '&amp;text=' . $twitterShareText . '" ' . ($arrSettings['ssba_share_new_window'] == 'Y' ? ' target="_blank" ' : NULL) . ($arrSettings['ssba_rel_nofollow'] == 'Y' ? ' rel="nofollow"' : NULL) . '>';
377
+
378
+ // if image set is not custom
379
+ if ($arrSettings['ssba_image_set'] != 'custom') {
380
+
381
+ // show ssba image
382
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/twitter.png" title="Twitter" class="ssba ssba-img" alt="Tweet about this on Twitter" />';
383
+ }
384
+
385
+ // if using custom images
386
+ else {
387
+
388
+ // show custom image
389
+ $htmlShareButtons .= '<img src="' . $arrSettings['ssba_custom_twitter'] . '" title="Twitter" class="ssba ssba-img" alt="Tweet about this on Twitter" />';
390
+ }
391
+
392
+ // close href
393
+ $htmlShareButtons .= '</a>';
394
+
395
+ // if show share count is set to Y
396
+ if ($arrSettings['ssba_show_share_count'] == 'Y' && $booShowShareCount == true) {
397
+ // newsharedcount needs to be enabled
398
+ if ($arrSettings['twitter_newsharecounts'] == 'Y') {
399
+ $htmlShareButtons .= '<span class="ssba_sharecount">' . ssba_twitter_count($urlCurrentPage) . '</span>';
400
+ }
401
+ }
402
+
403
+ // return share buttons
404
+ return $htmlShareButtons;
405
+ }
406
+
407
+ // get twitter share count
408
+ function ssba_twitter_count($urlCurrentPage)
409
+ {
410
+ // get results from newsharecounts and return the number of shares
411
+ $result = wp_remote_get('http://public.newsharecounts.com/count.json?url=' . $urlCurrentPage, array('timeout' => 6));
412
+
413
+ // check there was an error
414
+ if (is_wp_error($result)) {
415
+ return 0;
416
+ }
417
+
418
+ // decode data
419
+ $result = json_decode($result['body'], true);
420
+ $count = (isset($result['count']) ? $result['count'] : 0);
421
+
422
+ // return
423
+ return ssba_format_number($count);
424
+ }
425
+
426
+ // get google+ button
427
+ function ssba_google($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
428
+
429
+ // google share link
430
+ $htmlShareButtons = '<a data-site="" class="ssba_google_share" href="https://plus.google.com/share?url=' . $urlCurrentPage . '" ' . ($arrSettings['ssba_share_new_window'] == 'Y' ? ' target="_blank" ' : NULL) . ($arrSettings['ssba_rel_nofollow'] == 'Y' ? ' rel="nofollow" ' : NULL) . '>';
431
+
432
+ // if image set is not custom
433
+ if ($arrSettings['ssba_image_set'] != 'custom') {
434
+
435
+ // show ssba image
436
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/google.png" title="Google+" class="ssba ssba-img" alt="Share on Google+" />';
437
+ }
438
+
439
+ // if using custom images
440
+ else {
441
+
442
+ // show custom image
443
+ $htmlShareButtons .= '<img src="' . $arrSettings['ssba_custom_google'] . '" title="Share on Google+" class="ssba ssba-img" alt="Google+" />';
444
+ }
445
+
446
+ // close href
447
+ $htmlShareButtons .= '</a>';
448
+
449
+ // if show share count is set to Y
450
+ if ($arrSettings['ssba_show_share_count'] == 'Y' && $booShowShareCount == true) {
451
+
452
+ $htmlShareButtons .= '<span class="ssba_sharecount">' . getGoogleShareCount($urlCurrentPage) . '</span>';
453
+ }
454
+
455
+ // return share buttons
456
+ return $htmlShareButtons;
457
+ }
458
+
459
+ // get google share count
460
+ function getGoogleShareCount($urlCurrentPage) {
461
+
462
+ $args = array(
463
+ 'method' => 'POST',
464
+ 'headers' => array(
465
+ // setup content type to JSON
466
+ 'Content-Type' => 'application/json'
467
+ ),
468
+ // setup POST options to Google API
469
+ 'body' => json_encode(array(
470
+ 'method' => 'pos.plusones.get',
471
+ 'id' => 'p',
472
+ 'method' => 'pos.plusones.get',
473
+ 'jsonrpc' => '2.0',
474
+ 'key' => 'p',
475
+ 'apiVersion' => 'v1',
476
+ 'params' => array(
477
+ 'nolog'=>true,
478
+ 'id'=> $urlCurrentPage,
479
+ 'source'=>'widget',
480
+ 'userId'=>'@viewer',
481
+ 'groupId'=>'@self'
482
+ )
483
+ )),
484
+ // disable checking SSL sertificates
485
+ 'sslverify'=>false
486
+ );
487
+
488
+ // retrieves JSON with HTTP POST method for current URL
489
+ $json_string = wp_remote_post("https://clients6.google.com/rpc", $args);
490
+
491
+ if (is_wp_error($json_string)){
492
+ // return zero if response is error
493
+ return "0";
494
+ } else {
495
+ $json = json_decode($json_string['body'], true);
496
+ // return count of Google +1 for requsted URL
497
+ return ssba_format_number(intval($json['result']['metadata']['globalCounts']['count']));
498
+ }
499
+ }
500
+
501
+ // get diggit button
502
+ function ssba_diggit($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
503
+
504
+ // diggit share link
505
+ $htmlShareButtons = '<a data-site="digg" class="ssba_diggit_share ssba_share_link" href="http://www.digg.com/submit?url=' . $urlCurrentPage . '" ' . ($arrSettings['ssba_share_new_window'] == 'Y' ? ' target="_blank" ' : NULL) . ($arrSettings['ssba_rel_nofollow'] == 'Y' ? ' rel="nofollow" ' : NULL) . '>';
506
+
507
+ // if image set is not custom
508
+ if ($arrSettings['ssba_image_set'] != 'custom') {
509
+
510
+ // show ssba image
511
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/diggit.png" title="Digg" class="ssba ssba-img" alt="Digg this" />';
512
+ }
513
+
514
+ // if using custom images
515
+ else {
516
+
517
+ // show custom image
518
+ $htmlShareButtons .= '<img src="' . $arrSettings['ssba_custom_diggit'] . '" title="Digg" class="ssba ssba-img" alt="Digg this" />';
519
+ }
520
+
521
+ // close href
522
+ $htmlShareButtons .= '</a>';
523
+
524
+ // return share buttons
525
+ return $htmlShareButtons;
526
+ }
527
+
528
+ // get reddit button
529
+ function ssba_reddit($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
530
+
531
+ // reddit share link
532
+ $htmlShareButtons = '<a data-site="reddit" class="ssba_reddit_share" href="http://reddit.com/submit?url=' . $urlCurrentPage . '&amp;title=' . $strPageTitle . '" ' . ($arrSettings['ssba_share_new_window'] == 'Y' ? ' target="_blank" ' : NULL) . ($arrSettings['ssba_rel_nofollow'] == 'Y' ? ' rel="nofollow" ' : NULL) . '>';
533
+
534
+ // if image set is not custom
535
+ if ($arrSettings['ssba_image_set'] != 'custom') {
536
+
537
+ // show ssba image
538
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/reddit.png" title="Reddit" class="ssba ssba-img" alt="Share on Reddit" />';
539
+ }
540
+
541
+ // if using custom images
542
+ else {
543
+
544
+ // show custom image
545
+ $htmlShareButtons .= '<img src="' . $arrSettings['ssba_custom_reddit'] . '" title="Reddit" class="ssba ssba-img" alt="Share on Reddit" />';
546
+ }
547
+
548
+ // close href
549
+ $htmlShareButtons .= '</a>';
550
+
551
+ // if show share count is set to Y
552
+ if ($arrSettings['ssba_show_share_count'] == 'Y' && $booShowShareCount == true) {
553
+
554
+ // get and display share count
555
+ $htmlShareButtons .= '<span class="ssba_sharecount">' . getRedditShareCount($urlCurrentPage) . '</span>';
556
+ }
557
+
558
+ // return share buttons
559
+ return $htmlShareButtons;
560
+ }
561
+
562
+ // get reddit share count
563
+ function getRedditShareCount($urlCurrentPage) {
564
+ // get results from reddit and return the number of shares
565
+ $htmlRedditShareDetails = wp_remote_get('http://www.reddit.com/api/info.json?url='.$urlCurrentPage, array('timeout' => 6));
566
+
567
+ // check there was an error
568
+ if (is_wp_error($htmlRedditShareDetails)) {
569
+ return 0;
570
+ }
571
+
572
+ // decode and get share count
573
+ $arrRedditResult = json_decode($htmlRedditShareDetails['body'], true);
574
+ $intRedditShareCount = (isset($arrRedditResult['data']['children']['0']['data']['score']) ? $arrRedditResult['data']['children']['0']['data']['score'] : 0);
575
+ return ($intRedditShareCount) ? ssba_format_number($intRedditShareCount) : '0';
576
+ }
577
+
578
+ // get linkedin button
579
+ function ssba_linkedin($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
580
+
581
+ // linkedin share link
582
+ $htmlShareButtons = '<a data-site="linkedin" class="ssba_linkedin_share ssba_share_link" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=' . $urlCurrentPage . '" ' . ($arrSettings['ssba_share_new_window'] == 'Y' ? ' target="_blank" ' : NULL) . ($arrSettings['ssba_rel_nofollow'] == 'Y' ? ' rel="nofollow" ' : NULL) . '>';
583
+
584
+ // if image set is not custom
585
+ if ($arrSettings['ssba_image_set'] != 'custom') {
586
+
587
+ // show ssba image
588
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/linkedin.png" title="LinkedIn" class="ssba ssba-img" alt="Share on LinkedIn" />';
589
+ }
590
+
591
+ // if using custom images
592
+ else {
593
+
594
+ // show custom image
595
+ $htmlShareButtons .= '<img src="' . $arrSettings['ssba_custom_linkedin'] . '" alt="Share on LinkedIn" title="LinkedIn" class="ssba ssba-img" />';
596
+ }
597
+
598
+ // close href
599
+ $htmlShareButtons .= '</a>';
600
+
601
+ // if show share count is set to Y
602
+ if ($arrSettings['ssba_show_share_count'] == 'Y' && $booShowShareCount == true) {
603
+
604
+ // get and display share count
605
+ $htmlShareButtons .= '<span class="ssba_sharecount">' . getLinkedinShareCount($urlCurrentPage) . '</span>';
606
+ }
607
+
608
+ // return share buttons
609
+ return $htmlShareButtons;
610
+ }
611
+
612
+ // get linkedin share count
613
+ function getLinkedinShareCount($urlCurrentPage) {
614
+ // get results from linkedin and return the number of shares
615
+ $htmlLinkedinShareDetails = wp_remote_get('http://www.linkedin.com/countserv/count/share?url='.$urlCurrentPage, array('timeout' => 6));
616
+
617
+ // if there was an error
618
+ if (is_wp_error($htmlLinkedinShareDetails)) {
619
+ return 0;
620
+ }
621
+
622
+ // extract/decode share count
623
+ $htmlLinkedinShareDetails = str_replace('IN.Tags.Share.handleCount(', '', $htmlLinkedinShareDetails);
624
+ $htmlLinkedinShareDetails = str_replace(');', '', $htmlLinkedinShareDetails);
625
+ $arrLinkedinShareDetails = json_decode($htmlLinkedinShareDetails['body'], true);
626
+ $intLinkedinShareCount = $arrLinkedinShareDetails['count'];
627
+ return ($intLinkedinShareCount) ? ssba_format_number($intLinkedinShareCount) : '0';
628
+ }
629
+
630
+ // get pinterest button
631
+ function ssba_pinterest($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
632
+
633
+ // if using featured images for Pinteres
634
+ if($arrSettings['ssba_pinterest_featured'] == 'Y')
635
+ {
636
+ // if this post has a featured image
637
+ if(has_post_thumbnail($arrSettings['post_id']))
638
+ {
639
+ // get the featured image
640
+ $urlPostThumb = wp_get_attachment_image_src(get_post_thumbnail_id($arrSettings['post_id']), 'full');
641
+ $urlPostThumb = $urlPostThumb[0];
642
+ }
643
+ // no featured image set
644
+ else
645
+ {
646
+ // use the pinterest default
647
+ $urlPostThumb = $arrSettings['ssba_default_pinterest'];
648
+ }
649
+
650
+ // pinterest share link
651
+ $htmlShareButtons = '<a data-site="pinterest-featured" href="http://pinterest.com/pin/create/bookmarklet/?is_video=false&url='.$urlCurrentPage.'&media='.$urlPostThumb.'&description='.$strPageTitle.'" class="ssba_pinterest_share ssba_share_link" '.($arrSettings['ssba_share_new_window'] == 'Y' ? ' target="_blank" ' : NULL) . ($arrSettings['ssba_rel_nofollow'] == 'Y' ? ' rel="nofollow" ' : NULL).'>';
652
+ }
653
+ // not using featured images for pinterest
654
+ else
655
+ {
656
+ // use the choice of pinnable images approach
657
+ $htmlShareButtons = "<a data-site='pinterest' class='ssba_pinterest_share' href='javascript:void((function()%7Bvar%20e=document.createElement(&apos;script&apos;);e.setAttribute(&apos;type&apos;,&apos;text/javascript&apos;);e.setAttribute(&apos;charset&apos;,&apos;UTF-8&apos;);e.setAttribute(&apos;src&apos;,&apos;//assets.pinterest.com/js/pinmarklet.js?r=&apos;+Math.random()*99999999);document.body.appendChild(e)%7D)());'>";
658
+ }
659
+
660
+ // if image set is not custom
661
+ if ($arrSettings['ssba_image_set'] != 'custom') {
662
+
663
+ // show ssba image
664
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/pinterest.png" title="Pinterest" class="ssba ssba-img" alt="Pin on Pinterest" />';
665
+ }
666
+
667
+ // if using custom images
668
+ else {
669
+
670
+ // show custom image
671
+ $htmlShareButtons .= '<img title="Pinterest" class="ssba ssba-img" src="' . $arrSettings['ssba_custom_pinterest'] . '" alt="Pin on Pinterest" />';
672
+ }
673
+
674
+ // close href
675
+ $htmlShareButtons .= '</a>';
676
+
677
+ // if show share count is set to Y
678
+ if ($arrSettings['ssba_show_share_count'] == 'Y' && $booShowShareCount == true) {
679
+
680
+ $htmlShareButtons .= '<span class="ssba_sharecount">' . getPinterestShareCount($urlCurrentPage) . '</span>';
681
+ }
682
+
683
+ // return share buttons
684
+ return $htmlShareButtons;
685
+ }
686
+
687
+ // get pinterest share count
688
+ function getPinterestShareCount($urlCurrentPage) {
689
+
690
+ // get results from pinterest
691
+ $htmlPinterestShareDetails = wp_remote_get('http://api.pinterest.com/v1/urls/count.json?url='.$urlCurrentPage, array('timeout' => 6));
692
+
693
+ // check there was an error
694
+ if (is_wp_error($htmlPinterestShareDetails)) {
695
+ return 0;
696
+ }
697
+
698
+ // decode data
699
+ $htmlPinterestShareDetails = str_replace('receiveCount(', '', $htmlPinterestShareDetails);
700
+ $htmlPinterestShareDetails = str_replace(')', '', $htmlPinterestShareDetails);
701
+ $arrPinterestShareDetails = json_decode($htmlPinterestShareDetails['body'], true);
702
+ $intPinterestShareCount = $arrPinterestShareDetails['count'];
703
+ return ($intPinterestShareCount) ? ssba_format_number($intPinterestShareCount) : '0';
704
+ }
705
+
706
+ // get stumbleupon button
707
+ function ssba_stumbleupon($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
708
+
709
+ $url = 'http://www.stumbleupon.com/submit?url=' . $urlCurrentPage . '&amp;title=' . $strPageTitle;
710
+
711
+ // stumbleupon share link
712
+ $htmlShareButtons = '<a data-site="stumbleupon" class="ssba_stumbleupon_share ssba_share_link" href="' . esc_url( $url ) . '" ' . ($arrSettings['ssba_share_new_window'] == 'Y' ? ' target="_blank" ' : NULL) . ($arrSettings['ssba_rel_nofollow'] == 'Y' ? ' rel="nofollow" ' : NULL) . '>';
713
+
714
+ // if image set is not custom
715
+ if ($arrSettings['ssba_image_set'] != 'custom') {
716
+
717
+ // show ssba image
718
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/stumbleupon.png" title="StumbleUpon" class="ssba ssba-img" alt="Share on StumbleUpon" />';
719
+ }
720
+
721
+ // if using custom images
722
+ else {
723
+
724
+ // show custom image
725
+ $htmlShareButtons .= '<img src="' . $arrSettings['ssba_custom_stumbleupon'] . '" alt="Share on StumbleUpon" title="StumbleUpon" class="ssba ssba-img" />';
726
+ }
727
+
728
+ // close href
729
+ $htmlShareButtons .= '</a>';
730
+
731
+ // if show share count is set to Y
732
+ if ($arrSettings['ssba_show_share_count'] == 'Y' && $booShowShareCount == true) {
733
+
734
+ $htmlShareButtons .= '<span class="ssba_sharecount">' . getStumbleUponShareCount($urlCurrentPage) . '</span>';
735
+ }
736
+
737
+ // return share buttons
738
+ return $htmlShareButtons;
739
+ }
740
+
741
+ // get stumbleupon share count
742
+ function getStumbleUponShareCount($urlCurrentPage) {
743
+
744
+ // get results from stumbleupon and return the number of shares
745
+ $htmlStumbleUponShareDetails = wp_remote_get('http://www.stumbleupon.com/services/1.01/badge.getinfo?url='.$urlCurrentPage, array('timeout' => 6));
746
+
747
+ // check there was an error
748
+ if (is_wp_error($htmlStumbleUponShareDetails)) {
749
+ return 0;
750
+ }
751
+
752
+ // decode data
753
+ $arrStumbleUponResult = json_decode($htmlStumbleUponShareDetails['body'], true);
754
+ $intStumbleUponShareCount = (isset($arrStumbleUponResult['result']['views']) ? $arrStumbleUponResult['result']['views'] : 0);
755
+ return ($intStumbleUponShareCount) ? ssba_format_number($intStumbleUponShareCount) : '0';
756
+ }
757
+
758
+ // get email button
759
+ function ssba_email($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
760
+
761
+ // replace ampersands as needed for email link
762
+ $emailTitle = str_replace('&', '%26', $strPageTitle);
763
+
764
+ $url = 'mailto:?subject=' . $emailTitle . '&amp;body=' . $arrSettings['ssba_email_message'] . ' ' . $urlCurrentPage;
765
+
766
+ // email share link
767
+ $htmlShareButtons = '<a data-site="email" class="ssba_email_share" href="' . esc_url( $url ) . '">';
768
+
769
+ // if image set is not custom
770
+ if ($arrSettings['ssba_image_set'] != 'custom') {
771
+
772
+ // show ssba image
773
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/email.png" title="Email" class="ssba ssba-img" alt="Email this to someone" />';
774
+ }
775
+
776
+ // if using custom images
777
+ else {
778
+
779
+ // show custom image
780
+ $htmlShareButtons .= '<img src="' . $arrSettings['ssba_custom_email'] . '" title="Email" class="ssba ssba-img" alt="Email to someone" />';
781
+ }
782
+
783
+ // close href
784
+ $htmlShareButtons .= '</a>';
785
+
786
+ // return share buttons
787
+ return $htmlShareButtons;
788
+ }
789
+
790
+ // get flattr button
791
+ function ssba_flattr($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
792
+
793
+ // check for dedicated flattr URL
794
+ if ($arrSettings['ssba_flattr_url'] != '') {
795
+
796
+ // updatae url that will be set to specified URL
797
+ $urlCurrentPage = $arrSettings['ssba_flattr_url'];
798
+ }
799
+
800
+ // flattr share link
801
+ $htmlShareButtons = '<a data-site="flattr" class="ssba_flattr_share" href="https://flattr.com/submit/auto?user_id=' . $arrSettings['ssba_flattr_user_id'] . '&amp;title=' . $strPageTitle . '&amp;url=' . $urlCurrentPage . '" ' . ($arrSettings['ssba_share_new_window'] == 'Y' ? ' target="_blank" ' : NULL) . ($arrSettings['ssba_rel_nofollow'] == 'Y' ? ' rel="nofollow" ' : NULL) . '>';
802
+
803
+ // if image set is not custom
804
+ if ($arrSettings['ssba_image_set'] != 'custom') {
805
+
806
+ // show ssba image
807
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/flattr.png" title="Flattr" class="ssba ssba-img" alt="Flattr the author" />';
808
+ }
809
+
810
+ // if using custom images
811
+ else {
812
+
813
+ // show custom image
814
+ $htmlShareButtons .= '<img src="' . $arrSettings['ssba_custom_flattr'] . '" title="Flattr" class="ssba ssba-img" alt="Flattr the author" />';
815
+ }
816
+
817
+ // close href
818
+ $htmlShareButtons .= '</a>';
819
+
820
+ // return share buttons
821
+ return $htmlShareButtons;
822
+ }
823
+
824
+ // get buffer button
825
+ function ssba_buffer($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
826
+
827
+ // buffer share link
828
+ $htmlShareButtons = '<a data-site="buffer" class="ssba_buffer_share" href="https://bufferapp.com/add?url=' . $urlCurrentPage . '&amp;text=' . ($arrSettings['ssba_buffer_text'] != '' ? $arrSettings['ssba_buffer_text'] : NULL) . ' ' . $strPageTitle . '" ' . ($arrSettings['ssba_share_new_window'] == 'Y' ? ' target="_blank" ' : NULL) . ($arrSettings['ssba_rel_nofollow'] == 'Y' ? ' rel="nofollow" ' : NULL) . '>';
829
+
830
+ // if image set is not custom
831
+ if ($arrSettings['ssba_image_set'] != 'custom') {
832
+
833
+ // show ssba image
834
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/buffer.png" title="Buffer" class="ssba ssba-img" alt="Buffer this page" />';
835
+ }
836
+
837
+ // if using custom images
838
+ else {
839
+
840
+ // show custom image
841
+ $htmlShareButtons .= '<img src="' . $arrSettings['ssba_custom_buffer'] . '" title="Buffer" class="ssba ssba-img" alt="Buffer this page" />';
842
+ }
843
+
844
+ // close href
845
+ $htmlShareButtons .= '</a>';
846
+
847
+ // return share buttons
848
+ return $htmlShareButtons;
849
+ }
850
+
851
+ // get tumblr button
852
+ function ssba_tumblr($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
853
+ // tumblr share link
854
+ $htmlShareButtons = '<a data-site="tumblr" class="ssba_tumblr_share" href="http://www.tumblr.com/share/link?url=' . $urlCurrentPage . '" ' . ($arrSettings['ssba_share_new_window'] == 'Y' ? ' target="_blank" ' : NULL) . ($arrSettings['ssba_rel_nofollow'] == 'Y' ? ' rel="nofollow" ' : NULL) . '>';
855
+
856
+ // if image set is not custom
857
+ if ($arrSettings['ssba_image_set'] != 'custom') {
858
+
859
+ // show ssba image
860
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/tumblr.png" title="tumblr" class="ssba ssba-img" alt="Share on Tumblr" />';
861
+ }
862
+
863
+ // if using custom images
864
+ else {
865
+
866
+ // show custom image
867
+ $htmlShareButtons .= '<img src="' . $arrSettings['ssba_custom_tumblr'] . '" title="tumblr" class="ssba ssba-img" alt="share on Tumblr" />';
868
+ }
869
+
870
+ // close href
871
+ $htmlShareButtons .= '</a>';
872
+
873
+ // if show share count is set to Y
874
+ if ($arrSettings['ssba_show_share_count'] == 'Y' && $booShowShareCount == true) {
875
+
876
+ $htmlShareButtons .= '<span class="ssba_sharecount">' . getTumblrShareCount($urlCurrentPage) . '</span>';
877
+ }
878
+
879
+ // return share buttons
880
+ return $htmlShareButtons;
881
+ }
882
+
883
+ // get tumblr share count
884
+ function getTumblrShareCount($urlCurrentPage)
885
+ {
886
+ // get results from tumblr and return the number of shares
887
+ $result = wp_remote_get('http://api.tumblr.com/v2/share/stats?url=' . $urlCurrentPage, array('timeout' => 6));
888
+
889
+ // check there was an error
890
+ if (is_wp_error($result)) {
891
+ // return
892
+ return 0;
893
+ }
894
+
895
+ // decode data
896
+ $array = json_decode($result['body'], true);
897
+ $count = (isset($array['response']['note_count']) ? $array['response']['note_count'] : 0);
898
+
899
+ // return
900
+ return ($count) ? $count : '0';
901
+ }
902
+
903
+ // get print button
904
+ function ssba_print($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
905
+
906
+ // linkedin share link
907
+ $htmlShareButtons = '<a data-site="print" class="ssba_print ssba_share_link" href="#" onclick="window.print()">';
908
+
909
+ // if image set is not custom
910
+ if ($arrSettings['ssba_image_set'] != 'custom') {
911
+
912
+ // show ssba image
913
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/print.png" title="Print" class="ssba ssba-img" alt="Print this page" />';
914
+ }
915
+
916
+ // if using custom images
917
+ else {
918
+
919
+ // show custom image
920
+ $htmlShareButtons .= '<img src="' . $arrSettings['ssba_custom_print'] . '" title="Print" class="ssba ssba-img" alt="Print this page" />';
921
+ }
922
+
923
+ // close href
924
+ $htmlShareButtons .= '</a>';
925
+
926
+ // return share buttons
927
+ return $htmlShareButtons;
928
+ }
929
+
930
+ // get vk button
931
+ function ssba_vk($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
932
+
933
+ // vk share link
934
+ $htmlShareButtons = '<a data-site="vk" class="ssba_vk_share ssba_share_link" href="http://vkontakte.ru/share.php?url=' . $urlCurrentPage . '" ' . ($arrSettings['ssba_share_new_window'] == 'Y' ? ' target="_blank" ' : NULL) . ($arrSettings['ssba_rel_nofollow'] == 'Y' ? ' rel="nofollow" ' : NULL) . '>';
935
+
936
+ // if image set is not custom
937
+ if ($arrSettings['ssba_image_set'] != 'custom') {
938
+
939
+ // show ssba image
940
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/vk.png" title="VK" class="ssba ssba-img" alt="Share on VK" />';
941
+ }
942
+
943
+ // if using custom images
944
+ else {
945
+
946
+ // show custom image
947
+ $htmlShareButtons .= '<img src="' . $arrSettings['ssba_custom_vk'] . '" title="VK" class="ssba ssba-img" alt="Share on VK" />';
948
+ }
949
+
950
+ // close href
951
+ $htmlShareButtons .= '</a>';
952
+
953
+ // return share buttons
954
+ return $htmlShareButtons;
955
+ }
956
+
957
+ // get yummly button
958
+ function ssba_yummly($arrSettings, $urlCurrentPage, $strPageTitle, $booShowShareCount) {
959
+
960
+ // yummly share link
961
+ $htmlShareButtons = '<a data-site="yummly" class="ssba_yummly_share ssba_share_link" href="http://www.yummly.com/urb/verify?url=' . $urlCurrentPage . '&title='.urlencode(html_entity_decode($strPageTitle)).'" ' . ($arrSettings['ssba_share_new_window'] == 'Y' ? ' target="_blank" ' : NULL) . ($arrSettings['ssba_rel_nofollow'] == 'Y' ? ' rel="nofollow" ' : NULL) . '>';
962
+
963
+ // if image set is not custom
964
+ if ($arrSettings['ssba_image_set'] != 'custom') {
965
+
966
+ // show ssba image
967
+ $htmlShareButtons .= '<img src="' . plugins_url() . '/simple-share-buttons-adder/buttons/' . $arrSettings['ssba_image_set'] . '/yummly.png" title="Yummly" class="ssba ssba-img" alt="Share on Yummly" />';
968
+ }
969
+
970
+ // if using custom images
971
+ else {
972
+
973
+ // show custom image
974
+ $htmlShareButtons .= '<img src="' . $arrSettings['ssba_custom_yummly'] . '" title="Yummly" class="ssba ssba-img" alt="Share on Yummly" />';
975
+ }
976
+
977
+ // close href
978
+ $htmlShareButtons .= '</a>';
979
+
980
+ // if show share count is set to Y
981
+ if ($arrSettings['ssba_show_share_count'] == 'Y' && $booShowShareCount == true) {
982
+
983
+ $htmlShareButtons .= '<span class="ssba_sharecount">' . getYummlyShareCount($urlCurrentPage) . '</span>';
984
+ }
985
+
986
+ // return share buttons
987
+ return $htmlShareButtons;
988
+ }
989
+
990
+ // get yummly share count
991
+ function getYummlyShareCount($urlCurrentPage)
992
+ {
993
+ // get results from yummly and return the number of shares
994
+ $result = wp_remote_get('http://www.yummly.com/services/yum-count?url=' . $urlCurrentPage, array('timeout' => 6));
995
+
996
+ // check there was an error
997
+ if (is_wp_error($result)) {
998
+ // return
999
+ return 0;
1000
+ }
1001
+
1002
+ // decode data
1003
+ $array = json_decode($result['body'], true);
1004
+ $count = (isset($array['count']) ? $array['count'] : 0);
1005
+
1006
+ // return
1007
+ return ($count) ? $count : '0';
1008
+ }
1009
+
1010
+ // register shortcode [ssba] to show [ssba_hide]
1011
+ add_shortcode( 'ssba', 'ssba_buttons' );
1012
+ add_shortcode( 'ssba_hide', 'ssba_hide' );
inc/ssba_database.php ADDED
@@ -0,0 +1,390 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined('ABSPATH') or die('No direct access permitted');
3
+
4
+ // activate ssba function
5
+ function ssba_activate() {
6
+
7
+ // likely a reactivation, return doing nothing
8
+ if (get_option('ssba_version') !== false) {
9
+ return;
10
+ }
11
+
12
+ // array ready with defaults
13
+ $ssba_settings = array(
14
+ 'ssba_image_set' => 'somacro',
15
+ 'ssba_size' => '35',
16
+ 'ssba_pages' => '',
17
+ 'ssba_posts' => '',
18
+ 'ssba_cats_archs' => '',
19
+ 'ssba_homepage' => '',
20
+ 'ssba_excerpts' => '',
21
+ 'ssba_align' => 'left',
22
+ 'ssba_padding' => '6',
23
+ 'ssba_before_or_after' => 'after',
24
+ 'ssba_additional_css' => '',
25
+ 'ssba_custom_styles' => '',
26
+ 'ssba_custom_styles_enabled' => '',
27
+ 'ssba_email_message' => '',
28
+ 'ssba_twitter_text' => '',
29
+ 'ssba_buffer_text' => '',
30
+ 'ssba_flattr_user_id' => '',
31
+ 'ssba_flattr_url' => '',
32
+ 'ssba_share_new_window' => 'Y',
33
+ 'ssba_link_to_ssb' => 'N',
34
+ 'ssba_show_share_count' => '',
35
+ 'ssba_share_count_style' => 'default',
36
+ 'ssba_share_count_css' => '',
37
+ 'ssba_share_count_once' => 'Y',
38
+ 'ssba_widget_text' => '',
39
+ 'ssba_rel_nofollow' => '',
40
+ 'ssba_default_pinterest' => '',
41
+ 'ssba_pinterest_featured' => '',
42
+ 'ssba_content_priority' => '10',
43
+
44
+ // share container
45
+ 'ssba_div_padding' => '',
46
+ 'ssba_div_rounded_corners' => '',
47
+ 'ssba_border_width' => '',
48
+ 'ssba_div_border' => '',
49
+ 'ssba_div_background' => '',
50
+
51
+ // share text
52
+ 'ssba_share_text' => "It's only fair to share...",
53
+ 'ssba_text_placement' => 'left',
54
+ 'ssba_font_family' => 'Indie Flower',
55
+ 'ssba_font_color' => '',
56
+ 'ssba_font_size' => '20',
57
+ 'ssba_font_weight' => '',
58
+
59
+ // include
60
+ 'ssba_selected_buttons' => 'facebook,google,twitter,linkedin',
61
+
62
+ // custom images
63
+ 'ssba_custom_email' => '',
64
+ 'ssba_custom_google' => '',
65
+ 'ssba_custom_facebook' => '',
66
+ 'ssba_custom_twitter' => '',
67
+ 'ssba_custom_diggit' => '',
68
+ 'ssba_custom_linkedin' => '',
69
+ 'ssba_custom_reddit' => '',
70
+ 'ssba_custom_stumbleupon' => '',
71
+ 'ssba_custom_pinterest' => '',
72
+ 'ssba_custom_buffer' => '',
73
+ 'ssba_custom_flattr' => '',
74
+ 'ssba_custom_tumblr' => '',
75
+ 'ssba_custom_print' => '',
76
+ 'ssba_custom_vk' => '',
77
+ 'ssba_custom_yummly' => '',
78
+ 'ssba_custom_facebook_save' => '',
79
+
80
+ // sharedcount
81
+ 'sharedcount_enabled' => '',
82
+ 'sharedcount_api_key' => '',
83
+ 'sharedcount_plan' => 'free',
84
+
85
+ // newsharecounts
86
+ 'twitter_newsharecounts' => '',
87
+
88
+ // new with sharethis
89
+ 'facebook_insights' => '',
90
+ 'facebook_app_id' => '',
91
+ 'accepted_sharethis_terms' => 'N',
92
+ );
93
+
94
+ // json encode
95
+ $jsonSettings = json_encode($ssba_settings);
96
+
97
+ // insert default options for ssba
98
+ add_option('ssba_settings', $jsonSettings);
99
+
100
+ // button helper array
101
+ ssba_button_helper_array();
102
+
103
+ // ssba version
104
+ add_option('ssba_version', SSBA_VERSION);
105
+ }
106
+
107
+ // uninstall ssba
108
+ function ssba_uninstall() {
109
+
110
+ //if uninstall not called from WordPress exit
111
+ if (defined('WP_UNINSTALL_PLUGIN')) {
112
+ exit();
113
+ }
114
+
115
+ // delete options
116
+ delete_option('ssba_settings');
117
+ delete_option('ssba_version');
118
+ delete_option( 'ssba_buttons' );
119
+ delete_option( 'widget_ssba_widget' );
120
+ }
121
+
122
+ // the upgrade function
123
+ function upgrade_ssba($arrSettings, $version) {
124
+
125
+ // if version is less than 6.0.5
126
+ if ($version < '6.0.5') {
127
+ // ensure excerpts are set
128
+ add_option('ssba_excerpts', '');
129
+
130
+ // add print button
131
+ add_option('ssba_custom_print', '');
132
+
133
+ // new for 3.8
134
+ add_option('ssba_widget_text', '');
135
+ add_option('ssba_rel_nofollow', '');
136
+
137
+ // added pre 4.5, added in 4.6 to fix notice
138
+ add_option('ssba_rel_nofollow', '');
139
+
140
+ // added in 5.0
141
+ add_option('ssba_custom_vk', '');
142
+ add_option('ssba_custom_yummly', '');
143
+
144
+ // added in 5.2
145
+ add_option('ssba_default_pinterest', '');
146
+
147
+ // added in 5.5
148
+ add_option('ssba_pinterest_featured', '');
149
+
150
+ // added in 5.7
151
+ // additional CSS field
152
+ add_option('ssba_additional_css', '');
153
+
154
+ // empty custom CSS var and option
155
+ $customCSS = '';
156
+ add_option('ssba_custom_styles_enabled', '');
157
+
158
+ // if some custom styles are in place
159
+ if ($arrSettings['ssba_custom_styles'] != '') {
160
+ $customCSS.= $arrSettings['ssba_custom_styles'];
161
+ update_option('ssba_custom_styles_enabled', 'Y');
162
+ }
163
+
164
+ // if some custom share count styles are in place
165
+ if ($arrSettings['ssba_share_count_css'] != '') {
166
+ $customCSS.= $arrSettings['ssba_share_count_css'];
167
+ update_option('ssba_custom_styles_enabled', 'Y');
168
+ }
169
+
170
+ // update custom CSS option
171
+ update_option('ssba_custom_styles', $customCSS);
172
+
173
+ // content priority
174
+ add_option('ssba_content_priority', '10');
175
+ }
176
+
177
+ // if version is less than 6.0.6
178
+ if ($version < '6.0.6') {
179
+ // get old settings
180
+ $oldSettings = get_old_ssba_settings();
181
+
182
+ // json encode old settings
183
+ $jsonSettings = json_encode($oldSettings);
184
+
185
+ // insert all options for ssba as json
186
+ add_option('ssba_settings', $jsonSettings);
187
+
188
+ // delete old options
189
+ ssba_delete_old_options();
190
+ }
191
+
192
+ // if version is less than 6.1.3
193
+ if ($version < '6.1.3') {
194
+ // new settings
195
+ $new = array(
196
+ 'sharedcount_enabled' => '',
197
+ 'sharedcount_api_key' => '',
198
+ 'sharedcount_plan' => 'free',
199
+ );
200
+
201
+ // update settings
202
+ ssba_update_options($new);
203
+ }
204
+
205
+ // if version is less than 6.1.5
206
+ if ($version < '6.1.5') {
207
+ // new settings
208
+ $new = array(
209
+ 'twitter_newsharecounts' => '',
210
+ );
211
+
212
+ // update settings
213
+ ssba_update_options($new);
214
+ }
215
+
216
+ // if version is less than 6.2.0
217
+ if ($version < '6.2.0') {
218
+ // new settings
219
+ $new = array(
220
+ 'facebook_insights' => '',
221
+ 'facebook_app_id' => '',
222
+ 'accepted_sharethis_terms' => '',
223
+ );
224
+
225
+ // update settings
226
+ ssba_update_options($new);
227
+ }
228
+
229
+ if ( $version < '6.3.5' ) {
230
+ ssba_update_options( array( 'ssba_custom_facebook_save' => '' ) );
231
+ }
232
+
233
+ // button helper array
234
+ ssba_button_helper_array();
235
+
236
+ // Show the ST terms notice after upgrades if the user hasn't agreed.
237
+ ssba_update_options( array( 'accepted_sharethis_terms' => 'N', 'hide_sharethis_terms' => false ) );
238
+
239
+ // update version number
240
+ update_option('ssba_version', SSBA_VERSION);
241
+ }
242
+
243
+ // button helper option
244
+ function ssba_button_helper_array()
245
+ {
246
+ // helper array for ssbp
247
+ update_option('ssba_buttons', json_encode(array(
248
+ 'buffer' => array(
249
+ 'full_name' => 'Buffer'
250
+ ),
251
+ 'diggit' => array(
252
+ 'full_name' => 'Diggit'
253
+ ),
254
+ 'email' => array(
255
+ 'full_name' => 'Email'
256
+ ),
257
+ 'facebook' => array(
258
+ 'full_name' => 'Facebook'
259
+ ),
260
+ 'facebook_save' => array(
261
+ 'full_name' => 'Facebook Save'
262
+ ),
263
+ 'flattr' => array(
264
+ 'full_name' => 'Flattr'
265
+ ),
266
+ 'google' => array(
267
+ 'full_name' => 'Google+'
268
+ ),
269
+ 'linkedin' => array(
270
+ 'full_name' => 'LinkedIn'
271
+ ),
272
+ 'pinterest' => array(
273
+ 'full_name' => 'Pinterest'
274
+ ),
275
+ 'print' => array(
276
+ 'full_name' => 'Print'
277
+ ),
278
+ 'reddit' => array(
279
+ 'full_name' => 'Reddit'
280
+ ),
281
+ 'stumbleupon' => array(
282
+ 'full_name' => 'StumbleUpon'
283
+ ),
284
+ 'tumblr' => array(
285
+ 'full_name' => 'Tumblr'
286
+ ),
287
+ 'twitter' => array(
288
+ 'full_name' => 'Twitter'
289
+ ),
290
+ 'vk' => array(
291
+ 'full_name' => 'VK'
292
+ ),
293
+ 'yummly' => array(
294
+ 'full_name' => 'Yummly'
295
+ )
296
+ )));
297
+ }
298
+
299
+ // delete old options to move to json array
300
+ function ssba_delete_old_options()
301
+ {
302
+ // delete all options
303
+ delete_option('ssba_version');
304
+ delete_option('ssba_image_set');
305
+ delete_option('ssba_size');
306
+ delete_option('ssba_pages');
307
+ delete_option('ssba_posts');
308
+ delete_option('ssba_cats_archs');
309
+ delete_option('ssba_homepage');
310
+ delete_option('ssba_excerpts');
311
+ delete_option('ssba_align');
312
+ delete_option('ssba_padding');
313
+ delete_option('ssba_before_or_after');
314
+ delete_option('ssba_additional_css');
315
+ delete_option('ssba_custom_styles');
316
+ delete_option('ssba_custom_styles_enabled');
317
+ delete_option('ssba_email_message');
318
+ delete_option('ssba_buffer_text');
319
+ delete_option('ssba_twitter_text');
320
+ delete_option('ssba_flattr_user_id');
321
+ delete_option('ssba_flattr_url');
322
+ delete_option('ssba_share_new_window');
323
+ delete_option('ssba_link_to_ssb');
324
+ delete_option('ssba_show_share_count');
325
+ delete_option('ssba_share_count_style');
326
+ delete_option('ssba_share_count_css');
327
+ delete_option('ssba_share_count_once');
328
+ delete_option('ssba_widget_text');
329
+ delete_option('ssba_rel_nofollow');
330
+ delete_option('ssba_default_pinterest');
331
+ delete_option('ssba_pinterest_featured');
332
+ delete_option('ssba_content_priority');
333
+
334
+ // share container
335
+ delete_option('ssba_div_padding');
336
+ delete_option('ssba_div_rounded_corners');
337
+ delete_option('ssba_border_width');
338
+ delete_option('ssba_div_border');
339
+ delete_option('ssba_div_background');
340
+
341
+ // share text
342
+ delete_option('ssba_share_text');
343
+ delete_option('ssba_text_placement');
344
+ delete_option('ssba_font_family');
345
+ delete_option('ssba_font_color');
346
+ delete_option('ssba_font_size');
347
+ delete_option('ssba_font_weight');
348
+
349
+ // include
350
+ delete_option('ssba_selected_buttons');
351
+
352
+ // custom images
353
+ delete_option('ssba_custom_email');
354
+ delete_option('ssba_custom_google');
355
+ delete_option('ssba_custom_facebook');
356
+ delete_option('ssba_custom_twitter');
357
+ delete_option('ssba_custom_diggit');
358
+ delete_option('ssba_custom_linkedin');
359
+ delete_option('ssba_custom_reddit');
360
+ delete_option('ssba_custom_stumbleupon');
361
+ delete_option('ssba_custom_pinterest');
362
+ delete_option('ssba_custom_buffer');
363
+ delete_option('ssba_custom_flattr');
364
+ delete_option('ssba_custom_tumblr');
365
+ delete_option('ssba_custom_print');
366
+ delete_option('ssba_custom_vk');
367
+ delete_option('ssba_custom_yummly');
368
+ }
369
+
370
+ // return old ssba settings (pre 6.0.6)
371
+ function get_old_ssba_settings() {
372
+
373
+ // globals
374
+ global $wpdb;
375
+
376
+ // query the db for current ssba settings
377
+ $arrSettings = $wpdb->get_results("SELECT option_name, option_value
378
+ FROM $wpdb->options
379
+ WHERE option_name LIKE 'ssba_%'");
380
+
381
+ // loop through each setting in the array
382
+ foreach ($arrSettings as $setting) {
383
+
384
+ // add each setting to the array by name
385
+ $arrSettings[$setting->option_name] = $setting->option_value;
386
+ }
387
+
388
+ // return
389
+ return $arrSettings;
390
+ }
inc/ssba_styles.php ADDED
@@ -0,0 +1,230 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined('ABSPATH') or die('No direct access permitted');
3
+
4
+ // call scripts add function
5
+ add_action( 'wp_enqueue_scripts', 'ssba_page_scripts' );
6
+
7
+ // add css scripts for page/post use
8
+ function ssba_page_scripts() {
9
+ // get settings
10
+ $arrSettings = get_ssba_settings();
11
+
12
+ if (is_ssl()) {
13
+ $st_insights = 'https://ws.sharethis.com/button/st_insights.js';
14
+ } else {
15
+ $st_insights = 'http://w.sharethis.com/button/st_insights.js';
16
+ }
17
+
18
+ // add call to st_insights.js with params
19
+ $url = add_query_arg( array(
20
+ 'publisher' => '4d48b7c5-0ae3-43d4-bfbe-3ff8c17a8ae6',
21
+ 'product' => 'simpleshare',
22
+ ), $st_insights );
23
+ if ( 'Y' === $arrSettings['accepted_sharethis_terms'] ) {
24
+ wp_enqueue_script( 'ssba-sharethis', $url, null, null );
25
+ add_filter( 'script_loader_tag', 'ssba_script_tags', 10, 2 );
26
+ }
27
+
28
+ // ssba.min.js
29
+ wp_enqueue_script('ssba', plugins_url('js/ssba.min.js', SSBA_FILE), array('jquery'), false, true);
30
+
31
+ // if indie flower font is selected
32
+ if ($arrSettings['ssba_font_family'] == 'Indie Flower') {
33
+ // font scripts
34
+ wp_register_style('ssbaFont', '//fonts.googleapis.com/css?family=Indie+Flower');
35
+ wp_enqueue_style( 'ssbaFont');
36
+ } else if ($arrSettings['ssba_font_family'] == 'Reenie Beanie') {
37
+ // font scripts
38
+ wp_register_style('ssbaFont', '//fonts.googleapis.com/css?family=Reenie+Beanie');
39
+ wp_enqueue_style( 'ssbaFont');
40
+ }
41
+ }
42
+
43
+ /**
44
+ * Adds ID to sharethis script.
45
+ * @param string $tag HTML script tag.
46
+ * @param string $handle Script handle.
47
+ * @return string
48
+ */
49
+ function ssba_script_tags( $tag, $handle ) {
50
+ if ( 'ssba-sharethis' === $handle ) {
51
+ return str_replace( '<script ', '<script id=\'st_insights_js\' ', $tag );
52
+ }
53
+ return $tag;
54
+ }
55
+
56
+ // add CSS to the head
57
+ add_action( 'wp_head', 'get_ssba_style' );
58
+
59
+ // generate style
60
+ function get_ssba_style() {
61
+
62
+ // query the db for current ssba settings
63
+ $arrSettings = get_ssba_settings();
64
+
65
+ // if the sharethis terms have been accepted
66
+ if ($arrSettings['accepted_sharethis_terms'] == 'Y') {
67
+ // if a facebook app id has been set
68
+ if ($arrSettings['facebook_app_id'] != '') {
69
+ $src = '//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.6&appID='.$arrSettings['facebook_app_id'];
70
+ } else {
71
+ $src = '//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.6';
72
+ }
73
+
74
+ // if an app id has been entered
75
+ if ($arrSettings['facebook_app_id'] != '') {
76
+ // init facebook
77
+ echo "<script>window.fbAsyncInit = function() {
78
+ FB.init({
79
+ appId : '" . $arrSettings['facebook_app_id'] . "',
80
+ xfbml : true,
81
+ version : 'v2.6'
82
+ });
83
+ };</script>";
84
+ }
85
+
86
+ // include facebook js sdk
87
+ echo "<script>(function(d, s, id){
88
+ var js, fjs = d.getElementsByTagName(s)[0];
89
+ if (d.getElementById(id)) {return;}
90
+ js = d.createElement(s); js.id = id;
91
+ js.src = \"" . $src . "\";
92
+ fjs.parentNode.insertBefore(js, fjs);
93
+ }(document, 'script', 'facebook-jssdk'));</script>";
94
+
95
+ // if an app id has been entered
96
+ if ($arrSettings['facebook_app_id'] != '') {
97
+ // if facebook insights have been enabled
98
+ if ($arrSettings['facebook_insights'] == 'Y') {
99
+ // add facebook meta tag
100
+ echo '<meta property="fb:app_id" content="'.$arrSettings['facebook_app_id'].'" />';
101
+ }
102
+ }
103
+ }
104
+
105
+ // css style
106
+ $htmlSSBAStyle = '<style type="text/css">';
107
+
108
+ // check if custom styles haven't been set
109
+ if ($arrSettings['ssba_custom_styles_enabled'] != 'Y') {
110
+
111
+ // use set options
112
+ $htmlSSBAStyle .= ' .ssba {
113
+ ' . ($arrSettings['ssba_div_padding'] != '' ? 'padding: ' . $arrSettings['ssba_div_padding'] . 'px;' : NULL) . '
114
+ ' . ($arrSettings['ssba_border_width'] != '' ? 'border: ' . $arrSettings['ssba_border_width'] . 'px solid ' . $arrSettings['ssba_div_border'] . ';' : NULL) . '
115
+ ' . ($arrSettings['ssba_div_background'] != '' ? 'background-color: ' . $arrSettings['ssba_div_background'] . ';' : NULL) . '
116
+ ' . ($arrSettings['ssba_div_rounded_corners'] == 'Y' ? '-moz-border-radius: 10px; -webkit-border-radius: 10px; -khtml-border-radius: 10px; border-radius: 10px; -o-border-radius: 10px;' : NULL) . '
117
+ }
118
+ .ssba img
119
+ {
120
+ width: ' . $arrSettings['ssba_size'] . 'px !important;
121
+ padding: ' . $arrSettings['ssba_padding'] . 'px;
122
+ border: 0;
123
+ box-shadow: none !important;
124
+ display: inline !important;
125
+ vertical-align: middle;
126
+ }
127
+ .ssba, .ssba a
128
+ {
129
+ text-decoration:none;
130
+ border:0;
131
+ ' . ($arrSettings['ssba_div_background'] == '' ? 'background: none;' : NULL) . '
132
+ ' . ($arrSettings['ssba_font_family'] != '' ? 'font-family: ' . $arrSettings['ssba_font_family'] . ';' : NULL) . '
133
+ ' . ($arrSettings['ssba_font_size'] != '' ? 'font-size: ' . $arrSettings['ssba_font_size'] . 'px;' : NULL) . '
134
+ ' . ($arrSettings['ssba_font_color'] != '' ? 'color: ' . $arrSettings['ssba_font_color'] . '!important;' : NULL) . '
135
+ ' . ($arrSettings['ssba_font_weight'] != '' ? 'font-weight: ' . $arrSettings['ssba_font_weight'] . ';' : NULL) . '
136
+ }
137
+ ';
138
+
139
+ // if counters option is set to Y
140
+ if ($arrSettings['ssba_show_share_count'] == 'Y') {
141
+ // styles that apply to all counter css sets
142
+ $htmlSSBAStyle .= '.ssba_sharecount:after, .ssba_sharecount:before {
143
+ right: 100%;
144
+ border: solid transparent;
145
+ content: " ";
146
+ height: 0;
147
+ width: 0;
148
+ position: absolute;
149
+ pointer-events: none;
150
+ }
151
+ .ssba_sharecount:after {
152
+ border-color: rgba(224, 221, 221, 0);
153
+ border-right-color: #f5f5f5;
154
+ border-width: 5px;
155
+ top: 50%;
156
+ margin-top: -5px;
157
+ }
158
+ .ssba_sharecount:before {
159
+ border-color: rgba(85, 94, 88, 0);
160
+ border-right-color: #e0dddd;
161
+ border-width: 6px;
162
+ top: 50%;
163
+ margin-top: -6px;
164
+ }
165
+ .ssba_sharecount {
166
+ font: 11px Arial, Helvetica, sans-serif;
167
+
168
+ padding: 5px;
169
+ -khtml-border-radius: 6px;
170
+ -o-border-radius: 6px;
171
+ -webkit-border-radius: 6px;
172
+ -moz-border-radius: 6px;
173
+ border-radius: 6px;
174
+ position: relative;
175
+ border: 1px solid #e0dddd;';
176
+
177
+ // if default counter style has been chosen
178
+ if ($arrSettings['ssba_share_count_style'] == 'default') {
179
+
180
+ // style share count
181
+ $htmlSSBAStyle .= 'color: #555e58;
182
+ background: #f5f5f5;
183
+ }
184
+ .ssba_sharecount:after {
185
+ border-right-color: #f5f5f5;
186
+ }';
187
+
188
+ } elseif ($arrSettings['ssba_share_count_style'] == 'white') {
189
+
190
+ // show white style share counts
191
+ $htmlSSBAStyle .= 'color: #555e58;
192
+ background: #ffffff;
193
+ }
194
+ .ssba_sharecount:after {
195
+ border-right-color: #ffffff;
196
+ }';
197
+
198
+ } elseif ($arrSettings['ssba_share_count_style'] == 'blue') {
199
+
200
+ // show blue style share counts
201
+ $htmlSSBAStyle .= 'color: #ffffff;
202
+ background: #42a7e2;
203
+ }
204
+ .ssba_sharecount:after {
205
+ border-right-color: #42a7e2;
206
+ }';
207
+ }
208
+ }
209
+
210
+ // if there's any additional css
211
+ if ($arrSettings['ssba_additional_css'] != '') {
212
+ // add the additional CSS
213
+ $htmlSSBAStyle .= $arrSettings['ssba_additional_css'];
214
+ }
215
+ }
216
+
217
+ // else use set options
218
+ else {
219
+
220
+ // use custom styles
221
+ $htmlSSBAStyle .= $arrSettings['ssba_custom_styles'];
222
+ }
223
+
224
+ // close style tag
225
+ $htmlSSBAStyle .= '</style>';
226
+
227
+ // return
228
+ echo $htmlSSBAStyle;
229
+
230
+ }
inc/ssba_widget.php ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined('ABSPATH') or die('No direct access permitted');
3
+
4
+ // widget class
5
+ class ssba_widget extends WP_Widget {
6
+
7
+ // construct the widget
8
+ public function __construct() {
9
+ parent::__construct(
10
+ 'ssba_widget', // Base ID
11
+ 'Share Buttons', // Name
12
+ array( 'description' => __( 'Simple Share Buttons Adder', 'text_domain' ), ) // Args
13
+ );
14
+ }
15
+
16
+ // extract required arguments and run the shortcode
17
+ public function widget( $args, $instance ) {
18
+ extract( $args );
19
+ $title = apply_filters( 'widget_title', $instance['title'] );
20
+ $url = $instance['url'];
21
+ $pagetitle = $instance['pagetitle'];
22
+
23
+ echo $before_widget;
24
+ if (!empty($title))
25
+ echo $before_title . $title . $after_title;
26
+
27
+ $shortcode = '[ssba';
28
+ ($url != '' ? $shortcode .= ' url="' . $url . '"' : NULL);
29
+ ($pagetitle != '' ? $shortcode .= ' title="' . $pagetitle . '"' : NULL);
30
+ $shortcode .= ' widget="Y"]';
31
+ echo do_shortcode($shortcode, 'text_domain' );
32
+ echo $after_widget;
33
+ }
34
+
35
+ public function form( $instance )
36
+ {
37
+ if ( isset( $instance[ 'title' ] ) )
38
+ {
39
+ $title = $instance[ 'title' ];
40
+ }
41
+ else
42
+ {
43
+ $title = __( 'Share Buttons', 'text_domain' );
44
+ }
45
+
46
+ if ( isset( $instance[ 'title' ] ) )
47
+ {
48
+ $url = esc_url( $instance['url'] );
49
+ }
50
+ else
51
+ {
52
+ $url = '';
53
+ }
54
+
55
+ if ( isset( $instance[ 'title' ] ) )
56
+ {
57
+ $pagetitle = esc_attr( $instance['pagetitle'] );
58
+ }
59
+ else
60
+ {
61
+ $pagetitle = '';
62
+ }
63
+
64
+ # Title
65
+ echo '<p><label for="' . $this->get_field_id('title') . '">' . 'Title:' . '</label><input class="widefat" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></p>';
66
+ # URL
67
+ echo '<p><label for="' . $this->get_field_id('url') . '">' . 'URL:' . '</label><input class="widefat" id="' . $this->get_field_id('url') . '" name="' . $this->get_field_name('url') . '" type="text" value="' . $url . '" /></p>';
68
+ echo '<p class="description">Leave this blank to share the current page, or enter a URL to force one URL for all pages.</p>';
69
+ # Page title
70
+ echo '<p><label for="' . $this->get_field_id('pagetitle') . '">' . 'Page title:' . '</label><input class="widefat" id="' . $this->get_field_id('pagetitle') . '" name="' . $this->get_field_name('pagetitle') . '" type="text" value="' . $pagetitle . '" /></p>';
71
+ echo '<p class="description">Set a page title for the page being shared, leave this blank if you have not set a URL.</p>';
72
+ }
73
+
74
+ public function update( $new_instance, $old_instance ) {
75
+ $instance = array();
76
+ $instance['title'] = strip_tags( $new_instance['title'] );
77
+ $instance['url'] = strip_tags( $new_instance['url'] );
78
+ $instance['pagetitle'] = strip_tags( $new_instance['pagetitle'] );
79
+
80
+ return $instance;
81
+ }
82
+
83
+ }
84
+
85
+ // add ssba to available widgets
86
+ add_action( 'widgets_init', create_function( '', 'register_widget( "ssba_widget" );' ) );
87
+
88
+ function mywidget_init() {
89
+
90
+ register_sidebar_widget('Share Buttons Widget', 'ssba_widget');
91
+ register_widget_control('Share Buttons Widget', 'ssba_widget_control');
92
+ }
inc/ssbp_forms.php ADDED
@@ -0,0 +1,197 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined('ABSPATH') or die("No direct access permitted");
3
+
4
+ // forms class
5
+ Class ssbpForms {
6
+
7
+ // variables
8
+ public $ssba_checkboxes;
9
+
10
+ // opening form tag
11
+ public function open($wrap, $action = '', $class = '')
12
+ {
13
+ $return = '<div class="'.($wrap ? 'ssba-form-wrap' : null).'">';
14
+ $return .= '<form class="form-horizontal '.$class.'" id="ssba-admin-form" method="post" action="'.$action.'">';
15
+
16
+ // required hidden fields
17
+ $return .= wp_nonce_field('ssba_save_settings','ssba_save_nonce');
18
+ $return .= '<input type="hidden" name="ssba_options" />';
19
+
20
+ // open fieldset
21
+ $return .= '<fieldset>';
22
+
23
+ return $return;
24
+ }
25
+
26
+ // close form tag
27
+ public function close()
28
+ {
29
+ // save button
30
+ $return = '<button type="submit" id="submit" class="ssba-btn-save btn btn-lg btn-primary"><i class="fa fa-floppy-o"></i></button>';
31
+
32
+ // success button
33
+ $return .= '<button type="button" class="ssba-btn-save-success btn btn-lg btn-success"><i class="fa fa-check"></i></button>';
34
+
35
+ // close fieldset
36
+ $return.= '</fieldset>';
37
+
38
+ // close form
39
+ $return .= '</form>';
40
+ $return .= '</div>';
41
+
42
+ return $return;
43
+ }
44
+
45
+ // inline checkboxes
46
+ public function ssbp_checkboxes($opts)
47
+ {
48
+ // check if opts passed is an array
49
+ if( ! is_array($opts))
50
+ return 'Variable passed not an array';
51
+
52
+ // define variable
53
+ $input = '';
54
+
55
+ // if we're including the form group div
56
+ if($opts['form_group'] === true)
57
+ $input.= '<div class="form-group">';
58
+
59
+ // if a tooltip has been set
60
+ if(isset($opts['tooltip']) && $opts['tooltip'] != '')
61
+ $tooltip = 'data-toggle="tooltip" data-placement="right" data-original-title="'.$opts['tooltip'].'"';
62
+ // no tooltip
63
+ else
64
+ $tooltip = '';
65
+
66
+ // label with tooltip
67
+ $input .= '<label class="control-label" '.$tooltip.'>'.$opts['label'].'</label>';
68
+
69
+ // input div
70
+ $input .='<div class="">';
71
+
72
+ // add all checkboxes
73
+ array_walk($opts['checkboxes'], array($this, '_ssbp_add_checkboxes'));
74
+ $input.= $this->ssba_checkboxes;
75
+
76
+ // close input div
77
+ $input.= '</div>';
78
+
79
+ // if we're including the form group div
80
+ if($opts['form_group'] === true)
81
+ $input.= '</div>';
82
+
83
+ // return the input
84
+ return $input;
85
+ }
86
+
87
+ // checkboxes
88
+ private function _ssbp_add_checkboxes($value, $key)
89
+ {
90
+ $this->ssba_checkboxes .= '<label class="checkbox-inline no_indent">
91
+ '.$key.'<br />
92
+ <input type="checkbox" id="'.$value['value'].'" name="'.$value['value'].'" value="Y" '.($value['checked'] === true ? 'checked="checked"' : null).'>
93
+ </label>';
94
+ }
95
+
96
+ // form input with group
97
+ public function ssbp_input($opts)
98
+ {
99
+ // check if opts passed is an array
100
+ if( ! is_array($opts))
101
+ return 'Variable passed not an array';
102
+
103
+ // define variable
104
+ $input = '';
105
+
106
+ // if we're including the form group div
107
+ if($opts['form_group'] === true)
108
+ $input.= '<div class="form-group">';
109
+
110
+ // if a tooltip has been set
111
+ if(isset($opts['tooltip']) && $opts['tooltip'] != '')
112
+ $tooltip = 'data-toggle="tooltip" data-placement="right" data-original-title="'.$opts['tooltip'].'"';
113
+ // no tooltip
114
+ else
115
+ $tooltip = '';
116
+
117
+ // label with tooltip
118
+ $input .= '<label for="'.$opts['name'].'" class="control-label" '.$tooltip.'>'.$opts['label'].'</label>';
119
+
120
+ // input div
121
+ $input .='<div class="input-div">';
122
+
123
+ // switch based on the inputn type
124
+ switch($opts['type'])
125
+ {
126
+ case 'text':
127
+ default:
128
+ $input.='<input class="form-control" name="'.$opts['name'].'" id="'.$opts['name'].'" type="text" value="'.$opts['value'].'" placeholder="'.$opts['placeholder'].'" '.(isset($opts['disabled']) ? $opts['disabled'] : null).' />';
129
+ break;
130
+
131
+ case 'text_prefix':
132
+ $input.='<div class="input-group">
133
+ <span class="input-group-addon">'.$opts['prefix'].'</span>
134
+ <input name="'.$opts['name'].'" id="'.$opts['name'].'" type="text" value="'.$opts['value'].'" class="form-control" placeholder="'.$opts['placeholder'].'">
135
+ </div>';
136
+ break;
137
+
138
+ case 'error':
139
+ $input.='<p class="text-danger">'.$opts['error'].'</p>';
140
+ break;
141
+
142
+ case 'number':
143
+ $input.='<input class="form-control" name="'.$opts['name'].'" id="'.$opts['name'].'" type="number" value="'.$opts['value'].'" placeholder="'.$opts['placeholder'].'" />';
144
+ break;
145
+
146
+ case 'image_upload':
147
+ $input.='<div class="input-group">
148
+ <input id="'.$opts['name'].'" name="'.$opts['name'].'" type="text" class="form-control" value="'.$opts['value'].'">
149
+ <span class="input-group-btn">
150
+ <button id="upload_'.$opts['name'].'_button" class="ssbpUpload ssbp_upload_btn btn btn-default" data-ssbp-input="'.$opts['name'].'" type="button">Upload</button>
151
+ </span>
152
+ </div>';
153
+ break;
154
+
155
+ case 'number_addon':
156
+ $input.='<div class="input-group">
157
+ <input id="'.$opts['name'].'" name="'.$opts['name'].'" type="number" class="form-control" value="'.$opts['value'].'" placeholder="'.$opts['placeholder'].'" />
158
+ <span class="input-group-addon">'.$opts['addon'].'</span>
159
+ </div>';
160
+ break;
161
+
162
+ case 'colorpicker':
163
+ $input.= '<input id="'.$opts['name'].'" name="'.$opts['name'].'" type="text" class="ssba-colorpicker form-control" value="'.$opts['value'].'" placeholder="#4582ec" style="border-color: '.($opts['value'] != '' ? $opts['value'] : '#eaeaea').'" />';
164
+ break;
165
+
166
+ case 'textarea':
167
+ $input.='<textarea class="form-control '.(isset($opts['class']) ? $opts['class'] : null).'" name="'.$opts['name'].'" id="'.$opts['name'].'" rows="'.$opts['rows'].'">'.$opts['value'].'</textarea>';
168
+ break;
169
+
170
+ case 'checkbox':
171
+ $input.='<input class="'.(isset($opts['class']) ? $opts['class'] : null).'" name="'.$opts['name'].'" id="'.$opts['name'].'" type="checkbox" '.$opts['checked'].' value="'.$opts['value'].'" '.(isset($opts['disabled']) ? $opts['disabled'] : null).' />';
172
+ break;
173
+
174
+ case 'select':
175
+ $input.='<select class="form-control" name="'.$opts['name'].'" id="'.$opts['name'].'">';
176
+
177
+ // add all options
178
+ foreach($opts['options'] as $key => $value)
179
+ {
180
+ $input.= '<option value="'.$value.'" '.($value == $opts['selected'] ? 'selected="selected"' : null).'>'.$key.'</option>';
181
+ }
182
+
183
+ $input.='</select>';
184
+ break;
185
+ }
186
+
187
+ // close input div
188
+ $input.= '</div>';
189
+
190
+ // if we're including the form group div
191
+ if($opts['form_group'] === true)
192
+ $input.= '</div>';
193
+
194
+ // return the input
195
+ return $input;
196
+ }
197
+ }
js/ssba.js ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function() {
2
+
3
+ // upon clicking a share button
4
+ jQuery('.ssba-wrap a').click(function(event){
5
+
6
+ // don't go the the href yet
7
+ event.preventDefault();
8
+
9
+ // if it's facebook mobile
10
+ if(jQuery(this).data('facebook') == 'mobile') {
11
+ FB.ui({
12
+ method: 'share',
13
+ mobile_iframe: true,
14
+ href: jQuery(this).data('href')
15
+ }, function(response){});
16
+ } else {
17
+ // these share options don't need to have a popup
18
+ if (jQuery(this).data('site') == 'email' || jQuery(this).data('site') == 'print' || jQuery(this).data('site') == 'pinterest') {
19
+
20
+ // just redirect
21
+ window.location.href = jQuery(this).attr("href");
22
+ } else {
23
+
24
+ // prepare popup window
25
+ var width = 575,
26
+ height = 520,
27
+ left = (jQuery(window).width() - width) / 2,
28
+ top = (jQuery(window).height() - height) / 2,
29
+ opts = 'status=1' +
30
+ ',width=' + width +
31
+ ',height=' + height +
32
+ ',top=' + top +
33
+ ',left=' + left;
34
+
35
+ // open the share url in a smaller window
36
+ window.open(jQuery(this).attr("href"), 'share', opts);
37
+ }
38
+ }
39
+ });
40
+ });
js/ssba.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(){jQuery(".ssba-wrap a").click(function(a){if(a.preventDefault(),"mobile"==jQuery(this).data("facebook"))FB.ui({method:"share",mobile_iframe:!0,href:jQuery(this).data("href")},function(a){});else if("email"==jQuery(this).data("site")||"print"==jQuery(this).data("site")||"pinterest"==jQuery(this).data("site"))window.location.href=jQuery(this).attr("href");else{var b=575,c=520,d=(jQuery(window).width()-b)/2,e=(jQuery(window).height()-c)/2,f="status=1,width="+b+",height="+c+",top="+e+",left="+d;window.open(jQuery(this).attr("href"),"share",f)}})});
js/ssba_admin.js ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function() {
2
+
3
+ // switch for checkboxes
4
+ jQuery(".ssba-admin-wrap input:checkbox").bootstrapSwitch({
5
+ onColor: 'primary',
6
+ size: 'normal'
7
+ });
8
+
9
+ jQuery('input[name="accepted_sharethis_terms"]').on('switchChange.bootstrapSwitch', function(event, state) {
10
+ if (state == false){
11
+ if (!confirm('This will decline ShareThis Terms of Service, please confirm.')) {
12
+ jQuery('input[name="accepted_sharethis_terms"]').bootstrapSwitch('toggleState', false, true);
13
+ }
14
+ }
15
+ });
16
+
17
+ // color picker
18
+ jQuery('.ssba-colorpicker').colpick({
19
+ layout:'hex',
20
+ submit:1,
21
+ onSubmit:function(hsb,hex,rgb,el,colid) {
22
+ jQuery(el).val('#'+hex);
23
+ jQuery(el).css('border-color', '#'+hex);
24
+ jQuery(el).colpickHide();
25
+ }
26
+ });
27
+
28
+ jQuery('[data-toggle="tooltip"]').tooltip();
29
+
30
+ //------- INCLUDE LIST ----------//
31
+
32
+ // add drag and sort functions to include table
33
+ jQuery(function() {
34
+ jQuery( "#ssbasort1, #ssbasort2" ).sortable({
35
+ connectWith: ".ssbaSortable"
36
+ }).disableSelection();
37
+ });
38
+
39
+ // extract and add include list to hidden field
40
+ jQuery('#ssba_selected_buttons').val(jQuery('#ssbasort2 li').map(function() {
41
+ // For each <li> in the list, return its inner text and let .map()
42
+ // build an array of those values.
43
+ return jQuery(this).attr('id');
44
+ }).get());
45
+
46
+ // after a change, extract and add include list to hidden field
47
+ jQuery('.ssbp-wrap').mouseout(function() {
48
+ jQuery('#ssba_selected_buttons').val(jQuery('#ssbasort2 li').map(function() {
49
+ // For each <li> in the list, return its inner text and let .map()
50
+ // build an array of those values.
51
+ return jQuery(this).attr('id');
52
+ }).get());
53
+ });
54
+
55
+
56
+ // when changing image sets
57
+ jQuery('#ssba_image_set').change(function(){
58
+
59
+ if (jQuery("#ssba_image_set").val() == "custom" ) {
60
+ jQuery("#ssba-custom-images").fadeIn(100);
61
+ }
62
+ if(jQuery("#ssba_image_set").val() != "custom" ) {
63
+ jQuery("#ssba-custom-images").fadeOut(100);
64
+ }
65
+ });
66
+
67
+ // ----- IMAGE UPLOADS ------ //
68
+ var file_frame;
69
+
70
+ jQuery('.ssbpUpload').click(function(event){
71
+
72
+ event.preventDefault();
73
+
74
+ // set the field ID we shall add the img url to
75
+ var strInputID = jQuery(this).data('ssbp-input');
76
+
77
+ // Create the media frame.
78
+ file_frame = wp.media.frames.file_frame = wp.media({
79
+ multiple: false // Set to true to allow multiple files to be selected
80
+ });
81
+
82
+ // When an image is selected, run a callback.
83
+ file_frame.on( 'select', function() {
84
+ // We set multiple to false so only get one image from the uploader
85
+ var attachment = file_frame.state().get('selection').first().toJSON();
86
+ jQuery('#' + strInputID).val(attachment['url']);
87
+ });
88
+
89
+ // Finally, open the modal
90
+ file_frame.open();
91
+ });
92
+ //---------------------------------------------------------------------------------------//
93
+ //
94
+ // SSBA ADMIN FORM
95
+ //
96
+ jQuery( "#ssba-admin-form:not('.ssba-form-non-ajax')" ).on( 'submit', function(e) {
97
+
98
+ // don't submit the form
99
+ e.preventDefault();
100
+
101
+ // show spinner to show save in progress
102
+ jQuery("button.ssba-btn-save").html('<i class="fa fa-spinner fa-spin"></i>');
103
+
104
+ // get posted data and serialise
105
+ var ssbaData = jQuery("#ssba-admin-form").serialize();
106
+
107
+ // disable all inputs
108
+ jQuery(':input').prop('disabled', true);
109
+ jQuery(".ssba-admin-wrap input:checkbox").bootstrapSwitch('disabled', true);
110
+
111
+
112
+ jQuery.post(
113
+ jQuery( this ).prop( 'action' ),
114
+ {
115
+ ssbaData: ssbaData
116
+ },
117
+ function() {
118
+
119
+ // show success
120
+ jQuery('button.ssba-btn-save-success').fadeIn(100).delay(2500).fadeOut(200);
121
+
122
+ // re-enable inputs and reset save button
123
+ jQuery(':input').prop('disabled', false);
124
+ jQuery(".ssba-admin-wrap input:checkbox").bootstrapSwitch('disabled', false);
125
+ jQuery("button.ssba-btn-save").html('<i class="fa fa-floppy-o"></i>');
126
+ }
127
+ ); // end post
128
+ } ); // end form submit
129
+
130
+ });
js/ssba_bootstrap.js ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
3
+ * Copyright 2011-2015 Twitter, Inc.
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+ if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.4",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.4",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.4",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.4",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.4",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)&&!/input|textarea/i.test(b.target.tagName)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.4",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in").attr("aria-hidden",!1),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a('<div class="modal-backdrop '+e+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.4",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport),this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-m<p.top?"bottom":"right"==h&&k.right+l>p.width?"left":"left"==h&&k.left-l<p.left?"right":h,f.removeClass(n).addClass(h)}var q=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(q,h);var r=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",r).emulateTransitionEnd(c.TRANSITION_DURATION):r()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.4",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.4",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.4",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){
7
+ var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.4",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a(document.body).height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
js/ssba_colorpicker.js ADDED
@@ -0,0 +1,520 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ colpick Color Picker
3
+ Copyright 2013 Jose Vargas. Licensed under GPL license. Based on Stefan Petre's Color Picker www.eyecon.ro, dual licensed under the MIT and GPL licenses
4
+
5
+ For usage and examples: colpick.com/plugin
6
+ */
7
+
8
+ (function ($) {
9
+ var colpick = function () {
10
+ var
11
+ tpl = '<div data-addon="" class="colpick"><div class="colpick_color"><div class="colpick_color_overlay1"><div class="colpick_color_overlay2"><div class="colpick_selector_outer"><div class="colpick_selector_inner"></div></div></div></div></div><div class="colpick_hue"><div class="colpick_hue_arrs"><div class="colpick_hue_larr"></div><div class="colpick_hue_rarr"></div></div></div><div class="colpick_new_color"></div><div class="colpick_current_color"></div><div class="colpick_hex_field"><div class="colpick_field_letter">#</div><input type="text" maxlength="6" size="6" /></div><div class="colpick_rgb_r colpick_field"><div class="colpick_field_letter">R</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_rgb_g colpick_field"><div class="colpick_field_letter">G</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_rgb_b colpick_field"><div class="colpick_field_letter">B</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_h colpick_field"><div class="colpick_field_letter">H</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_s colpick_field"><div class="colpick_field_letter">S</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_b colpick_field"><div class="colpick_field_letter">B</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_submit"></div></div>',
12
+ defaults = {
13
+ showEvent: 'click',
14
+ onShow: function () {},
15
+ onBeforeShow: function(){},
16
+ onHide: function () {},
17
+ onChange: function () {},
18
+ onSubmit: function () {},
19
+ colorScheme: 'light',
20
+ color: '4582ec',
21
+ livePreview: true,
22
+ flat: false,
23
+ layout: 'full',
24
+ submit: 1,
25
+ submitText: 'OK',
26
+ height: 156
27
+ },
28
+ //Fill the inputs of the plugin
29
+ fillRGBFields = function (hsb, cal) {
30
+ var rgb = hsbToRgb(hsb);
31
+ $(cal).data('colpick').fields
32
+ .eq(1).val(rgb.r).end()
33
+ .eq(2).val(rgb.g).end()
34
+ .eq(3).val(rgb.b).end();
35
+ },
36
+ fillHSBFields = function (hsb, cal) {
37
+ $(cal).data('colpick').fields
38
+ .eq(4).val(Math.round(hsb.h)).end()
39
+ .eq(5).val(Math.round(hsb.s)).end()
40
+ .eq(6).val(Math.round(hsb.b)).end();
41
+ },
42
+ fillHexFields = function (hsb, cal) {
43
+ $(cal).data('colpick').fields.eq(0).val(hsbToHex(hsb));
44
+ },
45
+ //Set the round selector position
46
+ setSelector = function (hsb, cal) {
47
+ $(cal).data('colpick').selector.css('backgroundColor', '#' + hsbToHex({h: hsb.h, s: 100, b: 100}));
48
+ $(cal).data('colpick').selectorIndic.css({
49
+ left: parseInt($(cal).data('colpick').height * hsb.s/100, 10),
50
+ top: parseInt($(cal).data('colpick').height * (100-hsb.b)/100, 10)
51
+ });
52
+ },
53
+ //Set the hue selector position
54
+ setHue = function (hsb, cal) {
55
+ $(cal).data('colpick').hue.css('top', parseInt($(cal).data('colpick').height - $(cal).data('colpick').height * hsb.h/360, 10));
56
+ },
57
+ //Set current and new colors
58
+ setCurrentColor = function (hsb, cal) {
59
+ $(cal).data('colpick').currentColor.css('backgroundColor', '#' + hsbToHex(hsb));
60
+ },
61
+ setNewColor = function (hsb, cal) {
62
+ $(cal).data('colpick').newColor.css('backgroundColor', '#' + hsbToHex(hsb));
63
+ },
64
+ //Called when the new color is changed
65
+ change = function (ev) {
66
+ var cal = $(this).parent().parent(), col;
67
+ if (this.parentNode.className.indexOf('_hex') > 0) {
68
+ cal.data('colpick').color = col = hexToHsb(fixHex(this.value));
69
+ fillRGBFields(col, cal.get(0));
70
+ fillHSBFields(col, cal.get(0));
71
+ } else if (this.parentNode.className.indexOf('_hsb') > 0) {
72
+ cal.data('colpick').color = col = fixHSB({
73
+ h: parseInt(cal.data('colpick').fields.eq(4).val(), 10),
74
+ s: parseInt(cal.data('colpick').fields.eq(5).val(), 10),
75
+ b: parseInt(cal.data('colpick').fields.eq(6).val(), 10)
76
+ });
77
+ fillRGBFields(col, cal.get(0));
78
+ fillHexFields(col, cal.get(0));
79
+ } else {
80
+ cal.data('colpick').color = col = rgbToHsb(fixRGB({
81
+ r: parseInt(cal.data('colpick').fields.eq(1).val(), 10),
82
+ g: parseInt(cal.data('colpick').fields.eq(2).val(), 10),
83
+ b: parseInt(cal.data('colpick').fields.eq(3).val(), 10)
84
+ }));
85
+ fillHexFields(col, cal.get(0));
86
+ fillHSBFields(col, cal.get(0));
87
+ }
88
+ setSelector(col, cal.get(0));
89
+ setHue(col, cal.get(0));
90
+ setNewColor(col, cal.get(0));
91
+ cal.data('colpick').onChange.apply(cal.parent(), [col, hsbToHex(col), hsbToRgb(col), cal.data('colpick').el, 0]);
92
+ },
93
+ //Change style on blur and on focus of inputs
94
+ blur = function (ev) {
95
+ $(this).parent().removeClass('colpick_focus');
96
+ },
97
+ focus = function () {
98
+ $(this).parent().parent().data('colpick').fields.parent().removeClass('colpick_focus');
99
+ $(this).parent().addClass('colpick_focus');
100
+ },
101
+ //Increment/decrement arrows functions
102
+ downIncrement = function (ev) {
103
+ ev.preventDefault ? ev.preventDefault() : ev.returnValue = false;
104
+ var field = $(this).parent().find('input').focus();
105
+ var current = {
106
+ el: $(this).parent().addClass('colpick_slider'),
107
+ max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
108
+ y: ev.pageY,
109
+ field: field,
110
+ val: parseInt(field.val(), 10),
111
+ preview: $(this).parent().parent().data('colpick').livePreview
112
+ };
113
+ $(document).mouseup(current, upIncrement);
114
+ $(document).mousemove(current, moveIncrement);
115
+ },
116
+ moveIncrement = function (ev) {
117
+ ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val - ev.pageY + ev.data.y, 10))));
118
+ if (ev.data.preview) {
119
+ change.apply(ev.data.field.get(0), [true]);
120
+ }
121
+ return false;
122
+ },
123
+ upIncrement = function (ev) {
124
+ change.apply(ev.data.field.get(0), [true]);
125
+ ev.data.el.removeClass('colpick_slider').find('input').focus();
126
+ $(document).off('mouseup', upIncrement);
127
+ $(document).off('mousemove', moveIncrement);
128
+ return false;
129
+ },
130
+ //Hue slider functions
131
+ downHue = function (ev) {
132
+ ev.preventDefault ? ev.preventDefault() : ev.returnValue = false;
133
+ var current = {
134
+ cal: $(this).parent(),
135
+ y: $(this).offset().top
136
+ };
137
+ $(document).on('mouseup touchend',current,upHue);
138
+ $(document).on('mousemove touchmove',current,moveHue);
139
+
140
+ var pageY = ((ev.type == 'touchstart') ? ev.originalEvent.changedTouches[0].pageY : ev.pageY );
141
+ change.apply(
142
+ current.cal.data('colpick')
143
+ .fields.eq(4).val(parseInt(360*(current.cal.data('colpick').height - (pageY - current.y))/current.cal.data('colpick').height, 10))
144
+ .get(0),
145
+ [current.cal.data('colpick').livePreview]
146
+ );
147
+ return false;
148
+ },
149
+ moveHue = function (ev) {
150
+ var pageY = ((ev.type == 'touchmove') ? ev.originalEvent.changedTouches[0].pageY : ev.pageY );
151
+ change.apply(
152
+ ev.data.cal.data('colpick')
153
+ .fields.eq(4).val(parseInt(360*(ev.data.cal.data('colpick').height - Math.max(0,Math.min(ev.data.cal.data('colpick').height,(pageY - ev.data.y))))/ev.data.cal.data('colpick').height, 10))
154
+ .get(0),
155
+ [ev.data.preview]
156
+ );
157
+ return false;
158
+ },
159
+ upHue = function (ev) {
160
+ fillRGBFields(ev.data.cal.data('colpick').color, ev.data.cal.get(0));
161
+ fillHexFields(ev.data.cal.data('colpick').color, ev.data.cal.get(0));
162
+ $(document).off('mouseup touchend',upHue);
163
+ $(document).off('mousemove touchmove',moveHue);
164
+ return false;
165
+ },
166
+ //Color selector functions
167
+ downSelector = function (ev) {
168
+ ev.preventDefault ? ev.preventDefault() : ev.returnValue = false;
169
+ var current = {
170
+ cal: $(this).parent(),
171
+ pos: $(this).offset()
172
+ };
173
+ current.preview = current.cal.data('colpick').livePreview;
174
+
175
+ $(document).on('mouseup touchend',current,upSelector);
176
+ $(document).on('mousemove touchmove',current,moveSelector);
177
+
178
+ var payeX,pageY;
179
+ if(ev.type == 'touchstart') {
180
+ pageX = ev.originalEvent.changedTouches[0].pageX,
181
+ pageY = ev.originalEvent.changedTouches[0].pageY;
182
+ } else {
183
+ pageX = ev.pageX;
184
+ pageY = ev.pageY;
185
+ }
186
+
187
+ change.apply(
188
+ current.cal.data('colpick').fields
189
+ .eq(6).val(parseInt(100*(current.cal.data('colpick').height - (pageY - current.pos.top))/current.cal.data('colpick').height, 10)).end()
190
+ .eq(5).val(parseInt(100*(pageX - current.pos.left)/current.cal.data('colpick').height, 10))
191
+ .get(0),
192
+ [current.preview]
193
+ );
194
+ return false;
195
+ },
196
+ moveSelector = function (ev) {
197
+ var payeX,pageY;
198
+ if(ev.type == 'touchmove') {
199
+ pageX = ev.originalEvent.changedTouches[0].pageX,
200
+ pageY = ev.originalEvent.changedTouches[0].pageY;
201
+ } else {
202
+ pageX = ev.pageX;
203
+ pageY = ev.pageY;
204
+ }
205
+
206
+ change.apply(
207
+ ev.data.cal.data('colpick').fields
208
+ .eq(6).val(parseInt(100*(ev.data.cal.data('colpick').height - Math.max(0,Math.min(ev.data.cal.data('colpick').height,(pageY - ev.data.pos.top))))/ev.data.cal.data('colpick').height, 10)).end()
209
+ .eq(5).val(parseInt(100*(Math.max(0,Math.min(ev.data.cal.data('colpick').height,(pageX - ev.data.pos.left))))/ev.data.cal.data('colpick').height, 10))
210
+ .get(0),
211
+ [ev.data.preview]
212
+ );
213
+ return false;
214
+ },
215
+ upSelector = function (ev) {
216
+ fillRGBFields(ev.data.cal.data('colpick').color, ev.data.cal.get(0));
217
+ fillHexFields(ev.data.cal.data('colpick').color, ev.data.cal.get(0));
218
+ $(document).off('mouseup touchend',upSelector);
219
+ $(document).off('mousemove touchmove',moveSelector);
220
+ return false;
221
+ },
222
+ //Submit button
223
+ clickSubmit = function (ev) {
224
+ var cal = $(this).parent();
225
+ var col = cal.data('colpick').color;
226
+ cal.data('colpick').origColor = col;
227
+ setCurrentColor(col, cal.get(0));
228
+ cal.data('colpick').onSubmit(col, hsbToHex(col), hsbToRgb(col), cal.data('colpick').el);
229
+ },
230
+ //Show/hide the color picker
231
+ show = function (ev) {
232
+ // Prevent the trigger of any direct parent
233
+ ev.stopPropagation();
234
+ var cal = $('#' + $(this).data('colpickId'));
235
+ cal.data('colpick').onBeforeShow.apply(this, [cal.get(0)]);
236
+ var pos = $(this).offset();
237
+ var top = pos.top + this.offsetHeight;
238
+ var left = pos.left;
239
+ var viewPort = getViewport();
240
+ var calW = cal.width();
241
+ if (left + calW > viewPort.l + viewPort.w) {
242
+ left -= calW;
243
+ }
244
+ cal.css({left: left + 'px', top: top + 'px'});
245
+ if (cal.data('colpick').onShow.apply(this, [cal.get(0)]) != false) {
246
+ cal.show();
247
+ }
248
+ //Hide when user clicks outside
249
+ $('html').mousedown({cal:cal}, hide);
250
+ cal.mousedown(function(ev){ev.stopPropagation();})
251
+ },
252
+ hide = function (ev) {
253
+ if (ev.data.cal.data('colpick').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
254
+ ev.data.cal.hide();
255
+ }
256
+ $('html').off('mousedown', hide);
257
+ },
258
+ getViewport = function () {
259
+ var m = document.compatMode == 'CSS1Compat';
260
+ return {
261
+ l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
262
+ w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth)
263
+ };
264
+ },
265
+ //Fix the values if the user enters a negative or high value
266
+ fixHSB = function (hsb) {
267
+ return {
268
+ h: Math.min(360, Math.max(0, hsb.h)),
269
+ s: Math.min(100, Math.max(0, hsb.s)),
270
+ b: Math.min(100, Math.max(0, hsb.b))
271
+ };
272
+ },
273
+ fixRGB = function (rgb) {
274
+ return {
275
+ r: Math.min(255, Math.max(0, rgb.r)),
276
+ g: Math.min(255, Math.max(0, rgb.g)),
277
+ b: Math.min(255, Math.max(0, rgb.b))
278
+ };
279
+ },
280
+ fixHex = function (hex) {
281
+ var len = 6 - hex.length;
282
+ if (len > 0) {
283
+ var o = [];
284
+ for (var i=0; i<len; i++) {
285
+ o.push('0');
286
+ }
287
+ o.push(hex);
288
+ hex = o.join('');
289
+ }
290
+ return hex;
291
+ },
292
+ restoreOriginal = function () {
293
+ var cal = $(this).parent();
294
+ var col = cal.data('colpick').origColor;
295
+ cal.data('colpick').color = col;
296
+ fillRGBFields(col, cal.get(0));
297
+ fillHexFields(col, cal.get(0));
298
+ fillHSBFields(col, cal.get(0));
299
+ setSelector(col, cal.get(0));
300
+ setHue(col, cal.get(0));
301
+ setNewColor(col, cal.get(0));
302
+ };
303
+ return {
304
+ init: function (opt) {
305
+ opt = $.extend({}, defaults, opt||{});
306
+ //Set color
307
+ if (typeof opt.color == 'string') {
308
+ opt.color = hexToHsb(opt.color);
309
+ } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
310
+ opt.color = rgbToHsb(opt.color);
311
+ } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
312
+ opt.color = fixHSB(opt.color);
313
+ } else {
314
+ return this;
315
+ }
316
+
317
+ //For each selected DOM element
318
+ return this.each(function () {
319
+ //If the element does not have an ID
320
+ if (!$(this).data('colpickId')) {
321
+ var options = $.extend({}, opt);
322
+ options.origColor = opt.color;
323
+ //Generate and assign a random ID
324
+ var id = 'collorpicker_' + parseInt(Math.random() * 1000);
325
+ $(this).data('colpickId', id);
326
+ //Set the tpl's ID and get the HTML
327
+ var cal = $(tpl).attr('id', id);
328
+ //Add class according to layout
329
+ cal.addClass('colpick_'+options.layout+(options.submit?'':' colpick_'+options.layout+'_ns'));
330
+ //Add class if the color scheme is not default
331
+ if(options.colorScheme != 'light') {
332
+ cal.addClass('colpick_'+options.colorScheme);
333
+ }
334
+ //Setup submit button
335
+ cal.find('div.colpick_submit').html(options.submitText).click(clickSubmit);
336
+ //Setup input fields
337
+ options.fields = cal.find('input').change(change).blur(blur).focus(focus);
338
+ cal.find('div.colpick_field_arrs').mousedown(downIncrement).end().find('div.colpick_current_color').click(restoreOriginal);
339
+ //Setup hue selector
340
+ options.selector = cal.find('div.colpick_color').on('mousedown touchstart',downSelector);
341
+ options.selectorIndic = options.selector.find('div.colpick_selector_outer');
342
+ //Store parts of the plugin
343
+ options.el = this;
344
+ options.hue = cal.find('div.colpick_hue_arrs');
345
+ huebar = options.hue.parent();
346
+ //Paint the hue bar
347
+ var UA = navigator.userAgent.toLowerCase();
348
+ var isIE = navigator.appName === 'Microsoft Internet Explorer';
349
+ var IEver = isIE ? parseFloat( UA.match( /msie ([0-9]{1,}[\.0-9]{0,})/ )[1] ) : 0;
350
+ var ngIE = ( isIE && IEver < 10 );
351
+ var stops = ['#ff0000','#ff0080','#ff00ff','#8000ff','#0000ff','#0080ff','#00ffff','#00ff80','#00ff00','#80ff00','#ffff00','#ff8000','#ff0000'];
352
+ if(ngIE) {
353
+ var i, div;
354
+ for(i=0; i<=11; i++) {
355
+ div = $('<div></div>').attr('style','height:8.333333%; filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='+stops[i]+', endColorstr='+stops[i+1]+'); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='+stops[i]+', endColorstr='+stops[i+1]+')";');
356
+ huebar.append(div);
357
+ }
358
+ } else {
359
+ stopList = stops.join(',');
360
+ huebar.attr('style','background:-webkit-linear-gradient(top,'+stopList+'); background: -o-linear-gradient(top,'+stopList+'); background: -ms-linear-gradient(top,'+stopList+'); background:-moz-linear-gradient(top,'+stopList+'); -webkit-linear-gradient(top,'+stopList+'); background:linear-gradient(to bottom,'+stopList+'); ');
361
+ }
362
+ cal.find('div.colpick_hue').on('mousedown touchstart',downHue);
363
+ options.newColor = cal.find('div.colpick_new_color');
364
+ options.currentColor = cal.find('div.colpick_current_color');
365
+ //Store options and fill with default color
366
+ cal.data('colpick', options);
367
+ fillRGBFields(options.color, cal.get(0));
368
+ fillHSBFields(options.color, cal.get(0));
369
+ fillHexFields(options.color, cal.get(0));
370
+ setHue(options.color, cal.get(0));
371
+ setSelector(options.color, cal.get(0));
372
+ setCurrentColor(options.color, cal.get(0));
373
+ setNewColor(options.color, cal.get(0));
374
+ //Append to body if flat=false, else show in place
375
+ if (options.flat) {
376
+ cal.appendTo(this).show();
377
+ cal.css({
378
+ position: 'relative',
379
+ display: 'block'
380
+ });
381
+ } else {
382
+ cal.appendTo(document.body);
383
+ $(this).on(options.showEvent, show);
384
+ cal.css({
385
+ position:'absolute'
386
+ });
387
+ }
388
+ }
389
+ });
390
+ },
391
+ //Shows the picker
392
+ showPicker: function() {
393
+ return this.each( function () {
394
+ if ($(this).data('colpickId')) {
395
+ show.apply(this);
396
+ }
397
+ });
398
+ },
399
+ //Hides the picker
400
+ hidePicker: function() {
401
+ return this.each( function () {
402
+ if ($(this).data('colpickId')) {
403
+ $('#' + $(this).data('colpickId')).hide();
404
+ }
405
+ });
406
+ },
407
+ //Sets a color as new and current (default)
408
+ setColor: function(col, setCurrent) {
409
+ setCurrent = (typeof setCurrent === "undefined") ? 1 : setCurrent;
410
+ if (typeof col == 'string') {
411
+ col = hexToHsb(col);
412
+ } else if (col.r != undefined && col.g != undefined && col.b != undefined) {
413
+ col = rgbToHsb(col);
414
+ } else if (col.h != undefined && col.s != undefined && col.b != undefined) {
415
+ col = fixHSB(col);
416
+ } else {
417
+ return this;
418
+ }
419
+ return this.each(function(){
420
+ if ($(this).data('colpickId')) {
421
+ var cal = $('#' + $(this).data('colpickId'));
422
+ cal.data('colpick').color = col;
423
+ cal.data('colpick').origColor = col;
424
+ fillRGBFields(col, cal.get(0));
425
+ fillHSBFields(col, cal.get(0));
426
+ fillHexFields(col, cal.get(0));
427
+ setHue(col, cal.get(0));
428
+ setSelector(col, cal.get(0));
429
+
430
+ setNewColor(col, cal.get(0));
431
+ cal.data('colpick').onChange.apply(cal.parent(), [col, hsbToHex(col), hsbToRgb(col), cal.data('colpick').el, 1]);
432
+ if(setCurrent) {
433
+ setCurrentColor(col, cal.get(0));
434
+ }
435
+ }
436
+ });
437
+ }
438
+ };
439
+ }();
440
+ //Color space convertions
441
+ var hexToRgb = function (hex) {
442
+ var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);
443
+ return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
444
+ };
445
+ var hexToHsb = function (hex) {
446
+ return rgbToHsb(hexToRgb(hex));
447
+ };
448
+ var rgbToHsb = function (rgb) {
449
+ var hsb = {h: 0, s: 0, b: 0};
450
+ var min = Math.min(rgb.r, rgb.g, rgb.b);
451
+ var max = Math.max(rgb.r, rgb.g, rgb.b);
452
+ var delta = max - min;
453
+ hsb.b = max;
454
+ hsb.s = max != 0 ? 255 * delta / max : 0;
455
+ if (hsb.s != 0) {
456
+ if (rgb.r == max) hsb.h = (rgb.g - rgb.b) / delta;
457
+ else if (rgb.g == max) hsb.h = 2 + (rgb.b - rgb.r) / delta;
458
+ else hsb.h = 4 + (rgb.r - rgb.g) / delta;
459
+ } else hsb.h = -1;
460
+ hsb.h *= 60;
461
+ if (hsb.h < 0) hsb.h += 360;
462
+ hsb.s *= 100/255;
463
+ hsb.b *= 100/255;
464
+ return hsb;
465
+ };
466
+ var hsbToRgb = function (hsb) {
467
+ var rgb = {};
468
+ var h = hsb.h;
469
+ var s = hsb.s*255/100;
470
+ var v = hsb.b*255/100;
471
+ if(s == 0) {
472
+ rgb.r = rgb.g = rgb.b = v;
473
+ } else {
474
+ var t1 = v;
475
+ var t2 = (255-s)*v/255;
476
+ var t3 = (t1-t2)*(h%60)/60;
477
+ if(h==360) h = 0;
478
+ if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3}
479
+ else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3}
480
+ else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3}
481
+ else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3}
482
+ else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3}
483
+ else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3}
484
+ else {rgb.r=0; rgb.g=0; rgb.b=0}
485
+ }
486
+ return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
487
+ };
488
+ var rgbToHex = function (rgb) {
489
+ var hex = [
490
+ rgb.r.toString(16),
491
+ rgb.g.toString(16),
492
+ rgb.b.toString(16)
493
+ ];
494
+ $.each(hex, function (nr, val) {
495
+ if (val.length == 1) {
496
+ hex[nr] = '0' + val;
497
+ }
498
+ });
499
+ return hex.join('');
500
+ };
501
+ var hsbToHex = function (hsb) {
502
+ return rgbToHex(hsbToRgb(hsb));
503
+ };
504
+ $.fn.extend({
505
+ colpick: colpick.init,
506
+ colpickHide: colpick.hidePicker,
507
+ colpickShow: colpick.showPicker,
508
+ colpickSetColor: colpick.setColor
509
+ });
510
+ $.extend({
511
+ colpick:{
512
+ rgbToHex: rgbToHex,
513
+ rgbToHsb: rgbToHsb,
514
+ hsbToHex: hsbToHex,
515
+ hsbToRgb: hsbToRgb,
516
+ hexToHsb: hexToHsb,
517
+ hexToRgb: hexToRgb
518
+ }
519
+ });
520
+ })(jQuery);
js/ssba_switch.js ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* ========================================================================
2
+ * bootstrap-switch - v3.3.2
3
+ * http://www.bootstrap-switch.org
4
+ * ========================================================================
5
+ * Copyright 2012-2013 Mattia Larentis
6
+ *
7
+ * ========================================================================
8
+ * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * you may not use this file except in compliance with the License.
10
+ * You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * See the License for the specific language governing permissions and
18
+ * limitations under the License.
19
+ * ========================================================================
20
+ */
21
+
22
+ (function(){var t=[].slice;!function(e,i){"use strict";var n;return n=function(){function t(t,i){null==i&&(i={}),this.$element=e(t),this.options=e.extend({},e.fn.bootstrapSwitch.defaults,{state:this.$element.is(":checked"),size:this.$element.data("size"),animate:this.$element.data("animate"),disabled:this.$element.is(":disabled"),readonly:this.$element.is("[readonly]"),indeterminate:this.$element.data("indeterminate"),inverse:this.$element.data("inverse"),radioAllOff:this.$element.data("radio-all-off"),onColor:this.$element.data("on-color"),offColor:this.$element.data("off-color"),onText:this.$element.data("on-text"),offText:this.$element.data("off-text"),labelText:this.$element.data("label-text"),handleWidth:this.$element.data("handle-width"),labelWidth:this.$element.data("label-width"),baseClass:this.$element.data("base-class"),wrapperClass:this.$element.data("wrapper-class")},i),this.$wrapper=e("<div>",{"class":function(t){return function(){var e;return e=[""+t.options.baseClass].concat(t._getClasses(t.options.wrapperClass)),e.push(t.options.state?""+t.options.baseClass+"-on":""+t.options.baseClass+"-off"),null!=t.options.size&&e.push(""+t.options.baseClass+"-"+t.options.size),t.options.disabled&&e.push(""+t.options.baseClass+"-disabled"),t.options.readonly&&e.push(""+t.options.baseClass+"-readonly"),t.options.indeterminate&&e.push(""+t.options.baseClass+"-indeterminate"),t.options.inverse&&e.push(""+t.options.baseClass+"-inverse"),t.$element.attr("id")&&e.push(""+t.options.baseClass+"-id-"+t.$element.attr("id")),e.join(" ")}}(this)()}),this.$container=e("<div>",{"class":""+this.options.baseClass+"-container"}),this.$on=e("<span>",{html:this.options.onText,"class":""+this.options.baseClass+"-handle-on "+this.options.baseClass+"-"+this.options.onColor}),this.$off=e("<span>",{html:this.options.offText,"class":""+this.options.baseClass+"-handle-off "+this.options.baseClass+"-"+this.options.offColor}),this.$label=e("<span>",{html:this.options.labelText,"class":""+this.options.baseClass+"-label"}),this.$element.on("init.bootstrapSwitch",function(e){return function(){return e.options.onInit.apply(t,arguments)}}(this)),this.$element.on("switchChange.bootstrapSwitch",function(e){return function(){return e.options.onSwitchChange.apply(t,arguments)}}(this)),this.$container=this.$element.wrap(this.$container).parent(),this.$wrapper=this.$container.wrap(this.$wrapper).parent(),this.$element.before(this.options.inverse?this.$off:this.$on).before(this.$label).before(this.options.inverse?this.$on:this.$off),this.options.indeterminate&&this.$element.prop("indeterminate",!0),this._init(),this._elementHandlers(),this._handleHandlers(),this._labelHandlers(),this._formHandler(),this._externalLabelHandler(),this.$element.trigger("init.bootstrapSwitch")}return t.prototype._constructor=t,t.prototype.state=function(t,e){return"undefined"==typeof t?this.options.state:this.options.disabled||this.options.readonly?this.$element:this.options.state&&!this.options.radioAllOff&&this.$element.is(":radio")?this.$element:(this.options.indeterminate&&this.indeterminate(!1),t=!!t,this.$element.prop("checked",t).trigger("change.bootstrapSwitch",e),this.$element)},t.prototype.toggleState=function(t){return this.options.disabled||this.options.readonly?this.$element:this.options.indeterminate?(this.indeterminate(!1),this.state(!0)):this.$element.prop("checked",!this.options.state).trigger("change.bootstrapSwitch",t)},t.prototype.size=function(t){return"undefined"==typeof t?this.options.size:(null!=this.options.size&&this.$wrapper.removeClass(""+this.options.baseClass+"-"+this.options.size),t&&this.$wrapper.addClass(""+this.options.baseClass+"-"+t),this._width(),this._containerPosition(),this.options.size=t,this.$element)},t.prototype.animate=function(t){return"undefined"==typeof t?this.options.animate:(t=!!t,t===this.options.animate?this.$element:this.toggleAnimate())},t.prototype.toggleAnimate=function(){return this.options.animate=!this.options.animate,this.$wrapper.toggleClass(""+this.options.baseClass+"-animate"),this.$element},t.prototype.disabled=function(t){return"undefined"==typeof t?this.options.disabled:(t=!!t,t===this.options.disabled?this.$element:this.toggleDisabled())},t.prototype.toggleDisabled=function(){return this.options.disabled=!this.options.disabled,this.$element.prop("disabled",this.options.disabled),this.$wrapper.toggleClass(""+this.options.baseClass+"-disabled"),this.$element},t.prototype.readonly=function(t){return"undefined"==typeof t?this.options.readonly:(t=!!t,t===this.options.readonly?this.$element:this.toggleReadonly())},t.prototype.toggleReadonly=function(){return this.options.readonly=!this.options.readonly,this.$element.prop("readonly",this.options.readonly),this.$wrapper.toggleClass(""+this.options.baseClass+"-readonly"),this.$element},t.prototype.indeterminate=function(t){return"undefined"==typeof t?this.options.indeterminate:(t=!!t,t===this.options.indeterminate?this.$element:this.toggleIndeterminate())},t.prototype.toggleIndeterminate=function(){return this.options.indeterminate=!this.options.indeterminate,this.$element.prop("indeterminate",this.options.indeterminate),this.$wrapper.toggleClass(""+this.options.baseClass+"-indeterminate"),this._containerPosition(),this.$element},t.prototype.inverse=function(t){return"undefined"==typeof t?this.options.inverse:(t=!!t,t===this.options.inverse?this.$element:this.toggleInverse())},t.prototype.toggleInverse=function(){var t,e;return this.$wrapper.toggleClass(""+this.options.baseClass+"-inverse"),e=this.$on.clone(!0),t=this.$off.clone(!0),this.$on.replaceWith(t),this.$off.replaceWith(e),this.$on=t,this.$off=e,this.options.inverse=!this.options.inverse,this.$element},t.prototype.onColor=function(t){var e;return e=this.options.onColor,"undefined"==typeof t?e:(null!=e&&this.$on.removeClass(""+this.options.baseClass+"-"+e),this.$on.addClass(""+this.options.baseClass+"-"+t),this.options.onColor=t,this.$element)},t.prototype.offColor=function(t){var e;return e=this.options.offColor,"undefined"==typeof t?e:(null!=e&&this.$off.removeClass(""+this.options.baseClass+"-"+e),this.$off.addClass(""+this.options.baseClass+"-"+t),this.options.offColor=t,this.$element)},t.prototype.onText=function(t){return"undefined"==typeof t?this.options.onText:(this.$on.html(t),this._width(),this._containerPosition(),this.options.onText=t,this.$element)},t.prototype.offText=function(t){return"undefined"==typeof t?this.options.offText:(this.$off.html(t),this._width(),this._containerPosition(),this.options.offText=t,this.$element)},t.prototype.labelText=function(t){return"undefined"==typeof t?this.options.labelText:(this.$label.html(t),this._width(),this.options.labelText=t,this.$element)},t.prototype.handleWidth=function(t){return"undefined"==typeof t?this.options.handleWidth:(this.options.handleWidth=t,this._width(),this._containerPosition(),this.$element)},t.prototype.labelWidth=function(t){return"undefined"==typeof t?this.options.labelWidth:(this.options.labelWidth=t,this._width(),this._containerPosition(),this.$element)},t.prototype.baseClass=function(){return this.options.baseClass},t.prototype.wrapperClass=function(t){return"undefined"==typeof t?this.options.wrapperClass:(t||(t=e.fn.bootstrapSwitch.defaults.wrapperClass),this.$wrapper.removeClass(this._getClasses(this.options.wrapperClass).join(" ")),this.$wrapper.addClass(this._getClasses(t).join(" ")),this.options.wrapperClass=t,this.$element)},t.prototype.radioAllOff=function(t){return"undefined"==typeof t?this.options.radioAllOff:(t=!!t,t===this.options.radioAllOff?this.$element:(this.options.radioAllOff=t,this.$element))},t.prototype.onInit=function(t){return"undefined"==typeof t?this.options.onInit:(t||(t=e.fn.bootstrapSwitch.defaults.onInit),this.options.onInit=t,this.$element)},t.prototype.onSwitchChange=function(t){return"undefined"==typeof t?this.options.onSwitchChange:(t||(t=e.fn.bootstrapSwitch.defaults.onSwitchChange),this.options.onSwitchChange=t,this.$element)},t.prototype.destroy=function(){var t;return t=this.$element.closest("form"),t.length&&t.off("reset.bootstrapSwitch").removeData("bootstrap-switch"),this.$container.children().not(this.$element).remove(),this.$element.unwrap().unwrap().off(".bootstrapSwitch").removeData("bootstrap-switch"),this.$element},t.prototype._width=function(){var t,e;return t=this.$on.add(this.$off),t.add(this.$label).css("width",""),e="auto"===this.options.handleWidth?Math.max(this.$on.width(),this.$off.width()):this.options.handleWidth,t.width(e),this.$label.width(function(t){return function(i,n){return"auto"!==t.options.labelWidth?t.options.labelWidth:e>n?e:n}}(this)),this._handleWidth=this.$on.outerWidth(),this._labelWidth=this.$label.outerWidth(),this.$container.width(2*this._handleWidth+this._labelWidth),this.$wrapper.width(this._handleWidth+this._labelWidth)},t.prototype._containerPosition=function(t,e){return null==t&&(t=this.options.state),this.$container.css("margin-left",function(e){return function(){var i;return i=[0,"-"+e._handleWidth+"px"],e.options.indeterminate?"-"+e._handleWidth/2+"px":t?e.options.inverse?i[1]:i[0]:e.options.inverse?i[0]:i[1]}}(this)),e?setTimeout(function(){return e()},50):void 0},t.prototype._init=function(){var t,e;return t=function(t){return function(){return t._width(),t._containerPosition(null,function(){return t.options.animate?t.$wrapper.addClass(""+t.options.baseClass+"-animate"):void 0})}}(this),this.$wrapper.is(":visible")?t():e=i.setInterval(function(n){return function(){return n.$wrapper.is(":visible")?(t(),i.clearInterval(e)):void 0}}(this),50)},t.prototype._elementHandlers=function(){return this.$element.on({"change.bootstrapSwitch":function(t){return function(i,n){var o;return i.preventDefault(),i.stopImmediatePropagation(),o=t.$element.is(":checked"),t._containerPosition(o),o!==t.options.state?(t.options.state=o,t.$wrapper.toggleClass(""+t.options.baseClass+"-off").toggleClass(""+t.options.baseClass+"-on"),n?void 0:(t.$element.is(":radio")&&e("[name='"+t.$element.attr("name")+"']").not(t.$element).prop("checked",!1).trigger("change.bootstrapSwitch",!0),t.$element.trigger("switchChange.bootstrapSwitch",[o]))):void 0}}(this),"focus.bootstrapSwitch":function(t){return function(e){return e.preventDefault(),t.$wrapper.addClass(""+t.options.baseClass+"-focused")}}(this),"blur.bootstrapSwitch":function(t){return function(e){return e.preventDefault(),t.$wrapper.removeClass(""+t.options.baseClass+"-focused")}}(this),"keydown.bootstrapSwitch":function(t){return function(e){if(e.which&&!t.options.disabled&&!t.options.readonly)switch(e.which){case 37:return e.preventDefault(),e.stopImmediatePropagation(),t.state(!1);case 39:return e.preventDefault(),e.stopImmediatePropagation(),t.state(!0)}}}(this)})},t.prototype._handleHandlers=function(){return this.$on.on("click.bootstrapSwitch",function(t){return function(e){return e.preventDefault(),e.stopPropagation(),t.state(!1),t.$element.trigger("focus.bootstrapSwitch")}}(this)),this.$off.on("click.bootstrapSwitch",function(t){return function(e){return e.preventDefault(),e.stopPropagation(),t.state(!0),t.$element.trigger("focus.bootstrapSwitch")}}(this))},t.prototype._labelHandlers=function(){return this.$label.on({"mousedown.bootstrapSwitch touchstart.bootstrapSwitch":function(t){return function(e){return t._dragStart||t.options.disabled||t.options.readonly?void 0:(e.preventDefault(),e.stopPropagation(),t._dragStart=(e.pageX||e.originalEvent.touches[0].pageX)-parseInt(t.$container.css("margin-left"),10),t.options.animate&&t.$wrapper.removeClass(""+t.options.baseClass+"-animate"),t.$element.trigger("focus.bootstrapSwitch"))}}(this),"mousemove.bootstrapSwitch touchmove.bootstrapSwitch":function(t){return function(e){var i;if(null!=t._dragStart&&(e.preventDefault(),i=(e.pageX||e.originalEvent.touches[0].pageX)-t._dragStart,!(i<-t._handleWidth||i>0)))return t._dragEnd=i,t.$container.css("margin-left",""+t._dragEnd+"px")}}(this),"mouseup.bootstrapSwitch touchend.bootstrapSwitch":function(t){return function(e){var i;if(t._dragStart)return e.preventDefault(),t.options.animate&&t.$wrapper.addClass(""+t.options.baseClass+"-animate"),t._dragEnd?(i=t._dragEnd>-(t._handleWidth/2),t._dragEnd=!1,t.state(t.options.inverse?!i:i)):t.state(!t.options.state),t._dragStart=!1}}(this),"mouseleave.bootstrapSwitch":function(t){return function(){return t.$label.trigger("mouseup.bootstrapSwitch")}}(this)})},t.prototype._externalLabelHandler=function(){var t;return t=this.$element.closest("label"),t.on("click",function(e){return function(i){return i.preventDefault(),i.stopImmediatePropagation(),i.target===t[0]?e.toggleState():void 0}}(this))},t.prototype._formHandler=function(){var t;return t=this.$element.closest("form"),t.data("bootstrap-switch")?void 0:t.on("reset.bootstrapSwitch",function(){return i.setTimeout(function(){return t.find("input").filter(function(){return e(this).data("bootstrap-switch")}).each(function(){return e(this).bootstrapSwitch("state",this.checked)})},1)}).data("bootstrap-switch",!0)},t.prototype._getClasses=function(t){var i,n,o,s;if(!e.isArray(t))return[""+this.options.baseClass+"-"+t];for(n=[],o=0,s=t.length;s>o;o++)i=t[o],n.push(""+this.options.baseClass+"-"+i);return n},t}(),e.fn.bootstrapSwitch=function(){var i,o,s;return o=arguments[0],i=2<=arguments.length?t.call(arguments,1):[],s=this,this.each(function(){var t,a;return t=e(this),a=t.data("bootstrap-switch"),a||t.data("bootstrap-switch",a=new n(this,o)),"string"==typeof o?s=a[o].apply(a,i):void 0}),s},e.fn.bootstrapSwitch.Constructor=n,e.fn.bootstrapSwitch.defaults={state:!0,size:null,animate:!0,disabled:!1,readonly:!1,indeterminate:!1,inverse:!1,radioAllOff:!1,onColor:"primary",offColor:"default",onText:"ON",offText:"OFF",labelText:"&nbsp;",handleWidth:"auto",labelWidth:"auto",baseClass:"bootstrap-switch",wrapperClass:"wrapper",onInit:function(){},onSwitchChange:function(){}}}(window.jQuery,window)}).call(this);
js/ssbp_admin.js ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function() {
2
+
3
+ // switch for checkboxes
4
+ jQuery(".ssbp-admin-wrap input:checkbox:not('.ssbp-post-type')").bootstrapSwitch({
5
+ onColor: 'primary',
6
+ size: 'normal'
7
+ });
8
+
9
+ // switch for post type checkboxes
10
+ jQuery("input.ssbp-post-type").bootstrapSwitch({
11
+ onColor: 'default',
12
+ onText: 'OFF',
13
+ offColor: 'primary',
14
+ offText: 'ON',
15
+ inverse: true,
16
+ size: 'normal'
17
+ });
18
+
19
+ jQuery('[data-toggle="tooltip"]').tooltip();
20
+
21
+ // simple file input
22
+ jQuery(".filestyle").filestyle({icon: false});
23
+
24
+ jQuery('.ssbp-updated').fadeIn('fast');
25
+ jQuery('.ssbp-updated').delay(1000).fadeOut('slow');
26
+
27
+ //------- INCLUDE LIST ----------//
28
+
29
+ // add drag and sort functions to include table
30
+ jQuery(function() {
31
+ jQuery( "#ssbpsort1, #ssbpsort2" ).sortable({
32
+ connectWith: ".ssbpSortable"
33
+ }).disableSelection();
34
+ });
35
+
36
+
37
+ // extract and add include list to hidden field
38
+ jQuery('#ssbp_selected_buttons').val(jQuery('#ssbpsort2 li').map(function() {
39
+ // For each <li> in the list, return its inner text and let .map()
40
+ // build an array of those values.
41
+ return jQuery(this).attr('id');
42
+ }).get());
43
+
44
+ // after a change, extract and add include list to hidden field
45
+ jQuery('.ssbp-include-list').mouseout(function() {
46
+ jQuery('#selected_buttons').val(jQuery('#ssbpsort2 li').map(function() {
47
+ // For each <li> in the list, return its inner text and let .map()
48
+ // build an array of those values.
49
+ return jQuery(this).attr('id');
50
+ }).get());
51
+ });
52
+
53
+ // when support details textarea is clicked
54
+ jQuery('#ssbp-support-textarea,.support-details-btn').click(function(){
55
+ // select text in support details textarea
56
+ document.getElementById("ssbp-support-textarea").select();
57
+ });
58
+
59
+ jQuery("#ssb-official-import").click(function(){
60
+ if(confirm("Are you sure? All your current settings will be overwritten!")) {
61
+ return true;
62
+ }
63
+ return false;
64
+ });
65
+
66
+ // ----- IMAGE UPLOADS ------ //
67
+ var file_frame;
68
+
69
+ jQuery('.customUpload').click(function(event){
70
+
71
+ event.preventDefault();
72
+
73
+ // set the field ID we shall add the img url to
74
+ var strInputID = jQuery(this).data('ssbp-input');
75
+
76
+ // Create the media frame.
77
+ file_frame = wp.media.frames.file_frame = wp.media({
78
+ multiple: false // Set to true to allow multiple files to be selected
79
+ });
80
+
81
+ // When an image is selected, run a callback.
82
+ file_frame.on( 'select', function() {
83
+ // We set multiple to false so only get one image from the uploader
84
+ var attachment = file_frame.state().get('selection').first().toJSON();
85
+ jQuery('#' + strInputID).val(attachment['url']);
86
+ });
87
+
88
+ // Finally, open the modal
89
+ file_frame.open();
90
+ });
91
+
92
+ // select ortsh url upon clicking the text input
93
+ jQuery(".ssbp-ortsh-input-url").on("click", function () {
94
+ jQuery(this).select();
95
+ });
96
+
97
+ //---------------------------------------------------------------------------------------//
98
+ //
99
+ // SSBP ADMIN FORM
100
+ //
101
+ jQuery( "#ssbp-admin-form:not('.ssbp-form-non-ajax')" ).on( 'submit', function(e) {
102
+
103
+ // don't submit the form
104
+ e.preventDefault();
105
+
106
+ // show spinner to show save in progress
107
+ jQuery("button.ssbp-btn-save").html('<i class="fa fa-spinner fa-spin"></i>');
108
+
109
+ // get posted data and serialise
110
+ var ssbpData = jQuery("#ssbp-admin-form").serialize();
111
+
112
+ // disable all inputs
113
+ jQuery(':input').prop('disabled', true);
114
+ jQuery(".ssbp-admin-wrap input:checkbox").bootstrapSwitch('disabled', true);
115
+
116
+
117
+ jQuery.post(
118
+ jQuery( this ).prop( 'action' ),
119
+ {
120
+ ssbpData: ssbpData
121
+ },
122
+ function() {
123
+
124
+ // show success
125
+ jQuery('button.ssbp-btn-save-success').fadeIn(100).delay(2500).fadeOut(200);
126
+
127
+ // re-enable inputs and reset save button
128
+ jQuery(':input').prop('disabled', false);
129
+ jQuery(".ssbp-admin-wrap input:checkbox").bootstrapSwitch('disabled', false);
130
+ jQuery("button.ssbp-btn-save").html('<i class="fa fa-floppy-o"></i>');
131
+ }
132
+ ); // end post
133
+ } ); // end form submit
134
+
135
+ });
readme.txt ADDED
@@ -0,0 +1,389 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Simple Share Buttons Adder ===
2
+ Contributors: DavidoffNeal
3
+ Tags: share buttons, facebook, twitter, google+, share, share links, stumble upon, linkedin, pinterest, yummly, vk
4
+ Requires at least: 3.9
5
+ Tested up to: 4.7
6
+ Stable tag: 6.3.5
7
+ License: GPLv2
8
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
+
10
+ A simple plugin that enables you to add share buttons to all of your posts and/or pages.
11
+
12
+ == Description ==
13
+
14
+ The Simple Share Buttons Adder does exactly what it says on the tin – adds share buttons to all of your posts and pages, simply.
15
+
16
+ This plugin has a dedicated website! Check out <a href="https://simplesharebuttons.com" target="_blank">simplesharebuttons.com</a>
17
+
18
+ Looking for even more? <a href="https://simplesharebuttons.com/plus/" target="_blank">Checkout the Plus version</a>!
19
+
20
+ You can even upload and use your own custom images if you wish!
21
+
22
+ Visit <a href="http://make.simplesharebuttons.com" target="_blank">make.simplesharebuttons.com</a> to make your own custom-coloured share buttons!
23
+
24
+ The Simple Share Buttons Adder utilises features that, as a WordPress user, you will be familiar with. A self-explanatory administration screen will have you showing your Share Buttons on your posts and pages in no time!
25
+
26
+ By downloading and installing this plugin you are agreeing to the <a href="https://simplesharebuttons.com/privacy/" target="_blank">Privacy Policy</a> and <a href="https://simplesharebuttons.com/privacy/" target="_blank">Terms of Service</a>.
27
+
28
+
29
+ == Installation ==
30
+
31
+ For full configuration instructions<a href="http://simplesharebuttons.com/wordpress/wordpress-configuration/" target="_blank"> visit this page</a>
32
+
33
+ Visit <a href="http://make.simplesharebuttons.com" target="_blank">make.simplesharebuttons.com</a> to make your own custom-coloured share buttons!
34
+
35
+ 1. Upload the 'simple-share-buttons-adder' folder to the `/wp-content/plugins/` directory
36
+ 2. Activate the plugin through the 'Plugins' menu in WordPress
37
+ 3. Navigate to the SSBA Admin Panel via ‘Plugins’ -> ‘Share Buttons’ to change the settings as desired.
38
+ 4. Follow the instructions on <a href="http://simplesharebuttons.com/wordpress/wordpress-configuration/" target="_blank">this page</a> to customise your buttons to your liking.
39
+ 5. Watch <a href="http://www.youtube.com/watch?v=p03B4C3QMzs" target="_blank">this video</a> to learn how to configure your buttons if you prefer.
40
+ 6. Watch <a href="https://www.youtube.com/watch?v=dkte9uu2o0M" target="_blank">this video</a> to see how you can upload and use your own custom images.
41
+
42
+
43
+ == Frequently Asked Questions ==
44
+
45
+ This plugin has a dedicated website! Check out the <a href="http://simplesharebuttons.com/wordpress-faq/" target="_blank"> FAQs page</a>
46
+
47
+ Visit <a href="http://make.simplesharebuttons.com" target="_blank">make.simplesharebuttons.com</a> to make your own custom-coloured share buttons!
48
+
49
+ Please visit the <a href="http://simplesharebuttons.com/forums/forum/wordpress-forum/">WordPress Support Forum</a> for any assistance you may need.
50
+
51
+ A step by step guide on how to configure this plugin can be found <a href="http://simplesharebuttons.com/wordpress/wordpress-configuration/">here</a>.
52
+
53
+ == Screenshots ==
54
+
55
+ 1. The core settings tab - where you can choose where you want your buttons and which networks to include
56
+ 2. The styling settings tab - where you can pick an image set and resize your buttons and share text
57
+ 3. The counters settings tab - where you can enable share counts
58
+ 4. The advanced settings tab - where you can apply more advanced features
59
+ 5. The additional CSS field - where you can add your own CSS
60
+ 6. The custom CSS field - where you can use your own CSS
61
+ 7. This is an example of a set of Share Buttons you can add using Simple Share Buttons Adder
62
+ 8. This is an example of a set of Share Buttons you can add using Simple Share Buttons Adder
63
+
64
+ == Changelog ==
65
+
66
+ = 6.3.5 =
67
+ * Enable declining of Terms of Service
68
+
69
+ = 6.3.4 =
70
+ * Fixes for FB open graph tags (so it doesn't add extra text)
71
+ * W3C code validation (thanks @olga22)
72
+ * Other bug fixes
73
+
74
+ = 6.3.3 =
75
+ * Fixes for old versions of PHP
76
+
77
+ = 6.3.2 =
78
+ * Minor bug fixes
79
+
80
+ = 6.3.1 =
81
+ * Added a caching layer on top of Facebook's API to ensure fallback share counts.
82
+
83
+ = 6.3 =
84
+ * Facebook share counts are back! We implemented a solution to Facebook’s deprecated API.
85
+ * Added the ability to close the update notice when updating from old plugin versions. You will still need to accept the new terms to receive the new features, however you can now more easily choose to continue using the old version.
86
+
87
+ = 6.2.4 =
88
+ * Fixes the Facebook page widget style bug.
89
+
90
+ = 6.2.3 =
91
+ * Fixes an issue with the Facebook like widget.
92
+
93
+ = 6.2.2 =
94
+ * Improves performance over previous two plugin updates.
95
+
96
+ = 6.2.1 =
97
+ * Fix bug affecting older versions of PHP that didn’t allow people to close the notice.
98
+
99
+ = 6.2.0 =
100
+ * Feature: Add Facebook Save button
101
+ * Feature: Add Facebook insights
102
+ * Feature: Add Facebook iframe sharing
103
+
104
+ = 6.1.5 =
105
+ * Feature: Add newsharecounts.com option and functionality to show Twitter share counts again
106
+
107
+ = 6.1.4 =
108
+ * Tweak: PHP notice
109
+
110
+ = 6.1.3 =
111
+ * Add sharedcount.com API functionality for Facebook share counts
112
+
113
+ = 6.1.2 =
114
+ * Reluctantly remove the twitter share count - https://blog.twitter.com/2015/hard-decisions-for-a-sustainable-platform
115
+
116
+ = 6.1.1 =
117
+ * Fix: Custom images save fixed
118
+
119
+ = 6.1.0 =
120
+ * Feature: Add Yummly share counts
121
+ * Feature: Add Tumblr share counts
122
+ * Update: New Google+ branded buttons
123
+ * Update: Use JSON array in a single database entry to store all core settings
124
+ * Tweak: Add title attributes to the buttons on the network select option to assist recognition of each network
125
+ * Tweak: Remove PHP notice
126
+
127
+ = 6.0.5 =
128
+ * Fix: Re-include http/https for URL being shared to Tumblr (404 error)
129
+
130
+ = 6.0.4 =
131
+ * Feature: Add popup-window feature when sharing
132
+ * Feature: Add number formatting (e.g. 3,563 = 3.5k)
133
+ * Tweak: Improve Facebook count reliability
134
+ * Remove link border by default in CSS
135
+
136
+ = 6.0.3 =
137
+ * Tweak: Add RTL compatibility to the admin pages by moving the save button to the left
138
+ * Fix: Remove all tags added to page/post titles by other plugins to maintain share buttons as required
139
+ * Fix: Allow buttons to be removed if all share buttons have been added
140
+
141
+ = 6.0.2 =
142
+ * Tweak: Add 'multisite' attribute option to [ssba] shortcode to (by default) fallback to the previous ssba_current_url function
143
+
144
+ = 6.0.1 =
145
+ * Tweak: Add more specific classes for better targeting
146
+ * Fix: Improve XSS fix from 6.0.0
147
+
148
+ = 6.0.0 =
149
+ * Feature: New admin panel styling
150
+ * Feature: Add additional CSS field
151
+ * Tweak: Amend ssba_current_url for multisite compatibility https://wordpress.org/support/topic/multi-site-compatibility
152
+ * Tweak: Update share count calls to use the WP API instead of file_get_contents
153
+ * Tweak: Split codebase into separate files for easier maintenance
154
+ * Tweak: Replace ampersands with %26 for page/post titles for email links
155
+ * Fix: Remove non-object notice
156
+ * Fix: Small XSS bug
157
+
158
+ = 5.6 =
159
+ * Fix: Remove various PHP notices
160
+ * Tweak: Correct LinkedIn title from Linkedin
161
+ * Tweak: Fix validation error with StumbleUpon link
162
+ * Tweak: Use lowercase 'body' and 'subject' in mailto links
163
+ * Update: Update 'Tested up to' tag to 4.1.1
164
+ * Update: Rebranded settings page
165
+
166
+ = 5.5 =
167
+ * Tweak: Revert to old Pinterest functionality by default
168
+ * Update: Add option to use featured images when 'pinning' if desired
169
+
170
+ = 5.4 =
171
+ * Fix: Use full featured image for Pinterest
172
+
173
+ = 5.3 =
174
+ * Tweak: Use full featured image instead of thumbnail
175
+
176
+ = 5.2 =
177
+ * Feature: Use a post's featured image when 'pinning'
178
+ * Feature: Add a default Pinterest image (advanced tab)
179
+
180
+ = 5.1 =
181
+ * Tweak: Button images approved by Yummly
182
+ * Update: Compatible up to tag 4.1
183
+
184
+ = 5.0 =
185
+ * Feature: Add Yummly button!
186
+ * Feature: Add VK button!
187
+ * Update: Compatible up to tag 4.0.1
188
+ * Fix: Undefined ssba_excerpts notice
189
+
190
+ = 4.8 =
191
+ * Fix: Undefined ssba_excerpts
192
+ * Update: Compatible up to tag 4.0
193
+
194
+ = 4.7 =
195
+ * Fix issue with download pages
196
+ * New branding
197
+
198
+ = 4.6 =
199
+ * Fix notice regarding ssba_excerpts
200
+
201
+ = 4.5 =
202
+ * Hotfix for potential vulnerability
203
+
204
+ = 4.4 =
205
+ * Tidy up author info and add link to Simple Share Buttons Plus
206
+ * Tidy up author info and add link to Simple Share Buttons Plus
207
+ * New option in settings to only show buttons with excerpts if wanted
208
+ * Port number not added if present
209
+ * Page title pulled more accurately and efficiently, most noticed by those using twitter and/or with shortcode
210
+
211
+ = 4.3 =
212
+ * Improved homepage detection
213
+ * Commas added for share counts in the thousands
214
+ * Images losslessly compressed for improved loadtime
215
+ * Pinterest and font fix for HTTPS
216
+ * Image src attribute moved to the start of all image tags, for improved validation
217
+
218
+ = 4.2 =
219
+ * Fix for those having trouble, error for centered buttons only
220
+
221
+ = 4.1 =
222
+ * Add missing closing div causing trouble
223
+
224
+ = 4.0 =
225
+ * I was hoping 4.0 would be really exciting, but there were a few things to fix for you guys :)
226
+ * Align-right option added!
227
+ * Center option fixed
228
+ * booShowShareCount notice removed
229
+ * Settings page CSS updated to fit more nicely
230
+
231
+ = 3.9 =
232
+ * A temporary fix for including CSS when using shortcode only
233
+
234
+ = 3.8 =
235
+ * A serious cleanup of previous small wanrings/notices
236
+ * CSS now only shows when it is required (thanks goes out to https://github.com/emilyljohnson)
237
+ * Add rel="nofollow" option added
238
+ * Add different text for the widget area if you wish
239
+ * Flattr bug fix, and title added (thanks to https://github.com/Sena for that)
240
+ * Remove 'tooltip' style hover to share text link
241
+ * Fix more validation errors, please check any custom CSS you may have applied to links with IDs
242
+ * WHAT'S NEXT?? Well providing all goes well with this release, it shall include responsive icon buttons!!
243
+
244
+ = 3.7 =
245
+ * Error reporting on if WP_DEBUG is set to true
246
+ * Share text no longer links to simplesharebuttons.com by default
247
+ * There will more improvements for 3.8, this version is a requirement from WordPress
248
+
249
+ = 3.6 =
250
+ * Errors removed, too many thousands of different possible server configurations out there!
251
+ * Custom Print button upload option added.
252
+
253
+ = 3.5 =
254
+ * Due to an extremely generous donation, a Print button has been added!
255
+ * Changed div from an ID to a class. Please note if your CSS points to #ssba, you must update this to .ssba
256
+ * Removed extra a couple of extra double quotes
257
+ * Improved/more descriptive 'alt' tags for the visually-impaired
258
+ * Improved code for placement checking
259
+ * Error reporting switched back on for developers trying to debug their code. If you have any errors displayed, please report them. Then temporarily hide by removing the two double slashes on line 24 of simple-share-buttons-adder.php - //error_reporting(0);
260
+ * Obsolete 'center' tags relaced with a div styled with text-align:center
261
+ * Whitespace of email sharing option fixed with %20
262
+ * & replaced with &amp; to fix validation errors
263
+
264
+ = 3.4 =
265
+ * An attempted fix for a reported broken Pinterest count, massive thanks to http://wordpress.org/support/profile/crookedmicks for taking the time to find this and let us know
266
+ * Sadly I have far less time than I used to have in order to maintain this plugin. I have now uploaded the source to GitHub so please use this to suggest any fixes/improvements! https://github.com/davidsneal/simplesharebuttons
267
+
268
+ = 3.3 =
269
+ * You can now make your own custom-coloured share icons here for free - http://make.simplesharebuttons.com/ !!
270
+ * Many apologies for the lack of support recently, I shall try to get better!
271
+
272
+ = 3.2 =
273
+ * Tweet text reordered to read: Page Title, Custom Twitter Text, URL
274
+ * Improved URL encoding for sharing by twitter
275
+
276
+ = 3.1 =
277
+ * Titles and twitter text issues resolved for those experiencing problems with certain characters
278
+
279
+ = 3.0 =
280
+ * CSS scripts now loaded within the HEAD tag!
281
+ * Improved loadtime!
282
+ * Note that the URL functionality has been temporarily removed, pending it's improvement.
283
+ * Fixes a clash with a function name from another plugin
284
+
285
+ = 2.9 =
286
+ * Fixes a clash of a function name with other plugins.
287
+ * Fixes blank URL for Twitter when Bit.ly limit is exceeded.
288
+
289
+ = 2.8 =
290
+ * Now you can use the widget option to add your share buttons!
291
+ * Links shared by twitter are now shortened using bit.ly!
292
+ * [ssba_hide] shortcode is greatly improved! The buttons used to just be hidden, now they aren't created at all!
293
+
294
+ = 2.7 =
295
+ * Author bio moved with new ways to show your support!
296
+ * Slightly improved admin panel, resizing of fields.
297
+
298
+ = 2.6 =
299
+ * Tumblr button added!
300
+ * You can now order your own custom-colour share buttons!! http://simplesharebuttons.com/custom-share-buttons/
301
+
302
+ = 2.5 =
303
+ * Further Twitter customisation for Twitter under 'Advanced' options!
304
+ * Buffer and Flattr buttons added! (share counts still to come!)
305
+ * Flattr requires you to enter your user ID under the advanced tab, you must also submit pages/posts here http://flattr.com/submit
306
+ * You can now set a specified URL and Title when using shortcode - [ssba url="http://simplesharebuttons.com" title="Simple Share Buttons"]!
307
+ * When doing the above, both a title and url must be specified.
308
+ * 'Default' image set has been removed! If you are currently using this image set, it will be replaced with 'Somacro'!
309
+ * Only relevant fonts are loaded if specified.
310
+
311
+ = 2.4 =
312
+ * The one people have been waiting for!
313
+ * Choose to display a share count with the buttons! (all except Digg sorry!)
314
+ * Checkout the new 'Counters' tab in the admin panel for setup!
315
+
316
+ = 2.3 =
317
+ * Add a background colour and border to your share buttons container!
318
+ * Fixes a bug that inserted an empty line at the top of pages/posts
319
+ * Apologies for so many updates!
320
+
321
+ = 2.2 =
322
+ * Standby for Share Counters, currently under development!
323
+ * Increased functionality for those with older versions of WordPress
324
+ * To get the full Simple Share Buttons experience, update to version 3.5.1
325
+
326
+ = 2.1 =
327
+ * An attempted fix for those experiencing problems with the new drag and drop facility
328
+ * Others reported problems with a blank space above their pages, this should fix this too
329
+ * Apologies for the inconvenience everyone
330
+
331
+ = 2.0 =
332
+ * Note: this update will require a moment's configuration to reinstate your share buttons
333
+ * The settings link has moved - 'Settings' -> 'Share Buttons'
334
+ * Drag and drop to reorder the buttons how you like!
335
+ * Brand new redesign of the admin panel!
336
+ * New support forums launched!
337
+ * Resize images by pixels!
338
+ * A choice of fonts for your share text!
339
+ * Code and functions optimised!
340
+ * More lightweight on database use!
341
+ * Title attributes added to all buttons!
342
+ * Set links to open in the same or new window!
343
+
344
+ = 1.9 =
345
+ * Choose placement of your share text: above, left, right or below!
346
+ * Hide share buttons on posts you wish to, using shortcode [ssba_hide]
347
+ * [ssba] shortcode will now work for any page being displayed if used outside of the norm.
348
+ * Images aligned with text by default.
349
+ * Lots of great things coming in version 2.0! No more updates for a little while :)
350
+
351
+ = 1.8 =
352
+ * Much needed fix for 1.7, many apologies all!!
353
+
354
+ = 1.7 =
355
+ * You can now use shortcode to add share buttons wherever you like! [ssba] This relies on it being place on a page/post that has a permalink attribute.
356
+ * The email subject message can now be personalised!
357
+ * A general tidyup of some of the code, separating a couple of the larger functions into separate files.
358
+
359
+ = 1.6 =
360
+ * A reluctant update, sorry!
361
+ * A small fix for when clicking the Pinterest button when using Internet Explorer. Note that IE requires the same image to be set across all pages if an image is to be pinned, I do not wish to restrict users to this so have left it this way in hope that Microsoft will resolve things their end!
362
+
363
+ = 1.5 =
364
+ * You can now add some custom text if you wish!
365
+ * Reddit and Email buttons added!
366
+ * Add your own custom styling to the Buttons!
367
+
368
+ = 1.4 =
369
+ * You can now upload and use your own custom images!
370
+ * Share Buttons can now also be shown before/after excerpts of posts when viewing categories, archives or your homepage!
371
+
372
+ = 1.3 =
373
+ * Apologies for all the updates recently, trying to get things just right!
374
+ * By popular request, share links now open in a new window.
375
+ * New 'Retro' image set added!
376
+ * Added a link to a page to showcase your website.
377
+ * Links added to the image sets for where the credit is due.
378
+
379
+ = 1.2 =
380
+ * 3 New button sets added!
381
+ * Tooltips added to the admin menu.
382
+ * Borders removed by default to prevent inheriting them from themes.
383
+
384
+ = 1.1 =
385
+ * New buttons added - Pinterest, LinkedIn and Stumble Upon.
386
+ * You can now also choose to display smaller versions of the buttons if you wish.
387
+
388
+ = 1.0 =
389
+ * Initial release
simple-share-buttons-adder.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: Simple Share Buttons Adder
4
+ Plugin URI: https://simplesharebuttons.com
5
+ Description: A simple plugin that enables you to add share buttons to all of your posts and/or pages.
6
+ Version: 6.3.5
7
+ Author: Simple Share Buttons
8
+ Author URI: https://simplesharebuttons.com
9
+ License: GPLv2
10
+
11
+ Copyright 2015 Simple Share Buttons admin@simplesharebuttons.com
12
+
13
+ This program is free software; you can redistribute it and/or modify
14
+ it under the terms of the GNU General Public License, version 2, as
15
+ published by the Free Software Foundation.
16
+
17
+ This program is distributed in the hope that it will be useful,
18
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ GNU General Public License for more details.
21
+
22
+ _ _ _ _
23
+ ___| |__ __ _ _ __ ___| |__ _ _| |_| |_ ___ _ __ ___
24
+ / __| '_ \ / _` | '__/ _ \ '_ \| | | | __| __/ _ \| '_ \/ __|
25
+ \__ \ | | | (_| | | | __/ |_) | |_| | |_| || (_) | | | \__ \
26
+ |___/_| |_|\__,_|_| \___|_.__/ \__,_|\__|\__\___/|_| |_|___/
27
+
28
+ */
29
+
30
+ //======================================================================
31
+ // CONSTANTS
32
+ //======================================================================
33
+
34
+ define('SSBA_FILE', __FILE__);
35
+ define('SSBA_ROOT', dirname(__FILE__));
36
+ define( 'SSBA_VERSION', '6.3.5' );
37
+
38
+ //======================================================================
39
+ // SSBA SETTINGS
40
+ //======================================================================
41
+
42
+ // make sure we have settings ready
43
+ // this has been introduced to exclude from excerpts
44
+ $arrSettings = get_ssba_settings();
45
+
46
+ //======================================================================
47
+ // INCLUDES
48
+ //======================================================================
49
+
50
+ include_once plugin_dir_path(__FILE__).'/inc/ssba_admin_bits.php';
51
+ include_once plugin_dir_path(__FILE__).'/inc/ssba_buttons.php';
52
+ include_once plugin_dir_path(__FILE__).'/inc/ssba_styles.php';
53
+ include_once plugin_dir_path(__FILE__).'/inc/ssba_widget.php';
54
+ include_once plugin_dir_path(__FILE__).'/inc/ssba_database.php';
55
+
56
+ //======================================================================
57
+ // ACTIVATE/DEACTIVATE HOOKS
58
+ //======================================================================
59
+
60
+ // run the activation function upon activation of the plugin
61
+ register_activation_hook( __FILE__,'ssba_activate');
62
+
63
+ // register deactivation hook
64
+ register_uninstall_hook(__FILE__,'ssba_uninstall');
65
+
66
+ //======================================================================
67
+ // GET SSBA SETTINGS
68
+ //======================================================================
69
+
70
+ // return ssba settings
71
+ function get_ssba_settings()
72
+ {
73
+ // get json array settings from DB
74
+ $jsonSettings = get_option('ssba_settings');
75
+
76
+ // decode and return settings
77
+ return json_decode($jsonSettings, true);
78
+ }
79
+
80
+ //======================================================================
81
+ // UPDATE SSBA SETTINGS
82
+ //======================================================================
83
+
84
+ // update an array of options
85
+ function ssba_update_options($arrOptions)
86
+ {
87
+ // if not given an array
88
+ if (! is_array($arrOptions)) {
89
+ die('Value parsed not an array');
90
+ }
91
+
92
+ // get ssba settings
93
+ $jsonSettings = get_option('ssba_settings');
94
+
95
+ // decode the settings
96
+ $ssba_settings = json_decode($jsonSettings, true);
97
+
98
+ // loop through array given
99
+ foreach ($arrOptions as $name => $value) {
100
+ // update/add the option in the array
101
+ $ssba_settings[$name] = $value;
102
+ }
103
+
104
+ // encode the options ready to save back
105
+ $jsonSettings = json_encode($ssba_settings);
106
+
107
+ // update the option in the db
108
+ update_option('ssba_settings', $jsonSettings);
109
+ }