Version Description
Download this release
Release Info
Developer | slickremix |
Plugin | Feed Them Social – Facebook, Instagram, Twitter, YouTube, Pinterest |
Version | 2.9.8.1.0 |
Comparing to | |
See all releases |
Code changes from version 2.9.8 to 2.9.8.1.0
- admin/class-fts-instagram-options-page.php +141 -52
- admin/class-fts-settings-page-options.php +2 -2
- admin/class-fts-twitter-options-page.php +6 -6
- admin/class-fts-youtube-options-page.php +36 -30
- admin/css/settings-page.css +1 -1
- feed-them.php +4 -4
- feeds/css/styles.css +1 -1
- feeds/facebook/class-fts-facebook-feed.php +5 -3
- feeds/instagram/class-fts-instagram-feed.php +68 -66
- feeds/twitter/class-fts-twitter-feed.php +13 -15
- feeds/youtube/class-youtube-feed-free.php +155 -155
- includes/error-handler.php +268 -220
- includes/feed-them-functions.php +442 -57
- readme.txt +12 -2
admin/class-fts-instagram-options-page.php
CHANGED
@@ -43,38 +43,40 @@ class FTS_Instagram_Options_Page {
|
|
43 |
public function feed_them_instagram_options_page() {
|
44 |
$fts_functions = new feed_them_social_functions();
|
45 |
|
46 |
-
$fts_instagram_access_token
|
47 |
-
$
|
48 |
-
$
|
49 |
-
$
|
50 |
-
$
|
51 |
-
$
|
52 |
-
$
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
}
|
77 |
-
|
|
|
|
|
78 |
|
79 |
<div class="feed-them-social-admin-wrap">
|
80 |
<h1>
|
@@ -99,7 +101,7 @@ class FTS_Instagram_Options_Page {
|
|
99 |
if ( wp_verify_nonce( $fts_fb_options_nonce, 'fts-instagram-options-page-nonce' ) ) {
|
100 |
?>
|
101 |
|
102 |
-
<div class="feed-them-social-admin-input-wrap" style="padding
|
103 |
<div class="fts-title-description-settings-page">
|
104 |
<?php
|
105 |
// get our registered settings from the fts functions!
|
@@ -125,27 +127,36 @@ class FTS_Instagram_Options_Page {
|
|
125 |
// echo '</pre>';
|
126 |
|
127 |
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
'</p>'
|
132 |
-
);
|
133 |
|
134 |
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
|
141 |
|
142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
|
144 |
<a href="<?php echo esc_url( 'mailto:support@slickremix.com' ); ?>" class="fts-admin-button-no-work" style="margin-top: 14px; display: inline-block"><?php esc_html_e( 'Button not working?', 'feed-them-social' ); ?></a>
|
145 |
</div>
|
146 |
<div class="fts-clear"></div>
|
147 |
|
148 |
-
<div class="feed-them-social-admin-input-wrap"
|
|
|
|
|
|
|
|
|
149 |
<div class="feed-them-social-admin-input-label fts-instagram-border-bottom-color-label">
|
150 |
<?php esc_html_e( 'Instagram ID', 'feed-them-social' ); ?>
|
151 |
</div>
|
@@ -153,11 +164,12 @@ class FTS_Instagram_Options_Page {
|
|
153 |
<div class="fts-clear"></div>
|
154 |
</div>
|
155 |
|
156 |
-
<div class="feed-them-social-admin-input-wrap">
|
157 |
<div class="feed-them-social-admin-input-label fts-instagram-border-bottom-color-label">
|
158 |
<?php
|
159 |
|
160 |
$check_token = get_option( 'fts_instagram_custom_api_token' );
|
|
|
161 |
$check_basic_token_value = false !== $this->data_protection->decrypt( $check_token ) ? $this->data_protection->decrypt( $check_token ) : $check_token;
|
162 |
$check_basic_encrypted = false !== $this->data_protection->decrypt( $check_token ) ? 'encrypted' : '';
|
163 |
|
@@ -171,9 +183,85 @@ class FTS_Instagram_Options_Page {
|
|
171 |
</div>
|
172 |
|
173 |
<input type="text" name="fts_instagram_custom_api_token" class="feed-them-social-admin-input" id="fts_instagram_custom_api_token" data-token="<?php echo $check_basic_encrypted ?>" value="<?php echo $check_basic_token_value ?>"/>
|
|
|
174 |
<div class="fts-clear"></div>
|
175 |
</div>
|
176 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
<div class="feed-them-social-admin-input-wrap fts-instagram-last-row" style="margin-top: 0; padding-top: 0">
|
178 |
<?php
|
179 |
// Error Check
|
@@ -222,9 +310,8 @@ class FTS_Instagram_Options_Page {
|
|
222 |
);
|
223 |
}
|
224 |
?>
|
|
|
225 |
</div>
|
226 |
-
<div class="fts-clear"></div>
|
227 |
-
</div>
|
228 |
|
229 |
|
230 |
|
@@ -264,7 +351,7 @@ class FTS_Instagram_Options_Page {
|
|
264 |
</div>
|
265 |
<a href="<?php echo esc_url( 'mailto:support@slickremix.com' ); ?>" target="_blank" class="fts-admin-button-no-work"><?php esc_html_e( 'Button not working?', 'feed-them-social' ); ?></a>
|
266 |
<?php
|
267 |
-
|
268 |
$test_app_token_id_biz = get_option( 'fts_facebook_instagram_custom_api_token' );
|
269 |
$check_biz_token_value = false !== $this->data_protection->decrypt( $test_app_token_id_biz ) ? $this->data_protection->decrypt( $test_app_token_id_biz ) : $test_app_token_id_biz;
|
270 |
$check_biz_encrypted = false !== $this->data_protection->decrypt( $test_app_token_id_biz ) ? 'encrypted' : '';
|
@@ -277,13 +364,15 @@ class FTS_Instagram_Options_Page {
|
|
277 |
'app_token_id' => 'https://graph.facebook.com/debug_token?input_token=' . $test_app_token_id . '&access_token=' . $test_app_token_id,
|
278 |
);
|
279 |
|
|
|
280 |
// Test App ID
|
281 |
$test_app_token_response = $fts_functions->fts_get_feed_json( $test_app_token_url );
|
282 |
$test_app_token_response = json_decode( $test_app_token_response['app_token_id'] );
|
283 |
|
284 |
-
|
285 |
-
|
286 |
-
|
|
|
287 |
}
|
288 |
?>
|
289 |
<div class="clear"></div>
|
43 |
public function feed_them_instagram_options_page() {
|
44 |
$fts_functions = new feed_them_social_functions();
|
45 |
|
46 |
+
$fts_instagram_access_token = get_option( 'fts_instagram_custom_api_token' );
|
47 |
+
$fts_instagram_access_token_expires_in = get_option( 'fts_instagram_custom_api_token_expires_in' );
|
48 |
+
$fts_instagram_custom_id = get_option( 'fts_instagram_custom_id' );
|
49 |
+
$fts_instagram_show_follow_btn = get_option( 'instagram_show_follow_btn' );
|
50 |
+
$fts_instagram_show_follow_btn_where = get_option( 'instagram_show_follow_btn_where' );
|
51 |
+
$user_id_basic = isset( $_GET['code'], $_GET['feed_type'] ) && 'instagram_basic' === $_GET['feed_type'] ? sanitize_text_field( $_GET['user_id'] ) : $fts_instagram_custom_id;
|
52 |
+
$access_token_basic = isset( $_GET['code'], $_GET['feed_type'] ) && 'instagram_basic' === $_GET['feed_type'] ? sanitize_text_field( $_GET['code'] ) : $fts_instagram_access_token;
|
53 |
+
$access_token = isset( $_GET['code'], $_GET['feed_type'] ) && 'original_instagram' === $_GET['feed_type'] ? sanitize_text_field( $_GET['code'] ) : $access_token_basic;
|
54 |
+
$access_token_expires_in = isset( $_GET['code'], $_GET['feed_type'] ) && 'instagram_basic' === $_GET['feed_type'] ? sanitize_text_field( $_GET['expires_in'] ) : $fts_instagram_access_token_expires_in;
|
55 |
+
|
56 |
+
|
57 |
+
|
58 |
+
?>
|
59 |
+
<script>
|
60 |
+
jQuery(document).ready(function ($) {
|
61 |
+
<?php if ( isset( $_GET['code'], $_GET['feed_type'] ) && 'instagram_basic' === $_GET['feed_type'] ) {
|
62 |
+
$code_token = sanitize_text_field( $_GET['code'] );
|
63 |
+
?>
|
64 |
+
$('#fts_instagram_custom_api_token').val('');
|
65 |
+
$('#fts_instagram_custom_api_token').val($('#fts_instagram_custom_api_token').val() + '<?php echo esc_js( $code_token ); ?>');
|
66 |
+
|
67 |
+
<?php if ( 'original_instagram' === $_GET['feed_type'] ){ ?>
|
68 |
+
$('#fts_instagram_custom_id').val('');
|
69 |
+
var str = '<?php echo esc_js( $code_token ); ?>';
|
70 |
+
$('#fts_instagram_custom_id').val($('#fts_instagram_custom_id').val() + str.split('.', 1));
|
71 |
+
<?php }
|
72 |
+
elseif ( 'instagram_basic' === $_GET['feed_type'] ){ ?>
|
73 |
+
|
74 |
+
$('#fts_instagram_custom_id').val('');
|
75 |
+
$('#fts_instagram_custom_id').val($('#fts_instagram_custom_id').val() + '<?php echo esc_js( $user_id_basic ); ?>');
|
76 |
+
<?php } ?>
|
77 |
+
<?php } ?>
|
78 |
+
});
|
79 |
+
</script>
|
80 |
|
81 |
<div class="feed-them-social-admin-wrap">
|
82 |
<h1>
|
101 |
if ( wp_verify_nonce( $fts_fb_options_nonce, 'fts-instagram-options-page-nonce' ) ) {
|
102 |
?>
|
103 |
|
104 |
+
<div class="feed-them-social-admin-input-wrap" style="padding:0px; margin: 0px; ">
|
105 |
<div class="fts-title-description-settings-page">
|
106 |
<?php
|
107 |
// get our registered settings from the fts functions!
|
127 |
// echo '</pre>';
|
128 |
|
129 |
|
130 |
+
// echo '<pre>';
|
131 |
+
// print_r($test_app_token_response);
|
132 |
+
// echo '</pre>';
|
|
|
|
|
133 |
|
134 |
|
135 |
+
echo sprintf(
|
136 |
+
esc_html__( '%1$sClick the button below to get an access token. This gives us read-only access to get your Instagram posts.%2$s', 'feed-them-social' ),
|
137 |
+
'<p>',
|
138 |
+
'</p>'
|
139 |
+
);
|
140 |
|
141 |
|
142 |
+
echo sprintf(
|
143 |
+
esc_html__( '%1$sLogin and get my Access Token%2$s', 'feed-them-social' ),
|
144 |
+
'<a href="' . esc_url( 'https://api.instagram.com/oauth/authorize?app_id=206360940619297&redirect_uri=https://www.slickremix.com/instagram-basic-token/&response_type=code&scope=user_profile,user_media&state=' . admin_url( 'admin.php?page=fts-instagram-feed-styles-submenu-page' ) . '' ) . '" class="fts-instagram-get-access-token">',
|
145 |
+
'</a>'
|
146 |
+
);
|
147 |
+
|
148 |
+
|
149 |
+
?>
|
150 |
|
151 |
<a href="<?php echo esc_url( 'mailto:support@slickremix.com' ); ?>" class="fts-admin-button-no-work" style="margin-top: 14px; display: inline-block"><?php esc_html_e( 'Button not working?', 'feed-them-social' ); ?></a>
|
152 |
</div>
|
153 |
<div class="fts-clear"></div>
|
154 |
|
155 |
+
<div class="feed-them-social-admin-input-wrap" style="margin-bottom:0px;
|
156 |
+
<?php
|
157 |
+
if ( 'no' === $debug ) {
|
158 |
+
?>
|
159 |
+
display:none<?php } ?>">
|
160 |
<div class="feed-them-social-admin-input-label fts-instagram-border-bottom-color-label">
|
161 |
<?php esc_html_e( 'Instagram ID', 'feed-them-social' ); ?>
|
162 |
</div>
|
164 |
<div class="fts-clear"></div>
|
165 |
</div>
|
166 |
|
167 |
+
<div class="feed-them-social-admin-input-wrap fts-success-class">
|
168 |
<div class="feed-them-social-admin-input-label fts-instagram-border-bottom-color-label">
|
169 |
<?php
|
170 |
|
171 |
$check_token = get_option( 'fts_instagram_custom_api_token' );
|
172 |
+
|
173 |
$check_basic_token_value = false !== $this->data_protection->decrypt( $check_token ) ? $this->data_protection->decrypt( $check_token ) : $check_token;
|
174 |
$check_basic_encrypted = false !== $this->data_protection->decrypt( $check_token ) ? 'encrypted' : '';
|
175 |
|
183 |
</div>
|
184 |
|
185 |
<input type="text" name="fts_instagram_custom_api_token" class="feed-them-social-admin-input" id="fts_instagram_custom_api_token" data-token="<?php echo $check_basic_encrypted ?>" value="<?php echo $check_basic_token_value ?>"/>
|
186 |
+
|
187 |
<div class="fts-clear"></div>
|
188 |
</div>
|
189 |
|
190 |
+
|
191 |
+
<?php
|
192 |
+
// Add yes to show the expiration time and js that runs it below!
|
193 |
+
$debug = 'no';
|
194 |
+
?>
|
195 |
+
<div class="feed-them-social-admin-input-wrap fts-success-class fts-exp-time-wrapper" style="margin-top:10px;
|
196 |
+
<?php
|
197 |
+
if ( 'no' === $debug ) {
|
198 |
+
?>
|
199 |
+
display:none<?php } ?>">
|
200 |
+
<div class="feed-them-social-admin-input-label">
|
201 |
+
<?php echo esc_html__( 'Expiration Time for Access Token', 'feed-them-social' ); ?>
|
202 |
+
</div>
|
203 |
+
<input type="text" name="fts_instagram_custom_api_token_expires_in" class="feed-them-social-admin-input" id="fts_instagram_custom_api_token_expires_in" value="<?php echo esc_attr( $access_token_expires_in ); ?>"/>
|
204 |
+
<div class="fts-clear"></div>
|
205 |
+
</div>
|
206 |
+
</div>
|
207 |
+
|
208 |
+
<?php
|
209 |
+
|
210 |
+
|
211 |
+
// Take the time() + $expiration_time will equal the current date and time in seconds, then we add the 60 days worth of seconds to the time.
|
212 |
+
// That gives us the time to compare, of 60 days to the current date and Time.
|
213 |
+
// For now we are going to get a new token every 7 days just to be on the safe side.
|
214 |
+
// That means we will negate 53 days from the seconds which is 4579200 <-- https://www.convertunits.com/from/60+days/to/seconds
|
215 |
+
// We get 60 days to refresh the token, if it's not refreshed before then it will expire.
|
216 |
+
$expiration_time = '' !== get_option( 'fts_instagram_custom_api_token_expires_in' ) ? get_option( 'fts_instagram_custom_api_token_expires_in' ) : '';
|
217 |
+
|
218 |
+
|
219 |
+
if ( time() < $expiration_time && 'yes' === $debug ) {
|
220 |
+
?>
|
221 |
+
<script>
|
222 |
+
|
223 |
+
// Set the time * 1000 because js uses milliseconds not seconds and that is what youtube gives us is a 3600 seconds of time
|
224 |
+
var countDownDate = new Date( <?php echo esc_js( $expiration_time ); ?> * 1000 ); // <--phpStorm shows error but it's false.
|
225 |
+
|
226 |
+
// console.log(countDownDate);
|
227 |
+
|
228 |
+
// Update the count down every 1 second
|
229 |
+
var x = setInterval(function () {
|
230 |
+
|
231 |
+
// Get todays date and time
|
232 |
+
var now = new Date().getTime();
|
233 |
+
|
234 |
+
// console.log(now);
|
235 |
+
|
236 |
+
// Find the distance between now an the count down date
|
237 |
+
var distance = countDownDate - now;
|
238 |
+
|
239 |
+
// Time calculations for days, hours, minutes and seconds
|
240 |
+
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
|
241 |
+
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
|
242 |
+
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
|
243 |
+
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
|
244 |
+
|
245 |
+
jQuery('<span id="fts-timer"></span>').insertBefore('.fts-exp-time-wrapper .fts-clear');
|
246 |
+
document.getElementById("fts-timer").innerHTML = days + "d " + hours + "h " + minutes + "m " + seconds + "s ";
|
247 |
+
|
248 |
+
// If the count down is finished, write some text
|
249 |
+
if (distance < 0) {
|
250 |
+
clearInterval(x);
|
251 |
+
jQuery('.fts-success').fadeIn();
|
252 |
+
document.getElementById("fts-timer").innerHTML = "Token Expired, refresh page to get new a token.";
|
253 |
+
}
|
254 |
+
}, 1000);
|
255 |
+
</script>
|
256 |
+
<?php
|
257 |
+
}
|
258 |
+
// YO! making it be time() < $expiration_time to test ajax, otherwise it should be time() > $expiration_time
|
259 |
+
if ( ! empty( $check_token ) && time() > $expiration_time ) {
|
260 |
+
// refresh token action!
|
261 |
+
// echo ' WTF ';
|
262 |
+
$fts_functions->feed_them_instagram_refresh_token();
|
263 |
+
} ?>
|
264 |
+
|
265 |
<div class="feed-them-social-admin-input-wrap fts-instagram-last-row" style="margin-top: 0; padding-top: 0">
|
266 |
<?php
|
267 |
// Error Check
|
310 |
);
|
311 |
}
|
312 |
?>
|
313 |
+
<div class="fts-clear"></div>
|
314 |
</div>
|
|
|
|
|
315 |
|
316 |
|
317 |
|
351 |
</div>
|
352 |
<a href="<?php echo esc_url( 'mailto:support@slickremix.com' ); ?>" target="_blank" class="fts-admin-button-no-work"><?php esc_html_e( 'Button not working?', 'feed-them-social' ); ?></a>
|
353 |
<?php
|
354 |
+
$token_expiration = get_option( 'fts_facebook_instagram_custom_api_token_expiration' );
|
355 |
$test_app_token_id_biz = get_option( 'fts_facebook_instagram_custom_api_token' );
|
356 |
$check_biz_token_value = false !== $this->data_protection->decrypt( $test_app_token_id_biz ) ? $this->data_protection->decrypt( $test_app_token_id_biz ) : $test_app_token_id_biz;
|
357 |
$check_biz_encrypted = false !== $this->data_protection->decrypt( $test_app_token_id_biz ) ? 'encrypted' : '';
|
364 |
'app_token_id' => 'https://graph.facebook.com/debug_token?input_token=' . $test_app_token_id . '&access_token=' . $test_app_token_id,
|
365 |
);
|
366 |
|
367 |
+
|
368 |
// Test App ID
|
369 |
$test_app_token_response = $fts_functions->fts_get_feed_json( $test_app_token_url );
|
370 |
$test_app_token_response = json_decode( $test_app_token_response['app_token_id'] );
|
371 |
|
372 |
+
|
373 |
+
/*echo '<pre>';
|
374 |
+
print_r($refresh_app_token_url_response);
|
375 |
+
echo '</pre>';*/
|
376 |
}
|
377 |
?>
|
378 |
<div class="clear"></div>
|
admin/class-fts-settings-page-options.php
CHANGED
@@ -3578,11 +3578,11 @@ class FTS_Settings_Page_Options {
|
|
3578 |
array(
|
3579 |
'grouped_options_title' => __( 'Comments', 'feed-them-social' ),
|
3580 |
'option_type' => 'input',
|
3581 |
-
'label' => __( '
|
3582 |
'type' => 'text',
|
3583 |
'id' => 'youtube_comments_count',
|
3584 |
'name' => 'youtube_comments_count',
|
3585 |
-
'placeholder' => '',
|
3586 |
'value' => '',
|
3587 |
'short_attr' => array(
|
3588 |
'attr_name' => 'comments_count',
|
3578 |
array(
|
3579 |
'grouped_options_title' => __( 'Comments', 'feed-them-social' ),
|
3580 |
'option_type' => 'input',
|
3581 |
+
'label' => __( 'Number of Comments', 'feed-them-social' ) . '<br/><small>' . __( 'API Key required', 'feed-them-social' ) . '</small>',
|
3582 |
'type' => 'text',
|
3583 |
'id' => 'youtube_comments_count',
|
3584 |
'name' => 'youtube_comments_count',
|
3585 |
+
'placeholder' => '50 Maximum',
|
3586 |
'value' => '',
|
3587 |
'short_attr' => array(
|
3588 |
'attr_name' => 'comments_count',
|
admin/class-fts-twitter-options-page.php
CHANGED
@@ -143,7 +143,7 @@ class FTS_Twitter_Options_Page {
|
|
143 |
<?php echo esc_html__( 'Twitter API Token', 'feed-them-social' ); ?>
|
144 |
</h3>
|
145 |
<p>
|
146 |
-
<?php echo esc_html__( '
|
147 |
</p>
|
148 |
<p>
|
149 |
<?php
|
@@ -165,7 +165,8 @@ class FTS_Twitter_Options_Page {
|
|
165 |
$extra_keys = empty( $fts_twitter_custom_consumer_key ) && empty( $fts_twitter_custom_consumer_secret ) ? 'display:none' : '';
|
166 |
?>
|
167 |
|
168 |
-
|
|
|
169 |
<label for="fts-custom-tokens-twitter">
|
170 |
<input type="checkbox" id="fts-custom-tokens-twitter" name="fts_twitter_custom_tokens" value="1" <?php echo checked( '1', '' === $extra_keys ); ?>> <?php echo esc_html__( 'Add your own tokens?', 'feed-them-social' ); ?>
|
171 |
</label>
|
@@ -210,13 +211,14 @@ class FTS_Twitter_Options_Page {
|
|
210 |
?>
|
211 |
<div class="feed-them-social-admin-input-wrap">
|
212 |
<div class="feed-them-social-admin-input-label fts-twitter-border-bottom-color-label">
|
213 |
-
<?php echo esc_html__( 'Access Token', 'feed-them-social' ); ?>
|
214 |
</div>
|
215 |
<input type="text" name="fts_twitter_custom_access_token" class="feed-them-social-admin-input" id="fts_twitter_custom_access_token" value="<?php echo esc_attr( $oath_token ); ?>"/>
|
216 |
<div class="fts-clear"></div>
|
217 |
</div>
|
218 |
|
219 |
-
|
|
|
220 |
<div class="feed-them-social-admin-input-label fts-twitter-border-bottom-color-label">
|
221 |
<?php echo esc_html__( 'Access Token Secret', 'feed-them-social' ); ?>
|
222 |
</div>
|
@@ -251,8 +253,6 @@ class FTS_Twitter_Options_Page {
|
|
251 |
'</div>'
|
252 |
);
|
253 |
}
|
254 |
-
// Clear Cache!
|
255 |
-
do_action( 'wp_ajax_fts_clear_cache_ajax' );
|
256 |
} else {
|
257 |
echo sprintf(
|
258 |
esc_html__( '%1$sTo get started, please click the button above to retrieve your Access Token.%2$s', 'feed-them-social' ),
|
143 |
<?php echo esc_html__( 'Twitter API Token', 'feed-them-social' ); ?>
|
144 |
</h3>
|
145 |
<p>
|
146 |
+
<?php echo esc_html__( 'Click the button below to get an access token. This gives us read-only access to get your Twitter posts.', 'feed-them-social' ); ?>
|
147 |
</p>
|
148 |
<p>
|
149 |
<?php
|
165 |
$extra_keys = empty( $fts_twitter_custom_consumer_key ) && empty( $fts_twitter_custom_consumer_secret ) ? 'display:none' : '';
|
166 |
?>
|
167 |
|
168 |
+
<!-- SRL 4-11-22: Hiding the create twitter tokens option because the process of getting approved is not as easy as it used to be and it's creating more support tickets too -->
|
169 |
+
<div class="fts-twitter-add-all-keys-click-option" style="display: none">
|
170 |
<label for="fts-custom-tokens-twitter">
|
171 |
<input type="checkbox" id="fts-custom-tokens-twitter" name="fts_twitter_custom_tokens" value="1" <?php echo checked( '1', '' === $extra_keys ); ?>> <?php echo esc_html__( 'Add your own tokens?', 'feed-them-social' ); ?>
|
172 |
</label>
|
211 |
?>
|
212 |
<div class="feed-them-social-admin-input-wrap">
|
213 |
<div class="feed-them-social-admin-input-label fts-twitter-border-bottom-color-label">
|
214 |
+
<?php echo esc_html__( 'Access Token Required', 'feed-them-social' ); ?>
|
215 |
</div>
|
216 |
<input type="text" name="fts_twitter_custom_access_token" class="feed-them-social-admin-input" id="fts_twitter_custom_access_token" value="<?php echo esc_attr( $oath_token ); ?>"/>
|
217 |
<div class="fts-clear"></div>
|
218 |
</div>
|
219 |
|
220 |
+
<!-- We don't need to display this field to the user, so we only show the Acccess Token -->
|
221 |
+
<div class="feed-them-social-admin-input-wrap" style="display: none">
|
222 |
<div class="feed-them-social-admin-input-label fts-twitter-border-bottom-color-label">
|
223 |
<?php echo esc_html__( 'Access Token Secret', 'feed-them-social' ); ?>
|
224 |
</div>
|
253 |
'</div>'
|
254 |
);
|
255 |
}
|
|
|
|
|
256 |
} else {
|
257 |
echo sprintf(
|
258 |
esc_html__( '%1$sTo get started, please click the button above to retrieve your Access Token.%2$s', 'feed-them-social' ),
|
admin/class-fts-youtube-options-page.php
CHANGED
@@ -46,7 +46,7 @@ class FTS_Youtube_Options_Page {
|
|
46 |
<?php echo esc_html__( 'Feed Options', 'feed-them-social' ); ?>
|
47 |
</h1>
|
48 |
<div class="use-of-plugin">
|
49 |
-
<?php echo esc_html__( 'Add a follow button and position it using the options below.
|
50 |
</div>
|
51 |
|
52 |
<!-- custom option for padding -->
|
@@ -68,7 +68,10 @@ class FTS_Youtube_Options_Page {
|
|
68 |
}
|
69 |
|
70 |
$youtube_user_id_data = esc_url_raw( 'https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=slickremix&' . $youtube_api_key_or_token );
|
71 |
-
|
|
|
|
|
|
|
72 |
$response = wp_remote_fopen( $youtube_user_id_data );
|
73 |
// Error Check!
|
74 |
$test_app_token_response = json_decode( $response );
|
@@ -80,12 +83,12 @@ class FTS_Youtube_Options_Page {
|
|
80 |
<h3>
|
81 |
<?php echo esc_html__( 'YouTube API Key', 'feed-them-social' ); ?>
|
82 |
</h3>
|
83 |
-
<p><?php echo esc_html__( '
|
84 |
</p>
|
85 |
<p>
|
86 |
<?php
|
87 |
echo sprintf(
|
88 |
-
esc_html__( '%1$sLogin and get my Access Token
|
89 |
'<a href="' . esc_url( 'https://www.slickremix.com/youtube-token/?redirect_url=' . admin_url( 'admin.php?page=fts-youtube-feed-styles-submenu-page' ) ) . '" class="fts-youtube-get-access-token">',
|
90 |
'</a>'
|
91 |
);
|
@@ -114,47 +117,48 @@ class FTS_Youtube_Options_Page {
|
|
114 |
<div class="fts-clear"></div>
|
115 |
|
116 |
<div class="youtube-extra-keys" style="<?php echo esc_attr( $extra_keys ); ?>">
|
117 |
-
<div class="youtube-extra-keys-text" style="<?php echo esc_attr( $extra_keys_no ); ?>"
|
118 |
-
<a href="<?php echo esc_url( 'https://www.slickremix.com/docs/get-api-key-for-youtube/' ); ?>" target="_blank"><?php echo esc_html__( '
|
119 |
</div>
|
120 |
|
121 |
<div class="feed-them-social-admin-input-label fts-youtube-border-bottom-color-label">
|
122 |
-
<?php echo esc_html__( 'API Key Required', 'feed-them-social' ); ?>
|
123 |
</div>
|
124 |
|
125 |
<input type="text" name="youtube_custom_api_token" class="feed-them-social-admin-input" id="youtube_custom_api_token" value="<?php echo esc_attr( get_option( 'youtube_custom_api_token' ) ); ?>"/>
|
126 |
<div class="fts-clear"></div>
|
127 |
</div>
|
128 |
</div>
|
129 |
-
|
130 |
-
|
131 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
<div class="feed-them-social-admin-input-label">
|
133 |
<?php echo esc_html__( 'Refresh Token', 'feed-them-social' ); ?>
|
134 |
</div>
|
135 |
-
<input type="text" name="youtube_custom_refresh_token" class="feed-them-social-admin-input" id="youtube_custom_refresh_token" value="<?php echo esc_attr( get_option( 'youtube_custom_refresh_token' ) ); ?>"/>
|
136 |
<div class="fts-clear"></div>
|
137 |
</div>
|
138 |
<div class="feed-them-social-admin-input-wrap" style="margin-bottom:0;">
|
139 |
<div class="feed-them-social-admin-input-label">
|
140 |
-
<?php echo esc_html__( 'Access Token', 'feed-them-social' ); ?>
|
141 |
</div>
|
142 |
<input type="text" name="youtube_custom_access_token" class="feed-them-social-admin-input" id="youtube_custom_access_token" value="<?php echo esc_attr( get_option( 'youtube_custom_access_token' ) ); ?>"/>
|
143 |
<div class="fts-clear"></div>
|
144 |
</div>
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
<div class="feed-them-social-admin-input-wrap fts-exp-time-wrapper" style="margin-top:10px;
|
150 |
-
<?php
|
151 |
-
if ( 'yes' !== $dev_mode ) {
|
152 |
-
?>
|
153 |
-
display:none<?php } ?>">
|
154 |
<div class="feed-them-social-admin-input-label">
|
155 |
<?php echo esc_html__( 'Expiration Time for Access Token', 'feed-them-social' ); ?>
|
156 |
</div>
|
157 |
-
<input type="text" name="
|
158 |
<div class="fts-clear"></div>
|
159 |
</div>
|
160 |
</div>
|
@@ -174,16 +178,16 @@ class FTS_Youtube_Options_Page {
|
|
174 |
$fts_functions->feed_them_youtube_refresh_token();
|
175 |
}
|
176 |
|
177 |
-
$expiration_time = get_option( '
|
|
|
178 |
// Give the access token a 5 minute buffer (300 seconds) before getting a new one.
|
179 |
$expiration_time = $expiration_time - 300;
|
180 |
// Test Liner!
|
181 |
-
if ( time() < $expiration_time && empty( $youtube_api_key ) && 'yes' === $
|
182 |
?>
|
183 |
<script>
|
184 |
// Set the time * 1000 because js uses milliseconds not seconds and that is what youtube gives us is a 3600 seconds of time
|
185 |
-
var countDownDate = new Date(<?php echo esc_js( $expiration_time ); ?> * 1000;
|
186 |
-
)
|
187 |
|
188 |
// Update the count down every 1 second
|
189 |
var x = setInterval(function () {
|
@@ -206,14 +210,17 @@ class FTS_Youtube_Options_Page {
|
|
206 |
if (distance < 0) {
|
207 |
clearInterval(x);
|
208 |
jQuery('.fts-success').fadeIn();
|
209 |
-
document.getElementById("fts-timer").innerHTML = "Expired, refresh page to get new token
|
210 |
}
|
211 |
}, 1000);
|
212 |
</script>
|
213 |
<?php
|
214 |
-
}
|
|
|
|
|
|
|
215 |
// refresh token action!
|
216 |
-
|
217 |
}
|
218 |
|
219 |
$user_id = $test_app_token_response;
|
@@ -254,7 +261,6 @@ class FTS_Youtube_Options_Page {
|
|
254 |
}
|
255 |
?>
|
256 |
|
257 |
-
|
258 |
<div class="fts-clear"></div>
|
259 |
</div>
|
260 |
|
46 |
<?php echo esc_html__( 'Feed Options', 'feed-them-social' ); ?>
|
47 |
</h1>
|
48 |
<div class="use-of-plugin">
|
49 |
+
<?php echo esc_html__( 'Add an API key or get an Access token. You can also choose to display a follow button and position it using the options below. NOTE: The follow button and loadmore option will not work for the Combined Streams extension.', 'feed-them-social' ); ?>
|
50 |
</div>
|
51 |
|
52 |
<!-- custom option for padding -->
|
68 |
}
|
69 |
|
70 |
$youtube_user_id_data = esc_url_raw( 'https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=slickremix&' . $youtube_api_key_or_token );
|
71 |
+
// echo '$youtube_user_id_data';
|
72 |
+
// echo $youtube_user_id_data;
|
73 |
+
|
74 |
+
// Get Data for Youtube!
|
75 |
$response = wp_remote_fopen( $youtube_user_id_data );
|
76 |
// Error Check!
|
77 |
$test_app_token_response = json_decode( $response );
|
83 |
<h3>
|
84 |
<?php echo esc_html__( 'YouTube API Key', 'feed-them-social' ); ?>
|
85 |
</h3>
|
86 |
+
<p><?php echo esc_html__( 'Click the button below to get an access token. This gives us read-only access to your YouTube videos.', 'feed-them-social' ); ?>
|
87 |
</p>
|
88 |
<p>
|
89 |
<?php
|
90 |
echo sprintf(
|
91 |
+
esc_html__( '%1$sLogin and get my Access Token %2$s', 'feed-them-social' ),
|
92 |
'<a href="' . esc_url( 'https://www.slickremix.com/youtube-token/?redirect_url=' . admin_url( 'admin.php?page=fts-youtube-feed-styles-submenu-page' ) ) . '" class="fts-youtube-get-access-token">',
|
93 |
'</a>'
|
94 |
);
|
117 |
<div class="fts-clear"></div>
|
118 |
|
119 |
<div class="youtube-extra-keys" style="<?php echo esc_attr( $extra_keys ); ?>">
|
120 |
+
<div class="youtube-extra-keys-text" style="<?php echo esc_attr( $extra_keys_no ); ?>">
|
121 |
+
<a href="<?php echo esc_url( 'https://www.slickremix.com/docs/get-api-key-for-youtube/' ); ?>" target="_blank"><?php echo esc_html__( 'Manually create YouTube API Key', 'feed-them-social' ); ?></a>
|
122 |
</div>
|
123 |
|
124 |
<div class="feed-them-social-admin-input-label fts-youtube-border-bottom-color-label">
|
125 |
+
<?php echo esc_html__( 'API Key Required', 'feed-them-social' ); ?> <?php echo get_option('fts_youtube_custom_tokens'); ?>
|
126 |
</div>
|
127 |
|
128 |
<input type="text" name="youtube_custom_api_token" class="feed-them-social-admin-input" id="youtube_custom_api_token" value="<?php echo esc_attr( get_option( 'youtube_custom_api_token' ) ); ?>"/>
|
129 |
<div class="fts-clear"></div>
|
130 |
</div>
|
131 |
</div>
|
132 |
+
<?php
|
133 |
+
// Add yes to show the expiration time and js that runs it below!
|
134 |
+
$debug = 'no';
|
135 |
+
?>
|
136 |
+
<div class="hide-button-tokens-options" style="<?php echo esc_attr( $extra_keys_no ); ?>;">
|
137 |
+
<div class="feed-them-social-admin-input-wrap" style="<?php
|
138 |
+
if ( 'no' === $debug ) {
|
139 |
+
?>
|
140 |
+
display:none<?php } ?>">
|
141 |
<div class="feed-them-social-admin-input-label">
|
142 |
<?php echo esc_html__( 'Refresh Token', 'feed-them-social' ); ?>
|
143 |
</div>
|
144 |
+
<input type="text" name="youtube_custom_refresh_token" readonly class="feed-them-social-admin-input" id="youtube_custom_refresh_token" value="<?php echo esc_attr( get_option( 'youtube_custom_refresh_token' ) ); ?>"/>
|
145 |
<div class="fts-clear"></div>
|
146 |
</div>
|
147 |
<div class="feed-them-social-admin-input-wrap" style="margin-bottom:0;">
|
148 |
<div class="feed-them-social-admin-input-label">
|
149 |
+
<?php echo esc_html__( 'Access Token Required', 'feed-them-social' ); ?>
|
150 |
</div>
|
151 |
<input type="text" name="youtube_custom_access_token" class="feed-them-social-admin-input" id="youtube_custom_access_token" value="<?php echo esc_attr( get_option( 'youtube_custom_access_token' ) ); ?>"/>
|
152 |
<div class="fts-clear"></div>
|
153 |
</div>
|
154 |
+
|
155 |
+
<div class="feed-them-social-admin-input-wrap fts-exp-time-wrapper" style="margin-top:10px;<?php
|
156 |
+
if ( 'no' === $debug ) {
|
157 |
+
?>display:none<?php } ?>">
|
|
|
|
|
|
|
|
|
|
|
158 |
<div class="feed-them-social-admin-input-label">
|
159 |
<?php echo esc_html__( 'Expiration Time for Access Token', 'feed-them-social' ); ?>
|
160 |
</div>
|
161 |
+
<input type="text" name="youtube_custom_token_exp_time" class="feed-them-social-admin-input" id="youtube_custom_token_exp_time" value="<?php echo esc_attr( get_option( 'youtube_custom_token_exp_time' ) ); ?>"/>
|
162 |
<div class="fts-clear"></div>
|
163 |
</div>
|
164 |
</div>
|
178 |
$fts_functions->feed_them_youtube_refresh_token();
|
179 |
}
|
180 |
|
181 |
+
$expiration_time = '' !== get_option( 'youtube_custom_token_exp_time' ) ? get_option( 'youtube_custom_token_exp_time' ) : 500;
|
182 |
+
|
183 |
// Give the access token a 5 minute buffer (300 seconds) before getting a new one.
|
184 |
$expiration_time = $expiration_time - 300;
|
185 |
// Test Liner!
|
186 |
+
if ( time() < $expiration_time && empty( $youtube_api_key ) && 'yes' === $debug ) {
|
187 |
?>
|
188 |
<script>
|
189 |
// Set the time * 1000 because js uses milliseconds not seconds and that is what youtube gives us is a 3600 seconds of time
|
190 |
+
var countDownDate = new Date( <?php echo esc_js( $expiration_time ); ?> * 1000 ); // <--phpStorm shows error but it's false.
|
|
|
191 |
|
192 |
// Update the count down every 1 second
|
193 |
var x = setInterval(function () {
|
210 |
if (distance < 0) {
|
211 |
clearInterval(x);
|
212 |
jQuery('.fts-success').fadeIn();
|
213 |
+
document.getElementById("fts-timer").innerHTML = "Token Expired, refresh page to get new a token.";
|
214 |
}
|
215 |
}, 1000);
|
216 |
</script>
|
217 |
<?php
|
218 |
+
}
|
219 |
+
|
220 |
+
// YO! making it be time() < $expiration_time to test ajax, otherwise it should be time() > $expiration_time
|
221 |
+
if ( empty( $youtube_api_key ) && ! empty( $youtube_access_token ) && time() > $expiration_time ) {
|
222 |
// refresh token action!
|
223 |
+
$fts_functions->feed_them_youtube_refresh_token();
|
224 |
}
|
225 |
|
226 |
$user_id = $test_app_token_response;
|
261 |
}
|
262 |
?>
|
263 |
|
|
|
264 |
<div class="fts-clear"></div>
|
265 |
</div>
|
266 |
|
admin/css/settings-page.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.clear,.fts-clear{clear:both}.display{display:block!important}.facebook-message-generator,.final-instagram-user-id-textarea,.final-shortcode-textarea,.fts-facebook_group-shortcode-form .twitter_name,.fts-fb-event-option-wrap .twitter_name,.shortcode-generator-form,instagram-shortcode-form{display:none}.feed-them_page_fts-facebook-feed-styles-submenu-page .use-of-plugin{font-size:13px;font-weight:400;line-height:20px;max-width:740px;border-bottom:1px solid #ccc}.feed-them_page_fts-facebook-feed-styles-submenu-page .feed-them-social-admin-wrap h1,.feed-them_page_fts-facebook-feed-styles-submenu-page .feed-them-social-admin-wrap h2,.feed-them_page_fts-facebook-feed-styles-submenu-page .use-of-plugin,.feed-them_page_fts-instagram-feed-styles-submenu-page .feed-them-social-admin-wrap h1,.feed-them_page_fts-instagram-feed-styles-submenu-page .feed-them-social-admin-wrap h2,.feed-them_page_fts-instagram-feed-styles-submenu-page .use-of-plugin,.feed-them_page_fts-pinterest-feed-styles-submenu-page .feed-them-social-admin-wrap h1,.feed-them_page_fts-pinterest-feed-styles-submenu-page .use-of-plugin,.feed-them_page_fts-twitter-feed-styles-submenu-page .feed-them-social-admin-wrap h1,.feed-them_page_fts-twitter-feed-styles-submenu-page .feed-them-social-admin-wrap h2,.feed-them_page_fts-twitter-feed-styles-submenu-page .use-of-plugin,.feed-them_page_fts-youtube-feed-styles-submenu-page .feed-them-social-admin-wrap h1,.feed-them_page_fts-youtube-feed-styles-submenu-page .use-of-plugin{color:#333}.instagram-id-option-wrap{margin-top:25px}.feed-them_page_fts-facebook-feed-styles-submenu-page .feed-them-social-admin-wrap h2,.feed-them_page_fts-instagram-feed-styles-submenu-page .feed-them-social-admin-wrap h2{margin-top:45px}.fts-super-instagram-options-wrap{padding-top:0}.fts-empty-error input{background-color:#fdfdd3!important}.toplevel_page_feed-them-settings-page h1{font-size:32px}.feed-them_page_fts-twitter-feed-styles-submenu-page .feed-them-social-admin-wrap h2,.fts-youtube-feed-styles-submenu-page .feed-them-social-admin-wrap h2{margin-top:45px;color:#333}.feed-them-social-admin-wrap h1{color:#fff;margin:0 0 5px;line-height:30px;font-weight:700}.feed-them-social-admin-wrap h4{font-size:12px;font-weight:400;color:#000;margin:1px 0 8px}.feed-them-social-admin-wrap input[type=button],.feed-them-social-admin-wrap input[type=submit]{-webkit-appearance:none}.feed-them-social-admin-wrap input[type=text]{line-height:19px;max-width:100%;font-weight:400}.feed-them_page_fts-facebook-feed-styles-submenu-page .feed-them-social-admin-wrap,.feed-them_page_fts-instagram-feed-styles-submenu-page .feed-them-social-admin-wrap,.feed-them_page_fts-pinterest-feed-styles-submenu-page .feed-them-social-admin-wrap,.feed-them_page_fts-twitter-feed-styles-submenu-page .feed-them-social-admin-wrap,.feed-them_page_fts-youtube-feed-styles-submenu-page .feed-them-social-admin-wrap{max-width:100%;width:100%;min-height:auto;background:0 0;padding:0;-webkit-box-shadow:none;box-shadow:none;border-radius:1px;position:relative;margin:20px 20px 0 0;-webkit-text-size-adjust:none}.feed-them_page_fts-facebook-feed-styles-submenu-page .feed-them-social-admin-input-wrap,.feed-them_page_fts-pinterest-feed-styles-submenu-page .feed-them-social-admin-input-wrap,.feed-them_page_fts-twitter-feed-styles-submenu-page .feed-them-social-admin-input-wrap,.feed-them_page_fts-youtube-feed-styles-submenu-page .feed-them-social-admin-input-wrap{background:0 0}.feed-them-social-admin-wrap{max-width:806px;min-height:379px;padding:19px;margin:20px 10px 0 0;background-size:cover;-webkit-text-size-adjust:none;overflow:hidden;border-radius:2px}.feed-them_page_fts-youtube-feed-styles-submenu-page h2{color:#333!important;margin-top:45px!important}.feed-them-social-admin-form .feed-them-social-admin-wrap h2{color:#000;font-size:20px;font-weight:400;line-height:23px;margin:15px 0}.feed-them-social-admin-form{padding:5px 0 0;height:auto}.fts-facebook_group-shortcode-form:hover a{background-position:top right!important;background-size:34px!important;height:34px!important;width:34px!important}.feed-them-social-admin-input-wrap{padding:5px 0 10px;margin-bottom:10px;border-radius:2px;-webkit-border-radius:2px}.pinterest-gen-selection{margin-bottom:25px}.final-shortcode-textarea .feed-them-social-admin-input-label{color:#0361b8;width:auto;font-size:14px}.instagram-shortcode-form .final-shortcode-textarea .feed-them-social-admin-input-label{color:#0361b8}.final-shortcode-textarea{margin-top:25px}.final-shortcode-textarea input{width:100%;margin-top:2px}.feed-them-social-admin-input-label{float:left;width:230px;margin-right:10px;font-size:13px;padding-top:6px;font-weight:700}.feed-them_page_fts-facebook-feed-styles-submenu-page .feed-them-social-admin-input-label,.feed-them_page_fts-instagram-feed-styles-submenu-page .feed-them-social-admin-input-label,.feed-them_page_fts-twitter-feed-styles-submenu-page .feed-them-social-admin-input-label{float:left;width:230px;margin-right:10px;font-size:13px;text-transform:none;padding-top:6px}.feed-them-social-admin-input-label a{text-decoration:underline!important;cursor:pointer}.feed_them_social_id-answer a,.im-done{cursor:pointer!important}.feed-them-social-admin-input-example{float:left;font-weight:700;margin-left:10px;padding-top:4px}.feed-them-social-admin-input{float:left;width:305px;max-width:100%;font-weight:400}.feed-them-social-admin-input-default{float:left;width:290px;padding:4px 7px;border:1px solid #dfdfdf;background-color:#fff;font-size:12px}.fts-color-settings-admin-form .feed-them-social-admin-submit-btn{float:left;margin:0;padding:0 20px;height:37px;line-height:35px}.feed-them-social-admin-submit-btn{padding:10px 15px;border-radius:1px;background-color:#31ac45!important;color:#fff!important;font-weight:400;cursor:pointer!important;transition:all .3s ease-in-out;border:none;letter-spacing:1px;outline:0;font-size:12px}.feed-them-social-admin-submit-btn,.feed-them-social-admin-submit-btn:hover{-webkit-transition:background 2s;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out}.feed-them-social-admin-submit-btn:hover{background-color:#2bbe43!important;color:#fff!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;outline:0}.toplevel_page_feed-them-settings-page .feed-them-social-admin-slick-logo{right:5px;-webkit-border-radius:3px;border-radius:3px}.feed_them_social_id-answer{padding:15px 0;display:none;font-weight:700}.feed_them_social_id-answer div{padding-bottom:10px}.im-done{padding:10px;background-color:#cd1723!important;border:none!important;color:#fff!important;font-weight:700;text-shadow:1px 1px 3px #000;filter:dropshadow(color=#000000, offx=1, offy=1);-webkit-border-radius:3px;border-radius:3px}#shortcode-form-selector{margin-bottom:10px;height:40px;min-width:290px;line-height:40px}.feed-them-icon-wrap{position:absolute;right:27px;top:25px;width:234px;height:50px}.feed-them-social-admin-wrap,.fts-content,.fts-plugin-reviews{position:relative}.fts-facebook_group-shortcode-form:hover .feed-them-icon-wrap a.facebook-icon{background-position:top right!important;background-size:34px!important;height:34px!important;width:34px!important;display:none}.feed-them-icon-wrap a{opacity:1;float:right;margin-left:1px;margin-bottom:1px;display:block;height:38px;width:38px;cursor:default;outline:0;border:none;box-shadow:0 1px 1px #222;border-radius:0;transition:all .3s ease-in-out}.feed-them-icon-wrap a,.feed-them-icon-wrap a:hover{-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out}.feed-them-icon-wrap a:hover{opacity:.85;transition:all .3s ease-in-out}.feed-them-icon-wrap a.facebook-icon{background:url(../images/facebook-icon.png) no-repeat}.feed-them-icon-wrap a.twitter-icon{background:url(../images/twitter-icon.png) top right no-repeat}.feed-them-icon-wrap a.instagram-icon{background:url(../images/instagram-icon.png) top right no-repeat}.feed-them-icon-wrap .feed-them-icon-wrap a.youtube-icon{background:url(../images/youtube-icon.png) top right no-repeat}.feed-them-icon-wrap a.pinterest-icon{background:url(../images/pinterest-icon.png) top right no-repeat}a.icon-animate-small{background-position:top right!important;background-size:34px!important;height:34px!important;width:34px!important}.instructional-text{font-size:13px;line-height:19px;margin:0 0 15px;border-bottom:1px dotted #9c9c9c;color:#212121;padding:0 0 5px}.instructional-text a{color:#0073aa;text-decoration:none}.instructional-text a,.instructional-text a:hover{-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out}.instructional-text a:hover{transition:all .3s ease-in-out}.feed-them-custom-css{padding-top:25px;padding-left:0}.feed-them-clear-cache input{background-color:#f11e2e!important;margin-bottom:10px}.feed-them-clear-cache input:hover{background-color:#f15d2e!important}.feed-them-clear-cache-text{color:#f11e2e!important;font-weight:700;background-color:rgba(255,255,255,.88);padding:10px 16px;margin-top:10px;margin-bottom:10px;border-radius:2px;-webkit-border-radius:2px;opacity:.9}.fts-get-premium-version{margin-right:1em;margin-top:15px;display:block;max-width:210px;text-align:center;text-decoration:none!important}textarea#fts-color-options-main-wrapper-css-input{max-width:100%;min-height:350px;clear:both;background:#f9f9f9;font-family:Consolas,Monaco,monospace;font-size:12px;width:100%;height:300px;outline:0}.fts-custom-css-text{margin-bottom:5px}label.toggle-custom-textarea-show:hover{background:#999}label.toggle-custom-textarea-show{max-width:435px;display:block;height:37px;line-height:35px;float:left;text-align:center;padding:0 15px;background:#818181;border-radius:1px;font-size:12px;clear:both;letter-spacing:1px;margin:5px 5px 10px 0;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#fts-color-options-main-wrapper-css-input,.fts-custom-css-text,.toggle-custom-textarea-hide{display:none}.fts-admin-wrap p input[type=checkbox],.fts-wp-header-custom input[type=checkbox]{margin:-1px 7px 0 2px!important}.fts-color-settings-admin-form p,.fts-powered-by-settings-admin-form p{color:#000;font-size:12px;-webkit-text-size-adjust:none}.fts-powered-by-settings-admin-form p{margin-bottom:0}.feed-them-custom-logo-css{margin-top:25px}#discount-for-review{clear:both;margin-bottom:1px;text-align:center;font-weight:700;color:#000;background:rgba(255,255,255,.53);float:right;width:195px;line-height:40px;cursor:pointer}.discount-review-text{clear:both;color:#333;background:rgba(255,255,255,.9);width:165px;float:right;padding:20px 15px;text-align:center;display:none}#discount-for-review a{display:inline-block;width:auto;height:auto;margin:0;padding:0;border:none;box-shadow:none;float:none;cursor:pointer;text-decoration:none;font-size:12px;font-weight:700;color:#0073aa}.fts-color-settings-admin-form label,.fts-color-settings-admin-form span{color:#060606}.fts-color-settings-admin-form p.example{color:#fff;padding-bottom:35px!important}.fts-color-settings-admin-form fieldset label{color:#fff;line-height:30px}.fts-color-settings-admin-form fieldset a{color:#fff;text-decoration:none}@media (max-width:800px){.toplevel_page_feed-them-settings-page .feed-them-social-admin-wrap h1{text-shadow:#fff!important;height:32px!important;width:280px!important;background-size:280px!important}.feed-them-icon-wrap{position:relative;margin:-20px 0 70px;left:0!important;height:auto;clear:both;text-align:left}.feed-them-social-admin-slick-logo{display:none}#fts-date-and-time-format{width:100%}}.fts-failed-api-token,.fts-successful-api-token{clear:both;float:left;padding:7px 14px 7px 10px;border:1px solid rgba(255,255,255,.45);color:#000;margin:10px 20px 0 0;max-width:715px;width:100%}.fts-failed-api-token{background:rgba(245,207,206,.78)}.fts-successful-api-token{background:rgba(220,253,205,.78)}.feed-them_page_fts-facebook-feed-styles-submenu-page .fts-failed-api-token,.feed-them_page_fts-facebook-feed-styles-submenu-page .fts-successful-api-token,.feed-them_page_fts-instagram-feed-styles-submenu-page .feed-them_page_fts-instagram-feed-styles-submenu-page .fts-successful-api-token,.feed-them_page_fts-instagram-feed-styles-submenu-page .fts-failed-api-token,instagram-failed-message{margin-top:0!important;padding:10px 15px;max-width:708px}.fts-special-working-wrap{padding: 8px 8px 15px 18px!important;max-width:722px!important}#fts_facebook_custom_api_token,#fts_facebook_custom_api_token_biz,#fts_facebook_instagram_custom_api_token{margin-bottom:20px!important}.fts-facebook-custom-api-token-label{display:block;margin:0 40px 4px 0}.fts-facebook-custom-api-token-label a{font-weight:700;color:#df1818}.twitter-api-wrap{margin:20px 0 0}.twitter-api-wrap .feed-them-social-admin-input-wrap{margin:0}.fts-facebook-custom-api-token-label,.fts-instagram-custom-api-token-label{max-width:700px;line-height:21px;font-size:13px}.fts-facebook-get-access-token,.fts-facebook-get-access-token:focus,.fts-instagram-get-access-token,.fts-instagram-get-access-token:focus,.fts-pinterest-get-access-token,.fts-pinterest-get-access-token:focus,.fts-twitter-get-access-token,.fts-twitter-get-access-token:focus,.fts-youtube-get-access-token,.fts-youtube-get-access-token:focus{border-radius:5px;box-shadow:0 1px 1px #999;display:block;clear:both;float:left;font-size:14px;margin-bottom:25px;margin-top:5px;text-decoration:none;font-weight:600}.fts-instagram-get-access-token,.fts-instagram-get-access-token:focus{padding:18px 16px 19px 188px;background:url(../images/instagram-logo-admin.png) 13px 12px no-repeat #fff;color:#252525}.fts-pinterest-get-access-token,.fts-pinterest-get-access-token:focus{padding:18px 16px 19px 188px;background:url(../images/pinterest-logo-admin.jpg) 13px 12px no-repeat #fff;color:#252525}.fts-facebook-get-access-token:hover,.fts-instagram-get-access-token:hover,.fts-pinterest-get-access-token:hover{color:#666}.fts-facebook-get-access-token,.fts-facebook-get-access-token:focus{padding:18px 16px 19px 182px;background:url(../images/facebook-logo-admin.jpg) 14px 12px no-repeat #fff;color:#252525}@font-face{margin:0 0 9px;font-size:19px}.fts-title-description-settings-page{padding:25px 0 15px;max-width:740px;border-top:1px solid #ccc}.fts-premium-options-message,.fts-premium-options-message2{font-size:13px;padding:20px 25px 25px;line-height:19px;background-color:#fff;margin:0}.fts-premium-options-message a:first-child,.fts-premium-options-message2 a:first-child{font-size:16px;display:inline-block;padding:0;margin:0 0 5px;text-decoration:none}.fts-plugin-reviews{max-width:789px;padding:25px 28px 31px;box-shadow:0 0 1px #d1d1d1;border-radius:1px;background:rgba(255,255,255,1);-webkit-text-size-adjust:none;font-size:13px;line-height:21px;margin-right:10px}.fts-plugin-reviews a{text-decoration:none}.fts-plugin-reviews-rate{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eee}h1.plugin-author-note{margin:50px 0 15px!important;font-size:22px;color:#222;z-index:1;position:relative}.toplevel_page_feed-them-settings-page .error{margin:20px 20px 20px 0;max-width:818px}.feed-them_page_fts-facebook-feed-styles-submenu-page .error,.feed-them_page_fts-instagram-feed-styles-submenu-page .error,.feed-them_page_fts-pinterest-feed-styles-submenu-page .error,.feed-them_page_fts-system-info-submenu-page .error,.feed-them_page_fts-system-info-submenu-page .notice,.feed-them_page_fts-twitter-feed-styles-submenu-page .error,.feed-them_page_fts-youtube-feed-styles-submenu-page .error{margin:20px 20px 20px 0!important}.feed-them_page_fts-bar-settings-page .error{margin:20px 20px 20px 5px!important;max-width:1005px}.hashtag-option-small-text,.twitter-hashtag-etc-wrap{display:none}.twitter-hashtag-etc-wrap{margin:15px 0 35px}.fts-content{background-color:rgba(241,241,241,.65);padding:30px;z-index:1;display:nonee;border-radius:2px;box-shadow:0 2px 10px rgba(41,41,41,.51);min-height:315px}.shortcode-generator-form{border-radius:3px;margin-top:15px}.instructional-text a:hover{color:#ea1616;text-decoration:underline;opacity:.8}.final-shortcode-textarea h4{border-bottom:1px solid #fff;padding:0 0 10px;font-size:13px;margin-bottom:15px}.toplevel_page_feed-them-settings-page .fts-content h1{color:#fbfbfb;margin:0 0 12px;line-height:30px;text-shadow:1px 1px 1px rgba(51,51,51,.06);font-weight:600;background:url(../images/feed-them-social-logo.png) no-repeat;height:40px;width:377px;font-size:0}.fb-options-wrap .feed-them-social-admin-submit-btn{margin-top:5px}#fts-social-selector,.twitter-gen-selection{margin-bottom:25px}.fts-text-align-center{text-align:center}.toplevel_page_feed-them-settings-page .feed-them-social-admin-slick-logo{background:url(../images/footer-logo.png) center no-repeat;width:110px;height:20px;padding:0;margin:20px 0 -20px;display:inline-block;position:relative;bottom:0;opacity:1}.fb-image,.fts-backg{width:100%;height:100%;}.feed-them-social-admin-wrap h3{color:#000;font-size:20px;font-weight:400;line-height:23px;margin:0 0 5px}.feed-them-social-admin-wrap .feed-them-social-admin-form h2{color:#000;font-size:23px;font-weight:400;line-height:23px;margin:15px 0 20px;padding:0}.instagram-id-option-wrap .feed-them-social-admin-submit-btn,.toplevel_page_feed-them-settings-page .feed-them-social-admin-submit-btn{margin-top:0;margin-left:0!important}.toplevel_page_feed-them-settings-page .instagram-id-option-wrap .feed-them-social-admin-submit-btn{margin-top:5px!important;margin-left:0!important}.feed-them-clear-cache .use-of-plugin{margin:0}.feed-them-clear-cache h2,.feed-them-custom-css h2,.feed-them-custom-logo-css h2{margin-bottom:10px;margin-top:5px;font-size:17px;padding-top:20px;border-top:1px dotted rgba(177,177,177,.88);color:#060606}.feed-them-clear-cache h2{border:none;margin-top:17px;padding-top:0}.feed-them-custom-css p,.feed-them-custom-logo-css p{margin:0 0 5px}#fts-date-and-time-format{margin-bottom:10px}.feed-them-social-admin-submit-btn{margin-top:15px!important}#fts_admin_bar_menu{margin-bottom:0;margin-left:31px}.fts-backg{position:absolute;top:0;right:0;z-index:0;opacity:1;-webkit-animation:ftsettings 5s;animation:ftsettings 5s;background:rgba(255,255,255,.8)}@-webkit-keyframes ftsettings{from{opacity:0}to{opacity:1}}@keyframes ftsettings{from{opacity:0}to{opacity:1}}.fb-reviews,.reviews-options{display:none}.fts-required-token-message{padding:15px;background:#fcfcfc;margin:12px 0 20px;border-left:4px solid #fb3939}.custom_time_ago_wrap{padding-top:10px}.custom_time_ago_wrap h2{margin-bottom:20px}.custom_time_ago_wrap label{color:#000;display:inline-block;min-width:75px;margin:0 10px 12px;font-size:13px}.slideshow-wrap{margin-top:18px}.fb-page-list{margin:0;display:block;max-width:740px}.fb-page-list li{background:#fff;padding:8px 10px 10px;margin:0;border-left:15px solid #3b5999;border-bottom:1px solid #e9ebee;cursor:pointer}.fb-page-list li .feed-them-social-admin-submit-btn{display:none;margin-top:9px!important;position:absolute;right:15px;top:7px}.fb-page-list li:hover{background:rgba(255,255,255,.57)}.fb-image{margin:0 15px 0 0;float:left;line-height:50px;text-align:center!important;max-width:50px;min-width:50px;vertical-align:baseline;min-height:50px;max-height: 50px;}.fb-image img{display:inline-block;vertical-align:middle;border-radius:50px}.fb-name{margin:0;display:inline-block;line-height:15px;color:#4c4c4c;font-weight:500;padding-top:10px}.board-name,.combine-instagram-hashtag-option-text,.combine_instagram_hashtag,.combine_instagram_hashtag_type,.fb-video-play-btn-options-content,.fb-video-play-btn-options-wrap,.fb_album_photos_id,.fts-facebook-grid-options-wrap,.fts-facebook-load-more-options-wrap,.fts-facebook-load-more-options2-wrap,.fts-fb-id,.fts-instagram-load-more-options-wrap,.fts-super-facebook-options-wrap,.fts-youtube-load-more-options-wrap,.fts-youtube-load-more-options2-wrap,.instagram-hashtag-option-text,.instagram-location-option-text,.instagram_hashtag_type,.page-token,.pinterest-board-and-name-text,.slider_options_wrap,.slideshow-wrap,.youtube_align_comments_wrap,.youtube_channelID2,.youtube_name,.youtube_name2,.youtube_playlistID,.youtube_playlistID2,.youtube_singleVideoID{display:none}.fts-pages-info{background:#3b5999;max-width:710px;padding:10px 15px 12px;color:#fff;margin-top:1px;letter-spacing:.5px}.fts-fb-page-thumb{float:left;margin-right:10px;border-radius:50px}.fts-successful-api-token h3{margin-bottom:0;margin-top:4px;font-weight:700}.use-of-plugin{color:#000;font-size:13px;font-weight:400;line-height:20px;max-width:60%;padding-bottom:12px;margin-bottom:0}.fts-admin-button-no-work{margin:0 0 0 25px;line-height:41px}.twitter_hashtag_etc_name{padding-top:0}.page.inst-text-facebook-page{display:block}.slider_options_wrap.not-active-premium-fields,.slideshow-wrap .feed-them-social-admin-input-default{display:block!important}.fts-premium-options-message a.not-active-title:first-child{font-size:16px!important;display:block!important;padding:0!important;margin:0 0 5px!important;text-decoration:none!important}.combine-facebook-wrap,.combine-grid-options-wrap,.combine-instagram-wrap,.combine-pinterest-wrap,.combine-twitter-wrap,.combine-youtube-wrap,.combine_board_id,.combine_playlist_id,.combine_youtube_name,.display-comments-wrap,.facebook-reviews-wrap,.fts-premium-options-message,.fts-twitter-grid-options-wrap,.fts-twitter-load-more-options-wrap,.fts-twitter-load-more-options2-wrap,.inst-text-facebook-reviews,.instagram-profile-options-wrap,.like-box-wrap{display:none}.sectioned-options-title{margin-top:15px!important;margin-bottom:15px!important;border-bottom:1px solid #f1f1f1;padding:10px 10px 10px 30px;font-size:18px!important;color:#060606!important;background:#fff;margin-left:-30px!important;box-shadow:0 1px 1px rgba(153,153,153,.59)}.facebook-image-animation-option-wrap,.multiple_facebook .facebook-loadmore-wrap,.multiple_facebook .facebook-title-options-wrap,.multiple_facebook .like-box-wrap,.multiple_facebook h2{display:none!important}.fts-fb-load-more,.fts-fb-spinner{text-align:center}.fts-fb-spinner>div{width:10px;height:10px;background-color:#999;border-radius:100%;display:inline-block;-webkit-animation:fts-fb-bouncedelay 1.4s infinite ease-in-out;animation:fts-fb-bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.fts-hide-me,.popup-gallery-fb .fts-fb-caption{display:none}.fb-social-btn-below-description,.fb-social-btn-bottom,.fb-social-btn-top{width:100%!important;overflow:hidden}.fts-fb-spinner .bounce1{-webkit-animation-delay:-.32s;animation-delay:-.32s}.fts-fb-spinner .bounce2{-webkit-animation-delay:-.16s;animation-delay:-.16s}@-webkit-keyframes fts-fb-bouncedelay{0%,100%,80%{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes fts-fb-bouncedelay{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.fts-fluid-videoWrapper-html5 video{object-fit:inherit;margin-bottom:0!important}.fts-fb-album-view-link a{color:#fff}.fts-fb-album-view-link a:hover{color:#eee}.fts-fb-load-more{border-radius:1px;padding:0;line-height:37px!important;width:100%;min-height:37px!important;font-size:13px!important;background:#fff!important;cursor:pointer;color:#787a7b;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;max-width:740px!important;font-weight:700}.toggle-custom-textarea-show span,label.toggle-custom-textarea-show{color:#fffefe}.fts-logo-header{margin-bottom:20px!important}.fts-logo-subheader{margin-bottom:10px!important}.fts-color-settings-admin-form label{font-weight:700;min-width:100px}#fts_clear_cache_developer_mode{margin-left:28px}.toplevel_page_feed-them-settings-page .pane-active{display:block}.toplevel_page_feed-them-settings-page .fts-tabbed{display:block;float:left;color:#545454;font-weight:700;text-decoration:none;line-height:1.9;text-align:center;cursor:pointer;border-bottom:1px solid #ccc;padding:10px 38px!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:115px;background:#fff;margin-right:1px!important;font-size:13px;width:auto!important}.toplevel_page_feed-them-settings-page label.tab-active{background:#0073aa!important;color:#fff!important}.toplevel_page_feed-them-settings-page .fts-tab-content{clear:both;padding-top:15px}.feed-them-social-admin-input-label small{font-weight:400}.not-active-title:hover h3{color:#028fd2}.not-active-title h3{color:#0073aa}@media (max-width:797px){.toplevel_page_feed-them-settings-page #fts-tabs{margin-top:140px!important}}@media (max-width:450px){#shortcode-form-selector{min-width:270px!important}}@media (max-width:500px){.toplevel_page_feed-them-settings-page #fts-tab-content1 .use-of-plugin{max-width:100%!important}}#fts-timezone{max-width:300px}.fts-instagram-username-picker-wrap li{clear:both;background:#e6e6e6;padding:10px;margin-bottom:1px;display:block;width:100%;line-height:16px;float:left}.combine-twitter-hashtag-etc-wrap,.facebook_hide_date,.facebook_hide_name,.facebook_hide_thumbnail,.facebook_show_media,.fts-success,.youtube_video_single_info_display{display:none}.fts-instagram-username-picker-wrap li.fts-insta-id-active,.fts-instagram-username-picker-wrap li:hover{background:#0073aa;color:#fff}.ft-instagram-username-picker{clear:both;margin:0 0 1px;height:65px}.fts-insta-profile-picture-div img{float:left;max-width:65px;margin-right:15px;border-radius:100px}.fts-insta-fullname-div{padding:5px 0 2px}.fts-insta-id-div{font-style:italic;padding:5px 0 0}.fts-instagram-username-picker-wrap{padding-right:20px;max-height:310px;overflow:auto;margin:0}.fts-instagram-username-picker-wrap li:first-child{margin-top:10px}.fts-instagram-username-picker-wrap li:last-child{margin-bottom:10px}.fts-empty-error input,input.fts-empty-error{background:#ffffd8!important}.fts-instagram-username-picker-wrap li{color:#222}.fts-highlight{background:#0073aa;border-radius:20px;color:#fff;padding:0 5px}.fts-youtube-get-access-token,.fts-youtube-get-access-token:focus{padding:18px 16px 19px 188px;background: url(../images/google-logo-admin.jpg) 13px 12px no-repeat #fff;color:#252525;}.fts-twitter-get-access-token,.fts-twitter-get-access-token:focus{padding:18px 16px 19px 188px;background:url(../images/twitter-logo-admin.jpg) 13px 12px no-repeat #fff;color:#252525}.fts-twitter-add-all-keys-click-option,.fts-youtube-add-all-keys-click-option{margin:-10px 0 15px;text-align:left;clear:both}.twitter-extra-keys-text,.youtube-extra-keys-text{max-width:550px;margin-bottom:15px}.feed-them_page_fts-twitter-feed-styles-submenu-page .fts-successful-api-token{margin-top:0;margin-bottom:-10px}#fts-timer{padding:6px 0 0 1px;float:left}@font-face{font-family:FontAwesomeSlick;src:url(../../feeds/css/font/fontawesome-webfont.eot?v=3.2.1);src:url(../../feeds/css/font/fontawesome-webfont.eot?#iefix&v=3.2.1) format("embedded-opentype"),url(../../feeds/css/font/fontawesome-webfont.woff?v=3.2.1) format("woff"),url(../../feeds/css/font/fontawesome-webfont.ttf?v=3.2.1) format("truetype"),url(../../feeds/css/font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1) format("svg")}.fts-success:before{font-family:FontAwesomeSlick!important;content:"\f00c"!important;font-size:14px;position:relative;line-height:19px}.fts-success{margin:3px 6px 0;padding:2px 4px;color:#fff;background:#01a701;border-radius:20px;float:left;font-size:10px!important;width:auto;height:18px}#discount-for-review a:hover{color:#0073aa}.fb-sublist{border:none!important;overflow:auto;height:200px;background:#f7f7f7}.fb-sublist li{border:1px solid #f7f7f7!important;border-bottom:0;border-right:0}.fts-token-save{border-radius:100px}.fb-sublist .fb-name{letter-spacing:0!important;font-size:13px}.fts-fb-location-text-wrap{padding:8px;text-align:center;color:#f7f7f7;font-weight:700;background:#00a400;margin:10px 0 0}.fb-name small{display:block;line-height:0;letter-spacing:0;color:#969696}.fts-successful-api-token small{font-size:12px}.fb-page-list li{position:relative}.fts-successful-api-token h3 a{text-decoration:none!important;color:#262627;text-shadow:1px 1px 1px #fff;font-size:17px}.fts-successful-api-token h3 a:hover,.fts-successful-api-token img:hover{opacity:.8}.fb-page-list .fts-fb-load-more{color:#00a400}.feed-them-icon-wrap a.youtube-icon{background:url(../images/youtube-icon.png) top right no-repeat}.combine-instagram-wrap .fts-instagram-hashtag-location-options-message{margin-top:25px;margin-bottom:-25px}.fts-fb-token-wrap .dashicons-admin-links:before{font-size:20px;color:#3b5999}.fb-page-master-list .dashicons-admin-links:before{top:-3px;position:relative}.fts-successful-api-token .dashicons-admin-links:before{top:3px;position:relative}.fts-arrow-icon:before{content:'\f054';font-family:FontAwesomeSlick!important;color:#00a400;font-size:18px!important;position:relative;top:2px;padding:0 8px}.fts-fb-icon:before{content:'\f082';font-family:FontAwesomeSlick!important;color:#3a5899;font-size:20px!important;position:relative;top:2px;padding-right:5px}.fts-insta-icon:before{content:'\f16d';font-family:FontAwesomeSlick!important;color:#263232;font-size:22px!important;position:relative;top:3px;padding-right:5px}.fts-special-working-wrap .fts-arrow-icon:before{font-size:18px!important;top:1px}.fts-special-working-wrap .fts-fb-icon:before{top:1px}.fts-special-working-wrap .fts-insta-icon:before{top:2px}.instagram_hashtag{display:none}
|
1 |
+
.clear,.fts-clear{clear:both}.display{display:block!important}.facebook-message-generator,.final-instagram-user-id-textarea,.final-shortcode-textarea,.fts-facebook_group-shortcode-form .twitter_name,.fts-fb-event-option-wrap .twitter_name,.shortcode-generator-form,instagram-shortcode-form{display:none}.feed-them_page_fts-facebook-feed-styles-submenu-page .use-of-plugin{font-size:13px;font-weight:400;line-height:20px;max-width:740px;border-bottom:1px solid #ccc}.feed-them_page_fts-facebook-feed-styles-submenu-page .feed-them-social-admin-wrap h1,.feed-them_page_fts-facebook-feed-styles-submenu-page .feed-them-social-admin-wrap h2,.feed-them_page_fts-facebook-feed-styles-submenu-page .use-of-plugin,.feed-them_page_fts-instagram-feed-styles-submenu-page .feed-them-social-admin-wrap h1,.feed-them_page_fts-instagram-feed-styles-submenu-page .feed-them-social-admin-wrap h2,.feed-them_page_fts-instagram-feed-styles-submenu-page .use-of-plugin,.feed-them_page_fts-pinterest-feed-styles-submenu-page .feed-them-social-admin-wrap h1,.feed-them_page_fts-pinterest-feed-styles-submenu-page .use-of-plugin,.feed-them_page_fts-twitter-feed-styles-submenu-page .feed-them-social-admin-wrap h1,.feed-them_page_fts-twitter-feed-styles-submenu-page .feed-them-social-admin-wrap h2,.feed-them_page_fts-twitter-feed-styles-submenu-page .use-of-plugin,.feed-them_page_fts-youtube-feed-styles-submenu-page .feed-them-social-admin-wrap h1,.feed-them_page_fts-youtube-feed-styles-submenu-page .use-of-plugin{color:#333}.instagram-id-option-wrap{margin-top:25px}.feed-them_page_fts-facebook-feed-styles-submenu-page .feed-them-social-admin-wrap h2,.feed-them_page_fts-instagram-feed-styles-submenu-page .feed-them-social-admin-wrap h2{margin-top:45px}.fts-super-instagram-options-wrap{padding-top:0}.fts-empty-error input{background-color:#fdfdd3!important}.toplevel_page_feed-them-settings-page h1{font-size:32px}.feed-them_page_fts-twitter-feed-styles-submenu-page .feed-them-social-admin-wrap h2,.fts-youtube-feed-styles-submenu-page .feed-them-social-admin-wrap h2{margin-top:45px;color:#333}.feed-them-social-admin-wrap h1{color:#fff;margin:0 0 5px;line-height:30px;font-weight:700}.feed-them-social-admin-wrap h4{font-size:12px;font-weight:400;color:#000;margin:1px 0 8px}.feed-them-social-admin-wrap input[type=button],.feed-them-social-admin-wrap input[type=submit]{-webkit-appearance:none}.feed-them-social-admin-wrap input[type=text]{line-height:19px;max-width:100%;font-weight:400}.feed-them_page_fts-facebook-feed-styles-submenu-page .feed-them-social-admin-wrap,.feed-them_page_fts-instagram-feed-styles-submenu-page .feed-them-social-admin-wrap,.feed-them_page_fts-pinterest-feed-styles-submenu-page .feed-them-social-admin-wrap,.feed-them_page_fts-twitter-feed-styles-submenu-page .feed-them-social-admin-wrap,.feed-them_page_fts-youtube-feed-styles-submenu-page .feed-them-social-admin-wrap{max-width:100%;width:100%;min-height:auto;background:0 0;padding:0;-webkit-box-shadow:none;box-shadow:none;border-radius:1px;position:relative;margin:20px 20px 0 0;-webkit-text-size-adjust:none}.feed-them_page_fts-facebook-feed-styles-submenu-page .feed-them-social-admin-input-wrap,.feed-them_page_fts-pinterest-feed-styles-submenu-page .feed-them-social-admin-input-wrap,.feed-them_page_fts-twitter-feed-styles-submenu-page .feed-them-social-admin-input-wrap,.feed-them_page_fts-youtube-feed-styles-submenu-page .feed-them-social-admin-input-wrap{background:0 0}.feed-them-social-admin-wrap{max-width:806px;min-height:379px;padding:19px;margin:20px 10px 0 0;background-size:cover;-webkit-text-size-adjust:none;overflow:hidden;border-radius:2px}.feed-them_page_fts-youtube-feed-styles-submenu-page h2{color:#333!important;margin-top:45px!important}.feed-them-social-admin-form .feed-them-social-admin-wrap h2{color:#000;font-size:20px;font-weight:400;line-height:23px;margin:15px 0}.feed-them-social-admin-form{padding:5px 0 0;height:auto}.fts-facebook_group-shortcode-form:hover a{background-position:top right!important;background-size:34px!important;height:34px!important;width:34px!important}.feed-them-social-admin-input-wrap{padding:5px 0 10px;margin-bottom:10px;border-radius:2px;-webkit-border-radius:2px}.pinterest-gen-selection{margin-bottom:25px}.final-shortcode-textarea .feed-them-social-admin-input-label{color:#0361b8;width:auto;font-size:14px}.instagram-shortcode-form .final-shortcode-textarea .feed-them-social-admin-input-label{color:#0361b8}.final-shortcode-textarea{margin-top:25px}.final-shortcode-textarea input{width:100%;margin-top:2px}.feed-them-social-admin-input-label{float:left;width:230px;margin-right:10px;font-size:13px;padding-top:6px;font-weight:700;padding-left: 10px;}.feed-them_page_fts-facebook-feed-styles-submenu-page .feed-them-social-admin-input-label,.feed-them_page_fts-instagram-feed-styles-submenu-page .feed-them-social-admin-input-label,.feed-them_page_fts-twitter-feed-styles-submenu-page .feed-them-social-admin-input-label{float:left;width:230px;margin-right:10px;font-size:13px;text-transform:none;padding-top:6px;padding-left: 10px;}.feed-them-social-admin-input-label a{text-decoration:underline!important;cursor:pointer}.feed_them_social_id-answer a,.im-done{cursor:pointer!important}.feed-them-social-admin-input-example{float:left;font-weight:700;margin-left:10px;padding-top:4px}.feed-them-social-admin-input{float:left;width:305px;max-width:100%;font-weight:400}.feed-them-social-admin-input-default{float:left;width:290px;padding:4px 7px;border:1px solid #dfdfdf;background-color:#fff;font-size:12px}.fts-color-settings-admin-form .feed-them-social-admin-submit-btn{float:left;margin:0;padding:0 20px;height:37px;line-height:35px}.feed-them-social-admin-submit-btn{padding:10px 15px;border-radius:1px;background-color:#31ac45!important;color:#fff!important;font-weight:400;cursor:pointer!important;transition:all .3s ease-in-out;border:none;letter-spacing:1px;outline:0;font-size:12px}.feed-them-social-admin-submit-btn,.feed-them-social-admin-submit-btn:hover{-webkit-transition:background 2s;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out}.feed-them-social-admin-submit-btn:hover{background-color:#2bbe43!important;color:#fff!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;outline:0}.toplevel_page_feed-them-settings-page .feed-them-social-admin-slick-logo{right:5px;-webkit-border-radius:3px;border-radius:3px}.feed_them_social_id-answer{padding:15px 0;display:none;font-weight:700}.feed_them_social_id-answer div{padding-bottom:10px}.im-done{padding:10px;background-color:#cd1723!important;border:none!important;color:#fff!important;font-weight:700;text-shadow:1px 1px 3px #000;filter:dropshadow(color=#000000, offx=1, offy=1);-webkit-border-radius:3px;border-radius:3px}#shortcode-form-selector{margin-bottom:10px;height:40px;min-width:290px;line-height:40px}.feed-them-icon-wrap{position:absolute;right:27px;top:25px;width:234px;height:50px}.feed-them-social-admin-wrap,.fts-content,.fts-plugin-reviews{position:relative}.fts-facebook_group-shortcode-form:hover .feed-them-icon-wrap a.facebook-icon{background-position:top right!important;background-size:34px!important;height:34px!important;width:34px!important;display:none}.feed-them-icon-wrap a{opacity:1;float:right;margin-left:1px;margin-bottom:1px;display:block;height:38px;width:38px;cursor:default;outline:0;border:none;box-shadow:0 1px 1px #222;border-radius:0;transition:all .3s ease-in-out}.feed-them-icon-wrap a,.feed-them-icon-wrap a:hover{-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out}.feed-them-icon-wrap a:hover{opacity:.85;transition:all .3s ease-in-out}.feed-them-icon-wrap a.facebook-icon{background:url(../images/facebook-icon.png) no-repeat}.feed-them-icon-wrap a.twitter-icon{background:url(../images/twitter-icon.png) top right no-repeat}.feed-them-icon-wrap a.instagram-icon{background:url(../images/instagram-icon.png) top right no-repeat}.feed-them-icon-wrap .feed-them-icon-wrap a.youtube-icon{background:url(../images/youtube-icon.png) top right no-repeat}.feed-them-icon-wrap a.pinterest-icon{background:url(../images/pinterest-icon.png) top right no-repeat}a.icon-animate-small{background-position:top right!important;background-size:34px!important;height:34px!important;width:34px!important}.instructional-text{font-size:13px;line-height:19px;margin:0 0 15px;border-bottom:1px dotted #9c9c9c;color:#212121;padding:0 0 5px}.instructional-text a{color:#0073aa;text-decoration:none}.instructional-text a,.instructional-text a:hover{-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out}.instructional-text a:hover{transition:all .3s ease-in-out}.feed-them-custom-css{padding-top:25px;padding-left:0}.feed-them-clear-cache input{background-color:#f11e2e!important;margin-bottom:10px}.feed-them-clear-cache input:hover{background-color:#f15d2e!important}.feed-them-clear-cache-text{color:#f11e2e!important;font-weight:700;background-color:rgba(255,255,255,.88);padding:10px 16px;margin-top:10px;margin-bottom:10px;border-radius:2px;-webkit-border-radius:2px;opacity:.9}.fts-get-premium-version{margin-right:1em;margin-top:15px;display:block;max-width:210px;text-align:center;text-decoration:none!important}textarea#fts-color-options-main-wrapper-css-input{max-width:100%;min-height:350px;clear:both;background:#f9f9f9;font-family:Consolas,Monaco,monospace;font-size:12px;width:100%;height:300px;outline:0}.fts-custom-css-text{margin-bottom:5px}label.toggle-custom-textarea-show:hover{background:#999}label.toggle-custom-textarea-show{max-width:435px;display:block;height:37px;line-height:35px;float:left;text-align:center;padding:0 15px;background:#818181;border-radius:1px;font-size:12px;clear:both;letter-spacing:1px;margin:5px 5px 10px 0;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#fts-color-options-main-wrapper-css-input,.fts-custom-css-text,.toggle-custom-textarea-hide{display:none}.fts-admin-wrap p input[type=checkbox],.fts-wp-header-custom input[type=checkbox]{margin:-1px 7px 0 2px!important}.fts-color-settings-admin-form p,.fts-powered-by-settings-admin-form p{color:#000;font-size:12px;-webkit-text-size-adjust:none}.fts-powered-by-settings-admin-form p{margin-bottom:0}.feed-them-custom-logo-css{margin-top:25px}#discount-for-review{clear:both;margin-bottom:1px;text-align:center;font-weight:700;color:#000;background:rgba(255,255,255,.53);float:right;width:195px;line-height:40px;cursor:pointer}.discount-review-text{clear:both;color:#333;background:rgba(255,255,255,.9);width:165px;float:right;padding:20px 15px;text-align:center;display:none}#discount-for-review a{display:inline-block;width:auto;height:auto;margin:0;padding:0;border:none;box-shadow:none;float:none;cursor:pointer;text-decoration:none;font-size:12px;font-weight:700;color:#0073aa}.fts-color-settings-admin-form label,.fts-color-settings-admin-form span{color:#060606}.fts-color-settings-admin-form p.example{color:#fff;padding-bottom:35px!important}.fts-color-settings-admin-form fieldset label{color:#fff;line-height:30px}.fts-color-settings-admin-form fieldset a{color:#fff;text-decoration:none}@media (max-width:800px){.toplevel_page_feed-them-settings-page .feed-them-social-admin-wrap h1{text-shadow:#fff!important;height:32px!important;width:280px!important;background-size:280px!important}.feed-them-icon-wrap{position:relative;margin:-20px 0 70px;left:0!important;height:auto;clear:both;text-align:left}.feed-them-social-admin-slick-logo{display:none}#fts-date-and-time-format{width:100%}}.fts-failed-api-token,.fts-successful-api-token{clear:both;float:left;padding:7px 14px 7px 10px;border:1px solid rgba(255,255,255,.45);color:#000;margin:10px 20px 0 0;max-width:715px;width:100%}.fts-failed-api-token{background:rgba(245,207,206,.78)}.fts-successful-api-token{background:rgba(220,253,205,.78)}.feed-them_page_fts-facebook-feed-styles-submenu-page .fts-failed-api-token,.feed-them_page_fts-facebook-feed-styles-submenu-page .fts-successful-api-token,.feed-them_page_fts-instagram-feed-styles-submenu-page .feed-them_page_fts-instagram-feed-styles-submenu-page .fts-successful-api-token,.feed-them_page_fts-instagram-feed-styles-submenu-page .fts-failed-api-token,instagram-failed-message{margin-top:0!important;padding:10px 15px;max-width:708px}.fts-special-working-wrap{padding: 8px 8px 15px 18px!important;max-width:722px!important}#fts_facebook_custom_api_token,#fts_facebook_custom_api_token_biz,#fts_facebook_instagram_custom_api_token{margin-bottom:20px!important}.fts-facebook-custom-api-token-label{display:block;margin:0 40px 4px 0}.fts-facebook-custom-api-token-label a{font-weight:700;color:#df1818}.twitter-api-wrap{margin:20px 0 0}.twitter-api-wrap .feed-them-social-admin-input-wrap{margin:0}.fts-facebook-custom-api-token-label,.fts-instagram-custom-api-token-label{max-width:700px;line-height:21px;font-size:13px}.fts-facebook-get-access-token,.fts-facebook-get-access-token:focus,.fts-instagram-get-access-token,.fts-instagram-get-access-token:focus,.fts-pinterest-get-access-token,.fts-pinterest-get-access-token:focus,.fts-twitter-get-access-token,.fts-twitter-get-access-token:focus,.fts-youtube-get-access-token,.fts-youtube-get-access-token:focus{border-radius:5px;box-shadow:0 1px 1px #999;display:block;clear:both;float:left;font-size:14px;margin-bottom:25px;margin-top:5px;text-decoration:none;font-weight:600}.fts-instagram-get-access-token,.fts-instagram-get-access-token:focus{padding:18px 16px 19px 188px;background:url(../images/instagram-logo-admin.png) 13px 12px no-repeat #fff;color:#252525}.fts-pinterest-get-access-token,.fts-pinterest-get-access-token:focus{padding:18px 16px 19px 188px;background:url(../images/pinterest-logo-admin.jpg) 13px 12px no-repeat #fff;color:#252525}.fts-facebook-get-access-token:hover,.fts-instagram-get-access-token:hover,.fts-pinterest-get-access-token:hover{color:#666}.fts-facebook-get-access-token,.fts-facebook-get-access-token:focus{padding:18px 16px 19px 182px;background:url(../images/facebook-logo-admin.jpg) 14px 12px no-repeat #fff;color:#252525}@font-face{margin:0 0 9px;font-size:19px}.fts-title-description-settings-page{padding:25px 0 15px;max-width:740px;border-top:1px solid #ccc}.fts-premium-options-message,.fts-premium-options-message2{font-size:13px;padding:20px 25px 25px;line-height:19px;background-color:#fff;margin:0}.fts-premium-options-message a:first-child,.fts-premium-options-message2 a:first-child{font-size:16px;display:inline-block;padding:0;margin:0 0 5px;text-decoration:none}.fts-plugin-reviews{max-width:789px;padding:25px 28px 31px;box-shadow:0 0 1px #d1d1d1;border-radius:1px;background:rgba(255,255,255,1);-webkit-text-size-adjust:none;font-size:13px;line-height:21px;margin-right:10px}.fts-plugin-reviews a{text-decoration:none}.fts-plugin-reviews-rate{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eee}h1.plugin-author-note{margin:50px 0 15px!important;font-size:22px;color:#222;z-index:1;position:relative}.toplevel_page_feed-them-settings-page .error{margin:20px 20px 20px 0;max-width:818px}.feed-them_page_fts-facebook-feed-styles-submenu-page .error,.feed-them_page_fts-instagram-feed-styles-submenu-page .error,.feed-them_page_fts-pinterest-feed-styles-submenu-page .error,.feed-them_page_fts-system-info-submenu-page .error,.feed-them_page_fts-system-info-submenu-page .notice,.feed-them_page_fts-twitter-feed-styles-submenu-page .error,.feed-them_page_fts-youtube-feed-styles-submenu-page .error{margin:20px 20px 20px 0!important}.feed-them_page_fts-bar-settings-page .error{margin:20px 20px 20px 5px!important;max-width:1005px}.hashtag-option-small-text,.twitter-hashtag-etc-wrap{display:none}.twitter-hashtag-etc-wrap{margin:15px 0 35px}.fts-content{background-color:rgba(241,241,241,.65);padding:30px;z-index:1;display:nonee;border-radius:2px;box-shadow:0 2px 10px rgba(41,41,41,.51);min-height:315px}.shortcode-generator-form{border-radius:3px;margin-top:15px}.instructional-text a:hover{color:#ea1616;text-decoration:underline;opacity:.8}.final-shortcode-textarea h4{border-bottom:1px solid #fff;padding:0 0 10px;font-size:13px;margin-bottom:15px}.toplevel_page_feed-them-settings-page .fts-content h1{color:#fbfbfb;margin:0 0 12px;line-height:30px;text-shadow:1px 1px 1px rgba(51,51,51,.06);font-weight:600;background:url(../images/feed-them-social-logo.png) no-repeat;height:40px;width:377px;font-size:0}.fb-options-wrap .feed-them-social-admin-submit-btn{margin-top:5px}#fts-social-selector,.twitter-gen-selection{margin-bottom:25px}.fts-text-align-center{text-align:center}.toplevel_page_feed-them-settings-page .feed-them-social-admin-slick-logo{background:url(../images/footer-logo.png) center no-repeat;width:110px;height:20px;padding:0;margin:20px 0 -20px;display:inline-block;position:relative;bottom:0;opacity:1}.fb-image,.fts-backg{width:100%;height:100%;}.feed-them-social-admin-wrap h3{color:#000;font-size:20px;font-weight:400;line-height:23px;margin:0 0 5px}.feed-them-social-admin-wrap .feed-them-social-admin-form h2{color:#000;font-size:23px;font-weight:400;line-height:23px;margin:15px 0 20px;padding:0}.instagram-id-option-wrap .feed-them-social-admin-submit-btn,.toplevel_page_feed-them-settings-page .feed-them-social-admin-submit-btn{margin-top:0;margin-left:0!important}.toplevel_page_feed-them-settings-page .instagram-id-option-wrap .feed-them-social-admin-submit-btn{margin-top:5px!important;margin-left:0!important}.feed-them-clear-cache .use-of-plugin{margin:0}.feed-them-clear-cache h2,.feed-them-custom-css h2,.feed-them-custom-logo-css h2{margin-bottom:10px;margin-top:5px;font-size:17px;padding-top:20px;border-top:1px dotted rgba(177,177,177,.88);color:#060606}.feed-them-clear-cache h2{border:none;margin-top:17px;padding-top:0}.feed-them-custom-css p,.feed-them-custom-logo-css p{margin:0 0 5px}#fts-date-and-time-format{margin-bottom:10px}.feed-them-social-admin-submit-btn{margin-top:15px!important}#fts_admin_bar_menu{margin-bottom:0;margin-left:31px}.fts-backg{position:absolute;top:0;right:0;z-index:0;opacity:1;-webkit-animation:ftsettings 5s;animation:ftsettings 5s;background:rgba(255,255,255,.8)}@-webkit-keyframes ftsettings{from{opacity:0}to{opacity:1}}@keyframes ftsettings{from{opacity:0}to{opacity:1}}.fb-reviews,.reviews-options{display:none}.fts-required-token-message{padding:15px;background:#fcfcfc;margin:12px 0 20px;border-left:4px solid #fb3939}.custom_time_ago_wrap{padding-top:10px}.custom_time_ago_wrap h2{margin-bottom:20px}.custom_time_ago_wrap label{color:#000;display:inline-block;min-width:75px;margin:0 10px 12px;font-size:13px}.slideshow-wrap{margin-top:18px}.fb-page-list{margin:0;display:block;max-width:740px}.fb-page-list li{background:#fff;padding:8px 10px 10px;margin:0;border-left:15px solid #3b5999;border-bottom:1px solid #e9ebee;cursor:pointer}.fb-page-list li .feed-them-social-admin-submit-btn{display:none;margin-top:9px!important;position:absolute;right:15px;top:7px}.fb-page-list li:hover{background:rgba(255,255,255,.57)}.fb-image{margin:0 15px 0 0;float:left;line-height:50px;text-align:center!important;max-width:50px;min-width:50px;vertical-align:baseline;min-height:50px;max-height: 50px;}.fb-image img{display:inline-block;vertical-align:middle;border-radius:50px}.fb-name{margin:0;display:inline-block;line-height:15px;color:#4c4c4c;font-weight:500;padding-top:10px}.board-name,.combine-instagram-hashtag-option-text,.combine_instagram_hashtag,.combine_instagram_hashtag_type,.fb-video-play-btn-options-content,.fb-video-play-btn-options-wrap,.fb_album_photos_id,.fts-facebook-grid-options-wrap,.fts-facebook-load-more-options-wrap,.fts-facebook-load-more-options2-wrap,.fts-fb-id,.fts-instagram-load-more-options-wrap,.fts-super-facebook-options-wrap,.fts-youtube-load-more-options-wrap,.fts-youtube-load-more-options2-wrap,.instagram-hashtag-option-text,.instagram-location-option-text,.instagram_hashtag_type,.page-token,.pinterest-board-and-name-text,.slider_options_wrap,.slideshow-wrap,.youtube_align_comments_wrap,.youtube_channelID2,.youtube_name,.youtube_name2,.youtube_playlistID,.youtube_playlistID2,.youtube_singleVideoID{display:none}.fts-pages-info{background:#3b5999;max-width:710px;padding:10px 15px 12px;color:#fff;margin-top:1px;letter-spacing:.5px}.fts-fb-page-thumb{float:left;margin-right:10px;border-radius:50px}.fts-successful-api-token h3{margin-bottom:0;margin-top:4px;font-weight:700}.use-of-plugin{color:#000;font-size:13px;font-weight:400;line-height:20px;max-width:60%;padding-bottom:12px;margin-bottom:0}.fts-admin-button-no-work{margin:0 0 0 25px;line-height:41px}.twitter_hashtag_etc_name{padding-top:0}.page.inst-text-facebook-page{display:block}.slider_options_wrap.not-active-premium-fields,.slideshow-wrap .feed-them-social-admin-input-default{display:block!important}.fts-premium-options-message a.not-active-title:first-child{font-size:16px!important;display:block!important;padding:0!important;margin:0 0 5px!important;text-decoration:none!important}.combine-facebook-wrap,.combine-grid-options-wrap,.combine-instagram-wrap,.combine-pinterest-wrap,.combine-twitter-wrap,.combine-youtube-wrap,.combine_board_id,.combine_playlist_id,.combine_youtube_name,.display-comments-wrap,.facebook-reviews-wrap,.fts-premium-options-message,.fts-twitter-grid-options-wrap,.fts-twitter-load-more-options-wrap,.fts-twitter-load-more-options2-wrap,.inst-text-facebook-reviews,.instagram-profile-options-wrap,.like-box-wrap{display:none}.sectioned-options-title{margin-top:15px!important;margin-bottom:15px!important;border-bottom:1px solid #f1f1f1;padding:10px 10px 10px 30px;font-size:18px!important;color:#060606!important;background:#fff;margin-left:-30px!important;box-shadow:0 1px 1px rgba(153,153,153,.59)}.facebook-image-animation-option-wrap,.multiple_facebook .facebook-loadmore-wrap,.multiple_facebook .facebook-title-options-wrap,.multiple_facebook .like-box-wrap,.multiple_facebook h2{display:none!important}.fts-fb-load-more,.fts-fb-spinner{text-align:center}.fts-fb-spinner>div{width:10px;height:10px;background-color:#999;border-radius:100%;display:inline-block;-webkit-animation:fts-fb-bouncedelay 1.4s infinite ease-in-out;animation:fts-fb-bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.fts-hide-me,.popup-gallery-fb .fts-fb-caption{display:none}.fb-social-btn-below-description,.fb-social-btn-bottom,.fb-social-btn-top{width:100%!important;overflow:hidden}.fts-fb-spinner .bounce1{-webkit-animation-delay:-.32s;animation-delay:-.32s}.fts-fb-spinner .bounce2{-webkit-animation-delay:-.16s;animation-delay:-.16s}@-webkit-keyframes fts-fb-bouncedelay{0%,100%,80%{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes fts-fb-bouncedelay{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.fts-fluid-videoWrapper-html5 video{object-fit:inherit;margin-bottom:0!important}.fts-fb-album-view-link a{color:#fff}.fts-fb-album-view-link a:hover{color:#eee}.fts-fb-load-more{border-radius:1px;padding:0;line-height:37px!important;width:100%;min-height:37px!important;font-size:13px!important;background:#fff!important;cursor:pointer;color:#787a7b;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;max-width:740px!important;font-weight:700}.toggle-custom-textarea-show span,label.toggle-custom-textarea-show{color:#fffefe}.fts-logo-header{margin-bottom:20px!important}.fts-logo-subheader{margin-bottom:10px!important}.fts-color-settings-admin-form label{font-weight:700;min-width:100px}#fts_clear_cache_developer_mode{margin-left:28px}.toplevel_page_feed-them-settings-page .pane-active{display:block}.toplevel_page_feed-them-settings-page .fts-tabbed{display:block;float:left;color:#545454;font-weight:700;text-decoration:none;line-height:1.9;text-align:center;cursor:pointer;border-bottom:1px solid #ccc;padding:10px 38px!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:115px;background:#fff;margin-right:1px!important;font-size:13px;width:auto!important}.toplevel_page_feed-them-settings-page label.tab-active{background:#0073aa!important;color:#fff!important}.toplevel_page_feed-them-settings-page .fts-tab-content{clear:both;padding-top:15px}.feed-them-social-admin-input-label small{font-weight:400}.not-active-title:hover h3{color:#028fd2}.not-active-title h3{color:#0073aa}@media (max-width:797px){.toplevel_page_feed-them-settings-page #fts-tabs{margin-top:140px!important}}@media (max-width:450px){#shortcode-form-selector{min-width:270px!important}}@media (max-width:500px){.toplevel_page_feed-them-settings-page #fts-tab-content1 .use-of-plugin{max-width:100%!important}}#fts-timezone{max-width:300px}.fts-instagram-username-picker-wrap li{clear:both;background:#e6e6e6;padding:10px;margin-bottom:1px;display:block;width:100%;line-height:16px;float:left}.combine-twitter-hashtag-etc-wrap,.facebook_hide_date,.facebook_hide_name,.facebook_hide_thumbnail,.facebook_show_media,.fts-success,.youtube_video_single_info_display{display:none}.fts-instagram-username-picker-wrap li.fts-insta-id-active,.fts-instagram-username-picker-wrap li:hover{background:#0073aa;color:#fff}.ft-instagram-username-picker{clear:both;margin:0 0 1px;height:65px}.fts-insta-profile-picture-div img{float:left;max-width:65px;margin-right:15px;border-radius:100px}.fts-insta-fullname-div{padding:5px 0 2px}.fts-insta-id-div{font-style:italic;padding:5px 0 0}.fts-instagram-username-picker-wrap{padding-right:20px;max-height:310px;overflow:auto;margin:0}.fts-instagram-username-picker-wrap li:first-child{margin-top:10px}.fts-instagram-username-picker-wrap li:last-child{margin-bottom:10px}.fts-empty-error input,input.fts-empty-error{background:#ffffd8!important}.fts-instagram-username-picker-wrap li{color:#222}.fts-highlight{background:#0073aa;border-radius:20px;color:#fff;padding:0 5px}.fts-youtube-get-access-token,.fts-youtube-get-access-token:focus{padding:18px 16px 19px 188px;background: url(../images/google-logo-admin.jpg) 13px 12px no-repeat #fff;color:#252525;}.fts-twitter-get-access-token,.fts-twitter-get-access-token:focus{padding:18px 16px 19px 188px;background:url(../images/twitter-logo-admin.jpg) 13px 12px no-repeat #fff;color:#252525}.fts-twitter-add-all-keys-click-option,.fts-youtube-add-all-keys-click-option{margin: -10px 0 15px 10px;text-align:left;clear:both}.twitter-extra-keys-text,.youtube-extra-keys-text{max-width:550px;margin-bottom:15px;padding-left: 10px;}.feed-them_page_fts-twitter-feed-styles-submenu-page .fts-successful-api-token{margin-top:0;margin-bottom:-10px}#fts-timer{padding:6px 0 0 1px;float:left}@font-face{font-family:FontAwesomeSlick;src:url(../../feeds/css/font/fontawesome-webfont.eot?v=3.2.1);src:url(../../feeds/css/font/fontawesome-webfont.eot?#iefix&v=3.2.1) format("embedded-opentype"),url(../../feeds/css/font/fontawesome-webfont.woff?v=3.2.1) format("woff"),url(../../feeds/css/font/fontawesome-webfont.ttf?v=3.2.1) format("truetype"),url(../../feeds/css/font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1) format("svg")}.fts-success:before{font-family:FontAwesomeSlick!important;content:"\f00c"!important;font-size:14px;position:relative;line-height:19px}.fts-success{margin:3px 6px 0;padding:2px 4px;color:#fff;background:#01a701;border-radius:20px;float:left;font-size:10px!important;width:auto;height:18px}#discount-for-review a:hover{color:#0073aa}.fb-sublist{border:none!important;overflow:auto;height:200px;background:#f7f7f7}.fb-sublist li{border:1px solid #f7f7f7!important;border-bottom:0;border-right:0}.fts-token-save{border-radius:100px}.fb-sublist .fb-name{letter-spacing:0!important;font-size:13px}.fts-fb-location-text-wrap{padding:8px;text-align:center;color:#f7f7f7;font-weight:700;background:#00a400;margin:10px 0 0}.fb-name small{display:block;line-height:0;letter-spacing:0;color:#969696}.fts-successful-api-token small{font-size:12px}.fb-page-list li{position:relative}.fts-successful-api-token h3 a{text-decoration:none!important;color:#262627;text-shadow:1px 1px 1px #fff;font-size:17px}.fts-successful-api-token h3 a:hover,.fts-successful-api-token img:hover{opacity:.8}.fb-page-list .fts-fb-load-more{color:#00a400}.feed-them-icon-wrap a.youtube-icon{background:url(../images/youtube-icon.png) top right no-repeat}.combine-instagram-wrap .fts-instagram-hashtag-location-options-message{margin-top:25px;margin-bottom:-25px}.fts-fb-token-wrap .dashicons-admin-links:before{font-size:20px;color:#3b5999}.fb-page-master-list .dashicons-admin-links:before{top:-3px;position:relative}.fts-successful-api-token .dashicons-admin-links:before{top:3px;position:relative}.fts-arrow-icon:before{content:'\f054';font-family:FontAwesomeSlick!important;color:#00a400;font-size:18px!important;position:relative;top:2px;padding:0 8px}.fts-fb-icon:before{content:'\f082';font-family:FontAwesomeSlick!important;color:#3a5899;font-size:20px!important;position:relative;top:2px;padding-right:5px}.fts-insta-icon:before{content:'\f16d';font-family:FontAwesomeSlick!important;color:#263232;font-size:22px!important;position:relative;top:3px;padding-right:5px}.fts-special-working-wrap .fts-arrow-icon:before{font-size:18px!important;top:1px}.fts-special-working-wrap .fts-fb-icon:before{top:1px}.fts-special-working-wrap .fts-insta-icon:before{top:2px}.instagram_hashtag{display:none}
|
feed-them.php
CHANGED
@@ -7,18 +7,18 @@
|
|
7 |
* Plugin Name: Feed Them Social - for Twitter feed, Youtube, and more
|
8 |
* Plugin URI: https://feedthemsocial.com/
|
9 |
* Description: Display a Custom Facebook feed, Instagram feed, Twitter feed and YouTube feed on pages, posts or widgets.
|
10 |
-
* Version: 2.9.8
|
11 |
* Author: SlickRemix
|
12 |
* Author URI: https://www.slickremix.com/
|
13 |
* Text Domain: feed-them-social
|
14 |
* Domain Path: /languages
|
15 |
* Requires at least: WordPress 4.0.0
|
16 |
* Tested up to: WordPress 5.9.2
|
17 |
-
* Stable tag: 2.9.8
|
18 |
* License: GPLv2 or later
|
19 |
* License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
20 |
*
|
21 |
-
* @version 2.9.8
|
22 |
* @package FeedThemSocial/Core
|
23 |
* @copyright Copyright (c) 2012-2022 SlickRemix
|
24 |
*
|
@@ -31,7 +31,7 @@
|
|
31 |
*
|
32 |
* Makes sure any js or css changes are reloaded properly. Added to enqued css and js files throughout!
|
33 |
*/
|
34 |
-
define( 'FTS_CURRENT_VERSION', '2.9.8' );
|
35 |
|
36 |
define( 'FEED_THEM_SOCIAL_NOTICE_STATUS', get_option( 'rating_fts_slick_notice', false ) );
|
37 |
|
7 |
* Plugin Name: Feed Them Social - for Twitter feed, Youtube, and more
|
8 |
* Plugin URI: https://feedthemsocial.com/
|
9 |
* Description: Display a Custom Facebook feed, Instagram feed, Twitter feed and YouTube feed on pages, posts or widgets.
|
10 |
+
* Version: 2.9.8.10
|
11 |
* Author: SlickRemix
|
12 |
* Author URI: https://www.slickremix.com/
|
13 |
* Text Domain: feed-them-social
|
14 |
* Domain Path: /languages
|
15 |
* Requires at least: WordPress 4.0.0
|
16 |
* Tested up to: WordPress 5.9.2
|
17 |
+
* Stable tag: 2.9.8.10
|
18 |
* License: GPLv2 or later
|
19 |
* License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
20 |
*
|
21 |
+
* @version 2.9.8.10
|
22 |
* @package FeedThemSocial/Core
|
23 |
* @copyright Copyright (c) 2012-2022 SlickRemix
|
24 |
*
|
31 |
*
|
32 |
* Makes sure any js or css changes are reloaded properly. Added to enqued css and js files throughout!
|
33 |
*/
|
34 |
+
define( 'FTS_CURRENT_VERSION', '2.9.8.10' );
|
35 |
|
36 |
define( 'FEED_THEM_SOCIAL_NOTICE_STATUS', get_option( 'rating_fts_slick_notice', false ) );
|
37 |
|
feeds/css/styles.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
/* If you think we have to many !important rules you have to consider that we are fighting with the themes CSS which in most cases overrides a plugins CSS. So if you see an !important rule and are having trouble overriding it make sure and target the body, html or a wrapper ID before the CSS class you are trying to override. */ .entriestitle.fts-youtube-popup,.fts-yt-first-video{word-break:break-word}.fts-twitter-div a,.tweeter-info:hover a{-webkit-transition:all .3s ease-in-out;text-decoration:none!important}.tweeter-info,.tweeter-info:hover a{-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out}.fts-jal-fb-group-display,.fts-twitter-div{clear:both}@font-face{font-family:FontAwesomeSlick;src:url(../css/font/fontawesome-webfont.eot?v=3.2.1);src:url(../css/font/fontawesome-webfont.eot?#iefix&v=3.2.1) format("embedded-opentype"),url(../css/font/fontawesome-webfont.woff?v=3.2.1) format("woff"),url(../css/font/fontawesome-webfont.ttf?v=3.2.1) format("truetype"),url(../css/font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1) format("svg")}pre{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.fts-twitter-text{padding:8px 0 0;display:block;line-height:19px;text-align:left;clear:both}.fts-video-show-hide-btns-wrap a:focus,.fts-video-show-hide-btns-wrap a:link,.fts-video-show-hide-btns-wrap a:visited{outline:0!important;border:none!important}.fts-view-on-twitter-link:before{font-family:FontAwesomeSlick;content:"\f14c ";display:inline-block;margin-right:6px}.fts-video-show-hide-btns-wrap a:before{font-family:FontAwesomeSlick;content:'\f16a';display:inline-block;margin-right:5px}img.fts-twitter-description-image{margin:10px 0 0!important}.fts-twitter-favorites:before,.fts-twitter-retweet:before{margin-right:5px;font-family:FontAwesomeSlick;position:relative}.fts-twitter-retweet:before{content:'\f079'!important;font-size:17px!important;top:1px}.fts-twitter-favorites:before{content:'\f004 '!important;font-size:13px!important;top:0}.fts-twitter-reply:before{font-family:FontAwesomeSlick;content:'\f112'!important;position:relative;top:2px;font-size:14px}.fts-twitter-caption,blockquote.twitter-video{display:none}.fts-twitter-div *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.fts-fb-slideshow,.fts-fb-slideshow *,.fts-slicker-facebook-photos *,.fts-yt-videolist *,.popup-video-gallery-fb .fts-fb-photo-post-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.fts-twitter-div{position:relative;padding:0}.tweeter-info:hover a{transition:all .3s ease-in-out}.widget .fts-twitter-div .fts-uppercase{width:auto}.fts-twitter-div p{margin:0 0 5px!important;line-height:20px!important;padding:0}.widget .fts-twitter-div p{margin:0 0 8px!important;padding:0!important;line-height:19px!important;font-size:12px!important}.fts-twitter-div img{margin:0 10px 0 0}.fts-twitter-div .fts-uppercase{margin:0 5px 0 0;font-size:13px;font-weight:700;text-align:left;display:inline-block;float:left}.widget .twitter-image{margin-right:10px!important}.widget .fts-twitter-div .fts-uppercase,.widget .tweeter-info .fts-right,.widget .tweeter-info .fts-twitter-full-width{text-align:left;font-size:11px;line-height:14px;font-weight:400!important}.fts-right .fts-uppercase,.fts-twitter-full-width .fts-uppercase{float:left}.tweeter-info .fts-right{float:none!important;padding:5px 0 0}.tweeter-info .fts-twitter-full-width{/* padding:10px 10px 0 */}.fts-twitter-fade{display:none;width:321px;height:80px;position:absolute;top:137px;left:1px}.fts-twitter-image,.widget .fts-twitter-image{margin:0;float:left}.tweeter-info{padding:11px;background:#eee;box-shadow:0 1px 2px #555;clear:both;min-height:51px;line-height:13px;-webkit-transition:background 2s;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.fts-twitter-div a,.tweeter-info:hover{-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out}.widget .tweeter-info{min-height:42px}.tweeter-info:hover{background:#fff;box-shadow:0 1px 2px #222;-webkit-transition:background 2s;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.tweeter-info img{border-radius:0;box-shadow:none!important}.fts-twitter-link{position:absolute;top:217px;left:0;font-size:22px;text-transform:uppercase;width:291px;height:36px;padding:15px 0 0 38px;border-top:1px solid #c1c2c3;color:#000}.fts-video-loading-notice{color:#000}a.fts-powered-by-text{padding-top:8px!important;width:100%;text-align:center!important;display:block}.fts-twitter-div a, .fts-twitter-reply-wrap a svg{transition:all .3s ease-in-out;/* color:#1d9bf0; */}.fts-twitter-div a:hover{color:#444;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;text-decoration:none!important}.tweeter-info .time{font-size:12px;text-align:right}.fts-tweeter-wrap .tweeter-info{padding:14px 0 8px;background:0 0;box-shadow:0 0 0 #555;border-bottom:1px solid #eee;word-wrap:break-word;clear:both;font-size:14px;line-height:13px;-webkit-transition:background 0;-webkit-transition:all 0s ease-in-out;-moz-transition:all 0s ease-in-out;-o-transition:all 0s ease-in-out;transition:all 0s ease-in-out}.fts-tweeter-wrap .fts-video-wrapper{margin:15px 0 0}.fts-video-wrapper-padding{display:none}.fts-tweeter-wrap .tweeter-info:hover{background:0 0!important;box-shadow:0 0 0 #222!important}.fts-tweeter-wrap .tweeter-info img{max-width:100%;box-shadow:none!important;border-radius:0}.fts-twitter-favorites,.fts-twitter-reply,.fts-twitter-retweet{font-size:13px!important}.fts-twitter-reply-wrap a{display:inline-block!important;opacity:1;padding-right:0;-webkit-transition:background 1s;-webkit-transition:all 1s ease-in-out;-moz-transition:all 1s ease-in-out;-o-transition:all 1s ease-in-out;transition:all 1s ease-in-out}.fts-twitter-reply-wrap{font-size:16px;margin-right:0;margin-top:5px;font-style:normal!important}.fts-tweeter-wrap:hover a{opacity:1}@media (max-width:767px){.fts-tweeter-wrap a{opacity:1!important}}.fts-video-show-hide-btns-wrap{margin:7px 0 0!important}.fts-video-show-hide-btns-wrap a{font-size:13px!important}.fts-twitter-load-video-wrapper,a.fts-twitter-load-video-wrapper{margin:0!important;padding:0!important}.fts-show-media-text,a.fts-close-media{display:none}.fts-twitter-div iframe,.fts-video-wrapper iframe{margin:0!important}.twitter-social-btn-bottom{margin:15px 0}.fts-jal-fb-see-more .icon-thumbs-up:before{content:"\f164"!important;font-size:14px}.fts-jal-fb-see-more .icon-comments:before{content:"\f086"!important;top:0;position:relative;font-size:14px}.fts-jal-fb-see-more .icon-file:before{content:"\f064"!important;top:2px!important;position:relative;font-size:14px}.fts-events-list-wrap .icon-map-marker [class^=icon-thumbs-up],.fts-jal-fb-see-more [class*=" icon--file"],.fts-jal-fb-see-more [class*=" icon--thumbs-up"],.fts-jal-fb-see-more [class^=icon-comments],.fts-jal-fb-see-more [class^=icon-file],.fts-jal-fb-see-more [class^=icon-thumbs-up]{display:inline-block!important;font-style:normal!important}.fts-events-list-wrap [class^=icon-]:before,.fts-jal-fb-see-more [class^=icon-]:before,.fts-jal-single-fb-post [class^=icon-]:before{font-family:FontAwesomeSlick!important;-webkit-font-smoothing:antialiased;margin:0 0 0 7px!important}.fts-jal-fb-see-more [class^=icon-]:before [class^=icon-],.fts-jal-single-fb-post{float:none!important;margin:0!important;display:block;padding:0!important;text-align:right!important;width:auto!important;height:auto!important;line-height:normal!important;vertical-align:baseline!important;background:0 0!important;font-style:normal!important}.fts-jal-fb-group-display img{border-radius:0!important;box-shadow:0 0 0 transparent!important;display:block;max-width:100%}.fts-jal-fb-group-header-desc{width:100%;margin:7px 0 15px!important;line-height:20px}.fts-jal-fb-header{clear:both}.no-more-posts-fts-fb{cursor:auto}.fts-jal-single-fb-post .slicker-facebook-album-photoshadow{display:none}.fts-jal-fb-header a:hover,.fts-jal-single-fb-post a:hover{font-style:normal;text-decoration:none!important;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;color:#313131}.fts-jal-fb-user-thumb a{display:block}.fts-fb-get-directions{text-align:left!important;margin:0}.fts-jal-fb-header a,.fts-jal-single-fb-post a{-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;text-decoration:none!important;word-break:break-word;border:none!important}.fts-jal-fb-header h1{font-size:1.9em;margin:0!important;line-height:normal!important;padding:0!important}.widget .fts-jal-fb-header h1{font-size:1.8em;line-height:22px}.fts-jal-single-fb-post{width:100%;padding:15px 0 7px!important;margin-bottom:0;border-bottom:1px solid rgba(184,184,184,.3);position:relative;line-height:17px;text-align:left}.fts-slicker-facebook-posts .fts-jal-single-fb-post{width:auto;padding:10px 10px 8px!important;border-bottom:1px solid rgba(184,184,184,.3);line-height:17px}.widget .fts-jal-single-fb-post{width:100%;padding:17px 0 10px!important}.fts-facebook-popup .fts-jal-fb-user-thumb{width:50px;height:50px;float:left;margin:0 0 0 20px!important}.fts-jal-fb-user-thumb,.fts-mashup-icon{height:50px;margin-right:11px;float:left}.fts-jal-fb-user-thumb{width:50px;margin-bottom:5px}.fts-mashup-icon{width:20px;margin-bottom:5px}.widget .fts-jal-fb-right-wrap{padding-left:0}.widget .fts-jal-fb-top-wrap{padding-bottom:5px;padding-left:0;margin-bottom:5px;min-height:50px}.fts-jal-fb-message{padding-top:10px;line-height:21px;word-wrap:break-word}.fts-jal-fb-link-wrap p,.fts-jal-fb-message p{padding:0!important;margin:0 0 10px!important}.fts-jal-fb-link-wrap p{line-height:19px!important}.fts-jal-fb-link-wrap{margin-top:0;border-radius:0;-webkit-transition:background 2s;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.jal-fb-description{word-wrap:break-word!important}.fts-jal-fb-picture{float:left;display:block;margin:10px 10px 4px 0}.fts-jal-fb-link-wrap img{margin:0}.fts-jal-fb-vid-picture{position:relative;float:left;height:auto!important;margin:10px 0 0;line-height:normal!important;cursor:pointer}.fts-jal-fb-description-wrap{float:left;padding:15px 12px 0 17px!important;color:#757575;font-size:13px!important;font-weight:400;text-align:left}.popup-gallery-fb .fts-jal-fb-description-wrap,.popup-video-gallery-fb .fts-jal-fb-description-wrap{padding:15px 0 0!important}.fts-jal-single-fb-post .fts-jal-fb-vid-wrap .fts-jal-fb-description-wrap{padding:15px 15px 0!important}.widget .fts-jal-fb-description-wrap{float:left;overflow:hidden;max-width:90%;line-height:19px!important;color:#999;font-size:12px!important;font-weight:400}.entry-content .fts-jal-fb-picture img,.fts-yt-videolist li img,.widget .fts-jal-fb-picture img,.widget a.fts-pin-board-wrap img,a.fts-pin-board-wrap img{max-width:100%}.fts-jal-fb-description{padding:5px 0 10px;line-height:17px!important;font-size:13px;color:#919191;word-wrap:break-word}.fts-jal-fb-description p{font-size:13px!important}.fts-jal-fb-top-wrap{margin-bottom:10px;text-align:left}.fts-jal-fb-user-name{font-weight:700;color:#888;display:block;padding-top:6px;padding-right:5px;font-size:16px;line-height:18px}.fts-slicker-facebook-albums .fts-jal-fb-user-name a{color:#fff}.fts-jal-fb-post-time{color:#999;padding-top:4px;font-size:12px;line-height:10px;display:block}.fts-jal-fb-name{font-weight:700;color:#c00;padding-bottom:5px;font-size:15px;display:inline-block;line-height:18px}.fts-events-list-wrap .fts-jal-fb-name{font-weight:400;color:#c52214;padding-bottom:5px;font-size:15px;display:block;line-height:21px}.fts-jal-fb-vid-play-btn{background:url(../images/video-play-btn.png) no-repeat;bottom:7px;height:26px;left:9px;position:absolute;width:35px}.fts-jal-fb-picture img,.fts-vid-div{width:100%}.fts-vid-div .fts-jal-fb-vid-play-btn,.fts-vid-div img{display:none}.fts-vid-div iframe{position:absolute;z-index:500}.fts-jal-fb-see-more .icon-file{font-size:10px}.fts-jal-fb-see-more{float:right;margin:10px 0 0;font-size:12px;width:100%;text-align:right;font-style:normal!important}.fts-fb-event-photo{float:left}.fts-fb-large-photo{margin-right:0!important;font-weight:inherit}.fts-slicker-facebook-photos .fts-fb-photo-post-wrap:hover .fts-likes-shares-etc-wrap,.fts-slicker-facebook-photos .slicker-facebook-album-photoshadow:hover .fts-jal-fb-see-more{display:block}.fts-slicker-facebook-photos .fts-fb-photo-post-wrap:hover .fts-jal-fb-top-wrap,.fts-slicker-facebook-photos .fts-fb-video-post-wrap .slicker-facebook-album-photoshadow:hover .fts-jal-fb-top-wrap{opacity:1}.fts-slicker-facebook-albums .fts-jal-fb-description-wrap,.fts-slicker-facebook-photos .fts-jal-fb-description,.fts-slicker-facebook-photos .fts-jal-fb-see-more:hover,.fts-slicker-facebook-photos .fts-jal-fb-user-name a:hover{color:#fff}.fts-slicker-facebook-photos .fts-jal-fb-description-wrap{font-weight:inherit!important}.fts-slicker-facebook-photos *{-ms-box-sizing:border-box;box-sizing:border-box}.instagram-placeholder *,.slicker-instagram-placeholder *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fts-jal-fb-vid-wrap .slicker-facebook-album-photoshadow{position:absolute;top:0;right:0;height:auto;z-index:600;cursor:pointer;width:auto;opacity:1!important;background-color:rgba(0,0,0,.6)!important;display:none}.fts-jal-fb-vid-wrap .slicker-facebook-album-photoshadow:before{content:'info';color:#fff;padding:5px 10px 7px;text-align:right;float:right;font-size:12px;display:none}.fts-fb-load-more,.fts-fb-spinner,.fts-instagram{text-align:center}.slicker-facebook-album-photoshadow{position:absolute;top:0;right:0;height:100%;width:100%;z-index:100}.fts-slicker-facebook-photos .fts-fb-photo-post-wrap .slicker-facebook-album-photoshadow:hover{background-color:rgba(0,0,0,.9);-webkit-transition:background-color .01s ease-out;-moz-transition:background-color .01s ease-out;-o-transition:background-color .01s ease-out;transition:background-color .01s ease-out;z-index:100;opacity:.8;top:0;right:0;height:100%;width:100%}.fts-slicker-facebook-photos .fts-fb-photo-post-wrap:hover .slicker-facebook-album-photoshadow{background-color:rgba(0,0,0,.9);-webkit-transition:background-color .01s ease-out;-moz-transition:background-color .01s ease-out;-o-transition:background-color .01s ease-out;transition:background-color .01s ease-out;z-index:100;opacity:.8;top:0;display:block;right:0;height:100%;width:100%}.fts-slicker-facebook-photos .fts-jal-fb-right-wrap{padding:0!important}.fts-slicker-facebook-photos .fts-jal-fb-user-thumb{display:none}.fts-slicker-facebook-photos .fts-jal-fb-top-wrap{color:#fff!important;padding:12px 15px 0!important;z-index:600;position:absolute;width:100%;opacity:0;-webkit-transition:all .15s ease-out .1s;-moz-transition:all .15s ease-out .1s;-o-transition:all .15s ease-out .1s}.fts-slicker-facebook-photos .fts-jal-fb-message{padding:15px 0 0;color:#fff!important;position:relative;font-size:14px;z-index:100}.fts-slicker-facebook-photos .fts-jal-fb-post-time{color:#ddd;margin-top:0}.fts-slicker-facebook-albums .fts-jal-fb-description-wrap a:hover,.fts-slicker-facebook-albums .jal-fb-description a:hover,.fts-slicker-facebook-photos .jal-fb-description a:hover{color:#ccc}.fts-slicker-facebook-photos .fts-jal-fb-link-wrap,.fts-slicker-facebook-photos .fts-jal-fb-vid-wrap{line-height:12px!important}.fts-slicker-facebook-photos .fts-jal-fb-vid-wrap iframe{height:305px;width:305px}.fts-slicker-facebook-albums .fts-jal-fb-description-wrap{word-wrap:break-word;width:100%}.fts-slicker-facebook-albums .fts-jal-fb-description-wrap a{float:left;width:100%;line-height:19px;padding:0!important}.fts-slicker-facebook-albums .jal-fb-description a,.fts-slicker-facebook-photos .jal-fb-description a{float:none!important}.fts-slicker-facebook-photos .fts-jal-single-fb-post{position:relative;float:none;z-index:0;overflow:hidden;border:none!important;padding:0!important;font-family:proxima-nova,'Helvetica Neue',Arial,Helvetica,sans-serif!important;background:#000;vertical-align:top!important;display:inline-block!important}.fts-fb-get-directions:before,.slicker-instagram-image-likes:before,.slicker-instagram-placeholder .fts-instagram-icon:before{font-family:FontAwesomeSlick;-webkit-font-smoothing:antialiased}.fts-slicker-facebook-photos .fts-jal-fb-link-wrap,.fts-slicker-facebook-photos .fts-jal-fb-vid-wrap{border:none!important;margin:0!important;width:100%;height:100%}.fts-album-photos-wrap img{vertical-align:middle!important;display:inline-block!important}.fts-slicker-facebook-photos.fts-slicker-facebook-albums .fts-jal-single-fb-post{height:auto}.fts-slicker-facebook-photos{margin:auto;text-align:center}.fts-slicker-facebook-photos .fts-jal-fb-picture{display:block;margin:0;padding:0;float:none;width:auto;left:0;right:0;top:0;position:absolute;background-size:cover;background-position:center center;background-repeat:no-repeat}div.fts-fb-location{letter-spacing:1px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:21),only screen and (min-device-pixel-ratio:2){.fts-jal-fb-vid-wrap iframe{height:130px}}.fts-fb-spinner>div{width:10px;height:10px;background-color:#999;border-radius:100%;display:inline-block;-webkit-animation:fts-fb-bouncedelay 1.4s infinite ease-in-out;animation:fts-fb-bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.fb-social-btn-below-description,.fb-social-btn-bottom,.fb-social-btn-top{width:100%;overflow:hidden}.fts-fb-spinner .bounce1{-webkit-animation-delay:-.32s;animation-delay:-.32s}.fts-fb-spinner .bounce2{-webkit-animation-delay:-.16s;animation-delay:-.16s}@-webkit-keyframes fts-fb-bouncedelay{0%,100%,80%{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes fts-fb-bouncedelay{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.fts-fluid-videoWrapper-html5 video{object-fit:inherit;margin-bottom:0!important}.fts-fb-album-view-link a{color:#fff}.fts-fb-album-view-link a:hover{color:#eee}.fts-instagram-fade .fts-fb-caption{display:block}.fts-view-album-photos-large:before,.fts-view-fb-videos-large:before,.fts-view-on-facebook-link:before,.view-on-facebook-albums-link:before{font-family:FontAwesomeSlick;content:"\f14c ";display:inline-block;margin-right:6px;-webkit-font-smoothing:antialiased}.fts-fb-get-directions:before{content:"\f041 ";display:inline-block;margin:0 5px 0 2px}.instagram-placeholder,.slicker-instagram-placeholder{font-family:proxima-nova,'Helvetica Neue',Arial,Helvetica,sans-serif!important}.fts-instagram-fade .fts-instagram-caption-content,.fts-instagram-fade .fts-jal-fb-description{color:#fff;padding:0;margin:0}.fts-instagram-fade .fts-fb-album-view-link{display:none}#facebook-sidebar .fts-fb-load-more-wrapper{max-width:100%!important;margin-top:-1px!important;z-index:9999;position:relative}.fb-social-btn-bottom{margin-top:15px!important}.fb-social-btn-top{display:block;margin-bottom:12px!important}.fb-social-btn-below-description{margin-top:5px!important;margin-bottom:5px!important}@media only screen and (max-width:640px){.fb-like.fb_iframe_widget,.fb-like.fb_iframe_widget>span,.fb-like.fb_iframe_widget>span>iframe{width:100%!important;position:relative!important}}.fts-events-list-wrap .fts-jal-fb-picture{float:left;display:block;margin:0}.fts-events-list-wrap a.fts-jal-fb-name{font-size:17px}.fts-events-list-wrap .fts-fb-event-time{font-size:15px}.fts-events-list-wrap .fts-fb-location{font-size:15px;display:block;margin:10px 0 5px}.fts-events-list-wrap .fts-fb-location-title{font-size:15px;display:block;padding:0;font-weight:700;font-style:normal;margin:12px 0 0}.fts-events-list-wrap .fts-jal-fb-message{clear:both;font-size:15px}.fts-fb-get-directions{font-size:15px;padding:0 0 20px;color:#4595f0}.fts-fb-load-more{border-radius:1px;padding:0;line-height:37px!important;width:100%;min-height:37px!important;font-size:13px!important;background:rgba(240,240,240,.45);cursor:pointer;color:#111;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.fts-fb-load-more:hover{background:rgba(240,240,240,.85)}.instagram-image,.widget .instagram-image{background-color:#000;z-index:1;display:block}.flip360-fts-load-more{-moz-animation:spinY .5s linear;-ms-animation:spinY .5s linear;-o-animation:spinY .5s linear;animation:spinY .5s linear;-webkit-animation-name:spinY;-webkit-animation-duration:.5s;-webkit-animation-timing-function:linear;-webkit-animation-fill-mode:both;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-moz-animation-timing-function:cubic-bezier(.75,0,.175,1);-ms-animation-timing-function:cubic-bezier(.75,0,.175,1);-o-animation-timing-function:cubic-bezier(.75,0,.175,1);animation-timing-function:cubic-bezier(.75,0,.175,1)}@-moz-keyframes spinY{0%{-moz-transform:rotateY(0);transform:rotateY(0)}100%{-moz-transform:rotateY(360deg);transform:rotateY(360deg)}}@-webkit-keyframes spinY{0%{-webkit-transform:rotateY(0);transform:rotateY(0);-webkit-transform-style:preserve-3d}100%{-webkit-transform:rotateY(360deg);transform:rotateY(360deg);-webkit-transform-style:preserve-3d}}@-o-keyframes spinY{0%{-o-transform:rotateY(0);transform:rotateY(0)}100%{-o-transform:rotateY(360deg);transform:rotateY(360deg)}}@-ms-keyframes spinY{0%{-ms-transform:rotateY(0);transform:rotateY(0)}100%{-ms-transform:rotateY(360deg);transform:rotateY(360deg)}}@keyframes spinY{0%{-webkit-transform:rotateY(0);-moz-transform:rotateY(0);-ms-transform:rotateY(0);-o-transform:rotateY(0);transform:rotateY(0)}100%{-webkit-transform:rotateY(360deg);-moz-transform:rotateY(360deg);-ms-transform:rotateY(360deg);-o-transform:rotateY(360deg);transform:rotateY(360deg)}}.clear{clear:both}.heart-comments-wrap li,ul.heart-comments-wrap{padding:0!important;margin:0!important;line-height:1.3em!important;border:none!important}.widget .instagram-placeholder li,.widget .instagram-placeholder ul{padding:0!important;margin:0!important;height:auto!important}.instagram-placeholder p{margin:0;padding:0}.instagram-placeholder{position:relative;z-index:0;display:inline-block;margin:0 20px 20px}.widget .instagram-placeholder{margin:-10px 9px 0 10px!important;width:104px!important;text-align:left!important}.instagram-image{width:150px;height:150px;position:relative}.widget .instagram-image{width:105px;height:100px;position:relative;background-size:100%!important}.instaG-photoshadow{background-color:rgba(0,0,0,.1);bottom:0;left:0;position:absolute;right:0;top:0;border:1px solid rgba(0,0,0,.12);z-index:1;-webkit-transition:background-color .05s ease-out;-moz-transition:background-color .05s ease-out;-o-transition:background-color .05s ease-out;transition:background-color .05s ease-out;width:148px;height:148px}.widget .instaG-photoshadow{width:103px;height:98px}.instagram-placeholder:hover .instaG-photoshadow{background-color:transparent;-webkit-transition:background-color .01s ease-out;-moz-transition:background-color .01s ease-out;-o-transition:background-color .01s ease-out;transition:background-color .01s ease-out;border:1px solid rgba(0,0,0,.12);width:148px;height:148px}.heart-comments-wrap li,.instagram-placeholder .date{color:#888;position:relative;z-index:1;-webkit-transition:all .15s ease-out .1s;-moz-transition:all .15s ease-out .1s;-o-transition:all .15s ease-out .1s;text-shadow:0 1px 0 rgba(255,255,255,.8);opacity:0;pointer-events:none}.widget .instagram-placeholder:hover .instaG-photoshadow{width:103px;height:98px}a.instaG-backg-link{position:relative;display:block}.instagram-placeholder .date{text-align:center;margin-bottom:5px;font-size:12px;height:20px;line-height:20px;font-weight:700;transition:all .15s ease-out .1s}.widget .instagram-placeholder .date{text-align:center;margin-bottom:5px;font-size:11px;height:15px;line-height:20px;font-weight:400!important}.instagram-placeholder .heart-comments-wrap ul{height:20px;margin:10px 0 0!important}.widgets .instagram-placeholder .heart-comments-wrap ul{height:15px;margin:6px 0 0!important}.heart-comments-wrap li{display:inline-block;margin:10px 0 0 .5em!important;padding:0 0 0 16px!important;line-height:10px!important;font-size:12px!important;font-weight:400!important;transition:all .15s ease-out .1s}.instagram-placeholder .fts-backg,.slicker-instagram-placeholder .slicker-date{-webkit-transition:all .15s ease-out .1s;-moz-transition:all .15s ease-out .1s;-o-transition:all .15s ease-out .1s}.widget .instagram-placeholder .heart-comments-wrap li{display:inline-block;margin:6px 0 5px 2px!important;pointer-events:none;padding:0 0 0 15px!important;line-height:10px!important;font-size:11px!important;border:none!important}.widget .instagram-placeholder .heart-comments-wrap .instagram-image-likes{margin-right:4px!important}.instagram-placeholder .fts-backg,.widget .instagram-placeholder .fts-backg{z-index:0;left:0;width:100%;margin:-5px;padding:5px;background:#fff;position:absolute}.instagram-placeholder .fts-backg{top:25px;height:150px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.04),0 1px 5px rgba(0,0,0,.1);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.04),0 1px 5px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.04),0 1px 5px rgba(0,0,0,.1);transition:all .15s ease-out .1s}.widget .instagram-placeholder .fts-backg{top:20px;height:100px;font-size:11px}.widget .date{font-size:11px}.instagram-placeholder:hover .fts-backg{margin:-28px -12px;padding:8px 12px;height:193px;-webkit-transition-delay:0;-moz-transition-delay:0;-o-transition-delay:0;transition-delay:0;-webkit-transition-duration:.1s;-moz-transition-duration:.1s;-o-transition-duration:.1s;transition-duration:.1s;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.04),0 1px 5px rgba(0,0,0,.2);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.04),0 1px 5px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.04),0 1px 5px rgba(0,0,0,.2)}.widget .instagram-placeholder:hover .fts-backg{margin:-22px -10px;padding:5px 10px;height:135px}.instagram-image-likes{background:url(../images/hearts-instagram.jpg) no-repeat}.instagram-image-comments{background:url(../images/comments-instagram.jpg) no-repeat}.instagram-placeholder:hover .date,.instagram-placeholder:hover .instagram-image-comments,.instagram-placeholder:hover .instagram-image-likes{opacity:1;z-index:1;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;-o-transition-delay:.1s;transition-delay:.1s}.slicker-instagram-placeholder li,.slicker-instagram-placeholder ul{padding:0!important;margin:0!important;line-height:1.3em!important;border:none!important;width:auto!important;overflow:visible!important}.slicker-heart-comments-wrap{position:absolute;z-index:500;bottom:10px;right:12px}.slicker-instagram-placeholder p{margin:0;padding:0}.slicker-instagram-placeholder,.slicker-youtube-placeholder{position:relative;z-index:0;display:inline-block;overflow:hidden;background-size:cover;background-position:center center;background-repeat:no-repeat;vertical-align:top}.slicker-instagram-image{line-height:0!important;position:relative;z-index:1;background-color:#000;display:block}.slicker-instagram-image img{line-height:normal!important;-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important;-webkit-box-shadow:0 0 0 rgba(0,0,0,.175)!important;-moz-box-shadow:0 0 0 rgba(0,0,0,.175)!important;box-shadow:0 0 0 rgba(0,0,0,.175)!important;margin:0!important;padding:0!important;border:none!important;width:100%}.slicker-instaG-photoshadow{bottom:0;left:0;position:absolute;right:0;top:0;z-index:1;-webkit-transition:background-color .05s ease-out;-moz-transition:background-color .05s ease-out;-o-transition:background-color .05s ease-out;transition:background-color .05s ease-out;vertical-align:middle}.slicker-instagram-placeholder:hover .slicker-instaG-photoshadow{background-color:rgba(0,0,0,.7);-webkit-transition:background-color .01s ease-out;-moz-transition:background-color .01s ease-out;-o-transition:background-color .01s ease-out;transition:background-color .01s ease-out;border:1px solid rgba(0,0,0,.12)}a.slicker-instaG-backg-link{position:relative;display:block}.slicker-instagram-placeholder .fts-share-wrap,.slicker-instagram-placeholder .slicker-date{margin-bottom:5px;font-size:13px;line-height:20px;font-weight:400;position:absolute;transition:all .15s ease-out .1s;height:20px;color:#fff;opacity:0;text-align:center}.slicker-instagram-placeholder .fts-share-wrap{bottom:-10px;left:4px;z-index:50000000}.slicker-instagram-placeholder .slicker-date{top:10px;left:15px;z-index:500;pointer-events:none}.slicker-instagram-placeholder .slicker-heart-comments-wrap ul{height:20px;margin:10px 0 0!important}.fts-mashup-count-wrap .slicker-heart-comments-wrap li,.slicker-instagram-placeholder .slicker-heart-comments-wrap li{display:inline-block;margin:0!important;pointer-events:none;padding:0 0 0 10px!important;line-height:10px!important;font-size:12px!important;font-weight:400!important;color:#fff;text-align:center;position:relative;z-index:1;opacity:0;-webkit-transition:all .15s ease-out .1s;-moz-transition:all .15s ease-out .1s;-o-transition:all .15s ease-out .1s}body .fts-mashup-count-wrap li{opacity:1!important}.fts-mashup .fts-jal-fb-see-more,.fts-mashup .fts-single-pin-like-count,.fts-mashup .fts-single-pin-repin-count,.fts-mashup a.ft-gallery-link-popup,body .fts-mashup-count-wrap a,body .fts-mashup-count-wrap li{color:#777!important}a.fts-slicker-backg{height:68px;width:68px;line-height:68px;font-size:68px;top:0;bottom:0;left:0;right:0;margin:auto;z-index:700;position:absolute;text-align:center;vertical-align:middle;opacity:0;color:rgba(255,255,255,.27)}.slicker-instagram-placeholder .fts-instagram-icon:before{content:"\f16d";font-size:100%;display:inline-block;-webkit-transition:all 1s ease-out 0;-moz-transition:all 1s ease-out 0;-o-transition:all 1s ease-out 0}.slicker-instagram-placeholder a.fts-slicker-backg:hover{opacity:1;color:rgba(255,255,255,.55);-webkit-transition:all 0 ease-out 0;-moz-transition:all 0 ease-out 0;-o-transition:all 0 ease-out 0}.slicker-instagram-image-likes:before{content:"\f004";margin-right:5px}.fts-slicker-instagram{margin:auto;text-align:center}.instagram-placeholder:hover .fts-see-on-instagram,.slicker-instagram-placeholder:hover .fts-see-on-instagram,.slicker-instagram-placeholder:hover .fts-share-wrap,.slicker-instagram-placeholder:hover .fts-slicker-backg,.slicker-instagram-placeholder:hover .slicker-date,.slicker-instagram-placeholder:hover .slicker-instagram-image-comments,.slicker-instagram-placeholder:hover .slicker-instagram-image-likes{opacity:1;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;-o-transition-delay:.1s;transition-delay:.1s}.fts-comment-instagram:before{font-family:FontAwesomeSlick!important;content:"\f075"!important;-webkit-font-smoothing:antialiased;margin-right:5px;font-size:13px!important;display:inline-block;-moz-transform:scaleX(-1);-o-transform:scaleX(-1);-webkit-transform:scaleX(-1);transform:scaleX(-1);filter:FlipH;-ms-filter:FlipH;position:relative;top:-1px;right:-4px}.fts-see-on-instagram div:before,.fts-view-on-instagram-link:before{content:"\f138 ";font-family:FontAwesomeSlick}.fts-see-on-instagram{position:absolute;bottom:11px;right:12px;opacity:0;z-index:750;-webkit-transition:all .15s ease-out .1s;-moz-transition:all .15s ease-out .1s;-o-transition:all .15s ease-out .1s}.widget .instagram-placeholder .fts-see-on-instagram{position:absolute;top:19px;right:6px;z-index:750;display:none}.instagram-placeholder .fts-see-on-instagram{position:absolute;bottom:2px;right:6px;opacity:0;z-index:750}.fts-see-on-instagram div{display:inline-block;cursor:pointer;font-weight:400!important}.instagram-placeholder .fts-see-on-instagram div{display:block;cursor:pointer;font-weight:400!important}.widget .instagram-placeholder .fts-see-on-instagram div:before{color:#fff;font-size:14px}.instagram-placeholder .fts-see-on-instagram div:before{color:#888;font-size:13px}.slicker-instagram-placeholder .fts-see-on-instagram div:before{color:#fff;font-size:14px}.fts-see-on-instagram div:before{display:inline-block}.fts-view-on-instagram-link:before{display:inline-block;margin-right:6px}.fts-instagram-caption{display:none}.fts-instagram-fade .mfp-title p{color:#fff!important;margin:0 0 10px!important;padding:0!important}.fts-instagram-fade .mfp-title a{color:#fff;text-decoration:none!important}.fts-instagram-fade .mfp-title a:hover{color:#eee}.instagram-social-btn-bottom,.instagram-social-btn-top{text-align:center;font-size:14px!important;background:#517fa4;border-radius:4px;width:167px;color:#fff;line-height:15px;padding:7px 0!important}.instagram-social-btn-top{margin:0 auto 15px}.instagram-social-btn-bottom{margin:15px auto 0}.instagram-social-btn-bottom:hover,.instagram-social-btn-top:hover{opacity:.9}#fts-social-bar-icons-wrap .instagram-social-btn-bottom a,#fts-social-bar-icons-wrap .instagram-social-btn-top a{color:#fff!important;font-weight:100!important;display:inline-block;text-decoration:none!important}#fts-social-bar-icons-wrap .instagram-social-btn-top a:hover{color:#fff!important}.instagram-social-btn-bottom a,.instagram-social-btn-top a{color:#fff!important;font-weight:100!important;display:inline-block;text-decoration:none!important}.instagram-social-btn-bottom a:hover,.instagram-social-btn-top a:hover{color:#fff;font-weight:100!important}.instagram-social-btn-bottom:before,.instagram-social-btn-top:before{font-family:FontAwesomeSlick;content:"\f16d ";display:inline-block;margin-right:6px;font-size:16px!important;-webkit-font-smoothing:antialiased}.fts-pinterest-boards-wrap *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fts-fb-slideshow,.fts-fb-slideshow *,.fts-yt-videolist *{box-sizing:border-box}.fts-pinterest-wrapper{text-align:center;margin:auto;position:relative}a.fts-pin-board-wrap:link{text-decoration:none!important;border-bottom:0}a.fts-pin-board-wrap{border-radius:10px!important;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-moz-border-radius:6px;-ms-border-radius:6px;-o-border-radius:6px;-moz-box-shadow:0 1px 3px 0 rgba(0,0,0,.33);display:inline-block;text-decoration:none;padding:10px 9px 10px 10px;margin:8px 8px 0;text-align:left}a.fts-pin-board-wrap:hover{background:#fff;border-radius:10px}.fts-pin-board-wrap .label,.fts-single-pin-description a,.fts-single-pin-pinned-to-wrap{text-decoration:none!important}h3.fts-pin-board-board_title,h3.fts-pin-board-board_title span{-webkit-font-smoothing:antialiased!important;display:block!important}.fts-pin-board-wrap:hover .hoverMask,.pinterest-single-thumb-wrap:hover .hoverMask{background:rgba(255,255,255,.1)}h3.fts-pin-board-board_title{width:210px;color:#555!important;font-size:16px!important;font-weight:700!important;margin:7px 0 5px 7px!important;padding:0!important;position:relative!important;font-family:"Helvetica Neue",arial,sans-serif!important;line-height:15px!important;clear:both}div.fts-pin-board-img-wrap,div.pinterest-single-thumb-wrap{background-size:cover;background-position:center center;background-repeat:no-repeat;position:relative;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px}h3.fts-pin-board-board_title span{white-space:nowrap!important;overflow:hidden!important;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;text-transform:capitalize}a.fts-pin-board-wrap{-webkit-border-radius:0;overflow:hidden}div.fts-pin-board-img-wrap{vertical-align:top;border-radius:10px 10px 0 0!important;overflow:hidden;clear:both;height:115px;-moz-box-shadow:0 0 3px rgba(0,0,0,.33) inset}.fts-pin-board-thumbs-wrap div:last-child{margin-right:0;border-bottom-right-radius:10px!important;border-bottom-left-radius:0!important}.fts-pin-board-wrap{max-width:254px;width:100%}.fts-pin-board-thumbs-wrap{min-height:50px}div.pinterest-single-thumb-wrap{margin-right:2px;margin-top:2px;height:108px!important;border-bottom-left-radius:10px!important;width:49.58%;display:inline-block}.fts-pin-board-img-wrap .hoverMask,.pinterest-single-thumb-wrap .hoverMask{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 3px rgba(0,0,0,.33) inset;-moz-box-shadow:0 0 3px rgba(0,0,0,.33) inset;box-shadow:0 0 3px rgba(0,0,0,.33) inset;bottom:0;left:0;position:absolute;right:0;top:0}.fts-pin-board-wrap .fts-pin-board-pin-count{-webkit-font-smoothing:antialiased;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.3);-moz-box-shadow:inset 0 0 5px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.3);box-shadow:inset 0 0 5px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.3);text-shadow:0 -1px 0 rgba(0,0,0,.7);background-color:#000;background-color:rgba(68,68,68,.7);bottom:3px;color:#fff;padding:0 6px;position:absolute;left:3px;font-family:"Helvetica Neue",arial,sans-serif!important;font-size:12px!important;font-weight:700;line-height:21px}.fts-pin-board-pin-count:before{content:'';width:7px;height:9px;background:url(../images/pinterest-icons.png) -137px -87px no-repeat;display:inline-block;margin-right:3px}.fts-pin-board-wrap .label{font-weight:700;text-align:left!important;line-height:1.1em!important;white-space:nowrap;display:inline-block;position:relative;margin-bottom:inherit;padding:0!important;font-size:.7875rem;background:0 0!important;color:#fff}.widget .fts-pin-board-thumbs-wrap,.widget h3.fts-pin-board-board_title{display:none!important}.widget div.fts-pin-board-img-wrap{position:relative;overflow:hidden;clear:both;min-height:100px;height:auto;width:auto;border-radius:10px!important}.widget a.fts-pin-board-wrap{width:40%;padding:6px;margin:4px 4px 0!important;border-radius:1px!important}.widget div.fts-pin-board-img-wrap{-webkit-box-shadow:0 0 1px rgba(0,0,0,.11) inset!important;-moz-box-shadow:0 0 1px rgba(0,0,0,.11) inset;box-shadow:0 0 0 transparent inset!important;margin-bottom:0}.pinterest-single-thumb-wrap .hoverMask,.widget .fts-pin-board-img-wrap .hoverMask{-webkit-box-shadow:0 0 0 rgba(0,0,0,.33) inset;-moz-box-shadow:0 0 0 rgba(0,0,0,.33) inset;box-shadow:0 0 0 rgba(0,0,0,.33) inset}.fts-single-pin-wrap{background:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.22);box-shadow:0 1px 2px 0 rgba(0,0,0,.22);border-radius:6px;width:236px!important;margin:14px 7px 0;border:none!important;text-align:left;overflow:hidden}.fts-single-pin-description{margin:10px 15px;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;font-size:13px;line-height:17px;word-wrap:break-word}.fts-single-pin-img-wrap img{-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border-top-left-radius:6px;border-top-right-radius:6px;max-width:100%}.fts-single-pin-social-meta-wrap{font-family:Helvetica,sans-serif;font-size:11px;color:#999;font-style:normal;font-weight:400;-webkit-font-smoothing:antialiased;margin:-13px 10px 7px 15px}.fts-single-pin-social-meta-wrap .fts-single-pin-repin-count{margin:10px 12px 0 0;display:inline-block;font-size:13px}.fts-single-pin-social-meta-wrap .fts-single-pin-repin-count:before{font-family:FontAwesomeSlick;margin-right:5px;font-size:12px!important;content:"\f08d"}.fts-single-pin-social-meta-wrap .fts-single-pin-like-count{font-size:13px!important}.fts-single-pin-social-meta-wrap .fts-single-pin-like-count:before{font-family:FontAwesomeSlick;content:"\f086"!important;margin-right:5px;font-size:13px!important}.fts-single-pin-pinned-to-title,.fts-single-pin-pinned-to-wrap{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block;overflow:hidden}.fts-single-pin-pinned-to-wrap{line-height:15px;padding:10px;border-radius:0 0 6px 6px;border:none!important;border-top:1px solid #e7e7e7!important}.fts-single-pin-pinned-to-wrap:hover{background:#eee;cursor:pointer}.fts-single-pin-pinned-to-wrap div{color:#999;display:block;font-weight:700;font-size:11px;font-family:Helvetica,sans-serif}.fts-single-pin-pinned-to-text{color:#999}div.fts-single-pin-pinned-to-title{color:#717171}.fts-single-pin-pinned-to-wrap img{position:relative;border-radius:2px;height:30px;margin-right:5px;width:30px;float:left}.fts-single-pin-pinned-to-title{border-radius:0 0 6px 6px}.fts-single-attribution-wrap{white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;font-family:Helvetica,sans-serif;color:#666;margin:-2px 0 5px 15px!important;font-size:11px;display:block;border:none!important;line-height:1.6471}.fts-yt-vids-in-row1 .fts-yt-videolist ul li:first-child,.fts-yt-vids-in-row1 li .entriestitle{display:none}.fts-yt-vids-in-row3 li .entriestitle,.fts-yt-vids-in-row4 li .entriestitle{font-size:85%!important;line-height:100%!important}.fts-single-attribution-wrap img{height:16px;margin-right:5px;position:relative;width:16px;float:left}.pinterest-social-btn-top{margin-bottom:0;text-align:center}.widget .pinterest-social-btn-top{margin-bottom:5px;text-align:center}.pinterest-social-btn-bottom{margin-top:5px;text-align:center}.fts-yt-videolist iframe{width:100%}.fts-yt-vids-in-row1 div.fts-yt-videolist p{padding-bottom:25px;clear:both}.fts-yt-first-video p{margin:10px 10px 25px!important}.fts-yt-videolist ul,.fts-yt-vids-in-row1 ul li{margin:0!important;padding:0!important}#secondary .front-widgets .fts-yt-large iframe{height:100%!important;max-height:300px!important;min-height:300px!important}.widget .fts-yt-videolist ul li{margin-bottom:0!important;list-style:none!important}.fts-yt-videolist ul{width:100%!important}.fts-yt-videolist ul li{list-style:none!important}.fts-yt-vids-in-row1 li{width:100%!important;margin-bottom:5%}.fts-yt-vids-in-row2 li,.fts-yt-vids-in-row3 li,.fts-yt-vids-in-row4 li{float:left;border:none;position:relative;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;padding:1%!important;margin:0!important}.fts-yt-vids-in-row1 li iframe{width:100%}.fts-yt-vids-in-row2 li{width:50%!important}.fts-yt-vids-in-row3 li{width:33.3%!important}.fts-yt-vids-in-row4 li{width:25%!important}.fts-yt-vids-in-row2 li .entriestitle,.fts-yt-vids-in-row3 li .entriestitle,.fts-yt-vids-in-row4 li .entriestitle{padding:0 5px;position:absolute;left:0;top:20%;opacity:0;width:87.5%;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.fts-yt-vids-in-row2 li:hover .entriestitle,.fts-yt-vids-in-row3 li:hover .entriestitle,.fts-yt-vids-in-row4 li:hover .entriestitle{background:#000;border-radius:0;color:#fff;padding:5% 6%;opacity:.9;z-index:100;right:0;line-height:18px;font-size:90%;font-weight:700;box-shadow:0 4px 8px #333;display:block}.fts-yt-vids-in-row2 li:hover,.fts-yt-vids-in-row3 li:hover,.fts-yt-vids-in-row4 li:hover{background-color:rgba(0,0,0,.9);box-shadow:0 1px 10px #333;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.fts-yt-overlay-wrap{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;z-index:-1!important;background-color:rgba(0,0,0,.75);text-align:center;-webkit-transition:opacity .2s ease-out;-moz-transition:opacity .2s ease-out;transition:opacity .2s ease-out;pointer-events:none;box-shadow:0 2px 500px #000}body .fts-yt-overlay-wrap.fts-yt-target{display:block;opacity:1;z-index:9999999!important;-webkit-transition:opacity .5s ease-in;-moz-transition:opacity .5 ss ease-in;transition:opacity .5s ease-in;pointer-events:auto}.fts-fb-video-icon,.fts-watermark-inside{pointer-events:none}.fts-yt-overlay{max-width:775px;opacity:1;z-index:300;position:absolute;top:0;bottom:0;right:0;left:0;max-height:472px;padding:10px;background:#444;margin:auto!important;box-shadow:0 2px 200px #000}.fts-yt-overlay-wrap iframe{margin:0;min-height:343px;background:#000!important;margin-bottom:0!important}.fts-yt-popup-close{display:block;position:absolute;top:-19px;right:0;background:#444;color:#fff!important;text-decoration:none;font-size:85%;font-family:verdana;font-weight:400;padding:.5% 2.5% 0;line-height:20px}.widget .fts-yt-first-video p{font-size:12px!important;margin-bottom:10px!important;margin-top:5px}.widget .fts-yt-videolist li{margin:0!important;line-height:0!important}.widget .fts-yt-videolist ul{padding-bottom:15px!important;float:left}.fts-yt-vids-in-row1 ul li iframe{margin-bottom:12px!important}@media only screen and (max-width:775px){.fts-yt-overlay{background:0 0;box-shadow:0 0 0 #000}.fts-yt-popup-close{background:0 0}}.widget .fts-yt-large .fts-yt-first-video iframe,.widget .fts-yt-vids-in-row1 li iframe{width:100%;height:0!important;min-height:100%!important;max-height:160px!important;padding:0}.fts-fluid-videoWrapper{position:relative;padding-bottom:56.25%;padding-top:25px;height:0}.fts-fluid-videoWrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;min-height:100%;background:#000;border:none}.fts-fluid-videoWrapper video{background:#000}.fts-jal-fb-vid-wrap{margin-top:10px;border-radius:0;-webkit-transition:background 2s;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.fts-jal-fb-vid-wrap iframe,.widget .fts-jal-fb-vid-wrap iframe{width:100%;margin:0!important;padding:0!important}.fts-vine-thumbnail .fts-vine-logo:before,.fts-vine-thumbnail-cover,.popup-video-gallery-fb span.fts-fb-video-icon:before{-webkit-transition:all .5s ease-out 0;-moz-transition:all .5s ease-out 0;-o-transition:all .5s ease-out 0;-webkit-font-smoothing:antialiased}.widget .fts-jal-fb-vid-wrap iframe{height:50%}.fts-yt-first-video h2{margin:0 0 7px!important}.youtube-social-btn-top{margin:0 0 5px!important}.youtube-social-btn-bottom{padding:10px 0 0 6px;clear:both}@keyframes fade{from,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes fade{from,to{opacity:1}50%{opacity:.5}}.fts-vine-wrapper{text-align:center}.fts-vine-video-wrap{text-align:left;display:inline-block;max-width:290px;vertical-align:top}.fts-vine-video-wrap a.fts-vine-author{display:block;margin:5px 0 0;padding:0}.fts-vine-white-popup .mfp-close{margin-top:-40px;font-size:35px;margin-right:-10px;color:#fff!important}.fts-vine-white-popup{position:relative;background:#fff;padding:20px;width:auto;max-width:640px;margin:30px auto}.fts-iframe-vine{padding-top:262px}.fts-vine-author{font-size:18px;line-height:24px}.fts-vine-text{font-size:13px;line-height:18px;padding:0 15px 15px 0}.fts-vine-thumbnail{display:block;position:relative;background:0 0!important}.fts-vine-thumbnail-cover{position:absolute;z-index:100;left:0;top:0;width:100%;height:100%;opacity:0;display:inline-block;cursor:pointer}.fts-vine-logo{font-size:27px}.fts-vine-thumbnail .fts-vine-logo:before,.popup-video-gallery-fb span.fts-fb-video-icon:before{font-family:FontAwesomeSlick;font-size:100%}.fts-vine-thumbnail .fts-vine-logo:before{content:"\f1ca"!important;display:inline-block;position:absolute;z-index:200;right:12px;top:5px;line-height:1.5;color:#00bf8f}.fts-vine-thumbnail-cover:hover{opacity:.3;background:#000}.fts-vine-thumbnail:hover .fts-vine-logo:before{color:#fff;text-shadow:2px 1px #555;-webkit-animation:wiggle .5s ease;animation:wiggle .5s ease}@-webkit-keyframes wiggle{0%,100%,40%{-webkit-transform:rotate(0);transform:rotate(0)}60%{-webkit-transform:rotate(-30deg);transform:rotate(-30deg)}80%{-webkit-transform:rotate(30deg);transform:rotate(30deg)}}@keyframes wiggle{0%,100%,40%{-webkit-transform:rotate(0);transform:rotate(0)}60%{-webkit-transform:rotate(-30deg);transform:rotate(-30deg)}80%{-webkit-transform:rotate(30deg);transform:rotate(30deg)}}@media only screen and (max-device-width:736px){.fts-iframe-vine{padding-bottom:14%!important}.fts-vine-white-popup{padding:0}}.post-5593 .entry-content{text-align:center}.fts-fb-video-popup{position:relative;background:0 0;padding:20px 60px;width:auto;max-width:1400px;margin:30px auto}.fts-fb-video-popup .mfp-close{color:#fff!important;right:47px!important;top:-19px!important}@media only screen and (min-device-width:375px) and (max-device-width:667px){.fts-fb-video-popup{padding:20px!important}.fts-fb-video-popup .mfp-close{right:5px!important}}@media only screen and (min-device-width:414px) and (max-device-width:736px){.fts-fb-video-popup{padding:20px!important}.fts-fb-video-popup .mfp-close{right:5px!important}}@media only screen and (min-device-width:768px) and (max-device-width:1024px){.fts-fb-video-popup video{min-height:400px}.fts-fb-video-popup{padding:10px!important}.fts-fb-video-popup .mfp-close{right:-2px!important;top:-25px!important}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:landscape){.fts-fb-video-popup video{min-height:600px}}.fts-view-fb-videos-largeeee:before{content:"";display:inline-block;margin-right:6px;-webkit-font-smoothing:antialiased;background:url(../images/fb-play-btn.png);height:80px;width:80px}.fts-fb-photo-post-wrap:hover a.fts-slicker-backg{opacity:1;outline:0!important;color:#fff}.popup-video-gallery-fb span.fts-fb-video-icon:before{content:"\f144"!important;display:inline-block!important;opacity:.5!important;color:#fff;outline:0!important}.popup-video-gallery-fb span.fts-fb-video-icon:hover:before{opacity:.8!important;color:#fff}.popup-video-gallery-fb a.visible-video-button{opacity:9!important;outline:0!important;z-index:1500}.popup-video-gallery-fb .fts-fb-load-more{max-width:340px;margin:20px auto}.fts-fb-social-btn-center,.popup-video-gallery-align-center{text-align:center;font-size:0}.fts-fb-social-btn-right,.popup-video-gallery-align-right{text-align:right}.fts-fb-social-btn-left,.popup-video-gallery-align-left{text-align:left}.cycle-slideshow .fts-jal-fb-picture{max-width:100%!important}.popup-video-gallery-fb .fts-fb-photo-post-wrap{vertical-align:top!important;display:inline-block!important;float:none;text-align:left;border-radius:0;max-width:100%;max-height:100%;box-sizing:border-box}.popup-video-gallery-fb .fts-fb-photo-post-wrap .fts-jal-fb-user-name{padding-top:0!important}.fts-review-star,.fts-reviews-star{background:#4791ff;color:#fff;font-weight:400;padding:2px 12px;border-radius:15px;border:none!important}.fts-review-details-master-wrap .fts-review-star{background:#4791ff;color:#fff;font-weight:400;padding:11px 12px 9px 17px;border-radius:30px;margin:0 12px 0 0;font-size:20px;float:left;vertical-align:top;line-height:22px}.fts-review-star{font-size:13px;font-style:normal;white-space:nowrap}.fts-review-star a{background:#4791ff;color:#fff}.fts-reviews-feed .fts-jal-fb-post-time{padding-top:10px!important}.fts-review-star:after{content:"";font-size:14px}.fts-reviews-feed .fts-jal-fb-message{margin-top:5px}.fts-reviews-feed .fts-jal-fb-user-name{margin-top:0;font-size:14px}.fts-jal-fb-vid-picture .fts-fluid-videoWrapper-html5{display:none}.fts-fluid-videoWrapper .fluid-width-video-wrapper{position:initial}.fts-jal-fb-user-thumb img{width:50px;max-width:100%}.fts-jal-fb-description p{line-height:17px!important;white-space:normal!important}.fts-checked-in-text-link{display:inline-block;padding-bottom:0}.fts-checked-in-img{float:left;margin-right:10px;max-width:160px}.fts-checked-in-get-directions{margin-top:5px}.fts-instagram-fade .mfp-title,.fts-instagram-fade .mfp-title a{font-size:13px}.fts-fluid-videoWrapper-html5{margin-top:10px;width:100%}.fts-fb-slideshow.slideshow .fts-fb-photo-post-wrap{position:relative!important;float:none;display:inline-block}.fts-fb-slideshow{width:100%;padding:0;overflow:hidden}.fts-fb-slideshow>a{position:absolute;top:0;left:0;width:100%;padding:0;background-color:#222;display:block}.fts-fb-slideshow>a>img{width:100%;position:static;display:block}.fts-fb-slideshow>div{position:absolute;top:0;left:0;padding:0}.composite-example>div{background:#fff}.composite-example>div>img{display:block}.composite-example>div .cycle-overlay{color:#fff;background:#000;opacity:.6;position:absolute;bottom:0;width:100%;padding:0}.fts-slider-center{text-align:center;padding:2px 0;background:#171717;position:relative;display:block;min-height:35px;font-size:15px;line-height:30px}.fts-slider-center span{display:inline-block;position:absolute;-webkit-text-size-adjust:none}.fts-cycle-slide p{margin:0;padding:0}.fts-prevControl-icon:before{content:'\f0a8';font-family:FontAwesomeSlick!important;font-size:24px}.fts-custom-caption{text-align:center;position:absolute;width:100%;left:0;top:2px;font-size:13px!important;line-height:30px;font-weight:700;z-index:0;letter-spacing:1px}.fts-nextControl-icon:before{font-size:24px;content:'\f0a9';font-family:FontAwesomeSlick!important}.fts-prevControl-icon{left:8px;z-index:1;cursor:pointer}.fts-nextControl-icon{right:7px;z-index:1;cursor:pointer}.fts-nextControl-icon:hover,.fts-prevControl-icon:hover{opacity:.8!important}.fb-social-btn-top{width:100%!important;overflow:hidden}.fts-instagram-fade.mfp-ready .mfp-figure{opacity:1!important}.page-id-6026 #main-header{display:none}.page-id-6026 #page-container{padding-top:0!important}.page-id-6026 .container{margin:0 auto!important;max-width:100%!important;width:100%!important}.fts-slider-icons-center{display:block;line-height:30px}.fts-pager-option{top:10px;position:relative}.fts-pager-option-top{bottom:0;position:relative;top:5px}.fts-pager-option,.fts-pager-option-top{text-align:center;width:100%;z-index:500;display:block}.fts-pager-option span{font-size:47px;width:15px;height:15px;line-height:10px;display:inline-block}.fts-pager-option span.cycle-pager-active,.fts-pager-option span:hover{opacity:.5}.fts-pager-option>*{cursor:pointer}.fts-fb-vid-popup .mfp-iframe-holder .mfp-close,.fts-fb-vid-popup .mfp-inline-holder .mfp-close{top:-50px!important;font-size:54px!important;font-weight:100;font-family:inherit}.fts-facebook-popup.mfp-bg,.fts-vine-vid-popup.mfp-bg{opacity:0;-webkit-transition:all .15s ease-out;-moz-transition:all .15s ease-out;transition:all .15s ease-out}.fts-facebook-popup.mfp-bg.mfp-ready{opacity:.8;z-index:99999990}.fts-facebook-popup.mfp-bg.mfp-removing{opacity:0}.fts-facebook-popup.mfp-wrap .mfp-content{opacity:0;-webkit-transition:all .15s ease-out;-moz-transition:all .15s ease-out;transition:all .15s ease-out}.fts-facebook-popup.mfp-wrap.mfp-ready .mfp-content{opacity:1}.fts-facebook-popup.mfp-wrap.mfp-removing .mfp-content{opacity:0}.fts-facebook-popup .mfp-close{left:0!important;margin-left:4px!important;background:0 0!important;cursor:zoom-out!important;border:none!important;box-shadow:none!important;font-size:27px!important;font-family:'Open Sans',Arial,sans-serif!important;font-weight:600!important;top:-42px!important;opacity:.5!important}.fts-facebook-popup .mfp-close:before{display:none!important}.fts-facebook-popup .mfp-iframe-holder .mfp-content,.fts-facebook-popup .mfp-inline-holder .mfp-content{max-width:1400px}.fts-facebook-popup .mfp-iframe-scaler iframe,.fts-facebook-popup .mfp-iframe-scaler video{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:none!important;background:#000;right:0;margin:auto}.fts-facebook-popup .mfp-title{padding:20px;background:rgba(255,255,255,.11);margin-top:21px}.fts-facebook-popup .fts-popup-wrap{max-width:1400px;margin:0 auto;padding:0;vertical-align:middle;width:100%;position:relative}.fts-facebook-popup .fts-popup-half{width:75%;float:left;background:#000;text-align:center;vertical-align:middle;height:100%;position:relative;z-index:88888888}.fts-facebook-popup .fts-popup-second-half{height:100%;width:25%;position:relative;float:left}.fts-facebook-popup .fts-popup-second-half .mfp-bottom-bar{margin:0;position:absolute!important;top:0;right:0;width:100%;cursor:auto;color:#000;overflow:auto}.fts-facebook-popup .fts-popup-wrap img.mfp-img{width:auto;max-width:100%;display:initial;line-height:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin:0;vertical-align:middle}.fts-facebook-popup .fts-popup-wrap .mfp-counter{position:relative;bottom:0;text-align:right;right:10px;color:#c1c1c1!important;font-size:12px;line-height:18px;white-space:nowrap;display:inline-block;float:right;top:initial;margin:5px 0}.fts-facebook-popup .fts-position-helper{display:inline-block;height:100%;vertical-align:middle}.fts-facebook-popup .fts-popup-image-position{min-height:527px;width:100%;background:#000;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none}.fts-facebook-popup .fts-popup-wrap .mfp-title{padding:0;background:rgba(255,255,255,.11);margin:0}.fts-facebook-popup .fts-popup-second-half .mfp-title a{color:#0f6fad;text-decoration:none!important}.fts-youtube-popup .fts-popup-second-half .mfp-title a{color:#0f6fad!important}.fts-facebook-popup .mfp-figure:after{content:'';position:absolute;left:0;top:0;bottom:0;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#fff}.fts-facebook-popup .fts-popup-wrap .mfp-title p,.fts-instagram-caption-content .fts-popup-wrap .mfp-title p{color:#000!important;margin:0 0 10px!important;padding:0!important}.fts-facebook-popup .mfp-image-holder .mfp-content{max-width:1400px;width:100%}.fts-facebook-popup .fts-jal-fb-user-name{font-size:14px;margin-top:20px;padding-left:82px;display:block;padding-right:15px}.fts-facebook-popup .fts-fb-caption,.fts-facebook-popup .fts-non-popup-text,.hide-date-likes-comments-etc{display:none!important}.fts-facebook-popup .fts-jal-fb-post-time{padding-left:82px}.fts-facebook-popup .fts-instagram-caption-content,.fts-facebook-popup .fts-jal-fb-message{padding:10px 20px 0}.fts-facebook-popup .fts-fb-caption a{font-size:13px}.fts-facebook-popup i:before{margin-left:0!important;font-style:normal!important;font-size:15px!important}.fts-facebook-popup .icon-file:before{font-size:15px!important}#fts-photo-next:hover:after,#fts-photo-prev:hover:after,.fts-popup-half:hover #fts-photo-next:after,.fts-popup-half:hover #fts-photo-prev:after{opacity:1!important;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}#fts-photo-next:after,#fts-photo-prev:after{font-family:FontAwesomeSlick;font-size:58px!important;font-weight:100;opacity:0;color:#fff;border:none!important;margin-top:-20px!important}#fts-photo-next:after{content:"\f105"}#fts-photo-prev:after{content:"\f104"}.fts-facebook-popup .mfp-arrow{background:0 0!important;width:48px!important;height:28px!important;line-height:normal!important;margin:-32px 0!important}.fts-facebook-popup .mfp-arrow:after{margin:0!important;top:0!important;border:none!important;width:48px!important;height:24px!important}.twitter-followers-fts.fts-tweets-first,.twitter-followers-fts:hover{border-bottom:4px solid #1b95e0!important}.fts-facebook-popup .mfp-arrow-left{left:5px!important}.fts-facebook-popup .mfp-arrow-right{right:5px!important}.fts-facebook-popup .fts-jal-fb-description.fts-jal-fb-description-popup,.fts-facebook-popup .hide-date-likes-comments-etc{display:inline-block!important}.fts-facebook-popup .mfp-arrow:before,.fts-iframe-popup-element,.fts-video-popup-element{display:none}.fts-jal-fb-description-popup{color:#444}.fts-facebook-popup .fts-jal-fb-description-wrap{max-height:300px;overflow:auto;max-width:100%;padding-left:20px!important;width:100%}.fts-facebook-popup *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}body .fts-facebook-popup a.fts-powered-by-text{margin:2px 20px!important;text-align:left!important;float:left!important;font-size:12px;color:#c1c1c1!important;width:auto!important;font-weight:400!important;line-height:18px!important}.fts-powered-by-text-popup a.fts-powered-by-text{display:block!important}.fts-facebook-popup .mfp-iframe-holder .mfp-bottom-bar,.fts-facebook-popup .mfp-inline-holder .mfp-bottom-bar{overflow:auto}.fts-fb-comments-content{float:left;width:100%;max-width:100%;background:#f6f7f9;padding:0 20px 20px}.fts-facebook-popup .fts-fb-location-title{font-size:15px;display:block;padding:0;font-weight:700;font-style:normal;margin:12px 0 0;color:#333}.ft-gallery-share-wrap .fa,.fts-share-wrap i{font-style:normal!important}.fts-facebook-popup .fts-instagram-caption-content,.fts-facebook-popup .fts-jal-fb-message{clear:both;font-size:15px;color:#333}.fts-facebook-popup .fts-fb-get-directions{font-size:15px;display:inline-block;padding:0 0 20px;color:#4595f0!important}.fts-facebook-popup .fts-fb-ticket-info{color:#4595f0!important}.fts-event-title-wrap{font-size:24px;line-height:24px}.fts-fb-comments-wrap{display:none!important}.fts-fb-comment{clear:both;float:left;width:100%;color:#222;margin:0;padding:15px 0 0;font-size:13px}.fts-fb-comment-user-pic{float:left;width:32px;height:32px;margin:0;border-radius:50px}.fts-fb-comment-msg{padding-left:42px;font-size:12px}.fts-fb-comment-user-name{font-weight:700;display:inline-block;font-size:12px}@media all and (max-width:900px){.fts-facebook-styles-popup .fts-popup-half,.fts-facebook-styles-popup .fts-popup-second-half{height:100%;width:100%;position:relative;float:none}.fts-facebook-styles-popup .fts-popup-half{background:#000;text-align:center;vertical-align:middle;z-index:500}.fts-facebook-styles-popup .mfp-bottom-bar{background:#fff;padding-bottom:10px}.fts-facebook-styles-popup .mfp-iframe-holder .mfp-content,.fts-facebook-styles-popup .mfp-inline-holder .mfp-content{top:0}.fts-facebook-styles-popup .mfp-iframe-holder .fts-popup-image-position,.fts-facebook-styles-popup .mfp-inline-holder .fts-popup-image-position{height:auto!important}.fts-facebook-styles-popup .mfp-container{padding-top:40px;padding-bottom:0}.fts-facebook-styles-popup .mfp-container:before{display:none}.fts-popup-image-position{min-height:50px!important}.fts-facebook-styles-popup .fts-popup-second-half .mfp-bottom-bar{height:auto!important;overflow:visible!important}}@media all and (max-width:640px){.fts-instagram-styles-popup .fts-popup-half,.fts-instagram-styles-popup .fts-popup-second-half{height:100%;width:100%!important;position:relative;float:none}.fts-instagram-styles-popup .fts-popup-half{background:#fff;text-align:center;vertical-align:middle;z-index:500}.fts-instagram-styles-popup .mfp-bottom-bar{background:#fff;padding-bottom:10px}.fts-instagram-styles-popup .mfp-iframe-holder .mfp-content,.fts-instagram-styles-popup .mfp-inline-holder .mfp-content{top:0}.fts-instagram-styles-popup .mfp-iframe-holder .fts-popup-image-position{height:auto!important}.fts-instagram-styles-popup .mfp-container{padding-top:40px;padding-bottom:0}.fts-instagram-styles-popup .mfp-container:before{display:none}.fts-popup-image-position{min-height:50px!important}.fts-instagram-styles-popup .fts-popup-second-half .mfp-bottom-bar{height:auto!important;overflow:visible!important}}@media all and (min-width:1900px){.fts-facebook-popup .fts-popup-second-half.fts-instagram-popup-second-half{float:left!important}.fts-facebook-popup .fts-popup-second-half{height:100%;width:100%;position:relative;float:left}.fts-facebook-popup .fts-popup-half{background:#000;text-align:center;vertical-align:middle;z-index:500;width:100%}.fts-facebook-popup .mfp-bottom-bar{background:#fff;padding-bottom:10px}.fts-facebook-popup .mfp-iframe-holder .mfp-content,.fts-facebook-popup .mfp-inline-holder .mfp-content{top:0}.fts-facebook-popup .mfp-iframe-holder .fts-popup-image-position,.fts-facebook-popup .mfp-inline-holder .fts-popup-image-position{height:auto!important}.fts-facebook-popup .mfp-container{padding-top:40px;padding-bottom:0}.fts-facebook-popup .mfp-container:before{display:none}.fts-popup-image-position{min-height:50px!important}.fts-facebook-popup .fts-popup-second-half .mfp-bottom-bar{height:auto!important;overflow:visible!important;min-height:auto!important}}.fts-twitter-backg-image,.fts-twitter-backg-image img{margin:0!important;padding:0!important;position:relative;z-index:99}.fts-instagram .image-overlay,.fts-instagram .image-overlay-inside,.fts-instagram .image-overlay.overlay-type-extern,.fts-jal-fb-group-display .image-overlay-inside,.fts-jal-single-fb-post .image-overlay,.fts-jal-single-fb-post .image-overlay-inside,.fts-jal-single-fb-post .image-overlay.overlay-type-extern,.fts-mashup .image-overlay,.fts-mashup .image-overlay.overlay-type-extern,.fts-pinterest-wrapper .image-overlay,.fts-pinterest-wrapper .image-overlay-inside,.fts-pinterest-wrapper .image-overlay.overlay-type-extern,.fts-profile-pic a .image-overlay,.fts-profile-pic a .image-overlay-inside,.fts-profile-pic a .image-overlay.overlay-type-extern,.fts-slicker-facebook-photos .image-overlay,.fts-slicker-facebook-photos .image-overlay-inside,.fts-slicker-facebook-photos .image-overlay.overlay-type-extern,.fts-tweeter-wrap .image-overlay,.fts-tweeter-wrap .image-overlay-inside,.fts-tweeter-wrap .image-overlay.overlay-type-extern,.fts-vine-content .image-overlay,.fts-vine-content .image-overlay-inside,.fts-vine-content .image-overlay.overlay-type-extern,.fts-yt-videolist .image-overlay,.fts-yt-videolist .image-overlay-inside,.fts-yt-videolist .image-overlay.overlay-type-extern{display:none!important}.fts-facebook-popup.mfp-ready .mfp-figure{opacity:1}ul.fts-sidebar-menu ul.fts-social-bar-icons-wrap ul li{margin:0!important}.fts-instagram-inline-block-centered{text-align:center;font-size:0;margin:auto}#facebook-sidebar .fts-fb-comments-wrap{display:none}.fts-twitter-backg-image img{display:block!important;width:100%}.fts-twitter-backg-image .twitter-social-btn-top{position:absolute!important;bottom:5px;left:10px;z-index:100}.fts-twitter-followers-wrap{background:#fff;padding:1px 5px 0 0;margin-bottom:10px;text-align:center;color:#1b95e0!important}.twitter-followers-fts{text-align:center;display:inline-block;padding:5px 15px;font-size:18px;font-weight:600!important}.twitter-followers-fts a,.twitter-followers-fts-singular a{font-weight:400!important;letter-spacing:.02em;text-transform:uppercase}.twitter-followers-fts a{display:block;color:#66757f!important;font-size:11px;transition:color .15s ease-in-out}.twitter-followers-fts:hover{transition:border .15s ease-in-out}.fts-tweets-first,.fts-tweets-first a,.twitter-followers-fts:hover a{color:#1b95e0!important}.fts-tweet-reply-left{float:left;display:inline-block}.fts-twitter-reply-wrap a{/* color:rgba(144,147,148,.71) */}body .fts-twitter-favorites-wrap:hover{color:#c32525!important}.fts-twitter-favorites-wrap{margin-left:20px}body .fts-twitter-reply-wrap.fts-twitter-full-width{margin-left:0!important;margin-top:0}.twitter-followers-fts-singular{font-size:15px;padding:5px 0 0}.twitter-followers-fts-singular a{color:#66757f!important;font-size:11px}.twitter-social-btn-top a,.twitter-social-btn-top iframe{color:#fff!important}@media (max-width:400px){.twitter-followers-fts{padding:5px 10px;font-size:15px!important;font-weight:500!important}}.fts-twitter-full-name{font-size:14px!important;font-weight:700}a.fts-twitter-at-name{font-size:13px!important;color:#999!important;font-weight:400!important;display:inline-block;margin-top:3px}.fts-profile-wrap{clear:both;display:block}.fts-clear{clear:both}.fts-profile-pic{float:left;margin:0 25px 20px 0;max-width:125px}.fts-profile-pic a:hover{opacity:.8}.fts-isnta-full-name{padding:0 0 10px;float:left;margin:4px 20px 0 0}.fts-profile-name-wrap .fts-follow-header-wrap{font-size:14px;display:inline-block;letter-spacing:0;padding:7px 10px;border-radius:4px;border:1px solid #5dba00;line-height:18px}.fts-profile-description{font-size:15px;line-height:22px}.fts-profile-name-wrap{font-size:32px;margin-bottom:18px;letter-spacing:2px;line-height:28px}.fts-profile-pic img{border-radius:50%;max-width:100%}.fts-profile-stats{margin:0 0 5px}.fts-profile-stats span{font-weight:700;display:inline-block}.fts-profile-stats div{font-size:15px;display:inline-block;margin-right:20px;margin-bottom:10px}.fts-profile-wrap{max-width:630px;margin:auto;padding:0 0 20px}.fts-facebook-popup .fts-instagram-caption-content a{color:#003569!important}.fts-facebook-popup a.ft-gallery-link-popup,.fts-facebook-popup a.fts-jal-fb-see-more{font-size:12px;text-align:right;margin-top:15px;border-top:1px solid #eee;border-bottom:1px solid #eee;padding:13px 20px 11px 40px;background:#f6f7f9;display:block!important;width:100%!important}.fts-instagram-popup-profile-wrap{display:none}.fts-facebook-popup.fts-instagram-styles-popup .fts-profile-pic{display:block;padding:15px 10px 0 15px;margin:0}.fts-facebook-popup.fts-instagram-styles-popup .fts-profile-pic img{display:block;width:40px}.fts-facebook-popup.fts-instagram-styles-popup .fts-isnta-full-name{font-size:17px;letter-spacing:normal;color:#333}.fts-facebook-popup.fts-instagram-styles-popup .fts-profile-name-wrap{padding-top:15px}.fts-follow-header-wrap{margin-right:15px;color:#5dba00}.fts-follow-header-wrap a{color:#5dba00!important}.fts-facebook-popup.fts-instagram-styles-popup .fts-insta-date-popup-grab{clear:both;text-align:right;margin:55px 15px -8px!important;color:#999;border-top:1px solid #eee;padding-top:12px;font-size:14px}.fts-facebook-popup.fts-instagram-styles-popup a.fts-view-on-instagram-link{margin:20px 15px 0;padding:10px 0!important;color:#9f9f9f!important}.fts-facebook-popup.fts-instagram-styles-popup .fts-view-on-instagram-link:before{font-size:15px;top:1px;position:relative;margin-left:5px}.fts-facebook-popup.fts-instagram-styles-popup .fts-follow-header-wrap{float:right;margin:0 40px 20px 15px;color:#5dba00;font-size:12px;top:-7px;position:relative}.fts-facebook-popup.fts-instagram-styles-popup .heart-comments-wrap,.fts-facebook-popup.fts-instagram-styles-popup .slicker-heart-comments-wrap{position:relative;color:#444!important;margin:0 0 0 15px!important;font-size:14px;width:auto!important;left:0}.fts-facebook-popup.fts-instagram-styles-popup .heart-comments-wrap li,.fts-facebook-popup.fts-instagram-styles-popup .slicker-heart-comments-wrap li{display:inline-block;margin-right:15px!important;margin-top:-5px!important;opacity:1}.fts-facebook-popup.fts-instagram-styles-popup .fts-comment-instagram:before{font-size:14px}.fts-facebook-popup.fts-instagram-styles-popup .fts-popup-half.fts-instagram-popup-half{width:64%}.fts-facebook-popup.fts-instagram-styles-popup .fts-popup-second-half.fts-instagram-popup-second-half{width:36%}.fts-facebook-popup.fts-instagram-styles-popup .fts-instagram-popup-half .fts-popup-image-position{min-height:auto!important}.fts-facebook-popup.fts-instagram-styles-popup .fts-popup-second-half .mfp-bottom-bar{margin:0;position:absolute!important;top:0;right:0;width:100%;cursor:auto;color:#000;overflow:auto;min-height:200px}.fts-facebook-popup.fts-instagram-styles-popup .mfp-iframe-holder .mfp-content,.fts-facebook-popup.fts-instagram-styles-popup .mfp-image-holder .mfp-content,.fts-facebook-popup.fts-instagram-styles-popup .mfp-inline-holder .mfp-content{max-width:1000px;width:100%}.fts-facebook-popup.fts-instagram-styles-popup .heart-comments-wrap{margin:-18px 0 0 15px!important}.fts-facebook-popup a.fts-view-on-instagram-link{font-size:12px;text-align:left;margin-top:15px;border-top:1px solid #eee;border-bottom:1px solid #eee;color:#555!important;padding:10px 20px;background:#fff;display:block}.fts-mashup-post-wrap{padding:0!important;border-bottom:1px solid rgba(184,184,184,.3);line-height:17px;margin-bottom:10px;position:relative;display:inline-block;width:100%}.fts-mashup-type-name{clear:both;width:100%;display:block;background:#f7f7f7;margin-bottom:10px;box-shadow:1px 1px 0 #ddd}.fts-mashup-type-name span{display:block;padding:0 7px 3px 0;text-align:right;font-size:10px;color:#bfbfbf;line-height:14px}.fts-mashup-count-wrap{width:100%;clear:both;display:block;padding-top:12px;text-align:left;margin-bottom:6px;float:left}.fts-mashup-count-wrap a{display:inline-block;font-size:13px}.fts-mashup-count-wrap .fts-tweet-reply-left{float:none;display:inline-block}.fts-mashup-description-wrap{clear:both;padding-top:5px;line-height:18px}.fts-jal-fb-post-time{margin-bottom:8px}.twitter-video{min-width:200px!important}.fts-mashup .fts-mashup-image-and-video-wrap{margin-top:8px;position:relative;line-height:0}.fts-mashup-count-wrap .slicker-heart-comments-wrap{position:relative;top:inherit;bottom:inherit;margin:0!important}.fts-mashup-count-wrap .slicker-heart-comments-wrap li.slicker-instagram-image-likes{padding-left:0!important}.fts-mashup .fts-twitter-description-image{margin-top:0!important}.fts-mashup .fts-single-pin-social-meta-wrap{margin:0}.fts-mashup .fts-single-pin-social-meta-wrap span{margin-top:0;font-size:14px}.fts-mashup .fts-youtube-title{font-weight:700;font-size:12px;padding:8px 0 0;line-height:14px}.fts-mashup-post-wrap .fts-jal-single-fb-post{padding-top:0!important}.fts-mashup .fts-jal-single-fb-post{border-bottom:none}.fts-mashup .fts-jal-fb-picture,.fts-mashup .fts-jal-fb-vid-picture{margin-top:0}.fts-mashup .fts-jal-single-fb-post .fts-jal-fb-user-thumb a:before,.fts-mashup-instagram-icon a:before,.fts-mashup-pinterest-icon a:before,.fts-mashup-twitter-icon a:before,.fts-mashup-wp_gallery-icon a:before,.fts-mashup-youtube-icon a:before{font-family:FontAwesomeSlick;font-size:32px;font-weight:100!important}.fts-mashup-instagram-icon a:before{content:"\f16d";font-size:37px;top:2px;position:relative}.fts-mashup .fts-jal-single-fb-post .fts-jal-fb-user-thumb a:before{content:"\f09a";top:2px;position:relative;left:8px;font-size:30px}.fts-mashup-hide-fb-icon .fts-jal-single-fb-post .fts-jal-fb-user-thumb a:before{content:""}.fts-mashup-twitter-icon a:before{content:"\f099";top:0;position:relative;left:3px}.fts-mashup-pinterest-icon a:before{content:"\f231";position:relative;top:3px;left:5px}.fts-mashup-youtube-icon a:before{content:"\f167";position:relative;top:2px;left:4px}.fts-mashup-icon-wrap-left.fts-mashup-youtube-icon a:before{top:0;left:2px}.slicker-instagram-placeholder .ft-text-for-popup-content{padding:5px 15px;opacity:0;z-index:10;position:relative;color:#fff}.slicker-instagram-placeholder .fts-mashup-count-wrap{opacity:0;z-index:10;position:absolute;bottom:-5px;left:5px;color:#fff}.slicker-instagram-placeholder:hover .fts-mashup-count-wrap a{color:#fff!important;font-size:12px}.slicker-instagram-placeholder .fts-mashup-count-wrap a{color:#fff;font-size:12px}.slicker-instagram-placeholder:hover .ft-text-for-popup-content,.slicker-instagram-placeholder:hover .fts-mashup-count-wrap{opacity:1;color:rgba(255,255,255,.88)}.slicker-instagram-placeholder .ft-gallery-link-popup{font-size:14px;position:absolute;bottom:10px;left:10px}.ft-gallery-link-popup:before{font-family:FontAwesomeSlick;content:"\f14d ";display:inline-block;margin-right:6px;-webkit-font-smoothing:antialiased;font-size:16px;margin-top:1px;margin-left:1px}.fts-mashup-wp_gallery-icon a:before{content:"\f19a";position:relative;top:2px;left:4px}.fts-mashup-icon-wrap-left.fts-mashup-wp_gallery-icon a:before{top:0;left:2px}.fts-mashup-icon-wrap-right.fts-mashup-wp_gallery-icon{margin-top:3px;margin-right:5px}.slicker-instagram-placeholder .ft-wp-gallery-icon{margin-top:-12px;margin-right:0}.fts-mashup-icon-wrap-left.fts-mashup-twitter-icon a:before{top:0;left:3px}.fts-mashup-type-icon-spacer{clear:both;width:100%;display:block;background:#f7f7f7;margin-bottom:2px}.fts-feed-type-wp_gallery .fts-mashup-description-wrap{margin:0 0 15px}.fts-mashup .fts-feed-type-facebook .fts-jal-fb-user-thumb,.fts-mashup-hide-fb-thumb.fts-feed-type-facebook .fts-jal-fb-user-thumb{display:none!important}.fts-feed-type-facebook .fts-mashup-icon-wrap-left a:before,.fts-feed-type-facebook .fts-mashup-icon-wrap-right a:before{content:"\f09a";top:2px;position:relative;left:9px;font-size:28px!important}.fts-mashup-type-icon{float:left;height:40px;margin:15px 10px 0 0}.fts-mashup .fts-jal-single-fb-post .fts-jal-fb-user-thumb{width:40px;height:45px;float:left;margin:0}.fts-mashup .fts-jal-single-fb-post .fts-jal-fb-user-thumb a,.fts-mashup-icon-wrap{float:left;height:45px;width:40px;padding-top:13px;position:relative;margin-top:0!important;text-decoration:none!important}.fts-mashup-hide-fb-icon .fts-jal-single-fb-post .fts-jal-fb-user-thumb a{float:left;height:50px;width:50px;padding-top:0;position:relative;margin-top:0!important;text-decoration:none!important}.fts-mashup-hide-fb-icon .fts-jal-single-fb-post .fts-jal-fb-user-thumb{width:50px;height:50px;float:left;margin:0 15px 0 0}.fts-mashup .fts-jal-fb-message{line-height:18px;padding-top:5px}.fts-mashup-count-wrap a,.fts-mashup-icon-wrap a{text-decoration:none!important}.fts-mashup .fts-jal-fb-post-time{padding-top:3px}.fts-mashup .fts-likes-shares-etc-wrap{float:left;width:100%;padding:0}.fts-mashup .icon-thumbs-up:before,.fts-single-pin-social-meta-wrap,.fts-tweet-reply-left{margin-left:5px!important}.fts-mashup .fts-jal-fb-see-more,.fts-mashup .fts-mashup-count-wrap .slicker-heart-comments-wrap li,.fts-mashup .slicker-instagram-placeholder .slicker-heart-comments-wrap li{font-size:12px!important}.fts-mashup .fts-comment-instagram:before,.fts-mashup .fts-jal-fb-see-more .icon-comments:before,.fts-mashup .fts-jal-fb-see-more .icon-file-up:before,.fts-mashup .fts-jal-fb-see-more .icon-thumbs-up:before{font-size:14px}.fts-mashup-icon-wrap-right{float:right}.fts-mashup-icon-wrap-right a{text-decoration:none!important;font-size:12px}.fts-mashup-icon-wrap-left a:before,.fts-mashup-icon-wrap-right a:before{font-family:FontAwesomeSlick;font-weight:100!important;top:12px}.fts-mashup-icon-wrap-right.fts-mashup-facebook-icon{position:relative;right:18px;top:13px;z-index:1}.fts-mashup-hide-fb-icon.fts-feed-type-facebook .fts-mashup-icon-wrap-right a:before{font-size:30px!important}.fts-mashup-icon-wrap-left{float:left;margin:16px 12px 0 0}.fts-feed-type-pinterest .fts-mashup-icon-wrap-left a:before{left:4px;top:0}.fts-mashup .fts-feed-type-facebook .fts-jal-fb-user-thumb a:before{font-family:FontAwesomeSlick!important;content:"\f09a"!important;top:2px!important;position:relative!important;left:8px!important;font-size:29px!important}.fts-mashup .fts-mashup-icon-left .fts-jal-fb-user-thumb{display:none!important}.fts-feed-type-facebook.fts-mashup-hide-fb-thumb .fts-jal-fb-user-thumb,.fts-mashup .fts-mashup-hide-fb-icon-and-thumbnail.fts-feed-type-facebook .fts-jal-fb-user-thumb,.fts-mashup-hide-fb-icon-and-thumbnail .fts-jal-fb-user-thumb,.fts-mashup-icon-left .fts-jal-fb-user-thumb img{display:none!important}.fts-mashup-icon-left .fts-feed-type-facebook .fts-jal-fb-user-thumb a:before{content:''!important}.fts-mashup-icon-left.fts-feed-type-facebook.fts-mashup-hide-fb-thumb .fts-jal-fb-user-thumb{display:block!important}body div.fts-mashup-hide-fb-thumbnail-icon .fts-jal-fb-user-thumb a:before{display:none}body div.fts-mashup-hide-fb-thumbnail-icon .fts-jal-fb-user-thumb{width:50px!important;height:50px!important;margin-right:10px!important;margin-bottom:10px!important}body .fts-mashup .fts-mashup-hide-fb-thumbnail-icon .fts-jal-single-fb-post .fts-jal-fb-user-thumb a{width:50px!important;height:50px!important;margin-top:0!important;padding:0!important}.fts-mashup .fts-likes-shares-etc-wrap a{color:#777}.fts-mashup-error-notice{margin-bottom:25px}.fts-mashup-icon-left .fts-mashup-error-notice{margin-left:45px}.fts-mashup-icon-wrap-left a{text-decoration:none!important}.fts-mashup-icon-wrap-right.fts-mashup-youtube-icon a:before{left:-2px!important;top:15px}.fts-mashup-icon-wrap-right.fts-mashup-twitter-icon a:before{left:-2px!important}.fts-mashup-icon-wrap-right.fts-mashup-pinterest-icon a:before{left:0!important}.fts-mashup .fts-jal-fb-user-name{margin-right:23px}.fts-mashup-media-top.fts-mashup-post-wrap .fts-jal-fb-user-name{margin-left:10px;padding-top:0}.fts-mashup-media-top .fts-jal-fb-user-name{margin-left:10px}.fts-mashup .fts-jal-fb-message p,.fts-mashup-description-wrap p{margin:4px 0 5px!important}.fts-single-pin-meta-wrap .fts-single-pin-social-meta-wrap{margin-left:15px!important}.fts-review-details-wrap{margin-top:0}.fts-review-details-master-wrap{display:block;clear:both;padding:10px 10px 15px;background:#fff;border-bottom:1px solid rgba(184,184,184,.3)}.fts-reviews-overall-rating-stars{margin:auto}.fts-review-details-wrap{padding:5px 0 0;line-height:17px}.fts-review-details-master-wrap-no-background-or-border{background:0 0!important;border:none!important}.fts-slicker-twitter-posts .fts-tweeter-wrap .tweeter-info{padding:11px 0 7px}.fts-slicker-twitter-posts .fts-twitter-image{margin-left:11px!important}.fts-slicker-twitter-posts .tweeter-info .fts-twitter-full-width{padding:0 10px 10px}.fts-slicker-twitter-posts .tweeter-info .fts-twitter-full-width.fts-twitter-reply-wrap{padding:0 10px 2px}.tweeter-info .twitter-video{margin:0 -8px -5px!important}.fts-fb-get-directions,.fts-fb-ticket-info{display:inline-block}.fts-fb-ticket-info:before{content:'|';margin-left:10px;margin-right:10px}.fts-facebook-popup .ft-text-for-popup-content .fts-jal-fb-post-time,.fts-facebook-popup .ft-text-for-popup-content .fts-jal-fb-user-name,.fts-facebook-popup .ft-text-for-popup-content .fts-mashup-description-wrap{padding-right:15px}.fts-facebook-popup .ft-text-for-popup-content .fts-mashup-description-wrap{margin-top:20px;margin-bottom:25px;padding-left:20px!important}.fts-facebook-popup .ft-text-for-popup-content .fts-jal-fb-user-name{margin-top:12px;padding-left:20px!important}.fts-facebook-popup .ft-text-for-popup-content .fts-jal-fb-post-time{padding-left:20px!important}.fts-facebook-popup .ft-text-for-popup-content .fts-mashup-icon-wrap-right.fts-mashup-wp_gallery-icon{margin-right:20px!important;margin-top:-1px}.fts-facebook-popup a.ft-gallery-link-popup{font-size:12px;text-align:left;margin-top:15px;border-top:0 solid #eee;border-bottom:0 solid #eee;padding:14px 20px 10px;background:0 0;display:inline-block;float:left}.fts-facebook-popup .ft-text-for-popup-content .fts-mashup-description-wrap p{padding-top:0;line-height:21px;word-wrap:break-word;font-size:15px;color:#333}.ft-text-for-popup-content{text-align:left}.fts-slicker-facebook-photos .ft-text-for-popup-content .fts-jal-fb-post-time{color:#9d9d9d!important;margin-top:0}.ft-image-overlay{position:absolute;top:0;left:0;height:100%;width:100%}.fts-popup-second-half .fts-watermark-inside{display:none!important}.fts-watermark-inside-center{position:absolute;top:50%;text-align:center;transform:translateY(-50%);width:100%}.fts-watermark-inside-top-center{position:absolute;text-align:center;top:0;width:100%}.fts-watermark-inside-bottom-center{position:absolute;bottom:0;text-align:center;width:100%}.fts-watermark-inside-bottom-left{position:absolute;bottom:0}.fts-watermark-inside-bottom-right{position:absolute;text-align:right;bottom:0;width:100%}.fts-watermark-inside-top-right{position:absolute;width:100%;top:0;text-align:right}.fts-watermark-inside-top-left{position:absolute;text-align:left;top:0;width:100%}.fts-watermark-inside img{max-width:100%;height:auto;display:inline-block;margin:0}.fts-mashup-image-and-video-wrap .fts-watermark-inside img{max-width:75%!important}.ft-gallery-share-wrap{display:none;margin-top:0;position:absolute;left:20px;background:#fff;top:-8px;min-width:116px;box-shadow:2px -2px 3px 0 rgba(187,187,187,.8);width:100%;z-index:1;text-align:left}.fts-popup-second-half .ft-gallery-share-wrap{left:50px;background:#f6f7f9;top:8px}.ft-gallery-share-wrap a{display:inline-block!important}.fts-share-wrap{padding:0;float:left;width:auto;margin:9px 0 0;display:inline-block;position:relative;z-index:1}a.fts-jal-fb-see-more{width:auto!important;display:inline-block!important;text-align:left}.ft-gallery-share-wrap .fa,.fts-twitter-logo .fa{display:inline-block!important;font-family:FontAwesomeSlick!important;font-weight:400!important;line-height:1!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ft-gallery-share-wrap .fa-facebook-square:before{content:"\f082";font-size:17px!important}.ft-gallery-share-wrap .fa-linkedin:before{content:"\f0e1";font-size:16px!important}.ft-gallery-share-wrap .fa-google-plus:before{content:"\f0d5";font-size:16px!important}.ft-gallery-share-wrap .fa-pinterest-plus:before{content:"\f0d2";font-size:15px!important}.ft-gallery-share-wrap .fa-twitter:before,.fts-twitter-logo .fa-twitter:before{content:"\f099";font-size:19px!important;top:1px;position:relative}.ft-gallery-share-wrap .fa-envelope:before{content:"\f0e0";font-size:16px!important}.ft-gallery-link-popup{margin:5px 0 0!important}.ft-gallery-share-wrap a:hover{opacity:.8;}.fts-slicker-facebook-photos .fts-share-wrap a{color:#fff!important}.fts-slicker-facebook-photos .fts-mashup-count-wrap{clear:both;display:block!important;top:-21px;left:16px}.fts-slicker-facebook-photos .fts-likes-shares-etc-wrap{outline:0;z-index:5000!important;color:#fff;position:absolute;bottom:10px!important;display:none;width:100%;text-align:left}.fts-slicker-facebook-photos .fts-jal-fb-see-more{bottom:0!important;position:absolute;left:10px}.fts-mashup-post-wrap.fts-feed-type-facebook .fts-mashup-count-wrap.fts-share-wrap{margin:10px 3px 0 0;padding:0}.fts-mashup-post-wrap.fts-feed-type-facebook .fts-mashup-count-wrap.fts-share-wrap a.ft-gallery-link-popup{margin:0!important}.fts-mashup-post-wrap.fts-feed-type-facebook .ft-gallery-share-wrap{top:-7px}.fts-mashup-count-wrap.fts-share-wrap .ft-gallery-link-popup{margin-top:0!important}.fts-twitter-reply-wrap{float:left}.fts-instagram-reply-wrap-left,.fts-pinterest-reply-wrap-left,.fts-youtube-reply-wrap-left{float:right}.fts-tweeter-wrap .fts-share-wrap{padding:7px 0 0;margin-top:10px}.ft-gallery-share-wrap a{margin:7px 5px;font-size:13px}.fts-tweeter-wrap .ft-gallery-share-wrap{top:-6px}.fts-tweeter-wrap .fts-mashup-count-wrap a{display:inline-block;margin:7px 5px;font-size:13px}body .fts-slicker-facebook-photos .fts-tweeter-wrap .ft-gallery-share-wrap{max-width:132px!important;width:100%!important}.fts-tweeter-wrap .ft-gallery-link-popup{font-size:13px}.fts-twitter-reply-wrap-left{float:right;padding:10px 0 0;margin-top:5px}.fts-tweet-others-right a{display:inline-block}.fts-twitter-reply-wrap .fts-share-wrap{margin-top:10px;padding:0}.fts-share-wrap .fts-share-wrap{margin-top:10px}.fts-twitter-reply-wrap .fts-share-wrap a.ft-gallery-link-popup{margin-top:0!important}.fts-slicker-twitter-posts .fts-twitter-reply-wrap-left{padding:0!important;margin:15px 0 0!important}.ft-galleryfacebook-icon{margin-left:11px!important}.fts-mashup-post-wrap .fts-tweet-reply-left{margin-right:35px;padding:0 5px}.fts-mashup-post-wrap .fts-twitter-reply-wrap-left{padding:0;margin-top:0}.fts-share-wrap .ft-gallery-link-popup{margin:0!important;font-size:12px}.fts-mashup-count-wrap .fts-share-wrap{margin:0!important}.fts-instagram-reply-wrap-left{margin-right:8px}.fts-popup-second-half .fts-share-wrap{margin:15px 0 -64px}.fts-popup-second-half .mfp-title .ft-gallery-share-wrap a{color:#137fc4}.fts-instagram-styles-popup .fts-share-wrap .ft-gallery-share-wrap a,.fts-instagram-styles-popup .fts-share-wrap a.ft-gallery-link-popup{color:#444}.fts-youtube-reply-wrap-left a{font-size:12px}.fts-mashup-post-wrap.fts-feed-type-facebook .fts-jal-fb-see-more{margin-bottom:-1px;text-transform:none!important}.fts-instagram-styles-popup .ft-gallery-link-popup,.fts-instagram-styles-popup .fts-share-wrap{margin:0!important;padding:0!important}.fts-instagram-styles-popup .fts-instagram-reply-wrap-left{float:left;margin-left:20px}.fts-instagram-styles-popup .fts-share-wrap{background:#fff;top:-11px;left:19px;position:relative;z-index:1000}.fts-instagram-styles-popup .ft-gallery-share-wrap{top:-6px;left:25px;background:#fff}.fts-instagram-styles-popup .ft-gallery-link-popup:before{content:"\f064";margin-right:10px}.slicker-instagram-placeholder .ft-gallery-link-popup:before{content:"\f064";color:#fff;font-size:15px;position:relative;top:2px}.slicker-instagram-placeholder .ft-gallery-share-wrap{top:-19px;left:35px;box-shadow:2px -2px 3px 0 #222!important;background:#000}.slicker-instagram-placeholder .ft-gallery-share-wrap a{color:#fff}.fts-facebook-popup .ft-gallery-link-popup:before{font-family:FontAwesomeSlick;content:"\f064 ";margin-left:8px}.fts-mashup-count-wrap .fts-instagram-reply-wrap-left{margin-right:-8px}.fts-facebook-thumb-one,.fts-facebook-thumb-zero{margin-right:1px!important;display:inline-block;margin-bottom:1px!important}a.fts-facebook-thumbs-wrap{display:inline-block;max-width:515px}.fts-facebook-thumb-two{display:inline-block}.fts-image-count-tint-underlay{position:absolute;top:0;bottom:0;right:0;left:0;background:rgba(0,0,0,.5)}.fts-fb-thumbs-wrap,.fts-more-photos-auto-width .fts-fb-thumbs-wrap{position:relative;background-size:cover!important;background-position:center center!important;display:inline-block!important;overflow:hidden}.fts-fb-thumbs-wrap{margin-right:.233333%!important}.fts-2-photos.fts-fb-thumbs-wrap,.fts-more-photos-3-photos .fts-fb-thumb-two-wrap{margin-right:0!important}.fts-3-photos{max-width:33.1%}.fts-2-photos{max-width:49.77%}.fts-fb-more-photos-wrap .fts-jal-fb-picture{margin-bottom:1px!important}.fts-more-photos-auto-width{float:none!important;margin:10px 0 4px}.fts-more-photos-auto-width a{width:49.84%;margin:0!important}.fts-more-photos-auto-width .fts-fb-thumbs-wrap{max-width:100%;margin-right:0!important;margin-left:.2333333333%!important;margin:0 0 4px;z-index:0;background-repeat:no-repeat;vertical-align:top}.fts-more-photos-auto-width .fts-jal-fb-picture{float:none!important;display:inline-block!important;margin:0!important}.fts-more-photos-three-photo-wrap .fts-fb-thumbs-wrap{display:inline-block!important;max-width:100%;margin-right:.233333333%!important;margin:0 0 4px;width:49.887%;overflow:hidden;max-height:240px}.fts-fb-scrollable,.fts-twitter-scrollable,.fts-youtube-scrollable{overflow:auto}.ft-text-for-popup,.fts-slicker-facebook-albums .fts-fb-load-more-output,.fts-slicker-facebook-albums .fts-share-wrap,.fts-slicker-facebook-photos .fts-share-wrap,.fts-twitter-reply-wrap-left p{display:none}.fts-more-photos-three-photo-wrap .fts-fb-thumb-one-wrap{margin-right:0!important}.fts-image-count{position:absolute;bottom:50%;width:100%;top:50%;text-align:center;font-size:36px;color:#fff;line-height:36px;height:36px;transform:translate(0,-50%)}.fts-image-count span{position:relative;bottom:0;font-size:35px}.fts-fb-more-photos-wrap{width:100%}@media (max-width:375px){.fts-image-count,.fts-image-count span{font-size:20px}}@media (max-width:667px){.fts-image-count,.fts-image-count span{font-size:34px}}.ft-gallery-buy-now{margin:0 12px}.fts-mashup-post-wrap .fts-share-wrap,.fts-slicker-facebook-albums.ft-wp-gallery .fts-share-wrap{display:block}.fts-mashup-count-wrap .fts-twitter-reply-wrap.fts-twitter-no-margin-left,.fts-mashup-hide-date .fts-jal-fb-post-time,.fts-mashup-hide-name .fts-jal-fb-user-name,.fts-mashup-media-top .fts-jal-fb-description-wrap,.fts-mashup-media-top .fts-mashup-type-icon-spacer{display:none}.ft-wp-gallery .fts-share-wrap a{color:#777!important}.fts-slicker-facebook-posts img{max-width:100%}.fts-twitter-no-margin-left{clear:both}.fts-instagram-styles-popup .fts-comment-instagram:before{font-size:14px!important}.fts-smallerthan-180 .fts-instagram-link-target{padding-left:50%;padding-bottom:50%;padding-top:50%}.fts-smallerthan-180 .fts-instagram-link-target span:before{content:''!important}.fts-smallerthan-180 .fts-instagram-link-target:hover,.fts-smallerthan-180.slicker-instagram-placeholder:hover .slicker-instaG-photoshadow{background:0 0!important}.fts-instagram,.fts-instagram-scrollable{margin:auto}.fts-mashup-hide-name .fts-mashup-description-wrap,.fts-mashup-hide-name.fts-mashup-hide-date .fts-jal-fb-message{padding-top:0!important}.fts-mashup-description-wrap a{word-wrap:break-word}.fts-mashup-image-and-video-wrap.popup-gallery-twitter .twitter-video{margin:-8px!important}.fts-mashup-media-top .fts-mashup-image-and-video-wrap.popup-gallery-twitter{margin-top:0}.fts-mashup-media-top .fts-likes-shares-etc-wrap,.fts-mashup-media-top .fts-mashup-description-wrap,body .fts-mashup-post-wrap.fts-mashup-media-top .fts-jal-fb-message{padding:0 10px!important}.fts-mashup-media-top .fts-youtube-title{padding:10px 10px 0;display:none}.fts-mashup-post-wrap .fts-jal-single-fb-post .fts-jal-fb-vid-wrap .fts-jal-fb-description-wrap{padding:5px 10px 0!important}.fts-mashup-media-top .fts-mashup-count-wrap{padding:8px 10px 7px!important;margin-bottom:0;margin-top:4px}.fts-mashup-media-top .fts-likes-shares-etc-wrap{padding:7px 10px 8px!important;margin-bottom:0;margin-top:10px}.fts-mashup-media-top .fts-jal-single-fb-post{padding-bottom:0!important}.fts-mashup-media-top .fts-jal-fb-post-time{padding:5px 10px 7px!important}.fts-mashup-hide-thumbnail.fts-mashup-media-top .fts-jal-fb-user-name,.fts-mashup-hide-thumbnail.fts-mashup-media-top .fts-jal-single-fb-post .fts-jal-fb-user-name,.fts-mashup-media-top .fts-jal-fb-message{padding:0 10px!important}.fts-mashup-media-top .fts-jal-fb-see-more,.fts-mashup-media-top .fts-share-wrap{margin-top:0}.fts-mashup-media-top .fts-mashup-youtube-icon a:before{margin-right:8px!important;top:10px}.fts-mashup-media-top .fts-mashup-twitter-icon a:before{margin-right:8px!important;top:5px}.fts-mashup-media-top .fts-mashup-pinterest-icon a:before{margin-right:8px!important;top:9px}.fts-mashup-media-top .fts-mashup-instagram-icon a:before{margin-right:9px!important;top:9px}.fts-mashup-media-top .fts-mashup-icon-wrap-right.fts-mashup-facebook-icon{position:unset;right:unset;top:unset;z-index:1;float:right!important}.fts-mashup-media-top .fts-jal-fb-top-wrap{display:none!important}.fts-jal-fb-group-display.fts-mashup-media-top .fts-jal-single-fb-post .fts-jal-fb-top-wrap,.fts-mashup-hide-thumbnail .fts-jal-fb-user-thumb,.slicker-youtube-placeholder .entriestitle{display:none}.fts-mashup-media-top .fts-jal-fb-link-wrap,.fts-mashup-media-top .fts-jal-fb-vid-wrap{margin-top:0;margin-bottom:10px;text-align:center}.fts-mashup-media-top .fts-jal-fb-link-wrap .fts-jal-fb-picture,.fts-mashup-media-top .fts-jal-fb-vid-wrap{float:none}.fts-mashup-media-top .fts-jal-fb-picture,.fts-mashup-media-top .fts-jal-fb-vid-picture{margin-bottom:0!important}.fts-mashup-media-top .fts-mashup-icon-wrap-left{margin-left:10px;margin-right:5px;margin-top:3px;top:0}.fts-mashup-media-top .fts-mashup-icon-wrap-left.fts-mashup-instagram-icon,.fts-mashup-media-top .fts-mashup-icon-wrap-left.fts-mashup-pinterest-icon{margin-top:2px;min-height:40px}.fts-mashup-media-top .fts-mashup-icon-wrap-left.fts-mashup-instagram-icon{margin-right:0;margin-top:0}.fts-mashup-media-top .fts-mashup-icon-wrap-left.fts-mashup-youtube-icon a:before{margin-right:8px!important;top:6px}.fts-mashup-media-top .fts-mashup-icon-wrap-right.fts-mashup-facebook-icon{margin-right:20px!important;margin-top:4px!important}.fts-mashup-media-top .fts-mashup-icon-wrap-left.fts-mashup-facebook-icon{margin-top:8px!important}.fts-mashup-media-top .fts-mashup-icon-wrap-left.fts-mashup-youtube-icon{margin-top:5px!important}.fts-mashup-media-top .fts-mashup-image-and-video-wrap{margin-bottom:12px}.fts-mashup-media-top.fts-feed-type-facebook .fts-mashup-image-and-video-wrap.popup-gallery-twitter{margin:0}.fts-feed-type-facebook .fts-mashup-icon-wrap-left{margin-top:17px;margin-right:20px}.fts-mashup-icon-wrap-left.fts-mashup-instagram-icon{margin-top:3px}.fts-mashup-icon-wrap-left,.fts-mashup-icon-wrap-right{min-height:35px}.fts-jal-fb-group-display.fts-mashup-media-top .fts-jal-single-fb-post{padding-bottom:6px!important;border:none;margin-bottom:10px;background:#fff;margin-top:0!important;padding-top:0!important}.fts-mashup-media-top .fts-jal-fb-link-wrap a,.fts-mashup-media-top .fts-jal-fb-vid-picture{margin-top:0!important;line-height:0!important}.fts-mashup-media-top.fts-slicker-facebook-posts .fts-jal-single-fb-post{padding:0 0 8px!important}.fts-mashup-media-top .fts-jal-fb-user-thumb{margin-left:10px;margin-bottom:12px}.fts-yt-open{display:block;width:100%;height:100%;position:absolute}.fts-master-youtube-wrap .slicker-instagram-placeholder{position:relative;background-size:cover}.fts-facebook-popup.mfp-ready{z-index:99999999999999}.fts-youtube-popup h3{color:#111;padding:20px 40px 0 20px!important;margin-bottom:2px;font-size:24px;margin-top:0}.fts-youtube-popup h4{color:#222;padding:0 20px 4px!important;font-size:17px}.fts-youtube-description-popup{padding:0 20px 20px;color:#000}.fts-youtube-date{color:#9a9a9a;padding:0 20px 20px!important;font-size:13px}.fts-yt-open:hover{background:rgba(0,0,0,.5);cursor:pointer}.fts-master-youtube-wrap .slicker-youtube-placeholder{min-height:100px}.fts-youtube-popup-gallery,.fts-youtube-scrollable{clear:both;display:block}.fts-yt-open:hover:before{font-family:FontAwesomeSlick;content:"\f04b";display:block;font-size:32px;color:rgba(255,255,255,.54);position:absolute;top:45%;right:45%;left:43%}.fts-youtube-smallerthan-180 .fts-yt-open:hover:before{content:""}.fts-jal-fb-vid-picture a{margin:0}.fts-facebook-popup .mfp-inline-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.fts-more-photos-4-photos a{max-height:150px;display:inline-block;width:auto}.fts-more-photos-2-photos a{max-height:250px}.fts-youtube-scrollable .fts-fb-autoscroll-loader{background:0 0}.fts-yt-large.fts-youtube-thumbs-wrap{float:left}.fts-youtube-scrollable.fts-youtube-thumbs-wrap{float:right;clear:none}.fts-youtube-scrollable.fts-youtube-thumbs-wrap-left{float:left;clear:none}.fts-yt-large.fts-youtube-thumbs-wrap-left{float:right}.fts-yt-large.fts-youtube-thumbs-wrap-option-80-20{width:80%}.fts-youtube-scrollable.fts-youtube-thumbs-wrap-option-80-20{width:20%}.fts-yt-large.fts-youtube-thumbs-wrap-option-60-40{width:60%}.fts-youtube-scrollable.fts-youtube-thumbs-wrap-option-60-40{width:40%}.fts-youtube-scrollable.fts-youtube-thumbs-wrap-option-50-50,.fts-yt-large.fts-youtube-thumbs-wrap-option-50-50{width:50%}.fts-fb-comment .image-overlay-inside{display:none}.fts-youtube-popup .fts-fb-comment img{border-radius:30px}.fts-youtube-popup span.fts-fb-comment-date{color:#a6a6a6;padding-left:2px;font-size:12px!important}.fts-youtube-popup .fts-popup-second-half .mfp-title .fts-fb-comment-user-name a{color:#333!important}.youtube-comments-wrap{background:#fff;text-align:left;color:#2d2d2d!important}.youtube-comments-wrap .fts-share-wrap{margin:15px 0 -64px}.youtube-comments-wrap .fts-youtube-description-popup{display:block;position:relative!important;margin-bottom:-25px;padding-bottom:30px}.youtube-comments-wrap .ft-gallery-share-wrap{left:50px;background:#f6f7f9;top:8px}.fts-facebook-popup .mfp-bottom-bar a.ft-gallery-link-popup,.fts-facebook-popup .mfp-bottom-bar a.fts-jal-fb-see-more{color:#137fc4}.fts-youtube-scrollable .youtube-comments-wrap #___ytsubscribe_0{margin:20px 20px 10px!important}.mfp-title .fts-master-youtube-wrap-close{display:none}.fts-master-youtube-wrap-close{color:#636363;right:3px;top:3px;text-align:right;padding:15px;width:50px;font-size:24px;font-weight:700;position:absolute}.fts-master-youtube-wrap-close:before{content:"X"}.youtube-comments-wrap{overflow:auto;display:none;position:relative}.youtube-comments-wrap h3{padding-top:18px!important}.fts-scrollable-function{height:auto}.fts-youtube-description-popup{font-size:14px!important}.fts-youtube-no-thumbs-gallery{padding:0!important}.fts-youtube-noscroll .youtube-comments-wrap{overflow:visible}.fts-youtube-smallerthan-550-stack{width:100%!important}.fts-jal-fb-user-thumb img{border-radius:50px!important}.fts-twitter-username img.twitter-image{border-radius:50px;margin-right:10px}.fts-youtube-second-video-margin-btm{margin-bottom:35px}.fts-share-wrap [class*=fa-]{width:auto;height:auto}.fts-popup-half .mfp-arrow-left,.fts-popup-half .mfp-arrow-right{height:auto;width:auto;border:none!important;margin-top:0!important}.fts-popup-half .mfp-arrow-left:after,.fts-popup-half .mfp-arrow-right:after{background:0 0!important;height:auto!important;top:0!important;left:0!important;margin:0!important;padding:0!important;cursor:pointer;transform:none!important;transition:none!important;-webkit-transition:none!important}.fts-popup-half audio,.fts-popup-half video{visibility:visible!important}.fts-album-photos-wrap{text-align:center}.fts-fb-more-photos-wrap,.fts-more-photos-4-photos{position:relative;top:-3px}#wp-admin-bar-feed_them_social_admin_bar_set_cache{padding-bottom:17px!important;line-height:0!important}#wp-admin-bar-feed_them_social_admin_bar_set_cache span{line-height:10px;display:block;color:rgba(221,221,221,.57)}#wp-admin-bar-feed_them_social_admin_bar_set_cache:hover span{line-height:10px;display:block;color:#fff}.fts-mashup-media-top.fts-mashup-hide-thumbnail .fts-jal-fb-user-name{margin-left:0!important}.fts-steemit-username{display:inline-block;background-size:cover;background-repeat:no-repeat;background-position:50% 50%;border-radius:50%;width:48px;height:48px;margin-bottom:5px}.fts-steemit-div .steemit-info img{margin:0!important}.steemit-info .fts-uppercase{margin:14px 0 10px 10px}.fts-steemit-title{font-size:18px;margin-bottom:10px;letter-spacing:1px;font-weight:400;line-height:21px;color:#0084b4}.fts-steemit-div .fts-twitter-retweet:before{content:"\f27a"!important;font-size:15px!important;top:1px}.fts-steemit-div .fts-twitter-favorites:before{content:'Votes:'!important;font-family:arial!important;font-size:14px!important;margin-right:3px!important;top:0;font-weight:700}.fts-steemit-div .fts-twitter-reply:before{font-family:FontAwesomeSlick;content:'\f06e'!important;position:relative;top:2px;font-size:19px}.fts-twitter-quoted-text-wrap{border:1px solid #efe8e8!important;margin-top:10px;font-size:inherit;text-align:left;border-radius:12px;overflow:hidden;background:#fff}.fts-twitter-quoted-text-wrap a{font-size:14px!important;display:block}.fts-twitter-quoted-text-wrap .twitter-video-rendered{margin:auto!important}.fts-fluid-videoWrapper{margin-top:8px}.fts-twitter-quoted-text-wrap .fts-twitter-link-image img,.fts-twitter-quoted-text-wrap img{margin-top:0!important}.fts-twitter-quoted-text{display: block;padding:8px 10px 0;line-height:18px;}.fts-twitter-quoted-video .fts-twitter-quoted-text{padding-top:0!important}.fts-twitter-quoted-image{padding:8px}.fts-twitter-quoted-image .fts-twitter-quoted-text{padding:8px 2px 2px!important}.fts-fb-more-photos-wrap a:last-child{margin-right:0!important}.fts-fb-more-photos-wrap a:first-child{margin-left:0!important}.fts-yt-first-video .fts-fluid-videoWrapper{margin-top:0}.fts-twitter-quoted-video .fts-fluid-videoWrapper-html5,.fts-twitter-quoted-video .fts-jal-fb-vid-wrap{margin-top:0;margin-bottom:10px}.fts-fb-location-wrap{text-align:center;padding:15px}.fts-fb-location-img{display:block;margin-bottom:9px;height:20px}.fts-fb-location-img:before{content:"\f024";font-family:FontAwesomeSlick;font-size:28px;display:block}.fts-fb-location-link{margin-bottom:5px;display:block;font-size:16px}.fts-popup-second-half .fts-fb-location-wrap{color:#444}.fts-fb-embed-iframe-check-used-for-popup,.greater-than-or-equal-width-height{display:none!important}.fts-fb-video-on-page.fts-fluid-videoWrapper{padding-bottom:56%;padding-top:0;width:100%!important;height:auto!important}.fts-fb-video-on-page.fts-fluid-videoWrapper iframe{width:100%!important;height:auto!important}.fts-greater-than-width-height.fts-fb-video-on-page{margin-top:18px}.fts-greater-than-width-height.fts-fb-video-on-page iframe{padding-bottom:100%}.fts-equal-width-height{max-width:100%;padding-bottom:100%!important}.fts-comment-star:before{font-family:FontAwesomeSlick;content:"\f075";font-size:14px;margin:0 6px 0 -2px!important;padding:0!important;display:inline-block!important;border:none!important}.fts-mashup-error-notice-strong{display:block;font-size:16px;padding-bottom:5px}.fts-mashup-error-bottom-padding{padding-bottom:20px;display:block}.fts-mashup-error-check .fts-mashup-image-and-video-wrap{display:none}.fts-review-name span{margin-right:5px}.fts-mashup.masonry .fts-fluid-videoWrapper-html5{margin-top:0}.fts-child-media-hide{display:none}.fts-instagram-styles-popup .fts-carousel-image{position:absolute;right:25px;top:32px;text-align:right;font-size:21px;color:#fff;z-index:1}.fts-carousel-image-wrapper,.fts-instagram-video-image-wrapper{position:relative;right:18px;top:18px;text-align:right;font-size:20px;color:#fff;width:auto;float:right}.fts-carousel-image:before{font-family:FontAwesomeSlick;content:'\f24d'}.fts-instagram-video-image:before{font-family:FontAwesomeSlick;content:'\f03d'}.fts-instagram-popup-second-half .fts-carousel-image{display:none}.fts-child-media-popup .fts-carousel-image{display:block}.fts-carousel-image-wrapper,.fts-instagram-video-image-wrapper{position:relative;z-index:2}.slicker-instagram-placeholder a:focus{outline:auto!important}.fts-instagram-icon:before{font-family:FontAwesomeSlick!important;-webkit-font-smoothing:antialiased;content:"\f16d"}.slicker-instagram-placeholder{height:0;width:0}.fts-fb-album-additional-pics-description-wrap,.fts-popup-wrap .fts-fb-album-name-and-count{display:none}.fts-fb-album-description-content{padding-top:5px!important}.fts-facebook-styles-popup .fts-fb-album-hide,a.ft-gallerygoogle-icon{display:none!important}.fts-facebook-popup .fts-fb-album-description-content .fts-jal-fb-user-name{padding-left:60px!important;margin-top:0!important}.fts-facebook-popup .fts-fb-album-description-content .fts-fb-album-date-wrap{padding-left:60px!important;color:#999}.fts-facebook-popup .fts-fb-album-description-content .fts-jal-fb-user-thumb{margin-left:0!important}.fts-fb-album-date-wrap{margin-bottom:25px}.fts-albums-hide-main-album-link-in-popup{display:none}.fts-likes-shares-etc-wrap .fts-albums-hide-main-album-link-in-popup{display:block}@media (min-width:900px){html .mfp-wrap.fts-facebook-popup .mfp-close{top:0!important;left:-10px!important;color:#137fc4;opacity:1!important;cursor:pointer!important;z-index:100;margin-bottom:0;padding-bottom:0;height:25px}}.fts-albums-single-image .fts-jal-fb-see-more{color:#fff}.fts-instagram-popup-second-half .fts-follow-header-wrap{display:none}div.cycle-carousel-wrap div.fts-jal-fb-top-wrap{white-space:normal!important}.fts-twitter-logo .fa.fa-twitter{color:#e7e7e7!important}.fts-twitter-retweet-feed{font-size:14px;top:1px}.fts-tweeter-wrap:hover i:before{color:#1d9bf0;transition:.5s}.fts-twitter-svg-addition .fts-tweet-reply-left{float:none;display:inline-block}.fts-twitter-reply-wrap .fts-share-wrap svg.svg-inline--fa{display:inline-block!important;width:17px;top:3px;position:relative;z-index:2;transform:rotate(90deg);fill:currentcolor}.fts-share-wrap svg.svg-inline--fa{display:none!important}.fts-twitter-reply-wrap .fts-share-wrap a:before{display:none}.fts-twitter-reply-feed svg.svg-inline--fa{display:inline-block!important;width:14px;top:2px;margin-left:17px;position:relative}.fts-twitter-retweet-feed svg.svg-inline--fa{display:inline-block!important;width:20px;top:3px;margin-right:5px;position:relative}.fts-twitter-favorites-feed svg.svg-inline--fa{display:inline-block!important;width:15px;top:3px;margin-right:5px;position:relative}.fts-twitter-logo{float:right;color:rgb(227 227 227);padding: 5px 0 0 5px;}.fts-twitter-logo .fa-twitter:before{font-size:25px!important}.fts-twitter-name-wrap{display:inline-block;padding-top:7px;line-height:14px}.fts-twitter-username{float:left}.fts-twitter-external-backg-image{background:0 0}.fts-twitter-wrap-below-width-450 .fts-twitter-external-backg-image{background-size:cover;background-position:center center;background-repeat:no-repeat;display:block;height:110px;min-height:110px!important}.fts-twitter-wrap-below-width-450 .fts-twitter-external-backg-image img{display:none!important}.fts-twitter-quoted-text-wrap img,.fts-twitter-wrap-below-width-450 .fts-twitter-quoted-text-wrap{padding:0}.fts-twitter-wrap-below-width-450 .fts-twitter-quoted-text-wrap a{width:22%;display:inline-block;margin-bottom:-2px}.fts-twitter-wrap-below-width-450 .fts-twitter-quoted-text-wrap img{width:100%;display:inline-block;overflow:hidden}.fts-twitter-wrap-below-width-450 .fts-retweet-text-specific{width:95%}.fts-twitter-wrap-below-width-450 .fts-twitter-image-visible,.fts-twitter-wrap-below-width-450 .fts-twitter-quoted-text-wrap .fts-external-link-specific{display:inline-block;vertical-align:top;width:70%}.fts-twitter-wrap-below-width-450 .fts-twitter-quoted-text-wrap .fts-twitter-quoted-text a{display: block;width: 100%;}.fts-twitter-domain-name{position:relative;top:-3px;font-size:13px;padding-top:5px;display:block;color:#555}.fts-twitter-domain-name svg{max-width:15px;display:inline-block;margin-right:3px;position:relative;top:3px}.fts-twitter-quoted-text svg.r-4qtqp9{max-width:15px;fill:currentcolor;color:rgb(122 122 122)}.fts-twitter-quoted-text{padding:10px 15px 10px 15px}.fts-twitter-quoted-text a{color:#141414;word-break:break-word}.fts-twitter-quoted-title{font-weight:700;display:block;clear:both;font-size:14px}.fts-twitter-quoted-description{padding-top:3px;display: block;margin-bottom:5px;word-break:break-word;color: #606060;width: 100%;}.fts-twitter-quoted-text-wrap img{margin:0}.fts-twitter-quoted-text .fts-twitter-quoted-text{margin-top:0}.fts-twitter-quoted-text svg.r-1cvl2hr{max-width:15px;margin:0 3px;position:relative;top:3px;fill:currentcolor;display:inline-block;color:#1d9bf0}.fts-fluid-videoWrapper-html5 video{height:auto!important;width:100%!important;max-width:100%!important}@media(max-width:400px){.fts-twitter-logo,.twitter-image{display:none}}.fts-twitter-image-visible {display:inline-block;}.fts-twitter-quoted-video .fts-twitter-quoted-text a {display: revert !important;}
|
1 |
+
/* If you think we have to many !important rules you have to consider that we are fighting with the themes CSS which in most cases overrides a plugins CSS. So if you see an !important rule and are having trouble overriding it make sure and target the body, html or a wrapper ID before the CSS class you are trying to override. */ .entriestitle.fts-youtube-popup,.fts-yt-first-video{word-break:break-word}.fts-twitter-div a,.tweeter-info:hover a{-webkit-transition:all .3s ease-in-out;text-decoration:none!important}.tweeter-info,.tweeter-info:hover a{-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out}.fts-jal-fb-group-display,.fts-twitter-div{clear:both}@font-face{font-family:FontAwesomeSlick;src:url(../css/font/fontawesome-webfont.eot?v=3.2.1);src:url(../css/font/fontawesome-webfont.eot?#iefix&v=3.2.1) format("embedded-opentype"),url(../css/font/fontawesome-webfont.woff?v=3.2.1) format("woff"),url(../css/font/fontawesome-webfont.ttf?v=3.2.1) format("truetype"),url(../css/font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1) format("svg")}pre{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.fts-twitter-text{padding:8px 0 0;display:block;line-height:19px;text-align:left;clear:both}.fts-video-show-hide-btns-wrap a:focus,.fts-video-show-hide-btns-wrap a:link,.fts-video-show-hide-btns-wrap a:visited{outline:0!important;border:none!important}.fts-view-on-twitter-link:before{font-family:FontAwesomeSlick;content:"\f14c ";display:inline-block;margin-right:6px}.fts-video-show-hide-btns-wrap a:before{font-family:FontAwesomeSlick;content:'\f16a';display:inline-block;margin-right:5px}img.fts-twitter-description-image{margin:10px 0 0!important}.fts-twitter-favorites:before,.fts-twitter-retweet:before{margin-right:5px;font-family:FontAwesomeSlick;position:relative}.fts-twitter-retweet:before{content:'\f079'!important;font-size:17px!important;top:1px}.fts-twitter-favorites:before{content:'\f004 '!important;font-size:13px!important;top:0}.fts-twitter-reply:before{font-family:FontAwesomeSlick;content:'\f112'!important;position:relative;top:2px;font-size:14px}.fts-twitter-caption,blockquote.twitter-video{display:none}.fts-twitter-div *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.fts-fb-slideshow,.fts-fb-slideshow *,.fts-slicker-facebook-photos *,.fts-yt-videolist *,.popup-video-gallery-fb .fts-fb-photo-post-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.fts-twitter-div{position:relative;padding:0}.tweeter-info:hover a{transition:all .3s ease-in-out}.widget .fts-twitter-div .fts-uppercase{width:auto}.fts-twitter-div p{margin:0 0 5px!important;line-height:20px!important;padding:0}.widget .fts-twitter-div p{margin:0 0 8px!important;padding:0!important;line-height:19px!important;font-size:12px!important}.fts-twitter-div img{margin:0 10px 0 0}.fts-twitter-div .fts-uppercase{margin:0 5px 0 0;font-size:13px;font-weight:700;text-align:left;display:inline-block;float:left}.widget .twitter-image{margin-right:10px!important}.widget .fts-twitter-div .fts-uppercase,.widget .tweeter-info .fts-right,.widget .tweeter-info .fts-twitter-full-width{text-align:left;font-size:11px;line-height:14px;font-weight:400!important}.fts-right .fts-uppercase,.fts-twitter-full-width .fts-uppercase{float:left}.tweeter-info .fts-right{float:none!important;padding:5px 0 0}.tweeter-info .fts-twitter-full-width{/* padding:10px 10px 0 */}.fts-twitter-fade{display:none;width:321px;height:80px;position:absolute;top:137px;left:1px}.fts-twitter-image,.widget .fts-twitter-image{margin:0;float:left}.tweeter-info{padding:11px;background:#eee;box-shadow:0 1px 2px #555;clear:both;min-height:51px;line-height:13px;-webkit-transition:background 2s;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.fts-twitter-div a,.tweeter-info:hover{-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out}.widget .tweeter-info{min-height:42px}.tweeter-info:hover{background:#fff;box-shadow:0 1px 2px #222;-webkit-transition:background 2s;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.tweeter-info img{border-radius:0;box-shadow:none!important}.fts-twitter-link{position:absolute;top:217px;left:0;font-size:22px;text-transform:uppercase;width:291px;height:36px;padding:15px 0 0 38px;border-top:1px solid #c1c2c3;color:#000}.fts-video-loading-notice{color:#000}a.fts-powered-by-text{padding-top:8px!important;width:100%;text-align:center!important;display:block}.fts-twitter-div a, .fts-twitter-reply-wrap a svg{transition:all .3s ease-in-out;/* color:#1d9bf0; */}.fts-twitter-div a:hover{color:#444;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;text-decoration:none!important}.tweeter-info .time{font-size:12px;text-align:right}.fts-tweeter-wrap .tweeter-info{padding:14px 0 8px;background:0 0;box-shadow:0 0 0 #555;border-bottom:1px solid #eee;word-wrap:break-word;clear:both;font-size:14px;line-height:13px;-webkit-transition:background 0;-webkit-transition:all 0s ease-in-out;-moz-transition:all 0s ease-in-out;-o-transition:all 0s ease-in-out;transition:all 0s ease-in-out}.fts-tweeter-wrap .fts-video-wrapper{margin:15px 0 0}.fts-video-wrapper-padding{display:none}.fts-tweeter-wrap .tweeter-info:hover{background:0 0!important;box-shadow:0 0 0 #222!important}.fts-tweeter-wrap .tweeter-info img{max-width:100%;box-shadow:none!important;border-radius:0}.fts-twitter-favorites,.fts-twitter-reply,.fts-twitter-retweet{font-size:13px!important}.fts-twitter-reply-wrap a{display:inline-block!important;opacity:1;padding-right:0;-webkit-transition:background 1s;-webkit-transition:all 1s ease-in-out;-moz-transition:all 1s ease-in-out;-o-transition:all 1s ease-in-out;transition:all 1s ease-in-out}.fts-twitter-reply-wrap{font-size:16px;margin-right:0;margin-top:5px;font-style:normal!important}.fts-tweeter-wrap:hover a{opacity:1}@media (max-width:767px){.fts-tweeter-wrap a{opacity:1!important}}.fts-video-show-hide-btns-wrap{margin:7px 0 0!important}.fts-video-show-hide-btns-wrap a{font-size:13px!important}.fts-twitter-load-video-wrapper,a.fts-twitter-load-video-wrapper{margin:0!important;padding:0!important}.fts-show-media-text,a.fts-close-media{display:none}.fts-twitter-div iframe,.fts-video-wrapper iframe{margin:0!important}.twitter-social-btn-bottom{margin:15px 0}.fts-jal-fb-see-more .icon-thumbs-up:before{content:"\f164"!important;font-size:14px}.fts-jal-fb-see-more .icon-comments:before{content:"\f086"!important;top:0;position:relative;font-size:14px}.fts-jal-fb-see-more .icon-file:before{content:"\f064"!important;top:2px!important;position:relative;font-size:14px}.fts-events-list-wrap .icon-map-marker [class^=icon-thumbs-up],.fts-jal-fb-see-more [class*=" icon--file"],.fts-jal-fb-see-more [class*=" icon--thumbs-up"],.fts-jal-fb-see-more [class^=icon-comments],.fts-jal-fb-see-more [class^=icon-file],.fts-jal-fb-see-more [class^=icon-thumbs-up]{display:inline-block!important;font-style:normal!important}.fts-events-list-wrap [class^=icon-]:before,.fts-jal-fb-see-more [class^=icon-]:before,.fts-jal-single-fb-post [class^=icon-]:before{font-family:FontAwesomeSlick!important;-webkit-font-smoothing:antialiased;margin:0 0 0 7px!important}.fts-jal-fb-see-more [class^=icon-]:before [class^=icon-],.fts-jal-single-fb-post{float:none!important;margin:0!important;display:block;padding:0!important;text-align:right!important;width:auto!important;height:auto!important;line-height:normal!important;vertical-align:baseline!important;background:0 0!important;font-style:normal!important}.fts-jal-fb-group-display img{border-radius:0!important;box-shadow:0 0 0 transparent!important;display:block;max-width:100%}.fts-jal-fb-group-header-desc{width:100%;margin:7px 0 15px!important;line-height:20px}.fts-jal-fb-header{clear:both}.no-more-posts-fts-fb{cursor:auto}.fts-jal-single-fb-post .slicker-facebook-album-photoshadow{display:none}.fts-jal-fb-header a:hover,.fts-jal-single-fb-post a:hover{font-style:normal;text-decoration:none!important;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;color:#313131}.fts-jal-fb-user-thumb a{display:block}.fts-fb-get-directions{text-align:left!important;margin:0}.fts-jal-fb-header a,.fts-jal-single-fb-post a{-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;text-decoration:none!important;word-break:break-word;border:none!important}.fts-jal-fb-header h1{font-size:1.9em;margin:0!important;line-height:normal!important;padding:0!important}.widget .fts-jal-fb-header h1{font-size:1.8em;line-height:22px}.fts-jal-single-fb-post{width:100%;padding:15px 0 7px!important;margin-bottom:0;border-bottom:1px solid rgba(184,184,184,.3);position:relative;line-height:17px;text-align:left}.fts-slicker-facebook-posts .fts-jal-single-fb-post{width:auto;padding:10px 10px 8px!important;border-bottom:1px solid rgba(184,184,184,.3);line-height:17px}.widget .fts-jal-single-fb-post{width:100%;padding:17px 0 10px!important}.fts-facebook-popup .fts-jal-fb-user-thumb{width:50px;height:50px;float:left;margin:0 0 0 20px!important}.fts-jal-fb-user-thumb,.fts-mashup-icon{height:50px;margin-right:11px;float:left}.fts-jal-fb-user-thumb{width:50px;margin-bottom:5px}.fts-mashup-icon{width:20px;margin-bottom:5px}.widget .fts-jal-fb-right-wrap{padding-left:0}.widget .fts-jal-fb-top-wrap{padding-bottom:5px;padding-left:0;margin-bottom:5px;min-height:50px}.fts-jal-fb-message{padding-top:10px;line-height:21px;word-wrap:break-word}.fts-jal-fb-link-wrap p,.fts-jal-fb-message p{padding:0!important;margin:0 0 10px!important}.fts-jal-fb-link-wrap p{line-height:19px!important}.fts-jal-fb-link-wrap{margin-top:0;border-radius:0;-webkit-transition:background 2s;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.jal-fb-description{word-wrap:break-word!important}.fts-jal-fb-picture{float:left;display:block;margin:10px 10px 4px 0}.fts-jal-fb-link-wrap img{margin:0}.fts-jal-fb-vid-picture{position:relative;float:left;height:auto!important;margin:10px 0 0;line-height:normal!important;cursor:pointer}.fts-jal-fb-description-wrap{float:left;padding:15px 12px 0 17px!important;color:#757575;font-size:13px!important;font-weight:400;text-align:left}.popup-gallery-fb .fts-jal-fb-description-wrap,.popup-video-gallery-fb .fts-jal-fb-description-wrap{padding:15px 0 0!important}.fts-jal-single-fb-post .fts-jal-fb-vid-wrap .fts-jal-fb-description-wrap{padding:15px 15px 0!important}.widget .fts-jal-fb-description-wrap{float:left;overflow:hidden;max-width:90%;line-height:19px!important;color:#999;font-size:12px!important;font-weight:400}.entry-content .fts-jal-fb-picture img,.fts-yt-videolist li img,.widget .fts-jal-fb-picture img,.widget a.fts-pin-board-wrap img,a.fts-pin-board-wrap img{max-width:100%}.fts-jal-fb-description{padding:5px 0 10px;line-height:17px!important;font-size:13px;color:#919191;word-wrap:break-word}.fts-jal-fb-description p{font-size:13px!important}.fts-jal-fb-top-wrap{margin-bottom:10px;text-align:left}.fts-jal-fb-user-name{font-weight:700;color:#888;display:block;padding-top:6px;padding-right:5px;font-size:16px;line-height:18px}.fts-slicker-facebook-albums .fts-jal-fb-user-name a{color:#fff}.fts-jal-fb-post-time{color:#999;padding-top:4px;font-size:12px;line-height:10px;display:block}.fts-jal-fb-name{font-weight:700;color:#c00;padding-bottom:5px;font-size:15px;display:inline-block;line-height:18px}.fts-events-list-wrap .fts-jal-fb-name{font-weight:400;color:#c52214;padding-bottom:5px;font-size:15px;display:block;line-height:21px}.fts-jal-fb-vid-play-btn{background:url(../images/video-play-btn.png) no-repeat;bottom:7px;height:26px;left:9px;position:absolute;width:35px}.fts-jal-fb-picture img,.fts-vid-div{width:100%}.fts-vid-div .fts-jal-fb-vid-play-btn,.fts-vid-div img{display:none}.fts-vid-div iframe{position:absolute;z-index:500}.fts-jal-fb-see-more .icon-file{font-size:10px}.fts-jal-fb-see-more{float:right;margin:10px 0 0;font-size:12px;width:100%;text-align:right;font-style:normal!important}.fts-fb-event-photo{float:left}.fts-fb-large-photo{margin-right:0!important;font-weight:inherit}.fts-slicker-facebook-photos .fts-fb-photo-post-wrap:hover .fts-likes-shares-etc-wrap,.fts-slicker-facebook-photos .slicker-facebook-album-photoshadow:hover .fts-jal-fb-see-more{display:block}.fts-slicker-facebook-photos .fts-fb-photo-post-wrap:hover .fts-jal-fb-top-wrap,.fts-slicker-facebook-photos .fts-fb-video-post-wrap .slicker-facebook-album-photoshadow:hover .fts-jal-fb-top-wrap{opacity:1}.fts-slicker-facebook-albums .fts-jal-fb-description-wrap,.fts-slicker-facebook-photos .fts-jal-fb-description,.fts-slicker-facebook-photos .fts-jal-fb-see-more:hover,.fts-slicker-facebook-photos .fts-jal-fb-user-name a:hover{color:#fff}.fts-slicker-facebook-photos .fts-jal-fb-description-wrap{font-weight:inherit!important}.fts-slicker-facebook-photos *{-ms-box-sizing:border-box;box-sizing:border-box}.instagram-placeholder *,.slicker-instagram-placeholder *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fts-jal-fb-vid-wrap .slicker-facebook-album-photoshadow{position:absolute;top:0;right:0;height:auto;z-index:600;cursor:pointer;width:auto;opacity:1!important;background-color:rgba(0,0,0,.6)!important;display:none}.fts-jal-fb-vid-wrap .slicker-facebook-album-photoshadow:before{content:'info';color:#fff;padding:5px 10px 7px;text-align:right;float:right;font-size:12px;display:none}.fts-fb-load-more,.fts-fb-spinner,.fts-instagram{text-align:center}.slicker-facebook-album-photoshadow{position:absolute;top:0;right:0;height:100%;width:100%;z-index:100}.fts-slicker-facebook-photos .fts-fb-photo-post-wrap .slicker-facebook-album-photoshadow:hover{background-color:rgba(0,0,0,.9);-webkit-transition:background-color .01s ease-out;-moz-transition:background-color .01s ease-out;-o-transition:background-color .01s ease-out;transition:background-color .01s ease-out;z-index:100;opacity:.8;top:0;right:0;height:100%;width:100%}.fts-slicker-facebook-photos .fts-fb-photo-post-wrap:hover .slicker-facebook-album-photoshadow{background-color:rgba(0,0,0,.9);-webkit-transition:background-color .01s ease-out;-moz-transition:background-color .01s ease-out;-o-transition:background-color .01s ease-out;transition:background-color .01s ease-out;z-index:100;opacity:.8;top:0;display:block;right:0;height:100%;width:100%}.fts-slicker-facebook-photos .fts-jal-fb-right-wrap{padding:0!important}.fts-slicker-facebook-photos .fts-jal-fb-user-thumb{display:none}.fts-slicker-facebook-photos .fts-jal-fb-top-wrap{color:#fff!important;padding:12px 15px 0!important;z-index:600;position:absolute;width:100%;opacity:0;-webkit-transition:all .15s ease-out .1s;-moz-transition:all .15s ease-out .1s;-o-transition:all .15s ease-out .1s}.fts-slicker-facebook-photos .fts-jal-fb-message{padding:15px 0 0;color:#fff!important;position:relative;font-size:14px;z-index:100}.fts-slicker-facebook-photos .fts-jal-fb-post-time{color:#ddd;margin-top:0}.fts-slicker-facebook-albums .fts-jal-fb-description-wrap a:hover,.fts-slicker-facebook-albums .jal-fb-description a:hover,.fts-slicker-facebook-photos .jal-fb-description a:hover{color:#ccc}.fts-slicker-facebook-photos .fts-jal-fb-link-wrap,.fts-slicker-facebook-photos .fts-jal-fb-vid-wrap{line-height:12px!important}.fts-slicker-facebook-photos .fts-jal-fb-vid-wrap iframe{height:305px;width:305px}.fts-slicker-facebook-albums .fts-jal-fb-description-wrap{word-wrap:break-word;width:100%}.fts-slicker-facebook-albums .fts-jal-fb-description-wrap a{float:left;width:100%;line-height:19px;padding:0!important}.fts-slicker-facebook-albums .jal-fb-description a,.fts-slicker-facebook-photos .jal-fb-description a{float:none!important}.fts-slicker-facebook-photos .fts-jal-single-fb-post{position:relative;float:none;z-index:0;overflow:hidden;border:none!important;padding:0!important;font-family:proxima-nova,'Helvetica Neue',Arial,Helvetica,sans-serif!important;background:#000;vertical-align:top!important;display:inline-block!important}.fts-fb-get-directions:before,.slicker-instagram-image-likes:before,.slicker-instagram-placeholder .fts-instagram-icon:before{font-family:FontAwesomeSlick;-webkit-font-smoothing:antialiased}.fts-slicker-facebook-photos .fts-jal-fb-link-wrap,.fts-slicker-facebook-photos .fts-jal-fb-vid-wrap{border:none!important;margin:0!important;width:100%;height:100%}.fts-album-photos-wrap img{vertical-align:middle!important;display:inline-block!important}.fts-slicker-facebook-photos.fts-slicker-facebook-albums .fts-jal-single-fb-post{height:auto}.fts-slicker-facebook-photos{margin:auto;text-align:center}.fts-slicker-facebook-photos .fts-jal-fb-picture{display:block;margin:0;padding:0;float:none;width:auto;left:0;right:0;top:0;position:absolute;background-size:cover;background-position:center center;background-repeat:no-repeat}div.fts-fb-location{letter-spacing:1px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:21),only screen and (min-device-pixel-ratio:2){.fts-jal-fb-vid-wrap iframe{height:130px}}.fts-fb-spinner>div{width:10px;height:10px;background-color:#999;border-radius:100%;display:inline-block;-webkit-animation:fts-fb-bouncedelay 1.4s infinite ease-in-out;animation:fts-fb-bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.fb-social-btn-below-description,.fb-social-btn-bottom,.fb-social-btn-top{width:100%;overflow:hidden}.fts-fb-spinner .bounce1{-webkit-animation-delay:-.32s;animation-delay:-.32s}.fts-fb-spinner .bounce2{-webkit-animation-delay:-.16s;animation-delay:-.16s}@-webkit-keyframes fts-fb-bouncedelay{0%,100%,80%{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes fts-fb-bouncedelay{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.fts-fluid-videoWrapper-html5 video{object-fit:inherit;margin-bottom:0!important}.fts-fb-album-view-link a{color:#fff}.fts-fb-album-view-link a:hover{color:#eee}.fts-instagram-fade .fts-fb-caption{display:block}.fts-view-album-photos-large:before,.fts-view-fb-videos-large:before,.fts-view-on-facebook-link:before,.view-on-facebook-albums-link:before{font-family:FontAwesomeSlick;content:"\f14c ";display:inline-block;margin-right:6px;-webkit-font-smoothing:antialiased}.fts-fb-get-directions:before{content:"\f041 ";display:inline-block;margin:0 5px 0 2px}.instagram-placeholder,.slicker-instagram-placeholder{font-family:proxima-nova,'Helvetica Neue',Arial,Helvetica,sans-serif!important}.fts-instagram-fade .fts-instagram-caption-content,.fts-instagram-fade .fts-jal-fb-description{color:#fff;padding:0;margin:0}.fts-instagram-fade .fts-fb-album-view-link{display:none}#facebook-sidebar .fts-fb-load-more-wrapper{max-width:100%!important;margin-top:-1px!important;z-index:9999;position:relative}.fb-social-btn-bottom{margin-top:15px!important}.fb-social-btn-top{display:block;margin-bottom:12px!important}.fb-social-btn-below-description{margin-top:5px!important;margin-bottom:5px!important}@media only screen and (max-width:640px){.fb-like.fb_iframe_widget,.fb-like.fb_iframe_widget>span,.fb-like.fb_iframe_widget>span>iframe{width:100%!important;position:relative!important}}.fts-events-list-wrap .fts-jal-fb-picture{float:left;display:block;margin:0}.fts-events-list-wrap a.fts-jal-fb-name{font-size:17px}.fts-events-list-wrap .fts-fb-event-time{font-size:15px}.fts-events-list-wrap .fts-fb-location{font-size:15px;display:block;margin:10px 0 5px}.fts-events-list-wrap .fts-fb-location-title{font-size:15px;display:block;padding:0;font-weight:700;font-style:normal;margin:12px 0 0}.fts-events-list-wrap .fts-jal-fb-message{clear:both;font-size:15px}.fts-fb-get-directions{font-size:15px;padding:0 0 20px;color:#4595f0}.fts-fb-load-more{border-radius:1px;padding:0;line-height:37px!important;width:100%;min-height:37px!important;font-size:13px!important;background:rgba(240,240,240,.45);cursor:pointer;color:#111;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.fts-fb-load-more:hover{background:rgba(240,240,240,.85)}.instagram-image,.widget .instagram-image{background-color:#000;z-index:1;display:block}.flip360-fts-load-more{-moz-animation:spinY .5s linear;-ms-animation:spinY .5s linear;-o-animation:spinY .5s linear;animation:spinY .5s linear;-webkit-animation-name:spinY;-webkit-animation-duration:.5s;-webkit-animation-timing-function:linear;-webkit-animation-fill-mode:both;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-moz-animation-timing-function:cubic-bezier(.75,0,.175,1);-ms-animation-timing-function:cubic-bezier(.75,0,.175,1);-o-animation-timing-function:cubic-bezier(.75,0,.175,1);animation-timing-function:cubic-bezier(.75,0,.175,1)}@-moz-keyframes spinY{0%{-moz-transform:rotateY(0);transform:rotateY(0)}100%{-moz-transform:rotateY(360deg);transform:rotateY(360deg)}}@-webkit-keyframes spinY{0%{-webkit-transform:rotateY(0);transform:rotateY(0);-webkit-transform-style:preserve-3d}100%{-webkit-transform:rotateY(360deg);transform:rotateY(360deg);-webkit-transform-style:preserve-3d}}@-o-keyframes spinY{0%{-o-transform:rotateY(0);transform:rotateY(0)}100%{-o-transform:rotateY(360deg);transform:rotateY(360deg)}}@-ms-keyframes spinY{0%{-ms-transform:rotateY(0);transform:rotateY(0)}100%{-ms-transform:rotateY(360deg);transform:rotateY(360deg)}}@keyframes spinY{0%{-webkit-transform:rotateY(0);-moz-transform:rotateY(0);-ms-transform:rotateY(0);-o-transform:rotateY(0);transform:rotateY(0)}100%{-webkit-transform:rotateY(360deg);-moz-transform:rotateY(360deg);-ms-transform:rotateY(360deg);-o-transform:rotateY(360deg);transform:rotateY(360deg)}}.clear{clear:both}.heart-comments-wrap li,ul.heart-comments-wrap{padding:0!important;margin:0!important;line-height:1.3em!important;border:none!important}.widget .instagram-placeholder li,.widget .instagram-placeholder ul{padding:0!important;margin:0!important;height:auto!important}.instagram-placeholder p{margin:0;padding:0}.instagram-placeholder{position:relative;z-index:0;display:inline-block;margin:0 20px 20px}.widget .instagram-placeholder{margin:-10px 9px 0 10px!important;width:104px!important;text-align:left!important}.instagram-image{width:150px;height:150px;position:relative}.widget .instagram-image{width:105px;height:100px;position:relative;background-size:100%!important}.instaG-photoshadow{background-color:rgba(0,0,0,.1);bottom:0;left:0;position:absolute;right:0;top:0;border:1px solid rgba(0,0,0,.12);z-index:1;-webkit-transition:background-color .05s ease-out;-moz-transition:background-color .05s ease-out;-o-transition:background-color .05s ease-out;transition:background-color .05s ease-out;width:148px;height:148px}.widget .instaG-photoshadow{width:103px;height:98px}.instagram-placeholder:hover .instaG-photoshadow{background-color:transparent;-webkit-transition:background-color .01s ease-out;-moz-transition:background-color .01s ease-out;-o-transition:background-color .01s ease-out;transition:background-color .01s ease-out;border:1px solid rgba(0,0,0,.12);width:148px;height:148px}.heart-comments-wrap li,.instagram-placeholder .date{color:#888;position:relative;z-index:1;-webkit-transition:all .15s ease-out .1s;-moz-transition:all .15s ease-out .1s;-o-transition:all .15s ease-out .1s;text-shadow:0 1px 0 rgba(255,255,255,.8);opacity:0;pointer-events:none}.widget .instagram-placeholder:hover .instaG-photoshadow{width:103px;height:98px}a.instaG-backg-link{position:relative;display:block}.instagram-placeholder .date{text-align:center;margin-bottom:5px;font-size:12px;height:20px;line-height:20px;font-weight:700;transition:all .15s ease-out .1s}.widget .instagram-placeholder .date{text-align:center;margin-bottom:5px;font-size:11px;height:15px;line-height:20px;font-weight:400!important}.instagram-placeholder .heart-comments-wrap ul{height:20px;margin:10px 0 0!important}.widgets .instagram-placeholder .heart-comments-wrap ul{height:15px;margin:6px 0 0!important}.heart-comments-wrap li{display:inline-block;margin:10px 0 0 .5em!important;padding:0 0 0 16px!important;line-height:10px!important;font-size:12px!important;font-weight:400!important;transition:all .15s ease-out .1s}.instagram-placeholder .fts-backg,.slicker-instagram-placeholder .slicker-date{-webkit-transition:all .15s ease-out .1s;-moz-transition:all .15s ease-out .1s;-o-transition:all .15s ease-out .1s}.widget .instagram-placeholder .heart-comments-wrap li{display:inline-block;margin:6px 0 5px 2px!important;pointer-events:none;padding:0 0 0 15px!important;line-height:10px!important;font-size:11px!important;border:none!important}.widget .instagram-placeholder .heart-comments-wrap .instagram-image-likes{margin-right:4px!important}.instagram-placeholder .fts-backg,.widget .instagram-placeholder .fts-backg{z-index:0;left:0;width:100%;margin:-5px;padding:5px;background:#fff;position:absolute}.instagram-placeholder .fts-backg{top:25px;height:150px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.04),0 1px 5px rgba(0,0,0,.1);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.04),0 1px 5px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.04),0 1px 5px rgba(0,0,0,.1);transition:all .15s ease-out .1s}.widget .instagram-placeholder .fts-backg{top:20px;height:100px;font-size:11px}.widget .date{font-size:11px}.instagram-placeholder:hover .fts-backg{margin:-28px -12px;padding:8px 12px;height:193px;-webkit-transition-delay:0;-moz-transition-delay:0;-o-transition-delay:0;transition-delay:0;-webkit-transition-duration:.1s;-moz-transition-duration:.1s;-o-transition-duration:.1s;transition-duration:.1s;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.04),0 1px 5px rgba(0,0,0,.2);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.04),0 1px 5px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.04),0 1px 5px rgba(0,0,0,.2)}.widget .instagram-placeholder:hover .fts-backg{margin:-22px -10px;padding:5px 10px;height:135px}.instagram-image-likes{background:url(../images/hearts-instagram.jpg) no-repeat}.instagram-image-comments{background:url(../images/comments-instagram.jpg) no-repeat}.instagram-placeholder:hover .date,.instagram-placeholder:hover .instagram-image-comments,.instagram-placeholder:hover .instagram-image-likes{opacity:1;z-index:1;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;-o-transition-delay:.1s;transition-delay:.1s}.slicker-instagram-placeholder li,.slicker-instagram-placeholder ul{padding:0!important;margin:0!important;line-height:1.3em!important;border:none!important;width:auto!important;overflow:visible!important}.slicker-heart-comments-wrap{position:absolute;z-index:500;bottom:10px;right:12px}.slicker-instagram-placeholder p{margin:0;padding:0}.slicker-instagram-placeholder,.slicker-youtube-placeholder{position:relative;z-index:0;display:inline-block;overflow:hidden;background-size:cover;background-position:center center;background-repeat:no-repeat;vertical-align:top}.slicker-instagram-image{line-height:0!important;position:relative;z-index:1;background-color:#000;display:block}.slicker-instagram-image img{line-height:normal!important;-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important;-webkit-box-shadow:0 0 0 rgba(0,0,0,.175)!important;-moz-box-shadow:0 0 0 rgba(0,0,0,.175)!important;box-shadow:0 0 0 rgba(0,0,0,.175)!important;margin:0!important;padding:0!important;border:none!important;width:100%}.slicker-instaG-photoshadow{bottom:0;left:0;position:absolute;right:0;top:0;z-index:1;-webkit-transition:background-color .05s ease-out;-moz-transition:background-color .05s ease-out;-o-transition:background-color .05s ease-out;transition:background-color .05s ease-out;vertical-align:middle}.slicker-instagram-placeholder:hover .slicker-instaG-photoshadow{background-color:rgba(0,0,0,.7);-webkit-transition:background-color .01s ease-out;-moz-transition:background-color .01s ease-out;-o-transition:background-color .01s ease-out;transition:background-color .01s ease-out;border:1px solid rgba(0,0,0,.12)}a.slicker-instaG-backg-link{position:relative;display:block}.slicker-instagram-placeholder .fts-share-wrap,.slicker-instagram-placeholder .slicker-date{margin-bottom:5px;font-size:13px;line-height:20px;font-weight:400;position:absolute;transition:all .15s ease-out .1s;height:20px;color:#fff;opacity:0;text-align:center}.slicker-instagram-placeholder .fts-share-wrap{bottom:-10px;left:4px;z-index:50000000}.slicker-instagram-placeholder .slicker-date{top:10px;left:15px;z-index:500;pointer-events:none}.slicker-instagram-placeholder .slicker-heart-comments-wrap ul{height:20px;margin:10px 0 0!important}.fts-mashup-count-wrap .slicker-heart-comments-wrap li,.slicker-instagram-placeholder .slicker-heart-comments-wrap li{display:inline-block;margin:0!important;pointer-events:none;padding:0 0 0 10px!important;line-height:10px!important;font-size:12px!important;font-weight:400!important;color:#fff;text-align:center;position:relative;z-index:1;opacity:0;-webkit-transition:all .15s ease-out .1s;-moz-transition:all .15s ease-out .1s;-o-transition:all .15s ease-out .1s}body .fts-mashup-count-wrap li{opacity:1!important}.fts-mashup .fts-jal-fb-see-more,.fts-mashup .fts-single-pin-like-count,.fts-mashup .fts-single-pin-repin-count,.fts-mashup a.ft-gallery-link-popup,body .fts-mashup-count-wrap a,body .fts-mashup-count-wrap li{color:#777!important}a.fts-slicker-backg{height:68px;width:68px;line-height:68px;font-size:68px;top:0;bottom:0;left:0;right:0;margin:auto;z-index:700;position:absolute;text-align:center;vertical-align:middle;opacity:0;color:rgba(255,255,255,.27)}.slicker-instagram-placeholder .fts-instagram-icon:before{content:"\f16d";font-size:100%;display:inline-block;-webkit-transition:all 1s ease-out 0;-moz-transition:all 1s ease-out 0;-o-transition:all 1s ease-out 0}.slicker-instagram-placeholder a.fts-slicker-backg:hover{opacity:1;color:rgba(255,255,255,.55);-webkit-transition:all 0 ease-out 0;-moz-transition:all 0 ease-out 0;-o-transition:all 0 ease-out 0}.slicker-instagram-image-likes:before{content:"\f004";margin-right:5px}.fts-slicker-instagram{margin:auto;text-align:center}.instagram-placeholder:hover .fts-see-on-instagram,.slicker-instagram-placeholder:hover .fts-see-on-instagram,.slicker-instagram-placeholder:hover .fts-share-wrap,.slicker-instagram-placeholder:hover .fts-slicker-backg,.slicker-instagram-placeholder:hover .slicker-date,.slicker-instagram-placeholder:hover .slicker-instagram-image-comments,.slicker-instagram-placeholder:hover .slicker-instagram-image-likes{opacity:1;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;-o-transition-delay:.1s;transition-delay:.1s}.fts-comment-instagram:before{font-family:FontAwesomeSlick!important;content:"\f075"!important;-webkit-font-smoothing:antialiased;margin-right:5px;font-size:13px!important;display:inline-block;-moz-transform:scaleX(-1);-o-transform:scaleX(-1);-webkit-transform:scaleX(-1);transform:scaleX(-1);filter:FlipH;-ms-filter:FlipH;position:relative;top:-1px;right:-4px}.fts-see-on-instagram div:before,.fts-view-on-instagram-link:before{content:"\f138 ";font-family:FontAwesomeSlick}.fts-see-on-instagram{position:absolute;bottom:11px;right:12px;opacity:0;z-index:750;-webkit-transition:all .15s ease-out .1s;-moz-transition:all .15s ease-out .1s;-o-transition:all .15s ease-out .1s}.widget .instagram-placeholder .fts-see-on-instagram{position:absolute;top:19px;right:6px;z-index:750;display:none}.instagram-placeholder .fts-see-on-instagram{position:absolute;bottom:2px;right:6px;opacity:0;z-index:750}.fts-see-on-instagram div{display:inline-block;cursor:pointer;font-weight:400!important}.instagram-placeholder .fts-see-on-instagram div{display:block;cursor:pointer;font-weight:400!important}.widget .instagram-placeholder .fts-see-on-instagram div:before{color:#fff;font-size:14px}.instagram-placeholder .fts-see-on-instagram div:before{color:#888;font-size:13px}.slicker-instagram-placeholder .fts-see-on-instagram div:before{color:#fff;font-size:14px}.fts-see-on-instagram div:before{display:inline-block}.fts-view-on-instagram-link:before{display:inline-block;margin-right:6px}.fts-instagram-caption{display:none}.fts-instagram-fade .mfp-title p{color:#fff!important;margin:0 0 10px!important;padding:0!important}.fts-instagram-fade .mfp-title a{color:#fff;text-decoration:none!important}.fts-instagram-fade .mfp-title a:hover{color:#eee}.instagram-social-btn-bottom,.instagram-social-btn-top{text-align:center;font-size:14px!important;background:#517fa4;border-radius:4px;width:167px;color:#fff;line-height:15px;padding:7px 0!important}.instagram-social-btn-top{margin:0 auto 15px}.instagram-social-btn-bottom{margin:15px auto 0}.instagram-social-btn-bottom:hover,.instagram-social-btn-top:hover{opacity:.9}#fts-social-bar-icons-wrap .instagram-social-btn-bottom a,#fts-social-bar-icons-wrap .instagram-social-btn-top a{color:#fff!important;font-weight:100!important;display:inline-block;text-decoration:none!important}#fts-social-bar-icons-wrap .instagram-social-btn-top a:hover{color:#fff!important}.instagram-social-btn-bottom a,.instagram-social-btn-top a{color:#fff!important;font-weight:100!important;display:inline-block;text-decoration:none!important}.instagram-social-btn-bottom a:hover,.instagram-social-btn-top a:hover{color:#fff;font-weight:100!important}.instagram-social-btn-bottom:before,.instagram-social-btn-top:before{font-family:FontAwesomeSlick;content:"\f16d ";display:inline-block;margin-right:6px;font-size:16px!important;-webkit-font-smoothing:antialiased}.fts-pinterest-boards-wrap *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fts-fb-slideshow,.fts-fb-slideshow *,.fts-yt-videolist *{box-sizing:border-box}.fts-pinterest-wrapper{text-align:center;margin:auto;position:relative}a.fts-pin-board-wrap:link{text-decoration:none!important;border-bottom:0}a.fts-pin-board-wrap{border-radius:10px!important;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-moz-border-radius:6px;-ms-border-radius:6px;-o-border-radius:6px;-moz-box-shadow:0 1px 3px 0 rgba(0,0,0,.33);display:inline-block;text-decoration:none;padding:10px 9px 10px 10px;margin:8px 8px 0;text-align:left}a.fts-pin-board-wrap:hover{background:#fff;border-radius:10px}.fts-pin-board-wrap .label,.fts-single-pin-description a,.fts-single-pin-pinned-to-wrap{text-decoration:none!important}h3.fts-pin-board-board_title,h3.fts-pin-board-board_title span{-webkit-font-smoothing:antialiased!important;display:block!important}.fts-pin-board-wrap:hover .hoverMask,.pinterest-single-thumb-wrap:hover .hoverMask{background:rgba(255,255,255,.1)}h3.fts-pin-board-board_title{width:210px;color:#555!important;font-size:16px!important;font-weight:700!important;margin:7px 0 5px 7px!important;padding:0!important;position:relative!important;font-family:"Helvetica Neue",arial,sans-serif!important;line-height:15px!important;clear:both}div.fts-pin-board-img-wrap,div.pinterest-single-thumb-wrap{background-size:cover;background-position:center center;background-repeat:no-repeat;position:relative;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px}h3.fts-pin-board-board_title span{white-space:nowrap!important;overflow:hidden!important;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;text-transform:capitalize}a.fts-pin-board-wrap{-webkit-border-radius:0;overflow:hidden}div.fts-pin-board-img-wrap{vertical-align:top;border-radius:10px 10px 0 0!important;overflow:hidden;clear:both;height:115px;-moz-box-shadow:0 0 3px rgba(0,0,0,.33) inset}.fts-pin-board-thumbs-wrap div:last-child{margin-right:0;border-bottom-right-radius:10px!important;border-bottom-left-radius:0!important}.fts-pin-board-wrap{max-width:254px;width:100%}.fts-pin-board-thumbs-wrap{min-height:50px}div.pinterest-single-thumb-wrap{margin-right:2px;margin-top:2px;height:108px!important;border-bottom-left-radius:10px!important;width:49.58%;display:inline-block}.fts-pin-board-img-wrap .hoverMask,.pinterest-single-thumb-wrap .hoverMask{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 3px rgba(0,0,0,.33) inset;-moz-box-shadow:0 0 3px rgba(0,0,0,.33) inset;box-shadow:0 0 3px rgba(0,0,0,.33) inset;bottom:0;left:0;position:absolute;right:0;top:0}.fts-pin-board-wrap .fts-pin-board-pin-count{-webkit-font-smoothing:antialiased;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.3);-moz-box-shadow:inset 0 0 5px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.3);box-shadow:inset 0 0 5px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.3);text-shadow:0 -1px 0 rgba(0,0,0,.7);background-color:#000;background-color:rgba(68,68,68,.7);bottom:3px;color:#fff;padding:0 6px;position:absolute;left:3px;font-family:"Helvetica Neue",arial,sans-serif!important;font-size:12px!important;font-weight:700;line-height:21px}.fts-pin-board-pin-count:before{content:'';width:7px;height:9px;background:url(../images/pinterest-icons.png) -137px -87px no-repeat;display:inline-block;margin-right:3px}.fts-pin-board-wrap .label{font-weight:700;text-align:left!important;line-height:1.1em!important;white-space:nowrap;display:inline-block;position:relative;margin-bottom:inherit;padding:0!important;font-size:.7875rem;background:0 0!important;color:#fff}.widget .fts-pin-board-thumbs-wrap,.widget h3.fts-pin-board-board_title{display:none!important}.widget div.fts-pin-board-img-wrap{position:relative;overflow:hidden;clear:both;min-height:100px;height:auto;width:auto;border-radius:10px!important}.widget a.fts-pin-board-wrap{width:40%;padding:6px;margin:4px 4px 0!important;border-radius:1px!important}.widget div.fts-pin-board-img-wrap{-webkit-box-shadow:0 0 1px rgba(0,0,0,.11) inset!important;-moz-box-shadow:0 0 1px rgba(0,0,0,.11) inset;box-shadow:0 0 0 transparent inset!important;margin-bottom:0}.pinterest-single-thumb-wrap .hoverMask,.widget .fts-pin-board-img-wrap .hoverMask{-webkit-box-shadow:0 0 0 rgba(0,0,0,.33) inset;-moz-box-shadow:0 0 0 rgba(0,0,0,.33) inset;box-shadow:0 0 0 rgba(0,0,0,.33) inset}.fts-single-pin-wrap{background:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.22);box-shadow:0 1px 2px 0 rgba(0,0,0,.22);border-radius:6px;width:236px!important;margin:14px 7px 0;border:none!important;text-align:left;overflow:hidden}.fts-single-pin-description{margin:10px 15px;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;font-size:13px;line-height:17px;word-wrap:break-word}.fts-single-pin-img-wrap img{-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border-top-left-radius:6px;border-top-right-radius:6px;max-width:100%}.fts-single-pin-social-meta-wrap{font-family:Helvetica,sans-serif;font-size:11px;color:#999;font-style:normal;font-weight:400;-webkit-font-smoothing:antialiased;margin:-13px 10px 7px 15px}.fts-single-pin-social-meta-wrap .fts-single-pin-repin-count{margin:10px 12px 0 0;display:inline-block;font-size:13px}.fts-single-pin-social-meta-wrap .fts-single-pin-repin-count:before{font-family:FontAwesomeSlick;margin-right:5px;font-size:12px!important;content:"\f08d"}.fts-single-pin-social-meta-wrap .fts-single-pin-like-count{font-size:13px!important}.fts-single-pin-social-meta-wrap .fts-single-pin-like-count:before{font-family:FontAwesomeSlick;content:"\f086"!important;margin-right:5px;font-size:13px!important}.fts-single-pin-pinned-to-title,.fts-single-pin-pinned-to-wrap{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block;overflow:hidden}.fts-single-pin-pinned-to-wrap{line-height:15px;padding:10px;border-radius:0 0 6px 6px;border:none!important;border-top:1px solid #e7e7e7!important}.fts-single-pin-pinned-to-wrap:hover{background:#eee;cursor:pointer}.fts-single-pin-pinned-to-wrap div{color:#999;display:block;font-weight:700;font-size:11px;font-family:Helvetica,sans-serif}.fts-single-pin-pinned-to-text{color:#999}div.fts-single-pin-pinned-to-title{color:#717171}.fts-single-pin-pinned-to-wrap img{position:relative;border-radius:2px;height:30px;margin-right:5px;width:30px;float:left}.fts-single-pin-pinned-to-title{border-radius:0 0 6px 6px}.fts-single-attribution-wrap{white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;font-family:Helvetica,sans-serif;color:#666;margin:-2px 0 5px 15px!important;font-size:11px;display:block;border:none!important;line-height:1.6471}.fts-yt-vids-in-row1 .fts-yt-videolist ul li:first-child,.fts-yt-vids-in-row1 li .entriestitle{display:none}.fts-yt-vids-in-row3 li .entriestitle,.fts-yt-vids-in-row4 li .entriestitle{font-size:85%!important;line-height:100%!important}.fts-single-attribution-wrap img{height:16px;margin-right:5px;position:relative;width:16px;float:left}.pinterest-social-btn-top{margin-bottom:0;text-align:center}.widget .pinterest-social-btn-top{margin-bottom:5px;text-align:center}.pinterest-social-btn-bottom{margin-top:5px;text-align:center}.fts-yt-videolist iframe{width:100%}.fts-yt-vids-in-row1 div.fts-yt-videolist p{padding-bottom:25px;clear:both}.fts-yt-first-video p{margin:10px 10px 25px!important}.fts-yt-videolist ul,.fts-yt-vids-in-row1 ul li{margin:0!important;padding:0!important}#secondary .front-widgets .fts-yt-large iframe{height:100%!important;max-height:300px!important;min-height:300px!important}.widget .fts-yt-videolist ul li{margin-bottom:0!important;list-style:none!important}.fts-yt-videolist ul{width:100%!important}.fts-yt-videolist ul li{list-style:none!important}.fts-yt-vids-in-row1 li{width:100%!important;margin-bottom:5%}.fts-yt-vids-in-row2 li,.fts-yt-vids-in-row3 li,.fts-yt-vids-in-row4 li{float:left;border:none;position:relative;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;padding:1%!important;margin:0!important}.fts-yt-vids-in-row1 li iframe{width:100%}.fts-yt-vids-in-row2 li{width:50%!important}.fts-yt-vids-in-row3 li{width:33.3%!important}.fts-yt-vids-in-row4 li{width:25%!important}.fts-yt-vids-in-row2 li .entriestitle,.fts-yt-vids-in-row3 li .entriestitle,.fts-yt-vids-in-row4 li .entriestitle{padding:0 5px;position:absolute;left:0;top:20%;opacity:0;width:87.5%;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.fts-yt-vids-in-row2 li:hover .entriestitle,.fts-yt-vids-in-row3 li:hover .entriestitle,.fts-yt-vids-in-row4 li:hover .entriestitle{background:#000;border-radius:0;color:#fff;padding:5% 6%;opacity:.9;z-index:100;right:0;line-height:18px;font-size:90%;font-weight:700;box-shadow:0 4px 8px #333;display:block}.fts-yt-vids-in-row2 li:hover,.fts-yt-vids-in-row3 li:hover,.fts-yt-vids-in-row4 li:hover{background-color:rgba(0,0,0,.9);box-shadow:0 1px 10px #333;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.fts-yt-overlay-wrap{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;z-index:-1!important;background-color:rgba(0,0,0,.75);text-align:center;-webkit-transition:opacity .2s ease-out;-moz-transition:opacity .2s ease-out;transition:opacity .2s ease-out;pointer-events:none;box-shadow:0 2px 500px #000}body .fts-yt-overlay-wrap.fts-yt-target{display:block;opacity:1;z-index:9999999!important;-webkit-transition:opacity .5s ease-in;-moz-transition:opacity .5 ss ease-in;transition:opacity .5s ease-in;pointer-events:auto}.fts-fb-video-icon,.fts-watermark-inside{pointer-events:none}.fts-yt-overlay{max-width:775px;opacity:1;z-index:300;position:absolute;top:0;bottom:0;right:0;left:0;max-height:472px;padding:10px;background:#444;margin:auto!important;box-shadow:0 2px 200px #000}.fts-yt-overlay-wrap iframe{margin:0;min-height:343px;background:#000!important;margin-bottom:0!important}.fts-yt-popup-close{display:block;position:absolute;top:-19px;right:0;background:#444;color:#fff!important;text-decoration:none;font-size:85%;font-family:verdana;font-weight:400;padding:.5% 2.5% 0;line-height:20px}.widget .fts-yt-first-video p{font-size:12px!important;margin-bottom:10px!important;margin-top:5px}.widget .fts-yt-videolist li{margin:0!important;line-height:0!important}.widget .fts-yt-videolist ul{padding-bottom:15px!important;float:left}.fts-yt-vids-in-row1 ul li iframe{margin-bottom:12px!important}@media only screen and (max-width:775px){.fts-yt-overlay{background:0 0;box-shadow:0 0 0 #000}.fts-yt-popup-close{background:0 0}}.widget .fts-yt-large .fts-yt-first-video iframe,.widget .fts-yt-vids-in-row1 li iframe{width:100%;height:0!important;min-height:100%!important;max-height:160px!important;padding:0}.fts-fluid-videoWrapper{position:relative;padding-bottom:56.25%;padding-top:25px;height:0}.fts-fluid-videoWrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;min-height:100%;background:#000;border:none}.fts-fluid-videoWrapper video{background:#000}.fts-jal-fb-vid-wrap{margin-top:10px;border-radius:0;-webkit-transition:background 2s;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.fts-jal-fb-vid-wrap iframe,.widget .fts-jal-fb-vid-wrap iframe{width:100%;margin:0!important;padding:0!important}.fts-vine-thumbnail .fts-vine-logo:before,.fts-vine-thumbnail-cover,.popup-video-gallery-fb span.fts-fb-video-icon:before{-webkit-transition:all .5s ease-out 0;-moz-transition:all .5s ease-out 0;-o-transition:all .5s ease-out 0;-webkit-font-smoothing:antialiased}.widget .fts-jal-fb-vid-wrap iframe{height:50%}.fts-yt-first-video h2{margin:0 0 7px!important}.youtube-social-btn-top{margin:0 0 5px!important}.youtube-social-btn-bottom{padding:10px 0 0 6px;clear:both}@keyframes fade{from,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes fade{from,to{opacity:1}50%{opacity:.5}}.fts-vine-wrapper{text-align:center}.fts-vine-video-wrap{text-align:left;display:inline-block;max-width:290px;vertical-align:top}.fts-vine-video-wrap a.fts-vine-author{display:block;margin:5px 0 0;padding:0}.fts-vine-white-popup .mfp-close{margin-top:-40px;font-size:35px;margin-right:-10px;color:#fff!important}.fts-vine-white-popup{position:relative;background:#fff;padding:20px;width:auto;max-width:640px;margin:30px auto}.fts-iframe-vine{padding-top:262px}.fts-vine-author{font-size:18px;line-height:24px}.fts-vine-text{font-size:13px;line-height:18px;padding:0 15px 15px 0}.fts-vine-thumbnail{display:block;position:relative;background:0 0!important}.fts-vine-thumbnail-cover{position:absolute;z-index:100;left:0;top:0;width:100%;height:100%;opacity:0;display:inline-block;cursor:pointer}.fts-vine-logo{font-size:27px}.fts-vine-thumbnail .fts-vine-logo:before,.popup-video-gallery-fb span.fts-fb-video-icon:before{font-family:FontAwesomeSlick;font-size:100%}.fts-vine-thumbnail .fts-vine-logo:before{content:"\f1ca"!important;display:inline-block;position:absolute;z-index:200;right:12px;top:5px;line-height:1.5;color:#00bf8f}.fts-vine-thumbnail-cover:hover{opacity:.3;background:#000}.fts-vine-thumbnail:hover .fts-vine-logo:before{color:#fff;text-shadow:2px 1px #555;-webkit-animation:wiggle .5s ease;animation:wiggle .5s ease}@-webkit-keyframes wiggle{0%,100%,40%{-webkit-transform:rotate(0);transform:rotate(0)}60%{-webkit-transform:rotate(-30deg);transform:rotate(-30deg)}80%{-webkit-transform:rotate(30deg);transform:rotate(30deg)}}@keyframes wiggle{0%,100%,40%{-webkit-transform:rotate(0);transform:rotate(0)}60%{-webkit-transform:rotate(-30deg);transform:rotate(-30deg)}80%{-webkit-transform:rotate(30deg);transform:rotate(30deg)}}@media only screen and (max-device-width:736px){.fts-iframe-vine{padding-bottom:14%!important}.fts-vine-white-popup{padding:0}}.post-5593 .entry-content{text-align:center}.fts-fb-video-popup{position:relative;background:0 0;padding:20px 60px;width:auto;max-width:1400px;margin:30px auto}.fts-fb-video-popup .mfp-close{color:#fff!important;right:47px!important;top:-19px!important}@media only screen and (min-device-width:375px) and (max-device-width:667px){.fts-fb-video-popup{padding:20px!important}.fts-fb-video-popup .mfp-close{right:5px!important}}@media only screen and (min-device-width:414px) and (max-device-width:736px){.fts-fb-video-popup{padding:20px!important}.fts-fb-video-popup .mfp-close{right:5px!important}}@media only screen and (min-device-width:768px) and (max-device-width:1024px){.fts-fb-video-popup video{min-height:400px}.fts-fb-video-popup{padding:10px!important}.fts-fb-video-popup .mfp-close{right:-2px!important;top:-25px!important}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:landscape){.fts-fb-video-popup video{min-height:600px}}.fts-view-fb-videos-largeeee:before{content:"";display:inline-block;margin-right:6px;-webkit-font-smoothing:antialiased;background:url(../images/fb-play-btn.png);height:80px;width:80px}.fts-fb-photo-post-wrap:hover a.fts-slicker-backg{opacity:1;outline:0!important;color:#fff}.popup-video-gallery-fb span.fts-fb-video-icon:before{content:"\f144"!important;display:inline-block!important;opacity:.5!important;color:#fff;outline:0!important}.popup-video-gallery-fb span.fts-fb-video-icon:hover:before{opacity:.8!important;color:#fff}.popup-video-gallery-fb a.visible-video-button{opacity:9!important;outline:0!important;z-index:1500}.popup-video-gallery-fb .fts-fb-load-more{max-width:340px;margin:20px auto}.fts-fb-social-btn-center,.popup-video-gallery-align-center{text-align:center;font-size:0}.fts-fb-social-btn-right,.popup-video-gallery-align-right{text-align:right}.fts-fb-social-btn-left,.popup-video-gallery-align-left{text-align:left}.cycle-slideshow .fts-jal-fb-picture{max-width:100%!important}.popup-video-gallery-fb .fts-fb-photo-post-wrap{vertical-align:top!important;display:inline-block!important;float:none;text-align:left;border-radius:0;max-width:100%;max-height:100%;box-sizing:border-box}.popup-video-gallery-fb .fts-fb-photo-post-wrap .fts-jal-fb-user-name{padding-top:0!important}.fts-review-star,.fts-reviews-star{background:#4791ff;color:#fff;font-weight:400;padding:2px 12px;border-radius:15px;border:none!important}.fts-review-details-master-wrap .fts-review-star{background:#4791ff;color:#fff;font-weight:400;padding:11px 12px 9px 17px;border-radius:30px;margin:0 12px 0 0;font-size:20px;float:left;vertical-align:top;line-height:22px}.fts-review-star{font-size:13px;font-style:normal;white-space:nowrap}.fts-review-star a{background:#4791ff;color:#fff}.fts-reviews-feed .fts-jal-fb-post-time{padding-top:10px!important}.fts-review-star:after{content:"";font-size:14px}.fts-reviews-feed .fts-jal-fb-message{margin-top:5px}.fts-reviews-feed .fts-jal-fb-user-name{margin-top:0;font-size:14px}.fts-jal-fb-vid-picture .fts-fluid-videoWrapper-html5{display:none}.fts-fluid-videoWrapper .fluid-width-video-wrapper{position:initial}.fts-jal-fb-user-thumb img{width:50px;max-width:100%}.fts-jal-fb-description p{line-height:17px!important;white-space:normal!important}.fts-checked-in-text-link{display:inline-block;padding-bottom:0}.fts-checked-in-img{float:left;margin-right:10px;max-width:160px}.fts-checked-in-get-directions{margin-top:5px}.fts-instagram-fade .mfp-title,.fts-instagram-fade .mfp-title a{font-size:13px}.fts-fluid-videoWrapper-html5{margin-top:10px;width:100%}.fts-fb-slideshow.slideshow .fts-fb-photo-post-wrap{position:relative!important;float:none;display:inline-block}.fts-fb-slideshow{width:100%;padding:0;overflow:hidden}.fts-fb-slideshow>a{position:absolute;top:0;left:0;width:100%;padding:0;background-color:#222;display:block}.fts-fb-slideshow>a>img{width:100%;position:static;display:block}.fts-fb-slideshow>div{position:absolute;top:0;left:0;padding:0}.composite-example>div{background:#fff}.composite-example>div>img{display:block}.composite-example>div .cycle-overlay{color:#fff;background:#000;opacity:.6;position:absolute;bottom:0;width:100%;padding:0}.fts-slider-center{text-align:center;padding:2px 0;background:#171717;position:relative;display:block;min-height:35px;font-size:15px;line-height:30px}.fts-slider-center span{display:inline-block;position:absolute;-webkit-text-size-adjust:none}.fts-cycle-slide p{margin:0;padding:0}.fts-prevControl-icon:before{content:'\f0a8';font-family:FontAwesomeSlick!important;font-size:24px}.fts-custom-caption{text-align:center;position:absolute;width:100%;left:0;top:2px;font-size:13px!important;line-height:30px;font-weight:700;z-index:0;letter-spacing:1px}.fts-nextControl-icon:before{font-size:24px;content:'\f0a9';font-family:FontAwesomeSlick!important}.fts-prevControl-icon{left:8px;z-index:1;cursor:pointer}.fts-nextControl-icon{right:7px;z-index:1;cursor:pointer}.fts-nextControl-icon:hover,.fts-prevControl-icon:hover{opacity:.8!important}.fb-social-btn-top{width:100%!important;overflow:hidden}.fts-instagram-fade.mfp-ready .mfp-figure{opacity:1!important}.page-id-6026 #main-header{display:none}.page-id-6026 #page-container{padding-top:0!important}.page-id-6026 .container{margin:0 auto!important;max-width:100%!important;width:100%!important}.fts-slider-icons-center{display:block;line-height:30px}.fts-pager-option{top:10px;position:relative}.fts-pager-option-top{bottom:0;position:relative;top:5px}.fts-pager-option,.fts-pager-option-top{text-align:center;width:100%;z-index:500;display:block}.fts-pager-option span{font-size:47px;width:15px;height:15px;line-height:10px;display:inline-block}.fts-pager-option span.cycle-pager-active,.fts-pager-option span:hover{opacity:.5}.fts-pager-option>*{cursor:pointer}.fts-fb-vid-popup .mfp-iframe-holder .mfp-close,.fts-fb-vid-popup .mfp-inline-holder .mfp-close{top:-50px!important;font-size:54px!important;font-weight:100;font-family:inherit}.fts-facebook-popup.mfp-bg,.fts-vine-vid-popup.mfp-bg{opacity:0;-webkit-transition:all .15s ease-out;-moz-transition:all .15s ease-out;transition:all .15s ease-out}.fts-facebook-popup.mfp-bg.mfp-ready{opacity:.8;z-index:99999990}.fts-facebook-popup.mfp-bg.mfp-removing{opacity:0}.fts-facebook-popup.mfp-wrap .mfp-content{opacity:0;-webkit-transition:all .15s ease-out;-moz-transition:all .15s ease-out;transition:all .15s ease-out}.fts-facebook-popup.mfp-wrap.mfp-ready .mfp-content{opacity:1}.fts-facebook-popup.mfp-wrap.mfp-removing .mfp-content{opacity:0}.fts-facebook-popup .mfp-close{left:0!important;margin-left:4px!important;background:0 0!important;cursor:zoom-out!important;border:none!important;box-shadow:none!important;font-size:27px!important;font-family:'Open Sans',Arial,sans-serif!important;font-weight:600!important;top:-42px!important;opacity:.5!important}.fts-facebook-popup .mfp-close:before{display:none!important}.fts-facebook-popup .mfp-iframe-holder .mfp-content,.fts-facebook-popup .mfp-inline-holder .mfp-content{max-width:1400px}.fts-facebook-popup .mfp-iframe-scaler iframe,.fts-facebook-popup .mfp-iframe-scaler video{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:none!important;background:#000;right:0;margin:auto}.fts-facebook-popup .mfp-title{padding:20px;background:rgba(255,255,255,.11);margin-top:21px}.fts-facebook-popup .fts-popup-wrap{max-width:1400px;margin:0 auto;padding:0;vertical-align:middle;width:100%;position:relative}.fts-facebook-popup .fts-popup-half{width:75%;float:left;background:#000;text-align:center;vertical-align:middle;height:100%;position:relative;z-index:88888888}.fts-facebook-popup .fts-popup-second-half{height:100%;width:25%;position:relative;float:left}.fts-facebook-popup .fts-popup-second-half .mfp-bottom-bar{margin:0;position:absolute!important;top:0;right:0;width:100%;cursor:auto;color:#000;overflow:auto}.fts-facebook-popup .fts-popup-wrap img.mfp-img{width:auto;max-width:100%;display:initial;line-height:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin:0;vertical-align:middle}.fts-facebook-popup .fts-popup-wrap .mfp-counter{position:relative;bottom:0;text-align:right;right:10px;color:#c1c1c1!important;font-size:12px;line-height:18px;white-space:nowrap;display:inline-block;float:right;top:initial;margin:5px 0}.fts-facebook-popup .fts-position-helper{display:inline-block;height:100%;vertical-align:middle}.fts-facebook-popup .fts-popup-image-position{min-height:527px;width:100%;background:#000;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none}.fts-facebook-popup .fts-popup-wrap .mfp-title{padding:0;background:rgba(255,255,255,.11);margin:0}.fts-facebook-popup .fts-popup-second-half .mfp-title a{color:#0f6fad;text-decoration:none!important}.fts-youtube-popup .fts-popup-second-half .mfp-title a{color:#0f6fad!important}.fts-facebook-popup .mfp-figure:after{content:'';position:absolute;left:0;top:0;bottom:0;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#fff}.fts-facebook-popup .fts-popup-wrap .mfp-title p,.fts-instagram-caption-content .fts-popup-wrap .mfp-title p{color:#000!important;margin:0 0 10px!important;padding:0!important}.fts-facebook-popup .mfp-image-holder .mfp-content{max-width:1400px;width:100%}.fts-facebook-popup .fts-jal-fb-user-name{font-size:14px;margin-top:20px;padding-left:82px;display:block;padding-right:15px}.fts-facebook-popup .fts-fb-caption,.fts-facebook-popup .fts-non-popup-text,.hide-date-likes-comments-etc{display:none!important}.fts-facebook-popup .fts-jal-fb-post-time{padding-left:82px}.fts-facebook-popup .fts-instagram-caption-content,.fts-facebook-popup .fts-jal-fb-message{padding:10px 20px 0}.fts-facebook-popup .fts-fb-caption a{font-size:13px}.fts-facebook-popup i:before{margin-left:0!important;font-style:normal!important;font-size:15px!important}.fts-facebook-popup .icon-file:before{font-size:15px!important}#fts-photo-next:hover:after,#fts-photo-prev:hover:after,.fts-popup-half:hover #fts-photo-next:after,.fts-popup-half:hover #fts-photo-prev:after{opacity:1!important;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}#fts-photo-next:after,#fts-photo-prev:after{font-family:FontAwesomeSlick;font-size:58px!important;font-weight:100;opacity:0;color:#fff;border:none!important;margin-top:-20px!important}#fts-photo-next:after{content:"\f105"}#fts-photo-prev:after{content:"\f104"}.fts-facebook-popup .mfp-arrow{background:0 0!important;width:48px!important;height:28px!important;line-height:normal!important;margin:-32px 0!important}.fts-facebook-popup .mfp-arrow:after{margin:0!important;top:0!important;border:none!important;width:48px!important;height:24px!important}.twitter-followers-fts.fts-tweets-first,.twitter-followers-fts:hover{border-bottom:4px solid #1b95e0!important}.fts-facebook-popup .mfp-arrow-left{left:5px!important}.fts-facebook-popup .mfp-arrow-right{right:5px!important}.fts-facebook-popup .fts-jal-fb-description.fts-jal-fb-description-popup,.fts-facebook-popup .hide-date-likes-comments-etc{display:inline-block!important}.fts-facebook-popup .mfp-arrow:before,.fts-iframe-popup-element,.fts-video-popup-element{display:none}.fts-jal-fb-description-popup{color:#444}.fts-facebook-popup .fts-jal-fb-description-wrap{max-height:300px;overflow:auto;max-width:100%;padding-left:20px!important;width:100%}.fts-facebook-popup *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}body .fts-facebook-popup a.fts-powered-by-text{margin:2px 20px!important;text-align:left!important;float:left!important;font-size:12px;color:#c1c1c1!important;width:auto!important;font-weight:400!important;line-height:18px!important;text-decoration: none !important;}.fts-powered-by-text-popup a.fts-powered-by-text{display:block!important}.fts-facebook-popup .mfp-iframe-holder .mfp-bottom-bar,.fts-facebook-popup .mfp-inline-holder .mfp-bottom-bar{overflow:auto}.fts-fb-comments-content{float:left;width:100%;max-width:100%;background:#f6f7f9;padding:0 20px 20px}.fts-facebook-popup .fts-fb-location-title{font-size:15px;display:block;padding:0;font-weight:700;font-style:normal;margin:12px 0 0;color:#333}.ft-gallery-share-wrap .fa,.fts-share-wrap i{font-style:normal!important}.fts-facebook-popup .fts-instagram-caption-content,.fts-facebook-popup .fts-jal-fb-message{clear:both;font-size:15px;color:#333}.fts-facebook-popup .fts-fb-get-directions{font-size:15px;display:inline-block;padding:0 0 20px;color:#4595f0!important}.fts-facebook-popup .fts-fb-ticket-info{color:#4595f0!important}.fts-event-title-wrap{font-size:24px;line-height:24px}.fts-fb-comments-wrap{display:none!important}.fts-fb-comment{clear:both;float:left;width:100%;color:#222;margin:0;padding:15px 0 0;font-size:13px}.fts-fb-comment-user-pic{float:left;width:32px;height:32px;margin:0;border-radius:50px}.fts-fb-comment-msg{padding-left:42px;font-size:12px}.fts-fb-comment-user-name{font-weight:700;display:inline-block;font-size:12px}@media all and (max-width:900px){.fts-facebook-styles-popup .fts-popup-half,.fts-facebook-styles-popup .fts-popup-second-half{height:100%;width:100%;position:relative;float:none}.fts-facebook-styles-popup .fts-popup-half{background:#000;text-align:center;vertical-align:middle;z-index:500}.fts-facebook-styles-popup .mfp-bottom-bar{background:#fff;padding-bottom:10px}.fts-facebook-styles-popup .mfp-iframe-holder .mfp-content,.fts-facebook-styles-popup .mfp-inline-holder .mfp-content{top:0}.fts-facebook-styles-popup .mfp-iframe-holder .fts-popup-image-position,.fts-facebook-styles-popup .mfp-inline-holder .fts-popup-image-position{height:auto!important}.fts-facebook-styles-popup .mfp-container{padding-top:40px;padding-bottom:0}.fts-facebook-styles-popup .mfp-container:before{display:none}.fts-popup-image-position{min-height:50px!important}.fts-facebook-styles-popup .fts-popup-second-half .mfp-bottom-bar{height:auto!important;overflow:visible!important}}@media all and (max-width:640px){.fts-instagram-styles-popup .fts-popup-half,.fts-instagram-styles-popup .fts-popup-second-half{height:100%;width:100%!important;position:relative;float:none}.fts-instagram-styles-popup .fts-popup-half{background:#fff;text-align:center;vertical-align:middle;z-index:500}.fts-instagram-styles-popup .mfp-bottom-bar{background:#fff;padding-bottom:10px}.fts-instagram-styles-popup .mfp-iframe-holder .mfp-content,.fts-instagram-styles-popup .mfp-inline-holder .mfp-content{top:0}.fts-instagram-styles-popup .mfp-iframe-holder .fts-popup-image-position{height:auto!important}.fts-instagram-styles-popup .mfp-container{padding-top:40px;padding-bottom:0}.fts-instagram-styles-popup .mfp-container:before{display:none}.fts-popup-image-position{min-height:50px!important}.fts-instagram-styles-popup .fts-popup-second-half .mfp-bottom-bar{height:auto!important;overflow:visible!important}}@media all and (min-width:1900px){.fts-facebook-popup .fts-popup-second-half.fts-instagram-popup-second-half{float:left!important}.fts-facebook-popup .fts-popup-second-half{height:100%;width:100%;position:relative;float:left}.fts-facebook-popup .fts-popup-half{background:#000;text-align:center;vertical-align:middle;z-index:500;width:100%}.fts-facebook-popup .mfp-bottom-bar{background:#fff;padding-bottom:10px}.fts-facebook-popup .mfp-iframe-holder .mfp-content,.fts-facebook-popup .mfp-inline-holder .mfp-content{top:0}.fts-facebook-popup .mfp-iframe-holder .fts-popup-image-position,.fts-facebook-popup .mfp-inline-holder .fts-popup-image-position{height:auto!important}.fts-facebook-popup .mfp-container{padding-top:40px;padding-bottom:0}.fts-facebook-popup .mfp-container:before{display:none}.fts-popup-image-position{min-height:50px!important}.fts-facebook-popup .fts-popup-second-half .mfp-bottom-bar{height:auto!important;overflow:visible!important;min-height:auto!important}}.fts-twitter-backg-image,.fts-twitter-backg-image img{margin:0!important;padding:0!important;position:relative;z-index:99}.fts-instagram .image-overlay,.fts-instagram .image-overlay-inside,.fts-instagram .image-overlay.overlay-type-extern,.fts-jal-fb-group-display .image-overlay-inside,.fts-jal-single-fb-post .image-overlay,.fts-jal-single-fb-post .image-overlay-inside,.fts-jal-single-fb-post .image-overlay.overlay-type-extern,.fts-mashup .image-overlay,.fts-mashup .image-overlay.overlay-type-extern,.fts-pinterest-wrapper .image-overlay,.fts-pinterest-wrapper .image-overlay-inside,.fts-pinterest-wrapper .image-overlay.overlay-type-extern,.fts-profile-pic a .image-overlay,.fts-profile-pic a .image-overlay-inside,.fts-profile-pic a .image-overlay.overlay-type-extern,.fts-slicker-facebook-photos .image-overlay,.fts-slicker-facebook-photos .image-overlay-inside,.fts-slicker-facebook-photos .image-overlay.overlay-type-extern,.fts-tweeter-wrap .image-overlay,.fts-tweeter-wrap .image-overlay-inside,.fts-tweeter-wrap .image-overlay.overlay-type-extern,.fts-vine-content .image-overlay,.fts-vine-content .image-overlay-inside,.fts-vine-content .image-overlay.overlay-type-extern,.fts-yt-videolist .image-overlay,.fts-yt-videolist .image-overlay-inside,.fts-yt-videolist .image-overlay.overlay-type-extern{display:none!important}.fts-facebook-popup.mfp-ready .mfp-figure{opacity:1}ul.fts-sidebar-menu ul.fts-social-bar-icons-wrap ul li{margin:0!important}.fts-instagram-inline-block-centered{text-align:center;font-size:0;margin:auto}#facebook-sidebar .fts-fb-comments-wrap{display:none}.fts-twitter-backg-image img{display:block!important;width:100%}.fts-twitter-backg-image .twitter-social-btn-top{position:absolute!important;bottom:5px;left:10px;z-index:100}.fts-twitter-followers-wrap{background:#fff;padding:1px 5px 0 0;margin-bottom:10px;text-align:center;color:#1b95e0!important}.twitter-followers-fts{text-align:center;display:inline-block;padding:5px 15px;font-size:18px;font-weight:600!important}.twitter-followers-fts a,.twitter-followers-fts-singular a{font-weight:400!important;letter-spacing:.02em;text-transform:uppercase}.twitter-followers-fts a{display:block;color:#66757f!important;font-size:11px;transition:color .15s ease-in-out}.twitter-followers-fts:hover{transition:border .15s ease-in-out}.fts-tweets-first,.fts-tweets-first a,.twitter-followers-fts:hover a{color:#1b95e0!important}.fts-tweet-reply-left{float:left;display:inline-block}.fts-twitter-reply-wrap a{/* color:rgba(144,147,148,.71) */}body .fts-twitter-favorites-wrap:hover{color:#c32525!important}.fts-twitter-favorites-wrap{margin-left:20px}body .fts-twitter-reply-wrap.fts-twitter-full-width{margin-left:0!important;margin-top:0}.twitter-followers-fts-singular{font-size:15px;padding:5px 0 0}.twitter-followers-fts-singular a{color:#66757f!important;font-size:11px}.twitter-social-btn-top a,.twitter-social-btn-top iframe{color:#fff!important}@media (max-width:400px){.twitter-followers-fts{padding:5px 10px;font-size:15px!important;font-weight:500!important}}.fts-twitter-full-name{font-size:14px!important;font-weight:700}a.fts-twitter-at-name{font-size:13px!important;color:#999!important;font-weight:400!important;display:inline-block;margin-top:3px}.fts-profile-wrap{clear:both;display:block}.fts-clear{clear:both}.fts-profile-pic{float:left;margin:0 25px 20px 0;max-width:125px}.fts-profile-pic a:hover{opacity:.8}.fts-isnta-full-name{padding:0 0 10px;float:left;margin:4px 20px 0 0}.fts-profile-name-wrap .fts-follow-header-wrap{font-size:14px;display:inline-block;letter-spacing:0;padding:7px 10px;border-radius:4px;border:1px solid #5dba00;line-height:18px}.fts-profile-description{font-size:15px;line-height:22px}.fts-profile-name-wrap{font-size:32px;margin-bottom:18px;letter-spacing:2px;line-height:28px}.fts-profile-pic img{border-radius:50%;max-width:100%}.fts-profile-stats{margin:0 0 5px}.fts-profile-stats span{font-weight:700;display:inline-block}.fts-profile-stats div{font-size:15px;display:inline-block;margin-right:20px;margin-bottom:10px}.fts-profile-wrap{max-width:630px;margin:auto;padding:0 0 20px}.fts-facebook-popup .fts-instagram-caption-content a{color:#003569!important}.fts-facebook-popup a.ft-gallery-link-popup,.fts-facebook-popup a.fts-jal-fb-see-more{font-size:12px;text-align:right;margin-top: 16px;border-top:1px solid #eee;border-bottom:1px solid #eee;padding:13px 20px 11px 40px;background:#f6f7f9;display:block!important;width:100%!important}.fts-instagram-popup-profile-wrap{display:none}.fts-facebook-popup.fts-instagram-styles-popup .fts-profile-pic{display:block;padding:15px 10px 0 15px;margin:0}.fts-facebook-popup.fts-instagram-styles-popup .fts-profile-pic img{display:block;width:40px}.fts-facebook-popup.fts-instagram-styles-popup .fts-isnta-full-name{font-size:17px;letter-spacing:normal;color:#333}.fts-facebook-popup.fts-instagram-styles-popup .fts-profile-name-wrap{padding-top:15px}.fts-follow-header-wrap{margin-right:15px;color:#5dba00}.fts-follow-header-wrap a{color:#5dba00!important}.fts-facebook-popup.fts-instagram-styles-popup .fts-insta-date-popup-grab{clear:both;text-align:right;margin:55px 15px -8px!important;color:#999;border-top:1px solid #eee;padding-top:12px;font-size:14px}.fts-facebook-popup.fts-instagram-styles-popup a.fts-view-on-instagram-link{margin:20px 15px 0;padding:10px 0!important;color:#9f9f9f!important}.fts-facebook-popup.fts-instagram-styles-popup .fts-view-on-instagram-link:before{font-size:15px;top:1px;position:relative;margin-left:5px}.fts-facebook-popup.fts-instagram-styles-popup .fts-follow-header-wrap{float:right;margin:0 40px 20px 15px;color:#5dba00;font-size:12px;top:-7px;position:relative}.fts-facebook-popup.fts-instagram-styles-popup .heart-comments-wrap,.fts-facebook-popup.fts-instagram-styles-popup .slicker-heart-comments-wrap{position:relative;color:#444!important;margin:0 0 0 15px!important;font-size:14px;width:auto!important;left:0}.fts-facebook-popup.fts-instagram-styles-popup .heart-comments-wrap li,.fts-facebook-popup.fts-instagram-styles-popup .slicker-heart-comments-wrap li{display:inline-block;margin-right:15px!important;margin-top:-5px!important;opacity:1}.fts-facebook-popup.fts-instagram-styles-popup .fts-comment-instagram:before{font-size:14px}.fts-facebook-popup.fts-instagram-styles-popup .fts-popup-half.fts-instagram-popup-half{width:64%}.fts-facebook-popup.fts-instagram-styles-popup .fts-popup-second-half.fts-instagram-popup-second-half{width:36%}.fts-facebook-popup.fts-instagram-styles-popup .fts-instagram-popup-half .fts-popup-image-position{min-height:auto!important}.fts-facebook-popup.fts-instagram-styles-popup .fts-popup-second-half .mfp-bottom-bar{margin:0;position:absolute!important;top:0;right:0;width:100%;cursor:auto;color:#000;overflow:auto;min-height:200px}.fts-facebook-popup.fts-instagram-styles-popup .mfp-iframe-holder .mfp-content,.fts-facebook-popup.fts-instagram-styles-popup .mfp-image-holder .mfp-content,.fts-facebook-popup.fts-instagram-styles-popup .mfp-inline-holder .mfp-content{max-width:1000px;width:100%}.fts-facebook-popup.fts-instagram-styles-popup .heart-comments-wrap{margin:-18px 0 0 15px!important}.fts-facebook-popup a.fts-view-on-instagram-link{font-size:12px;text-align:left;margin-top:15px;border-top:1px solid #eee;border-bottom:1px solid #eee;color:#555!important;padding:10px 20px;background:#fff;display:block}.fts-mashup-post-wrap{padding:0!important;border-bottom:1px solid rgba(184,184,184,.3);line-height:17px;margin-bottom:10px;position:relative;display:inline-block;width:100%}.fts-mashup-type-name{clear:both;width:100%;display:block;background:#f7f7f7;margin-bottom:10px;box-shadow:1px 1px 0 #ddd}.fts-mashup-type-name span{display:block;padding:0 7px 3px 0;text-align:right;font-size:10px;color:#bfbfbf;line-height:14px}.fts-mashup-count-wrap{width:100%;clear:both;display:block;padding-top:12px;text-align:left;margin-bottom:6px;float:left}.fts-mashup-count-wrap a{display:inline-block;font-size:13px}.fts-mashup-count-wrap .fts-tweet-reply-left{float:none;display:inline-block}.fts-mashup-description-wrap{clear:both;padding-top:5px;line-height:18px}.fts-jal-fb-post-time{margin-bottom:8px}.twitter-video{min-width:200px!important}.fts-mashup .fts-mashup-image-and-video-wrap{margin-top:8px;position:relative;line-height:0}.fts-mashup-count-wrap .slicker-heart-comments-wrap{position:relative;top:inherit;bottom:inherit;margin:0!important}.fts-mashup-count-wrap .slicker-heart-comments-wrap li.slicker-instagram-image-likes{padding-left:0!important}.fts-mashup .fts-twitter-description-image{margin-top:0!important}.fts-mashup .fts-single-pin-social-meta-wrap{margin:0}.fts-mashup .fts-single-pin-social-meta-wrap span{margin-top:0;font-size:14px}.fts-mashup .fts-youtube-title{font-weight:700;font-size:12px;padding:8px 0 0;line-height:14px}.fts-mashup-post-wrap .fts-jal-single-fb-post{padding-top:0!important}.fts-mashup .fts-jal-single-fb-post{border-bottom:none}.fts-mashup .fts-jal-fb-picture,.fts-mashup .fts-jal-fb-vid-picture{margin-top:0}.fts-mashup .fts-jal-single-fb-post .fts-jal-fb-user-thumb a:before,.fts-mashup-instagram-icon a:before,.fts-mashup-pinterest-icon a:before,.fts-mashup-twitter-icon a:before,.fts-mashup-wp_gallery-icon a:before,.fts-mashup-youtube-icon a:before{font-family:FontAwesomeSlick;font-size:32px;font-weight:100!important}.fts-mashup-instagram-icon a:before{content:"\f16d";font-size:37px;top:2px;position:relative}.fts-mashup .fts-jal-single-fb-post .fts-jal-fb-user-thumb a:before{content:"\f09a";top:2px;position:relative;left:8px;font-size:30px}.fts-mashup-hide-fb-icon .fts-jal-single-fb-post .fts-jal-fb-user-thumb a:before{content:""}.fts-mashup-twitter-icon a:before{content:"\f099";top:0;position:relative;left:3px}.fts-mashup-pinterest-icon a:before{content:"\f231";position:relative;top:3px;left:5px}.fts-mashup-youtube-icon a:before{content:"\f167";position:relative;top:2px;left:4px}.fts-mashup-icon-wrap-left.fts-mashup-youtube-icon a:before{top:0;left:2px}.slicker-instagram-placeholder .ft-text-for-popup-content{padding:5px 15px;opacity:0;z-index:10;position:relative;color:#fff}.slicker-instagram-placeholder .fts-mashup-count-wrap{opacity:0;z-index:10;position:absolute;bottom:-5px;left:5px;color:#fff}.slicker-instagram-placeholder:hover .fts-mashup-count-wrap a{color:#fff!important;font-size:12px}.slicker-instagram-placeholder .fts-mashup-count-wrap a{color:#fff;font-size:12px}.slicker-instagram-placeholder:hover .ft-text-for-popup-content,.slicker-instagram-placeholder:hover .fts-mashup-count-wrap{opacity:1;color:rgba(255,255,255,.88)}.slicker-instagram-placeholder .ft-gallery-link-popup{font-size:14px;position:absolute;bottom:10px;left:10px}.ft-gallery-link-popup:before{font-family:FontAwesomeSlick;content:"\f14d ";display:inline-block;margin-right:6px;-webkit-font-smoothing:antialiased;font-size:16px;margin-top:1px;margin-left:1px}.fts-mashup-wp_gallery-icon a:before{content:"\f19a";position:relative;top:2px;left:4px}.fts-mashup-icon-wrap-left.fts-mashup-wp_gallery-icon a:before{top:0;left:2px}.fts-mashup-icon-wrap-right.fts-mashup-wp_gallery-icon{margin-top:3px;margin-right:5px}.slicker-instagram-placeholder .ft-wp-gallery-icon{margin-top:-12px;margin-right:0}.fts-mashup-icon-wrap-left.fts-mashup-twitter-icon a:before{top:0;left:3px}.fts-mashup-type-icon-spacer{clear:both;width:100%;display:block;background:#f7f7f7;margin-bottom:2px}.fts-feed-type-wp_gallery .fts-mashup-description-wrap{margin:0 0 15px}.fts-mashup .fts-feed-type-facebook .fts-jal-fb-user-thumb,.fts-mashup-hide-fb-thumb.fts-feed-type-facebook .fts-jal-fb-user-thumb{display:none!important}.fts-feed-type-facebook .fts-mashup-icon-wrap-left a:before,.fts-feed-type-facebook .fts-mashup-icon-wrap-right a:before{content:"\f09a";top:2px;position:relative;left:9px;font-size:28px!important}.fts-mashup-type-icon{float:left;height:40px;margin:15px 10px 0 0}.fts-mashup .fts-jal-single-fb-post .fts-jal-fb-user-thumb{width:40px;height:45px;float:left;margin:0}.fts-mashup .fts-jal-single-fb-post .fts-jal-fb-user-thumb a,.fts-mashup-icon-wrap{float:left;height:45px;width:40px;padding-top:13px;position:relative;margin-top:0!important;text-decoration:none!important}.fts-mashup-hide-fb-icon .fts-jal-single-fb-post .fts-jal-fb-user-thumb a{float:left;height:50px;width:50px;padding-top:0;position:relative;margin-top:0!important;text-decoration:none!important}.fts-mashup-hide-fb-icon .fts-jal-single-fb-post .fts-jal-fb-user-thumb{width:50px;height:50px;float:left;margin:0 15px 0 0}.fts-mashup .fts-jal-fb-message{line-height:18px;padding-top:5px}.fts-mashup-count-wrap a,.fts-mashup-icon-wrap a{text-decoration:none!important}.fts-mashup .fts-jal-fb-post-time{padding-top:3px}.fts-mashup .fts-likes-shares-etc-wrap{float:left;width:100%;padding:0}.fts-mashup .icon-thumbs-up:before,.fts-single-pin-social-meta-wrap,.fts-tweet-reply-left{margin-left:5px!important}.fts-mashup .fts-jal-fb-see-more,.fts-mashup .fts-mashup-count-wrap .slicker-heart-comments-wrap li,.fts-mashup .slicker-instagram-placeholder .slicker-heart-comments-wrap li{font-size:12px!important}.fts-mashup .fts-comment-instagram:before,.fts-mashup .fts-jal-fb-see-more .icon-comments:before,.fts-mashup .fts-jal-fb-see-more .icon-file-up:before,.fts-mashup .fts-jal-fb-see-more .icon-thumbs-up:before{font-size:14px}.fts-mashup-icon-wrap-right{float:right}.fts-mashup-icon-wrap-right a{text-decoration:none!important;font-size:12px}.fts-mashup-icon-wrap-left a:before,.fts-mashup-icon-wrap-right a:before{font-family:FontAwesomeSlick;font-weight:100!important;top:12px}.fts-mashup-icon-wrap-right.fts-mashup-facebook-icon{position:relative;right:18px;top:13px;z-index:1}.fts-mashup-hide-fb-icon.fts-feed-type-facebook .fts-mashup-icon-wrap-right a:before{font-size:30px!important}.fts-mashup-icon-wrap-left{float:left;margin:16px 12px 0 0}.fts-feed-type-pinterest .fts-mashup-icon-wrap-left a:before{left:4px;top:0}.fts-mashup .fts-feed-type-facebook .fts-jal-fb-user-thumb a:before{font-family:FontAwesomeSlick!important;content:"\f09a"!important;top:2px!important;position:relative!important;left:8px!important;font-size:29px!important}.fts-mashup .fts-mashup-icon-left .fts-jal-fb-user-thumb{display:none!important}.fts-feed-type-facebook.fts-mashup-hide-fb-thumb .fts-jal-fb-user-thumb,.fts-mashup .fts-mashup-hide-fb-icon-and-thumbnail.fts-feed-type-facebook .fts-jal-fb-user-thumb,.fts-mashup-hide-fb-icon-and-thumbnail .fts-jal-fb-user-thumb,.fts-mashup-icon-left .fts-jal-fb-user-thumb img{display:none!important}.fts-mashup-icon-left .fts-feed-type-facebook .fts-jal-fb-user-thumb a:before{content:''!important}.fts-mashup-icon-left.fts-feed-type-facebook.fts-mashup-hide-fb-thumb .fts-jal-fb-user-thumb{display:block!important}body div.fts-mashup-hide-fb-thumbnail-icon .fts-jal-fb-user-thumb a:before{display:none}body div.fts-mashup-hide-fb-thumbnail-icon .fts-jal-fb-user-thumb{width:50px!important;height:50px!important;margin-right:10px!important;margin-bottom:10px!important}body .fts-mashup .fts-mashup-hide-fb-thumbnail-icon .fts-jal-single-fb-post .fts-jal-fb-user-thumb a{width:50px!important;height:50px!important;margin-top:0!important;padding:0!important}.fts-mashup .fts-likes-shares-etc-wrap a{color:#777}.fts-mashup-error-notice{margin-bottom:25px}.fts-mashup-icon-left .fts-mashup-error-notice{margin-left:45px}.fts-mashup-icon-wrap-left a{text-decoration:none!important}.fts-mashup-icon-wrap-right.fts-mashup-youtube-icon a:before{left:-2px!important;top:15px}.fts-mashup-icon-wrap-right.fts-mashup-twitter-icon a:before{left:-2px!important}.fts-mashup-icon-wrap-right.fts-mashup-pinterest-icon a:before{left:0!important}.fts-mashup .fts-jal-fb-user-name{margin-right:23px}.fts-mashup-media-top.fts-mashup-post-wrap .fts-jal-fb-user-name{margin-left:10px;padding-top:0}.fts-mashup-media-top .fts-jal-fb-user-name{margin-left:10px}.fts-mashup .fts-jal-fb-message p,.fts-mashup-description-wrap p{margin:4px 0 5px!important}.fts-single-pin-meta-wrap .fts-single-pin-social-meta-wrap{margin-left:15px!important}.fts-review-details-wrap{margin-top:0}.fts-review-details-master-wrap{display:block;clear:both;padding:10px 10px 15px;background:#fff;border-bottom:1px solid rgba(184,184,184,.3)}.fts-reviews-overall-rating-stars{margin:auto}.fts-review-details-wrap{padding:5px 0 0;line-height:17px}.fts-review-details-master-wrap-no-background-or-border{background:0 0!important;border:none!important}.fts-slicker-twitter-posts .fts-tweeter-wrap .tweeter-info{padding:11px 0 7px}.fts-slicker-twitter-posts .fts-twitter-image{margin-left:11px!important}.fts-slicker-twitter-posts .tweeter-info .fts-twitter-full-width{padding:0 10px 10px}.fts-slicker-twitter-posts .tweeter-info .fts-twitter-full-width.fts-twitter-reply-wrap{padding:0 10px 2px}.tweeter-info .twitter-video{margin:0 -8px -5px!important}.fts-fb-get-directions,.fts-fb-ticket-info{display:inline-block}.fts-fb-ticket-info:before{content:'|';margin-left:10px;margin-right:10px}.fts-facebook-popup .ft-text-for-popup-content .fts-jal-fb-post-time,.fts-facebook-popup .ft-text-for-popup-content .fts-jal-fb-user-name,.fts-facebook-popup .ft-text-for-popup-content .fts-mashup-description-wrap{padding-right:15px}.fts-facebook-popup .ft-text-for-popup-content .fts-mashup-description-wrap{margin-top:20px;margin-bottom:25px;padding-left:20px!important}.fts-facebook-popup .ft-text-for-popup-content .fts-jal-fb-user-name{margin-top:12px;padding-left:20px!important}.fts-facebook-popup .ft-text-for-popup-content .fts-jal-fb-post-time{padding-left:20px!important}.fts-facebook-popup .ft-text-for-popup-content .fts-mashup-icon-wrap-right.fts-mashup-wp_gallery-icon{margin-right:20px!important;margin-top:-1px}.fts-facebook-popup a.ft-gallery-link-popup{font-size:12px;text-align:left;margin-top:15px;border-top:0 solid #eee;border-bottom:0 solid #eee;padding:14px 20px 10px;background:0 0;display:inline-block;float:left}.fts-facebook-popup .ft-text-for-popup-content .fts-mashup-description-wrap p{padding-top:0;line-height:21px;word-wrap:break-word;font-size:15px;color:#333}.ft-text-for-popup-content{text-align:left}.fts-slicker-facebook-photos .ft-text-for-popup-content .fts-jal-fb-post-time{color:#9d9d9d!important;margin-top:0}.ft-image-overlay{position:absolute;top:0;left:0;height:100%;width:100%}.fts-popup-second-half .fts-watermark-inside{display:none!important}.fts-watermark-inside-center{position:absolute;top:50%;text-align:center;transform:translateY(-50%);width:100%}.fts-watermark-inside-top-center{position:absolute;text-align:center;top:0;width:100%}.fts-watermark-inside-bottom-center{position:absolute;bottom:0;text-align:center;width:100%}.fts-watermark-inside-bottom-left{position:absolute;bottom:0}.fts-watermark-inside-bottom-right{position:absolute;text-align:right;bottom:0;width:100%}.fts-watermark-inside-top-right{position:absolute;width:100%;top:0;text-align:right}.fts-watermark-inside-top-left{position:absolute;text-align:left;top:0;width:100%}.fts-watermark-inside img{max-width:100%;height:auto;display:inline-block;margin:0}.fts-mashup-image-and-video-wrap .fts-watermark-inside img{max-width:75%!important}.ft-gallery-share-wrap{display:none;margin-top:0;position:absolute;left:20px;background:#fff;top:-8px;min-width:116px;box-shadow:2px -2px 3px 0 rgba(187,187,187,.8);width:100%;z-index:1;text-align:left}.fts-popup-second-half .ft-gallery-share-wrap{left:50px;background:#f6f7f9;top:8px}.ft-gallery-share-wrap a{display:inline-block!important}.fts-share-wrap{padding:0;float:left;width:auto;margin:9px 0 0;display:inline-block;position:relative;z-index:1}a.fts-jal-fb-see-more{width:auto!important;display:inline-block!important;text-align:left}.ft-gallery-share-wrap .fa,.fts-twitter-logo .fa{display:inline-block!important;font-family:FontAwesomeSlick!important;font-weight:400!important;line-height:1!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ft-gallery-share-wrap .fa-facebook-square:before{content:"\f082";font-size:17px!important}.ft-gallery-share-wrap .fa-linkedin:before{content:"\f0e1";font-size:16px!important}.ft-gallery-share-wrap .fa-google-plus:before{content:"\f0d5";font-size:16px!important}.ft-gallery-share-wrap .fa-pinterest-plus:before{content:"\f0d2";font-size:15px!important}.ft-gallery-share-wrap .fa-twitter:before,.fts-twitter-logo .fa-twitter:before{content:"\f099";font-size:19px!important;top:1px;position:relative}.ft-gallery-share-wrap .fa-envelope:before{content:"\f0e0";font-size:16px!important}.ft-gallery-link-popup{margin:5px 0 0!important}.ft-gallery-share-wrap a:hover{opacity:.8;}.fts-slicker-facebook-photos .fts-share-wrap a{color:#fff!important}.fts-slicker-facebook-photos .fts-mashup-count-wrap{clear:both;display:block!important;top:-21px;left:16px}.fts-slicker-facebook-photos .fts-likes-shares-etc-wrap{outline:0;z-index:5000!important;color:#fff;position:absolute;bottom:10px!important;display:none;width:100%;text-align:left}.fts-slicker-facebook-photos .fts-jal-fb-see-more{bottom:0!important;position:absolute;left:10px}.fts-mashup-post-wrap.fts-feed-type-facebook .fts-mashup-count-wrap.fts-share-wrap{margin:10px 3px 0 0;padding:0}.fts-mashup-post-wrap.fts-feed-type-facebook .fts-mashup-count-wrap.fts-share-wrap a.ft-gallery-link-popup{margin:0!important}.fts-mashup-post-wrap.fts-feed-type-facebook .ft-gallery-share-wrap{top:-7px}.fts-mashup-count-wrap.fts-share-wrap .ft-gallery-link-popup{margin-top:0!important}.fts-twitter-reply-wrap{float:left}.fts-instagram-reply-wrap-left,.fts-pinterest-reply-wrap-left,.fts-youtube-reply-wrap-left{float:right}.fts-tweeter-wrap .fts-share-wrap{padding:7px 0 0;margin-top:10px}.ft-gallery-share-wrap a{margin:7px 5px;font-size:13px}.fts-tweeter-wrap .ft-gallery-share-wrap{top:-6px}.fts-tweeter-wrap .fts-mashup-count-wrap a{display:inline-block;margin:7px 5px;font-size:13px}body .fts-slicker-facebook-photos .fts-tweeter-wrap .ft-gallery-share-wrap{max-width:132px!important;width:100%!important}.fts-tweeter-wrap .ft-gallery-link-popup{font-size:13px}.fts-twitter-reply-wrap-left{float:right;padding:10px 0 0;margin-top:5px}.fts-tweet-others-right a{display:inline-block}.fts-twitter-reply-wrap .fts-share-wrap{margin-top:10px;padding:0}.fts-share-wrap .fts-share-wrap{margin-top:10px}.fts-twitter-reply-wrap .fts-share-wrap a.ft-gallery-link-popup{margin-top:0!important}.fts-slicker-twitter-posts .fts-twitter-reply-wrap-left{padding:0!important;margin:15px 0 0!important}.ft-galleryfacebook-icon{margin-left:11px!important}.fts-mashup-post-wrap .fts-tweet-reply-left{margin-right:35px;padding:0 5px}.fts-mashup-post-wrap .fts-twitter-reply-wrap-left{padding:0;margin-top:0}.fts-share-wrap .ft-gallery-link-popup{margin:0!important;font-size:12px}.fts-mashup-count-wrap .fts-share-wrap{margin:0!important}.fts-instagram-reply-wrap-left{margin-right:8px}.fts-popup-second-half .fts-share-wrap{margin:15px 0 -64px}.fts-popup-second-half .mfp-title .ft-gallery-share-wrap a{color:#137fc4}.fts-instagram-styles-popup .fts-share-wrap .ft-gallery-share-wrap a,.fts-instagram-styles-popup .fts-share-wrap a.ft-gallery-link-popup{color:#444}.fts-youtube-reply-wrap-left a{font-size:12px}.fts-mashup-post-wrap.fts-feed-type-facebook .fts-jal-fb-see-more{margin-bottom:-1px;text-transform:none!important}.fts-instagram-styles-popup .ft-gallery-link-popup,.fts-instagram-styles-popup .fts-share-wrap{margin:0!important;padding:0!important}.fts-instagram-styles-popup .fts-instagram-reply-wrap-left{float:left;margin-left:20px}.fts-instagram-styles-popup .fts-share-wrap{background:#fff;top:-11px;left:19px;position:relative;z-index:1000}.fts-instagram-styles-popup .ft-gallery-share-wrap{top:-6px;left:25px;background:#fff}.fts-instagram-styles-popup .ft-gallery-link-popup:before{content:"\f064";margin-right:10px}.slicker-instagram-placeholder .ft-gallery-link-popup:before{content:"\f064";color:#fff;font-size:15px;position:relative;top:2px}.slicker-instagram-placeholder .ft-gallery-share-wrap{top:-19px;left:35px;box-shadow:2px -2px 3px 0 #222!important;background:#000}.slicker-instagram-placeholder .ft-gallery-share-wrap a{color:#fff}.fts-facebook-popup .ft-gallery-link-popup:before{font-family:FontAwesomeSlick;content:"\f064 ";margin-left:8px}.fts-mashup-count-wrap .fts-instagram-reply-wrap-left{margin-right:-8px}.fts-facebook-thumb-one,.fts-facebook-thumb-zero{margin-right:1px!important;display:inline-block;margin-bottom:1px!important}a.fts-facebook-thumbs-wrap{display:inline-block;max-width:515px}.fts-facebook-thumb-two{display:inline-block}.fts-image-count-tint-underlay{position:absolute;top:0;bottom:0;right:0;left:0;background:rgba(0,0,0,.5)}.fts-fb-thumbs-wrap,.fts-more-photos-auto-width .fts-fb-thumbs-wrap{position:relative;background-size:cover!important;background-position:center center!important;display:inline-block!important;overflow:hidden}.fts-fb-thumbs-wrap{margin-right:.233333%!important}.fts-2-photos.fts-fb-thumbs-wrap,.fts-more-photos-3-photos .fts-fb-thumb-two-wrap{margin-right:0!important}.fts-3-photos{max-width:33.1%}.fts-2-photos{max-width:49.77%}.fts-fb-more-photos-wrap .fts-jal-fb-picture{margin-bottom:1px!important}.fts-more-photos-auto-width{float:none!important;margin:10px 0 4px}.fts-more-photos-auto-width a{width:49.84%;margin:0!important}.fts-more-photos-auto-width .fts-fb-thumbs-wrap{max-width:100%;margin-right:0!important;margin-left:.2333333333%!important;margin:0 0 4px;z-index:0;background-repeat:no-repeat;vertical-align:top}.fts-more-photos-auto-width .fts-jal-fb-picture{float:none!important;display:inline-block!important;margin:0!important}.fts-more-photos-three-photo-wrap .fts-fb-thumbs-wrap{display:inline-block!important;max-width:100%;margin-right:.233333333%!important;margin:0 0 4px;width:49.887%;overflow:hidden;max-height:240px}.fts-fb-scrollable,.fts-twitter-scrollable,.fts-youtube-scrollable{overflow:auto}.ft-text-for-popup,.fts-slicker-facebook-albums .fts-fb-load-more-output,.fts-slicker-facebook-albums .fts-share-wrap,.fts-slicker-facebook-photos .fts-share-wrap,.fts-twitter-reply-wrap-left p{display:none}.fts-more-photos-three-photo-wrap .fts-fb-thumb-one-wrap{margin-right:0!important}.fts-image-count{position:absolute;bottom:50%;width:100%;top:50%;text-align:center;font-size:36px;color:#fff;line-height:36px;height:36px;transform:translate(0,-50%)}.fts-image-count span{position:relative;bottom:0;font-size:35px}.fts-fb-more-photos-wrap{width:100%}@media (max-width:375px){.fts-image-count,.fts-image-count span{font-size:20px}}@media (max-width:667px){.fts-image-count,.fts-image-count span{font-size:34px}}.ft-gallery-buy-now{margin:0 12px}.fts-mashup-post-wrap .fts-share-wrap,.fts-slicker-facebook-albums.ft-wp-gallery .fts-share-wrap{display:block}.fts-mashup-count-wrap .fts-twitter-reply-wrap.fts-twitter-no-margin-left,.fts-mashup-hide-date .fts-jal-fb-post-time,.fts-mashup-hide-name .fts-jal-fb-user-name,.fts-mashup-media-top .fts-jal-fb-description-wrap,.fts-mashup-media-top .fts-mashup-type-icon-spacer{display:none}.ft-wp-gallery .fts-share-wrap a{color:#777!important}.fts-slicker-facebook-posts img{max-width:100%}.fts-twitter-no-margin-left{clear:both}.fts-instagram-styles-popup .fts-comment-instagram:before{font-size:14px!important}.fts-smallerthan-180 .fts-instagram-link-target{padding-left:50%;padding-bottom:50%;padding-top:50%}.fts-smallerthan-180 .fts-instagram-link-target span:before{content:''!important}.fts-smallerthan-180 .fts-instagram-link-target:hover,.fts-smallerthan-180.slicker-instagram-placeholder:hover .slicker-instaG-photoshadow{background:0 0!important}.fts-instagram,.fts-instagram-scrollable{margin:auto}.fts-mashup-hide-name .fts-mashup-description-wrap,.fts-mashup-hide-name.fts-mashup-hide-date .fts-jal-fb-message{padding-top:0!important}.fts-mashup-description-wrap a{word-wrap:break-word}.fts-mashup-image-and-video-wrap.popup-gallery-twitter .twitter-video{margin:-8px!important}.fts-mashup-media-top .fts-mashup-image-and-video-wrap.popup-gallery-twitter{margin-top:0}.fts-mashup-media-top .fts-likes-shares-etc-wrap,.fts-mashup-media-top .fts-mashup-description-wrap,body .fts-mashup-post-wrap.fts-mashup-media-top .fts-jal-fb-message{padding:0 10px!important}.fts-mashup-media-top .fts-youtube-title{padding:10px 10px 0;display:none}.fts-mashup-post-wrap .fts-jal-single-fb-post .fts-jal-fb-vid-wrap .fts-jal-fb-description-wrap{padding:5px 10px 0!important}.fts-mashup-media-top .fts-mashup-count-wrap{padding:8px 10px 7px!important;margin-bottom:0;margin-top:4px}.fts-mashup-media-top .fts-likes-shares-etc-wrap{padding:7px 10px 8px!important;margin-bottom:0;margin-top:10px}.fts-mashup-media-top .fts-jal-single-fb-post{padding-bottom:0!important}.fts-mashup-media-top .fts-jal-fb-post-time{padding:5px 10px 7px!important}.fts-mashup-hide-thumbnail.fts-mashup-media-top .fts-jal-fb-user-name,.fts-mashup-hide-thumbnail.fts-mashup-media-top .fts-jal-single-fb-post .fts-jal-fb-user-name,.fts-mashup-media-top .fts-jal-fb-message{padding:0 10px!important}.fts-mashup-media-top .fts-jal-fb-see-more,.fts-mashup-media-top .fts-share-wrap{margin-top:0}.fts-mashup-media-top .fts-mashup-youtube-icon a:before{margin-right:8px!important;top:10px}.fts-mashup-media-top .fts-mashup-twitter-icon a:before{margin-right:8px!important;top:5px}.fts-mashup-media-top .fts-mashup-pinterest-icon a:before{margin-right:8px!important;top:9px}.fts-mashup-media-top .fts-mashup-instagram-icon a:before{margin-right:9px!important;top:9px}.fts-mashup-media-top .fts-mashup-icon-wrap-right.fts-mashup-facebook-icon{position:unset;right:unset;top:unset;z-index:1;float:right!important}.fts-mashup-media-top .fts-jal-fb-top-wrap{display:none!important}.fts-jal-fb-group-display.fts-mashup-media-top .fts-jal-single-fb-post .fts-jal-fb-top-wrap,.fts-mashup-hide-thumbnail .fts-jal-fb-user-thumb,.slicker-youtube-placeholder .entriestitle{display:none}.fts-mashup-media-top .fts-jal-fb-link-wrap,.fts-mashup-media-top .fts-jal-fb-vid-wrap{margin-top:0;margin-bottom:10px;text-align:center}.fts-mashup-media-top .fts-jal-fb-link-wrap .fts-jal-fb-picture,.fts-mashup-media-top .fts-jal-fb-vid-wrap{float:none}.fts-mashup-media-top .fts-jal-fb-picture,.fts-mashup-media-top .fts-jal-fb-vid-picture{margin-bottom:0!important}.fts-mashup-media-top .fts-mashup-icon-wrap-left{margin-left:10px;margin-right:5px;margin-top:3px;top:0}.fts-mashup-media-top .fts-mashup-icon-wrap-left.fts-mashup-instagram-icon,.fts-mashup-media-top .fts-mashup-icon-wrap-left.fts-mashup-pinterest-icon{margin-top:2px;min-height:40px}.fts-mashup-media-top .fts-mashup-icon-wrap-left.fts-mashup-instagram-icon{margin-right:0;margin-top:0}.fts-mashup-media-top .fts-mashup-icon-wrap-left.fts-mashup-youtube-icon a:before{margin-right:8px!important;top:6px}.fts-mashup-media-top .fts-mashup-icon-wrap-right.fts-mashup-facebook-icon{margin-right:20px!important;margin-top:4px!important}.fts-mashup-media-top .fts-mashup-icon-wrap-left.fts-mashup-facebook-icon{margin-top:8px!important}.fts-mashup-media-top .fts-mashup-icon-wrap-left.fts-mashup-youtube-icon{margin-top:5px!important}.fts-mashup-media-top .fts-mashup-image-and-video-wrap{margin-bottom:12px}.fts-mashup-media-top.fts-feed-type-facebook .fts-mashup-image-and-video-wrap.popup-gallery-twitter{margin:0}.fts-feed-type-facebook .fts-mashup-icon-wrap-left{margin-top:17px;margin-right:20px}.fts-mashup-icon-wrap-left.fts-mashup-instagram-icon{margin-top:3px}.fts-mashup-icon-wrap-left,.fts-mashup-icon-wrap-right{min-height:35px}.fts-jal-fb-group-display.fts-mashup-media-top .fts-jal-single-fb-post{padding-bottom:6px!important;border:none;margin-bottom:10px;background:#fff;margin-top:0!important;padding-top:0!important}.fts-mashup-media-top .fts-jal-fb-link-wrap a,.fts-mashup-media-top .fts-jal-fb-vid-picture{margin-top:0!important;line-height:0!important}.fts-mashup-media-top.fts-slicker-facebook-posts .fts-jal-single-fb-post{padding:0 0 8px!important}.fts-mashup-media-top .fts-jal-fb-user-thumb{margin-left:10px;margin-bottom:12px}.fts-yt-open{display:block;width:100%;height:100%;position:absolute}.fts-master-youtube-wrap .slicker-instagram-placeholder{position:relative;background-size:cover}.fts-facebook-popup.mfp-ready{z-index:99999999999999}.fts-youtube-popup h3{color:#111;padding:20px 40px 0 20px!important;margin-bottom:2px;font-size:24px;margin-top:0}.fts-youtube-popup h4{color:#222;padding:0 20px 4px!important;font-size:17px}.fts-youtube-description-popup{padding:0 20px 20px;color:#000}.fts-youtube-date{color:#9a9a9a;padding: 0 20px 25px!important;font-size:13px;line-height: normal;}.fts-yt-open:hover{background:rgba(0,0,0,.5);cursor:pointer;line-height: 100%;}.fts-master-youtube-wrap .slicker-youtube-placeholder{min-height:100px}.fts-youtube-popup-gallery,.fts-youtube-scrollable{clear:both;display:block}.fts-yt-open:hover:before{font-family:FontAwesomeSlick;content:"\f04b";display:block;font-size:32px;color:rgba(255,255,255,.54);position:absolute;top: 43%;right:45%;left:43%;}.fts-youtube-smallerthan-180 .fts-yt-open:hover:before{content:""}.fts-jal-fb-vid-picture a{margin:0}.fts-facebook-popup .mfp-inline-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.fts-more-photos-4-photos a{max-height:150px;display:inline-block;width:auto}.fts-more-photos-2-photos a{max-height:250px}.fts-youtube-scrollable .fts-fb-autoscroll-loader{background:0 0}.fts-yt-large.fts-youtube-thumbs-wrap{float:left}.fts-youtube-scrollable.fts-youtube-thumbs-wrap{float:right;clear:none}.fts-youtube-scrollable.fts-youtube-thumbs-wrap-left{float:left;clear:none}.fts-yt-large.fts-youtube-thumbs-wrap-left{float:right}.fts-yt-large.fts-youtube-thumbs-wrap-option-80-20{width:80%}.fts-youtube-scrollable.fts-youtube-thumbs-wrap-option-80-20{width:20%}.fts-yt-large.fts-youtube-thumbs-wrap-option-60-40{width:60%}.fts-youtube-scrollable.fts-youtube-thumbs-wrap-option-60-40{width:40%}.fts-youtube-scrollable.fts-youtube-thumbs-wrap-option-50-50,.fts-yt-large.fts-youtube-thumbs-wrap-option-50-50{width:50%}.fts-fb-comment .image-overlay-inside{display:none}.fts-youtube-popup .fts-fb-comment img{border-radius:30px}.fts-youtube-popup span.fts-fb-comment-date{color:#a6a6a6;padding-left:2px;font-size:12px!important}.fts-youtube-popup .fts-popup-second-half .mfp-title .fts-fb-comment-user-name a{color:#333!important}.youtube-comments-wrap{background:#fff;text-align:left;color:#2d2d2d!important}.youtube-comments-wrap .fts-share-wrap{margin:15px 0 -64px}.youtube-comments-wrap .fts-youtube-description-popup{display:block;position:relative!important;margin-bottom:-25px;padding-bottom:30px}.youtube-comments-wrap .ft-gallery-share-wrap{left:50px;background:#f6f7f9;top:8px}.fts-facebook-popup .mfp-bottom-bar a.ft-gallery-link-popup,.fts-facebook-popup .mfp-bottom-bar a.fts-jal-fb-see-more{color:#137fc4}.fts-youtube-scrollable .youtube-comments-wrap #___ytsubscribe_0{margin:20px 20px 10px!important}.mfp-title .fts-master-youtube-wrap-close{display:none}.fts-master-youtube-wrap-close{color:#636363;right:3px;top: 0px;text-align:right;padding:15px;width:50px;font-size:24px;font-weight:700;position:absolute;line-height: normal;cursor: pointer;}.fts-master-youtube-wrap-close:before{content:"X"}.youtube-comments-wrap{overflow:auto;display:none;position:relative}.youtube-comments-wrap h3{padding-top:18px!important}.fts-scrollable-function{height:auto}.fts-youtube-description-popup{font-size:14px!important}.fts-youtube-no-thumbs-gallery{padding:0!important}.fts-youtube-noscroll .youtube-comments-wrap{overflow:visible}.fts-youtube-smallerthan-550-stack{width:100%!important}.fts-jal-fb-user-thumb img{border-radius:50px!important}.fts-twitter-username img.twitter-image{border-radius:50px;margin-right:10px}.fts-youtube-second-video-margin-btm{margin-bottom:35px}.fts-share-wrap [class*=fa-]{width:auto;height:auto}.fts-popup-half .mfp-arrow-left,.fts-popup-half .mfp-arrow-right{height:auto;width:auto;border:none!important;margin-top:0!important}.fts-popup-half .mfp-arrow-left:after,.fts-popup-half .mfp-arrow-right:after{background:0 0!important;height:auto!important;top:0!important;left:0!important;margin:0!important;padding:0!important;cursor:pointer;transform:none!important;transition:none!important;-webkit-transition:none!important}.fts-popup-half audio,.fts-popup-half video{visibility:visible!important}.fts-album-photos-wrap{text-align:center}.fts-fb-more-photos-wrap,.fts-more-photos-4-photos{position:relative;top:-3px}#wp-admin-bar-feed_them_social_admin_bar_set_cache{padding-bottom:17px!important;line-height:0!important}#wp-admin-bar-feed_them_social_admin_bar_set_cache span{line-height:10px;display:block;color:rgba(221,221,221,.57)}#wp-admin-bar-feed_them_social_admin_bar_set_cache:hover span{line-height:10px;display:block;color:#fff}.fts-mashup-media-top.fts-mashup-hide-thumbnail .fts-jal-fb-user-name{margin-left:0!important}.fts-steemit-username{display:inline-block;background-size:cover;background-repeat:no-repeat;background-position:50% 50%;border-radius:50%;width:48px;height:48px;margin-bottom:5px}.fts-steemit-div .steemit-info img{margin:0!important}.steemit-info .fts-uppercase{margin:14px 0 10px 10px}.fts-steemit-title{font-size:18px;margin-bottom:10px;letter-spacing:1px;font-weight:400;line-height:21px;color:#0084b4}.fts-steemit-div .fts-twitter-retweet:before{content:"\f27a"!important;font-size:15px!important;top:1px}.fts-steemit-div .fts-twitter-favorites:before{content:'Votes:'!important;font-family:arial!important;font-size:14px!important;margin-right:3px!important;top:0;font-weight:700}.fts-steemit-div .fts-twitter-reply:before{font-family:FontAwesomeSlick;content:'\f06e'!important;position:relative;top:2px;font-size:19px}.fts-twitter-quoted-text-wrap{border:1px solid #efe8e8!important;margin-top:10px;font-size:inherit;text-align:left;border-radius:12px;overflow:hidden;background:#fff}.fts-twitter-quoted-text-wrap a{font-size:14px!important;display:block}.fts-twitter-quoted-text-wrap .twitter-video-rendered{margin:auto!important}.fts-fluid-videoWrapper{margin-top:8px}.fts-twitter-quoted-text-wrap .fts-twitter-link-image img,.fts-twitter-quoted-text-wrap img{margin-top:0!important}.fts-twitter-quoted-text{display: block;padding:8px 10px 0;line-height:18px;}.fts-twitter-quoted-video .fts-twitter-quoted-text{padding-top:0!important}.fts-twitter-quoted-image{padding:8px}.fts-twitter-quoted-image .fts-twitter-quoted-text{padding:8px 2px 2px!important}.fts-fb-more-photos-wrap a:last-child{margin-right:0!important}.fts-fb-more-photos-wrap a:first-child{margin-left:0!important}.fts-yt-first-video .fts-fluid-videoWrapper{margin-top:0}.fts-twitter-quoted-video .fts-fluid-videoWrapper-html5,.fts-twitter-quoted-video .fts-jal-fb-vid-wrap{margin-top:0;margin-bottom:10px}.fts-fb-location-wrap{text-align:center;padding:15px}.fts-fb-location-img{display:block;margin-bottom:9px;height:20px}.fts-fb-location-img:before{content:"\f024";font-family:FontAwesomeSlick;font-size:28px;display:block}.fts-fb-location-link{margin-bottom:5px;display:block;font-size:16px}.fts-popup-second-half .fts-fb-location-wrap{color:#444}.fts-fb-embed-iframe-check-used-for-popup,.greater-than-or-equal-width-height{display:none!important}.fts-fb-video-on-page.fts-fluid-videoWrapper{padding-bottom:56%;padding-top:0;width:100%!important;height:auto!important}.fts-fb-video-on-page.fts-fluid-videoWrapper iframe{width:100%!important;height:auto!important}.fts-greater-than-width-height.fts-fb-video-on-page{margin-top:18px}.fts-greater-than-width-height.fts-fb-video-on-page iframe{padding-bottom:100%}.fts-equal-width-height{max-width:100%;padding-bottom:100%!important}.fts-comment-star:before{font-family:FontAwesomeSlick;content:"\f075";font-size:14px;margin:0 6px 0 -2px!important;padding:0!important;display:inline-block!important;border:none!important}.fts-mashup-error-notice-strong{display:block;font-size:16px;padding-bottom:5px}.fts-mashup-error-bottom-padding{padding-bottom:20px;display:block}.fts-mashup-error-check .fts-mashup-image-and-video-wrap{display:none}.fts-review-name span{margin-right:5px}.fts-mashup.masonry .fts-fluid-videoWrapper-html5{margin-top:0}.fts-child-media-hide{display:none}.fts-instagram-styles-popup .fts-carousel-image{position:absolute;right:25px;top:32px;text-align:right;font-size:21px;color:#fff;z-index:1}.fts-carousel-image-wrapper,.fts-instagram-video-image-wrapper{position:relative;right:18px;top:18px;text-align:right;font-size:20px;color:#fff;width:auto;float:right}.fts-carousel-image:before{font-family:FontAwesomeSlick;content:'\f24d'}.fts-instagram-video-image:before{font-family:FontAwesomeSlick;content:'\f03d'}.fts-instagram-popup-second-half .fts-carousel-image{display:none}.fts-child-media-popup .fts-carousel-image{display:block}.fts-carousel-image-wrapper,.fts-instagram-video-image-wrapper{position:relative;z-index:2}.slicker-instagram-placeholder a:focus{outline:auto!important}.fts-instagram-icon:before{font-family:FontAwesomeSlick!important;-webkit-font-smoothing:antialiased;content:"\f16d"}.slicker-instagram-placeholder{height:0;width:0}.fts-fb-album-additional-pics-description-wrap,.fts-popup-wrap .fts-fb-album-name-and-count{display:none}.fts-fb-album-description-content{padding-top:5px!important}.fts-facebook-styles-popup .fts-fb-album-hide,a.ft-gallerygoogle-icon{display:none!important}.fts-facebook-popup .fts-fb-album-description-content .fts-jal-fb-user-name{padding-left:60px!important;margin-top:0!important}.fts-facebook-popup .fts-fb-album-description-content .fts-fb-album-date-wrap{padding-left:60px!important;color:#999}.fts-facebook-popup .fts-fb-album-description-content .fts-jal-fb-user-thumb{margin-left:0!important}.fts-fb-album-date-wrap{margin-bottom:25px}.fts-albums-hide-main-album-link-in-popup{display:none}.fts-likes-shares-etc-wrap .fts-albums-hide-main-album-link-in-popup{display:block}@media (min-width:900px){html .mfp-wrap.fts-facebook-popup .mfp-close{top:0!important;left:-10px!important;color:#137fc4;opacity:1!important;cursor:pointer!important;z-index:100;margin-bottom:0;padding-bottom:0;height:25px}}.fts-albums-single-image .fts-jal-fb-see-more{color:#fff}.fts-instagram-popup-second-half .fts-follow-header-wrap{display:none}div.cycle-carousel-wrap div.fts-jal-fb-top-wrap{white-space:normal!important}.fts-twitter-logo .fa.fa-twitter{color:#e7e7e7!important}.fts-twitter-retweet-feed{font-size:14px;top:1px}.fts-tweeter-wrap:hover i:before{color:#1d9bf0;transition:.5s}.fts-twitter-svg-addition .fts-tweet-reply-left{float:none;display:inline-block}.fts-twitter-reply-wrap .fts-share-wrap svg.svg-inline--fa{display:inline-block!important;width:17px;top:3px;position:relative;z-index:2;transform:rotate(90deg);fill:currentcolor}.fts-share-wrap svg.svg-inline--fa{display:none!important}.fts-twitter-reply-wrap .fts-share-wrap a:before{display:none}.fts-twitter-reply-feed svg.svg-inline--fa{display:inline-block!important;width:14px;top:2px;margin-left:17px;position:relative}.fts-twitter-retweet-feed svg.svg-inline--fa{display:inline-block!important;width:20px;top:3px;margin-right:5px;position:relative}.fts-twitter-favorites-feed svg.svg-inline--fa{display:inline-block!important;width:15px;top:3px;margin-right:5px;position:relative}.fts-twitter-logo{float:right;color:rgb(227 227 227);padding: 5px 0 0 5px;}.fts-twitter-logo .fa-twitter:before{font-size:25px!important}.fts-twitter-name-wrap{display:inline-block;padding-top:7px;line-height:14px}.fts-twitter-username{float:left}.fts-twitter-external-backg-image{background:0 0}.fts-twitter-wrap-below-width-450 .fts-twitter-external-backg-image{background-size:cover;background-position:center center;background-repeat:no-repeat;display:block;height:110px;min-height:110px!important}.fts-twitter-wrap-below-width-450 .fts-twitter-external-backg-image img{display:none!important}.fts-twitter-quoted-text-wrap img,.fts-twitter-wrap-below-width-450 .fts-twitter-quoted-text-wrap{padding:0}.fts-twitter-wrap-below-width-450 .fts-twitter-quoted-text-wrap a{width:22%;display:inline-block;margin-bottom:-2px}.fts-twitter-wrap-below-width-450 .fts-twitter-quoted-text-wrap img{width:100%;display:inline-block;overflow:hidden}.fts-twitter-wrap-below-width-450 .fts-retweet-text-specific{width:95%}.fts-twitter-wrap-below-width-450 .fts-twitter-image-visible,.fts-twitter-wrap-below-width-450 .fts-twitter-quoted-text-wrap .fts-external-link-specific{display:inline-block;vertical-align:top;width:70%}.fts-twitter-wrap-below-width-450 .fts-twitter-quoted-text-wrap .fts-twitter-quoted-text a{display: block;width: 100%;}.fts-twitter-domain-name{position:relative;top:-3px;font-size:13px;padding-top:5px;display:block;color:#555}.fts-twitter-domain-name svg{max-width:15px;display:inline-block;margin-right:3px;position:relative;top:3px}.fts-twitter-quoted-text svg.r-4qtqp9{max-width:15px;fill:currentcolor;color:rgb(122 122 122)}.fts-twitter-quoted-text{padding:10px 15px 10px 15px}.fts-twitter-quoted-text a{color:#141414;word-break:break-word}.fts-twitter-quoted-title{font-weight:700;display:block;clear:both;font-size:14px}.fts-twitter-quoted-description{padding-top:3px;display: block;margin-bottom:5px;word-break:break-word;color: #606060;width: 100%;}.fts-twitter-quoted-text-wrap img{margin:0}.fts-twitter-quoted-text .fts-twitter-quoted-text{margin-top:0}.fts-twitter-quoted-text svg.r-1cvl2hr{max-width:15px;margin:0 3px;position:relative;top:3px;fill:currentcolor;display:inline-block;color:#1d9bf0}.fts-fluid-videoWrapper-html5 video{height:auto!important;width:100%!important;max-width:100%!important}@media(max-width:400px){.fts-twitter-logo,.twitter-image{display:none}}.fts-twitter-image-visible {display:inline-block;}.fts-twitter-quoted-video .fts-twitter-quoted-text a {display: revert !important;}.fts-master-youtube-wrap-close:hover {opacity:.7;}
|
feeds/facebook/class-fts-facebook-feed.php
CHANGED
@@ -2152,7 +2152,7 @@ style="margin:' . ( isset( $fb_shortcode['slider_margin'] ) && '' !== $fb_shortc
|
|
2152 |
echo 'if(jQuery(this).scrollTop() + jQuery(this).innerHeight() >= jQuery(this)[0].scrollHeight) {';
|
2153 |
} else {
|
2154 |
// this is where we do CLICK function to LOADMORE if = button in shortcode.
|
2155 |
-
echo 'jQuery("#loadMore_' . esc_js( $fts_dynamic_name ) . '").click(function() {';
|
2156 |
}
|
2157 |
echo 'jQuery("#loadMore_' . esc_js( $fts_dynamic_name ) . '").addClass("fts-fb-spinner");';
|
2158 |
echo 'var button = jQuery("#loadMore_' . esc_js( $fts_dynamic_name ) . '").html("<div class=\'bounce1\'></div><div class=\'bounce2\'></div><div class=\'bounce3\'></div>");';
|
@@ -2196,9 +2196,11 @@ style="margin:' . ( isset( $fb_shortcode['slider_margin'] ) && '' !== $fb_shortc
|
|
2196 |
}
|
2197 |
|
2198 |
echo ' jQuery("#loadMore_' . esc_js( $fts_dynamic_name ) . '").removeAttr("id");';
|
2199 |
-
echo 'jQuery(".' . esc_js( $fts_dynamic_class_name ) . '").
|
2200 |
echo '}';
|
|
|
2201 |
} else {
|
|
|
2202 |
if ( isset( $fb_shortcode['video_album'] ) && 'yes' === $fb_shortcode['video_album'] ) {
|
2203 |
echo 'var result = jQuery(data).insertBefore( jQuery("#output_' . esc_js( $fts_dynamic_name ) . '") );';
|
2204 |
echo 'var result = jQuery(".feed_dynamic_' . esc_js( $fts_dynamic_name ) . '_album_photos").append(data).filter("#output_' . esc_js( $fts_dynamic_name ) . '").html();';
|
@@ -2214,7 +2216,7 @@ style="margin:' . ( isset( $fb_shortcode['slider_margin'] ) && '' !== $fb_shortc
|
|
2214 |
echo 'jQuery("#loadMore_' . esc_js( $fts_dynamic_name ) . '").replaceWith(\'<div class="fts-fb-load-more no-more-posts-fts-fb">' . esc_html( $fb_no_more_posts_text ) . '</div>\');';
|
2215 |
}
|
2216 |
echo 'jQuery("#loadMore_' . esc_js( $fts_dynamic_name ) . '").removeAttr("id");';
|
2217 |
-
echo 'jQuery(".' . esc_js( $fts_dynamic_class_name ) . '").
|
2218 |
echo '}';
|
2219 |
|
2220 |
}
|
2152 |
echo 'if(jQuery(this).scrollTop() + jQuery(this).innerHeight() >= jQuery(this)[0].scrollHeight) {';
|
2153 |
} else {
|
2154 |
// this is where we do CLICK function to LOADMORE if = button in shortcode.
|
2155 |
+
echo 'jQuery("#loadMore_' . esc_js( $fts_dynamic_name ) . '").off().click(function() {';
|
2156 |
}
|
2157 |
echo 'jQuery("#loadMore_' . esc_js( $fts_dynamic_name ) . '").addClass("fts-fb-spinner");';
|
2158 |
echo 'var button = jQuery("#loadMore_' . esc_js( $fts_dynamic_name ) . '").html("<div class=\'bounce1\'></div><div class=\'bounce2\'></div><div class=\'bounce3\'></div>");';
|
2196 |
}
|
2197 |
|
2198 |
echo ' jQuery("#loadMore_' . esc_js( $fts_dynamic_name ) . '").removeAttr("id");';
|
2199 |
+
echo 'jQuery(".' . esc_js( $fts_dynamic_class_name ) . '").off("scroll");';
|
2200 |
echo '}';
|
2201 |
+
|
2202 |
} else {
|
2203 |
+
|
2204 |
if ( isset( $fb_shortcode['video_album'] ) && 'yes' === $fb_shortcode['video_album'] ) {
|
2205 |
echo 'var result = jQuery(data).insertBefore( jQuery("#output_' . esc_js( $fts_dynamic_name ) . '") );';
|
2206 |
echo 'var result = jQuery(".feed_dynamic_' . esc_js( $fts_dynamic_name ) . '_album_photos").append(data).filter("#output_' . esc_js( $fts_dynamic_name ) . '").html();';
|
2216 |
echo 'jQuery("#loadMore_' . esc_js( $fts_dynamic_name ) . '").replaceWith(\'<div class="fts-fb-load-more no-more-posts-fts-fb">' . esc_html( $fb_no_more_posts_text ) . '</div>\');';
|
2217 |
}
|
2218 |
echo 'jQuery("#loadMore_' . esc_js( $fts_dynamic_name ) . '").removeAttr("id");';
|
2219 |
+
echo 'jQuery(".' . esc_js( $fts_dynamic_class_name ) . '").off("scroll");';
|
2220 |
echo '}';
|
2221 |
|
2222 |
}
|
feeds/instagram/class-fts-instagram-feed.php
CHANGED
@@ -363,14 +363,40 @@ class FTS_Instagram_Feed extends feed_them_social_functions {
|
|
363 |
$pics_count = '10';
|
364 |
}
|
365 |
|
366 |
-
|
367 |
-
$instagram_data_array = array();
|
368 |
-
|
369 |
-
$fts_business_or_hashtag_check_token_type = '' === $access_token ? $this->data_protection->decrypt( get_option( 'fts_facebook_instagram_custom_api_token' ) ) : $access_token;
|
370 |
$fts_check_token_type = '' === $access_token ? $this->data_protection->decrypt( get_option( 'fts_instagram_custom_api_token' ) ) : $access_token;
|
371 |
$fts_instagram_access_token = 'hashtag' === $type || 'business' === $type ? $fts_business_or_hashtag_check_token_type : $fts_check_token_type;
|
372 |
$fts_instagram_show_follow_btn = get_option( 'instagram_show_follow_btn' );
|
373 |
$fts_instagram_show_follow_btn_where = get_option( 'instagram_show_follow_btn_where' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
374 |
if ( is_plugin_active( 'feed-them-premium/feed-them-premium.php' ) ) {
|
375 |
$instagram_load_more_text = get_option( 'instagram_load_more_text' ) ? get_option( 'instagram_load_more_text' ) : __( 'Load More', 'feed-them-social' );
|
376 |
$instagram_no_more_photos_text = get_option( 'instagram_no_more_photos_text' ) ? get_option( 'instagram_no_more_photos_text' ) : __( 'No More Photos', 'feed-them-social' );
|
@@ -592,52 +618,22 @@ class FTS_Instagram_Feed extends feed_them_social_functions {
|
|
592 |
// This only returns the next url and a list of media ids. We then have to loop through the ids and make a call to get each ids data from the API.
|
593 |
$instagram_data_array['data'] = isset( $_REQUEST['next_url'] ) ? esc_url_raw( $_REQUEST['next_url'] ) : 'https://graph.instagram.com/' . $instagram_id . '/media?limit=' . $pics_count . '&access_token=' . $fts_instagram_access_token_final;
|
594 |
|
595 |
-
|
596 |
-
if ( false === $this->fts_check_feed_cache_exists( $basic_cache ) ) {
|
597 |
-
$instagram_basic_response = $this->fts_get_feed_json( $instagram_data_array );
|
598 |
-
|
599 |
-
$instagram_basic = json_decode( $instagram_basic_response['data'] );
|
600 |
-
|
601 |
-
// We loop through the media ids from the above $instagram_basic_data_array['data'] and request the info for each to create an array we can cache.
|
602 |
-
$instagram_basic_output = (object) [ 'data' => [] ];
|
603 |
-
foreach ( $instagram_basic->data as $media ) {
|
604 |
-
$media_id = $media->id;
|
605 |
-
$instagram_basic_data_array['data'] = 'https://graph.instagram.com/' . $media_id . '?fields=caption,id,media_url,media_type,permalink,thumbnail_url,timestamp,username,children{media_url}&access_token=' . $fts_instagram_access_token_final;
|
606 |
-
$instagram_basic_media_response = $this->fts_get_feed_json( $instagram_basic_data_array );
|
607 |
-
$instagram_basic_media = json_decode( $instagram_basic_media_response['data'] );
|
608 |
-
$instagram_basic_output->data[] = $instagram_basic_media;
|
609 |
-
}
|
610 |
-
|
611 |
-
$insta_data = (object) array_merge( (array) $instagram_basic, (array) $instagram_basic_output );
|
612 |
|
|
|
|
|
613 |
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
}
|
618 |
-
|
619 |
-
else {
|
620 |
-
$insta_data = $this->fts_get_feed_cache( $basic_cache );
|
621 |
-
|
622 |
-
$insta_data = json_decode( $insta_data );
|
623 |
-
|
624 |
-
// Used for Testing Only.
|
625 |
-
if ( current_user_can( 'administrator' ) && 'true' === $debug ) {
|
626 |
-
esc_html_e( 'Array Check Cached', 'feed-them-social' );
|
627 |
-
echo '<br/><pre>';
|
628 |
-
print_r( $insta_data );
|
629 |
-
echo '</pre>';
|
630 |
-
}
|
631 |
-
}
|
632 |
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
}
|
638 |
|
639 |
-
|
640 |
-
$cache = 'instagram_cache_' . $instagram_id . '_num' . $pics_count . '';
|
641 |
// First we make sure the feed is not cached already before trying to run the Instagram API.
|
642 |
if ( false === $this->fts_check_feed_cache_exists( $cache ) ) {
|
643 |
$response = $this->fts_get_feed_json( $instagram_data_array );
|
@@ -652,7 +648,7 @@ class FTS_Instagram_Feed extends feed_them_social_functions {
|
|
652 |
print_r( $error_check );
|
653 |
echo '</pre>';
|
654 |
}
|
655 |
-
}
|
656 |
|
657 |
/*//$spencer_testing = 'true';
|
658 |
if ( 'hashtag' === $type || 'user' === $type || !isset( $type ) ) {
|
@@ -1251,12 +1247,18 @@ if ( isset( $profile_description, $type ) && 'yes' === $profile_description &&
|
|
1251 |
// $scroll_more = load_more_posts_style shortcode att.
|
1252 |
if ( 'autoscroll' === $scroll_more ) { // this is where we do SCROLL function to LOADMORE if = autoscroll in shortcode.
|
1253 |
?>
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1260 |
<?php } ?>
|
1261 |
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>").addClass('fts-fb-spinner');
|
1262 |
var button = jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').html('<div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div>');
|
@@ -1286,10 +1288,10 @@ if ( isset( $profile_description, $type ) && 'yes' === $profile_description &&
|
|
1286 |
success: function (data) {
|
1287 |
console.log('Well Done and got this from sever: ' + data);
|
1288 |
jQuery('.<?php echo esc_js( $fts_dynamic_class_name ); ?>').append(data).filter('.<?php echo esc_js( $fts_dynamic_class_name ); ?>').html();
|
1289 |
-
if (!nextURL_<?php echo esc_js( sanitize_key( $_REQUEST['fts_dynamic_name'] ) ); ?> || nextURL_<?php echo esc_js( sanitize_key( $_REQUEST['fts_dynamic_name'] ) ); ?>
|
1290 |
jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').replaceWith('<div class="fts-fb-load-more no-more-posts-fts-fb"><?php echo esc_js( $instagram_no_more_photos_text ); ?></div>');
|
1291 |
jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').removeAttr('id');
|
1292 |
-
jQuery(".<?php echo esc_js( $fts_dynamic_class_name ); ?>instagram").
|
1293 |
}
|
1294 |
jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').html('<?php echo esc_js( $instagram_load_more_text ); ?>');
|
1295 |
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>").removeClass('fts-fb-spinner');
|
@@ -1301,18 +1303,18 @@ if ( isset( $profile_description, $type ) && 'yes' === $profile_description &&
|
|
1301 |
slickremixImageResizing(); // Reload our imagesizing function so the images show up proper
|
1302 |
}
|
1303 |
}); // end of ajax()
|
1304 |
-
|
1305 |
-
|
1306 |
-
|
1307 |
-
|
1308 |
-
|
1309 |
-
|
1310 |
-
|
1311 |
-
}
|
1312 |
-
|
1313 |
-
|
1314 |
-
|
1315 |
-
|
1316 |
}
|
1317 |
}
|
1318 |
// main closing div not included in ajax check so we can close the wrap at all times.
|
363 |
$pics_count = '10';
|
364 |
}
|
365 |
|
366 |
+
$fts_business_or_hashtag_check_token_type = '' === $access_token ? $this->data_protection->decrypt( get_option( 'fts_facebook_instagram_custom_api_token' ) ) : $access_token;
|
|
|
|
|
|
|
367 |
$fts_check_token_type = '' === $access_token ? $this->data_protection->decrypt( get_option( 'fts_instagram_custom_api_token' ) ) : $access_token;
|
368 |
$fts_instagram_access_token = 'hashtag' === $type || 'business' === $type ? $fts_business_or_hashtag_check_token_type : $fts_check_token_type;
|
369 |
$fts_instagram_show_follow_btn = get_option( 'instagram_show_follow_btn' );
|
370 |
$fts_instagram_show_follow_btn_where = get_option( 'instagram_show_follow_btn_where' );
|
371 |
+
|
372 |
+
// the way this refresh token works atm is. if the token is expired then we fetch a new token when any front end user views a page the feed is on.
|
373 |
+
// the ajax runs to fetch a new token if it's expired, then it saves it to the db, but because that happens after the user has already loaded the page,
|
374 |
+
// we need to show the cached feed so the feed does not return a token expired message. THEN after the next page reload the actual refreshed token will be in place.
|
375 |
+
// we still keep calling the cached version after that point so we are not uses up the API until the users deletes the cache or it is deleted per the determined time.
|
376 |
+
// this will not return the feed proper if token is expired need to fix this
|
377 |
+
// YO!
|
378 |
+
// SRL 4-6-22. RIGHT NOW WE ARE ONLY DOING THIS FOR INSTAGRAM BASIC
|
379 |
+
if ( ! empty( $fts_check_token_type ) ) {
|
380 |
+
// Double Check Our Expiration Time on the Token and refresh it if needed.
|
381 |
+
$expiration_time = get_option( 'fts_instagram_custom_api_token_expires_in' );
|
382 |
+
if ( time() > $expiration_time ) {
|
383 |
+
$this->feed_them_instagram_refresh_token();
|
384 |
+
}
|
385 |
+
}
|
386 |
+
|
387 |
+
|
388 |
+
|
389 |
+
|
390 |
+
|
391 |
+
|
392 |
+
|
393 |
+
|
394 |
+
|
395 |
+
|
396 |
+
wp_enqueue_script( 'fts-global', plugins_url( 'feed-them-social/feeds/js/fts-global.js' ), array( 'jquery' ), FTS_CURRENT_VERSION, false );
|
397 |
+
$instagram_data_array = array();
|
398 |
+
|
399 |
+
|
400 |
if ( is_plugin_active( 'feed-them-premium/feed-them-premium.php' ) ) {
|
401 |
$instagram_load_more_text = get_option( 'instagram_load_more_text' ) ? get_option( 'instagram_load_more_text' ) : __( 'Load More', 'feed-them-social' );
|
402 |
$instagram_no_more_photos_text = get_option( 'instagram_no_more_photos_text' ) ? get_option( 'instagram_no_more_photos_text' ) : __( 'No More Photos', 'feed-them-social' );
|
618 |
// This only returns the next url and a list of media ids. We then have to loop through the ids and make a call to get each ids data from the API.
|
619 |
$instagram_data_array['data'] = isset( $_REQUEST['next_url'] ) ? esc_url_raw( $_REQUEST['next_url'] ) : 'https://graph.instagram.com/' . $instagram_id . '/media?limit=' . $pics_count . '&access_token=' . $fts_instagram_access_token_final;
|
620 |
|
621 |
+
$feed_data = $this->use_cache_check( $instagram_data_array['data'], $basic_cache, 'instagram' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
622 |
|
623 |
+
// JSON Decode the Feed Data.
|
624 |
+
$insta_data = json_decode( $feed_data );
|
625 |
|
626 |
+
/* echo '<pre>';
|
627 |
+
print_r( $insta_data );
|
628 |
+
echo '</pre>';*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
629 |
|
630 |
+
// echo '<br/>asdfasdfasdf<pre>';
|
631 |
+
// print_r( $insta_data );
|
632 |
+
// echo '</pre>zzzz';
|
633 |
+
// $instagram_data_array['user_info'] = 'https://graph.instagram.com/me?fields=id,username,media_count,account_type&access_token=' . $fts_instagram_access_token_final;
|
634 |
}
|
635 |
|
636 |
+
/*$cache = 'instagram_cache_' . $instagram_id . '_num' . $pics_count . '';
|
|
|
637 |
// First we make sure the feed is not cached already before trying to run the Instagram API.
|
638 |
if ( false === $this->fts_check_feed_cache_exists( $cache ) ) {
|
639 |
$response = $this->fts_get_feed_json( $instagram_data_array );
|
648 |
print_r( $error_check );
|
649 |
echo '</pre>';
|
650 |
}
|
651 |
+
}*/
|
652 |
|
653 |
/*//$spencer_testing = 'true';
|
654 |
if ( 'hashtag' === $type || 'user' === $type || !isset( $type ) ) {
|
1247 |
// $scroll_more = load_more_posts_style shortcode att.
|
1248 |
if ( 'autoscroll' === $scroll_more ) { // this is where we do SCROLL function to LOADMORE if = autoscroll in shortcode.
|
1249 |
?>
|
1250 |
+
|
1251 |
+
// If =autoscroll in shortcode.
|
1252 |
+
jQuery(".<?php echo esc_js( $fts_dynamic_class_name ) ?>instagram").bind("scroll",function() {
|
1253 |
+
|
1254 |
+
if( jQuery(this).scrollTop() + jQuery(this).innerHeight() >= jQuery(this)[0].scrollHeight ) {
|
1255 |
+
|
1256 |
+
// console.log( jQuery(this).scrollTop() + jQuery(this).innerHeight() );
|
1257 |
+
// console.log( jQuery(this)[0].scrollHeight );
|
1258 |
+
<?php }
|
1259 |
+
else { ?>
|
1260 |
+
// If =button in shortcode.
|
1261 |
+
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>").off().click(function() {
|
1262 |
<?php } ?>
|
1263 |
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>").addClass('fts-fb-spinner');
|
1264 |
var button = jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').html('<div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div>');
|
1288 |
success: function (data) {
|
1289 |
console.log('Well Done and got this from sever: ' + data);
|
1290 |
jQuery('.<?php echo esc_js( $fts_dynamic_class_name ); ?>').append(data).filter('.<?php echo esc_js( $fts_dynamic_class_name ); ?>').html();
|
1291 |
+
if (!nextURL_<?php echo esc_js( sanitize_key( $_REQUEST['fts_dynamic_name'] ) ); ?> || 'no more' === nextURL_<?php echo esc_js( sanitize_key( $_REQUEST['fts_dynamic_name'] ) ); ?> ) {
|
1292 |
jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').replaceWith('<div class="fts-fb-load-more no-more-posts-fts-fb"><?php echo esc_js( $instagram_no_more_photos_text ); ?></div>');
|
1293 |
jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').removeAttr('id');
|
1294 |
+
jQuery(".<?php echo esc_js( $fts_dynamic_class_name ); ?>instagram").off('scroll');
|
1295 |
}
|
1296 |
jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').html('<?php echo esc_js( $instagram_load_more_text ); ?>');
|
1297 |
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>").removeClass('fts-fb-spinner');
|
1303 |
slickremixImageResizing(); // Reload our imagesizing function so the images show up proper
|
1304 |
}
|
1305 |
}); // end of ajax()
|
1306 |
+
return false;
|
1307 |
+
// string $scrollMore is at top of this js script. exception for scroll option closing tag.
|
1308 |
+
<?php if ( 'autoscroll' === $loadmore ) { ?>
|
1309 |
+
};
|
1310 |
+
}); // end of scroll ajax load.
|
1311 |
+
<?php } else { ?>
|
1312 |
+
}); // end of click button.
|
1313 |
+
<?php } ?>
|
1314 |
+
}); // end of document.ready.
|
1315 |
+
</script><?php
|
1316 |
+
|
1317 |
+
}//End Check.
|
1318 |
}
|
1319 |
}
|
1320 |
// main closing div not included in ajax check so we can close the wrap at all times.
|
feeds/twitter/class-fts-twitter-feed.php
CHANGED
@@ -1389,12 +1389,12 @@ class FTS_Twitter_Feed extends feed_them_social_functions {
|
|
1389 |
if ( 'autoscroll' === $scroll_more ) { // this is where we do SCROLL function to LOADMORE if = autoscroll in shortcode.
|
1390 |
?>
|
1391 |
jQuery(".<?php echo esc_js( $fts_dynamic_class_name ); ?>").bind("scroll", function () {
|
1392 |
-
if (jQuery(this).scrollTop() + jQuery(this).innerHeight() >= jQuery(this)[0].scrollHeight) {
|
1393 |
<?php
|
1394 |
} else {
|
1395 |
// this is where we do CLICK function to LOADMORE if = button in shortcode!
|
1396 |
?>
|
1397 |
-
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>").click(function () {
|
1398 |
<?php } ?>
|
1399 |
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>").addClass('fts-fb-spinner');
|
1400 |
var button = jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').html('<div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div>');
|
@@ -1431,10 +1431,10 @@ class FTS_Twitter_Feed extends feed_them_social_functions {
|
|
1431 |
jQuery('.<?php echo esc_js( $fts_dynamic_class_name ); ?>').append(data).filter('.<?php echo esc_js( $fts_dynamic_class_name ); ?>').html();
|
1432 |
<?php } ?>
|
1433 |
|
1434 |
-
if (!maxID_<?php echo sanitize_text_field( wp_unslash( $_REQUEST['fts_dynamic_name'] ) ); ?> || maxID_<?php echo esc_js( sanitize_text_field( wp_unslash( $_REQUEST['fts_dynamic_name'] ) ) ); ?>
|
1435 |
jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').replaceWith('<div class="fts-fb-load-more no-more-posts-fts-fb"><?php echo esc_js( $twitter_no_more_tweets_text ); ?></div>');
|
1436 |
jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').removeAttr('id');
|
1437 |
-
jQuery(".<?php echo esc_js( $fts_dynamic_class_name ); ?>").
|
1438 |
}
|
1439 |
jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').html('<?php echo esc_js( $twitter_load_more_text ); ?>');
|
1440 |
// jQuery('#loadMore_< ?php echo $fts_dynamic_name ?>').removeClass('flip360-fts-load-more');
|
@@ -1454,18 +1454,16 @@ class FTS_Twitter_Feed extends feed_them_social_functions {
|
|
1454 |
jQuery(".fts-slicker-twitter-posts").masonry("layout");
|
1455 |
}, 500);
|
1456 |
<?php } ?>
|
1457 |
-
|
1458 |
}
|
1459 |
-
|
1460 |
-
|
1461 |
-
|
1462 |
-
|
1463 |
-
|
1464 |
-
|
1465 |
-
|
1466 |
-
|
1467 |
-
|
1468 |
-
); // end of form.submit
|
1469 |
<?php
|
1470 |
if ( isset( $grid ) && 'yes' === $grid ) {
|
1471 |
?>
|
1389 |
if ( 'autoscroll' === $scroll_more ) { // this is where we do SCROLL function to LOADMORE if = autoscroll in shortcode.
|
1390 |
?>
|
1391 |
jQuery(".<?php echo esc_js( $fts_dynamic_class_name ); ?>").bind("scroll", function () {
|
1392 |
+
if ( jQuery(this).scrollTop() + jQuery(this).innerHeight() >= jQuery(this)[0].scrollHeight ) {
|
1393 |
<?php
|
1394 |
} else {
|
1395 |
// this is where we do CLICK function to LOADMORE if = button in shortcode!
|
1396 |
?>
|
1397 |
+
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>").off().click(function () {
|
1398 |
<?php } ?>
|
1399 |
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>").addClass('fts-fb-spinner');
|
1400 |
var button = jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').html('<div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div>');
|
1431 |
jQuery('.<?php echo esc_js( $fts_dynamic_class_name ); ?>').append(data).filter('.<?php echo esc_js( $fts_dynamic_class_name ); ?>').html();
|
1432 |
<?php } ?>
|
1433 |
|
1434 |
+
if (!maxID_<?php echo sanitize_text_field( wp_unslash( $_REQUEST['fts_dynamic_name'] ) ); ?> || 'no more' === maxID_<?php echo esc_js( sanitize_text_field( wp_unslash( $_REQUEST['fts_dynamic_name'] ) ) ); ?>) {
|
1435 |
jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').replaceWith('<div class="fts-fb-load-more no-more-posts-fts-fb"><?php echo esc_js( $twitter_no_more_tweets_text ); ?></div>');
|
1436 |
jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').removeAttr('id');
|
1437 |
+
jQuery(".<?php echo esc_js( $fts_dynamic_class_name ); ?>").off('scroll');
|
1438 |
}
|
1439 |
jQuery('#loadMore_<?php echo esc_js( $fts_dynamic_name ); ?>').html('<?php echo esc_js( $twitter_load_more_text ); ?>');
|
1440 |
// jQuery('#loadMore_< ?php echo $fts_dynamic_name ?>').removeClass('flip360-fts-load-more');
|
1454 |
jQuery(".fts-slicker-twitter-posts").masonry("layout");
|
1455 |
}, 500);
|
1456 |
<?php } ?>
|
|
|
1457 |
}
|
1458 |
+
});// end of ajax().
|
1459 |
+
return false;
|
1460 |
+
// string $scrollMore is at top of this js script. exception for scroll option closing tag.
|
1461 |
+
<?php if ( 'autoscroll' === $loadmore ) { ?>
|
1462 |
+
};
|
1463 |
+
}); // end of scroll ajax load.
|
1464 |
+
<?php } else { ?>
|
1465 |
+
}); // end of click button.
|
1466 |
+
<?php } ?>
|
|
|
1467 |
<?php
|
1468 |
if ( isset( $grid ) && 'yes' === $grid ) {
|
1469 |
?>
|
feeds/youtube/class-youtube-feed-free.php
CHANGED
@@ -72,27 +72,29 @@ class FTS_Youtube_Feed_Free extends feed_them_social_functions {
|
|
72 |
|
73 |
wp_enqueue_script( 'fts-global', plugins_url( 'feed-them-social/feeds/js/fts-global.js' ), array( 'jquery' ), FTS_CURRENT_VERSION, false );
|
74 |
|
75 |
-
|
76 |
-
|
77 |
-
|
|
|
|
|
|
|
|
|
78 |
$expiration_time = get_option( 'youtube_custom_token_exp_time' );
|
79 |
-
// Access token is good for 3600 seconds.
|
80 |
-
// Give the access token a 5 minute buffer (300 seconds) before getting a new one.
|
81 |
-
// $expiration_time = $expiration_time - 300;.
|
82 |
-
$expiration_time = $expiration_time - 300;
|
83 |
-
if ( time() > $expiration_time ) {
|
84 |
-
$youtube_access_token_new = $this->feed_them_youtube_refresh_token();
|
85 |
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
}
|
90 |
}
|
91 |
|
92 |
-
// you must create a youtube app now to get this.
|
93 |
if ( ! empty( $youtube_access_token ) && empty( $youtube_api_key ) ) {
|
|
|
|
|
|
|
94 |
$youtube_api_key_or_token = 'access_token=' . $youtube_access_token . '';
|
95 |
} else {
|
|
|
|
|
96 |
$youtube_api_key_or_token = 'key=' . $youtube_api_key . '';
|
97 |
}
|
98 |
|
@@ -199,10 +201,7 @@ class FTS_Youtube_Feed_Free extends feed_them_social_functions {
|
|
199 |
$user_cache_name = 'yt_user_' . $username;
|
200 |
}
|
201 |
|
202 |
-
|
203 |
-
// YO!
|
204 |
-
// echo ' why you no use cache check ';
|
205 |
-
$user_returned = $this->use_cache_check( $youtube_user_id_data, $user_cache_name );
|
206 |
|
207 |
// If the YT User returned is not empty and is an arary.
|
208 |
if ( ! empty( $user_returned ) && is_array( $user_returned ) ) {
|
@@ -267,7 +266,11 @@ class FTS_Youtube_Feed_Free extends feed_them_social_functions {
|
|
267 |
$feed_cache_name = 'pics_vids_list_' . $channel_id . '_bnum' . $vid_count . '_channel';
|
268 |
}
|
269 |
} elseif ( ! empty( $playlist_id ) || ! empty( $playlist_id ) && ! empty( $channel_id ) ) {
|
270 |
-
|
|
|
|
|
|
|
|
|
271 |
|
272 |
if ( ! isset( $_GET['load_more_ajaxing'] ) ) {
|
273 |
// Youtube Playlist Cache Folder.
|
@@ -281,10 +284,19 @@ class FTS_Youtube_Feed_Free extends feed_them_social_functions {
|
|
281 |
// echo ' why you no use cache check ';
|
282 |
// echo $youtube_feed_api_url;
|
283 |
// Call, fetch and Check data from API url!
|
284 |
-
|
|
|
|
|
|
|
285 |
|
286 |
// JSON Decode the Feed Data.
|
287 |
$videos = json_decode( $feed_returned['data'] );
|
|
|
|
|
|
|
|
|
|
|
|
|
288 |
}
|
289 |
}
|
290 |
|
@@ -425,14 +437,18 @@ class FTS_Youtube_Feed_Free extends feed_them_social_functions {
|
|
425 |
|
426 |
echo '<div class="' . esc_attr( $set_comments_height ) . 'youtube-comments-wrap' . esc_attr( $wrap ) . '" style="display: block !important;">';
|
427 |
|
428 |
-
$this->fts_youtube_single_video_info( $video_id_or_link, $youtube_api_key_or_token
|
429 |
|
430 |
echo $fts_functions_class->fts_share_option( isset( $youtube_video_url ) ? $youtube_video_url : null, isset( $youtube_title ) ? $youtube_title : null );
|
431 |
echo '<a href="' . esc_url( $youtube_video_url ) . '" target="_blank" class="fts-jal-fb-see-more">' . esc_html__( 'View on YouTube', 'feed-them-premium' ) . '</a>';
|
432 |
-
|
433 |
-
|
|
|
|
|
434 |
}
|
|
|
435 |
echo '</div>';
|
|
|
436 |
if ( 'right' !== $wrap || 'left' !== $wrap ) {
|
437 |
echo '</div>';
|
438 |
}
|
@@ -518,8 +534,9 @@ class FTS_Youtube_Feed_Free extends feed_them_social_functions {
|
|
518 |
) . '</div>';
|
519 |
echo $fts_functions_class->fts_share_option( isset( $youtube_video_url ) ? $youtube_video_url : null, isset( $youtube_title ) ? $youtube_title : null );
|
520 |
echo '<a href="' . esc_url( $youtube_video_url ) . '" target="_blank" class="fts-jal-fb-see-more">' . esc_html__( 'View on YouTube', 'feed-them-premium' ) . '</a>';
|
521 |
-
|
522 |
-
|
|
|
523 |
}
|
524 |
echo '</div>';
|
525 |
}
|
@@ -554,14 +571,16 @@ class FTS_Youtube_Feed_Free extends feed_them_social_functions {
|
|
554 |
) . '</div>';
|
555 |
echo $fts_functions_class->fts_share_option( isset( $youtube_video_url ) ? $youtube_video_url : null, isset( $youtube_title ) ? $youtube_title : null );
|
556 |
echo '<a href="' . esc_url( $youtube_video_url ) . '" target="_blank" class="fts-jal-fb-see-more">' . esc_html__( 'View on YouTube', 'feed-them-premium' ) . '</a>';
|
557 |
-
|
558 |
-
|
|
|
|
|
559 |
}
|
560 |
echo '</div>';
|
561 |
}
|
562 |
}
|
563 |
echo '</div>';
|
564 |
-
}
|
565 |
$count++;
|
566 |
if ( $count === $vid_count ) {
|
567 |
break;
|
@@ -589,9 +608,10 @@ class FTS_Youtube_Feed_Free extends feed_them_social_functions {
|
|
589 |
// we check to see if the loadmore count number is set and if so pass that as the new count number when fetching the next set of pics/videos.
|
590 |
$_REQUEST['next_url'] = ! empty( $loadmore ) ? str_replace( 'maxResults=' . $vid_count, 'maxResults=' . $loadmore_count, $next_url ) : $next_url;
|
591 |
|
592 |
-
|
593 |
-
|
594 |
-
|
|
|
595 |
}
|
596 |
// Make sure it's not ajaxing.
|
597 |
if ( ! isset( $_GET['load_more_ajaxing'] ) && is_plugin_active( 'feed-them-premium/feed-them-premium.php' ) && ! empty( $loadmore ) ) {
|
@@ -599,73 +619,104 @@ class FTS_Youtube_Feed_Free extends feed_them_social_functions {
|
|
599 |
$time = time();
|
600 |
$nonce = wp_create_nonce( $time . 'load-more-nonce' );
|
601 |
$fts_dynamic_class_name = $this->get_fts_dynamic_class_name();
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
669 |
|
670 |
}//End Check.
|
671 |
// for gallery option play_video_in_iframe.
|
@@ -802,6 +853,7 @@ class FTS_Youtube_Feed_Free extends feed_them_social_functions {
|
|
802 |
* @since 1.9.6
|
803 |
*/
|
804 |
public function fts_youtube_commentThreads( $video_id, $youtube_api_key_or_token, $comments_count ) {
|
|
|
805 |
$fts_comments_thread_nonce = wp_create_nonce( 'fts-comments-thread-nonce' );
|
806 |
|
807 |
if ( wp_verify_nonce( $fts_comments_thread_nonce, 'fts-comments-thread-nonce' ) ) {
|
@@ -874,10 +926,9 @@ class FTS_Youtube_Feed_Free extends feed_them_social_functions {
|
|
874 |
*
|
875 |
* @param string $video_id Video id.
|
876 |
* @param string $youtube_api_key_or_token Youtube token.
|
877 |
-
* @param string $youtube_access_token_new Youtube access token.
|
878 |
* @since 1.9.6
|
879 |
*/
|
880 |
-
public function fts_youtube_single_video_info( $video_id, $youtube_api_key_or_token
|
881 |
$fts_single_video_nonce = wp_create_nonce( 'fts-single-video-thread-nonce' );
|
882 |
|
883 |
if ( wp_verify_nonce( $fts_single_video_nonce, 'fts-single-video-thread-nonce' ) ) {
|
@@ -885,25 +936,16 @@ class FTS_Youtube_Feed_Free extends feed_them_social_functions {
|
|
885 |
if ( ! isset( $_GET['load_more_ajaxing'] ) ) {
|
886 |
|
887 |
// Youtube Comment Cache.
|
888 |
-
$
|
889 |
}
|
890 |
// https://developers.google.com/youtube/v3/docs/comments/list.
|
891 |
-
|
892 |
-
|
893 |
-
// Youtube Use Comments Cache.
|
894 |
-
if ( ( false !== $this->fts_check_feed_cache_exists( $youtube_single_video_cache_url ) && ! isset( $_GET['load_more_ajaxing'] ) ) && empty( $youtube_access_token_new ) ) {
|
895 |
-
$video = json_decode( $this->fts_get_feed_cache( $youtube_single_video_cache_url ) );
|
896 |
-
} else {
|
897 |
|
898 |
-
|
899 |
-
$video = json_decode( $video_returned['items'] );
|
900 |
|
901 |
-
|
902 |
-
$this->fts_create_feed_cache( $youtube_single_video_cache_url, $video );
|
903 |
-
}
|
904 |
-
}
|
905 |
|
906 |
-
foreach ( $
|
907 |
$user_name_href = 'https://www.youtube.com/channel/' . $video_data->snippet->channelId;
|
908 |
$channel_title = $video_data->snippet->channelTitle;
|
909 |
$youtube_title = $this->fts_youtube_title( $video_data );
|
@@ -933,47 +975,6 @@ class FTS_Youtube_Feed_Free extends feed_them_social_functions {
|
|
933 |
}
|
934 |
}
|
935 |
|
936 |
-
|
937 |
-
/**
|
938 |
-
* Use Cache Check
|
939 |
-
*
|
940 |
-
* Checks to see if we need to use cache or not
|
941 |
-
*
|
942 |
-
* @param string|array $api_call API Call.
|
943 |
-
* @param string $cache_name Cache name.
|
944 |
-
* @return array|mixed
|
945 |
-
* @throws \Exception Thow Exeption if all fails.
|
946 |
-
* @since
|
947 |
-
*/
|
948 |
-
public function use_cache_check( $api_call, $cache_name ) {
|
949 |
-
|
950 |
-
// error_log( print_r( $api_call, true ) );
|
951 |
-
// error_log( print_r( $cache_name, true ) );
|
952 |
-
// error_log( print_r( 'NEXT!' ) );
|
953 |
-
if ( true === $this->fts_check_feed_cache_exists( $cache_name ) ) {
|
954 |
-
// Return Cache because it exists in Database.
|
955 |
-
return $this->fts_get_feed_cache( $cache_name );
|
956 |
-
}
|
957 |
-
|
958 |
-
// Get Feed using API call.
|
959 |
-
$feed_data = $this->fts_get_feed_json( $api_call );
|
960 |
-
|
961 |
-
if ( ! empty( $feed_data ) && ! empty( $cache_name ) && ! isset( $_GET['load_more_ajaxing'] ) ) {
|
962 |
-
|
963 |
-
// Error Check.
|
964 |
-
$fts_error_check = new fts_error_handler();
|
965 |
-
$fts_error_check_complete = $fts_error_check->youtube_error_check( $feed_data );
|
966 |
-
|
967 |
-
// YO! SRL: 4-15-22. added empty( $fts_error_check_complete ) because we are not getting a response if there is no error from our error handler. TODO: That function needs work.
|
968 |
-
if ( is_array( $fts_error_check_complete ) && ( true === $fts_error_check_complete[0] || 1 === $fts_error_check_complete[0] ) || empty( $fts_error_check_complete ) ) {
|
969 |
-
$this->fts_create_feed_cache( $cache_name, $feed_data );
|
970 |
-
}
|
971 |
-
|
972 |
-
}
|
973 |
-
|
974 |
-
return $feed_data;
|
975 |
-
}
|
976 |
-
|
977 |
/**
|
978 |
* Random String generator
|
979 |
*
|
@@ -991,5 +992,4 @@ class FTS_Youtube_Feed_Free extends feed_them_social_functions {
|
|
991 |
|
992 |
return $random_string;
|
993 |
}
|
994 |
-
|
995 |
}
|
72 |
|
73 |
wp_enqueue_script( 'fts-global', plugins_url( 'feed-them-social/feeds/js/fts-global.js' ), array( 'jquery' ), FTS_CURRENT_VERSION, false );
|
74 |
|
75 |
+
// the way this refresh token works atm is. if the token is expired then we fetch a new token when any front end user views a page the feed is on.
|
76 |
+
// the ajax runs to fetch a new token if it's expired, then it saves it to the db, but because that happens after the user has already loaded the page,
|
77 |
+
// we need to show the cached feed so the feed does not return a token expired message. THEN after the next page reload the actual refreshed token will be in place.
|
78 |
+
// we still keep calling the cached version after that point so we are not uses up the API until the users deletes the cache or it is deleted per the determined time.
|
79 |
+
// this will not return the feed proper if token is expired need to fix this
|
80 |
+
if ( ! empty( $youtube_access_token ) ) {
|
81 |
+
// Double Check Our Expiration Time on the Token and refresh it if needed.
|
82 |
$expiration_time = get_option( 'youtube_custom_token_exp_time' );
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
|
84 |
+
// Access token is good for 3600 seconds, that about an hour.
|
85 |
+
if ( time() > $expiration_time ) {
|
86 |
+
$this->feed_them_youtube_refresh_token();
|
87 |
}
|
88 |
}
|
89 |
|
|
|
90 |
if ( ! empty( $youtube_access_token ) && empty( $youtube_api_key ) ) {
|
91 |
+
// this relies on our approved app from google.
|
92 |
+
// we are only using readme option from google now so we cannot get comments this way.
|
93 |
+
// that's fine though since we only allow to show comments in the premium version.
|
94 |
$youtube_api_key_or_token = 'access_token=' . $youtube_access_token . '';
|
95 |
} else {
|
96 |
+
// you must create your own youtube app now to get this.
|
97 |
+
// this is also the method required to show comments as well now.
|
98 |
$youtube_api_key_or_token = 'key=' . $youtube_api_key . '';
|
99 |
}
|
100 |
|
201 |
$user_cache_name = 'yt_user_' . $username;
|
202 |
}
|
203 |
|
204 |
+
$user_returned = $this->use_cache_check( $youtube_user_id_data, $user_cache_name, 'youtube' );
|
|
|
|
|
|
|
205 |
|
206 |
// If the YT User returned is not empty and is an arary.
|
207 |
if ( ! empty( $user_returned ) && is_array( $user_returned ) ) {
|
266 |
$feed_cache_name = 'pics_vids_list_' . $channel_id . '_bnum' . $vid_count . '_channel';
|
267 |
}
|
268 |
} elseif ( ! empty( $playlist_id ) || ! empty( $playlist_id ) && ! empty( $channel_id ) ) {
|
269 |
+
|
270 |
+
// I don't understand the section here.. blllaaaaaahh need to clean this mess up!
|
271 |
+
// echo '<br/>playlistID shortcode in use: ';
|
272 |
+
|
273 |
+
$youtube_feed_api_url = isset( $_REQUEST['next_url'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['next_url'] ) ) : sanitize_text_field( wp_unslash( 'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=' . $vid_count . '&playlistId=' . $playlist_id . '&order=date&' . $youtube_api_key_or_token ) );
|
274 |
|
275 |
if ( ! isset( $_GET['load_more_ajaxing'] ) ) {
|
276 |
// Youtube Playlist Cache Folder.
|
284 |
// echo ' why you no use cache check ';
|
285 |
// echo $youtube_feed_api_url;
|
286 |
// Call, fetch and Check data from API url!
|
287 |
+
|
288 |
+
// echo ' youtube URL: ';
|
289 |
+
// echo $youtube_feed_api_url;
|
290 |
+
$feed_returned = $this->use_cache_check( $youtube_feed_api_url, $feed_cache_name, 'youtube' );
|
291 |
|
292 |
// JSON Decode the Feed Data.
|
293 |
$videos = json_decode( $feed_returned['data'] );
|
294 |
+
|
295 |
+
// YO! This is the print_r you want to show most feeds.
|
296 |
+
// echo'playlistID and channelID shortcode used: <pre>';
|
297 |
+
// print_r($videos);
|
298 |
+
// echo'</pre>';
|
299 |
+
|
300 |
}
|
301 |
}
|
302 |
|
437 |
|
438 |
echo '<div class="' . esc_attr( $set_comments_height ) . 'youtube-comments-wrap' . esc_attr( $wrap ) . '" style="display: block !important;">';
|
439 |
|
440 |
+
$this->fts_youtube_single_video_info( $video_id_or_link, $youtube_api_key_or_token );
|
441 |
|
442 |
echo $fts_functions_class->fts_share_option( isset( $youtube_video_url ) ? $youtube_video_url : null, isset( $youtube_title ) ? $youtube_title : null );
|
443 |
echo '<a href="' . esc_url( $youtube_video_url ) . '" target="_blank" class="fts-jal-fb-see-more">' . esc_html__( 'View on YouTube', 'feed-them-premium' ) . '</a>';
|
444 |
+
|
445 |
+
// The comments will only work if the user has entered an API Key, an Access Token does not have enough permissions greanted to view comments.
|
446 |
+
if ( is_plugin_active( 'feed-them-premium/feed-them-premium.php' ) && isset( $comments_count ) && '0' !== $comments_count && !empty( get_option( 'youtube_custom_api_token' ) ) ) {
|
447 |
+
$this->fts_youtube_commentThreads( $video_id_or_link, $youtube_api_key_or_token, $comments_count );
|
448 |
}
|
449 |
+
|
450 |
echo '</div>';
|
451 |
+
|
452 |
if ( 'right' !== $wrap || 'left' !== $wrap ) {
|
453 |
echo '</div>';
|
454 |
}
|
534 |
) . '</div>';
|
535 |
echo $fts_functions_class->fts_share_option( isset( $youtube_video_url ) ? $youtube_video_url : null, isset( $youtube_title ) ? $youtube_title : null );
|
536 |
echo '<a href="' . esc_url( $youtube_video_url ) . '" target="_blank" class="fts-jal-fb-see-more">' . esc_html__( 'View on YouTube', 'feed-them-premium' ) . '</a>';
|
537 |
+
// The comments will only work if the user has entered an API Key, an Access Token does not have enough permissions greanted to view comments.
|
538 |
+
if ( is_plugin_active( 'feed-them-premium/feed-them-premium.php' ) && isset( $comments_count ) && '0' !== $comments_count && !empty( get_option( 'youtube_custom_api_token' ) ) ) {
|
539 |
+
$this->fts_youtube_commentThreads( $video_id, $youtube_api_key_or_token, $comments_count );
|
540 |
}
|
541 |
echo '</div>';
|
542 |
}
|
571 |
) . '</div>';
|
572 |
echo $fts_functions_class->fts_share_option( isset( $youtube_video_url ) ? $youtube_video_url : null, isset( $youtube_title ) ? $youtube_title : null );
|
573 |
echo '<a href="' . esc_url( $youtube_video_url ) . '" target="_blank" class="fts-jal-fb-see-more">' . esc_html__( 'View on YouTube', 'feed-them-premium' ) . '</a>';
|
574 |
+
|
575 |
+
// The comments will only work if the user has entered an API Key, an Access Token does not have enough permissions greanted to view comments.
|
576 |
+
if ( is_plugin_active( 'feed-them-premium/feed-them-premium.php' ) && isset( $comments_count ) && '0' !== $comments_count && !empty( get_option( 'youtube_custom_api_token' ) ) ) {
|
577 |
+
$this->fts_youtube_commentThreads( $video_id, $youtube_api_key_or_token, $comments_count );
|
578 |
}
|
579 |
echo '</div>';
|
580 |
}
|
581 |
}
|
582 |
echo '</div>';
|
583 |
+
}
|
584 |
$count++;
|
585 |
if ( $count === $vid_count ) {
|
586 |
break;
|
608 |
// we check to see if the loadmore count number is set and if so pass that as the new count number when fetching the next set of pics/videos.
|
609 |
$_REQUEST['next_url'] = ! empty( $loadmore ) ? str_replace( 'maxResults=' . $vid_count, 'maxResults=' . $loadmore_count, $next_url ) : $next_url;
|
610 |
|
611 |
+
?><script>
|
612 |
+
var nextURL_<?php echo esc_js( sanitize_text_field( wp_unslash( $_REQUEST['fts_dynamic_name'] ) ) ) ?>= "<?php echo esc_url_raw( $_REQUEST['next_url'] ) ?>";
|
613 |
+
</script>
|
614 |
+
<?php
|
615 |
}
|
616 |
// Make sure it's not ajaxing.
|
617 |
if ( ! isset( $_GET['load_more_ajaxing'] ) && is_plugin_active( 'feed-them-premium/feed-them-premium.php' ) && ! empty( $loadmore ) ) {
|
619 |
$time = time();
|
620 |
$nonce = wp_create_nonce( $time . 'load-more-nonce' );
|
621 |
$fts_dynamic_class_name = $this->get_fts_dynamic_class_name();
|
622 |
+
?>
|
623 |
+
<script>
|
624 |
+
jQuery(document).ready(function() {
|
625 |
+
|
626 |
+
<?php if ( 'autoscroll' === $loadmore ) { ?>
|
627 |
+
|
628 |
+
|
629 |
+
// If =autoscroll in shortcode.
|
630 |
+
jQuery(".<?php echo esc_js( $fts_dynamic_class_name ) ?>").bind("scroll",function() {
|
631 |
+
|
632 |
+
// 4-9-22 SRL: added +1 because it needs an extra pixel of space to fire to function when shortcode is in smaller containers.
|
633 |
+
if( 1 + jQuery(this).scrollTop() + jQuery(this).innerHeight() >= jQuery(this)[0].scrollHeight ) {
|
634 |
+
|
635 |
+
console.log( jQuery(this).scrollTop() + jQuery(this).innerHeight() );
|
636 |
+
console.log( jQuery(this)[0].scrollHeight );
|
637 |
+
|
638 |
+
<?php }
|
639 |
+
else { ?>
|
640 |
+
// If =button in shortcode.
|
641 |
+
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ) ?>").unbind().click(function() {
|
642 |
+
<?php } ?>
|
643 |
+
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ) ?>").addClass("fts-fb-spinner");
|
644 |
+
var button = jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ) ?>").html('<div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div>');
|
645 |
+
|
646 |
+
console.log(button);
|
647 |
+
console.log(nextURL_<?php echo esc_js( $fts_dynamic_name ) ?>);
|
648 |
+
|
649 |
+
var yes_ajax = "yes";
|
650 |
+
var fts_d_name = "<?php echo esc_js( $fts_dynamic_name ) ?>";
|
651 |
+
var fts_security = "<?php echo esc_js( $nonce ) ?>";
|
652 |
+
var fts_time = "<?php echo esc_js( $time ) ?>";
|
653 |
+
|
654 |
+
var feed_name = "fts_youtube";
|
655 |
+
var loadmore_count = "vid_count=<?php echo esc_js( $loadmore_count ) ?>";
|
656 |
+
var feed_attributes = <?php echo wp_json_encode( $atts ) ?>;
|
657 |
+
|
658 |
+
jQuery.ajax({
|
659 |
+
data: {
|
660 |
+
action: "my_fts_fb_load_more",
|
661 |
+
next_url: nextURL_<?php echo esc_js( $fts_dynamic_name ) ?>,
|
662 |
+
fts_dynamic_name: fts_d_name,
|
663 |
+
feed_name: feed_name,
|
664 |
+
loadmore_count: loadmore_count,
|
665 |
+
feed_attributes: feed_attributes,
|
666 |
+
load_more_ajaxing: yes_ajax,
|
667 |
+
fts_security: fts_security,
|
668 |
+
fts_time: fts_time
|
669 |
+
},
|
670 |
+
type: "GET",
|
671 |
+
url: "<?php echo esc_url( admin_url( 'admin-ajax.php' ) ) ?>",
|
672 |
+
success: function( data ) {
|
673 |
+
console.log("Well Done and got this from sever: " + data);
|
674 |
+
|
675 |
+
var result = jQuery(".fts-youtube-popup-gallery.<?php echo esc_js( $fts_dynamic_class_name ) ?>").append(data).filter(".fts-youtube-popup-gallery.<?php echo esc_js( $fts_dynamic_class_name ) ?>").html();
|
676 |
+
|
677 |
+
jQuery(".fts-youtube-popup-gallery.<?php echo esc_js( $fts_dynamic_class_name ) ?>").html(result);
|
678 |
+
|
679 |
+
if( !nextURL_<?php echo esc_js( sanitize_text_field( wp_unslash( $_REQUEST['fts_dynamic_name'] ) ) ) ?> || "no more" === nextURL_<?php echo esc_js( sanitize_text_field( wp_unslash( $_REQUEST['fts_dynamic_name'] ) ) ) ?> ){
|
680 |
+
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ) ?>").replaceWith('<div class="fts-fb-load-more no-more-posts-fts-fb"><?php echo esc_js( $youtube_no_more_videos_text ) ?></div>');
|
681 |
+
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ) ?>").removeAttr("id");
|
682 |
+
}
|
683 |
+
else {
|
684 |
+
jQuery(".<?php echo esc_js( $fts_dynamic_class_name ) ?>").off('scroll');
|
685 |
+
}
|
686 |
+
|
687 |
+
<?php if ( 'button' === $loadmore ) { ?>
|
688 |
+
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ) ?>").html("<?php echo esc_html( $youtube_load_more_text ) ?>");
|
689 |
+
<?php } ?>
|
690 |
+
|
691 |
+
jQuery("#loadMore_<?php echo esc_js( $fts_dynamic_name ) ?>").removeClass("fts-fb-spinner");
|
692 |
+
|
693 |
+
<?php if ( 'yes' === $popup ) { ?>
|
694 |
+
// We return this function again otherwise the popup won't work correctly for the newly loaded items.
|
695 |
+
jQuery.fn.slickYoutubePopUpFunction();
|
696 |
+
<?php } ?>
|
697 |
+
|
698 |
+
// Reload the share each funcion otherwise you can't open share option.
|
699 |
+
jQuery.fn.ftsShare();
|
700 |
+
|
701 |
+
// Reload our margin for the demo.
|
702 |
+
if(typeof outputSRmargin === "function"){
|
703 |
+
outputSRmargin(document.querySelector("#margin").value);
|
704 |
+
}
|
705 |
+
|
706 |
+
// Reload our image sizing function so the images show up proper.
|
707 |
+
slickremixImageResizingYouTube();
|
708 |
+
}
|
709 |
+
});// end of ajax().
|
710 |
+
return false;
|
711 |
+
// string $scrollMore is at top of this js script. exception for scroll option closing tag.
|
712 |
+
<?php if ( 'autoscroll' === $loadmore ) { ?>
|
713 |
+
};
|
714 |
+
}); // end of scroll ajax load.
|
715 |
+
<?php } else { ?>
|
716 |
+
}); // end of click button.
|
717 |
+
<?php } ?>
|
718 |
+
}); // end of document.ready.
|
719 |
+
</script><?php
|
720 |
|
721 |
}//End Check.
|
722 |
// for gallery option play_video_in_iframe.
|
853 |
* @since 1.9.6
|
854 |
*/
|
855 |
public function fts_youtube_commentThreads( $video_id, $youtube_api_key_or_token, $comments_count ) {
|
856 |
+
|
857 |
$fts_comments_thread_nonce = wp_create_nonce( 'fts-comments-thread-nonce' );
|
858 |
|
859 |
if ( wp_verify_nonce( $fts_comments_thread_nonce, 'fts-comments-thread-nonce' ) ) {
|
926 |
*
|
927 |
* @param string $video_id Video id.
|
928 |
* @param string $youtube_api_key_or_token Youtube token.
|
|
|
929 |
* @since 1.9.6
|
930 |
*/
|
931 |
+
public function fts_youtube_single_video_info( $video_id, $youtube_api_key_or_token ) {
|
932 |
$fts_single_video_nonce = wp_create_nonce( 'fts-single-video-thread-nonce' );
|
933 |
|
934 |
if ( wp_verify_nonce( $fts_single_video_nonce, 'fts-single-video-thread-nonce' ) ) {
|
936 |
if ( ! isset( $_GET['load_more_ajaxing'] ) ) {
|
937 |
|
938 |
// Youtube Comment Cache.
|
939 |
+
$youtube_single_video_cache_name = 'video_single_' . $video_id . '';
|
940 |
}
|
941 |
// https://developers.google.com/youtube/v3/docs/comments/list.
|
942 |
+
$api_url['items'] = 'https://www.googleapis.com/youtube/v3/videos?id=' . $video_id . '&' . $youtube_api_key_or_token . '&part=snippet';
|
|
|
|
|
|
|
|
|
|
|
943 |
|
944 |
+
$video = $this->use_cache_check( $api_url, $youtube_single_video_cache_name, 'youtube_single' );
|
|
|
945 |
|
946 |
+
$feed_data = json_decode( $video['items'] );
|
|
|
|
|
|
|
947 |
|
948 |
+
foreach ( $feed_data->items as $video_data ) {
|
949 |
$user_name_href = 'https://www.youtube.com/channel/' . $video_data->snippet->channelId;
|
950 |
$channel_title = $video_data->snippet->channelTitle;
|
951 |
$youtube_title = $this->fts_youtube_title( $video_data );
|
975 |
}
|
976 |
}
|
977 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
978 |
/**
|
979 |
* Random String generator
|
980 |
*
|
992 |
|
993 |
return $random_string;
|
994 |
}
|
|
|
995 |
}
|
includes/error-handler.php
CHANGED
@@ -19,230 +19,278 @@ namespace feedthemsocial;
|
|
19 |
*/
|
20 |
class fts_error_handler {
|
21 |
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Construct
|
31 |
-
*
|
32 |
-
* Error Handler constructor.
|
33 |
-
*
|
34 |
-
* @since 1.9.6
|
35 |
-
*/
|
36 |
-
public function __construct() {
|
37 |
-
add_action( 'admin_init', array( $this, 'fts_plugin_version_check' ) );
|
38 |
-
}
|
39 |
-
|
40 |
-
/**
|
41 |
-
* FTS Versions Needed
|
42 |
-
*
|
43 |
-
* Define minimum premium version allowed to be active with Free Version.
|
44 |
-
*
|
45 |
-
* @return array
|
46 |
-
* @since 1.9.6
|
47 |
-
*/
|
48 |
-
public function fts_versions_needed() {
|
49 |
-
$fts_versions_needed = array(
|
50 |
-
'feed-them-premium/feed-them-premium.php' => array(
|
51 |
-
'clean_name' => __( 'Feed Them Premium', 'feed-them-social' ),
|
52 |
-
'version_needed' => '1.5.3',
|
53 |
-
),
|
54 |
-
'fts-bar/fts-bar.php' => array(
|
55 |
-
'clean_name' => __( 'FTS Bar', 'feed-them-social' ),
|
56 |
-
'version_needed' => '1.0.8',
|
57 |
-
),
|
58 |
-
'feed-them-social-facebook-reviews/feed-them-social-facebook-reviews.php' => array(
|
59 |
-
'clean_name' => __( 'Feed Them Social Facebook Reviews', 'feed-them-social' ),
|
60 |
-
'version_needed' => '1.0.0',
|
61 |
-
),
|
62 |
-
'feed-them-carousel-premium/feed-them-carousel-premium.php' => array(
|
63 |
-
'clean_name' => __( 'Feed Them Carousel Premium', 'feed-them-social' ),
|
64 |
-
'version_needed' => '1.0.0',
|
65 |
-
),
|
66 |
-
'feed-them-social-combined-streams/feed-them-social-combined-streams.php' => array(
|
67 |
-
'clean_name' => __( 'Feed Them Social Combined Streams', 'feed-them-social' ),
|
68 |
-
'version_needed' => '1.1.1',
|
69 |
-
),
|
70 |
-
);
|
71 |
-
return $fts_versions_needed;
|
72 |
-
}
|
73 |
-
|
74 |
-
/**
|
75 |
-
* FTS Plugin Version Check
|
76 |
-
*
|
77 |
-
* Make sure plugins are Proper Version if need be.
|
78 |
-
*
|
79 |
-
* @throws \Exception Don't let old plugins activate.
|
80 |
-
* @since 1.9.6
|
81 |
-
*/
|
82 |
-
public function fts_plugin_version_check() {
|
83 |
-
// return error if no data retreived!
|
84 |
-
try {
|
85 |
-
$update_msg = __( 'Please update ALL Premium Extensions for Feed Them Social because they will no longer work with this version of Feed Them Social. We have made some Major Changes to the Core of the plugin to help with plugin conflicts. Please update your extensions from your <a href="https://www.slickremix.com/my-account" target="_blank">My Account</a> page on our website if you are not receiving notifications for updates on the premium extensions. Thanks again for using our plugin!', 'feed-them-social' );
|
86 |
-
|
87 |
-
$plugins = get_plugins();
|
88 |
-
|
89 |
-
if ( ! function_exists( 'is_plugin_active' ) || ! function_exists( 'deactivate_plugins' ) ) {
|
90 |
-
require_once ABSPATH . '/wp-admin/includes/plugin.php';
|
91 |
-
}
|
92 |
-
|
93 |
-
$fts_versions_needed = $this->fts_versions_needed();
|
94 |
-
|
95 |
-
foreach ( $fts_versions_needed as $single_plugin => $plugin_info ) {
|
96 |
-
|
97 |
-
if ( isset( $plugins[ $single_plugin ] ) ) {
|
98 |
-
// Check Version Compatibility if Extensions are not a new enough version deactivate them and throw errors!
|
99 |
-
if ( $plugins[ $single_plugin ]['Version'] < $fts_versions_needed[ $single_plugin ]['version_needed'] && is_plugin_active( $single_plugin ) ) {
|
100 |
-
deactivate_plugins( $single_plugin );
|
101 |
-
|
102 |
-
// Don't Let Old Plugins Activate!
|
103 |
-
throw new \Exception( '<div class="fts-update-message fts_old_plugins_message">' . $update_msg . '</div>' );
|
104 |
-
}
|
105 |
-
}
|
106 |
-
}
|
107 |
-
} catch ( \Exception $e ) {
|
108 |
-
add_action(
|
109 |
-
'admin_notices',
|
110 |
-
function () use ( $e ) {
|
111 |
-
echo wp_kses(
|
112 |
-
$e->getMessage(),
|
113 |
-
array(
|
114 |
-
'a' => array(
|
115 |
-
'href' => array(),
|
116 |
-
'target' => array(),
|
117 |
-
),
|
118 |
-
'div' => array(
|
119 |
-
'class' => array(),
|
120 |
-
),
|
121 |
-
)
|
122 |
-
);
|
123 |
-
}
|
124 |
-
);
|
125 |
-
return true;
|
126 |
-
}
|
127 |
-
return false;
|
128 |
-
}
|
129 |
-
|
130 |
-
/**
|
131 |
-
* Facebook Error Check
|
132 |
-
*
|
133 |
-
* @param string $fb_shortcode shortcode.
|
134 |
-
* @param string $feed_data feed data.
|
135 |
-
* @return array
|
136 |
-
* @throws \Exception Don't let old plugins activate.
|
137 |
-
* @since 1.9.6
|
138 |
-
*/
|
139 |
-
public function facebook_error_check( $fb_shortcode, $feed_data ) {
|
140 |
-
// return error if no data retrieved!
|
141 |
-
try {
|
142 |
-
if ( ! isset( $feed_data->data ) || empty( $feed_data->data ) ) {
|
143 |
-
// Solution Text!
|
144 |
-
$solution_text = 'Here are some possible solutions to fix the error.';
|
145 |
-
// ID Error!
|
146 |
-
if ( isset( $feed_data->error ) && 803 === $feed_data->error->code ) {
|
147 |
-
if ( false !== strpos( $feed_data->error->message, '(#803) Cannot query users by their username' ) || 'group' === $fb_shortcode['type'] ) {
|
148 |
-
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . '.2 - Cannot query users by their username. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-803-2" target="_blank">' . $solution_text . '</a></div>' );
|
149 |
-
} else {
|
150 |
-
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - Facebook cannot find this ID. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-803" target="_blank">' . $solution_text . '</a></div>' );
|
151 |
-
}
|
152 |
-
} elseif ( isset( $feed_data->error ) && ( 341 === $feed_data->error->code || 4 === $feed_data->error->code || 17 === $feed_data->error->code ) ) {
|
153 |
-
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - Too many calls made to Facebook. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-rate-limiting" target="_blank">' . $solution_text . '</a></div>' );
|
154 |
-
} elseif ( isset( $feed_data->error ) && 190 === $feed_data->error->code ) {
|
155 |
-
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - Error validating application. Invalid application ID. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-invalid-app-id" target="_blank">' . $solution_text . '</a></div>' );
|
156 |
-
} elseif ( isset( $feed_data->error ) && 104 === $feed_data->error->code ) {
|
157 |
-
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - An access token is required to request this resource. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-access-token-required" target="_blank">' . $solution_text . '</a></div>' );
|
158 |
-
} elseif ( isset( $feed_data->error ) && 210 === $feed_data->error->code ) {
|
159 |
-
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - This call requires a Page access token. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-access-token-required" target="_blank">' . $solution_text . '</a></div>' );
|
160 |
-
} elseif ( isset( $feed_data->error ) && 100 === $feed_data->error->code ) {
|
161 |
-
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - This Page may not be public. <a style="color:red !important;" href="http://www.slickremix.com/docs/facebook-error-messages/#error-100" target="_blank">' . $solution_text . '</a></div>' );
|
162 |
-
} elseif ( 'group' === $fb_shortcode['type'] && isset( $feed_data->error ) && 1 === $feed_data->error->code ) {
|
163 |
-
$solution_text = 'Please view this link for a temporary solution.';
|
164 |
-
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - The group feed is experiencing a known error at this time. <a style="color:red !important;" href="http://www.slickremix.com/docs/facebook-error-messages/#group-feed-error-pinned-post" target="_blank">' . $solution_text . '</a></div>' );
|
165 |
-
} elseif ( 'reviews' === $fb_shortcode['type'] && ( empty( $feed_data->data ) || ! isset( $feed_data->data ) ) ) {
|
166 |
-
// Rate Limit Exceeded!
|
167 |
-
throw new \Exception( '<div style="clear:both; padding:15px 0;">No Reviews Found or You may not have Admin Permissions for this page. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-no-reviews" target="_blank">' . $solution_text . '</a></div>' );
|
168 |
-
} elseif ( isset( $feed_data->error ) ) {
|
169 |
-
// If Custom Exception is not needed but still error then throw ugly error.
|
170 |
-
if ( isset( $feed_data->error->message ) ) {
|
171 |
-
$output = 'Error: ' . $feed_data->error->message;
|
172 |
-
}
|
173 |
-
if ( isset( $feed_data->error->type ) ) {
|
174 |
-
$output .= '<br />Type: ' . $feed_data->error->type;
|
175 |
-
}
|
176 |
-
if ( isset( $feed_data->error->code ) ) {
|
177 |
-
$output .= '<br />Code: ' . $feed_data->error->code;
|
178 |
-
}
|
179 |
-
if ( isset( $feed_data->error->error_subcode ) ) {
|
180 |
-
$output .= '<br />Subcode:' . $feed_data->error->error_subcode;
|
181 |
-
}
|
182 |
-
// If just code.
|
183 |
-
if ( isset( $feed_data->error_msg ) ) {
|
184 |
-
$output = 'Error: ' . $feed_data->error_msg;
|
185 |
-
}
|
186 |
-
if ( isset( $feed_data->error_code ) ) {
|
187 |
-
$output .= '<br />Code: ' . $feed_data->error_code;
|
188 |
-
}
|
189 |
-
throw new \Exception( '<div style="clear:both; padding:15px 0;" class="fts-error-m">' . $output . '</div>' );
|
190 |
-
}
|
191 |
-
}
|
192 |
-
} catch ( \Exception $e ) {
|
193 |
-
$fb_hide_error_handler_message = get_option( 'fb_hide_error_handler_message' ) && 'yes' === get_option( 'fb_hide_error_handler_message' ) ? 'yes' : 'no';
|
194 |
-
if ( 'no' === $fb_hide_error_handler_message ) {
|
195 |
-
return array( true, $e->getMessage() );
|
196 |
-
} else {
|
197 |
-
return array( true, '' );
|
198 |
-
}
|
199 |
-
}
|
200 |
-
|
201 |
-
return;
|
202 |
-
}
|
203 |
-
|
204 |
-
/**
|
205 |
-
* Youtube Error Check
|
206 |
-
*
|
207 |
-
* @param string|array $feed_data feed data.
|
208 |
-
* @return string|array
|
209 |
-
* @throws \Exception Don't let old plugins activate.
|
210 |
-
* @since 1.9.6
|
211 |
-
*/
|
212 |
-
public function youtube_error_check( $feed_data ) {
|
213 |
-
|
214 |
-
// print_r($feed_data);
|
215 |
-
$feed_data = json_decode( $feed_data['data'] );
|
216 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
//error_log( print_r( $feed_data, true ) );
|
218 |
|
219 |
-
|
220 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
$solution_text = 'Here are some possible solutions to fix the error.';
|
226 |
-
if ( isset( $feed_data->error ) && 400 === $feed_data->error->code ) {
|
227 |
-
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - A VALID access token is required to request this resource. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-access-token-required" target="_blank">' . $solution_text . '</a></div>' );
|
228 |
-
}
|
229 |
-
if ( isset( $feed_data->error ) ) {
|
230 |
-
// If Custom Exception is not needed but still error then throw ugly error.
|
231 |
-
if ( isset( $feed_data->error->message ) ) {
|
232 |
-
$output = 'Error: ' . $feed_data->error->message;
|
233 |
-
}
|
234 |
-
if ( isset( $feed_data->error->code ) ) {
|
235 |
-
$output .= '<br />Code: ' . $feed_data->error->code;
|
236 |
-
}
|
237 |
-
|
238 |
-
throw new \Exception( '<div style="clear:both; padding:15px 0;" class="fts-error-m">' . $output . '</div>' );
|
239 |
-
}
|
240 |
// Below not being used.
|
241 |
// throw new \Exception( '<div style="clear:both; padding:15px 0;" class="fts-error-m">'.esc_html__('Oops, It appears something is wrong with this YouTube feed. Are there videos posted on the YouTube account?').'</div>' );
|
242 |
-
|
243 |
-
|
244 |
-
return array(
|
245 |
-
|
246 |
-
|
247 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
|
|
19 |
*/
|
20 |
class fts_error_handler {
|
21 |
|
22 |
+
/**
|
23 |
+
* Ouput string
|
24 |
+
*
|
25 |
+
* @var string
|
26 |
+
*/
|
27 |
+
public $output = '';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
+
/**
|
30 |
+
* Construct
|
31 |
+
*
|
32 |
+
* Error Handler constructor.
|
33 |
+
*
|
34 |
+
* @since 1.9.6
|
35 |
+
*/
|
36 |
+
public function __construct () {
|
37 |
+
add_action( 'admin_init', array($this, 'fts_plugin_version_check') );
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* FTS Versions Needed
|
42 |
+
*
|
43 |
+
* Define minimum premium version allowed to be active with Free Version.
|
44 |
+
*
|
45 |
+
* @return array
|
46 |
+
* @since 1.9.6
|
47 |
+
*/
|
48 |
+
public function fts_versions_needed () {
|
49 |
+
$fts_versions_needed = array(
|
50 |
+
'feed-them-premium/feed-them-premium.php' => array(
|
51 |
+
'clean_name' => __( 'Feed Them Premium', 'feed-them-social' ),
|
52 |
+
'version_needed' => '1.5.3',
|
53 |
+
),
|
54 |
+
'fts-bar/fts-bar.php' => array(
|
55 |
+
'clean_name' => __( 'FTS Bar', 'feed-them-social' ),
|
56 |
+
'version_needed' => '1.0.8',
|
57 |
+
),
|
58 |
+
'feed-them-social-facebook-reviews/feed-them-social-facebook-reviews.php' => array(
|
59 |
+
'clean_name' => __( 'Feed Them Social Facebook Reviews', 'feed-them-social' ),
|
60 |
+
'version_needed' => '1.0.0',
|
61 |
+
),
|
62 |
+
'feed-them-carousel-premium/feed-them-carousel-premium.php' => array(
|
63 |
+
'clean_name' => __( 'Feed Them Carousel Premium', 'feed-them-social' ),
|
64 |
+
'version_needed' => '1.0.0',
|
65 |
+
),
|
66 |
+
'feed-them-social-combined-streams/feed-them-social-combined-streams.php' => array(
|
67 |
+
'clean_name' => __( 'Feed Them Social Combined Streams', 'feed-them-social' ),
|
68 |
+
'version_needed' => '1.1.1',
|
69 |
+
),
|
70 |
+
);
|
71 |
+
return $fts_versions_needed;
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* FTS Plugin Version Check
|
76 |
+
*
|
77 |
+
* Make sure plugins are Proper Version if need be.
|
78 |
+
*
|
79 |
+
* @throws \Exception Don't let old plugins activate.
|
80 |
+
* @since 1.9.6
|
81 |
+
*/
|
82 |
+
public function fts_plugin_version_check () {
|
83 |
+
// return error if no data retreived!
|
84 |
+
try {
|
85 |
+
$update_msg = __( 'Please update ALL Premium Extensions for Feed Them Social because they will no longer work with this version of Feed Them Social. We have made some Major Changes to the Core of the plugin to help with plugin conflicts. Please update your extensions from your <a href="https://www.slickremix.com/my-account" target="_blank">My Account</a> page on our website if you are not receiving notifications for updates on the premium extensions. Thanks again for using our plugin!', 'feed-them-social' );
|
86 |
+
|
87 |
+
$plugins = get_plugins();
|
88 |
+
|
89 |
+
if ( !function_exists( 'is_plugin_active' ) || !function_exists( 'deactivate_plugins' ) ) {
|
90 |
+
require_once ABSPATH . '/wp-admin/includes/plugin.php';
|
91 |
+
}
|
92 |
+
|
93 |
+
$fts_versions_needed = $this->fts_versions_needed();
|
94 |
+
|
95 |
+
foreach ( $fts_versions_needed as $single_plugin => $plugin_info ) {
|
96 |
+
|
97 |
+
if ( isset( $plugins[$single_plugin] ) ) {
|
98 |
+
// Check Version Compatibility if Extensions are not a new enough version deactivate them and throw errors!
|
99 |
+
if ( $plugins[$single_plugin]['Version'] < $fts_versions_needed[$single_plugin]['version_needed'] && is_plugin_active( $single_plugin ) ) {
|
100 |
+
deactivate_plugins( $single_plugin );
|
101 |
+
|
102 |
+
// Don't Let Old Plugins Activate!
|
103 |
+
throw new \Exception( '<div class="fts-update-message fts_old_plugins_message">' . $update_msg . '</div>' );
|
104 |
+
}
|
105 |
+
}
|
106 |
+
}
|
107 |
+
} catch (\Exception $e) {
|
108 |
+
add_action(
|
109 |
+
'admin_notices',
|
110 |
+
function () use ($e) {
|
111 |
+
echo wp_kses(
|
112 |
+
$e->getMessage(),
|
113 |
+
array(
|
114 |
+
'a' => array(
|
115 |
+
'href' => array(),
|
116 |
+
'target' => array(),
|
117 |
+
),
|
118 |
+
'div' => array(
|
119 |
+
'class' => array(),
|
120 |
+
),
|
121 |
+
)
|
122 |
+
);
|
123 |
+
}
|
124 |
+
);
|
125 |
+
return true;
|
126 |
+
}
|
127 |
+
return false;
|
128 |
+
}
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Facebook Error Check
|
132 |
+
*
|
133 |
+
* @param string $fb_shortcode shortcode.
|
134 |
+
* @param string $feed_data feed data.
|
135 |
+
* @return array
|
136 |
+
* @throws \Exception
|
137 |
+
* @since 1.9.6
|
138 |
+
*/
|
139 |
+
public function facebook_error_check ($fb_shortcode, $feed_data) {
|
140 |
+
// return error if no data retrieved!
|
141 |
+
try {
|
142 |
+
if ( !isset( $feed_data->data ) || empty( $feed_data->data ) ) {
|
143 |
+
// Solution Text!
|
144 |
+
$solution_text = 'Here are some possible solutions to fix the error.';
|
145 |
+
// ID Error!
|
146 |
+
if ( isset( $feed_data->error ) && 803 === $feed_data->error->code ) {
|
147 |
+
if ( false !== strpos( $feed_data->error->message, '(#803) Cannot query users by their username' ) || 'group' === $fb_shortcode['type'] ) {
|
148 |
+
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . '.2 - Cannot query users by their username. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-803-2" target="_blank">' . $solution_text . '</a></div>' );
|
149 |
+
} else {
|
150 |
+
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - Facebook cannot find this ID. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-803" target="_blank">' . $solution_text . '</a></div>' );
|
151 |
+
}
|
152 |
+
} elseif ( isset( $feed_data->error ) && (341 === $feed_data->error->code || 4 === $feed_data->error->code || 17 === $feed_data->error->code) ) {
|
153 |
+
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - Too many calls made to Facebook. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-rate-limiting" target="_blank">' . $solution_text . '</a></div>' );
|
154 |
+
} elseif ( isset( $feed_data->error ) && 190 === $feed_data->error->code ) {
|
155 |
+
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - Error validating application. Invalid application ID. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-invalid-app-id" target="_blank">' . $solution_text . '</a></div>' );
|
156 |
+
} elseif ( isset( $feed_data->error ) && 104 === $feed_data->error->code ) {
|
157 |
+
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - An access token is required to request this resource. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-access-token-required" target="_blank">' . $solution_text . '</a></div>' );
|
158 |
+
} elseif ( isset( $feed_data->error ) && 210 === $feed_data->error->code ) {
|
159 |
+
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - This call requires a Page access token. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-access-token-required" target="_blank">' . $solution_text . '</a></div>' );
|
160 |
+
} elseif ( isset( $feed_data->error ) && 100 === $feed_data->error->code ) {
|
161 |
+
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - This Page may not be public. <a style="color:red !important;" href="http://www.slickremix.com/docs/facebook-error-messages/#error-100" target="_blank">' . $solution_text . '</a></div>' );
|
162 |
+
} elseif ( 'group' === $fb_shortcode['type'] && isset( $feed_data->error ) && 1 === $feed_data->error->code ) {
|
163 |
+
$solution_text = 'Please view this link for a temporary solution.';
|
164 |
+
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - The group feed is experiencing a known error at this time. <a style="color:red !important;" href="http://www.slickremix.com/docs/facebook-error-messages/#group-feed-error-pinned-post" target="_blank">' . $solution_text . '</a></div>' );
|
165 |
+
} elseif ( 'reviews' === $fb_shortcode['type'] && (empty( $feed_data->data ) || !isset( $feed_data->data )) ) {
|
166 |
+
// Rate Limit Exceeded!
|
167 |
+
throw new \Exception( '<div style="clear:both; padding:15px 0;">No Reviews Found or You may not have Admin Permissions for this page. <a style="color:red !important;" href="https://www.slickremix.com/docs/facebook-error-messages/#error-no-reviews" target="_blank">' . $solution_text . '</a></div>' );
|
168 |
+
} elseif ( isset( $feed_data->error ) ) {
|
169 |
+
// If Custom Exception is not needed but still error then throw ugly error.
|
170 |
+
if ( isset( $feed_data->error->message ) ) {
|
171 |
+
$output = 'Error: ' . $feed_data->error->message;
|
172 |
+
}
|
173 |
+
if ( isset( $feed_data->error->type ) ) {
|
174 |
+
$output .= '<br />Type: ' . $feed_data->error->type;
|
175 |
+
}
|
176 |
+
if ( isset( $feed_data->error->code ) ) {
|
177 |
+
$output .= '<br />Code: ' . $feed_data->error->code;
|
178 |
+
}
|
179 |
+
if ( isset( $feed_data->error->error_subcode ) ) {
|
180 |
+
$output .= '<br />Subcode:' . $feed_data->error->error_subcode;
|
181 |
+
}
|
182 |
+
// If just code.
|
183 |
+
if ( isset( $feed_data->error_msg ) ) {
|
184 |
+
$output = 'Error: ' . $feed_data->error_msg;
|
185 |
+
}
|
186 |
+
if ( isset( $feed_data->error_code ) ) {
|
187 |
+
$output .= '<br />Code: ' . $feed_data->error_code;
|
188 |
+
}
|
189 |
+
throw new \Exception( '<div style="clear:both; padding:15px 0;" class="fts-error-m">' . $output . '</div>' );
|
190 |
+
}
|
191 |
+
}
|
192 |
+
} catch (\Exception $e) {
|
193 |
+
$fb_hide_error_handler_message = get_option( 'fb_hide_error_handler_message' ) && 'yes' === get_option( 'fb_hide_error_handler_message' ) ? 'yes' : 'no';
|
194 |
+
if ( 'no' === $fb_hide_error_handler_message ) {
|
195 |
+
return array(true, $e->getMessage());
|
196 |
+
} else {
|
197 |
+
return array(true, '');
|
198 |
+
}
|
199 |
+
}
|
200 |
+
|
201 |
+
return null;
|
202 |
+
}
|
203 |
+
|
204 |
+
/**
|
205 |
+
* Youtube Error Check
|
206 |
+
*
|
207 |
+
* @param string|array $feed_data feed data.
|
208 |
+
* @return string|array
|
209 |
+
* @throws \Exception
|
210 |
+
* @since 1.9.6
|
211 |
+
*/
|
212 |
+
public function youtube_error_check ( $feed_data ) {
|
213 |
//error_log( print_r( $feed_data, true ) );
|
214 |
|
215 |
+
// return error if no data retrieved!
|
216 |
+
// print_r($feed_data);
|
217 |
+
|
218 |
+
try {
|
219 |
+
if ( !isset( $feed_data->data ) || empty( $feed_data->data ) ) {
|
220 |
+
|
221 |
+
$solution_text = 'Here are some possible solutions to fix the error.';
|
222 |
+
if ( isset( $feed_data->error ) && 400 === $feed_data->error->code ) {
|
223 |
+
throw new \Exception( '<div style="clear:both; padding:15px 0;">#' . $feed_data->error->code . ' - A Valid access token is required to request this resource. <a style="color:red !important;" target="_blank" href="https://www.slickremix.com/docs/youtube-error-messages/#error-access-token-required" target="_blank">' . $solution_text . '</a></div>' );
|
224 |
+
}
|
225 |
+
if ( isset( $feed_data->error ) ) {
|
226 |
+
// If Custom Exception is not needed but still error then throw ugly error.
|
227 |
+
if ( isset( $feed_data->error->message ) ) {
|
228 |
+
$output = 'Error: ' . $feed_data->error->message;
|
229 |
+
}
|
230 |
+
if ( isset( $feed_data->error->code ) ) {
|
231 |
+
$output .= '<br />Code: ' . $feed_data->error->code;
|
232 |
+
}
|
233 |
|
234 |
+
throw new \Exception( '<div style="clear:both; padding:15px 0;" class="fts-error-m">' . $output . '</div>' );
|
235 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
// Below not being used.
|
237 |
// throw new \Exception( '<div style="clear:both; padding:15px 0;" class="fts-error-m">'.esc_html__('Oops, It appears something is wrong with this YouTube feed. Are there videos posted on the YouTube account?').'</div>' );
|
238 |
+
}
|
239 |
+
} catch (\Exception $e) {
|
240 |
+
return array(true, $e->getMessage());
|
241 |
+
}
|
242 |
+
|
243 |
+
return null;
|
244 |
+
}
|
245 |
+
|
246 |
+
|
247 |
+
/**
|
248 |
+
* Instagram Error Check
|
249 |
+
*
|
250 |
+
* @param string|array $feed_data feed data.
|
251 |
+
* @return string|array
|
252 |
+
* @throws \Exception Don't let old plugins activate.
|
253 |
+
* @since 1.9.6
|
254 |
+
*/
|
255 |
+
public function instagram_error_check ( $feed_data ) {
|
256 |
+
// return error if no data retrieved!
|
257 |
+
|
258 |
+
// echo ' instagram_error_check ';
|
259 |
+
|
260 |
+
// print_r($feed_data);
|
261 |
+
|
262 |
+
try {
|
263 |
+
if ( !isset( $feed_data->data ) || empty( $feed_data->data ) ) {
|
264 |
+
|
265 |
+
///echo ' POPOPOPOPOPOPOPOPOPOPOPOPOPPOPOPOPO';
|
266 |
+
$solution_text = 'Here are some possible solutions to fix the error.';
|
267 |
+
throw new \Exception( '<div style="clear:both; padding:15px 0;">A Valid access token is required to request this resource. <a style="color:red !important;" target="_blank" href="https://www.slickremix.com/docs/instagram-error-messages/#error-access-token-required" target="_blank">' . $solution_text . '</a></div>' );
|
268 |
+
|
269 |
+
// if ( empty( $feed_data->data ) ) {
|
270 |
+
// }
|
271 |
+
|
272 |
+
// Not using below for now because instagram does not return an error message unfortunately in the form of an array.
|
273 |
+
/* if ( isset( $feed_data->error ) ) {
|
274 |
+
// If Custom Exception is not needed but still error then throw ugly error.
|
275 |
+
if ( isset( $feed_data->error->message ) ) {
|
276 |
+
$output = 'Error: ' . $feed_data->error->message;
|
277 |
+
}
|
278 |
+
if ( isset( $feed_data->error->code ) ) {
|
279 |
+
$output .= '<br />Code: ' . $feed_data->error->code;
|
280 |
+
}
|
281 |
+
|
282 |
+
throw new \Exception( '<div style="clear:both; padding:15px 0;" class="fts-error-m">' . $output . '</div>' );
|
283 |
+
}*/
|
284 |
+
|
285 |
+
// Below not being used.
|
286 |
+
// throw new \Exception( '<div style="clear:both; padding:15px 0;" class="fts-error-m">'.esc_html__('Oops, It appears something is wrong with this Instagram feed. Are there videos posted on the YouTube account?').'</div>' );
|
287 |
+
}
|
288 |
+
} catch (\Exception $e) {
|
289 |
+
// echo ' instagram_error_check ';
|
290 |
+
return array(true, $e->getMessage());
|
291 |
+
}
|
292 |
+
|
293 |
+
return null;
|
294 |
+
}
|
295 |
|
296 |
+
}// END Class.
|
includes/feed-them-functions.php
CHANGED
@@ -39,7 +39,10 @@ class feed_them_social_functions {
|
|
39 |
add_action( 'wp_ajax_fts_clear_cache_ajax', array( $this, 'fts_clear_cache_ajax' ) );
|
40 |
}
|
41 |
add_action( 'wp_ajax_fts_encrypt_token_ajax', array( $this, 'fts_encrypt_token_ajax' ) );
|
|
|
42 |
add_action( 'wp_ajax_fts_refresh_token_ajax', array( $this, 'fts_refresh_token_ajax' ) );
|
|
|
|
|
43 |
add_action( 'wp_ajax_fts_instagram_token_ajax', array( $this, 'fts_instagram_token_ajax' ) );
|
44 |
|
45 |
if ( is_admin() || is_plugin_active( 'feed-them-premium/feed-them-premium.php' ) || is_plugin_active( 'feed-them-social-facebook-reviews/feed-them-social-facebook-reviews.php' ) || is_plugin_active( 'fts-bar/fts-bar.php' ) ) {
|
@@ -180,11 +183,13 @@ class feed_them_social_functions {
|
|
180 |
$fts_refresh_token_nonce = wp_create_nonce( 'fts_token_nonce' );
|
181 |
$access_token = $_REQUEST['access_token'];
|
182 |
$user_id = $_REQUEST['user_id'];
|
|
|
183 |
|
184 |
if ( wp_verify_nonce( $fts_refresh_token_nonce, 'fts_token_nonce' ) ) {
|
185 |
if ( isset( $access_token ) ) {
|
186 |
update_option( 'fts_instagram_custom_api_token', sanitize_text_field( $access_token ) );
|
187 |
update_option( 'fts_instagram_custom_id', sanitize_text_field( $user_id ) );
|
|
|
188 |
}
|
189 |
}
|
190 |
die;
|
@@ -249,8 +254,7 @@ class feed_them_social_functions {
|
|
249 |
$raw_token = $_GET['code'];
|
250 |
$feed_type = $_GET['feed_type'];
|
251 |
$user_id = $_GET['user_id'];
|
252 |
-
|
253 |
-
|
254 |
|
255 |
if ( isset( $raw_token ) && 'original_instagram' === $feed_type || isset( $raw_token ) && 'instagram_basic' === $feed_type ) {
|
256 |
$encrypted_token = $this->data_protection->encrypt( $raw_token );
|
@@ -263,11 +267,18 @@ class feed_them_social_functions {
|
|
263 |
var access_token = '<?php echo sanitize_text_field( $encrypted_token ); ?>';
|
264 |
var user_id = '<?php echo sanitize_text_field( $user_id ); ?>';
|
265 |
|
|
|
|
|
|
|
|
|
|
|
|
|
266 |
jQuery.ajax({
|
267 |
data: {
|
268 |
action: 'fts_instagram_token_ajax',
|
269 |
access_token: access_token,
|
270 |
user_id: user_id,
|
|
|
271 |
},
|
272 |
type: 'POST',
|
273 |
url: ftsAjax.ajaxurl,
|
@@ -602,8 +613,6 @@ class feed_them_social_functions {
|
|
602 |
jQuery('.fb-sublist-page-id-<?php echo esc_js( $fb_page_id ); ?>').append(data).filter('.fb-sublist-page-id-<?php echo esc_js( $fb_page_id ); ?>').html();
|
603 |
jQuery('.fb-sublist-page-id-<?php echo esc_js( $fb_page_id ); ?>').animate({scrollTop: '+=100px'}, 800); // scroll down a 100px after new items are added
|
604 |
|
605 |
-
|
606 |
-
|
607 |
<?php if ( isset( $data->locations->paging->next ) && $data->locations->paging->next === $_REQUEST['next_location_url'] ) { ?>
|
608 |
jQuery('#loadMore_<?php echo esc_js( $fb_page_id ); ?>_location').replaceWith('<div class="fts-fb-load-more no-more-posts-fts-fb fts-no-more-locations-<?php echo esc_js( $fb_page_id ); ?>" style="background:none !important"><?php echo esc_html( 'All Locations loaded', 'feed-them-social' ); ?></div>');
|
609 |
jQuery('#loadMore_<?php echo esc_js( $fb_page_id ); ?>_location').removeAttr('id');
|
@@ -1297,6 +1306,7 @@ class feed_them_social_functions {
|
|
1297 |
public function fts_instagram_style_options_page() {
|
1298 |
$instagram_style_options = array(
|
1299 |
'fts_instagram_custom_api_token',
|
|
|
1300 |
'fts_instagram_custom_id',
|
1301 |
'instagram_show_follow_btn',
|
1302 |
'instagram_show_follow_btn_where',
|
@@ -2949,8 +2959,11 @@ if ( ! empty( $youtube_loadmore_text_color ) ) {
|
|
2949 |
// Is there old Cache? If so Delete it!
|
2950 |
if ( true === $this->fts_check_feed_cache_exists( $transient_name ) ) {
|
2951 |
// Make Sure to delete old permanent cache before setting up new cache!
|
2952 |
-
|
2953 |
}
|
|
|
|
|
|
|
2954 |
// Cache Time set on Settings Page under FTS Tab.
|
2955 |
$cache_time_limit = true === get_option( 'fts_clear_cache_developer_mode' ) && '1' !== get_option( 'fts_clear_cache_developer_mode' ) ? get_option( 'fts_clear_cache_developer_mode' ) : '900';
|
2956 |
|
@@ -2977,16 +2990,20 @@ if ( ! empty( $youtube_loadmore_text_color ) ) {
|
|
2977 |
|
2978 |
// If Error use Permanent Cache!
|
2979 |
if ( true === $errored ) {
|
|
|
|
|
2980 |
$trans = get_transient( 'fts_p_' . $transient_name );
|
2981 |
}
|
2982 |
else{
|
2983 |
// If no error use Timed Cache!
|
2984 |
$trans = get_transient( 'fts_t_' . $transient_name );
|
|
|
|
|
2985 |
}
|
2986 |
|
2987 |
// YO!
|
2988 |
-
|
2989 |
-
|
2990 |
|
2991 |
if ($trans){
|
2992 |
|
@@ -3057,6 +3074,11 @@ if ( ! empty( $youtube_loadmore_text_color ) ) {
|
|
3057 |
$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->options WHERE option_name LIKE %s ", '_transient_timeout_fts_t_%' ) );
|
3058 |
|
3059 |
wp_reset_query();
|
|
|
|
|
|
|
|
|
|
|
3060 |
}
|
3061 |
|
3062 |
/**
|
@@ -3126,7 +3148,7 @@ if ( ! empty( $youtube_loadmore_text_color ) ) {
|
|
3126 |
$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->options WHERE option_name LIKE %s ", '_transient_fts_p_' . $transient_name ) );
|
3127 |
|
3128 |
wp_reset_query();
|
3129 |
-
return 'Cache for this feed cleared!';
|
3130 |
}
|
3131 |
|
3132 |
/**
|
@@ -3166,7 +3188,7 @@ if ( ! empty( $youtube_loadmore_text_color ) ) {
|
|
3166 |
'id' => 'feed_them_social_admin_set_cache',
|
3167 |
'parent' => 'feed_them_social_admin_bar',
|
3168 |
'title' => __( 'Clear Cache', 'feed-them-social' ),
|
3169 |
-
'href' => '
|
3170 |
'meta' => array('onclick' => 'fts_ClearCache();') //JavaScript function trigger just as an example.
|
3171 |
)
|
3172 |
);
|
@@ -3403,6 +3425,11 @@ if ( ! empty( $youtube_loadmore_text_color ) ) {
|
|
3403 |
}
|
3404 |
}
|
3405 |
|
|
|
|
|
|
|
|
|
|
|
3406 |
// Instagram date time!
|
3407 |
if ( 'instagram' === $feed_type ) {
|
3408 |
if ( 'one-day-ago' === $custom_date_check ) {
|
@@ -3483,87 +3510,145 @@ if ( ! empty( $youtube_loadmore_text_color ) ) {
|
|
3483 |
$fts_refresh_token_nonce = wp_create_nonce( 'fts_refresh_token_nonce' );
|
3484 |
|
3485 |
if ( wp_verify_nonce( $fts_refresh_token_nonce, 'fts_refresh_token_nonce' ) ) {
|
3486 |
-
|
3487 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3488 |
}
|
3489 |
-
if (
|
3490 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3491 |
}
|
3492 |
-
|
3493 |
-
|
3494 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3495 |
|
3496 |
// This only happens if the token is expired on the YouTube Options page and you go to re-save or refresh the page for some reason. It will also run this function if the cache is emptied and the token is found to be expired.
|
3497 |
if ( 'no' === $_REQUEST['button_pushed'] ) {
|
3498 |
-
|
3499 |
// $output .= do_shortcode('[fts _youtube vid_count=3 large_vid=no large_vid_title=no large_vid_description=no thumbs_play_in_iframe=popup vids_in_row=3 space_between_videos=1px force_columns=yes maxres_thumbnail_images=yes thumbs_wrap_color=#000 wrap=none video_wrap_display=none comments_count=12 channel_id=UCqhnX4jA0A5paNd1v-zEysw loadmore=button loadmore_count=5 loadmore_btn_maxwidth=300px loadmore_btn_margin=10px]');
|
3500 |
}
|
3501 |
}
|
3502 |
|
|
|
|
|
|
|
|
|
3503 |
}
|
3504 |
|
3505 |
/**
|
3506 |
-
* FTS Check
|
3507 |
*
|
3508 |
* @since 2.3.3
|
3509 |
*/
|
3510 |
-
public function
|
3511 |
|
3512 |
$fts_refresh_token_nonce = wp_create_nonce( 'fts_refresh_token_nonce' );
|
3513 |
|
3514 |
if ( wp_verify_nonce( $fts_refresh_token_nonce, 'fts_refresh_token_nonce' ) ) {
|
3515 |
|
3516 |
// Used some methods from this link http://ieg.wnet.org/2015/09/using-oauth-in-wordpress-plugins-part-2-persistence/
|
3517 |
-
// save all 3 get options: happens when clicking the get access token button on the
|
3518 |
-
if ( isset( $_GET['
|
3519 |
$button_pushed = 'yes';
|
3520 |
-
$clienttoken_post['
|
3521 |
-
$auth_obj['access_token'] = sanitize_text_field( wp_unslash( $_GET['
|
3522 |
$auth_obj['expires_in'] = sanitize_key( wp_unslash( $_GET['expires_in'] ) );
|
3523 |
} else {
|
3524 |
// refresh token!
|
3525 |
$button_pushed = 'no';
|
3526 |
-
|
3527 |
-
|
3528 |
-
|
3529 |
-
'client_secret' => 'CbieVhgOudjrpya1IDpv3uRa',
|
3530 |
-
);
|
3531 |
-
// The "refresh token" grant type is to use a refresh token to get a new access token!
|
3532 |
-
$clienttoken_post['refresh_token'] = get_option( 'youtube_custom_refresh_token' );
|
3533 |
-
$clienttoken_post['grant_type'] = 'refresh_token';
|
3534 |
|
3535 |
-
$
|
3536 |
-
|
3537 |
-
);
|
3538 |
-
|
3539 |
-
|
3540 |
-
|
3541 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3542 |
<script>
|
3543 |
jQuery(document).ready(function () {
|
|
|
|
|
3544 |
jQuery.ajax({
|
3545 |
data: {
|
3546 |
action: "fts_refresh_token_ajax",
|
3547 |
-
|
3548 |
-
|
3549 |
-
|
3550 |
-
|
3551 |
},
|
3552 |
type: 'POST',
|
3553 |
url: ftsAjax.ajaxurl,
|
3554 |
success: function (response) {
|
3555 |
console.log(response);
|
3556 |
<?php
|
3557 |
-
if ( isset( $_GET['page'] ) && 'fts-
|
3558 |
|
3559 |
$user_id = $auth_obj;
|
3560 |
-
$error_response =
|
3561 |
$type_of_key = __( 'Access Token', 'feed-them-social' );
|
3562 |
|
3563 |
// Error Check!
|
3564 |
if ( 'true' === $error_response ) {
|
3565 |
-
$
|
3566 |
-
esc_html( '%1$s This %2$s does not appear to be valid.
|
3567 |
'<div class="fts-failed-api-token">',
|
3568 |
esc_html( $type_of_key ),
|
3569 |
esc_html( $user_id->error->errors[0]->message ),
|
@@ -3571,7 +3656,7 @@ if ( ! empty( $youtube_loadmore_text_color ) ) {
|
|
3571 |
);
|
3572 |
}
|
3573 |
else {
|
3574 |
-
$
|
3575 |
esc_html( '%1$s Your %2$s is working! Generate your shortcode on the %3$s settings page.%4$s %5$s', 'feed-them-social' ),
|
3576 |
'<div class="fts-successful-api-token">',
|
3577 |
esc_html( $type_of_key ),
|
@@ -3580,27 +3665,26 @@ if ( ! empty( $youtube_loadmore_text_color ) ) {
|
|
3580 |
'</div><div class="clear"></div>'
|
3581 |
);
|
3582 |
} ?>
|
3583 |
-
jQuery('#
|
3584 |
|
3585 |
-
<?php if ( isset( $_GET['
|
3586 |
-
jQuery('#
|
3587 |
jQuery('.fts-failed-api-token').hide();
|
3588 |
|
3589 |
if (!jQuery('.fts-successful-api-token').length) {
|
3590 |
-
jQuery('.fts-
|
3591 |
}
|
3592 |
<?php
|
3593 |
} else {
|
3594 |
?>
|
3595 |
if (jQuery('.fts-failed-api-token').length) {
|
3596 |
-
jQuery('.fts-
|
3597 |
jQuery('.fts-failed-api-token').hide();
|
3598 |
}
|
3599 |
<?php } ?>
|
3600 |
-
|
3601 |
-
jQuery('#
|
3602 |
-
jQuery('
|
3603 |
-
jQuery('<div class="fa fa-check-circle fa-3x fa-fw fts-success"></div>').insertBefore('.hide-button-tokens-options .feed-them-social-admin-input-wrap .fts-clear');
|
3604 |
jQuery('.fts-success').fadeIn('slow');
|
3605 |
<?php } ?>
|
3606 |
return false;
|
@@ -3610,10 +3694,151 @@ if ( ! empty( $youtube_loadmore_text_color ) ) {
|
|
3610 |
}); // end of document.ready
|
3611 |
</script>
|
3612 |
<?php
|
3613 |
-
return $auth_obj['access_token'];
|
3614 |
}
|
3615 |
}
|
3616 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3617 |
/**
|
3618 |
* FTS YouTube Link Filter
|
3619 |
*
|
@@ -3703,5 +3928,165 @@ if ( ! empty( $youtube_loadmore_text_color ) ) {
|
|
3703 |
// DEPRECIATED!
|
3704 |
}
|
3705 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3706 |
} // end class
|
3707 |
?>
|
39 |
add_action( 'wp_ajax_fts_clear_cache_ajax', array( $this, 'fts_clear_cache_ajax' ) );
|
40 |
}
|
41 |
add_action( 'wp_ajax_fts_encrypt_token_ajax', array( $this, 'fts_encrypt_token_ajax' ) );
|
42 |
+
|
43 |
add_action( 'wp_ajax_fts_refresh_token_ajax', array( $this, 'fts_refresh_token_ajax' ) );
|
44 |
+
add_action( 'wp_ajax_nopriv_fts_refresh_token_ajax', array( $this, 'fts_refresh_token_ajax' ) );
|
45 |
+
|
46 |
add_action( 'wp_ajax_fts_instagram_token_ajax', array( $this, 'fts_instagram_token_ajax' ) );
|
47 |
|
48 |
if ( is_admin() || is_plugin_active( 'feed-them-premium/feed-them-premium.php' ) || is_plugin_active( 'feed-them-social-facebook-reviews/feed-them-social-facebook-reviews.php' ) || is_plugin_active( 'fts-bar/fts-bar.php' ) ) {
|
183 |
$fts_refresh_token_nonce = wp_create_nonce( 'fts_token_nonce' );
|
184 |
$access_token = $_REQUEST['access_token'];
|
185 |
$user_id = $_REQUEST['user_id'];
|
186 |
+
$expires_in = $_REQUEST['expires_in'];
|
187 |
|
188 |
if ( wp_verify_nonce( $fts_refresh_token_nonce, 'fts_token_nonce' ) ) {
|
189 |
if ( isset( $access_token ) ) {
|
190 |
update_option( 'fts_instagram_custom_api_token', sanitize_text_field( $access_token ) );
|
191 |
update_option( 'fts_instagram_custom_id', sanitize_text_field( $user_id ) );
|
192 |
+
update_option( 'fts_instagram_custom_api_token_expires_in', sanitize_text_field( $expires_in ) );
|
193 |
}
|
194 |
}
|
195 |
die;
|
254 |
$raw_token = $_GET['code'];
|
255 |
$feed_type = $_GET['feed_type'];
|
256 |
$user_id = $_GET['user_id'];
|
257 |
+
$expires_in = $_GET['expires_in'];
|
|
|
258 |
|
259 |
if ( isset( $raw_token ) && 'original_instagram' === $feed_type || isset( $raw_token ) && 'instagram_basic' === $feed_type ) {
|
260 |
$encrypted_token = $this->data_protection->encrypt( $raw_token );
|
267 |
var access_token = '<?php echo sanitize_text_field( $encrypted_token ); ?>';
|
268 |
var user_id = '<?php echo sanitize_text_field( $user_id ); ?>';
|
269 |
|
270 |
+
// Take the time() + $expires_in will equal the current date and time in seconds plus 60 days in seconds.
|
271 |
+
// For now we are going to get a new token every 7 days just to be on the safe side.
|
272 |
+
// That means we will negate 53 days from the seconds which is 4579200 <-- https://www.convertunits.com/from/60+days/to/seconds
|
273 |
+
// We get 60 days to refresh the token, if it's not refreshed before then it will expire.
|
274 |
+
var expires_in = '<?php echo sanitize_text_field( time() + $expires_in - 4579200 ); ?>';
|
275 |
+
|
276 |
jQuery.ajax({
|
277 |
data: {
|
278 |
action: 'fts_instagram_token_ajax',
|
279 |
access_token: access_token,
|
280 |
user_id: user_id,
|
281 |
+
expires_in: expires_in,
|
282 |
},
|
283 |
type: 'POST',
|
284 |
url: ftsAjax.ajaxurl,
|
613 |
jQuery('.fb-sublist-page-id-<?php echo esc_js( $fb_page_id ); ?>').append(data).filter('.fb-sublist-page-id-<?php echo esc_js( $fb_page_id ); ?>').html();
|
614 |
jQuery('.fb-sublist-page-id-<?php echo esc_js( $fb_page_id ); ?>').animate({scrollTop: '+=100px'}, 800); // scroll down a 100px after new items are added
|
615 |
|
|
|
|
|
616 |
<?php if ( isset( $data->locations->paging->next ) && $data->locations->paging->next === $_REQUEST['next_location_url'] ) { ?>
|
617 |
jQuery('#loadMore_<?php echo esc_js( $fb_page_id ); ?>_location').replaceWith('<div class="fts-fb-load-more no-more-posts-fts-fb fts-no-more-locations-<?php echo esc_js( $fb_page_id ); ?>" style="background:none !important"><?php echo esc_html( 'All Locations loaded', 'feed-them-social' ); ?></div>');
|
618 |
jQuery('#loadMore_<?php echo esc_js( $fb_page_id ); ?>_location').removeAttr('id');
|
1306 |
public function fts_instagram_style_options_page() {
|
1307 |
$instagram_style_options = array(
|
1308 |
'fts_instagram_custom_api_token',
|
1309 |
+
'fts_instagram_custom_api_token_expires_in',
|
1310 |
'fts_instagram_custom_id',
|
1311 |
'instagram_show_follow_btn',
|
1312 |
'instagram_show_follow_btn_where',
|
2959 |
// Is there old Cache? If so Delete it!
|
2960 |
if ( true === $this->fts_check_feed_cache_exists( $transient_name ) ) {
|
2961 |
// Make Sure to delete old permanent cache before setting up new cache!
|
2962 |
+
$this->delete_permanent_feed_cache( $transient_name );
|
2963 |
}
|
2964 |
+
|
2965 |
+
// echo ' WEWEWEWEWWEWEW ' . $transient_name;
|
2966 |
+
|
2967 |
// Cache Time set on Settings Page under FTS Tab.
|
2968 |
$cache_time_limit = true === get_option( 'fts_clear_cache_developer_mode' ) && '1' !== get_option( 'fts_clear_cache_developer_mode' ) ? get_option( 'fts_clear_cache_developer_mode' ) : '900';
|
2969 |
|
2990 |
|
2991 |
// If Error use Permanent Cache!
|
2992 |
if ( true === $errored ) {
|
2993 |
+
// echo ' KKKKKKKKKKK fts_p_ ';
|
2994 |
+
// echo $transient_name;
|
2995 |
$trans = get_transient( 'fts_p_' . $transient_name );
|
2996 |
}
|
2997 |
else{
|
2998 |
// If no error use Timed Cache!
|
2999 |
$trans = get_transient( 'fts_t_' . $transient_name );
|
3000 |
+
// echo ' GGGGGGGGGGGGG fts_t_';
|
3001 |
+
// echo $transient_name;
|
3002 |
}
|
3003 |
|
3004 |
// YO!
|
3005 |
+
// echo '<br/>GET CACHE What is the response at this point:<br/>';
|
3006 |
+
// print_r($trans);
|
3007 |
|
3008 |
if ($trans){
|
3009 |
|
3074 |
$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->options WHERE option_name LIKE %s ", '_transient_timeout_fts_t_%' ) );
|
3075 |
|
3076 |
wp_reset_query();
|
3077 |
+
|
3078 |
+
echo 'Cache Cleared';
|
3079 |
+
|
3080 |
+
wp_die();
|
3081 |
+
|
3082 |
}
|
3083 |
|
3084 |
/**
|
3148 |
$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->options WHERE option_name LIKE %s ", '_transient_fts_p_' . $transient_name ) );
|
3149 |
|
3150 |
wp_reset_query();
|
3151 |
+
return 'Permanent Cache for this feed cleared!';
|
3152 |
}
|
3153 |
|
3154 |
/**
|
3188 |
'id' => 'feed_them_social_admin_set_cache',
|
3189 |
'parent' => 'feed_them_social_admin_bar',
|
3190 |
'title' => __( 'Clear Cache', 'feed-them-social' ),
|
3191 |
+
'href' => 'javascript:;',
|
3192 |
'meta' => array('onclick' => 'fts_ClearCache();') //JavaScript function trigger just as an example.
|
3193 |
)
|
3194 |
);
|
3425 |
}
|
3426 |
}
|
3427 |
|
3428 |
+
// Instagram Token Refresh date!
|
3429 |
+
if ( 'token_refresh' === $feed_type ) {
|
3430 |
+
$u_time = date( 'Y-m-d', $created_time );
|
3431 |
+
}
|
3432 |
+
|
3433 |
// Instagram date time!
|
3434 |
if ( 'instagram' === $feed_type ) {
|
3435 |
if ( 'one-day-ago' === $custom_date_check ) {
|
3510 |
$fts_refresh_token_nonce = wp_create_nonce( 'fts_refresh_token_nonce' );
|
3511 |
|
3512 |
if ( wp_verify_nonce( $fts_refresh_token_nonce, 'fts_refresh_token_nonce' ) ) {
|
3513 |
+
|
3514 |
+
if ( isset( $_REQUEST['button_pushed'] ) && 'yes' === $_REQUEST['button_pushed'] ) {
|
3515 |
+
|
3516 |
+
if( 'youtube' === $_REQUEST['feed'] && !empty( $_REQUEST['refresh_token'] ) ){
|
3517 |
+
update_option( 'youtube_custom_refresh_token', sanitize_text_field( wp_unslash( $_REQUEST['refresh_token'] ) ) );
|
3518 |
+
|
3519 |
+
}
|
3520 |
+
if ( 'instagram' === $_REQUEST['feed'] && !empty( $_REQUEST['access_token'] ) ){
|
3521 |
+
update_option( 'fts_instagram_custom_api_token', sanitize_text_field( wp_unslash( $_REQUEST['access_token'] ) ) );
|
3522 |
+
}
|
3523 |
}
|
3524 |
+
if ( !empty( $_REQUEST['access_token'] ) ) {
|
3525 |
+
|
3526 |
+
if( 'youtube' === $_REQUEST['feed'] ){
|
3527 |
+
update_option( 'youtube_custom_access_token', sanitize_text_field( wp_unslash( $_REQUEST['access_token'] ) ) );
|
3528 |
+
|
3529 |
+
}
|
3530 |
+
if ( 'instagram' === $_REQUEST['feed'] ){
|
3531 |
+
update_option( 'fts_instagram_custom_api_token', sanitize_text_field( wp_unslash( $_REQUEST['access_token'] ) ) );
|
3532 |
+
}
|
3533 |
}
|
3534 |
+
|
3535 |
+
if( 'youtube' === $_REQUEST['feed'] ){
|
3536 |
+
|
3537 |
+
$startoftime = isset( $_REQUEST['expires_in'] ) ? strtotime( '+' . $_REQUEST['expires_in'] . ' seconds' ) : '';
|
3538 |
+
$start_of_time_final = false !== $startoftime ? sanitize_key( $startoftime ) : '';
|
3539 |
+
update_option( 'youtube_custom_token_exp_time', sanitize_text_field( wp_unslash( $start_of_time_final ) ) );
|
3540 |
+
}
|
3541 |
+
|
3542 |
+
if( 'instagram' === $_REQUEST['feed'] ){
|
3543 |
+
|
3544 |
+
$startoftime = isset( $_REQUEST['expires_in'] ) ? $_REQUEST['expires_in'] : '';
|
3545 |
+
$start_of_time_final = false !== $startoftime ? sanitize_key( $startoftime ) : '';
|
3546 |
+
update_option( 'fts_instagram_custom_api_token_expires_in', sanitize_text_field( wp_unslash( $start_of_time_final ) ) );
|
3547 |
+
|
3548 |
+
echo wp_unslash( $_REQUEST['expires_in'] );
|
3549 |
+
echo '<br/>';
|
3550 |
+
}
|
3551 |
+
|
3552 |
|
3553 |
// This only happens if the token is expired on the YouTube Options page and you go to re-save or refresh the page for some reason. It will also run this function if the cache is emptied and the token is found to be expired.
|
3554 |
if ( 'no' === $_REQUEST['button_pushed'] ) {
|
3555 |
+
echo 'Token Refreshed: ';
|
3556 |
// $output .= do_shortcode('[fts _youtube vid_count=3 large_vid=no large_vid_title=no large_vid_description=no thumbs_play_in_iframe=popup vids_in_row=3 space_between_videos=1px force_columns=yes maxres_thumbnail_images=yes thumbs_wrap_color=#000 wrap=none video_wrap_display=none comments_count=12 channel_id=UCqhnX4jA0A5paNd1v-zEysw loadmore=button loadmore_count=5 loadmore_btn_maxwidth=300px loadmore_btn_margin=10px]');
|
3557 |
}
|
3558 |
}
|
3559 |
|
3560 |
+
echo wp_unslash( $_REQUEST['access_token'] );
|
3561 |
+
|
3562 |
+
|
3563 |
+
wp_die();
|
3564 |
}
|
3565 |
|
3566 |
/**
|
3567 |
+
* FTS Check Instagram Token Validity
|
3568 |
*
|
3569 |
* @since 2.3.3
|
3570 |
*/
|
3571 |
+
public function feed_them_instagram_refresh_token() {
|
3572 |
|
3573 |
$fts_refresh_token_nonce = wp_create_nonce( 'fts_refresh_token_nonce' );
|
3574 |
|
3575 |
if ( wp_verify_nonce( $fts_refresh_token_nonce, 'fts_refresh_token_nonce' ) ) {
|
3576 |
|
3577 |
// Used some methods from this link http://ieg.wnet.org/2015/09/using-oauth-in-wordpress-plugins-part-2-persistence/
|
3578 |
+
// save all 3 get options: happens when clicking the get access token button on the instagram options page!
|
3579 |
+
if ( isset( $_GET['access_token'], $_GET['expires_in'] ) ) {
|
3580 |
$button_pushed = 'yes';
|
3581 |
+
$clienttoken_post['access_token'] = sanitize_text_field( wp_unslash( $_GET['access_token'] ) );
|
3582 |
+
$auth_obj['access_token'] = sanitize_text_field( wp_unslash( $_GET['access_token'] ) );
|
3583 |
$auth_obj['expires_in'] = sanitize_key( wp_unslash( $_GET['expires_in'] ) );
|
3584 |
} else {
|
3585 |
// refresh token!
|
3586 |
$button_pushed = 'no';
|
3587 |
+
$check_token = get_option( 'fts_instagram_custom_api_token' );
|
3588 |
+
$check_basic_token_value = false !== $this->data_protection->decrypt( $check_token ) ? $this->data_protection->decrypt( $check_token ) : $check_token;
|
3589 |
+
$oauth2token_url = esc_url_raw( 'https://graph.instagram.com/refresh_access_token?grant_type=ig_refresh_token&access_token=' . $check_basic_token_value );
|
|
|
|
|
|
|
|
|
|
|
3590 |
|
3591 |
+
$response = wp_remote_get( $oauth2token_url );
|
3592 |
+
|
3593 |
+
$auth_obj = json_decode( wp_remote_retrieve_body( $response ), true );
|
3594 |
+
|
3595 |
+
// print_r( $auth_obj['expires_in'] );
|
3596 |
+
|
3597 |
+
// Take the time() + $expires_in will equal the current date and time in seconds plus 60 days in seconds.
|
3598 |
+
// For now we are going to get a new token every 7 days just to be on the safe side.
|
3599 |
+
// That means we will negate 53 days from the seconds which is 4579200 <-- https://www.convertunits.com/from/60+days/to/seconds
|
3600 |
+
// We get 60 days to refresh the token, if it's not refreshed before then it will expire.
|
3601 |
+
|
3602 |
+
$time_minus_fiftythree_days = $auth_obj['expires_in'] - 4579200;
|
3603 |
+
$expires_in = $time_minus_fiftythree_days + time();
|
3604 |
+
|
3605 |
+
// test.
|
3606 |
+
// echo ' asdfasdfasdfasdf ';
|
3607 |
+
// This is our refresh token response;
|
3608 |
+
// print_r($response['body']);
|
3609 |
+
// test.
|
3610 |
+
//$auth_obj['access_token'] = '';
|
3611 |
+
|
3612 |
+
// Return if no access token queried from refresh token. This will stop error on front end feed if cached already.
|
3613 |
+
if( empty( $auth_obj['access_token'] ) ){
|
3614 |
+
return;
|
3615 |
+
}
|
3616 |
+
|
3617 |
+
$encrypted_token = $this->data_protection->encrypt( $auth_obj['access_token'] );
|
3618 |
+
|
3619 |
+
}
|
3620 |
+
|
3621 |
+
// use for testing in script below.
|
3622 |
+
//console.log( '<?php print_r($response['body']) ? >' );
|
3623 |
+
|
3624 |
+
?>
|
3625 |
<script>
|
3626 |
jQuery(document).ready(function () {
|
3627 |
+
|
3628 |
+
|
3629 |
jQuery.ajax({
|
3630 |
data: {
|
3631 |
action: "fts_refresh_token_ajax",
|
3632 |
+
access_token: '<?php echo esc_js( $encrypted_token ); ?>',
|
3633 |
+
expires_in: '<?php echo esc_js( $expires_in ); ?>',
|
3634 |
+
button_pushed: '<?php echo esc_js( $button_pushed ); ?>',
|
3635 |
+
feed: 'instagram'
|
3636 |
},
|
3637 |
type: 'POST',
|
3638 |
url: ftsAjax.ajaxurl,
|
3639 |
success: function (response) {
|
3640 |
console.log(response);
|
3641 |
<?php
|
3642 |
+
if ( isset( $_GET['page'] ) && 'fts-instagram-feed-styles-submenu-page' === $_GET['page'] ) {
|
3643 |
|
3644 |
$user_id = $auth_obj;
|
3645 |
+
$error_response = 'Sorry, this content isn\'t available right now' ? 'true' : 'false';
|
3646 |
$type_of_key = __( 'Access Token', 'feed-them-social' );
|
3647 |
|
3648 |
// Error Check!
|
3649 |
if ( 'true' === $error_response ) {
|
3650 |
+
$fts_instagram_message = sprintf(
|
3651 |
+
esc_html( '%1$s This %2$s does not appear to be a valid access token. instagram responded with: %3$s %4$s ', 'feed-them-social' ),
|
3652 |
'<div class="fts-failed-api-token">',
|
3653 |
esc_html( $type_of_key ),
|
3654 |
esc_html( $user_id->error->errors[0]->message ),
|
3656 |
);
|
3657 |
}
|
3658 |
else {
|
3659 |
+
$fts_instagram_message = sprintf(
|
3660 |
esc_html( '%1$s Your %2$s is working! Generate your shortcode on the %3$s settings page.%4$s %5$s', 'feed-them-social' ),
|
3661 |
'<div class="fts-successful-api-token">',
|
3662 |
esc_html( $type_of_key ),
|
3665 |
'</div><div class="clear"></div>'
|
3666 |
);
|
3667 |
} ?>
|
3668 |
+
jQuery('#fts_instagram_custom_api_token, #fts_instagram_custom_api_token_expires_in').val('');
|
3669 |
|
3670 |
+
<?php if ( isset( $_GET['access_token'], $_GET['expires_in'] ) ) { ?>
|
3671 |
+
jQuery('#fts_instagram_custom_api_token').val(jQuery('#fts_instagram_custom_api_token').val() + '<?php echo esc_js( $clienttoken_post['access_token'] ); ?>');
|
3672 |
jQuery('.fts-failed-api-token').hide();
|
3673 |
|
3674 |
if (!jQuery('.fts-successful-api-token').length) {
|
3675 |
+
jQuery('.fts-instagram-last-row').append('<?php echo $fts_instagram_message; ?>');
|
3676 |
}
|
3677 |
<?php
|
3678 |
} else {
|
3679 |
?>
|
3680 |
if (jQuery('.fts-failed-api-token').length) {
|
3681 |
+
jQuery('.fts-instagram-last-row').append('<?php echo $fts_instagram_message; ?>');
|
3682 |
jQuery('.fts-failed-api-token').hide();
|
3683 |
}
|
3684 |
<?php } ?>
|
3685 |
+
jQuery('#fts_instagram_custom_api_token').val(jQuery('#fts_instagram_custom_api_token').val() + '<?php echo esc_js( $auth_obj['access_token'] ); ?>');
|
3686 |
+
jQuery('#fts_instagram_custom_api_token_expires_in').val(jQuery('#fts_instagram_custom_api_token_expires_in').val() + '<?php echo esc_js( strtotime( '+' . $auth_obj['expires_in'] . ' seconds' ) ); ?>');
|
3687 |
+
jQuery('<div class="fa fa-check-circle fa-3x fa-fw fts-success"></div>').insertBefore('.feed-them-social-admin-input-wrap.fts-success-class .fts-clear');
|
|
|
3688 |
jQuery('.fts-success').fadeIn('slow');
|
3689 |
<?php } ?>
|
3690 |
return false;
|
3694 |
}); // end of document.ready
|
3695 |
</script>
|
3696 |
<?php
|
3697 |
+
// return $auth_obj['access_token'];
|
3698 |
}
|
3699 |
}
|
3700 |
|
3701 |
+
/**
|
3702 |
+
* FTS Check YouTube Token Validity
|
3703 |
+
*
|
3704 |
+
* @since 2.3.3
|
3705 |
+
*/
|
3706 |
+
public function feed_them_youtube_refresh_token() {
|
3707 |
+
|
3708 |
+
$fts_refresh_token_nonce = wp_create_nonce( 'fts_refresh_token_nonce' );
|
3709 |
+
|
3710 |
+
if ( wp_verify_nonce( $fts_refresh_token_nonce, 'fts_refresh_token_nonce' ) ) {
|
3711 |
+
|
3712 |
+
// Used some methods from this link http://ieg.wnet.org/2015/09/using-oauth-in-wordpress-plugins-part-2-persistence/
|
3713 |
+
// Save all 3 get options: happens when clicking the get access token button on the youtube options page.
|
3714 |
+
// A Refresh token is only available when clicking through the oAuth process.
|
3715 |
+
if ( isset( $_GET['refresh_token'], $_GET['code'] ) && isset( $_GET['expires_in'] ) ) {
|
3716 |
+
$clienttoken_post['refresh_token'] = sanitize_text_field( wp_unslash( $_GET['refresh_token'] ) );
|
3717 |
+
$access_token = sanitize_text_field( wp_unslash( $_GET['code'] ) );
|
3718 |
+
$expires_in = sanitize_key( wp_unslash( $_GET['expires_in'] ) );
|
3719 |
+
$button_pushed = 'yes';
|
3720 |
+
} else {
|
3721 |
+
|
3722 |
+
$postdata = http_build_query(
|
3723 |
+
array(
|
3724 |
+
'feed_them_social' => 'yes',
|
3725 |
+
'refresh_token' => esc_html( get_option( 'youtube_custom_refresh_token' ) ),
|
3726 |
+
'expires_in' => esc_html( get_option( 'youtube_custom_token_exp_time' ) ),
|
3727 |
+
)
|
3728 |
+
);
|
3729 |
+
|
3730 |
+
$ch = curl_init();
|
3731 |
+
|
3732 |
+
curl_setopt($ch, CURLOPT_URL, 'https://youtube-token-refresh.feedthemsocial.com' );
|
3733 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
3734 |
+
curl_setopt($ch, CURLOPT_POST, 1);
|
3735 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS, "' . $postdata . '");
|
3736 |
+
|
3737 |
+
$headers = array();
|
3738 |
+
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
|
3739 |
+
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
3740 |
+
|
3741 |
+
$result = curl_exec($ch);
|
3742 |
+
if (curl_errno($ch)) {
|
3743 |
+
echo 'Error:' . curl_error($ch);
|
3744 |
+
}
|
3745 |
+
curl_close($ch);
|
3746 |
+
|
3747 |
+
$response = json_decode($result);
|
3748 |
+
|
3749 |
+
/* echo '<br/>';
|
3750 |
+
print_r( $postdata );
|
3751 |
+
echo '<br/>';
|
3752 |
+
print_r($result);*/
|
3753 |
+
|
3754 |
+
// Get new Access Token using our Refresh Token.
|
3755 |
+
if( !empty( $response->access_token ) && !empty( $response->expires_in ) ){
|
3756 |
+
$access_token = $response->access_token;
|
3757 |
+
$expires_in = $response->expires_in;
|
3758 |
+
$button_pushed = 'no';
|
3759 |
+
}
|
3760 |
+
else {
|
3761 |
+
// Return if no access token queried from refresh token. This will stop error on front end feed if cached already.
|
3762 |
+
return print_r($response);
|
3763 |
+
}
|
3764 |
+
}
|
3765 |
+
?>
|
3766 |
+
<script>
|
3767 |
+
jQuery(document).ready(function () {
|
3768 |
+
jQuery.ajax({
|
3769 |
+
data: {
|
3770 |
+
action: "fts_refresh_token_ajax",
|
3771 |
+
refresh_token: '<?php echo esc_js( $clienttoken_post['refresh_token'] ) ?>',
|
3772 |
+
access_token: '<?php echo esc_js( $access_token ) ?>',
|
3773 |
+
expires_in: '<?php echo esc_js( $expires_in ) ?>',
|
3774 |
+
button_pushed: '<?php echo esc_js( $button_pushed ); ?>',
|
3775 |
+
feed: 'youtube'
|
3776 |
+
},
|
3777 |
+
type: 'POST',
|
3778 |
+
url: ftsAjax.ajaxurl,
|
3779 |
+
success: function (response) {
|
3780 |
+
console.log(response);
|
3781 |
+
<?php
|
3782 |
+
if ( isset( $_GET['page'] ) && 'fts-youtube-feed-styles-submenu-page' === $_GET['page'] ) {
|
3783 |
+
|
3784 |
+
$user_id = $auth_obj;
|
3785 |
+
$error_response = $user_id->error->errors[0]->message ? 'true' : 'false';
|
3786 |
+
$type_of_key = __( 'Access Token', 'feed-them-social' );
|
3787 |
+
|
3788 |
+
// Error Check!
|
3789 |
+
if ( 'true' === $error_response ) {
|
3790 |
+
$fts_youtube_message = sprintf(
|
3791 |
+
esc_html( '%1$s This %2$s does not appear to be valid. YouTube responded with: %3$s %4$s ', 'feed-them-social' ),
|
3792 |
+
'<div class="fts-failed-api-token">',
|
3793 |
+
esc_html( $type_of_key ),
|
3794 |
+
esc_html( $user_id->error->errors[0]->message ),
|
3795 |
+
'</div><div class="clear"></div>'
|
3796 |
+
);
|
3797 |
+
}
|
3798 |
+
else {
|
3799 |
+
$fts_youtube_message = sprintf(
|
3800 |
+
esc_html( '%1$s Your %2$s is working! Generate your shortcode on the %3$s settings page.%4$s %5$s', 'feed-them-social' ),
|
3801 |
+
'<div class="fts-successful-api-token">',
|
3802 |
+
esc_html( $type_of_key ),
|
3803 |
+
'<a href="' . esc_url( 'admin.php?page=feed-them-settings-page' ) . '">',
|
3804 |
+
'</a>',
|
3805 |
+
'</div><div class="clear"></div>'
|
3806 |
+
);
|
3807 |
+
} ?>
|
3808 |
+
jQuery('#youtube_custom_access_token, #youtube_custom_token_exp_time').val('');
|
3809 |
+
|
3810 |
+
<?php if ( isset( $_GET['refresh_token'], $_GET['code'] ) && isset( $_GET['expires_in'] ) ) { ?>
|
3811 |
+
jQuery('#youtube_custom_refresh_token').val(jQuery('#youtube_custom_refresh_token').val() + '<?php echo esc_js( $clienttoken_post['refresh_token'] ); ?>');
|
3812 |
+
jQuery('.fts-failed-api-token').hide();
|
3813 |
+
|
3814 |
+
if (!jQuery('.fts-successful-api-token').length) {
|
3815 |
+
jQuery('.fts-youtube-last-row').append('<?php echo $fts_youtube_message; ?>');
|
3816 |
+
}
|
3817 |
+
<?php
|
3818 |
+
} else {
|
3819 |
+
?>
|
3820 |
+
if (jQuery('.fts-failed-api-token').length) {
|
3821 |
+
jQuery('.fts-youtube-last-row').append('<?php echo $fts_youtube_message; ?>');
|
3822 |
+
jQuery('.fts-failed-api-token').hide();
|
3823 |
+
}
|
3824 |
+
<?php } ?>
|
3825 |
+
|
3826 |
+
jQuery('#youtube_custom_access_token').val(jQuery('#youtube_custom_access_token').val() + '<?php echo esc_js( $access_token ); ?>');
|
3827 |
+
jQuery('#youtube_custom_token_exp_time').val(jQuery('#youtube_custom_token_exp_time').val() + '<?php echo esc_js( strtotime( '+' . $expires_in . ' seconds' ) ); ?>');
|
3828 |
+
jQuery('<div class="fa fa-check-circle fa-3x fa-fw fts-success"></div>').insertBefore('.hide-button-tokens-options .feed-them-social-admin-input-wrap .fts-clear');
|
3829 |
+
jQuery('.fts-success').fadeIn('slow');
|
3830 |
+
|
3831 |
+
<?php } ?>
|
3832 |
+
return false;
|
3833 |
+
}
|
3834 |
+
}); // end of ajax()
|
3835 |
+
return false;
|
3836 |
+
}); // end of document.ready
|
3837 |
+
</script>
|
3838 |
+
<?php
|
3839 |
+
}
|
3840 |
+
}
|
3841 |
+
|
3842 |
/**
|
3843 |
* FTS YouTube Link Filter
|
3844 |
*
|
3928 |
// DEPRECIATED!
|
3929 |
}
|
3930 |
|
3931 |
+
|
3932 |
+
/**
|
3933 |
+
* Use Cache Check
|
3934 |
+
*
|
3935 |
+
* Checks to see if we need to use cache or not
|
3936 |
+
*
|
3937 |
+
* @param string|array $api_url API Call.
|
3938 |
+
* @param string $cache_name Cache name.
|
3939 |
+
* @return array|mixed
|
3940 |
+
* @throws \Exception Thow Exeption if all fails.
|
3941 |
+
* @since
|
3942 |
+
*/
|
3943 |
+
public function use_cache_check( $api_url, $cache_name, $feed_type ) {
|
3944 |
+
|
3945 |
+
// print_r( $api_url );
|
3946 |
+
// echo '<br/> Cache Name! <br/>' . $cache_name;
|
3947 |
+
// print_r( '<br/>NEXT!<br/> ' );
|
3948 |
+
if ( ! isset( $_GET['load_more_ajaxing'] ) ) {
|
3949 |
+
if ( true === $this->fts_check_feed_cache_exists( $cache_name ) ) {
|
3950 |
+
|
3951 |
+
$response = $this->fts_get_feed_cache( $cache_name );
|
3952 |
+
// echo '<br/> true cached... we are here <br/>';
|
3953 |
+
// echo ' pppppppppppppppppppp ';
|
3954 |
+
// YO!
|
3955 |
+
// echo 'Cache Should Be Printing out here.<br/>';
|
3956 |
+
// echo $cache_name;
|
3957 |
+
// print_r( $response );
|
3958 |
+
// Return Cache because it exists in Database.
|
3959 |
+
return $response;
|
3960 |
+
}
|
3961 |
+
}
|
3962 |
+
|
3963 |
+
// SO if the cache does not exists then we run some checks below.
|
3964 |
+
|
3965 |
+
// Get Feed using API call.
|
3966 |
+
// echo ' ZZZZZZZZZZZ <br/>';
|
3967 |
+
|
3968 |
+
$fts_error_check = new fts_error_handler();
|
3969 |
+
// Error Check.
|
3970 |
+
if( 'youtube' === $feed_type ){
|
3971 |
+
|
3972 |
+
$response = $this->fts_get_feed_json( $api_url );
|
3973 |
+
$feed_data = json_decode( $response['data'] );
|
3974 |
+
$fts_error_check_complete = $fts_error_check->youtube_error_check( $feed_data );
|
3975 |
+
|
3976 |
+
}
|
3977 |
+
|
3978 |
+
if( 'youtube_single' === $feed_type ){
|
3979 |
+
// echo ' AAAAAAAAAAAAAAA ';
|
3980 |
+
// print_r( $api_url );
|
3981 |
+
$response = $this->fts_get_feed_json( $api_url );
|
3982 |
+
$feed_data = json_decode( $response['items'] );
|
3983 |
+
$fts_error_check_complete = $fts_error_check->youtube_error_check( $feed_data );
|
3984 |
+
|
3985 |
+
}
|
3986 |
+
|
3987 |
+
if( 'instagram' === $feed_type ){
|
3988 |
+
|
3989 |
+
$instagram_basic_response = $this->fts_get_feed_json( $api_url );
|
3990 |
+
$instagram_basic = json_decode( $instagram_basic_response['data'] );
|
3991 |
+
|
3992 |
+
if ( !empty( $instagram_basic->data ) ) {
|
3993 |
+
$access_token = $this->data_protection->decrypt( get_option( 'fts_instagram_custom_api_token' ) );
|
3994 |
+
|
3995 |
+
// We loop through the media ids from the above $instagram_basic_data_array['data'] and request the info for each to create an array we can cache.
|
3996 |
+
$instagram_basic_output = (object)['data' => []];
|
3997 |
+
foreach ( $instagram_basic->data as $media ) {
|
3998 |
+
$media_id = $media->id;
|
3999 |
+
$instagram_basic_data_array['data'] = 'https://graph.instagram.com/' . $media_id . '?fields=caption,id,media_url,media_type,permalink,thumbnail_url,timestamp,username,children{media_url}&access_token=' . $access_token;
|
4000 |
+
$instagram_basic_media_response = $this->fts_get_feed_json( $instagram_basic_data_array );
|
4001 |
+
$instagram_basic_media = json_decode( $instagram_basic_media_response['data'] );
|
4002 |
+
$instagram_basic_output->data[] = $instagram_basic_media;
|
4003 |
+
}
|
4004 |
+
}
|
4005 |
+
|
4006 |
+
$feed_data = (object) array_merge( (array) $instagram_basic, (array) $instagram_basic_output );
|
4007 |
+
$response = json_encode( $feed_data );
|
4008 |
+
$fts_error_check_complete = $fts_error_check->instagram_error_check( $instagram_basic );
|
4009 |
+
|
4010 |
+
|
4011 |
+
}
|
4012 |
+
// echo ' 333333333333 ';
|
4013 |
+
// print_r( $response['items'] );
|
4014 |
+
|
4015 |
+
// echo ' TTTTTTTT ';
|
4016 |
+
// print_r( $fts_error_check_complete );
|
4017 |
+
|
4018 |
+
// YO!
|
4019 |
+
// An Access token will expire every 60 minutes for Youtube.
|
4020 |
+
// Instagram Basic token expires everyting 60 days, but we are going to refresh the token every 7 days for now.
|
4021 |
+
// When a user refreshes any page on the front end or backend settings page we user our refresh token to get a new access token if the time has expired.
|
4022 |
+
// If the time has passed before a user has refreshed the website, then the API call will error, and we don't want to cache that error.
|
4023 |
+
// Instead we allow the cached version to be served and upon page reload the new access token will be saved to the db via ajax and the feed will continue to show.
|
4024 |
+
// Yes works for front end users not logged in too because we use nopriv for the add_action ajax call.
|
4025 |
+
if ( is_array( $fts_error_check_complete ) && true === $fts_error_check_complete[0] ) {
|
4026 |
+
|
4027 |
+
// echo ' rrrrrrrrrrrrrr ';
|
4028 |
+
|
4029 |
+
// If old Cache exists use it instead of showing an error.
|
4030 |
+
if ( true === $this->fts_check_feed_cache_exists( $cache_name, true ) ) {
|
4031 |
+
|
4032 |
+
// echo ' OOOOOOOOOOOOOOOOOO ';
|
4033 |
+
|
4034 |
+
// If Current user is Admin and Cache exists for use, then still show Admin the error for debugging purposes.
|
4035 |
+
if ( current_user_can( 'administrator' ) ) {
|
4036 |
+
echo wp_kses(
|
4037 |
+
$fts_error_check_complete[1] . ' <em>NOTICE: Error only visible to Admin.</em>',
|
4038 |
+
array(
|
4039 |
+
'a' => array(
|
4040 |
+
'href' => array(),
|
4041 |
+
'title' => array(),
|
4042 |
+
),
|
4043 |
+
'br' => array(),
|
4044 |
+
'em' => array(),
|
4045 |
+
'strong' => array(),
|
4046 |
+
)
|
4047 |
+
);
|
4048 |
+
}
|
4049 |
+
|
4050 |
+
// Return Cache because it exists in Database. Better than showing nothing right?
|
4051 |
+
return $this->fts_get_feed_cache( $cache_name, true );
|
4052 |
+
}
|
4053 |
+
|
4054 |
+
// If User is Admin and no Old cache is saved in database for use.
|
4055 |
+
if ( current_user_can( 'administrator' ) ) {
|
4056 |
+
//echo ' If User is Admin and no Old cache is saved in database for use ';
|
4057 |
+
echo $fts_error_check_complete[0];
|
4058 |
+
}
|
4059 |
+
}
|
4060 |
+
|
4061 |
+
// Finally if nothing else, check if there is a response and if so create the cache.
|
4062 |
+
if( 'youtube_single' === $feed_type ){
|
4063 |
+
|
4064 |
+
if( !empty( $response[ 'data' ] ) ) {
|
4065 |
+
echo ' CREATING CACHE NOW: ';
|
4066 |
+
$this->fts_create_feed_cache( $cache_name, $response );
|
4067 |
+
}
|
4068 |
+
|
4069 |
+
}
|
4070 |
+
|
4071 |
+
if( 'youtube' === $feed_type ){
|
4072 |
+
|
4073 |
+
if( !empty( $response[ 'data' ] ) ) {
|
4074 |
+
// echo ' CREATING CACHE NOW: ';
|
4075 |
+
$this->fts_create_feed_cache( $cache_name, $response );
|
4076 |
+
}
|
4077 |
+
|
4078 |
+
}
|
4079 |
+
|
4080 |
+
if( 'instagram' === $feed_type ) {
|
4081 |
+
|
4082 |
+
if( !empty( $instagram_basic->data ) ) {
|
4083 |
+
// echo ' CREATING CACHE NOW: ';
|
4084 |
+
$this->fts_create_feed_cache( $cache_name, $response );
|
4085 |
+
}
|
4086 |
+
}
|
4087 |
+
|
4088 |
+
return $response;
|
4089 |
+
}
|
4090 |
+
|
4091 |
} // end class
|
4092 |
?>
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: slickremix, slickchris
|
3 |
Tags: Facebook, Instagram, Twitter, YouTube, Feed
|
4 |
Requires at least: 3.6.0
|
5 |
-
Tested up to: 5.9
|
6 |
-
Stable tag: 2.9.8
|
7 |
License: GPLv2 or later
|
8 |
|
9 |
Display a Custom Facebook feed, Instagram feed, Twitter feed, and YouTube feed on pages, posts or widgets.
|
@@ -72,6 +72,16 @@ Feed Them Social was Developed By SlickRemix --> [https://www.slickremix.com/](h
|
|
72 |
* Log into WordPress dashboard then click **Plugins** > **Add new** > Then under the title "Install Plugins" click **Upload** > **choose the zip** > **Activate the plugin!**
|
73 |
|
74 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
= Version 2.9.8 Thursday, March 17th, 2022 =
|
76 |
* NEW: All feeds are now encrypted before saving cache to the database. Just another way we are safeguarding your personal data.
|
77 |
* NEW: Facebook and Instagram Access Tokens are being encrypted before saving to the database. YouTube & Twitter will be updated in 3.0.
|
2 |
Contributors: slickremix, slickchris
|
3 |
Tags: Facebook, Instagram, Twitter, YouTube, Feed
|
4 |
Requires at least: 3.6.0
|
5 |
+
Tested up to: 5.9.3
|
6 |
+
Stable tag: 2.9.8.10
|
7 |
License: GPLv2 or later
|
8 |
|
9 |
Display a Custom Facebook feed, Instagram feed, Twitter feed, and YouTube feed on pages, posts or widgets.
|
72 |
* Log into WordPress dashboard then click **Plugins** > **Add new** > Then under the title "Install Plugins" click **Upload** > **choose the zip** > **Activate the plugin!**
|
73 |
|
74 |
== Changelog ==
|
75 |
+
= Version 2.9.8.10 Friday, April 15th, 2022 =
|
76 |
+
* NEW: Instagram Basic Feed: Access Token. As long as an Instagram User does not change their password then the Instagram Basic token will automatically refresh after 7 days. This will resolve a long standing issue where users would have to get a new token every 60 days. This option will only work if the access token is not in the shortcode. FTS 3.0 will be released soon and the process to create a feed will be amazingly simple and will address the access token in shortcode.
|
77 |
+
* NEW: Instagram and YouTube Feeds: Even if token fails and the cache is deleted the feed will still be visible.
|
78 |
+
* NEW: YouTube Options: Access Token Refresh.
|
79 |
+
* FIX: YouTube: Access Token Refresh.
|
80 |
+
* FIX: Misc Styles and general options text.
|
81 |
+
* FIX: Twitter options: Remove the create your own Twitter Keys options. Twitter APPs must now be approved and the process is not so simple. It's better to use the Access Token Option for a quicker setup.
|
82 |
+
* FIX: Premium: All Feeds: Depreciated jQuery call for .bind(), now .off(). This caused issue with autoscroll loadmore option on YouTube Specifically.
|
83 |
+
* NOTE: Tested with WordPress Version 5.9.3
|
84 |
+
|
85 |
= Version 2.9.8 Thursday, March 17th, 2022 =
|
86 |
* NEW: All feeds are now encrypted before saving cache to the database. Just another way we are safeguarding your personal data.
|
87 |
* NEW: Facebook and Instagram Access Tokens are being encrypted before saving to the database. YouTube & Twitter will be updated in 3.0.
|