FV Flowplayer Video Player - Version 6.6.6

Version Description

  • 2018/07/10 =

New users get FV Player 7 Beta (7.1.6.726.beta) automatically!

  • Making sure big custom logo won't prevent video playback due to blocking clicks
  • Playlist - setting maximum player width to 100% to prevent display issues
  • Preventing right mouse click on player
  • XML Video Sitemap and Schema.org - fixing exclusion for CloudFront domains
Download this release

Release Info

Developer FolioVision
Plugin Icon 128x128 FV Flowplayer Video Player
Version 6.6.6
Comparing to
See all releases

Code changes from version 6.6.5 to 6.6.6

Files changed (46) hide show
  1. beta-changelog.txt +61 -0
  2. beta-update.txt +4 -0
  3. controller/backend.php +22 -1
  4. controller/frontend.php +8 -3
  5. controller/settings.php +136 -1
  6. css/fancybox.css +813 -0
  7. css/flowplayer-beta.css +9 -17
  8. css/flowplayer.css +2 -2
  9. css/license.css +0 -2
  10. flowplayer-beta/fv-flowplayer.min.js +61 -49
  11. flowplayer.php +3 -3
  12. flowplayer/fv-flowplayer.min.js +8 -4
  13. includes/fp-api-private.php +15 -8
  14. js/fancybox.js +193 -0
  15. js/lightbox.js +9 -0
  16. models/email-subscription.php +1 -0
  17. models/flowplayer-frontend.php +7 -3
  18. models/flowplayer.php +20 -16
  19. models/lightbox.php +65 -14
  20. models/seo.php +29 -0
  21. models/xml-video-sitemap.php +10 -0
  22. readme.txt +9 -0
  23. test/integration-7/backend/profileVideosTest.php +47 -0
  24. test/integration-7/backend/settingsTest.php +49 -0
  25. test/integration-7/backend/testProfileScreen.html +54 -0
  26. test/integration-7/backend/testSettingsScreen.html +2053 -0
  27. test/integration-7/backend/videointelligenceInstallTest.php +80 -0
  28. test/integration-7/bootstrap.php +38 -0
  29. test/integration-7/frontend/1-shortcodesTest.php +52 -0
  30. test/integration-7/frontend/endActionsTest.php +164 -0
  31. test/integration-7/frontend/shortcodesLightboxTest.php +168 -0
  32. test/integration-7/frontend/shortcodesPlaylistTest.php +156 -0
  33. test/integration-7/frontend/testSimpleShortcode.html +82 -0
  34. test/integration-7/frontend/videoPositionSavingTest.php +151 -0
  35. test/integration-7/fv-player-ajax-unittest-case.php +67 -0
  36. test/integration-7/fv-player-unittest-case.php +74 -0
  37. test/integration-7/phpunit.xml +8 -0
  38. test/integration/backend/testSettingsScreen.html +3 -3
  39. test/integration/bootstrap.php +1 -0
  40. test/integration/frontend/shortcodesPlaylistTest.php +4 -4
  41. test/integration/frontend/videoPositionSavingTest.php +2 -2
  42. test/integration/fv-player-ajax-unittest-case.php +1 -1
  43. test/integration/fv-player-unittest-case.php +2 -2
  44. test/unit/controller/frontendTest.php +1 -0
  45. view/admin-beta.php +2 -4
  46. view/admin.php +1 -1
beta-changelog.txt ADDED
@@ -0,0 +1,61 @@
1
+ == Changelog ==
2
+
3
+ = 7.1.12.726.beta =
4
+
5
+ * Audio player - making sure "Force fullscreen on mobile" doesn't work for it as it makes no sense
6
+ * Getting rid of the old video tag code
7
+
8
+ = 7.1.11.726.beta =
9
+
10
+ * Fixing subtitle size setting
11
+
12
+ = 7.1.10.726.beta =
13
+
14
+ * Fixing fp-header and notices click action
15
+ * Fixing fullscreen when Fancybox is enabled for images, but not used for video
16
+
17
+ = 7.1.7.726 =
18
+
19
+ * Fixes for lightbox - proper title for images in h5, hiding WP admin bar and Social Warfare bar, support for WP Rocket image lazyload
20
+
21
+ = 7.1.6.726 =
22
+
23
+ * New lightbox library - using fancyBox 3
24
+ * Playlist - setting maximum player width to 100% to prevent display issues
25
+ * Preventing right mouse click on player
26
+ * XML Video Sitemap and Schema.org - fixing exclusion for CloudFront domains
27
+
28
+ = 7.1.5.726 =
29
+
30
+ * Lightbox - fixing height bug if video is bigger than screen size and taller
31
+
32
+ = 7.1.4.726 =
33
+
34
+ * Fix for MPEG-DASH (Vimeo) stream seeking issues which appeared when seeking too often
35
+
36
+ = 7.1.3.726 =
37
+
38
+ * Fix for MPEG-DASH (Vimeo) silent autoplay, important for Chrome
39
+
40
+ = 7.1.2.726 =
41
+
42
+ * iOS < 10 fix
43
+ * Quality selection menu is now sorted
44
+ * Quality selection for HLS stream is not remembered
45
+ * Quality button now shows proper quality label
46
+ * Samsung Browser shows warning to use other browser if there is a video error
47
+ * Speed menu now get a vertical scrollbar if needed
48
+
49
+ = 7.1.1.726 =
50
+
51
+ * Dash current quality bold in qs menu
52
+ * Dash JS quality remembering
53
+ * Showing the fallback no-svg play icon during player load time and for lightbox starters
54
+
55
+ = 7.1.726 =
56
+
57
+ * Fixing FV Player 7 license key - it was mangled when saving the settings
58
+
59
+ = 7.0.726 =
60
+
61
+ * Initial FV Player 7 release for FV Player Pro Beta users
beta-update.txt ADDED
@@ -0,0 +1,4 @@
1
+ /*
2
+ This files is used to signal there is a new version out of the beta users
3
+ */
4
+ O:8:"stdClass":5:{s:7:"version";s:10:"7.1.12.726";s:11:"new_version";s:10:"7.1.12.726";s:4:"date";s:10:"2018-08-14";s:7:"package";s:66:"https://downloads.wordpress.org/plugin/fv-wordpress-flowplayer.zip";s:4:"slug";s:23:"fv-wordpress-flowplayer";}
controller/backend.php CHANGED
@@ -754,7 +754,7 @@ function fv_player_block_update( $arg ) {
754
755
756
/*
757
- Beta plugin needs to show different update on the plugins screen
758
*/
759
add_filter( 'all_plugins', 'fv_player_beta_adjust_plugin_version' );
760
@@ -769,3 +769,24 @@ function fv_player_beta_adjust_plugin_version( $aPlugins ) {
769
return $aPlugins;
770
}
771
754
755
756
/*
757
+ Beta plugin needs to show different version on the plugins screen
758
*/
759
add_filter( 'all_plugins', 'fv_player_beta_adjust_plugin_version' );
760
769
return $aPlugins;
770
}
771
772
+
773
+ /*
774
+ Beta version to not show release updates
775
+ */
776
+ add_filter( 'site_transient_update_plugins', 'fv_player_beta_stop_release_updates' );
777
+
778
+ function fv_player_beta_stop_release_updates( $objUpdates ) {
779
+ if( !flowplayer::is_beta() || !$objUpdates || !isset($objUpdates->response) || count($objUpdates->response) == 0 ) return $objUpdates;
780
+
781
+ global $fv_wp_flowplayer_ver_beta;
782
+ foreach( $objUpdates->response AS $key => $objUpdate ) {
783
+ if( stripos($key,'fv-wordpress-flowplayer') === 0 ) {
784
+ if( version_compare($objUpdate->new_version,$fv_wp_flowplayer_ver_beta) == -1 ) {
785
+ unset($objUpdates->response[$key]);
786
+ }
787
+ }
788
+ }
789
+
790
+ return $objUpdates;
791
+ }
792
+
controller/frontend.php CHANGED
@@ -71,6 +71,7 @@ function fv_flowplayer_get_js_translations() {
71
'check_failed' =>__('Admin: Check failed.','fv-wordpress-flowplayer'),
72
'playlist_current' =>__('Now Playing','fv-wordpress-flowplayer'),
73
'video_issues' =>__('Video Issues','fv-wordpress-flowplayer'),
74
'link_copied' =>__('Video Link Copied to Clipboard','fv-wordpress-flowplayer'),
75
'embed_copied' =>__('Embed Code Copied to Clipboard','fv-wordpress-flowplayer'),
76
'subtitles_disabled' =>__('Subtitles disabled','fv-wordpress-flowplayer'),
@@ -395,7 +396,7 @@ function flowplayer_prepare_scripts() {
395
wp_localize_script( 'flowplayer', 'fv_flowplayer_translations', fv_flowplayer_get_js_translations());
396
wp_localize_script( 'flowplayer', 'fv_fp_ajaxurl', site_url().'/wp-admin/admin-ajax.php' );
397
398
- if( $fv_fp->_get_option('old_code') ) {
399
wp_localize_script( 'flowplayer', 'fv_flowplayer_playlists', $fv_fp->aPlaylists );
400
} else {
401
wp_localize_script( 'flowplayer', 'fv_flowplayer_playlists', array() ); // has to be defined for FV Player Pro 0.6.20 and such
@@ -426,8 +427,12 @@ function flowplayer_prepare_scripts() {
426
$aConf['lightbox_images'] = $fv_fp->_get_option('lightbox_images');
427
428
if( !$FV_Player_lightbox->bCSSLoaded ) $FV_Player_lightbox->css_enqueue(true);
429
-
430
- wp_enqueue_script( 'fv_player_lightbox', flowplayer::get_plugin_url().'/js/lightbox.js', 'jquery', $fv_wp_flowplayer_ver, true );
431
wp_localize_script( 'fv_player_lightbox', 'fv_player_lightbox', $aConf );
432
433
}
71
'check_failed' =>__('Admin: Check failed.','fv-wordpress-flowplayer'),
72
'playlist_current' =>__('Now Playing','fv-wordpress-flowplayer'),
73
'video_issues' =>__('Video Issues','fv-wordpress-flowplayer'),
74
+ 'video_reload' =>__('Video loading has stalled, click to reload','fv-wordpress-flowplayer'),
75
'link_copied' =>__('Video Link Copied to Clipboard','fv-wordpress-flowplayer'),
76
'embed_copied' =>__('Embed Code Copied to Clipboard','fv-wordpress-flowplayer'),
77
'subtitles_disabled' =>__('Subtitles disabled','fv-wordpress-flowplayer'),
396
wp_localize_script( 'flowplayer', 'fv_flowplayer_translations', fv_flowplayer_get_js_translations());
397
wp_localize_script( 'flowplayer', 'fv_fp_ajaxurl', site_url().'/wp-admin/admin-ajax.php' );
398
399
+ if( $fv_fp->_get_option('old_code') && !$fv_fp->is_beta() ) {
400
wp_localize_script( 'flowplayer', 'fv_flowplayer_playlists', $fv_fp->aPlaylists );
401
} else {
402
wp_localize_script( 'flowplayer', 'fv_flowplayer_playlists', array() ); // has to be defined for FV Player Pro 0.6.20 and such
427
$aConf['lightbox_images'] = $fv_fp->_get_option('lightbox_images');
428
429
if( !$FV_Player_lightbox->bCSSLoaded ) $FV_Player_lightbox->css_enqueue(true);
430
+
431
+ if( !$FV_Player_lightbox->is_fancybox() ) {
432
+ wp_enqueue_script( 'fv_player_lightbox', flowplayer::get_plugin_url().'/js/lightbox.js', 'jquery', $fv_wp_flowplayer_ver, true );
433
+ } else {
434
+ wp_enqueue_script( 'fv_player_lightbox', flowplayer::get_plugin_url().'/js/fancybox.js', 'jquery', $fv_wp_flowplayer_ver, true );
435
+ }
436
wp_localize_script( 'fv_player_lightbox', 'fv_player_lightbox', $aConf );
437
438
}
controller/settings.php CHANGED
@@ -83,7 +83,7 @@ add_filter( 'get_user_option_closedpostboxes_fv_flowplayer_settings', 'fv_wp_flo
83
84
function fv_wp_flowplayer_closed_meta_boxes( $closed ) {
85
if ( false === $closed )
86
- $closed = array( 'fv_flowplayer_amazon_options', 'fv_flowplayer_interface_options', 'fv_flowplayer_default_options', 'fv_flowplayer_ads', 'fv_flowplayer_integrations', 'fv_player_pro' );
87
88
return $closed;
89
}
@@ -146,6 +146,37 @@ function fv_player_admin_pointer_boxes() {
146
);
147
}
148
149
if(
150
(stripos( $_SERVER['REQUEST_URI'], '/plugins.php') !== false ||fv_player_is_admin_screen() )
151
&& $pnotices = get_option('fv_wordpress_flowplayer_persistent_notices')
@@ -198,6 +229,26 @@ function fv_wp_flowplayer_pointers_ajax() {
198
die();
199
}
200
201
if( isset($_POST['key']) && $_POST['key'] == 'fv_player_notification_video_links' && isset($_POST['value']) ) {
202
check_ajax_referer('fv_player_notification_video_links');
203
$conf = get_option( 'fvwpflowplayer' );
@@ -304,3 +355,87 @@ function flowplayer_admin_footer_wp_js_restore() {
304
</script>
305
<?php
306
}
83
84
function fv_wp_flowplayer_closed_meta_boxes( $closed ) {
85
if ( false === $closed )
86
+ $closed = array( 'fv_flowplayer_amazon_options', 'fv_flowplayer_interface_options', 'fv_flowplayer_default_options', 'fv_flowplayer_ads', 'fv_flowplayer_integrations', 'fv_flowplayer_mobile', 'fv_flowplayer_seo', 'fv_flowplayer_conversion', 'fv_player_pro' );
87
88
return $closed;
89
}
146
);
147
}
148
149
+ if( $fv_fp->is_beta() && !$fv_fp->_get_option('notice_new_lightbox') ) {
150
+ $fv_fp->pointer_boxes['fv_flowplayer_new_lightbox'] = array(
151
+ 'id' => '#wp-admin-bar-new-content',
152
+ 'pointerClass' => 'fv_flowplayer_new_lightbox',
153
+ 'heading' => __('FV Player Video Lightbox', 'fv-wordpress-flowplayer'),
154
+ 'content' => __("<p>The lightbox technology has been changed from <a href='http://www.jacklmoore.com/colorbox/' target='_blank'>Colorbox</a> to <a href='https://fancyapps.com/fancybox/3/' target='_blank'>fancyBox</a></p><p>Please <a href='https://foliovision.com/support/fv-wordpress-flowplayer/bug-reports#new-post' target='_blank'>let us know</a> in case you notice any issues. You can check <a href='https://foliovision.com/player/demos/fv-flowplayer-lightbox' target='_blank'>our FV Player demo page</a> of it too.</p>", 'fv-wordpress-flowplayer'),
155
+ 'position' => array( 'edge' => 'top', 'align' => 'center' ),
156
+ 'button1' => __('Acknowledge', 'fv-wordpress-flowplayer'),
157
+ 'button2' => '<style>.fv_flowplayer_new_lightbox .button-secondary { display: none }</style>'
158
+ );
159
+ }
160
+
161
+ if( $fv_fp->is_beta() && $fv_fp->_get_option('nag_fv_player_7') ) {
162
+ $fv_fp->pointer_boxes['fv_flowplayer_fv_player_7'] = array(
163
+ 'id' => '#wp-admin-bar-new-content',
164
+ 'pointerClass' => 'fv_flowplayer_fv_player_7',
165
+ 'heading' => __('FV Player 7 Bera', 'fv-wordpress-flowplayer'),
166
+ 'content' => '<p>Welcome to the brand new FV Player 7 Beta! Improvements include:</p>'.
167
+ '<ul style="list-style: circle; padding-left: 3em;"><li>New player design and skin options</li>
168
+ <li>New Flowplayer core video engine</li>
169
+ <li>Support for autoplay on mobile</li>
170
+ <li>New lightbox look</li>
171
+ <li>Improved video buffering</li></ul>'.
172
+ '<p>More information in our <a href="https://foliovision.com/2018/05/fv-player-7-beta" target="_blank">blog announcement</a>.</p>'.
173
+ '<p>In case of any issues you can still switch back to the release verson on the <a href="' . admin_url('options-general.php?page=fvplayer') . '">settings screen</a>. Please also file in a <a href="https://foliovision.com/support/fv-wordpress-flowplayer/bug-reports#new-post" target="_blank">bug report</a>.</p>',
174
+ 'position' => array( 'edge' => 'top', 'align' => 'center' ),
175
+ 'button1' => __('Acknowledge', 'fv-wordpress-flowplayer'),
176
+ 'button2' => '<style>.fv_flowplayer_fv_player_7 .button-secondary { display: none }</style>'
177
+ );
178
+ }
179
+
180
if(
181
(stripos( $_SERVER['REQUEST_URI'], '/plugins.php') !== false ||fv_player_is_admin_screen() )
182
&& $pnotices = get_option('fv_wordpress_flowplayer_persistent_notices')
229
die();
230
}
231
232
+ if( isset($_POST['key']) && $_POST['key'] == 'fv_flowplayer_new_lightbox' && isset($_POST['value']) ) {
233
+ check_ajax_referer('fv_flowplayer_new_lightbox');
234
+ $conf = get_option( 'fvwpflowplayer' );
235
+ if( $conf ) {
236
+ $conf['notice_new_lightbox'] = 'true';
237
+ update_option( 'fvwpflowplayer', $conf );
238
+ }
239
+ die();
240
+ }
241
+
242
+ if( isset($_POST['key']) && $_POST['key'] == 'fv_flowplayer_fv_player_7' && isset($_POST['value']) ) {
243
+ check_ajax_referer('fv_flowplayer_fv_player_7');
244
+ $conf = get_option( 'fvwpflowplayer' );
245
+ if( $conf ) {
246
+ unset($conf['nag_fv_player_7']);
247
+ update_option( 'fvwpflowplayer', $conf );
248
+ }
249
+ die();
250
+ }
251
+
252
if( isset($_POST['key']) && $_POST['key'] == 'fv_player_notification_video_links' && isset($_POST['value']) ) {
253
check_ajax_referer('fv_player_notification_video_links');
254
$conf = get_option( 'fvwpflowplayer' );
355
</script>
356
<?php
357
}
358
+
359
+
360
+ /*
361
+ Beta switcher interface
362
+ */
363
+ add_action( 'plugins_loaded', 'fv_player_version_switcher_init' );
364
+
365
+ function fv_player_version_switcher_init() {
366
+ global $FV_Player_Pro;
367
+ if( !empty($FV_Player_Pro) ) return;
368
+
369
+ add_action( 'admin_notices', 'fv_player_version_switcher_start', 999999 );
370
+ add_action( 'fv_player_settings_pre', 'fv_player_version_switcher' );
371
+ add_action( 'fv_flowplayer_admin_buttons_after', 'fv_player_version_switcher_script' );
372
+ add_action( 'admin_footer', 'fv_player_version_switcher_save' );
373
+ }
374
+
375
+ function fv_player_version_switcher_start() {
376
+ if( isset($_GET['page']) && $_GET['page'] == 'fvplayer' ) ob_start();
377
+ }
378
+
379
+ function fv_player_version_switcher() {
380
+ $html = ob_get_clean();
381
+
382
+ $select = "<select id='fv-player-pro-release' name='fv-player-pro-release'>";
383
+ $select .= "<option".( fv_player_version_switcher_get_release() == 'beta' ? " selected" : "" )." value='beta'>Beta</option>";
384
+ $select .= "<option".( fv_player_version_switcher_get_release() == 'release' ? " selected" : "" )." value='release'>Release</option>";
385
+ $select .= "</select>";
386
+
387
+ $html = str_replace('<h2>FV Player</h2>','<form action="" method="post"><h2>FV Player '.$select.'</h2><input type="hidden" name="fv_player_pro_switch" value="' . wp_create_nonce( 'fv_player_pro_switch' ) . '" /></form>',$html);
388
+
389
+ echo $html;
390
+ }
391
+
392
+ function fv_player_version_switcher_get_release() {
393
+ $release = isset($_POST['fv-player-pro-release']) && isset($_REQUEST['fv_player_pro_switch']) ? $_POST['fv-player-pro-release'] : get_option('fv-player-pro-release');
394
+ if( !$release ) {
395
+ $release = 'release';
396
+ }
397
+ return $release;
398
+ }
399
+
400
+ function fv_player_version_switcher_script() {
401
+ ?>
402
+ <script>
403
+ jQuery('#fv-player-pro-release').change( function() {
404
+ var question = '';
405
+ var version = jQuery(this).val().toLowerCase();
406
+
407
+ switch( version )
408
+ {
409
+ case "beta":
410
+ question = '<?php _e('Are you sure you want to switch your FV Player release to beta?', 'fv-wordpress-flowplayer'); ?>';
411
+ break;
412
+ case "release":
413
+ question = '<?php _e('Are you sure you want to switch your FV Player beta to release?', 'fv-wordpress-flowplayer'); ?>';
414
+ break;
415
+ case "stable":
416
+
417
+ break;
418
+ default:
419
+ console.log('version_switcher_script -> unexpected version');
420
+ }
421
+
422
+ if( !confirm(question) )
423
+ {
424
+ jQuery(this).val( '<?php echo fv_player_version_switcher_get_release(); ?>' );
425
+ return false;
426
+ }
427
+
428
+ jQuery('#fv-player-pro-release').parents('form').submit();
429
+ });
430
+ </script>
431
+ <?php
432
+ }
433
+
434
+ function fv_player_version_switcher_save() {
435
+ if( isset($_POST['fv-player-pro-release']) && isset($_REQUEST['fv_player_pro_switch']) && wp_verify_nonce( $_REQUEST['fv_player_pro_switch'], 'fv_player_pro_switch') ) {
436
+ update_option('fv-player-pro-release',$_POST['fv-player-pro-release']);
437
+
438
+ global $fv_fp;
439
+ $fv_fp->css_writeout();
440
+ }
441
+ }
css/fancybox.css ADDED
@@ -0,0 +1,813 @@
1
+ body.compensate-for-scrollbar {
2
+ overflow: hidden; }
3
+
4
+ .fancybox-active {
5
+ height: auto; }
6
+
7
+ .fancybox-is-hidden {
8
+ left: -9999px;
9
+ margin: 0;
10
+ position: absolute !important;
11
+ top: -9999px;
12
+ visibility: hidden; }
13
+
14
+ .fancybox-container {
15
+ -webkit-backface-visibility: hidden;
16
+ backface-visibility: hidden;
17
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji',
18
+ 'Segoe UI Emoji', 'Segoe UI Symbol';
19
+ height: 100%;
20
+ left: 0;
21
+ position: fixed;
22
+ -webkit-tap-highlight-color: transparent;
23
+ top: 0;
24
+ -webkit-transform: translateZ(0);
25
+ transform: translateZ(0);
26
+ width: 100%;
27
+ z-index: 99992; }
28
+
29
+ .fancybox-container * {
30
+ box-sizing: border-box; }
31
+
32
+ .fancybox-outer,
33
+ .fancybox-inner,
34
+ .fancybox-bg,
35
+ .fancybox-stage {
36
+ bottom: 0;
37
+ left: 0;
38
+ position: absolute;
39
+ right: 0;
40
+ top: 0; }
41
+
42
+ .fancybox-outer {
43
+ -webkit-overflow-scrolling: touch;
44
+ overflow-y: auto; }
45
+
46
+ .fancybox-bg {
47
+ background: #1e1e1e;
48
+ opacity: 0;
49
+ transition-duration: inherit;
50
+ transition-property: opacity;
51
+ transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); }
52
+
53
+ .fancybox-is-open .fancybox-bg {
54
+ opacity: .87;
55
+ transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }
56
+
57
+ .fancybox-infobar,
58
+ .fancybox-toolbar,
59
+ .fancybox-caption,
60
+ .fancybox-navigation .fancybox-button {
61
+ direction: ltr;
62
+ opacity: 0;
63
+ position: absolute;
64
+ transition: opacity .25s, visibility 0s linear .25s;
65
+ visibility: hidden;
66
+ z-index: 99997; }
67
+
68
+ .fancybox-show-infobar .fancybox-infobar,
69
+ .fancybox-show-toolbar .fancybox-toolbar,
70
+ .fancybox-show-caption .fancybox-caption,
71
+ .fancybox-show-nav .fancybox-navigation .fancybox-button {
72
+ opacity: 1;
73
+ transition: opacity .25s, visibility 0s;
74
+ visibility: visible; }
75
+
76
+ .fancybox-infobar {
77
+ color: #ccc;
78
+ font-size: 13px;
79
+ -webkit-font-smoothing: subpixel-antialiased;
80
+ height: 44px;
81
+ left: 0;
82
+ line-height: 44px;
83
+ min-width: 44px;
84
+ mix-blend-mode: difference;
85
+ padding: 0 10px;
86
+ pointer-events: none;
87
+ text-align: center;
88
+ top: 0;
89
+ -webkit-touch-callout: none;
90
+ -webkit-user-select: none;
91
+ -moz-user-select: none;
92
+ -ms-user-select: none;
93
+ user-select: none; }
94
+
95
+ .fancybox-toolbar {
96
+ right: 0;
97
+ top: 0; }
98
+
99
+ .fancybox-stage {
100
+ direction: ltr;
101
+ overflow: visible;
102
+ -webkit-transform: translate3d(0, 0, 0);
103
+ z-index: 99994; }
104
+
105
+ .fancybox-is-open .fancybox-stage {
106
+ overflow: hidden; }
107
+
108
+ .fancybox-slide {
109
+ -webkit-backface-visibility: hidden;
110
+ backface-visibility: hidden;
111
+ display: none;
112
+ height: 100%;
113
+ left: 0;
114
+ outline: none;
115
+ overflow: auto;
116
+ -webkit-overflow-scrolling: touch;
117
+ padding: 44px;
118
+ position: absolute;
119
+ text-align: center;
120
+ top: 0;
121
+ transition-property: opacity, -webkit-transform;
122
+ transition-property: transform, opacity;
123
+ transition-property: transform, opacity, -webkit-transform;
124
+ white-space: normal;
125
+ width: 100%;
126
+ z-index: 99994; }
127
+
128
+ .fancybox-slide::before {
129
+ content: '';
130
+ display: inline-block;
131
+ height: 100%;
132
+ margin-right: -.25em;
133
+ vertical-align: middle;
134
+ width: 0; }
135
+
136
+ .fancybox-is-sliding .fancybox-slide,
137
+ .fancybox-slide--previous,
138
+ .fancybox-slide--current,
139
+ .fancybox-slide--next {
140
+ display: block; }
141
+
142
+ .fancybox-slide--next {
143
+ z-index: 99995; }
144
+
145
+ .fancybox-slide--image {
146
+ overflow: visible;
147
+ padding: 44px 0; }
148
+
149
+ .fancybox-slide--image::before {
150
+ display: none; }
151
+
152
+ .fancybox-slide--html {
153
+ padding: 6px 6px 0 6px; }
154
+
155
+ .fancybox-slide--iframe {
156
+ padding: 44px 44px 0; }
157
+
158
+ .fancybox-content {
159
+ background: #fff;
160
+ display: inline-block;
161
+ margin: 0 0 6px 0;
162
+ max-width: 100%;
163
+ overflow: auto;
164
+ padding: 0;
165
+ padding: 24px;
166
+ position: relative;
167
+ text-align: left;
168
+ vertical-align: middle; }
169
+
170
+ .fancybox-slide--image .fancybox-content {
171
+ -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
172
+ animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
173
+ -webkit-backface-visibility: hidden;
174
+ backface-visibility: hidden;
175
+ background: transparent;
176
+ background-repeat: no-repeat;
177
+ background-size: 100% 100%;
178
+ left: 0;
179
+ margin: 0;
180
+ max-width: none;
181
+ overflow: visible;
182
+ padding: 0;
183
+ position: absolute;
184
+ top: 0;
185
+ -webkit-transform-origin: top left;
186
+ -ms-transform-origin: top left;
187
+ transform-origin: top left;
188
+ transition-property: opacity, -webkit-transform;
189
+ transition-property: transform, opacity;
190
+ transition-property: transform, opacity, -webkit-transform;
191
+ -webkit-user-select: none;
192
+ -moz-user-select: none;
193
+ -ms-user-select: none;
194
+ user-select: none;
195
+ z-index: 99995; }
196
+
197
+ .fancybox-can-zoomOut .fancybox-content {
198
+ cursor: -webkit-zoom-out;
199
+ cursor: zoom-out; }
200
+
201
+ .fancybox-can-zoomIn .fancybox-content {
202
+ cursor: -webkit-zoom-in;
203
+ cursor: zoom-in; }
204
+
205
+ .fancybox-can-drag .fancybox-content {
206
+ cursor: -webkit-grab;
207
+ cursor: grab; }
208
+
209
+ .fancybox-is-dragging .fancybox-content {
210
+ cursor: -webkit-grabbing;
211
+ cursor: grabbing; }
212
+
213
+ .fancybox-container [data-selectable='true'] {
214
+ cursor: text; }
215
+
216
+ .fancybox-image,
217
+ .fancybox-spaceball {
218
+ background: transparent;
219
+ border: 0;
220
+ height: 100%;
221
+ left: 0;
222
+ margin: 0;
223
+ max-height: none;
224
+ max-width: none;
225
+ padding: 0;
226
+ position: absolute;
227
+ top: 0;
228
+ -webkit-user-select: none;
229
+ -moz-user-select: none;
230
+ -ms-user-select: none;
231
+ user-select: none;
232
+ width: 100%; }
233
+
234
+ .fancybox-spaceball {
235
+ z-index: 1; }
236
+
237
+ .fancybox-slide--html .fancybox-content {
238
+ margin-bottom: 6px; }
239
+
240
+ .fancybox-slide--video .fancybox-content,
241
+ .fancybox-slide--map .fancybox-content,
242
+ .fancybox-slide--iframe .fancybox-content {
243
+ height: 100%;
244
+ margin: 0;
245
+ overflow: visible;
246
+ padding: 0;
247
+ width: 100%; }
248
+
249
+ .fancybox-slide--video .fancybox-content {
250
+ background: #000; }
251
+
252
+ .fancybox-slide--map .fancybox-content {
253
+ background: #e5e3df; }
254
+
255
+ .fancybox-slide--iframe .fancybox-content {
256
+ background: #fff;
257
+ height: calc(100% - 44px);
258
+ margin-bottom: 44px; }
259
+
260
+ .fancybox-video,
261
+ .fancybox-iframe {
262
+ background: transparent;
263
+ border: 0;
264
+ height: 100%;
265
+ margin: 0;
266
+ overflow: hidden;
267
+ padding: 0;
268
+ width: 100%; }
269
+
270
+ .fancybox-iframe {
271
+ vertical-align: top; }
272
+
273
+ .fancybox-error {
274
+ background: #fff;
275
+ cursor: default;
276
+ max-width: 400px;
277
+ padding: 40px;
278
+ width: 100%; }
279
+
280
+ .fancybox-error p {
281
+ color: #444;
282
+ font-size: 16px;
283
+ line-height: 20px;
284
+ margin: 0;
285
+ padding: 0; }
286
+
287
+ /* Buttons */
288
+ .fancybox-button {
289
+ background: rgba(30, 30, 30, 0.6);
290
+ border: 0;
291
+ border-radius: 0;
292
+ cursor: pointer;
293
+ display: inline-block;
294
+ height: 44px;
295
+ margin: 0;
296
+ outline: none;
297
+ padding: 10px;
298
+ transition: color .2s;
299
+ vertical-align: top;
300
+ width: 44px; }
301
+
302
+ .fancybox-button,
303
+ .fancybox-button:visited,
304
+ .fancybox-button:link {
305
+ color: #ccc; }
306
+
307
+ .fancybox-button:focus,
308
+ .fancybox-button:hover {
309
+ color: #fff; }
310
+
311
+ .fancybox-button.disabled,
312
+ .fancybox-button.disabled:hover,
313
+ .fancybox-button[disabled],
314
+ .fancybox-button[disabled]:hover {
315
+ color: #888;
316
+ cursor: default; }
317
+
318
+ .fancybox-button svg {
319
+ display: block;
320
+ overflow: visible;
321
+ position: relative;
322
+ shape-rendering: geometricPrecision; }
323
+
324
+ .fancybox-button svg path {
325
+ fill: transparent;
326
+ stroke: currentColor;
327
+ stroke-linejoin: round;
328
+ stroke-width: 3; }
329
+
330
+ .fancybox-button--play svg path:nth-child(2) {
331
+ display: none; }
332
+
333
+ .fancybox-button--pause svg path:nth-child(1) {
334
+ display: none; }
335
+
336
+ .fancybox-button--play svg path,
337
+ .fancybox-button--share svg path,
338
+ .fancybox-button--thumbs svg path {
339
+ fill: currentColor; }
340
+
341
+ .fancybox-button--share svg path {
342
+ stroke-width: 1; }
343
+
344
+ /* Navigation arrows */
345
+ .fancybox-navigation .fancybox-button {
346
+ height: 38px;
347
+ opacity: 0;
348
+ padding: 6px;
349
+ position: absolute;
350
+ top: 50%;
351
+ width: 38px; }
352
+
353
+ .fancybox-show-nav .fancybox-navigation .fancybox-button {
354
+ transition: opacity .25s, visibility 0s, color .25s; }
355
+
356
+ .fancybox-navigation .fancybox-button::after {
357
+ content: '';
358
+ left: -25px;
359
+ padding: 50px;
360
+ position: absolute;
361
+ top: -25px; }
362
+
363
+ .fancybox-navigation .fancybox-button--arrow_left {
364
+ left: 6px; }
365
+
366
+ .fancybox-navigation .fancybox-button--arrow_right {
367
+ right: 6px; }
368
+
369
+ /* Close button on the top right corner of html content */
370
+ .fancybox-close-small {
371
+ background: transparent;
372
+ border: 0;
373
+ border-radius: 0;
374
+ color: #555;
375
+ cursor: pointer;
376
+ height: 44px;
377
+ margin: 0;
378
+ padding: 6px;
379
+ position: absolute;
380
+ right: 0;
381
+ top: 0;
382
+ width: 44px;
383
+ z-index: 10; }
384
+
385
+ .fancybox-close-small svg {
386
+ fill: transparent;
387
+ opacity: .8;
388
+ stroke: currentColor;
389
+ stroke-width: 1.5;
390
+ transition: stroke .1s; }
391
+
392
+ .fancybox-close-small:focus {
393
+ outline: none; }
394
+
395
+ .fancybox-close-small:hover svg {
396
+ opacity: 1; }
397
+
398
+ .fancybox-slide--image .fancybox-close-small,
399
+ .fancybox-slide--video .fancybox-close-small,
400
+ .fancybox-slide--iframe .fancybox-close-small {
401
+ color: #ccc;
402
+ padding: 5px;
403
+ right: -12px;
404
+ top: -44px; }
405
+
406
+ .fancybox-slide--image .fancybox-close-small:hover svg,
407
+ .fancybox-slide--video .fancybox-close-small:hover svg,
408
+ .fancybox-slide--iframe .fancybox-close-small:hover svg {
409
+ background: transparent;
410
+ color: #fff; }
411
+
412
+ .fancybox-is-scaling .fancybox-close-small,
413
+ .fancybox-is-zoomable.fancybox-can-drag .fancybox-close-small {
414
+ display: none; }
415
+
416
+ /* Caption */
417
+ .fancybox-caption {
418
+ bottom: 0;
419
+ color: #fff;
420
+ font-size: 14px;
421
+ font-weight: 400;
422
+ left: 0;
423
+ line-height: 1.5;
424
+ padding: 25px 44px 25px 44px;
425
+ right: 0; }
426
+
427
+ .fancybox-caption::before {
428
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAEtCAQAAABjBcL7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHRJREFUKM+Vk8EOgDAIQ0vj/3+xBw8qIZZueFnIKC90MCAI8DlrkHGeqqGIU6lVigrBtpCWqeRWoHDNqs0F7VNVBVxmHRlvoVqjaYkdnDIaivH2HqZ5+oZj3JUzWB+cOz4G48Bg+tsJ/tqu4dLC/4Xb+0GcF5BwBC0AA53qAAAAAElFTkSuQmCC);
429
+ background-repeat: repeat-x;
430
+ background-size: contain;
431
+ bottom: 0;
432
+ content: '';
433
+ display: block;
434
+ left: 0;
435
+ pointer-events: none;
436
+ position: absolute;
437
+ right: 0;
438
+ top: -25px;
439
+ z-index: -1; }
440
+
441
+ .fancybox-caption::after {
442
+ border-bottom: 1px solid rgba(255, 255, 255, 0.3);
443
+ content: '';
444
+ display: block;
445
+ left: 44px;
446
+ position: absolute;
447
+ right: 44px;
448
+ top: 0; }
449
+
450
+ .fancybox-caption a,
451
+ .fancybox-caption a:link,
452
+ .fancybox-caption a:visited {
453
+ color: #ccc;
454
+ text-decoration: none; }
455
+
456
+ .fancybox-caption a:hover {
457
+ color: #fff;
458
+ text-decoration: underline; }
459
+
460
+ /* Loading indicator */
461
+ .fancybox-loading {
462
+ -webkit-animation: fancybox-rotate .8s infinite linear;
463
+ animation: fancybox-rotate .8s infinite linear;
464
+ background: transparent;
465
+ border: 6px solid rgba(100, 100, 100, 0.5);
466
+ border-radius: 100%;
467
+ border-top-color: #fff;
468
+ height: 60px;
469
+ left: 50%;
470
+ margin: -30px 0 0 -30px;
471
+ opacity: .6;
472
+ padding: 0;
473
+ position: absolute;
474
+ top: 50%;
475
+ width: 60px;
476
+ z-index: 99999; }
477
+
478
+ @-webkit-keyframes fancybox-rotate {
479
+ from {
480
+ -webkit-transform: rotate(0deg);
481
+ transform: rotate(0deg); }
482
+ to {
483
+ -webkit-transform: rotate(359deg);
484
+ transform: rotate(359deg); } }
485
+
486
+ @keyframes fancybox-rotate {
487
+ from {
488
+ -webkit-transform: rotate(0deg);
489
+ transform: rotate(0deg); }
490
+ to {
491
+ -webkit-transform: rotate(359deg);
492
+ transform: rotate(359deg); } }
493
+
494
+ /* Transition effects */
495
+ .fancybox-animated {
496
+ transition-timing-function: cubic-bezier(0, 0, 0.25, 1); }
497
+
498
+ /* transitionEffect: slide */
499
+ .fancybox-fx-slide.fancybox-slide--previous {
500
+ opacity: 0;
501
+ -webkit-transform: translate3d(-100%, 0, 0);
502
+ transform: translate3d(-100%, 0, 0); }
503
+
504
+ .fancybox-fx-slide.fancybox-slide--next {
505
+ opacity: 0;
506
+ -webkit-transform: translate3d(100%, 0, 0);
507
+ transform: translate3d(100%, 0, 0); }
508
+
509
+ .fancybox-fx-slide.fancybox-slide--current {
510
+ opacity: 1;
511
+ -webkit-transform: translate3d(0, 0, 0);
512
+ transform: translate3d(0, 0, 0); }
513
+
514
+ /* transitionEffect: fade */
515
+ .fancybox-fx-fade.fancybox-slide--previous,
516
+ .fancybox-fx-fade.fancybox-slide--next {
517
+ opacity: 0;
518
+ transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
519
+
520
+ .fancybox-fx-fade.fancybox-slide--current {
521
+ opacity: 1; }
522
+
523
+ /* transitionEffect: zoom-in-out */
524
+ .fancybox-fx-zoom-in-out.fancybox-slide--previous {
525
+ opacity: 0;
526
+ -webkit-transform: scale3d(1.5, 1.5, 1.5);
527
+ transform: scale3d(1.5, 1.5, 1.5); }
528
+
529
+ .fancybox-fx-zoom-in-out.fancybox-slide--next {
530
+ opacity: 0;
531
+ -webkit-transform: scale3d(0.5, 0.5, 0.5);
532
+ transform: scale3d(0.5, 0.5, 0.5); }
533
+
534
+ .fancybox-fx-zoom-in-out.fancybox-slide--current {
535
+ opacity: 1;
536
+ -webkit-transform: scale3d(1, 1, 1);
537
+ transform: scale3d(1, 1, 1); }
538
+
539
+ /* transitionEffect: rotate */
540
+ .fancybox-fx-rotate.fancybox-slide--previous {
541
+ opacity: 0;
542
+ -webkit-transform: rotate(-360deg);
543
+ -ms-transform: rotate(-360deg);
544
+ transform: rotate(-360deg); }
545
+
546
+ .fancybox-fx-rotate.fancybox-slide--next {
547
+ opacity: 0;
548
+ -webkit-transform: rotate(360deg);
549
+ -ms-transform: rotate(360deg);
550
+ transform: rotate(360deg); }
551
+
552
+ .fancybox-fx-rotate.fancybox-slide--current {
553
+ opacity: 1;
554
+ -webkit-transform: rotate(0deg);
555
+ -ms-transform: rotate(0deg);
556
+ transform: rotate(0deg); }
557
+
558
+ /* transitionEffect: circular */
559
+ .fancybox-fx-circular.fancybox-slide--previous {
560
+ opacity: 0;
561
+ -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
562
+ transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); }
563
+
564
+ .fancybox-fx-circular.fancybox-slide--next {
565
+ opacity: 0;
566
+ -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
567
+ transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); }
568
+
569
+ .fancybox-fx-circular.fancybox-slide--current {
570
+ opacity: 1;
571
+ -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
572
+ transform: scale3d(1, 1, 1) translate3d(0, 0, 0); }
573
+
574
+ /* transitionEffect: tube */
575
+ .fancybox-fx-tube.fancybox-slide--previous {
576
+ -webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
577
+ transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); }
578
+
579
+ .fancybox-fx-tube.fancybox-slide--next {
580
+ -webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
581
+ transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); }
582
+
583
+ .fancybox-fx-tube.fancybox-slide--current {
584
+ -webkit-transform: translate3d(0, 0, 0) scale(1);
585
+ transform: translate3d(0, 0, 0) scale(1); }
586
+
587
+ /* Share */
588
+ .fancybox-share {
589
+ background: #f4f4f4;
590
+ border-radius: 3px;
591
+ max-width: 90%;
592
+ padding: 30px;
593
+ text-align: center; }
594
+
595
+ .fancybox-share h1 {
596
+ color: #222;
597
+ font-size: 35px;
598
+ font-weight: 700;
599
+ margin: 0 0 20px 0; }
600
+
601
+ .fancybox-share p {
602
+ margin: 0;
603
+ padding: 0; }
604
+
605
+ .fancybox-share__button {
606
+ border: 0;
607
+ border-radius: 3px;
608
+ display: inline-block;
609
+ font-size: 14px;
610
+ font-weight: 700;
611
+ line-height: 40px;
612
+ margin: 0 5px 10px 5px;
613
+ min-width: 130px;
614
+ padding: 0 15px;
615
+ text-decoration: none;
616
+ transition: all .2s;
617
+ -webkit-user-select: none;
618
+ -moz-user-select: none;
619
+ -ms-user-select: none;
620
+ user-select: none;
621
+ white-space: nowrap; }
622
+
623
+ .fancybox-share__button:visited,
624
+ .fancybox-share__button:link {
625
+ color: #fff; }
626
+
627
+ .fancybox-share__button:hover {
628
+ text-decoration: none; }
629
+
630
+ .fancybox-share__button--fb {
631
+ background: #3b5998; }
632
+
633
+ .fancybox-share__button--fb:hover {
634
+ background: #344e86; }
635
+
636
+ .fancybox-share__button--pt {
637
+ background: #bd081d; }
638
+
639
+ .fancybox-share__button--pt:hover {
640
+ background: #aa0719; }
641
+
642
+ .fancybox-share__button--tw {
643
+ background: #1da1f2; }
644
+
645
+ .fancybox-share__button--tw:hover {
646
+ background: #0d95e8; }
647
+
648
+ .fancybox-share__button svg {
649
+ height: 25px;
650
+ margin-right: 7px;
651
+ position: relative;
652
+ top: -1px;
653
+ vertical-align: middle;
654
+ width: 25px; }
655
+
656
+ .fancybox-share__button svg path {
657
+ fill: #fff; }
658
+
659
+ .fancybox-share__input {
660
+ background: transparent;
661
+ border: 0;
662
+ border-bottom: 1px solid #d7d7d7;
663
+ border-radius: 0;
664
+ color: #5d5b5b;
665
+ font-size: 14px;
666
+ margin: 10px 0 0 0;
667
+ outline: none;
668
+ padding: 10px 15px;
669
+ width: 100%; }
670
+
671
+ /* Thumbs */
672
+ .fancybox-thumbs {
673
+ background: #fff;
674
+ bottom: 0;
675
+ display: none;
676
+ margin: 0;
677
+ -webkit-overflow-scrolling: touch;
678
+ -ms-overflow-style: -ms-autohiding-scrollbar;
679
+ padding: 2px 2px 4px 2px;
680
+ position: absolute;
681
+ right: 0;
682
+ -webkit-tap-highlight-color: transparent;
683
+ top: 0;
684
+ width: 212px;
685
+ z-index: 99995; }
686
+
687
+ .fancybox-thumbs-x {
688
+ overflow-x: auto;
689
+ overflow-y: hidden; }
690
+
691
+ .fancybox-show-thumbs .fancybox-thumbs {
692
+ display: block; }
693
+
694
+ .fancybox-show-thumbs .fancybox-inner {
695
+ right: 212px; }
696
+
697
+ .fancybox-thumbs > ul {
698
+ font-size: 0;
699
+ height: 100%;
700
+ list-style: none;
701
+ margin: 0;
702
+ overflow-x: hidden;
703
+ overflow-y: auto;
704
+ padding: 0;
705
+ position: absolute;
706
+ position: relative;
707
+ white-space: nowrap;
708
+ width: 100%; }
709
+
710
+ .fancybox-thumbs-x > ul {
711
+ overflow: hidden; }
712
+
713
+ .fancybox-thumbs-y > ul::-webkit-scrollbar {
714
+ width: 7px; }
715
+
716
+ .fancybox-thumbs-y > ul::-webkit-scrollbar-track {
717
+ background: #fff;
718
+ border-radius: 10px;
719
+ box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); }
720
+
721
+ .fancybox-thumbs-y > ul::-webkit-scrollbar-thumb {
722
+ background: #2a2a2a;
723
+ border-radius: 10px; }
724
+
725
+ .fancybox-thumbs > ul > li {
726
+ -webkit-backface-visibility: hidden;
727
+ backface-visibility: hidden;
728
+ cursor: pointer;
729
+ float: left;
730
+ height: 75px;
731
+ margin: 2px;
732
+ max-height: calc(100% - 8px);
733
+ max-width: calc(50% - 4px);
734
+ outline: none;
735
+ overflow: hidden;
736
+ padding: 0;
737
+ position: relative;
738
+ -webkit-tap-highlight-color: transparent;
739
+ width: 100px; }
740
+
741
+ .fancybox-thumbs-loading {
742
+ background: rgba(0, 0, 0, 0.1); }
743
+
744
+ .fancybox-thumbs > ul > li {
745
+ background-position: center center;
746
+ background-repeat: no-repeat;
747
+ background-size: cover; }
748
+
749
+ .fancybox-thumbs > ul > li:before {
750
+ border: 4px solid #4ea7f9;
751
+ bottom: 0;
752
+ content: '';
753
+ left: 0;
754
+ opacity: 0;
755
+ position: absolute;
756
+ right: 0;
757
+ top: 0;
758
+ transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
759
+ z-index: 99991; }
760
+
761
+ .fancybox-thumbs .fancybox-thumbs-active:before {
762
+ opacity: 1; }
763
+
764
+ /* Styling for Small-Screen Devices */
765
+ @media all and (max-width: 800px) {
766
+ .fancybox-thumbs {
767
+ width: 110px; }
768
+ .fancybox-show-thumbs .fancybox-inner {
769
+ right: 110px; }
770
+ .fancybox-thumbs > ul > li {
771
+ max-width: calc(100% - 10px); } }
772
+
773
+
774
+ /* Customizations */
775
+ .fancybox-content {
776
+ overflow: hidden;
777
+ }
778
+
779
+ .fancybox-content.flowplayer {
780
+ padding: 0;
781
+ background-size:contain;
782
+ background-repeat:no-repeat;
783
+ background-position:center center;
784
+ }
785
+
786
+ /* Make sure FV Player respects fancybox fullscreen mode */
787
+ .fancybox-is-fullscreen .flowplayer {
788
+ max-width: 9999px !important;
789
+ max-height: 9999px !important;
790
+ }
791
+ .fancybox-is-fullscreen .flowplayer .fp-fullscreen:before {
792
+ content: "\e016"; }
793
+ .fancybox-is-fullscreen .flowplayer.fp-outlined .fp-fullscreen:before, .fancybox-is-fullscreen .flowplayer.fp-minimal .fp-fullscreen:before {
794
+ content: "\e216"; }
795
+ .fancybox-is-fullscreen .flowplayer.fp-edgy .fp-fullscreen:before {
796
+ content: "\e116"; }
797
+ .fancybox-is-fullscreen .flowplayer.fp-edgy.fp-outlined .fp-fullscreen:before, .fancybox-is-fullscreen .flowplayer.fp-edgy.fp-minimal .fp-fullscreen:before {
798
+ content: "\e316"; }
799
+
800
+ .fv-player-fancybox-play-icon {
801
+ position: absolute;
802
+ left: 0;
803
+ right: 0;
804
+ top: 0;
805
+ bottom: 0;
806
+ z-index: 99999;
807
+ font-size: 40px;
808
+ color: white;
809
+ text-align: center;
810
+ text-shadow: 0px 0px 7px #000;
811
+ }
812
+
813
+ body.fancybox-active #wpadminbar, body.fancybox-active .nc_wrapper.bottom { display: none !important }
css/flowplayer-beta.css CHANGED
@@ -1217,14 +1217,12 @@
1217
1218
@media (max-width: 40em){
1219
.flowplayer .fp-help p{font-size:9px;}
1220
- .flowplayer .fp-logo{max-width: 130px;}
1221
}
1222
@media (max-width: 30em) {
1223
.flowplayer .fv_player_popup {width:99%;font-size:14px;top:0;}
1224
.flowplayer.is-fv-narrow .fv_player_popup{font-size:0.8em}
1225
}
1226
@media (max-width: 22.5em) {
1227
- .flowplayer .fp-logo{max-width: 90px;}
1228
.flowplayer.is-fv-narrow .mailchimp-form{padding:10px 1.5%}
1229
.flowplayer.is-fv-narrow .fv_player_popup{font-size:0.7em}
1230
}
@@ -1254,7 +1252,9 @@
1254
.flowplayer video.fp-engine { visibility:visible; }
1255
.flowplayer .fp-engine { max-width:100%; }
1256
.flowplayer.is-fullscreen .fp-logo{z-index:2147483647;}
1257
- .flowplayer .fp-logo{pointer-events: none;}
1258
1259
/* Share bar, todo: check! */
1260
.flowplayer .fp-embed-code{display:none;}
@@ -1550,18 +1550,7 @@
1550
.flowplayer.alignleft { margin-right: 10px; margin-bottom: 10px; }
1551
.flowplayer.alignright { margin-left: 10px; margin-bottom: 10px; }
1552
1553
-
1554
-
1555
- /* No Controlar, todo: check! */
1556
- .flowplayer.no-controlbar .fp-controls a,.flowplayer.no-controlbar .fp-controls .fp-volume,.flowplayer.no-controlbar .fp-time {display:none;}
1557
- .flowplayer.is-mouseover.no-controlbar .fp-controls, .flowplayer.fixed-controls.no-controlbar .fp-controls {height:auto;}
1558
- .flowplayer.is-mouseover.no-controlbar .fp-timeline {height:4px;top:0;}
1559
- .has-menu.no-brand.flowplayer.no-controlbar .fp-timeline {margin:0;}
1560
- .flowplayer.is-mouseover.no-controlbar .fp-controls, .flowplayer.is-mouseover.no-controlbar .fp-mute, .flowplayer.is-mouseover.no-controlbar .fp-title {height:0;}
1561
- .flowplayer.no-controlbar .fp-buffer, .flowplayer.no-controlbar .fp-progress, .flowplayer.no-controlbar .fp-timeline { cursor: auto; }
1562
- .flowplayer.no-controlbar .fp-timeline:hover+.fp-timeline-tooltip { display: none; }
1563
-
1564
-
1565
1566
/* Caption, todo: check!*/
1567
p.fp-caption { text-align: center;max-width: 100%; }
@@ -1735,9 +1724,12 @@ article .entry-content .fvfp_admin_error p { line-height: 18px }
1735
1736
1737
1738
- /* Notices, todo: check! */
1739
- .fvfp-notices { position: absolute;top:10%;z-index:20;text-align:center;width:100%;color:#fff;text-shadow: 0 0 1px #000; opacity: 1 }
1740
.flowplayer.is-splash .fvfp-notices { display: block }
1741
1742
1743
/* Disable selection, todo: check! */
1217
1218
@media (max-width: 40em){
1219
.flowplayer .fp-help p{font-size:9px;}
1220
}
1221
@media (max-width: 30em) {
1222
.flowplayer .fv_player_popup {width:99%;font-size:14px;top:0;}
1223
.flowplayer.is-fv-narrow .fv_player_popup{font-size:0.8em}
1224
}
1225
@media (max-width: 22.5em) {
1226
.flowplayer.is-fv-narrow .mailchimp-form{padding:10px 1.5%}
1227
.flowplayer.is-fv-narrow .fv_player_popup{font-size:0.7em}
1228
}
1252
.flowplayer video.fp-engine { visibility:visible; }
1253
.flowplayer .fp-engine { max-width:100%; }
1254
.flowplayer.is-fullscreen .fp-logo{z-index:2147483647;}
1255
+ .flowplayer .fp-logo {max-width:33%;-webkit-tap-highlight-color: rgba(0,0,0,0);}
1256
+ .flowplayer .fp-logo img {box-shadow:none}
1257
+ .flowplayer.fixed-controls .fp-logo {bottom: 15px}
1258
1259
/* Share bar, todo: check! */
1260
.flowplayer .fp-embed-code{display:none;}
1550
.flowplayer.alignleft { margin-right: 10px; margin-bottom: 10px; }
1551
.flowplayer.alignright { margin-left: 10px; margin-bottom: 10px; }
1552
1553
+ .flowplayer.no-controlbar .fp-controls {display:none}
1554
1555
/* Caption, todo: check!*/
1556
p.fp-caption { text-align: center;max-width: 100%; }
1724
1725
1726
1727
+ /* Notices */
1728
+ .fvfp-notices { position: absolute;top:12%;z-index:20;text-align:center;width:100%;color:#fff;text-shadow: 0 0 10px #000; opacity: 1; pointer-events: none}
1729
+ .fvfp-notices a { pointer-events: auto; color:#fff; }
1730
+ .flowplayer .fvfp-notice-content a:hover { color:#eee; }
1731
.flowplayer.is-splash .fvfp-notices { display: block }
1732
+ .fv-player-reload { font-size: 5em; display: block }
1733
1734
1735
/* Disable selection, todo: check! */
css/flowplayer.css CHANGED
@@ -325,7 +325,6 @@
325
}
326
@media (max-width: 40em){
327
.flowplayer .fp-help p{font-size:9px;}
328
- .flowplayer .fp-logo{max-width: 130px;}
329
.flowplayer .fp-subtitle{line-height:14px !important}
330
.flowplayer .fp-subtitle .fp-subtitle-line{font-size:14px !important;line-height:20px !important}
331
}
@@ -336,7 +335,6 @@
336
.flowplayer.is-fv-narrow .fv_player_popup{font-size:0.8em}
337
}
338
@media (max-width: 22.5em) {
339
- .flowplayer .fp-logo{max-width: 90px;}
340
.flowplayer.is-fv-narrow .mailchimp-form{padding:10px 1.5%}
341
.flowplayer.is-fv-narrow .fv_player_popup{font-size:0.7em}
342
}
@@ -405,6 +403,8 @@
405
.flowplayer .fvp-share-bar textarea{width:400px;min-height:130px;font-family: "Lucida Console", Monaco, monospace; color:#777; white-space:nowrap; resize:none;overflow:hidden;border:0;outline:0;background-color:transparent;color:#ccc; border: 1px solid #888;}
406
.flowplayer.is-embedding .fp-embed,.flowplayer.is-embedding .fvp-share-bar{display:block;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100)}
407
408
.flowplayer.is-fullscreen .fp-logo{z-index:2147483647;}
409
410
.flowplayer video.fp-engine {
325
}
326
@media (max-width: 40em){
327
.flowplayer .fp-help p{font-size:9px;}
328
.flowplayer .fp-subtitle{line-height:14px !important}
329
.flowplayer .fp-subtitle .fp-subtitle-line{font-size:14px !important;line-height:20px !important}
330
}
335
.flowplayer.is-fv-narrow .fv_player_popup{font-size:0.8em}
336
}
337
@media (max-width: 22.5em) {
338
.flowplayer.is-fv-narrow .mailchimp-form{padding:10px 1.5%}
339
.flowplayer.is-fv-narrow .fv_player_popup{font-size:0.7em}
340
}
403
.flowplayer .fvp-share-bar textarea{width:400px;min-height:130px;font-family: "Lucida Console", Monaco, monospace; color:#777; white-space:nowrap; resize:none;overflow:hidden;border:0;outline:0;background-color:transparent;color:#ccc; border: 1px solid #888;}
404
.flowplayer.is-embedding .fp-embed,.flowplayer.is-embedding .fvp-share-bar{display:block;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100)}
405
406
+ .flowplayer .fp-logo { max-width:33%; -webkit-tap-highlight-color: rgba(0,0,0,0); }
407
+ .flowplayer .fp-logo img {box-shadow:none}
408
.flowplayer.is-fullscreen .fp-logo{z-index:2147483647;}
409
410
.flowplayer video.fp-engine {
css/license.css CHANGED
@@ -76,8 +76,6 @@ a.red-button {
76
77
#wpfp_options table { width: 100% }
78
#wpfp_options table td.first { width: 250px }
79
- #wpfp_options #fv_player_pro table td.first { width: 278px }
80
- #wpfp_options #fv_flowplayer_integrations table td.first { width: 310px }
81
#wpfp_options #fv_flowplayer_integrations table tr > td:first-child { padding-top: 4px; vertical-align: top; }
82
#wpfp_options table.flowplayer-settings { width: 29%; }
83
76
77
#wpfp_options table { width: 100% }
78
#wpfp_options table td.first { width: 250px }
79
#wpfp_options #fv_flowplayer_integrations table tr > td:first-child { padding-top: 4px; vertical-align: top; }
80
#wpfp_options table.flowplayer-settings { width: 29%; }
81
flowplayer-beta/fv-flowplayer.min.js CHANGED
@@ -29,6 +29,8 @@ if( typeof(fv_flowplayer_conf) != "undefined" ) {
29
30
flowplayer.conf.hlsjs = {
31
startLevel: -1,
32
//capLevelToPlayerSize: true, // great, but it has bugs
33
};
34
@@ -593,9 +595,9 @@ function fv_player_preload() {
593
594
//sets height for embedded players
595
if( window.self != window.top && !location.href.match(/fv_player_preview/) ){
596
- jQuery('.flowplayer').height(jQuery(window).height());
597
jQuery(window.self).resize(function(){
598
- jQuery('.flowplayer').height(jQuery(window.self).height())
599
})
600
}
601
@@ -776,9 +778,10 @@ flowplayer( function(api,root) {
776
777
jQuery('.fvfp_admin_error', root).remove(); // v6: admin error removal?
778
779
- if( root.find('.fp-logo').attr('href') === "undefined" ) {
780
- root.find('.fp-logo').removeAttr('href');
781
- }
782
783
jQuery('.fp-header',root).prepend( jQuery('.fvp-share-bar',root) );
784
@@ -811,7 +814,7 @@ flowplayer( function(api,root) {
811
});
812
}
813
814
- jQuery(document).on('contextmenu', '.flowplayer video', function(e) {
815
e.preventDefault();
816
});
817
@@ -932,47 +935,6 @@ jQuery(document).on('blur','.fv_player_popup input[type=text], .fv_player_popup
932
933
934
935
- /*
936
- * Colorbox compatibility
937
- */
938
- if( typeof(flowplayer.conf.cbox_compatibility) != "undefined" && flowplayer.conf.cbox_compatibility ) {
939
- jQuery(document).bind('cbox_complete', function() {
940
- if( jQuery('.flowplayer', jQuery('#cboxLoadedContent') ).length > 0 ) {
941
- if( jQuery('.flowplayer', jQuery('#cboxLoadedContent') ).attr('id').length == 0 ) {
942
- return;
943
- }
944
-
945
- var use_this_api = false;
946
- var recovery;
947
- var recovery_id = Math.floor((Math.random() * 100) + 1);
948
- jQuery('[id='+jQuery('.flowplayer', jQuery('#cboxLoadedContent') ).attr('id')+']').each( function() {
949
- if( jQuery(this).data('flowplayer') ) {
950
- use_this_api = jQuery(this).data('flowplayer');
951
- recovery = jQuery(this);
952
- jQuery(this).before('<span id="fv_flowplayer_recovery-'+recovery_id+'"></span>');
953
- }
954
- } );
955
-
956
- jQuery('.flowplayer', jQuery('#cboxLoadedContent') ).replaceWith(recovery);
957
- jQuery('.flowplayer', jQuery('#cboxLoadedContent') ).data('fv-cloned', recovery_id);
958
- }
959
-
960
- }).bind('cbox_cleanup', function() {
961
- if( jQuery('.flowplayer', jQuery('#cboxLoadedContent') ).length > 0 ) {
962
- if( jQuery('.flowplayer', jQuery('#cboxLoadedContent') ).data('fv-cloned') ){
963
- var api = jQuery('.flowplayer', jQuery('#cboxLoadedContent') ).data('flowplayer');
964
- api.stop().unload();
965
- jQuery('#fv_flowplayer_recovery-'+jQuery('.flowplayer', jQuery('#cboxLoadedContent') ).data('fv-cloned') ).replaceWith( jQuery('.flowplayer', jQuery('#cboxLoadedContent')) );
966
- }
967
-
968
- }
969
-
970
- });
971
- }
972
-
973
-
974
-
975
-
976
/*
977
* Live stream errors
978
*/
@@ -1833,7 +1795,7 @@ function fv_player_notice(root, message, timeout) {
1833
var notices = jQuery('.fvfp-notices',root);
1834
if( !notices.length ) {
1835
notices = jQuery('<div class="fvfp-notices">');
1836
- jQuery('.fp-ui',root).append(notices);
1837
}
1838
1839
var notice = jQuery('<div class="fvfp-notice-content">'+message+'</div></div>');
@@ -2001,6 +1963,8 @@ flowplayer.bean.on(document, "keydown.fp", function(e) {
2001
2002
if( flowplayer.conf.mobile_force_fullscreen && ( 'ontouchstart' in window ) && flowplayer.support.fvmobile ) {
2003
flowplayer(function(api, root) {
2004
if( flowplayer.support.iOS.iPad || flowplayer.support.iOS.iPhone && flowplayer.support.iOS.version >= 10 ) {
2005
api.bind('ready', function() {
2006
api.fullscreen();
@@ -2070,7 +2034,7 @@ flowplayer( function(api,root) {
2070
}
2071
quality_sort();
2072
} else if(api.engine.engineName == 'hlsjs-lite' ) {
2073
- if( localStorage.FVPlayerHLSQuality ) {
2074
api.quality(localStorage.FVPlayerHLSQuality);
2075
root.one('progress', function() {
2076
setTimeout( function() {
@@ -2664,3 +2628,51 @@ flowplayer( function(api,root) {
2664
}
2665
2666
});
29
30
flowplayer.conf.hlsjs = {
31
startLevel: -1,
32
+ fragLoadingMaxRetry: 3,
33
+ levelLoadingMaxRetry: 3
34
//capLevelToPlayerSize: true, // great, but it has bugs
35
};
36
595
596
//sets height for embedded players
597
if( window.self != window.top && !location.href.match(/fv_player_preview/) ){
598
+ jQuery('.flowplayer.fp-is-embed').height(jQuery(window).height());
599
jQuery(window.self).resize(function(){
600
+ jQuery('.flowplayer.fp-is-embed').height(jQuery(window.self).height())
601
})
602
}
603
778
779
jQuery('.fvfp_admin_error', root).remove(); // v6: admin error removal?
780
781
+ root.find('.fp-logo, .fp-header').click( function(e) {
782
+ if (e.target !== this) return;
783
+ root.find('.fp-ui').click();
784
+ });
785
786
jQuery('.fp-header',root).prepend( jQuery('.fvp-share-bar',root) );
787
814
});
815
}
816
817
+ jQuery(document).on('contextmenu', '.flowplayer', function(e) {
818
e.preventDefault();
819
});
820
935
936
937
938
/*
939
* Live stream errors
940
*/
1795
var notices = jQuery('.fvfp-notices',root);
1796
if( !notices.length ) {
1797
notices = jQuery('<div class="fvfp-notices">');
1798
+ jQuery('.fp-player',root).append(notices);
1799
}
1800
1801
var notice = jQuery('<div class="fvfp-notice-content">'+message+'</div></div>');
1963
1964
if( flowplayer.conf.mobile_force_fullscreen && ( 'ontouchstart' in window ) && flowplayer.support.fvmobile ) {
1965
flowplayer(function(api, root) {
1966
+ if( jQuery(root).hasClass('is-audio') ) return;
1967
+
1968
if( flowplayer.support.iOS.iPad || flowplayer.support.iOS.iPhone && flowplayer.support.iOS.version >= 10 ) {
1969
api.bind('ready', function() {
1970
api.fullscreen();
2034
}
2035
quality_sort();
2036
} else if(api.engine.engineName == 'hlsjs-lite' ) {
2037
+ if( localStorage.FVPlayerHLSQuality && api.video.qualities > 2 ) {
2038
api.quality(localStorage.FVPlayerHLSQuality);
2039
root.one('progress', function() {
2040
setTimeout( function() {
2628
}
2629
2630
});
2631
+
2632
+
2633
+ // HSL engine on iOS and on Safari doesn't report error for HTTP 403. If there is no progress event for 5 second and it's not loading or anything, we can assume that the HLS segment has failed to load
2634
+ flowplayer( function(api,root) {
2635
+ if( !flowplayer.support.browser.safari && !flowplayer.support.iOS && !flowplayer.support.android ) return;
2636
+
2637
+ root = jQuery(root);
2638
+
2639
+ var no_progress = false,
2640
+ time_start = 0,
2641
+ time_delay = 0;
2642
+
2643
+ api.on('load', function(e,api,video) {
2644
+ time_start = new Date().getTime();
2645
+ });
2646
+
2647
+ api.on('ready', function() {
2648
+ if( api.video.is_fv_recoverable && api.engine.engineName == 'html5' && ( api.video.type == 'application/x-mpegurl' || api.video.type == 'video/fv-mp4' ) ) {
2649
+
2650
+ time_delay = new Date().getTime() - time_start;
2651
+
2652
+ console.log('HLS stream took '+time_delay+' ms to start');
2653
+
2654
+ if( time_delay < 500 ) time_delay = 500;
2655
+ time_delay = 10 * time_delay;
2656
+ if( time_delay > 15000 ) time_delay = 15000;
2657
+
2658
+ no_progress = setTimeout( hls_check, time_delay );
2659
+
2660
+ api.on('progress', function(e,api,time) {
2661
+ clearInterval(no_progress);
2662
+ no_progress = setTimeout( hls_check, time_delay );
2663
+ });
2664
+ }
2665
+ });
2666
+
2667
+ function hls_check() {
2668
+ if( api.ready && api.playing && !api.loading && !api.finished ) {
2669
+ console.log('HLS stream stale for '+time_delay+' ms, triggering error!');
2670
+ fv_player_notice(root,fv_flowplayer_translations.video_reload+' <a class="fv-player-reload" href="#">&#x21bb;</a>','progress error unload');
2671
+ jQuery('.fv-player-reload').click( function() {
2672
+ api.trigger('error', [api, { code: 4, video: api.video }]);
2673
+ return false;
2674
+ });
2675
+ }
2676
+ }
2677
+
2678
+ });
flowplayer.php CHANGED
@@ -3,7 +3,7 @@
3
Plugin Name: FV Player
4
Plugin URI: http://foliovision.com/wordpress/plugins/fv-wordpress-flowplayer
5
Description: Formerly FV WordPress Flowplayer. Embed videos (MP4, WEBM, OGV, FLV) into posts or pages. Uses Flowplayer 6.
6
- Version: 6.6.5
7
Author URI: http://foliovision.com/
8
License: GPL-3.0
9
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
@@ -26,9 +26,9 @@ License URI: http://www.gnu.org/licenses/gpl-3.0.txt
26
along with this program. If not, see <http://www.gnu.org/licenses/>.
27
*/
28
29
- $fv_wp_flowplayer_ver = '6.6.5';
30
$fv_wp_flowplayer_core_ver = '6.0.5';
31
- $fv_wp_flowplayer_ver_beta = '7.1.5.726.beta';
32
$fv_wp_flowplayer_core_ver_beta = '7.2.6.1';
33
34
include( dirname( __FILE__ ) . '/includes/extra-functions.php' );
3
Plugin Name: FV Player
4
Plugin URI: http://foliovision.com/wordpress/plugins/fv-wordpress-flowplayer
5
Description: Formerly FV WordPress Flowplayer. Embed videos (MP4, WEBM, OGV, FLV) into posts or pages. Uses Flowplayer 6.
6
+ Version: 6.6.6
7
Author URI: http://foliovision.com/
8
License: GPL-3.0
9
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
26
along with this program. If not, see <http://www.gnu.org/licenses/>.
27
*/
28
29
+ $fv_wp_flowplayer_ver = '6.6.6';
30
$fv_wp_flowplayer_core_ver = '6.0.5';
31
+ $fv_wp_flowplayer_ver_beta = '7.1.12.726.beta.1';
32
$fv_wp_flowplayer_core_ver_beta = '7.2.6.1';
33
34
include( dirname( __FILE__ ) . '/includes/extra-functions.php' );
flowplayer/fv-flowplayer.min.js CHANGED
@@ -548,9 +548,9 @@ function fv_player_preload() {
548
549
//sets height for embedded players
550
if( window.self != window.top && !location.href.match(/fv_player_preview/) ){
551
- jQuery('.flowplayer').height(jQuery(window).height());
552
jQuery(window.self).resize(function(){
553
- jQuery('.flowplayer').height(jQuery(window.self).height())
554
})
555
}
556
@@ -756,7 +756,11 @@ flowplayer( function(api,root) {
756
757
if( root.find('.fp-logo').attr('href') === "undefined" ) {
758
root.find('.fp-logo').removeAttr('href');
759
- }
760
761
api.bind("pause resume finish unload ready", function(e,api) {
762
root.addClass('no-brand');
@@ -797,7 +801,7 @@ flowplayer( function(api,root) {
797
}
798
});
799
800
- jQuery(document).on('contextmenu', '.flowplayer video', function(e) {
801
e.preventDefault();
802
});
803
548
549
//sets height for embedded players
550
if( window.self != window.top && !location.href.match(/fv_player_preview/) ){
551
+ jQuery('.flowplayer.fp-is-embed').height(jQuery(window).height());
552
jQuery(window.self).resize(function(){
553
+ jQuery('.flowplayer.fp-is-embed').height(jQuery(window.self).height())
554
})
555
}
556
756
757
if( root.find('.fp-logo').attr('href') === "undefined" ) {
758
root.find('.fp-logo').removeAttr('href');
759
+ }
760
+
761
+ root.find('.fp-logo').click( function() {
762
+ root.find('.fp-ui').click();
763
+ });
764
765
api.bind("pause resume finish unload ready", function(e,api) {
766
root.addClass('no-brand');
801
}
802
});
803
804
+ jQuery(document).on('contextmenu', '.flowplayer', function(e) {
805
e.preventDefault();
806
});
807
includes/fp-api-private.php CHANGED
@@ -353,7 +353,10 @@ $this->strPrivateAPI - also
353
$request_args['version'] = isset($checked_data->checked[$plugin_path]) ? $checked_data->checked[$plugin_path] : '0.1';
354
}
355
else{
356
- $cache_plugins = get_plugins();
357
if( empty($cache_plugins[$plugin_path]['Version']) ){
358
return $checked_data;
359
}
@@ -365,15 +368,19 @@ $this->strPrivateAPI - also
365
$sTransient = $this->strPluginSlug.'_fp-private-updates-api-'.sanitize_title($request_args['version']);
366
$response = get_transient( $sTransient );
367
368
- if( !$response ){
369
- $raw_response = wp_remote_post( $this->strPrivateAPI, $request );
370
- if( is_wp_error($raw_response) ) {
371
- $request['sslverify'] = false;
372
$raw_response = wp_remote_post( $this->strPrivateAPI, $request );
373
- }
374
375
if( !is_wp_error( $raw_response ) && ( $raw_response['response']['code'] == 200 ) ) {
376
- $response = @unserialize( $raw_response['body'] );
377
if( !$response ) $response = $raw_response['body'];
378
}
379
@@ -411,7 +418,7 @@ $this->strPrivateAPI - also
411
if( is_wp_error( $request ) ) {
412
$res = new WP_Error( 'plugins_api_failed', __( 'An Unexpected HTTP Error occurred during the API request.</p> <p><a href="?" onclick="document.location.reload(); return false;">Try again</a>' ), $request->get_error_message() );
413
}else{
414
- $res = unserialize( $request['body'] );
415
if( $res === false ) $res = new WP_Error( 'plugins_api_failed', __( 'An unknown error occurred' ), $request['body'] );
416
}
417
353
$request_args['version'] = isset($checked_data->checked[$plugin_path]) ? $checked_data->checked[$plugin_path] : '0.1';
354
}
355
else{
356
+ if( !function_exists('get_plugins') ) return $checked_data;
357
+
358
+ $cache_plugins = get_plugins();
359
+
360
if( empty($cache_plugins[$plugin_path]['Version']) ){
361
return $checked_data;
362
}
368
$sTransient = $this->strPluginSlug.'_fp-private-updates-api-'.sanitize_title($request_args['version']);
369
$response = get_transient( $sTransient );
370
371
+ if( !$response ){
372
+ if( stripos($this->strPrivateAPI,'plugins.trac.wordpress.org') === false ) {
373
$raw_response = wp_remote_post( $this->strPrivateAPI, $request );
374
+ if( is_wp_error($raw_response) ) {
375
+ $request['sslverify'] = false;
376
+ $raw_response = wp_remote_post( $this->strPrivateAPI, $request );
377
+ }
378
+ } else {
379
+ $raw_response = wp_remote_get( $this->strPrivateAPI );
380
+ }
381
382
if( !is_wp_error( $raw_response ) && ( $raw_response['response']['code'] == 200 ) ) {
383
+ $response = @unserialize( preg_replace( '~^/\*[\s\S]*?\*/\s+~', '', $raw_response['body'] ) );
384
if( !$response ) $response = $raw_response['body'];
385
}
386
418
if( is_wp_error( $request ) ) {
419
$res = new WP_Error( 'plugins_api_failed', __( 'An Unexpected HTTP Error occurred during the API request.</p> <p><a href="?" onclick="document.location.reload(); return false;">Try again</a>' ), $request->get_error_message() );
420
}else{
421
+ $res = unserialize( preg_replace( '~^/\*[\s\S]*?\*/\s+~', '', $request['body'] ) );
422
if( $res === false ) $res = new WP_Error( 'plugins_api_failed', __( 'An unknown error occurred' ), $request['body'] );
423
}
424
js/fancybox.js ADDED
@@ -0,0 +1,193 @@
1
+ // ==================================================
2
+ // fancyBox v3.3.5
3
+ //
4
+ // Licensed GPLv3 for open source use
5
+ // or fancyBox Commercial License for commercial use
6
+ //
7
+ // http://fancyapps.com/fancybox/
8
+ // Copyright 2018 fancyApps
9
+ //
10
+ // ==================================================
11
+ !function(t,e,n,o){"use strict";function i(t,e){var o,i,a=[],s=0;t&&t.isDefaultPrevented()||(t.preventDefault(),e=t&&t.data?t.data.options:e||{},o=e.$target||n(t.currentTarget),i=o.attr("data-fancybox")||"",i?(a=e.selector?n(e.selector):t.data?t.data.items:[],a=a.length?a.filter('[data-fancybox="'+i+'"]'):n('[data-fancybox="'+i+'"]'),s=a.index(o),s<0&&(s=0)):a=[o],n.fancybox.open(a,e,s))}if(t.console=t.console||{info:function(t){}},n){if(n.fn.fancybox)return void console.info("fancyBox already initialized");var a={loop:!1,gutter:50,keyboard:!0,arrows:!0,infobar:!0,smallBtn:"auto",toolbar:"auto",buttons:["zoom","thumbs","close"],idleTime:3,protect:!1,modal:!1,image:{preload:!1},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen allowtransparency="true" src=""></iframe>',preload:!0,css:{},attr:{scrolling:"auto"}},defaultType:"image",animationEffect:"zoom",animationDuration:366,zoomOpacity:"auto",transitionEffect:"fade",transitionDuration:366,slideClass:"",baseClass:"",baseTpl:'<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span></div><div class="fancybox-toolbar">{{buttons}}</div><div class="fancybox-navigation">{{arrows}}</div><div class="fancybox-stage"></div><div class="fancybox-caption"></div></div></div>',spinnerTpl:'<div class="fancybox-loading"></div>',errorTpl:'<div class="fancybox-error"><p>{{ERROR}}</p></div>',btnTpl:{download:'<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;"><svg viewBox="0 0 40 40"><path d="M13,16 L20,23 L27,16 M20,7 L20,23 M10,24 L10,28 L30,28 L30,24" /></svg></a>',zoom:'<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}"><svg viewBox="0 0 40 40"><path d="M18,17 m-8,0 a8,8 0 1,0 16,0 a8,8 0 1,0 -16,0 M24,22 L31,29" /></svg></button>',close:'<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"><svg viewBox="0 0 40 40"><path d="M10,10 L30,30 M30,10 L10,30" /></svg></button>',smallBtn:'<button data-fancybox-close class="fancybox-close-small" title="{{CLOSE}}"><svg viewBox="0 0 32 32"><path d="M10,10 L22,22 M22,10 L10,22"></path></svg></button>',arrowLeft:'<a data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}" href="javascript:;"><svg viewBox="0 0 40 40"><path d="M18,12 L10,20 L18,28 M10,20 L30,20"></path></svg></a>',arrowRight:'<a data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}" href="javascript:;"><svg viewBox="0 0 40 40"><path d="M10,20 L30,20 M22,12 L30,20 L22,28"></path></svg></a>'},parentEl:"body",autoFocus:!1,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:4e3},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"},wheel:"auto",onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop,clickContent:function(t,e){return"image"===t.type&&"zoom"},clickSlide:"close",clickOutside:"close",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{idleTime:!1,clickContent:function(t,e){return"image"===t.type&&"toggleControls"},clickSlide:function(t,e){return"image"===t.type?"toggleControls":"close"},dblclickContent:function(t,e){return"image"===t.type&&"zoom"},dblclickSlide:function(t,e){return"image"===t.type&&"zoom"}},lang:"en",i18n:{en:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",ERROR:"The requested content cannot be loaded. <br/> Please try again later.",PLAY_START:"Start slideshow",PLAY_STOP:"Pause slideshow",FULL_SCREEN:"Full screen",THUMBS:"Thumbnails",DOWNLOAD:"Download",SHARE:"Share",ZOOM:"Zoom"},de:{CLOSE:"Schliessen",NEXT:"Weiter",PREV:"Zurück",ERROR:"Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es später nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder",DOWNLOAD:"Herunterladen",SHARE:"Teilen",ZOOM:"Maßstab"}}},s=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},d=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),u=function(){var t,n=e.createElement("fakeelement"),i={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(t in i)if(n.style[t]!==o)return i[t];return"transitionend"}(),f=function(t){return t&&t.length&&t[0].offsetHeight},p=function(t,e){var o=n.extend(!0,{},t,e);return n.each(e,function(t,e){n.isArray(e)&&(o[t]=e)}),o},h=function(t,o,i){var a=this;a.opts=p({index:i},n.fancybox.defaults),n.isPlainObject(o)&&(a.opts=p(a.opts,o)),n.fancybox.isMobile&&(a.opts=p(a.opts,a.opts.mobile)),a.id=a.opts.id||++c,a.currIndex=parseInt(a.opts.index,10)||0,a.prevIndex=null,a.prevPos=null,a.currPos=0,a.firstRun=!0,a.group=[],a.slides={},a.addContent(t),a.group.length&&(a.$lastFocus=n(e.activeElement).trigger("blur"),a.init())};n.extend(h.prototype,{init:function(){var i,a,s,r=this,c=r.group[r.currIndex],l=c.opts,d=n.fancybox.scrollbarWidth;n.fancybox.getInstance()||l.hideScrollbar===!1||(n("body").addClass("fancybox-active"),!n.fancybox.isMobile&&e.body.scrollHeight>t.innerHeight&&(d===o&&(i=n('<div style="width:100px;height:100px;overflow:scroll;" />').appendTo("body"),d=n.fancybox.scrollbarWidth=i[0].offsetWidth-i[0].clientWidth,i.remove()),n("head").append('<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar { margin-right: '+d+"px; }</style>"),n("body").addClass("compensate-for-scrollbar"))),s="",n.each(l.buttons,function(t,e){s+=l.btnTpl[e]||""}),a=n(r.translate(r,l.baseTpl.replace("{{buttons}}",s).replace("{{arrows}}",l.btnTpl.arrowLeft+l.btnTpl.arrowRight))).attr("id","fancybox-container-"+r.id).addClass("fancybox-is-hidden").addClass(l.baseClass).data("FancyBox",r).appendTo(l.parentEl),r.$refs={container:a},["bg","inner","infobar","toolbar","stage","caption","navigation"].forEach(function(t){r.$refs[t]=a.find(".fancybox-"+t)}),r.trigger("onInit"),r.activate(),r.jumpTo(r.currIndex)},translate:function(t,e){var n=t.opts.i18n[t.opts.lang];return e.replace(/\{\{(\w+)\}\}/g,function(t,e){var i=n[e];return i===o?t:i})},addContent:function(t){var e,i=this,a=n.makeArray(t);n.each(a,function(t,e){var a,s,r,c,l,d={},u={};n.isPlainObject(e)?(d=e,u=e.opts||e):"object"===n.type(e)&&n(e).length?(a=n(e),u=a.data()||{},u=n.extend(!0,{},u,u.options),u.$orig=a,d.src=i.opts.src||u.src||a.attr("href"),d.type||d.src||(d.type="inline",d.src=e)):d={type:"html",src:e+""},d.opts=n.extend(!0,{},i.opts,u),n.isArray(u.buttons)&&(d.opts.buttons=u.buttons),s=d.type||d.opts.type,c=d.src||"",!s&&c&&((r=c.match(/\.(mp4|mov|ogv)((\?|#).*)?#x2F;i))?(s="video",d.opts.videoFormat||(d.opts.videoFormat="video/"+("ogv"===r[1]?"ogg":r[1]))):c.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?s="image":c.match(/\.(pdf)((\?|#).*)?#x2F;i)?s="iframe":"#"===c.charAt(0)&&(s="inline")),s?d.type=s:i.trigger("objectNeedsType",d),d.contentType||(d.contentType=n.inArray(d.type,["html","inline","ajax"])>-1?"html":d.type),d.index=i.group.length,"auto"==d.opts.smallBtn&&(d.opts.smallBtn=n.inArray(d.type,["html","inline","ajax"])>-1),"auto"===d.opts.toolbar&&(d.opts.toolbar=!d.opts.smallBtn),d.opts.$trigger&&d.index===i.opts.index&&(d.opts.$thumb=d.opts.$trigger.find("img:first")),d.opts.$thumb&&d.opts.$thumb.length||!d.opts.$orig||(d.opts.$thumb=d.opts.$orig.find("img:first")),"function"===n.type(d.opts.caption)&&(d.opts.caption=d.opts.caption.apply(e,[i,d])),"function"===n.type(i.opts.caption)&&(d.opts.caption=i.opts.caption.apply(e,[i,d])),d.opts.caption instanceof n||(d.opts.caption=d.opts.caption===o?"":d.opts.caption+""),"ajax"===d.type&&(l=c.split(/\s+/,2),l.length>1&&(d.src=l.shift(),d.opts.filter=l.shift())),d.opts.modal&&(d.opts=n.extend(!0,d.opts,{infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),i.group.push(d)}),Object.keys(i.slides).length&&(i.updateControls(),e=i.Thumbs,e&&e.isActive&&(e.create(),e.focus()))},addEvents:function(){var o=this;o.removeEvents(),o.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),o.close(t)}).on("touchstart.fb-prev click.fb-prev","[data-fancybox-prev]",function(t){t.stopPropagation(),t.preventDefault(),o.previous()}).on("touchstart.fb-next click.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),o.next()}).on("click.fb","[data-fancybox-zoom]",function(t){o[o.isScaledDown()?"scaleToActual":"scaleToFit"]()}),s.on("orientationchange.fb resize.fb",function(t){t&&t.originalEvent&&"resize"===t.originalEvent.type?d(function(){o.update()}):(o.$refs.stage.hide(),setTimeout(function(){o.$refs.stage.show(),o.update()},n.fancybox.isMobile?600:250))}),r.on("focusin.fb",function(t){var o=n.fancybox?n.fancybox.getInstance():null;o.isClosing||!o.current||!o.current.opts.trapFocus||n(t.target).hasClass("fancybox-container")||n(t.target).is(e)||o&&"fixed"!==n(t.target).css("position")&&!o.$refs.container.has(t.target).length&&(t.stopPropagation(),o.focus())}),r.on("keydown.fb",function(t){var e=o.current,i=t.keyCode||t.which;if(e&&e.opts.keyboard&&!(t.ctrlKey||t.altKey||t.shiftKey||n(t.target).is("input")||n(t.target).is("textarea")))return 8===i||27===i?(t.preventDefault(),void o.close(t)):37===i||38===i?(t.preventDefault(),void o.previous()):39===i||40===i?(t.preventDefault(),void o.next()):void o.trigger("afterKeydown",t,i)}),o.group[o.currIndex].opts.idleTime&&(o.idleSecondsCounter=0,r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",function(t){o.idleSecondsCounter=0,o.isIdle&&o.showControls(),o.isIdle=!1}),o.idleInterval=t.setInterval(function(){o.idleSecondsCounter++,o.idleSecondsCounter>=o.group[o.currIndex].opts.idleTime&&!o.isDragging&&(o.isIdle=!0,o.idleSecondsCounter=0,o.hideControls())},1e3))},removeEvents:function(){var e=this;s.off("orientationchange.fb resize.fb"),r.off("focusin.fb keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),e.idleInterval&&(t.clearInterval(e.idleInterval),e.idleInterval=null)},previous:function(t){return this.jumpTo(this.currPos-1,t)},next:function(t){return this.jumpTo(this.currPos+1,t)},jumpTo:function(t,e){var i,a,s,r,c,l,d,u=this,p=u.group.length;if(!(u.isDragging||u.isClosing||u.isAnimating&&u.firstRun)){if(t=parseInt(t,10),a=u.current?u.current.opts.loop:u.opts.loop,!a&&(t<0||t>=p))return!1;if(i=u.firstRun=!Object.keys(u.slides).length,!(p<2&&!i&&u.isDragging)){if(r=u.current,u.prevIndex=u.currIndex,u.prevPos=u.currPos,s=u.createSlide(t),p>1&&((a||s.index>0)&&u.createSlide(t-1),(a||s.index<p-1)&&u.createSlide(t+1)),u.current=s,u.currIndex=s.index,u.currPos=s.pos,u.trigger("beforeShow",i),u.updateControls(),l=n.fancybox.getTranslate(s.$slide),s.isMoved=(0!==l.left||0!==l.top)&&!s.$slide.hasClass("fancybox-animated"),s.forcedDuration=o,n.isNumeric(e)?s.forcedDuration=e:e=s.opts[i?"animationDuration":"transitionDuration"],e=parseInt(e,10),i)return s.opts.animationEffect&&e&&u.$refs.container.css("transition-duration",e+"ms"),u.$refs.container.removeClass("fancybox-is-hidden"),f(u.$refs.container),u.$refs.container.addClass("fancybox-is-open"),f(u.$refs.container),s.$slide.addClass("fancybox-slide--previous"),u.loadSlide(s),s.$slide.removeClass("fancybox-slide--previous").addClass("fancybox-slide--current"),void u.preload("image");n.each(u.slides,function(t,e){n.fancybox.stop(e.$slide)}),s.$slide.removeClass("fancybox-slide--next fancybox-slide--previous").addClass("fancybox-slide--current"),s.isMoved?(c=Math.round(s.$slide.width()),n.each(u.slides,function(t,o){var i=o.pos-s.pos;n.fancybox.animate(o.$slide,{top:0,left:i*c+i*o.opts.gutter},e,function(){o.$slide.removeAttr("style").removeClass("fancybox-slide--next fancybox-slide--previous"),o.pos===u.currPos&&(s.isMoved=!1,u.complete())})})):u.$refs.stage.children().removeAttr("style"),s.isLoaded?u.revealContent(s):u.loadSlide(s),u.preload("image"),r.pos!==s.pos&&(d="fancybox-slide--"+(r.pos>s.pos?"next":"previous"),r.$slide.removeClass("fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous"),r.isComplete=!1,e&&(s.isMoved||s.opts.transitionEffect)&&(s.isMoved?r.$slide.addClass(d):(d="fancybox-animated "+d+" fancybox-fx-"+s.opts.transitionEffect,n.fancybox.animate(r.$slide,d,e,function(){r.$slide.removeClass(d).removeAttr("style")}))))}}},createSlide:function(t){var e,o,i=this;return o=t%i.group.length,o=o<0?i.group.length+o:o,!i.slides[t]&&i.group[o]&&(e=n('<div class="fancybox-slide"></div>').appendTo(i.$refs.stage),i.slides[t]=n.extend(!0,{},i.group[o],{pos:t,$slide:e,isLoaded:!1}),i.updateSlide(i.slides[t])),i.slides[t]},scaleToActual:function(t,e,i){var a,s,r,c,l,d=this,u=d.current,f=u.$content,p=n.fancybox.getTranslate(u.$slide).width,h=n.fancybox.getTranslate(u.$slide).height,g=u.width,b=u.height;!d.isAnimating&&f&&"image"==u.type&&u.isLoaded&&!u.hasError&&(n.fancybox.stop(f),d.isAnimating=!0,t=t===o?.5*p:t,e=e===o?.5*h:e,a=n.fancybox.getTranslate(f),a.top-=n.fancybox.getTranslate(u.$slide).top,a.left-=n.fancybox.getTranslate(u.$slide).left,c=g/a.width,l=b/a.height,s=.5*p-.5*g,r=.5*h-.5*b,g>p&&(s=a.left*c-(t*c-t),s>0&&(s=0),s<p-g&&(s=p-g)),b>h&&(r=a.top*l-(e*l-e),r>0&&(r=0),r<h-b&&(r=h-b)),d.updateCursor(g,b),n.fancybox.animate(f,{top:r,left:s,scaleX:c,scaleY:l},i||330,function(){d.isAnimating=!1}),d.SlideShow&&d.SlideShow.isActive&&d.SlideShow.stop())},scaleToFit:function(t){var e,o=this,i=o.current,a=i.$content;!o.isAnimating&&a&&"image"==i.type&&i.isLoaded&&!i.hasError&&(n.fancybox.stop(a),o.isAnimating=!0,e=o.getFitPos(i),o.updateCursor(e.width,e.height),n.fancybox.animate(a,{top:e.top,left:e.left,scaleX:e.width/a.width(),scaleY:e.height/a.height()},t||330,function(){o.isAnimating=!1}))},getFitPos:function(t){var e,n,o,i,a,s=this,r=t.$content,c=t.width||t.opts.width,l=t.height||t.opts.height,d={};return!!(t.isLoaded&&r&&r.length)&&(i={top:parseInt(t.$slide.css("paddingTop"),10),right:parseInt(t.$slide.css("paddingRight"),10),bottom:parseInt(t.$slide.css("paddingBottom"),10),left:parseInt(t.$slide.css("paddingLeft"),10)},e=parseInt(s.$refs.stage.width(),10)-(i.left+i.right),n=parseInt(s.$refs.stage.height(),10)-(i.top+i.bottom),c&&l||(c=e,l=n),o=Math.min(1,e/c,n/l),c=Math.floor(o*c),l=Math.floor(o*l),"image"===t.type?(d.top=Math.floor(.5*(n-l))+i.top,d.left=Math.floor(.5*(e-c))+i.left):"video"===t.contentType&&(a=t.opts.width&&t.opts.height?c/l:t.opts.ratio||16/9,l>c/a?l=c/a:c>l*a&&(c=l*a)),d.width=c,d.height=l,d)},update:function(){var t=this;n.each(t.slides,function(e,n){t.updateSlide(n)})},updateSlide:function(t,e){var o=this,i=t&&t.$content,a=t.width||t.opts.width,s=t.height||t.opts.height;i&&(a||s||"video"===t.contentType)&&!t.hasError&&(n.fancybox.stop(i),n.fancybox.setTranslate(i,o.getFitPos(t)),t.pos===o.currPos&&(o.isAnimating=!1,o.updateCursor())),t.$slide.trigger("refresh"),o.$refs.toolbar.toggleClass("compensate-for-scrollbar",t.$slide.get(0).scrollHeight>t.$slide.get(0).clientHeight),o.trigger("onUpdate",t)},centerSlide:function(t,e){var i,a,s=this;s.current&&(i=Math.round(t.$slide.width()),a=t.pos-s.current.pos,n.fancybox.animate(t.$slide,{top:0,left:a*i+a*t.opts.gutter,opacity:1},e===o?0:e,null,!1))},updateCursor:function(t,e){var o,i=this,a=i.current,s=i.$refs.container.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-drag fancybox-can-zoomOut");a&&!i.isClosing&&(o=i.isZoomable(),s.toggleClass("fancybox-is-zoomable",o),n("[data-fancybox-zoom]").prop("disabled",!o),o&&("zoom"===a.opts.clickContent||n.isFunction(a.opts.clickContent)&&"zoom"===a.opts.clickContent(a))?i.isScaledDown(t,e)?s.addClass("fancybox-can-zoomIn"):a.opts.touch?s.addClass("fancybox-can-drag"):s.addClass("fancybox-can-zoomOut"):a.opts.touch&&"video"!==a.contentType&&s.addClass("fancybox-can-drag"))},isZoomable:function(){var t,e=this,n=e.current;if(n&&!e.isClosing&&"image"===n.type&&!n.hasError){if(!n.isLoaded)return!0;if(t=e.getFitPos(n),n.width>t.width||n.height>t.height)return!0}return!1},isScaledDown:function(t,e){var i=this,a=!1,s=i.current,r=s.$content;return t!==o&&e!==o?a=t<s.width&&e<s.height:r&&(a=n.fancybox.getTranslate(r),a=a.width<s.width&&a.height<s.height),a},canPan:function(){var t,e=this,n=!1,o=e.current;return"image"===o.type&&(t=o.$content)&&!o.hasError&&(n=e.getFitPos(o),n=Math.abs(t.width()-n.width)>1||Math.abs(t.height()-n.height)>1),n},loadSlide:function(t){var e,o,i,a=this;if(!t.isLoading&&!t.isLoaded){switch(t.isLoading=!0,a.trigger("beforeLoad",t),e=t.type,o=t.$slide,o.off("refresh").trigger("onReset").addClass(t.opts.slideClass),e){case"image":a.setImage(t);break;case"iframe":a.setIframe(t);break;case"html":a.setContent(t,t.src||t.content);break;case"video":a.setContent(t,'<video class="fancybox-video" controls controlsList="nodownload"><source src="'+t.src+'" type="'+t.opts.videoFormat+"\">Your browser doesn't support HTML5 video</video");break;case"inline":n(t.src).length?a.setContent(t,n(t.src)):a.setError(t);break;case"ajax":a.showLoading(t),i=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){"success"===n&&a.setContent(t,e)},error:function(e,n){e&&"abort"!==n&&a.setError(t)}})),o.one("onReset",function(){i.abort()});break;default:a.setError(t)}return!0}},setImage:function(e){var o,i,a,s,r,c=this,l=e.opts.srcset||e.opts.image.srcset;if(e.timouts=setTimeout(function(){var t=e.$image;!e.isLoading||t&&t[0].complete||e.hasError||c.showLoading(e)},350),l){s=t.devicePixelRatio||1,r=t.innerWidth*s,a=l.split(",").map(function(t){var e={};return t.trim().split(/\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);return 0===n?e.url=t:void(o&&(e.value=o,e.postfix=t[t.length-1]))}),e}),a.sort(function(t,e){return t.value-e.value});for(var d=0;d<a.length;d++){var u=a[d];if("w"===u.postfix&&u.value>=r||"x"===u.postfix&&u.value>=s){i=u;break}}!i&&a.length&&(i=a[a.length-1]),i&&(e.src=i.url,e.width&&e.height&&"w"==i.postfix&&(e.height=e.width/e.height*i.value,e.width=i.value),e.opts.srcset=l)}e.$content=n('<div class="fancybox-content"></div>').addClass("fancybox-is-hidden").appendTo(e.$slide.addClass("fancybox-slide--image")),o=e.opts.thumb||!(!e.opts.$thumb||!e.opts.$thumb.length)&&e.opts.$thumb.attr("src"),e.opts.preload!==!1&&e.opts.width&&e.opts.height&&o&&(e.width=e.opts.width,e.height=e.opts.height,e.$ghost=n("<img />").one("error",function(){n(this).remove(),e.$ghost=null}).one("load",function(){c.afterLoad(e)}).addClass("fancybox-image").appendTo(e.$content).attr("src",o)),c.setBigImage(e)},setBigImage:function(t){var e=this,o=n("<img />");t.$image=o.one("error",function(){e.setError(t)}).one("load",function(){var n;t.$ghost||(e.resolveImageSlideSize(t,this.naturalWidth,this.naturalHeight),e.afterLoad(t)),t.timouts&&(clearTimeout(t.timouts),t.timouts=null),e.isClosing||(t.opts.srcset&&(n=t.opts.sizes,n&&"auto"!==n||(n=(t.width/t.height>1&&s.width()/s.height()>1?"100":Math.round(t.width/t.height*100))+"vw"),o.attr("sizes",n).attr("srcset",t.opts.srcset)),t.$ghost&&setTimeout(function(){t.$ghost&&!e.isClosing&&t.$ghost.hide()},Math.min(300,Math.max(1e3,t.height/1600))),e.hideLoading(t))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$content),(o[0].complete||"complete"==o[0].readyState)&&o[0].naturalWidth&&o[0].naturalHeight?o.trigger("load"):o[0].error&&o.trigger("error")},resolveImageSlideSize:function(t,e,n){var o=parseInt(t.opts.width,10),i=parseInt(t.opts.height,10);t.width=e,t.height=n,o>0&&(t.width=o,t.height=Math.floor(o*n/e)),i>0&&(t.width=Math.floor(i*e/n),t.height=i)},setIframe:function(t){var e,i=this,a=t.opts.iframe,s=t.$slide;t.$content=n('<div class="fancybox-content'+(a.preload?" fancybox-is-hidden":"")+'"></div>').css(a.css).appendTo(s),s.addClass("fancybox-slide--"+t.contentType),t.$iframe=e=n(a.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(a.attr).appendTo(t.$content),a.preload?(i.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),i.afterLoad(t)}),s.on("refresh.fb",function(){var n,i,s=t.$content,r=a.css.width,c=a.css.height;if(1===e[0].isReady){try{n=e.contents(),i=n.find("body")}catch(t){}i&&i.length&&i.children().length&&(s.css({width:"",height:""}),r===o&&(r=Math.ceil(Math.max(i[0].clientWidth,i.outerWidth(!0)))),r&&s.width(r),c===o&&(c=Math.ceil(Math.max(i[0].clientHeight,i.outerHeight(!0)))),c&&s.height(c)),s.removeClass("fancybox-is-hidden")}})):this.afterLoad(t),e.attr("src",t.src),s.one("onReset",function(){try{n(this).find("iframe").hide().unbind().attr("src","//about:blank")}catch(t){}n(this).off("refresh.fb").empty(),t.isLoaded=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$content&&n.fancybox.stop(t.$content),t.$slide.empty(),l(e)&&e.parent().length?(e.parent().parent(".fancybox-slide--inline").trigger("onReset"),t.$placeholder=n("<div>").hide().insertAfter(e),e.css("display","inline-block")):t.hasError||("string"===n.type(e)&&(e=n("<div>").append(n.trim(e)).contents(),3===e[0].nodeType&&(e=n("<div>").html(e))),t.opts.filter&&(e=n("<div>").html(e).find(t.opts.filter))),t.$slide.one("onReset",function(){n(this).find("video,audio").trigger("pause"),t.$placeholder&&(t.$placeholder.after(e.hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(n(this).empty(),t.isLoaded=!1)}),n(e).appendTo(t.$slide),n(e).is("video,audio")&&(n(e).addClass("fancybox-video"),n(e).wrap("<div></div>"),t.contentType="video",t.opts.width=t.opts.width||n(e).attr("width"),t.opts.height=t.opts.height||n(e).attr("height")),t.$content=t.$slide.children().filter("div,form,main,video,audio").first().addClass("fancybox-content"),t.$slide.addClass("fancybox-slide--"+t.contentType),this.afterLoad(t))},setError:function(t){t.hasError=!0,t.$slide.trigger("onReset").removeClass("fancybox-slide--"+t.contentType).addClass("fancybox-slide--error"),t.contentType="html",this.setContent(t,this.translate(t,t.opts.errorTpl)),t.pos===this.currPos&&(this.isAnimating=!1)},showLoading:function(t){var e=this;t=t||e.current,t&&!t.$spinner&&(t.$spinner=n(e.translate(e,e.opts.spinnerTpl)).appendTo(t.$slide))},hideLoading:function(t){var e=this;t=t||e.current,t&&t.$spinner&&(t.$spinner.remove(),delete t.$spinner)},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),t.pos===e.currPos&&e.updateCursor(),!t.opts.smallBtn||t.$smallBtn&&t.$smallBtn.length||(t.$smallBtn=n(e.translate(t,t.opts.btnTpl.smallBtn)).prependTo(t.$content)),t.opts.protect&&t.$content&&!t.hasError&&(t.$content.on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0}),"image"===t.type&&n('<div class="fancybox-spaceball"></div>').appendTo(t.$content)),e.revealContent(t))},revealContent:function(t){var e,i,a,s,r=this,c=t.$slide,l=!1,d=!1;return e=t.opts[r.firstRun?"animationEffect":"transitionEffect"],a=t.opts[r.firstRun?"animationDuration":"transitionDuration"],a=parseInt(t.forcedDuration===o?a:t.forcedDuration,10),t.pos===r.currPos&&(t.isComplete?e=!1:r.isAnimating=!0),!t.isMoved&&t.pos===r.currPos&&a||(e=!1),"zoom"===e&&(t.pos===r.currPos&&a&&"image"===t.type&&!t.hasError&&(d=r.getThumbPos(t))?l=r.getFitPos(t):e="fade"),"zoom"===e?(l.scaleX=l.width/d.width,l.scaleY=l.height/d.height,s=t.opts.zoomOpacity,"auto"==s&&(s=Math.abs(t.width/t.height-d.width/d.height)>.1),s&&(d.opacity=.1,l.opacity=1),n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"),d),f(t.$content),void n.fancybox.animate(t.$content,l,a,function(){r.isAnimating=!1,r.complete()})):(r.updateSlide(t),e?(n.fancybox.stop(c),i="fancybox-animated fancybox-slide--"+(t.pos>=r.prevPos?"next":"previous")+" fancybox-fx-"+e,c.removeAttr("style").removeClass("fancybox-slide--current fancybox-slide--next fancybox-slide--previous").addClass(i),t.$content.removeClass("fancybox-is-hidden"),f(c),void n.fancybox.animate(c,"fancybox-slide--current",a,function(e){c.removeClass(i).removeAttr("style"),t.pos===r.currPos&&r.complete()},!0)):(f(c),t.$content.removeClass("fancybox-is-hidden"),void(t.pos===r.currPos&&r.complete())))},getThumbPos:function(o){var i,a=this,s=!1,r=o.opts.$thumb,c=r&&r.length&&r[0].ownerDocument===e?r.offset():0,l=function(e){for(var o,i=e[0],a=i.getBoundingClientRect(),s=[];null!==i.parentElement;)"hidden"!==n(i.parentElement).css("overflow")&&"auto"!==n(i.parentElement).css("overflow")||s.push(i.parentElement.getBoundingClientRect()),i=i.parentElement;return o=s.every(function(t){var e=Math.min(a.right,t.right)-Math.max(a.left,t.left),n=Math.min(a.bottom,t.bottom)-Math.max(a.top,t.top);return e>0&&n>0}),o&&a.bottom>0&&a.right>0&&a.left<n(t).width()&&a.top<n(t).height()};return c&&l(r)&&(i=a.$refs.stage.offset(),s={top:c.top-i.top+parseFloat(r.css("border-top-width")||0),left:c.left-i.left+parseFloat(r.css("border-left-width")||0),width:r.width(),height:r.height(),scaleX:1,scaleY:1}),s},complete:function(){var t=this,o=t.current,i={};!o.isMoved&&o.isLoaded&&(o.isComplete||(o.isComplete=!0,o.$slide.siblings().trigger("onReset"),t.preload("inline"),f(o.$slide),o.$slide.addClass("fancybox-slide--complete"),n.each(t.slides,function(e,o){o.pos>=t.currPos-1&&o.pos<=t.currPos+1?i[o.pos]=o:o&&(n.fancybox.stop(o.$slide),o.$slide.off().remove())}),t.slides=i),t.isAnimating=!1,t.updateCursor(),t.trigger("afterShow"),o.$slide.find("video,audio").filter(":visible:first").trigger("play"),(n(e.activeElement).is("[disabled]")||o.opts.autoFocus&&"image"!=o.type&&"iframe"!==o.type)&&t.focus())},preload:function(t){var e=this,n=e.slides[e.currPos+1],o=e.slides[e.currPos-1];n&&n.type===t&&e.loadSlide(n),o&&o.type===t&&e.loadSlide(o)},focus:function(){var t,e=this.current;this.isClosing||e&&e.isComplete&&e.$content&&(t=e.$content.find("input[autofocus]:enabled:visible:first"),t.length||(t=e.$content.find("button,:input,[tabindex],a").filter(":enabled:visible:first")),t=t&&t.length?t:e.$content,t.trigger("focus"))},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.id!==t.id&&!e.isClosing&&(e.trigger("onDeactivate"),e.removeEvents(),e.isVisible=!1)}),t.isVisible=!0,(t.current||t.isIdle)&&(t.update(),t.updateControls()),t.trigger("onActivate"),t.addEvents()},close:function(t,e){var o,i,a,s,r,c,l,p=this,h=p.current,g=function(){p.cleanUp(t)};return!p.isClosing&&(p.isClosing=!0,p.trigger("beforeClose",t)===!1?(p.isClosing=!1,d(function(){p.update()}),!1):(p.removeEvents(),h.timouts&&clearTimeout(h.timouts),a=h.$content,o=h.opts.animationEffect,i=n.isNumeric(e)?e:o?h.opts.animationDuration:0,h.$slide.off(u).removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),h.$slide.siblings().trigger("onReset").remove(),i&&p.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing"),p.hideLoading(h),p.hideControls(),p.updateCursor(),"zoom"!==o||t!==!0&&a&&i&&"image"===h.type&&!h.hasError&&(l=p.getThumbPos(h))||(o="fade"),"zoom"===o?(n.fancybox.stop(a),s=n.fancybox.getTranslate(a),c={top:s.top,left:s.left,scaleX:s.width/l.width,scaleY:s.height/l.height,width:l.width,height:l.height},r=h.opts.zoomOpacity,"auto"==r&&(r=Math.abs(h.width/h.height-l.width/l.height)>.1),r&&(l.opacity=0),n.fancybox.setTranslate(a,c),f(a),n.fancybox.animate(a,l,i,g),!0):(o&&i?t===!0?setTimeout(g,i):n.fancybox.animate(h.$slide.removeClass("fancybox-slide--current"),"fancybox-animated fancybox-slide--previous fancybox-fx-"+o,i,g):g(),!0)))},cleanUp:function(t){var e,o=this,i=n("body");o.current.$slide.trigger("onReset"),o.$refs.container.empty().remove(),o.trigger("afterClose",t),o.$lastFocus&&o.current.opts.backFocus&&o.$lastFocus.trigger("focus"),o.current=null,e=n.fancybox.getInstance(),e?e.activate():(i.removeClass("fancybox-active compensate-for-scrollbar"),n("#fancybox-style-noscroll").remove())},trigger:function(t,e){var o,i=Array.prototype.slice.call(arguments,1),a=this,s=e&&e.opts?e:a.current;return s?i.unshift(s):s=a,i.unshift(a),n.isFunction(s.opts[t])&&(o=s.opts[t].apply(s,i)),o===!1?o:void("afterClose"!==t&&a.$refs?a.$refs.container.trigger(t+".fb",i):r.trigger(t+".fb",i))},updateControls:function(t){var e=this,n=e.current,o=n.index,i=n.opts.caption,a=e.$refs.container,s=e.$refs.caption;n.$slide.trigger("refresh"),e.$caption=i&&i.length?s.html(i):null,e.isHiddenControls||e.isIdle||e.showControls(),a.find("[data-fancybox-count]").html(e.group.length),a.find("[data-fancybox-index]").html(o+1),a.find("[data-fancybox-prev]").toggleClass("disabled",!n.opts.loop&&o<=0),a.find("[data-fancybox-next]").toggleClass("disabled",!n.opts.loop&&o>=e.group.length-1),"image"===n.type?a.find("[data-fancybox-zoom]").show().end().find("[data-fancybox-download]").attr("href",n.opts.image.src||n.src).show():n.opts.toolbar&&a.find("[data-fancybox-download],[data-fancybox-zoom]").hide()},hideControls:function(){this.isHiddenControls=!0,this.$refs.container.removeClass("fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav")},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,n=t.$refs.container;t.isHiddenControls=!1,t.idleSecondsCounter=0,n.toggleClass("fancybox-show-toolbar",!(!e.toolbar||!e.buttons)).toggleClass("fancybox-show-infobar",!!(e.infobar&&t.group.length>1)).toggleClass("fancybox-show-nav",!!(e.arrows&&t.group.length>1)).toggleClass("fancybox-is-modal",!!e.modal),t.$caption?n.addClass("fancybox-show-caption "):n.removeClass("fancybox-show-caption")},toggleControls:function(){this.isHiddenControls?this.showControls():this.hideControls()}}),n.fancybox={version:"3.3.5",defaults:a,getInstance:function(t){var e=n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof h&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new h(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),t===!0&&this.close())},destroy:function(){this.close(!0),r.add("body").off("click.fb-start","**")},isMobile:e.createTouch!==o&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle&&t.getComputedStyle(n)&&t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<11)}(),getTranslate:function(t){var e;return!(!t||!t.length)&&(e=t[0].getBoundingClientRect(),{top:e.top||0,left:e.left||0,width:e.width,height:e.height,opacity:parseFloat(t.css("opacity"))})},setTranslate:function(t,e){var n="",i={};if(t&&e)return e.left===o&&e.top===o||(n=(e.left===o?t.position().left:e.left)+"px, "+(e.top===o?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),e.scaleX!==o&&e.scaleY!==o&&(n=(n.length?n+" ":"")+"scale("+e.scaleX+", "+e.scaleY+")"),n.length&&(i.transform=n),e.opacity!==o&&(i.opacity=e.opacity),e.width!==o&&(i.width=e.width),e.height!==o&&(i.height=e.height),t.css(i)},animate:function(t,e,i,a,s){var r=!1;n.isFunction(i)&&(a=i,i=null),n.isPlainObject(e)||t.removeAttr("style"),n.fancybox.stop(t),t.on(u,function(o){(!o||!o.originalEvent||t.is(o.originalEvent.target)&&"z-index"!=o.originalEvent.propertyName)&&(n.fancybox.stop(t),r&&n.fancybox.setTranslate(t,r),
12
+ n.isPlainObject(e)?s===!1&&t.removeAttr("style"):s!==!0&&t.removeClass(e),n.isFunction(a)&&a(o))}),n.isNumeric(i)&&t.css("transition-duration",i+"ms"),n.isPlainObject(e)?(e.scaleX!==o&&e.scaleY!==o&&(r=n.extend({},e,{width:t.width()*e.scaleX,height:t.height()*e.scaleY,scaleX:1,scaleY:1}),delete e.width,delete e.height,t.parent().hasClass("fancybox-slide--image")&&t.parent().addClass("fancybox-is-scaling")),n.fancybox.setTranslate(t,e)):t.addClass(e),t.data("timer",setTimeout(function(){t.trigger("transitionend")},i+16))},stop:function(t){t&&t.length&&(clearTimeout(t.data("timer")),t.off("transitionend").css("transition-duration",""),t.parent().removeClass("fancybox-is-scaling"))}},n.fn.fancybox=function(t){var e;return t=t||{},e=t.selector||!1,e?n("body").off("click.fb-start",e).on("click.fb-start",e,{options:t},i):this.off("click.fb-start").on("click.fb-start",{items:this,options:t},i),this},r.on("click.fb-start","[data-fancybox]",i),r.on("click.fb-start","[data-trigger]",function(t){i(t,{$target:n('[data-fancybox="'+n(t.currentTarget).attr("data-trigger")+'"]').eq(n(t.currentTarget).attr("data-index")||0),$trigger:n(this)})})}}(window,document,window.jQuery||jQuery),function(t){"use strict";var e=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("quot;+t,n||"")}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e},n={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"//www.youtube.com/embed/$4",thumb:"//img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1,api:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},gmap_place:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12]+"").replace(/\?/,"&")+"&output="+(t[12]&&t[12].indexOf("layer=c")>0?"svembed":"embed")}},gmap_search:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/maps?q="+t[5].replace("query=","q=").replace("api=1","")+"&output=embed"}}};t(document).on("objectNeedsType.fb",function(o,i,a){var s,r,c,l,d,u,f,p=a.src||"",h=!1;s=t.extend(!0,{},n,a.opts.media),t.each(s,function(n,o){if(c=p.match(o.matcher)){if(h=o.type,f=n,u={},o.paramPlace&&c[o.paramPlace]){d=c[o.paramPlace],"?"==d[0]&&(d=d.substring(1)),d=d.split("&");for(var i=0;i<d.length;++i){var s=d[i].split("=",2);2==s.length&&(u[s[0]]=decodeURIComponent(s[1].replace(/\+/g," ")))}}return l=t.extend(!0,{},o.params,a.opts[n],u),p="function"===t.type(o.url)?o.url.call(this,c,l,a):e(o.url,c,l),r="function"===t.type(o.thumb)?o.thumb.call(this,c,l,a):e(o.thumb,c),"youtube"===n?p=p.replace(/&t=((\d+)m)?(\d+)s/,function(t,e,n,o){return"&start="+((n?60*parseInt(n,10):0)+parseInt(o,10))}):"vimeo"===n&&(p=p.replace("&%23","#")),!1}}),h?(a.opts.thumb||a.opts.$thumb&&a.opts.$thumb.length||(a.opts.thumb=r),"iframe"===h&&(a.opts=t.extend(!0,a.opts,{iframe:{preload:!1,attr:{scrolling:"no"}}})),t.extend(a,{type:h,src:p,origSrc:a.src,contentSource:f,contentType:"image"===h?"image":"gmap_place"==f||"gmap_search"==f?"map":"video"})):p&&(a.type=a.opts.defaultType)})}(window.jQuery||jQuery),function(t,e,n){"use strict";var o=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),i=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),a=function(e){var n=[];e=e.originalEvent||e||t.e,e=e.touches&&e.touches.length?e.touches:e.changedTouches&&e.changedTouches.length?e.changedTouches:[e];for(var o in e)e[o].pageX?n.push({x:e[o].pageX,y:e[o].pageY}):e[o].clientX&&n.push({x:e[o].clientX,y:e[o].clientY});return n},s=function(t,e,n){return e&&t?"x"===n?t.x-e.x:"y"===n?t.y-e.y:Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0},r=function(t){if(t.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio')||n.isFunction(t.get(0).onclick)||t.data("selectable"))return!0;for(var e=0,o=t[0].attributes,i=o.length;e<i;e++)if("data-fancybox-"===o[e].nodeName.substr(0,14))return!0;return!1},c=function(e){var n=t.getComputedStyle(e)["overflow-y"],o=t.getComputedStyle(e)["overflow-x"],i=("scroll"===n||"auto"===n)&&e.scrollHeight>e.clientHeight,a=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return i||a},l=function(t){for(var e=!1;;){if(e=c(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-stage")||t.is("body"))break}return e},d=function(t){var e=this;e.instance=t,e.$bg=t.$refs.bg,e.$stage=t.$refs.stage,e.$container=t.$refs.container,e.destroy(),e.$container.on("touchstart.fb.touch mousedown.fb.touch",n.proxy(e,"ontouchstart"))};d.prototype.destroy=function(){this.$container.off(".fb.touch")},d.prototype.ontouchstart=function(o){var i=this,c=n(o.target),d=i.instance,u=d.current,f=u.$content,p="touchstart"==o.type;if(p&&i.$container.off("mousedown.fb.touch"),(!o.originalEvent||2!=o.originalEvent.button)&&c.length&&!r(c)&&!r(c.parent())&&(c.is("img")||!(o.originalEvent.clientX>c[0].clientWidth+c.offset().left))){if(!u||d.isAnimating||d.isClosing)return o.stopPropagation(),void o.preventDefault();if(i.realPoints=i.startPoints=a(o),i.startPoints.length){if(o.stopPropagation(),i.startEvent=o,i.canTap=!0,i.$target=c,i.$content=f,i.opts=u.opts.touch,i.isPanning=!1,i.isSwiping=!1,i.isZooming=!1,i.isScrolling=!1,i.startTime=(new Date).getTime(),i.distanceX=i.distanceY=i.distance=0,i.canvasWidth=Math.round(u.$slide[0].clientWidth),i.canvasHeight=Math.round(u.$slide[0].clientHeight),i.contentLastPos=null,i.contentStartPos=n.fancybox.getTranslate(i.$content)||{top:0,left:0},i.sliderStartPos=i.sliderLastPos||n.fancybox.getTranslate(u.$slide),i.stagePos=n.fancybox.getTranslate(d.$refs.stage),i.sliderStartPos.top-=i.stagePos.top,i.sliderStartPos.left-=i.stagePos.left,i.contentStartPos.top-=i.stagePos.top,i.contentStartPos.left-=i.stagePos.left,n(e).off(".fb.touch").on(p?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",n.proxy(i,"ontouchend")).on(p?"touchmove.fb.touch":"mousemove.fb.touch",n.proxy(i,"ontouchmove")),n.fancybox.isMobile&&e.addEventListener("scroll",i.onscroll,!0),!i.opts&&!d.canPan()||!c.is(i.$stage)&&!i.$stage.find(c).length)return void(c.is(".fancybox-image")&&o.preventDefault());n.fancybox.isMobile&&(l(c)||l(c.parent()))||o.preventDefault(),(1===i.startPoints.length||u.hasError)&&(i.instance.canPan()?(n.fancybox.stop(i.$content),i.$content.css("transition-duration",""),i.isPanning=!0):i.isSwiping=!0,i.$container.addClass("fancybox-controls--isGrabbing")),2===i.startPoints.length&&"image"===u.type&&(u.isLoaded||u.$ghost)&&(i.canTap=!1,i.isSwiping=!1,i.isPanning=!1,i.isZooming=!0,n.fancybox.stop(i.$content),i.$content.css("transition-duration",""),i.centerPointStartX=.5*(i.startPoints[0].x+i.startPoints[1].x)-n(t).scrollLeft(),i.centerPointStartY=.5*(i.startPoints[0].y+i.startPoints[1].y)-n(t).scrollTop(),i.percentageOfImageAtPinchPointX=(i.centerPointStartX-i.contentStartPos.left)/i.contentStartPos.width,i.percentageOfImageAtPinchPointY=(i.centerPointStartY-i.contentStartPos.top)/i.contentStartPos.height,i.startDistanceBetweenFingers=s(i.startPoints[0],i.startPoints[1]))}}},d.prototype.onscroll=function(t){var n=this;n.isScrolling=!0,e.removeEventListener("scroll",n.onscroll,!0)},d.prototype.ontouchmove=function(t){var e=this,o=n(t.target);return void 0!==t.originalEvent.buttons&&0===t.originalEvent.buttons?void e.ontouchend(t):e.isScrolling||!o.is(e.$stage)&&!e.$stage.find(o).length?void(e.canTap=!1):(e.newPoints=a(t),void((e.opts||e.instance.canPan())&&e.newPoints.length&&e.newPoints.length&&(e.isSwiping&&e.isSwiping===!0||t.preventDefault(),e.distanceX=s(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=s(e.newPoints[0],e.startPoints[0],"y"),e.distance=s(e.newPoints[0],e.startPoints[0]),e.distance>0&&(e.isSwiping?e.onSwipe(t):e.isPanning?e.onPan():e.isZooming&&e.onZoom()))))},d.prototype.onSwipe=function(e){var a,s=this,r=s.isSwiping,c=s.sliderStartPos.left||0;if(r!==!0)"x"==r&&(s.distanceX>0&&(s.instance.group.length<2||0===s.instance.current.index&&!s.instance.current.opts.loop)?c+=Math.pow(s.distanceX,.8):s.distanceX<0&&(s.instance.group.length<2||s.instance.current.index===s.instance.group.length-1&&!s.instance.current.opts.loop)?c-=Math.pow(-s.distanceX,.8):c+=s.distanceX),s.sliderLastPos={top:"x"==r?0:s.sliderStartPos.top+s.distanceY,left:c},s.requestId&&(i(s.requestId),s.requestId=null),s.requestId=o(function(){s.sliderLastPos&&(n.each(s.instance.slides,function(t,e){var o=e.pos-s.instance.currPos;n.fancybox.setTranslate(e.$slide,{top:s.sliderLastPos.top,left:s.sliderLastPos.left+o*s.canvasWidth+o*e.opts.gutter})}),s.$container.addClass("fancybox-is-sliding"))});else if(Math.abs(s.distance)>10){if(s.canTap=!1,s.instance.group.length<2&&s.opts.vertical?s.isSwiping="y":s.instance.isDragging||s.opts.vertical===!1||"auto"===s.opts.vertical&&n(t).width()>800?s.isSwiping="x":(a=Math.abs(180*Math.atan2(s.distanceY,s.distanceX)/Math.PI),s.isSwiping=a>45&&a<135?"y":"x"),s.canTap=!1,"y"===s.isSwiping&&n.fancybox.isMobile&&(l(s.$target)||l(s.$target.parent())))return void(s.isScrolling=!0);s.instance.isDragging=s.isSwiping,s.startPoints=s.newPoints,n.each(s.instance.slides,function(t,e){n.fancybox.stop(e.$slide),e.$slide.css("transition-duration",""),e.inTransition=!1,e.pos===s.instance.current.pos&&(s.sliderStartPos.left=n.fancybox.getTranslate(e.$slide).left-n.fancybox.getTranslate(s.instance.$refs.stage).left)}),s.instance.SlideShow&&s.instance.SlideShow.isActive&&s.instance.SlideShow.stop()}},d.prototype.onPan=function(){var t=this;return s(t.newPoints[0],t.realPoints[0])<(n.fancybox.isMobile?10:5)?void(t.startPoints=t.newPoints):(t.canTap=!1,t.contentLastPos=t.limitMovement(),t.requestId&&(i(t.requestId),t.requestId=null),void(t.requestId=o(function(){n.fancybox.setTranslate(t.$content,t.contentLastPos)})))},d.prototype.limitMovement=function(){var t,e,n,o,i,a,s=this,r=s.canvasWidth,c=s.canvasHeight,l=s.distanceX,d=s.distanceY,u=s.contentStartPos,f=u.left,p=u.top,h=u.width,g=u.height;return i=h>r?f+l:f,a=p+d,t=Math.max(0,.5*r-.5*h),e=Math.max(0,.5*c-.5*g),n=Math.min(r-h,.5*r-.5*h),o=Math.min(c-g,.5*c-.5*g),l>0&&i>t&&(i=t-1+Math.pow(-t+f+l,.8)||0),l<0&&i<n&&(i=n+1-Math.pow(n-f-l,.8)||0),d>0&&a>e&&(a=e-1+Math.pow(-e+p+d,.8)||0),d<0&&a<o&&(a=o+1-Math.pow(o-p-d,.8)||0),{top:a,left:i}},d.prototype.limitPosition=function(t,e,n,o){var i=this,a=i.canvasWidth,s=i.canvasHeight;return n>a?(t=t>0?0:t,t=t<a-n?a-n:t):t=Math.max(0,a/2-n/2),o>s?(e=e>0?0:e,e=e<s-o?s-o:e):e=Math.max(0,s/2-o/2),{top:e,left:t}},d.prototype.onZoom=function(){var e=this,a=e.contentStartPos,r=a.width,c=a.height,l=a.left,d=a.top,u=s(e.newPoints[0],e.newPoints[1]),f=u/e.startDistanceBetweenFingers,p=Math.floor(r*f),h=Math.floor(c*f),g=(r-p)*e.percentageOfImageAtPinchPointX,b=(c-h)*e.percentageOfImageAtPinchPointY,m=(e.newPoints[0].x+e.newPoints[1].x)/2-n(t).scrollLeft(),y=(e.newPoints[0].y+e.newPoints[1].y)/2-n(t).scrollTop(),v=m-e.centerPointStartX,x=y-e.centerPointStartY,w=l+(g+v),$=d+(b+x),S={top:$,left:w,scaleX:f,scaleY:f};e.canTap=!1,e.newWidth=p,e.newHeight=h,e.contentLastPos=S,e.requestId&&(i(e.requestId),e.requestId=null),e.requestId=o(function(){n.fancybox.setTranslate(e.$content,e.contentLastPos)})},d.prototype.ontouchend=function(t){var o=this,s=Math.max((new Date).getTime()-o.startTime,1),r=o.isSwiping,c=o.isPanning,l=o.isZooming,d=o.isScrolling;return o.endPoints=a(t),o.$container.removeClass("fancybox-controls--isGrabbing"),n(e).off(".fb.touch"),e.removeEventListener("scroll",o.onscroll,!0),o.requestId&&(i(o.requestId),o.requestId=null),o.isSwiping=!1,o.isPanning=!1,o.isZooming=!1,o.isScrolling=!1,o.instance.isDragging=!1,o.canTap?o.onTap(t):(o.speed=366,o.velocityX=o.distanceX/s*.5,o.velocityY=o.distanceY/s*.5,o.speedX=Math.max(.5*o.speed,Math.min(1.5*o.speed,1/Math.abs(o.velocityX)*o.speed)),void(c?o.endPanning():l?o.endZooming():o.endSwiping(r,d)))},d.prototype.endSwiping=function(t,e){var o=this,i=!1,a=o.instance.group.length;o.sliderLastPos=null,"y"==t&&!e&&Math.abs(o.distanceY)>50?(n.fancybox.animate(o.instance.current.$slide,{top:o.sliderStartPos.top+o.distanceY+150*o.velocityY,opacity:0},200),i=o.instance.close(!0,200)):"x"==t&&o.distanceX>50&&a>1?i=o.instance.previous(o.speedX):"x"==t&&o.distanceX<-50&&a>1&&(i=o.instance.next(o.speedX)),i!==!1||"x"!=t&&"y"!=t||(e||a<2?o.instance.centerSlide(o.instance.current,150):o.instance.jumpTo(o.instance.current.index)),o.$container.removeClass("fancybox-is-sliding")},d.prototype.endPanning=function(){var t,e,o,i=this;i.contentLastPos&&(i.opts.momentum===!1?(t=i.contentLastPos.left,e=i.contentLastPos.top):(t=i.contentLastPos.left+i.velocityX*i.speed,e=i.contentLastPos.top+i.velocityY*i.speed),o=i.limitPosition(t,e,i.contentStartPos.width,i.contentStartPos.height),o.width=i.contentStartPos.width,o.height=i.contentStartPos.height,n.fancybox.animate(i.$content,o,330))},d.prototype.endZooming=function(){var t,e,o,i,a=this,s=a.instance.current,r=a.newWidth,c=a.newHeight;a.contentLastPos&&(t=a.contentLastPos.left,e=a.contentLastPos.top,i={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(a.$content,i),r<a.canvasWidth&&c<a.canvasHeight?a.instance.scaleToFit(150):r>s.width||c>s.height?a.instance.scaleToActual(a.centerPointStartX,a.centerPointStartY,150):(o=a.limitPosition(t,e,r,c),n.fancybox.setTranslate(a.$content,n.fancybox.getTranslate(a.$content)),n.fancybox.animate(a.$content,o,150)))},d.prototype.onTap=function(e){var o,i=this,s=n(e.target),r=i.instance,c=r.current,l=e&&a(e)||i.startPoints,d=l[0]?l[0].x-n(t).scrollLeft()-i.stagePos.left:0,u=l[0]?l[0].y-n(t).scrollTop()-i.stagePos.top:0,f=function(t){var o=c.opts[t];if(n.isFunction(o)&&(o=o.apply(r,[c,e])),o)switch(o){case"close":r.close(i.startEvent);break;case"toggleControls":r.toggleControls(!0);break;case"next":r.next();break;case"nextOrClose":r.group.length>1?r.next():r.close(i.startEvent);break;case"zoom":"image"==c.type&&(c.isLoaded||c.$ghost)&&(r.canPan()?r.scaleToFit():r.isScaledDown()?r.scaleToActual(d,u):r.group.length<2&&r.close(i.startEvent))}};if((!e.originalEvent||2!=e.originalEvent.button)&&(s.is("img")||!(d>s[0].clientWidth+s.offset().left))){if(s.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"))o="Outside";else if(s.is(".fancybox-slide"))o="Slide";else{if(!r.current.$content||!r.current.$content.find(s).addBack().filter(s).length)return;o="Content"}if(i.tapped){if(clearTimeout(i.tapped),i.tapped=null,Math.abs(d-i.tapX)>50||Math.abs(u-i.tapY)>50)return this;f("dblclick"+o)}else i.tapX=d,i.tapY=u,c.opts["dblclick"+o]&&c.opts["dblclick"+o]!==c.opts["click"+o]?i.tapped=setTimeout(function(){i.tapped=null,f("click"+o)},500):f("click"+o);return this}},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new d(e))})}(window,document,window.jQuery||jQuery),function(t,e){"use strict";e.extend(!0,e.fancybox.defaults,{btnTpl:{slideShow:'<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"><svg viewBox="0 0 40 40"><path d="M13,12 L27,20 L13,27 Z" /><path d="M15,10 v19 M23,10 v19" /></svg></button>'},slideShow:{autoStart:!1,speed:3e3}});var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,init:function(){var t=this;t.$button=t.instance.$refs.toolbar.find("[data-fancybox-play]").on("click",function(){t.toggle()}),(t.instance.group.length<2||!t.instance.group[t.instance.currIndex].opts.slideShow)&&t.$button.hide()},set:function(t){var e=this;e.instance&&e.instance.current&&(t===!0||e.instance.current.opts.loop||e.instance.currIndex<e.instance.group.length-1)?e.timer=setTimeout(function(){e.isActive&&e.instance.jumpTo((e.instance.currIndex+1)%e.instance.group.length)},e.instance.current.opts.slideShow.speed):(e.stop(),e.instance.idleSecondsCounter=0,e.instance.showControls())},clear:function(){var t=this;clearTimeout(t.timer),t.timer=null},start:function(){var t=this,e=t.instance.current;e&&(t.isActive=!0,t.$button.attr("title",e.opts.i18n[e.opts.lang].PLAY_STOP).removeClass("fancybox-button--play").addClass("fancybox-button--pause"),t.set(!0))},stop:function(){var t=this,e=t.instance.current;t.clear(),t.$button.attr("title",e.opts.i18n[e.opts.lang].PLAY_START).removeClass("fancybox-button--pause").addClass("fancybox-button--play"),t.isActive=!1},toggle:function(){var t=this;t.isActive?t.stop():t.start()}}),e(t).on({"onInit.fb":function(t,e){e&&!e.SlideShow&&(e.SlideShow=new n(e))},"beforeShow.fb":function(t,e,n,o){var i=e&&e.SlideShow;o?i&&n.opts.slideShow.autoStart&&i.start():i&&i.isActive&&i.clear()},"afterShow.fb":function(t,e,n){var o=e&&e.SlideShow;o&&o.isActive&&o.set()},"afterKeydown.fb":function(n,o,i,a,s){var r=o&&o.SlideShow;!r||!i.opts.slideShow||80!==s&&32!==s||e(t.activeElement).is("button,a,input")||(a.preventDefault(),r.toggle())},"beforeClose.fb onDeactivate.fb":function(t,e){var n=e&&e.SlideShow;n&&n.stop()}}),e(t).on("visibilitychange",function(){var n=e.fancybox.getInstance(),o=n&&n.SlideShow;o&&o.isActive&&(t.hidden?o.clear():o.set())})}(document,window.jQuery||jQuery),function(t,e){"use strict";var n=function(){for(var e=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],n={},o=0;o<e.length;o++){var i=e[o];if(i&&i[1]in t){for(var a=0;a<i.length;a++)n[e[0][a]]=i[a];return n}}return!1}();if(!n)return void(e&&e.fancybox&&(e.fancybox.defaults.btnTpl.fullScreen=!1));var o={request:function(e){e=e||t.documentElement,e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT)},exit:function(){t[n.exitFullscreen]()},toggle:function(e){e=e||t.documentElement,this.isFullscreen()?this.exit():this.request(e)},isFullscreen:function(){return Boolean(t[n.fullscreenElement])},enabled:function(){return Boolean(t[n.fullscreenEnabled])}};e.extend(!0,e.fancybox.defaults,{btnTpl:{fullScreen:'<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fullscreen" title="{{FULL_SCREEN}}"><svg viewBox="0 0 40 40"><path d="M9,12 v16 h22 v-16 h-22 v8" /></svg></button>'},fullScreen:{autoStart:!1}}),e(t).on({"onInit.fb":function(t,e){var n;e&&e.group[e.currIndex].opts.fullScreen?(n=e.$refs.container,n.on("click.fb-fullscreen","[data-fancybox-fullscreen]",function(t){t.stopPropagation(),t.preventDefault(),o.toggle()}),e.opts.fullScreen&&e.opts.fullScreen.autoStart===!0&&o.request(),e.FullScreen=o):e&&e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide()},"afterKeydown.fb":function(t,e,n,o,i){e&&e.FullScreen&&70===i&&(o.preventDefault(),e.FullScreen.toggle())},"beforeClose.fb":function(t,e){e&&e.FullScreen&&e.$refs.container.hasClass("fancybox-is-fullscreen")&&o.exit()}}),e(t).on(n.fullscreenchange,function(){var t=o.isFullscreen(),n=e.fancybox.getInstance();n&&(n.current&&"image"===n.current.type&&n.isAnimating&&(n.current.$content.css("transition","none"),n.isAnimating=!1,n.update(!0,!0,0)),n.trigger("onFullscreenChange",t),n.$refs.container.toggleClass("fancybox-is-fullscreen",t))})}(document,window.jQuery||jQuery),function(t,e){"use strict";var n="fancybox-thumbs",o=n+"-active",i=n+"-loading";e.fancybox.defaults=e.extend(!0,{btnTpl:{thumbs:'<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"><svg viewBox="0 0 120 120"><path d="M30,30 h14 v14 h-14 Z M50,30 h14 v14 h-14 Z M70,30 h14 v14 h-14 Z M30,50 h14 v14 h-14 Z M50,50 h14 v14 h-14 Z M70,50 h14 v14 h-14 Z M30,70 h14 v14 h-14 Z M50,70 h14 v14 h-14 Z M70,70 h14 v14 h-14 Z" /></svg></button>'},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"}},e.fancybox.defaults);var a=function(t){this.init(t)};e.extend(a.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,isActive:!1,init:function(t){var e,n,o=this;o.instance=t,t.Thumbs=o,o.opts=t.group[t.currIndex].opts.thumbs,e=t.group[0],e=e.opts.thumb||!(!e.opts.$thumb||!e.opts.$thumb.length)&&e.opts.$thumb.attr("src"),t.group.length>1&&(n=t.group[1],n=n.opts.thumb||!(!n.opts.$thumb||!n.opts.$thumb.length)&&n.opts.$thumb.attr("src")),o.$button=t.$refs.toolbar.find("[data-fancybox-thumbs]"),o.opts&&e&&n&&e&&n?(o.$button.show().on("click",function(){o.toggle()}),o.isActive=!0):o.$button.hide()},create:function(){var t,o=this,a=o.instance,s=o.opts.parentEl,r=[];o.$grid||(o.$grid=e('<div class="'+n+" "+n+"-"+o.opts.axis+'"></div>').appendTo(a.$refs.container.find(s).addBack().filter(s)),o.$grid.on("click","li",function(){a.jumpTo(e(this).attr("data-index"))})),o.$list||(o.$list=e("<ul>").appendTo(o.$grid)),e.each(a.group,function(e,n){t=n.opts.thumb||(n.opts.$thumb?n.opts.$thumb.attr("src"):null),t||"image"!==n.type||(t=n.src),r.push('<li data-index="'+e+'" tabindex="0" class="'+i+'"'+(t&&t.length?' style="background-image:url('+t+')" />':"")+"></li>")}),o.$list[0].innerHTML=r.join(""),"x"===o.opts.axis&&o.$list.width(parseInt(o.$grid.css("padding-right"),10)+a.group.length*o.$list.children().eq(0).outerWidth(!0))},focus:function(t){var e,n,i=this,a=i.$list,s=i.$grid;i.instance.current&&(e=a.children().removeClass(o).filter('[data-index="'+i.instance.current.index+'"]').addClass(o),n=e.position(),"y"===i.opts.axis&&(n.top<0||n.top>a.height()-e.outerHeight())?a.stop().animate({scrollTop:a.scrollTop()+n.top},t):"x"===i.opts.axis&&(n.left<s.scrollLeft()||n.left>s.scrollLeft()+(s.width()-e.outerWidth()))&&a.parent().stop().animate({scrollLeft:n.left},t))},update:function(){var t=this;t.instance.$refs.container.toggleClass("fancybox-show-thumbs",this.isVisible),t.isVisible?(t.$grid||t.create(),t.instance.trigger("onThumbsShow"),t.focus(0)):t.$grid&&t.instance.trigger("onThumbsHide"),t.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible=!this.isVisible,this.update()}}),e(t).on({"onInit.fb":function(t,e){var n;e&&!e.Thumbs&&(n=new a(e),n.isActive&&n.opts.autoStart===!0&&n.show())},"beforeShow.fb":function(t,e,n,o){var i=e&&e.Thumbs;i&&i.isVisible&&i.focus(o?0:250)},"afterKeydown.fb":function(t,e,n,o,i){var a=e&&e.Thumbs;a&&a.isActive&&71===i&&(o.preventDefault(),a.toggle())},"beforeClose.fb":function(t,e){var n=e&&e.Thumbs;n&&n.isVisible&&n.opts.hideOnClose!==!1&&n.$grid.hide()}})}(document,window.jQuery||jQuery),function(t,e){"use strict";function n(t){var e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};return String(t).replace(/[&<>"'`=\/]/g,function(t){return e[t]})}e.extend(!0,e.fancybox.defaults,{btnTpl:{share:'<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}"><svg viewBox="0 0 40 40"><path d="M6,30 C8,18 19,16 23,16 L23,16 L23,10 L33,20 L23,29 L23,24 C19,24 8,27 6,30 Z"></svg></button>'},share:{url:function(t,e){return!t.currentHash&&"inline"!==e.type&&"html"!==e.type&&(e.origSrc||e.src)||window.location},tpl:'<div class="fancybox-share"><h1>{{SHARE}}</h1><p><a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg><span>Facebook</span></a><a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg><span>Twitter</span></a><a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg><span>Pinterest</span></a></p><p><input class="fancybox-share__input" type="text" value="{{url_raw}}" /></p></div>'}}),e(t).on("click","[data-fancybox-share]",function(){var t,o,i=e.fancybox.getInstance(),a=i.current||null;a&&("function"===e.type(a.opts.share.url)&&(t=a.opts.share.url.apply(a,[i,a])),o=a.opts.share.tpl.replace(/\{\{media\}\}/g,"image"===a.type?encodeURIComponent(a.src):"").replace(/\{\{url\}\}/g,encodeURIComponent(t)).replace(/\{\{url_raw\}\}/g,n(t)).replace(/\{\{descr\}\}/g,i.$caption?encodeURIComponent(i.$caption.text()):""),e.fancybox.open({src:i.translate(i,o),type:"html",opts:{animationEffect:!1,afterLoad:function(t,e){i.$refs.container.one("beforeClose.fb",function(){t.close(null,0)}),e.$content.find(".fancybox-share__links a").click(function(){return window.open(this.href,"Share","width=550, height=450"),!1})}}}))})}(document,window.jQuery||jQuery),function(t,e,n){"use strict";function o(){var t=e.location.hash.substr(1),n=t.split("-"),o=n.length>1&&/^\+?\d+#x2F;.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,i=n.join("-");return{hash:t,index:o<1?1:o,gallery:i}}function i(t){var e;""!==t.gallery&&(e=n("[data-fancybox='"+n.escapeSelector(t.gallery)+"']").eq(t.index-1).trigger("click.fb-start"))}function a(t){var e,n;return!!t&&(e=t.current?t.current.opts:t.opts,n=e.hash||(e.$orig?e.$orig.data("fancybox"):""),""!==n&&n)}n.escapeSelector||(n.escapeSelector=function(t){var e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,n=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t};return(t+"").replace(e,n)}),n(function(){n.fancybox.defaults.hash!==!1&&(n(t).on({"onInit.fb":function(t,e){var n,i;e.group[e.currIndex].opts.hash!==!1&&(n=o(),i=a(e),i&&n.gallery&&i==n.gallery&&(e.currIndex=n.index-1))},"beforeShow.fb":function(n,o,i,s){var r;i&&i.opts.hash!==!1&&(r=a(o),r&&(o.currentHash=r+(o.group.length>1?"-"+(i.index+1):""),e.location.hash!=="#"+o.currentHash&&(o.origHash||(o.origHash=e.location.hash),o.hashTimer&&clearTimeout(o.hashTimer),o.hashTimer=setTimeout(function(){"replaceState"in e.history?(e.history[s?"pushState":"replaceState"]({},t.title,e.location.pathname+e.location.search+"#"+o.currentHash),s&&(o.hasCreatedHistory=!0)):e.location.hash=o.currentHash,o.hashTimer=null},300))))},"beforeClose.fb":function(n,o,i){var s;i.opts.hash!==!1&&(s=a(o),o.currentHash&&o.hasCreatedHistory?e.history.back():o.currentHash&&("replaceState"in e.history?e.history.replaceState({},t.title,e.location.pathname+e.location.search+(o.origHash||"")):e.location.hash=o.origHash),o.currentHash=null,clearTimeout(o.hashTimer))}}),n(e).on("hashchange.fb",function(){var t,e=o();n.each(n(".fancybox-container").get().reverse(),function(e,o){var i=n(o).data("FancyBox");if(i.currentHash)return t=i,!1}),t?!t.currentHash||t.currentHash===e.gallery+"-"+e.index||1===e.index&&t.currentHash==e.gallery||(t.currentHash=null,t.close()):""!==e.gallery&&i(e)}),setTimeout(function(){n.fancybox.getInstance()||i(o())},50))})}(document,window,window.jQuery||jQuery),function(t,e){"use strict";var n=(new Date).getTime();e(t).on({"onInit.fb":function(t,e,o){e.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll",function(t){var o=e.current,i=(new Date).getTime();e.group.length<2||o.opts.wheel===!1||"auto"===o.opts.wheel&&"image"!==o.type||(t.preventDefault(),t.stopPropagation(),o.$slide.hasClass("fancybox-animated")||(t=t.originalEvent||t,i-n<250||(n=i,e[(-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)<0?"next":"previous"]())))})}})}(document,window.jQuery||jQuery);
13
+
14
+ function fv_player_colorbox_title() {
15
+ var that = jQuery(this);
16
+ if( that.attr('title') && that.attr('title').length > 0 ) return that.attr('title');
17
+ if( that.find('img') && that.find('img').attr('alt') && that.find('img').attr('alt').length > 0 ) return that.find('img').attr('alt');
18
+ if( that.parent().is('h5') && that.clone().children().remove().end().text() ) {
19
+ return that.clone().children().remove().end().text();
20
+ }
21
+ if( that.parent().is('h5') && that.parent().clone().children().remove().end().text() ) {
22
+ return that.parent().clone().children().remove().end().text();
23
+ }
24
+ return '';
25
+ }
26
+
27
+ jQuery.fancybox.defaults.smallBtn = false;
28
+ jQuery.fancybox.defaults.toolbar = true;
29
+ jQuery.fancybox.defaults.thumbs.hideOnClose = false;
30
+ jQuery.fancybox.defaults.caption = fv_player_colorbox_title;
31
+ jQuery.fancybox.defaults.afterLoad = fv_fancybox_check_size;
32
+ jQuery.fancybox.defaults.onThumbsShow = function() {
33
+ jQuery(jQuery.fancybox.getInstance().group).each( function(k,v) {
34
+ if( v.src.match(/^#wpfp_/) ) {
35
+ jQuery('.fancybox-thumbs li[data-index='+k+']').append('<span class="fv-player-fancybox-play-icon">&#9654;</span>');
36
+ }
37
+ if( v.opts.$thumb[0].src.match(/data:image.*?base64/) ) {console.log('no thumb!',jQuery( v.opts.$thumb).data('lazy-src'));
38
+ jQuery('.fancybox-thumbs li[data-index='+k+']').css('background-image', 'url("'+jQuery( v.opts.$thumb).data('lazy-src')+'")' );
39
+ }
40
+ })
41
+ }
42
+ jQuery.fancybox.defaults.hash = false;
43
+ jQuery.fancybox.defaults.buttons = ["slideShow","fullScreen","thumbs","close"];
44
+
45
+ jQuery(document).ready(function() {
46
+ jQuery(".colorbox[href^='#'], .lightbox[href^='#']").filter(function () {
47
+ return this.href && !this.href.match(/\.(png|jpg|jpeg|gif|webp)/i)
48
+ }).fancybox();
49
+ jQuery(".colorbox, .lightbox").filter(function () {
50
+ return this.href && this.href.match(/\.(png|jpg|jpeg|gif|webp)/i)
51
+ }).attr('data-fancybox','gallery').fancybox();
52
+ });
53
+
54
+ function fv_fancybox_check_size() {
55
+ var
56
+ $player = jQuery('.fancybox-slide--current .flowplayer:visible'),
57
+ player_height = $player.outerHeight(),
58
+ $caption = jQuery('.fancybox-caption'),
59
+ $toolbar = jQuery('.fancybox-toolbar'),
60
+ $fs_button = $player.find('.fp-fullscreen');
61
+
62
+ if ($player.length) {
63
+
64
+ if( typeof($player.data('orig-max-height')) == 'undefined' ) {
65
+ $player.data('orig-max-height', parseInt($player.css('max-height')) ).data('orig-max-width', parseInt($player.css('max-width')) );
66
+ }
67
+
68
+ var height = jQuery(window).height();
69
+ if( $player.hasClass('fixed-controls') ) height -= $player.find('.fp-controls').height(); // reserve a bit of space for controlbar
70
+
71
+ if( height > $player.data('orig-max-height') && jQuery(window).width() > $player.data('orig-max-width') ) { // if the player original dimensions fit, restore original height
72
+ height = $player.data('orig-max-height');
73
+ }
74
+
75
+ $player
76
+ .css('max-height', '')
77
+ .css('max-width', (height/$player.data('ratio'))+'px');
78
+
79
+
80
+ // hide caption if it would cover the player
81
+ if ($caption.length) {
82
+ if ( $caption.position().top - 5 < $player.position().top + player_height ) $caption.hide();
83
+ else $caption.show();
84
+ }
85
+
86
+ // hide FV Player fullscreen button if it would be covered.
87
+ if ($toolbar.length) {
88
+ if ( $player.position().top < $toolbar.position().top + $toolbar.height() ) $fs_button.hide();
89
+ else $fs_button.show();
90
+ }
91
+
92
+ jQuery('.fancybox-button--play').hide();
93
+ } else {
94
+ jQuery('.fancybox-button--play').show();
95
+ }
96
+ }
97
+
98
+ function fv_lightbox_flowplayer_shutdown() {
99
+ jQuery('.flowplayer').each( function() {
100
+ var api = jQuery(this).data("flowplayer");
101
+ if( typeof(api) == "undefined") {
102
+ return;
103
+ }
104
+ if( api.ready ) {
105
+ api.unload();
106
+ }
107
+ if( api.loading ) {
108
+ api.one('ready',function(){
109
+ if(api.engine.engineName === 'fvyoutube')
110
+ api.unload();
111
+ })
112
+ }
113
+ } );
114
+ }
115
+
116
+ jQuery(document).on('afterShow.fb afterClose.fb', fv_lightbox_flowplayer_shutdown);
117
+
118
+ jQuery(window).resize(fv_fancybox_check_size);
119
+
120
+ if( document.addEventListener ) {
121
+ var fv_orientation_change_timer = -1;
122
+
123
+ window.addEventListener("orientationchange", function() {
124
+ if (window.fv_orientation_change_timer > -1) {
125
+ clearTimeout(fv_orientation_change_timer);
126
+ fv_orientation_change_timer = -1;
127
+ }
128
+
129
+ fv_orientation_change_timer = setTimeout(function() {
130
+ fv_fancybox_check_size();
131
+ fv_orientation_change_timer = -1;
132
+ }, 1000);
133
+ }, false);
134
+ }
135
+
136
+ // overriding default Flowplayer fullscreen function
137
+ jQuery(document).on('ready', function() {
138
+ if( typeof(flowplayer) != "undefined" ) {
139
+ flowplayer( function(api,root) {
140
+ if( jQuery(root).parents('.fv_player_lightbox_hidden').length ) {
141
+ if( flowplayer.support.fullscreen ) { // todo: should also work for YouTube on desktop
142
+ api.fullscreen = function() {
143
+ jQuery.fancybox.getInstance().FullScreen.toggle();
144
+ };
145
+ } else {
146
+ var fancybox_ui = '.fancybox-caption, .fancybox-toolbar, .fancybox-infobar, .fancybox-navigation';
147
+ var fancybox_thumbs = false;
148
+ api.on('fullscreen', function() {
149
+ jQuery(fancybox_ui).hide();
150
+ fancybox_thumbs = jQuery('.fancybox-container').hasClass('fancybox-show-thumbs')
151
+ jQuery('.fancybox-container').removeClass('fancybox-show-thumbs');
152
+ }).on('fullscreen-exit', function() {
153
+ jQuery(fancybox_ui).show();
154
+ if( fancybox_thumbs ) jQuery('.fancybox-container').addClass('fancybox-show-thumbs');
155
+ });
156
+ }
157
+ }
158
+ });
159
+ }
160
+ });
161
+
162
+ jQuery(document).on('webkitfullscreenchange mozfullscreenchange fullscreenchange', function() {
163
+ fv_fancybox_check_size();
164
+ });
165
+
166
+ jQuery(document).ready(fv_player_lightbox_bind);
167
+ jQuery(document).ajaxComplete(fv_player_lightbox_bind);
168
+
169
+ function fv_player_lightbox_bind(){
170
+
171
+ jQuery(".flowplayer.lightbox-starter").each( function() {
172
+ var player = jQuery(this);
173
+ if( parseInt(player.css('width')) < 10 || parseInt(player.css('height')) < 10 ) {
174
+ //if (!parseInt(origRatio, 10))
175
+ var ratio = jQuery('.fp-ratio', player);
176
+ if( ratio.length < 1){
177
+ player.append('<div class="fp-ratio"></div>');
178
+ ratio = jQuery('.fp-ratio', player);
179
+ }
180
+ ratio.css("paddingTop", player.data('ratio') * 100 + "%");
181
+ }
182
+ var PLAY_ROUNDED_OUTLINE = "PHN2ZyBjbGFzcz0iZnAtcGxheS1yb3VuZGVkLW91dGxpbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDk5Ljg0NCA5OS44NDM0Ij48ZGVmcz48c3R5bGU+LmZwLWNvbG9yLXBsYXl7b3BhY2l0eTowLjY1O30uY29udHJvbGJ1dHRvbntmaWxsOiNmZmY7fTwvc3R5bGU+CjwvZGVmcz4KPHRpdGxlPnBsYXktcm91bmRlZC1vdXRsaW5lPC90aXRsZT48cGF0aCBjbGFzcz0iZnAtY29sb3ItcGxheSIgZD0iTTQ5LjkyMTctLjA3OGE1MCw1MCwwLDEsMCw1MCw1MEE1MC4wNTY0LDUwLjA1NjQsMCwwLDAsNDkuOTIxNy0uMDc4WiIvPjxwYXRoIGNsYXNzPSJjb250cm9sYnV0dG9uIiBkPSJNNDEuMDM1OSw3MS4xOWE1LjA0OTIsNS4wNDkyLDAsMCwxLTIuNTU3NS0uNjY3M2MtMS44MDMxLTEuMDQxLTIuNzk1OC0zLjEyNDgtMi43OTU4LTUuODY2NFYzNS4xODg3YzAtMi43NDI5Ljk5MzMtNC44MjcyLDIuNzk3LTUuODY3NiwxLjgwMjUtMS4wNDIyLDQuMTAzNC0uODYsNi40OC41MTQzTDcwLjQ3ODIsNDQuNTY3MmMyLjM3NTEsMS4zNzExLDMuNjgyNiwzLjI3MjUsMy42ODMyLDUuMzU0NXMtMS4zMDc2LDMuOTg0NS0zLjY4MzIsNS4zNTYyTDQ0Ljk1OTIsNzAuMDExNEE3LjkzODQsNy45Mzg0LDAsMCwxLDQxLjAzNTksNzEuMTlabS4wMDY1LTQwLjEyM2EyLjY3OTQsMi42Nzk0LDAsMCwwLTEuMzU4Mi4zNDEzYy0xLjAyNjMuNTkyNi0xLjU5MTIsMS45MzQ5LTEuNTkxMiwzLjc4VjY0LjY1NjNjMCwxLjg0NDkuNTY0OSwzLjE4NjYsMS41OTA2LDMuNzc5MSwxLjAyODEuNTkzMiwyLjQ3MzMuNDEwOCw0LjA3LS41MTJMNjkuMjczLDUzLjE5MDZjMS41OTgzLS45MjI3LDIuNDc4LTIuMDgzOCwyLjQ3OC0zLjI2ODlzLS44OC0yLjM0NDUtMi40NzgtMy4yNjY2TDQzLjc1NCwzMS45MjI3QTUuNTY4NSw1LjU2ODUsMCwwLDAsNDEuMDQyMywzMS4wNjcxWiIgZmlsdGVyPSJ1cmwoI2YxKSIvPjwvc3ZnPgo="
183
+ , PLAY_ROUNDED_FILL = "PHN2ZyBjbGFzcz0iZnAtcGxheS1yb3VuZGVkLWZpbGwiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiPgogIDxkZWZzPjxzdHlsZT4uYXtmaWxsOiMwMDA7b3BhY2l0eTowLjY1O30uYntmaWxsOiNmZmY7b3BhY2l0eToxLjA7fTwvc3R5bGU+CiAgPC9kZWZzPjx0aXRsZT5wbGF5LXJvdW5kZWQtZmlsbDwvdGl0bGU+CiAgPHBhdGggY2xhc3M9ImZwLWNvbG9yLXBsYXkiIGQ9Ik00OS45MjE3LS4wNzhhNTAsNTAsMCwxLDAsNTAsNTBBNTAuMDU2NCw1MC4wNTY0LDAsMCwwLDQ5LjkyMTctLjA3OFoiLz4KICA8cGF0aCBjbGFzcz0iYiIgZD0iTTM1Ljk0MiwzNS4yMzIzYzAtNC43Mjg5LDMuMzUwNi02LjY2MzcsNy40NDYtNC4yOTcxTDY4LjgzLDQ1LjYyMzVjNC4wOTU2LDIuMzY0LDQuMDk1Niw2LjIzMTksMCw4LjU5NzdMNDMuMzg4LDY4LjkxYy00LjA5NTQsMi4zNjQtNy40NDYuNDMtNy40NDYtNC4yOTc5WiIgZmlsdGVyPSJ1cmwoI2YxKSIvPgogIDwvc3ZnPgogIAo="
184
+ , PLAY_SHARP_FILL = "PHN2ZyBjbGFzcz0iZnAtcGxheS1zaGFycC1maWxsIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4uZnAtY29sb3ItcGxheXtvcGFjaXR5OjAuNjU7fS5jb250cm9sYnV0dG9ue2ZpbGw6I2ZmZjt9PC9zdHlsZT4KICA8L2RlZnM+CiAgPHRpdGxlPnBsYXktc2hhcnAtZmlsbDwvdGl0bGU+CiAgPHBhdGggY2xhc3M9ImZwLWNvbG9yLXBsYXkiIGQ9Ik00OS45MjE3LS4wNzhhNTAsNTAsMCwxLDAsNTAsNTBBNTAuMDU2NCw1MC4wNTY0LDAsMCwwLDQ5LjkyMTctLjA3OFoiLz4KICA8cG9seWdvbiBjbGFzcz0iY29udHJvbGJ1dHRvbiIgcG9pbnRzPSI3My42MDEgNTAgMzcuOTY4IDcwLjU3MyAzNy45NjggMjkuNDI3IDczLjYwMSA1MCIgZmlsdGVyPSJ1cmwoI2YxKSIvPgo8L3N2Zz4K"
185
+ , PLAY_SHARP_OUTLINE = "PHN2ZyBjbGFzcz0iZnAtcGxheS1zaGFycC1vdXRsaW5lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5OS44NDQgOTkuODQzNCI+PGRlZnM+PHN0eWxlPi5jb250cm9sYnV0dG9uYmd7b3BhY2l0eTowLjY1O30uY29udHJvbGJ1dHRvbntmaWxsOiNmZmY7fTwvc3R5bGU+CjwvZGVmcz48dGl0bGU+cGxheS1zaGFycC1vdXRsaW5lPC90aXRsZT48cGF0aCBjbGFzcz0iZnAtY29sb3ItcGxheSIgZD0iTTQ5LjkyMTctLjA3OGE1MCw1MCwwLDEsMCw1MCw1MEE1MC4wNTY0LDUwLjA1NjQsMCwwLDAsNDkuOTIxNy0uMDc4WiIvPjxwYXRoIGNsYXNzPSJjb250cm9sYnV0dG9uIiBkPSJNMzYuOTQ0Myw3Mi4yNDczVjI3LjI5MTZMNzUuODc3Niw0OS43N1ptMi4yLTQxLjE0NTVWNjguNDM3MUw3MS40Nzc2LDQ5Ljc3WiIgZmlsdGVyPSJ1cmwoI2YxKSIvPjwvc3ZnPgo=";
186
+
187
+ if( flowplayer.version.match(/^7/) && flowplayer.support.svg ) {
188
+ jQuery(this).find('.fp-play').append( atob(PLAY_ROUNDED_OUTLINE) + atob(PLAY_ROUNDED_FILL) + atob(PLAY_SHARP_FILL) + atob(PLAY_SHARP_OUTLINE) )
189
+ jQuery(this).removeClass('no-svg');
190
+ }
191
+ } );
192
+
193
+ }
js/lightbox.js CHANGED
@@ -110,6 +110,15 @@ function fv_player_lightbox_bind(){
110
}
111
ratio.css("paddingTop", player.data('ratio') * 100 + "%");
112
}
113
//if (!support.inlineBlock) $("object", root).height(root.height());
114
} );
115
110
}
111
ratio.css("paddingTop", player.data('ratio') * 100 + "%");
112
}
113
+ var PLAY_ROUNDED_OUTLINE = "PHN2ZyBjbGFzcz0iZnAtcGxheS1yb3VuZGVkLW91dGxpbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDk5Ljg0NCA5OS44NDM0Ij48ZGVmcz48c3R5bGU+LmZwLWNvbG9yLXBsYXl7b3BhY2l0eTowLjY1O30uY29udHJvbGJ1dHRvbntmaWxsOiNmZmY7fTwvc3R5bGU+CjwvZGVmcz4KPHRpdGxlPnBsYXktcm91bmRlZC1vdXRsaW5lPC90aXRsZT48cGF0aCBjbGFzcz0iZnAtY29sb3ItcGxheSIgZD0iTTQ5LjkyMTctLjA3OGE1MCw1MCwwLDEsMCw1MCw1MEE1MC4wNTY0LDUwLjA1NjQsMCwwLDAsNDkuOTIxNy0uMDc4WiIvPjxwYXRoIGNsYXNzPSJjb250cm9sYnV0dG9uIiBkPSJNNDEuMDM1OSw3MS4xOWE1LjA0OTIsNS4wNDkyLDAsMCwxLTIuNTU3NS0uNjY3M2MtMS44MDMxLTEuMDQxLTIuNzk1OC0zLjEyNDgtMi43OTU4LTUuODY2NFYzNS4xODg3YzAtMi43NDI5Ljk5MzMtNC44MjcyLDIuNzk3LTUuODY3NiwxLjgwMjUtMS4wNDIyLDQuMTAzNC0uODYsNi40OC41MTQzTDcwLjQ3ODIsNDQuNTY3MmMyLjM3NTEsMS4zNzExLDMuNjgyNiwzLjI3MjUsMy42ODMyLDUuMzU0NXMtMS4zMDc2LDMuOTg0NS0zLjY4MzIsNS4zNTYyTDQ0Ljk1OTIsNzAuMDExNEE3LjkzODQsNy45Mzg0LDAsMCwxLDQxLjAzNTksNzEuMTlabS4wMDY1LTQwLjEyM2EyLjY3OTQsMi42Nzk0LDAsMCwwLTEuMzU4Mi4zNDEzYy0xLjAyNjMuNTkyNi0xLjU5MTIsMS45MzQ5LTEuNTkxMiwzLjc4VjY0LjY1NjNjMCwxLjg0NDkuNTY0OSwzLjE4NjYsMS41OTA2LDMuNzc5MSwxLjAyODEuNTkzMiwyLjQ3MzMuNDEwOCw0LjA3LS41MTJMNjkuMjczLDUzLjE5MDZjMS41OTgzLS45MjI3LDIuNDc4LTIuMDgzOCwyLjQ3OC0zLjI2ODlzLS44OC0yLjM0NDUtMi40NzgtMy4yNjY2TDQzLjc1NCwzMS45MjI3QTUuNTY4NSw1LjU2ODUsMCwwLDAsNDEuMDQyMywzMS4wNjcxWiIgZmlsdGVyPSJ1cmwoI2YxKSIvPjwvc3ZnPgo="
114
+ , PLAY_ROUNDED_FILL = "PHN2ZyBjbGFzcz0iZnAtcGxheS1yb3VuZGVkLWZpbGwiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiPgogIDxkZWZzPjxzdHlsZT4uYXtmaWxsOiMwMDA7b3BhY2l0eTowLjY1O30uYntmaWxsOiNmZmY7b3BhY2l0eToxLjA7fTwvc3R5bGU+CiAgPC9kZWZzPjx0aXRsZT5wbGF5LXJvdW5kZWQtZmlsbDwvdGl0bGU+CiAgPHBhdGggY2xhc3M9ImZwLWNvbG9yLXBsYXkiIGQ9Ik00OS45MjE3LS4wNzhhNTAsNTAsMCwxLDAsNTAsNTBBNTAuMDU2NCw1MC4wNTY0LDAsMCwwLDQ5LjkyMTctLjA3OFoiLz4KICA8cGF0aCBjbGFzcz0iYiIgZD0iTTM1Ljk0MiwzNS4yMzIzYzAtNC43Mjg5LDMuMzUwNi02LjY2MzcsNy40NDYtNC4yOTcxTDY4LjgzLDQ1LjYyMzVjNC4wOTU2LDIuMzY0LDQuMDk1Niw2LjIzMTksMCw4LjU5NzdMNDMuMzg4LDY4LjkxYy00LjA5NTQsMi4zNjQtNy40NDYuNDMtNy40NDYtNC4yOTc5WiIgZmlsdGVyPSJ1cmwoI2YxKSIvPgogIDwvc3ZnPgogIAo="
115
+ , PLAY_SHARP_FILL = "PHN2ZyBjbGFzcz0iZnAtcGxheS1zaGFycC1maWxsIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4uZnAtY29sb3ItcGxheXtvcGFjaXR5OjAuNjU7fS5jb250cm9sYnV0dG9ue2ZpbGw6I2ZmZjt9PC9zdHlsZT4KICA8L2RlZnM+CiAgPHRpdGxlPnBsYXktc2hhcnAtZmlsbDwvdGl0bGU+CiAgPHBhdGggY2xhc3M9ImZwLWNvbG9yLXBsYXkiIGQ9Ik00OS45MjE3LS4wNzhhNTAsNTAsMCwxLDAsNTAsNTBBNTAuMDU2NCw1MC4wNTY0LDAsMCwwLDQ5LjkyMTctLjA3OFoiLz4KICA8cG9seWdvbiBjbGFzcz0iY29udHJvbGJ1dHRvbiIgcG9pbnRzPSI3My42MDEgNTAgMzcuOTY4IDcwLjU3MyAzNy45NjggMjkuNDI3IDczLjYwMSA1MCIgZmlsdGVyPSJ1cmwoI2YxKSIvPgo8L3N2Zz4K"
116
+ , PLAY_SHARP_OUTLINE = "PHN2ZyBjbGFzcz0iZnAtcGxheS1zaGFycC1vdXRsaW5lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5OS44NDQgOTkuODQzNCI+PGRlZnM+PHN0eWxlPi5jb250cm9sYnV0dG9uYmd7b3BhY2l0eTowLjY1O30uY29udHJvbGJ1dHRvbntmaWxsOiNmZmY7fTwvc3R5bGU+CjwvZGVmcz48dGl0bGU+cGxheS1zaGFycC1vdXRsaW5lPC90aXRsZT48cGF0aCBjbGFzcz0iZnAtY29sb3ItcGxheSIgZD0iTTQ5LjkyMTctLjA3OGE1MCw1MCwwLDEsMCw1MCw1MEE1MC4wNTY0LDUwLjA1NjQsMCwwLDAsNDkuOTIxNy0uMDc4WiIvPjxwYXRoIGNsYXNzPSJjb250cm9sYnV0dG9uIiBkPSJNMzYuOTQ0Myw3Mi4yNDczVjI3LjI5MTZMNzUuODc3Niw0OS43N1ptMi4yLTQxLjE0NTVWNjguNDM3MUw3MS40Nzc2LDQ5Ljc3WiIgZmlsdGVyPSJ1cmwoI2YxKSIvPjwvc3ZnPgo=";
117
+
118
+ if( flowplayer.version.match(/^7/) && flowplayer.support.svg ) {
119
+ jQuery(this).find('.fp-play').append( atob(PLAY_ROUNDED_OUTLINE) + atob(PLAY_ROUNDED_FILL) + atob(PLAY_SHARP_FILL) + atob(PLAY_SHARP_OUTLINE) )
120
+ jQuery(this).removeClass('no-svg');
121
+ }
122
//if (!support.inlineBlock) $("object", root).height(root.height());
123
} );
124
models/email-subscription.php CHANGED
@@ -675,4 +675,5 @@ class FV_Player_Email_Subscription {
675
676
}
677
678
$FV_Player_Email_Subscription = new FV_Player_Email_Subscription();
675
676
}
677
678
+ global $FV_Player_Email_Subscription;
679
$FV_Player_Email_Subscription = new FV_Player_Email_Subscription();
models/flowplayer-frontend.php CHANGED
@@ -153,12 +153,12 @@ class flowplayer_frontend extends flowplayer
153
$aPlaylistItems = array(); // todo: remove
154
$aSplashScreens = array();
155
$aCaptions = array();
156
- if( !$this->_get_option('old_code') || apply_filters('fv_flowplayer_playlist_items',array(),$this) || isset($this->aCurArgs['playlist']) && strlen(trim($this->aCurArgs['playlist'])) > 0 ) {
157
158
list( $playlist_items_external_html, $aPlaylistItems, $aSplashScreens, $aCaptions ) = $this->build_playlist( $this->aCurArgs, $media, $src1, $src2, $rtmp, $splash_img );
159
}
160
161
- if( !$this->_get_option('old_code') && count($aPlaylistItems) == 1 ) {
162
$playlist_items_external_html = false;
163
$attributes['data-item'] = $this->json_encode( apply_filters( 'fv_player_item', $aPlaylistItems[0], 0, $this->aCurArgs ) );
164
}
@@ -409,7 +409,7 @@ class flowplayer_frontend extends flowplayer
409
410
$attributes['style'] = '';
411
if( !empty($this->aCurArgs['playlist']) && ( in_array($this->_get_option('liststyle'), array('horizontal','slider') ) || isset($this->aCurArgs['liststyle']) && in_array($this->aCurArgs['liststyle'] == 'horizontal', array('horizontal','slider')) ) ) {
412
- // no player dimensions for playlists
413
} else if( !$bIsAudio ) {
414
if( intval($width) == 0 ) $width = '100%';
415
if( intval($height) == 0 ) $height = '100%';
@@ -487,6 +487,10 @@ class flowplayer_frontend extends flowplayer
487
488
}
489
490
if( !empty($this->aCurArgs['redirect']) ) {
491
$attributes['data-fv_redirect'] = trim($this->aCurArgs['redirect']);
492
}
153
$aPlaylistItems = array(); // todo: remove
154
$aSplashScreens = array();
155
$aCaptions = array();
156
+ if( $this->is_beta() || !$this->_get_option('old_code') || apply_filters('fv_flowplayer_playlist_items',array(),$this) || isset($this->aCurArgs['playlist']) && strlen(trim($this->aCurArgs['playlist'])) > 0 ) {
157
158
list( $playlist_items_external_html, $aPlaylistItems, $aSplashScreens, $aCaptions ) = $this->build_playlist( $this->aCurArgs, $media, $src1, $src2, $rtmp, $splash_img );
159
}
160
161
+ if( ( $this->is_beta() || !$this->_get_option('old_code') ) && count($aPlaylistItems) == 1 ) {
162
$playlist_items_external_html = false;
163
$attributes['data-item'] = $this->json_encode( apply_filters( 'fv_player_item', $aPlaylistItems[0], 0, $this->aCurArgs ) );
164
}
409
410
$attributes['style'] = '';
411
if( !empty($this->aCurArgs['playlist']) && ( in_array($this->_get_option('liststyle'), array('horizontal','slider') ) || isset($this->aCurArgs['liststyle']) && in_array($this->aCurArgs['liststyle'] == 'horizontal', array('horizontal','slider')) ) ) {
412
+ $attributes['style'] .= 'max-width: 100%; ';
413
} else if( !$bIsAudio ) {
414
if( intval($width) == 0 ) $width = '100%';
415
if( intval($height) == 0 ) $height = '100%';
487
488
}
489
490
+ if( get_query_var('fv_player_embed') ) { // this is needed for iframe embedding only
491
+ $attributes['class'] .= ' fp-is-embed';
492
+ }
493
+
494
if( !empty($this->aCurArgs['redirect']) ) {
495
$attributes['data-fv_redirect'] = trim($this->aCurArgs['redirect']);
496
}
models/flowplayer.php CHANGED
@@ -489,8 +489,13 @@ class flowplayer extends FV_Wordpress_Flowplayer_Plugin_Private {
489
490
491
private function _get_conf() {
492
- /// Addition 2010/07/12 mv
493
- $conf = get_option( 'fvwpflowplayer' );
494
495
if( !isset( $conf['autoplay'] ) ) $conf['autoplay'] = 'false';
496
if( !isset( $conf['googleanalytics'] ) ) $conf['googleanalytics'] = 'false';
@@ -640,10 +645,6 @@ class flowplayer extends FV_Wordpress_Flowplayer_Plugin_Private {
640
$value = false;
641
else if($value === 'true')
642
$value = true;
643
-
644
- if( isset($_GET['old_code']) && $key == 'old_code' ) {
645
- return $_GET['old_code'];
646
- }
647
648
return $value;
649
}
@@ -755,11 +756,11 @@ class flowplayer extends FV_Wordpress_Flowplayer_Plugin_Private {
755
public function beta_updates() {
756
if( flowplayer::is_beta() ) {
757
$this->strPluginSlug = 'fv-wordpress-flowplayer';
758
- $this->strPrivateAPI = 'http://foliovision.com/plugins/';
759
$this->strPluginPath = 'fv-wordpress-flowplayer/flowplayer.php';
760
global $fv_wp_flowplayer_ver_beta;
761
$this->version = str_replace('.beta','',$fv_wp_flowplayer_ver_beta);
762
- $this->readme_URL = 'https://foliovision.com/plugins/public/fv-wordpress-flowplayer-beta-changelog.txt';
763
parent::auto_updates();
764
}
765
}
@@ -772,7 +773,7 @@ class flowplayer extends FV_Wordpress_Flowplayer_Plugi