PageSourceSearch

https://highrollerlobster.com/app/uploads/sites/71/bb-plugin/cache…?ver=00b22a238acd08983bf00c17066445ff

js highrollerlobster.com collected 2026-10-03 22:42:14 UTC 105,332 bytes, 3,683 lines download raw bytes

1var wpAjaxUrl = 'https://highrollerlobster.com/wp/wp-admin/admin-ajax.php';var flBuilderUrl = 'https://craftpeak.site/app/plugins/bb-plugin/';var FLBuilderLayoutConfig = {
2	anchorLinkAnimations : {
3		duration 	: 1000,
4		easing		: 'swing',
5		offset 		: 100
6	},
7	paths : {
8		pluginUrl : 'https://craftpeak.site/app/plugins/bb-plugin/',
9		wpAjaxUrl : 'https://highrollerlobster.com/wp/wp-admin/admin-ajax.php'
10	},
11	breakpoints : {
12		small  : 600,
13		medium : 768,
14		large : 1200	},
15	waypoint: {
16		offset: 80
17	},
18	emptyColWidth: '0%'
19};
20(function($){
21
22	if(typeof FLBuilderLayout != 'undefined') {
23		return;
24	}
25
26	/**
27	 * Helper class with generic logic for a builder layout.
28	 *
29	 * @class FLBuilderLayout
30	 * @since 1.0
31	 */
32	FLBuilderLayout = {
33
34		/**
35		 * Initializes a builder layout.
36		 *
37		 * @since 1.0
38		 * @method init
39		 */
40		init: function()
41		{
42			// Destroy existing layout events.
43			FLBuilderLayout._destroy();
44
45			// Init CSS classes.
46			FLBuilderLayout._initClasses();
47
48			// Init backgrounds.
49			FLBuilderLayout._initBackgroun
49ds();
50
51			// Init buttons.
52			FLBuilderLayout._initButtons();
53
54			// Init row shape layer height.
55			FLBuilderLayout._initRowShapeLayerHeight();
56
57			// Only init if the builder isn't active.
58			if ( 0 === $('.fl-builder-edit').length ) {
59
60				// Init anchor links.
61				FLBuilderLayout._initAnchorLinks();
62
63				// Init the browser hash.
64				FLBuilderLayout._initHash();
65
66				// Init forms.
67				FLBuilderLayout._initForms();
68
69				FLBuilderLayout._reorderMenu();
70			}
71			else {
72				FLBuilderLayout._initNestedColsWidth();
73			}
74			$('body').removeClass( 'fl-no-js' );
75		},
76
77		/**
78		 * Public method for refreshing Wookmark or MosaicFlow galleries
79		 * within an element.
80		 *
81		 * @since 1.7.4
82		 * @method refreshGalleries
83		 */
84		refreshGalleries: function( element )
85		{
86			var $element  = 'undefined' == typeof element ? $( 'body' ) : $( element ),
87				mfContent = $element.find( '.fl-mosaicflow-content' ),
88				wmContent = $element.find( '.fl-gallery' ),
89				mfObject  = null;
90
91			if ( mfContent ) {
92
93				mfObject = mfContent.data( 'mosaicflow' );
94
95				if ( mfObject ) {
96					mfObject.columns = $( [] );
97					mfObject.columnsHeights = [];
98					mfContent.data( 'mosaicflow', mfObject );
99					mfContent.mosaicflow( 'refill' );
100				}
101			}
102			if ( wmContent ) {
103				wmContent.trigger( 'refreshWookmark' );
104			}
105		},
106
107		/**
108		 * Public method for refreshing Masonry within an element
109		 *
110		 * @since 1.8.1
111		 * @method refreshGridLayout
112		 */
113		refreshGridLayout: function( element )
114		{
115			var $element 		= 'undefined' == typeof element ? $( 'body' ) : $( element ),
116				msnryContent	= $element.find('.masonry');
117
118			if ( msnryContent.length )	{
119				msnryContent.masonry('layout');
120			}
121		},
122
123		/**
124		 * Public method for reloading BxSlider within an element
125		 *
126		 * @since 1.8.1
127		 * @method reloadSlider
128		 */
129		reloadSlider: function( content )
130		{
131			var $content = 'undefined' == typeof content ? $('body') : $(content);
132
133			// reload sliders.
134			if ($content.find('.bx-viewport > div').length > 0) {
135				$.each($content.find('.bx-viewport > div'), function (key, slider) {
136					setTimeout(function () {
137						$(slider).data('bxSlider').reloadSlider();
138					}, 100);
139				});
140			}
141		},
142
143		/**
144		 * Public method for resizing WP audio player
145		 *
146		 * @since 1.8.2
147		 * @method resizeAudio
148		 */
149		resizeAudio: function( element )
150		{
151			var $element 	 	= 'undefined' == typeof element ? $( 'body' ) : $( element ),
152				audioPlayers 	= $element.find('.wp-audio-shortcode.mejs-audio'),
153				player 		 	= null,
154				mejsPlayer 	 	= null,
155				rail 			= null,
156				railWidth 		= 400;
157
158			if ( audioPlayers.length && typeof mejs !== 'undefined' ) {
159            	audioPlayers.each(function(){
160	            	player 		= $(this);
161	            	mejsPlayer 	= mejs.players[player.attr('id')];
162	            	rail 		= player.find('.mejs-controls .mejs-time-rail');
163	            	var innerMejs = player.find('.mejs-inner'),
164	            		total 	  = player.find('.mejs-controls .mejs-time-total');
165
166	            	if ( typeof mejsPlayer !== 'undefined' ) {
167	            		railWidth = Math.ceil(player.width() * 0.8);
168
169	            		if ( innerMejs.length ) {
170
171		            		rail.css('width', railWidth +'px!important');
172		            		//total.width(rail.width() - 10);
173
174		            		mejsPlayer.options.autosizeProgress = true;
175
176		            		// webkit has trouble doing this without a delay
177							setTimeout(function () {
178								mejsPlayer.setControlsSize();
179							}, 50);
180
181			            	player.find('.mejs-inner').css({
182			            		visibility: 'visible',
183			            		height: 'inherit'
184			            	});
185		            	}
186		           	}
187	            });
188	        }
189		},
190
191		/**
192		 * Public method for preloading WP audio player when it's inside the hidden element
193		 *
194		 * @since 1.8.2
195		 * @method preloadAudio
196		 */
197		preloadAudio: function(element)
198		{
199			var $element 	 = 'undefined' == typeof element ? $( 'body' ) : $( element ),
200				contentWrap  = $element.closest('.fl-accordion-item'),
201				audioPlayers = $element.find('.wp-audio-shortcode.mejs-audio');
202
203			if ( ! contentWrap.hasClass('fl-accordion-item-active') && audioPlayers.find('.mejs-inner').length ) {
204				audioPlayers.find('.mejs-inner').css({
205					visibility : 'hidden',
206					height: 0
207				});
208			}
209		},
210
211		/**
212		 * Public method for resizing slideshow momdule within the tab
213		 *
214		 * @since 1.10.5
215		 * @method resizeSlideshow
216		 */
217		resizeSlideshow: function(){
218			if(typeof YUI !== 'undefined') {
219				YUI().use('node-event-simulate', function(Y) {
220					Y.one(window).simulate("resize");
221				});
222			}
223		},
224
225		/**
226		 * Public method for reloading an embedded Google Map within the tabs or hidden element.
227		 *
228		 * @since 2.2
229		 * @method reloadGoogleMap
230		 */
231		reloadGoogleMap: function(element){
232			var $element  = 'undefined' == typeof element ? $( 'body' ) : $( element ),
233			    googleMap = $element.find( 'iframe[src*="google.com/maps"]' );
234
235			if ( googleMap.length ) {
236			    googleMap.attr( 'src', function(i, val) {
237			        return val;
238			    });
239			}
240		},
241
242		/**
243		 * Unbinds builder layout events.
244		 *
245		 * @since 1.0
246		 * @access private
247		 * @method _destroy
248		 */
249		_destroy: function()
250		{
251			var win = $(window);
252
253			win.off('scroll.fl-bg-parallax');
254			win.off('resize.fl-bg-video');
255		},
256
257		/**
258		 * Checks to see if the current device has touch enabled.
259		 *
260		 * @since 1.0
261		 * @access private
262		 * @method _isTouch
263		 * @return {Boolean}
264		 */
265		_isTouch: function()
266		{
267			if(('ontouchstart' in window) || (window.DocumentTouch && document instanceof DocumentTouch)) {
268				return true;
269			}
270
271			return false;
272		},
273
274		/**
275		 * Checks to see if the current device is mobile.
276		 *
277		 * @since 1.7
278		 * @access private
279		 * @method _isMobile
280		 * @return {Boolean}
281		 */
282		_isMobile: function()
283		{
284			return /Mobile|Android|Silk\/|Kindle|BlackBerry|Opera Mini|Opera Mobi|webOS/i.test( navigator.userAgent );
285		},
286
287		/**
288		 * Initializes builder body classes.
289		 *
290		 * @since 1.0
291		 * @access private
292		 * @method _initClasses
293		 */
294		_initClasses: function()
295		{
296			var body = $( 'body' ),
297				ua   = navigator.userAgent;
298
299			// Add the builder body class (skip on block-only frontend to avoid layout break).
300			if ( ! body.hasClass( 'fl-builder-blocks-only' ) && ! body.hasClass( 'archive' ) && $( '.fl-builder-content-primary' ).length > 0 ) {
301				body.addClass('fl-builder');
302			}
303
304			// Add the builder touch body class.
305			if(FLBuilderLayout._isTouch()) {
306				body.addClass('fl-builder-touch');
307			}
308
309			// Add the builder mobile body class.
310			if(FLBuilderLayout._isMobile()) {
311				body.addClass('fl-builder-mobile');
312			}
313
314			if ( $(window).width() < FLBuilderLayoutConfig.breakpoints.small ) {
315				body.addClass( 'fl-builder-breakpoint-small' );
316			}
317
318			if ( $(window).width() > FLBuilderLayoutConfig.breakpoints.small && $(window).width() < FLBuilderLayoutConfig.breakpoints.medium ) {
319				body.addClass( 'fl-builder-breakpoint-medium' );
320			}
321
322			if ( $(window).width() > FLBuilderLayoutConfig.breakpoints.medium && $(window).width() < FLBuilderLayoutConfig.breakpoints.large ) {
323				body.addClass( 'fl-builder-breakpoint-large' );
324			}
325
326			if ( $(window).width() > FLBuilderLayoutConfig.breakpoints.large ) {
327				body.addClass( 'fl-builder-breakpoint-default' );
328			}
329
330			// IE11 body class.
331			if ( ua.indexOf( 'Trident/7.0' ) > -1 && ua.indexOf( 'rv:11.0' ) > -1 ) {
332				body.addClass( 'fl-builder-ie-11' );
333			}
334		},
335
336		/**
337		 * Initializes builder node backgrounds that require
338		 * additional JavaScript logic such as parallax.
339		 *
340		 * @since 1.1.4
341		 * @access private
342		 * @method _initBackgrounds
343		 */
344		_initBackgrounds: function()
345		{
346			var win = $(window);
347
348			// Init parallax backgrounds.
349			if($('.fl-row-bg-parallax').length > 0 && !FLBuilderLayout._isMobile()) {
350				FLBuilderLayout._scrollParallaxBackgrounds();
351				FLBuilderLayout._initParallaxBackgrounds();
352				win.on('resize.fl-bg-parallax', FLBuilderLayout._initParallaxBackgrounds);
353				win.on('scroll.fl-bg-parallax', FLBuilderLayout._scrollParallaxBackgrounds);
354			}
355
356			// Init video backgrounds.
357			if($('.fl-bg-video').length > 0) {
358				FLBuilderLayout._initBgVideos();
359				FLBuilderLayout._resizeBgVideos();
360
361				// Ensure FLBuilderLayout._resizeBgVideos() is only called once on window resize.
362				var resizeBGTimer = null;
363				win.on('resize.fl-bg-video', function(e){
364					clearTimeout( resizeBGTimer );
365					resizeBGTimer = setTimeout(function() {
366						FLBuilderLayout._resizeBgVideos(e);
367					}, 100 );
368				});
369			}
370		},
371
372		/**
373		 * Initializes all buttons in a layout.
374		 *
375		 * @since 2.10
376		 * @access private
377		 * @method _initButtons
378		 */
379		_initButtons: function()
380		{
381			// Trigger click event on Enter or Space key press for deprecated button markup.
382			$('a.fl-button[role="button"]').on('keydown', function(event) {
383				if (event.key === 'Enter' || event.key === ' ') {
384					// Necessary to prevent the default behavior of the space key from scrolling the page
385					event.preventDefault();
386					$(this).trigger('click');
387				}
388			});
389		},
390
391		/**
392		 * Initializes all parallax backgrounds in a layout.
393		 *
394		 * @since 1.1.4
395		 * @access private
396		 * @method _initParallaxBackgrounds
397		 */
398		_initParallaxBackgrounds: function()
399		{
400			$('.fl-row-bg-parallax').each(FLBuilderLayout._initParallaxBackground);
401		},
402
403		/**
404		 * Initializes a single parallax background.
405		 *
406		 * @since 1.1.4
407		 * @access private
408		 * @method _initParallaxBackgrounds
409		 */
410		_initParallaxBackground: function()
411		{
412			var row     = $(this),
413				content = row.find('> .fl-row-content-wrap'),
414				winWidth = $(window).width(),
415				screenSize = '',
416				imageSrc = {
417					default: '',
418					medium: '',
419					responsive: '',
420				};
421
422			imageSrc.default = row.data('parallax-image') || '';
423			imageSrc.medium = row.data('parallax-image-medium') || imageSrc.default;
424			imageSrc.responsive = row.data('parallax-image-responsive') || imageSrc.medium;
425
426			if (winWidth > FLBuilderLayoutConfig.breakpoints.medium) {
427				screenSize = 'default';
428			} else if (winWidth > FLBuilderLayoutConfig.breakpoints.small && winWidth <= FLBuilderLayoutConfig.breakpoints.medium ) {
429				screenSize = 'medium';
430			} else if (winWidth <= FLBuilderLayoutConfig.breakpoints.small) {
431				screenSize = 'responsive';
432			}
433
434			content.css('background-image', 'url(' + imageSrc[screenSize] + ')');
435			row.data('current-image-loaded', screenSize );
436
437		},
438
439		/**
440		 * Fires when the window is scrolled to adjust
441		 * parallax backgrounds.
442		 *
443		 * @since 1.1.4
444		 * @access private
445		 * @method _scrollParallaxBackgrounds
446		 */
447		_scrollParallaxBackgrounds: function()
448		{
449			$('.fl-row-bg-parallax').each(FLBuilderLayout._scrollParallaxBackground);
450		},
451
452		/**
453		 * Fires when the window is scrolled to adjust
454		 * a single parallax background.
455		 *
456		 * @since 1.1.4
457		 * @access private
458		 * @method _scrollParallaxBackground
459		 */
460		_scrollParallaxBackground: function()
461		{
462			var win     	  = $(window),
463				row     	  = $(this),
464				content 	  = row.find('> .fl-row-content-wrap'),
465				speed   	  = row.data('parallax-speed'),
466				offset  	  = content.offset(),
467				yPos		  = -((win.scrollTop() - offset.top) / speed),
468				initialOffset = ( row.data('parallax-offset') != null ) ? row.data('parallax-offset') : 0,
469				totalOffset   = yPos - initialOffset;
470
471			content.css('background-position', 'center ' + totalOffset + 'px');
472		},
473
474		/**
475		 * Initializes all video backgrounds.
476		 *
477		 * @since 1.6.3.3
478		 * @access private
479		 * @method _initBgVideos
480		 */
481		_initBgVideos: function()
482		{
483			$('.fl-bg-video').each(FLBuilderLayout._initBgVideo);
484		},
485
486		/**
487		 * Initializes a video background.
488		 *
489		 * @since 1.6.3.3
490		 * @access private
491		 * @method _initBgVideo
492		 */
493		_initBgVideo: function()
494		{
495			var wrap   = $( this ),
496				width       = wrap.data( 'width' ),
497				height      = wrap.data( 'height' ),
498				mp4         = wrap.data( 'mp4' ),
499				youtube     = wrap.data( 'youtube'),
500				vimeo       = wrap.data( 'vimeo'),
501				mp4Type     = wrap.data( 'mp4-type' ),
502				webm        = wrap.data( 'webm' ),
503				webmType    = wrap.data( 'webm-type' ),
504				fallback    = wrap.data( 'fallback' ),
505				loaded      = wrap.data( 'loaded' ),
506				videoMobile = wrap.data( 'video-mobile' ),
507				playPauseButton = wrap.find('.fl-bg-video-play-pause-control'),
508				fallbackTag = '',
509				videoTag    = null,
510				mp4Tag      = null,
511				webmTag     = null;
512
513			// Return if the video has been loaded for this row.
514			if ( loaded ) {
515				return;
516			}
517
518			videoTag  = $( '<video autoplay loop muted playsinline></video>' );
519
520			/**
521			 * Add poster image (fallback image)
522			 */
523			if( 'undefined' != typeof fallback && '' != fallback ) {
524				videoTag.attr( 'poster', 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' )
525				videoTag.css({
526					backgroundImage: 'url("' + fallback + '")',
527					backgroundColor: 'transparent',
528					backgroundRepeat: 'no-repeat',
529					backgroundSize: 'cover',
530					backgroundPosition: 'center center',
531				})
532			}
533
534			// MP4 Source Tag
535			if ( 'undefined' != typeof mp4 && '' != mp4 ) {
536
537				mp4Tag = $( '<source />' );
538				mp4Tag.attr( 'src', mp4 );
539				mp4Tag.attr( 'type', mp4Type );
540
541				videoTag.append( mp4Tag );
542			}
543			// WebM Source Tag
544			if ( 'undefined' != typeof webm && '' != webm ) {
545
546				webmTag = $( '<source />' );
547				webmTag.attr( 'src', webm );
548				webmTag.attr( 'type', webmType );
549
550				videoTag.append( webmTag );
551			}
552
553			// This is either desktop, or mobile is enabled.
554			if ( ! FLBuilderLayout._isMobile() || ( FLBuilderLayout._isMobile() && "yes" == videoMobile ) ) {
555				if ( 'undefined' != typeof youtube ) {
556					FLBuilderLayout._initYoutubeBgVideo.apply( this );
557				}
558				else if ( 'undefined' != typeof vimeo ) {
559					FLBuilderLayout._initVimeoBgVideo.apply( this );
560				}
561				else {
562					wrap.append( videoTag );
563
564					if ( playPauseButton.length > 0 ) {
565						var video = videoTag[0];
566
567						playPauseButton.on( 'click', { video: video }, function(e) {
568							var video = e.data.video;
569
570							if ( video.paused ) {
571								video.play();
572							} else {
573								video.pause();
574							}
575						} );
576
577						$( video ).on( 'play playing', function () {
578							playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' );
579						} );
580						
581						$( video ).on( 'pause ended waiting', function () {
582							playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' );
583						} );
584					}
585				}
586			}
587			else {
588				// if we are here, it means we are on mobile and NO is set so remove video src and use fallback
589				videoTag.attr('src', '')
590				wrap.append( videoTag );
591			}
592
593			// Mark this video as loaded.
594			wrap.data('loaded', true);
595		},
596
597		/**
598		 * Initializes Youtube video background
599		 *
600		 * @since 1.9
601		 * @access private
602		 * @method _initYoutubeBgVideo
603		 */
604		_initYoutubeBgVideo: function()
605		{
606			var playerWrap  = $(this),
607				videoId     = playerWrap.data('video-id'),
608				videoPlayer = playerWrap.find('.fl-bg-video-player'),
609				enableAudio = playerWrap.data('enable-audio'),
610				audioButton = playerWrap.find('.fl-bg-video-audio'),
611				playPauseButton = playerWrap.find('.fl-bg-video-play-pause-control'),
612				startTime   = 'undefined' !== typeof playerWrap.data('start') ? playerWrap.data('start') : 0,
613				startTime   = 'undefined' !== typeof playerWrap.data('t') && startTime === 0 ? playerWrap.data('t') : startTime,
614				endTime     = 'undefined' !== typeof playerWrap.data('end') ? playerWrap.data('end') : 0,
615				loop        = 'undefined' !== typeof playerWrap.data('loop') ? playerWrap.data('loop') : 1,
616				stateCount  = 0,
617				player,fallback_showing;
618
619			if ( videoId ) {
620				fallback = playerWrap.data('fallback') || false
621				if( fallback ) {
622					playerWrap.find('iframe').remove()
623					fallbackTag = $( '<div></div>' );
624					fallbackTag.addClass( 'fl-bg-video-fallback' );
625					fallbackTag.css( 'background-image', 'url(' + playerWrap.data('fallback') + ')' );
626					fallbackTag.css( 'background-size', 'cover' );
627					fallbackTag.css( 'transition', 'background-image 1s')
628					playerWrap.append( fallbackTag );
629					fallback_showing = true;
630				}
631				FLBuilderLayout._onYoutubeApiReady( function( YT ) {
632					setTimeout( function() {
633
634						player = new YT.Player( videoPlayer[0], {
635							videoId: videoId,
636							events: {
637								onReady: function(event) {
638									if ( "no" === enableAudio || FLBuilderLayout._isMobile() ) {
639										event.target.mute();
640									}
641									else if ( "yes" === enableAudio && event.target.isMuted ) {
642										event.target.unMute();
643									}
644
645									// Store an instance to a parent
646									playerWrap.data('YTPlayer', player);
647									FLBuilderLayout._resizeYoutubeBgVideo.apply(playerWrap);
648
649									// Queue the video.
650									event.target.playVideo();
651
652									if ( audioButton.length > 0 && ! FLBuilderLayout._isMobile() ) {
653										audioButton.on( 'click', {button: audioButton, player: player}, FLBuilderLayout._toggleBgVideoAudio );
654									}
655
656									if ( playPauseButton.length > 0 ) {
657										playPauseButton.on( 'click', {player: player}, function(e) {
658											var player = e.data.player;
659			
660											if ( 1 === player.getPlayerState() ) {
661												player.pauseVideo();
662											} else {
663												player.playVideo();
664											}
665										});
666									}
667								},
668								onStateChange: function( event ) {
669
670									if ( event.data === 1 ) {
671										if ( fallback_showing ) {
672											$( '.fl-bg-video-fallback' ).css( 'background-image', 'url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)' )
673										}
674									}
675									// Manual check if video is not playable in some browsers.
676									// StateChange order: [-1, 3, -1]
677									if ( stateCount < 4 ) {
678										stateCount++;
679									}
680
681									// Comply with the audio policy in some browsers like Chrome and Safari.
682									if ( stateCount > 1 && -1 === event.data && "yes" === enableAudio ) {
683										player.mute();
684										player.playVideo();
685										audioButton.show();
686									}
687
688									if ( event.data === YT.PlayerState.ENDED && 1 === loop ) {
689										if ( startTime > 0 ) {
690											player.seekTo( startTime );
691										}
692										else {
693											player.playVideo();
694										}
695									}
696
697									if ( event.data === YT.PlayerState.PLAYING ) {
698										playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' );
699									} else if ( event.data === YT.PlayerState.PAUSED ) {
700										playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' );
701									} else if ( event.data === YT.PlayerState.BUFFERING ) {
702										playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' );
703									} else if ( event.data === YT.PlayerState.CUED ) {
704										playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' );
705									} else if ( event.data === YT.PlayerState.ENDED ) {
706										playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' );
707									}
708								},
709								onError: function(event) {
710									console.info('YT Error: ' + event.data)
711									FLBuilderLayout._onErrorYoutubeVimeo(playerWrap)
712								}
713							},
714							playerVars: {
715								playsinline: FLBuilderLayout._isMobile() ? 1 : 0,
716								controls: 0,
717								showinfo: 0,
718								rel : 0,
719								start: startTime,
720								end: endTime,
721							}
722						} );
723					}, 1 );
724				} );
725			}
726		},
727
728		/**
729		 * On youtube or vimeo error show the fallback image if available.
730		 * @since 2.0.7
731		 */
732		_onErrorYoutubeVimeo: function(playerWrap) {
733
734			fallback = playerWrap.data('fallback') || false
735			if( ! fallback ) {
736				return false;
737			}
738			playerWrap.find('iframe').remove()
739			fallbackTag = $( '<div></div>' );
740			fallbackTag.addClass( 'fl-bg-video-fallback' );
741			fallbackTag.css( 'background-image', 'url(' + playerWrap.data('fallback') + ')' );
742			playerWrap.append( fallbackTag );
743		},
744
745		/**
746		 * Check if Youtube API has been downloaded
747		 *
748		 * @since 1.9
749		 * @access private
750		 * @method _onYoutubeApiReady
751		 * @param  {Function} callback Method to call when YT API has been loaded
752		 */
753		_onYoutubeApiReady: function( callback ) {
754			if ( window.YT && YT.loaded ) {
755				callback( YT );
756			} else {
757				// If not ready check again by timeout..
758				setTimeout( function() {
759					FLBuilderLayout._onYoutubeApiReady( callback );
760				}, 350 );
761			}
762		},
763
764		/**
765		 * Initializes Vimeo video background
766		 *
767		 * @since 1.9
768		 * @access private
769		 * @method _initVimeoBgVideo
770		 */
771		_initVimeoBgVideo: function()
772		{
773			var playerWrap	= $(this),
774				videoId 	= playerWrap.data('video-id'),
775				videoHash 	= playerWrap.data('video-hash'),
776				videoPlayer = playerWrap.find('.fl-bg-video-player'),
777				enableAudio = playerWrap.data('enable-audio'),
778				audioButton = playerWrap.find('.fl-bg-video-audio'),
779				playPauseButton = playerWrap.find('.fl-bg-video-play-pause-control'),
780				playerState = '',
781				player,
782				width = playerWrap.outerWidth(),
783				ua    = navigator.userAgent;
784
785			if ( typeof Vimeo !== 'undefined' && videoId )	{
786				
787				const vimOptions = {
788					loop       : true,
789					title      : false,
790					portrait   : false,
791					background : true,
792					autopause  : false,
793					muted      : true,
794				};
795
796				if ( videoHash.length ) {
797					vimOptions.url = `https://player.vimeo.com/video/${ videoId }?h=${ videoHash }`;
798				} else {
799					vimOptions.id = videoId;
800				}
801
802				player = new Vimeo.Player(videoPlayer[0], vimOptions );
803				playerWrap.data('VMPlayer', player);
804				if ( "no" === enableAudio ) {
805					player.setVolume(0);
806				}
807				else if ("yes" === enableAudio ) {
808					// Chrome, Safari, Firefox have audio policy restrictions for autoplay videos.
809					if ( ua.indexOf("Safari") > -1 || ua.indexOf("Chrome") > -1 || ua.indexOf("Firefox") > -1 ) {
810						player.setVolume(0);
811						audioButton.show();
812					}
813					else {
814						player.setVolume(1);
815					}
816				}
817
818				player.play().catch(function(error) {
819					FLBuilderLayout._onErrorYoutubeVimeo(playerWrap)
820				});
821
822				if ( audioButton.length > 0 ) {
823					audioButton.on( 'click', {button: audioButton, player: player}, FLBuilderLayout._toggleBgVideoAudio );
824				}
825
826				player.on( 'play', function() {
827					playerState = 'play';
828					playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' );
829				} );
830				player.on( 'pause', function() {
831					playerState = 'pause';
832					playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' );
833				} );
834				player.on( 'ended', function() {
835					playerState = 'ended';
836					playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' );
837				} );
838				player.on( 'bufferstart', function() {
839					playerState = 'bufferstart';
840					playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' );
841				} );
842
843				if ( playPauseButton.length > 0 ) {
844					playPauseButton.on( 'click', { player: player }, function( e ) {
845						var player = e.data.player;
846
847						if ( playerState === 'play' ) {
848							player.pause();
849						} else {
850							player.play();
851						}
852					} );
853				}
854			}
855		},
856
857		/**
858		 * Mute / unmute audio on row's video background.
859		 * It works for both Youtube and Vimeo.
860		 *
861		 * @since 2.1.3
862		 * @access private
863		 * @method _toggleBgVideoAudio
864		 * @param {Object} e Method arguments
865		 */
866		_toggleBgVideoAudio: function( e ) {
867			var player  = e.data.player,
868			    control = e.data.button.find('.fl-audio-control');
869
870			if ( control.hasClass( 'fa-volume-off' ) ) {
871				// Unmute
872				control
873					.removeClass( 'fa-volume-off' )
874					.addClass( 'fa-volume-up' );
875				e.data.button.find( '.fa-times' ).hide();
876
877				if ( 'function' === typeof player.unMute ) {
878					player.unMute();
879				}
880				else {
881					player.setVolume( 1 );
882				}
883			}
884			else {
885				// Mute
886				control
887					.removeClass( 'fa-volume-up' )
888					.addClass( 'fa-volume-off' );
889				e.data.button.find( '.fa-times' ).show();
890
891				if ( 'function' === typeof player.unMute ) {
892					player.mute();
893				}
894				else {
895					player.setVolume( 0 );
896				}
897			}
898		},
899
900		/**
901		 * Fires when there is an error loading a video
902		 * background source and shows the fallback.
903		 *
904		 * @since 1.6.3.3
905		 * @access private
906		 * @method _videoBgSourceError
907		 * @param {Object} e An event object
908		 * @deprecated 2.0.3
909		 */
910		_videoBgSourceError: function( e )
911		{
912			var source 		= $( e.target ),
913				wrap   		= source.closest( '.fl-bg-video' ),
914				vid		    = wrap.find( 'video' ),
915				fallback  	= wrap.data( 'fallback' ),
916				fallbackTag = '';
917			source.remove();
918
919			if ( vid.find( 'source' ).length ) {
920				// Don't show the fallback if we still have other sources to check.
921				return;
922			} else if ( '' !== fallback ) {
923				fallbackTag = $( '<div></div>' );
924				fallbackTag.addClass( 'fl-bg-video-fallback' );
925				fallbackTag.css( 'background-image', 'url(' + fallback + ')' );
926				wrap.append( fallbackTag );
927				vid.remove();
928			}
929		},
930
931		/**
932		 * Fires when the window is resized to resize
933		 * all video backgrounds.
934		 *
935		 * @since 1.1.4
936		 * @access private
937		 * @method _resizeBgVideos
938		 */
939		_resizeBgVideos: function()
940		{
941			$('.fl-bg-video').each( function() {
942
943				FLBuilderLayout._resizeBgVideo.apply( this );
944
945				if ( $( this ).parent().find( 'img' ).length > 0 ) {
946					$( this ).parent().imagesLoaded( $.proxy( FLBuilderLayout._resizeBgVideo, this ) );
947				}
948			} );
949		},
950
951		/**
952		 * Fires when the window is resized to resize
953		 * a single video background.
954		 *
955		 * @since 1.1.4
956		 * @access private
957		 * @method _resizeBgVideo
958		 */
959		_resizeBgVideo: function()
960		{
961			if ( 0 === $( this ).find( 'video' ).length && 0 === $( this ).find( 'iframe' ).length ) {
962				return;
963			}
964
965			var wrap        = $(this),
966				wrapHeight  = wrap.outerHeight(),
967				wrapWidth   = wrap.outerWidth(),
968				vid         = wrap.find('video'),
969				vidHeight   = wrap.data('height'),
970				vidWidth    = wrap.data('width'),
971				newWidth    = wrapWidth,
972				newHeight   = Math.round(vidHeight * wrapWidth/vidWidth),
973				newLeft     = 0,
974				newTop      = 0,
975				iframe 		= wrap.find('iframe'),
976				isRowFullHeight = $(this).closest('.fl-row-bg-video').hasClass('fl-row-full-height'),
977				vidCSS          = {
978					top:       '50%',
979					left:      '50%',
980					transform: 'translate(-50%,-50%)',
981				};
982
983			if ( vid.length ) {
984				if(vidHeight === '' || typeof vidHeight === 'undefined' || vidWidth === '' || typeof vidWidth === 'undefined') {
985					vid.css({
986						'left'      : '0px',
987						'top'       : '0px',
988						'width'     : newWidth + 'px'
989					});
990
991					// Try to set the actual video dimension on 'loadedmetadata' when using URL as video source
992					vid.on('loadedmetadata', FLBuilderLayout._resizeOnLoadedMeta);
993
994					return;
995				}
996
997				if ( ! isRowFullHeight ) {
998					if ( newHeight < wrapHeight ) {
999						newHeight = wrapHeight;
1000						newLeft   = -((newWidth - wrapWidth) / 2);
1001						newWidth  = vidHeight ? Math.round(vidWidth * wrapHeight/vidHeight) : newWidth;
1002					}
1003					else {
1004						newTop = -((newHeight - wrapHeight)/2);
1005					}
1006					vidCSS = {
1007						left   : newLeft + 'px',
1008						top    : newTop + 'px',
1009						height : newHeight + 'px',
1010						width  : newWidth + 'px',
1011					}
1012				}
1013
1014				vid.css( vidCSS );
1015
1016			}
1017			else if ( iframe.length ) {
1018
1019				// Resize Youtube video player within iframe tag
1020				if ( typeof wrap.data('youtube') !== 'undefined' ) {
1021					FLBuilderLayout._resizeYoutubeBgVideo.apply(this);
1022				}
1023			}
1024		},
1025
1026		/**
1027		 * Fires when video meta has been loaded.
1028		 * This will be Triggered when width/height attributes were not specified during video background resizing.
1029		 *
1030		 * @since 1.8.5
1031		 * @access private
1032		 * @method _resizeOnLoadedMeta
1033		 */
1034		_resizeOnLoadedMeta: function(){
1035			var video 		= $(this),
1036				wrapHeight 	= video.parent().outerHeight(),
1037				wrapWidth 	= video.parent().outerWidth(),
1038				vidWidth 	= video[0].videoWidth,
1039				vidHeight 	= video[0].videoHeight,
1040				newHeight   = Math.round(vidHeight * wrapWidth/vidWidth),
1041				newWidth    = wrapWidth,
1042				newLeft     = 0,
1043				newTop 		= 0;
1044
1045			if(newHeight < wrapHeight) {
1046				newHeight   = wrapHeight;
1047				newWidth    = Math.round(vidWidth * wrapHeight/vidHeight);
1048				newLeft     = -((newWidth - wrapWidth)/2);
1049			}
1050			else {
1051				newTop      = -((newHeight - wrapHeight)/2);
1052			}
1053
1054			video.parent().data('width', vidWidth);
1055			video.parent().data('height', vidHeight);
1056
1057			video.css({
1058				'left'      : newLeft + 'px',
1059				'top'       : newTop + 'px',
1060				'width'     : newWidth + 'px',
1061				'height' 	: newHeight + 'px'
1062			});
1063		},
1064
1065		/**
1066		 * Fires when the window is resized to resize
1067		 * a single Youtube video background.
1068		 *
1069		 * @since 1.9
1070		 * @access private
1071		 * @method _resizeYoutubeBgVideo
1072		 */
1073		_resizeYoutubeBgVideo: function()
1074		{
1075			var wrap				= $(this),
1076				wrapWidth 			= wrap.outerWidth(),
1077				wrapHeight 			= wrap.outerHeight(),
1078				player 				= wrap.data('YTPlayer'),
1079				video 				= player ? player.getIframe() : null,
1080				aspectRatioSetting 	= '16:9', // Medium
1081				aspectRatioArray 	= aspectRatioSetting.split( ':' ),
1082				aspectRatio 		= aspectRatioArray[0] / aspectRatioArray[1],
1083				ratioWidth 			= wrapWidth / aspectRatio,
1084				ratioHeight 		= wrapHeight * aspectRatio,
1085				isWidthFixed 		= wrapWidth / wrapHeight > aspectRatio,
1086				width 				= isWidthFixed ? wrapWidth : ratioHeight,
1087				height 				= isWidthFixed ? ratioWidth : wrapHeight;
1088
1089			if ( video ) {
1090				$(video).width( width ).height( height );
1091			}
1092		},
1093
1094		/**
1095		 * Opens a tab or accordion item if the browser hash is set
1096		 * to the ID of one on the page.
1097		 *
1098		 * @since 1.6.0
1099		 * @access private
1100		 * @method _initHash
1101		 */
1102		_initHash: function()
1103		{
1104			var hash 			= window.location.hash.replace( '#', '' ).split( '/' ).shift(),
1105				element 		= null,
1106				tabs			= null,
1107				responsiveLabel	= null,
1108				tabIndex		= null,
1109				label			= null;
1110
1111			if ( '' !== hash ) {
1112
1113				try {
1114
1115					element = $( '#' + hash );
1116
1117					if ( element.length > 0 ) {
1118
1119						if ( element.hasClass( 'fl-accordion-item' ) ) {
1120							setTimeout( function() {
1121								element.find( '.fl-accordion-button' ).trigger( 'click' );
1122							}, 100 );
1123						}
1124						if ( element.hasClass( 'fl-tabs-panel' ) ) {
1125							setTimeout( function() {
1126								tabs 			= element.closest( '.fl-tabs' );
1127								responsiveLabel = element.find( '.fl-tabs-panel-label' );
1128								tabIndex 		= responsiveLabel.data( 'index' );
1129								label 			= tabs.find( '.fl-tabs-labels .fl-tabs-label[data-index=' + tabIndex + ']' );
1130
1131								label[0].click();
1132								FLBuilderLayout._scrollToElement(element);
1133							}, 100 );
1134						}
1135					}
1136				}
1137				catch( e ) {}
1138			}
1139		},
1140
1141		/**
1142		 * Initializes all anchor links on the page for smooth scrolling.
1143		 *
1144		 * @since 1.4.9
1145		 * @access private
1146		 * @method _initAnchorLinks
1147		 */
1148		_initAnchorLinks: function()
1149		{
1150			$( 'a, [role="link"]' ).each( FLBuilderLayout._initAnchorLink );
1151		},
1152
1153		/**
1154		 * Initializes a single anchor link for smooth scrolling.
1155		 *
1156		 * @since 1.4.9
1157		 * @access private
1158		 * @method _initAnchorLink
1159		 */
1160		_initAnchorLink: function()
1161		{
1162			var link    = $( this ),
1163				href    = link.data( 'url' ) ? link.data( 'url' ) : link.attr( 'href' ),
1164				target  = link.data( 'url' ) ? new URL( href, window.location.href ) : this,
1165				loc     = window.location,
1166				id      = null,
1167				element = null,
1168				flNode  = false;
1169
1170			if ( 'undefined' != typeof href && href.indexOf( '#' ) > -1 && link.closest('svg').length < 1 ) {
1171
1172				if ( loc.pathname.replace( /^\//, '' ) == target.pathname.replace( /^\//, '' ) && loc.hostname == target.hostname ) {
1173
1174					try {
1175
1176						id      = href.split( '#' ).pop();
1177						// If there is no ID then we have nowhere to look
1178						// Fixes a quirk in jQuery and FireFox
1179						if( ! id ) {
1180							return;
1181						}
1182						element = $( '#' + id );
1183
1184						if ( element.length > 0 ) {
1185							flNode = element.hasClass( 'fl-row' ) || element.hasClass( 'fl-col' ) || element.hasClass( 'fl-module' );
1186							if ( !element.hasClass( 'fl-no-scroll' ) && ( link.hasClass( 'fl-scroll-link' ) || flNode ) ) {
1187								$( link ).on( 'click', FLBuilderLayout._scrollToElementOnLinkClick );
1188							}
1189							if ( element.hasClass( 'fl-accordion-item' ) ) {
1190								$( link ).on( 'click', FLBuilderLayout._scrollToAccordionOnLinkClick );
1191							}
1192							if ( element.hasClass( 'fl-tabs-panel' ) ) {
1193								$( link ).on( 'click', FLBuilderLayout._scrollToTabOnLinkClick );
1194							}
1195						}
1196					}
1197					catch( e ) {}
1198				}
1199			}
1200		},
1201
1202		/**
1203		 * Scrolls to an element when an anchor link is clicked.
1204		 *
1205		 * @since 1.4.9
1206		 * @access private
1207		 * @method _scrollToElementOnLinkClick
1208		 * @param {Object} e An event object.
1209		 * @param {Function} callback A function to call when the scroll is complete.
1210		 */
1211		_scrollToElementOnLinkClick: function( e, callback )
1212		{
1213			var attribute = $( this ).data( 'url' ) ? $( this ).data( 'url' ) : $( this ).attr( 'href' );
1214			var element = $( '#' + attribute.split( '#' ).pop() );
1215
1216			FLBuilderLayout._scrollToElement( element, callback );
1217
1218			e.preventDefault();
1219		},
1220
1221		/**
1222		 * Scrolls to an element.
1223		 *
1224		 * @since 1.6.4.5
1225		 * @access private
1226		 * @method _scrollToElement
1227		 * @param {Object} element The element to scroll to.
1228		 * @param {Function} callback A function to call when the scroll is complete.
1229		 */
1230		_scrollToElement: function( element, callback )
1231		{
1232			var config  = FLBuilderLayoutConfig.anchorLinkAnimations,
1233				dest    = 0,
1234				win     = $( window ),
1235				doc     = $( document );
1236
1237			if ( element.length > 0 ) {
1238
1239				if ( 'fixed' === element.css('position') || 'fixed' === element.parent().css('position') ) {
1240					dest = element.position().top;
1241				}
1242				else if ( element.offset().top > doc.height() - win.height() ) {
1243					dest = doc.height() - win.height();
1244				}
1245				else {
1246					dest = element.offset().top - config.offset;
1247				}
1248
1249				$( 'html, body' ).stop( true ).animate( { scrollTop: dest }, config.duration, config.easing, function() {
1250
1251					if ( 'undefined' != typeof callback ) {
1252						callback();
1253					}
1254
1255					if ( undefined != element.attr( 'id' ) && window.location.hash !== '#' + element.attr( 'id' ) ) {
1256
1257						var firefox_version = window.navigator.userAgent.match( /Firefox\/(\d+)\./ ),
1258							firefox_version = firefox_version ? parseInt( firefox_version[1], 10 ) : null;
1259
1260						if ( firefox_version !== null && firefox_version < 135 ) {
1261							window.location.hash = element.attr( 'id' );
1262						} else {
1263							if ( history.pushState ) {
1264								history.pushState( null, null, '#' + element.attr( 'id' ) );
1265							} else {
1266								window.location.hash = element.attr( 'id' );
1267							}
1268						}
1269					}
1270				} );
1271			}
1272		},
1273
1274		/**
1275		 * Scrolls to an accordion item when a link is clicked.
1276		 *
1277		 * @since 1.5.9
1278		 * @access private
1279		 * @method _scrollToAccordionOnLinkClick
1280		 * @param {Object} e An event object.
1281		 */
1282		_scrollToAccordionOnLinkClick: function( e )
1283		{
1284			var element = $( '#' + $( this ).attr( 'href' ).split( '#' ).pop() );
1285
1286			if ( element.length > 0 ) {
1287
1288				var callback = function() {
1289					if ( element ) {
1290						element.find( '.fl-accordion-button' ).trigger( 'click' );
1291						element = false;
1292					}
1293				};
1294
1295				FLBuilderLayout._scrollToElementOnLinkClick.call( this, e, callback );
1296			}
1297		},
1298
1299		/**
1300		 * Scrolls to a tab panel when a link is clicked.
1301		 *
1302		 * @since 1.5.9
1303		 * @access private
1304		 * @method _scrollToTabOnLinkClick
1305		 * @param {Object} e An event object.
1306		 */
1307		_scrollToTabOnLinkClick: function( e )
1308		{
1309			var element 		= $( '#' + $( this ).attr( 'href' ).split( '#' ).pop() ),
1310				tabs			= null,
1311				label   		= null,
1312				responsiveLabel = null;
1313
1314			if ( element.length > 0 ) {
1315
1316				tabs 			= element.closest( '.fl-tabs' );
1317				responsiveLabel = element.find( '.fl-tabs-panel-label' );
1318				tabIndex 		= responsiveLabel.data( 'index' );
1319				label 			= tabs.find( '.fl-tabs-labels .fl-tabs-label[data-index=' + tabIndex + ']' );
1320
1321				if ( responsiveLabel.is( ':visible' ) ) {
1322
1323					var callback = function() {
1324						if ( element ) {
1325							responsiveLabel.trigger( $.Event( 'click', { which: 1 } ) );
1326						}
1327					};
1328
1329					FLBuilderLayout._scrollToElementOnLinkClick.call( this, e, callback );
1330				}
1331				else {
1332					label[0].click();
1333					FLBuilderLayout._scrollToElement( element );
1334				}
1335
1336				e.preventDefault();
1337			}
1338		},
1339
1340		/**
1341		 * Initializes all builder forms on a page.
1342		 *
1343		 * @since 1.5.4
1344		 * @access private
1345		 * @method _initForms
1346		 */
1347		_initForms: function()
1348		{
1349			if ( ! FLBuilderLayout._hasPlaceholderSupport ) {
1350				$( '.fl-form-field input' ).each( FLBuilderLayout._initFormFieldPlaceholderFallback );
1351			}
1352
1353			$( '.fl-form-field input' ).on( 'focus', FLBuilderLayout._clearFormFieldError );
1354		},
1355
1356		/**
1357		 * Checks to see if the current device has HTML5
1358		 * placeholder support.
1359		 *
1360		 * @since 1.5.4
1361		 * @access private
1362		 * @method _hasPlaceholderSupport
1363		 * @return {Boolean}
1364		 */
1365		_hasPlaceholderSupport: function()
1366		{
1367			var input = document.createElement( 'input' );
1368
1369			return 'undefined' != input.placeholder;
1370		},
1371
1372		/**
1373		 * Initializes the fallback for when placeholders aren't supported.
1374		 *
1375		 * @since 1.5.4
1376		 * @access private
1377		 * @method _initFormFieldPlaceholderFallback
1378		 */
1379		_initFormFieldPlaceholderFallback: function()
1380		{
1381			var field       = $( this ),
1382				val         = field.val(),
1383				placeholder = field.attr( 'placeholder' );
1384
1385			if ( 'undefined' != placeholder && '' === val ) {
1386				field.val( placeholder );
1387				field.on( 'focus', FLBuilderLayout._hideFormFieldPlaceholderFallback );
1388				field.on( 'blur', FLBuilderLayout._showFormFieldPlaceholderFallback );
1389			}
1390		},
1391
1392		/**
1393		 * Hides a fallback placeholder on focus.
1394		 *
1395		 * @since 1.5.4
1396		 * @access private
1397		 * @method _hideFormFieldPlaceholderFallback
1398		 */
1399		_hideFormFieldPlaceholderFallback: function()
1400		{
1401			var field       = $( this ),
1402				val         = field.val(),
1403				placeholder = field.attr( 'placeholder' );
1404
1405			if ( val == placeholder ) {
1406				field.val( '' );
1407			}
1408		},
1409
1410		/**
1411		 * Shows a fallback placeholder on blur.
1412		 *
1413		 * @since 1.5.4
1414		 * @access private
1415		 * @method _showFormFieldPlaceholderFallback
1416		 */
1417		_showFormFieldPlaceholderFallback: function()
1418		{
1419			var field       = $( this ),
1420				val         = field.val(),
1421				placeholder = field.attr( 'placeholder' );
1422
1423			if ( '' === val ) {
1424				field.val( placeholder );
1425			}
1426		},
1427
1428		/**
1429		 * Clears a form field error message.
1430		 *
1431		 * @since 1.5.4
1432		 * @access private
1433		 * @method _clearFormFieldError
1434		 */
1435		_clearFormFieldError: function()
1436		{
1437			var field = $( this );
1438
1439			field.removeAttr( 'aria-invalid' );
1440			field.removeClass( 'fl-form-error' );
1441			const message = field.attr('aria-describedby');
1442			message ? $( '#' + message ).hide() : field.siblings( '.fl-form-error-message' ).hide();
1443		},
1444
1445		/**
1446		 * Init Row Shape Layer's height.
1447		 *
1448		 * @since 2.5.3
1449		 * @access private
1450		 * @method _initRowShapeLayerHeight
1451		 */
1452		_initRowShapeLayerHeight: function () {
1453			FLBuilderLayout._adjustRowShapeLayerHeight();
1454			$( window ).on( 'resize', FLBuilderLayout._adjustRowShapeLayerHeight );
1455		},
1456
1457		/**
1458		 * Set parent column width of nested columns when it's zero or blank.
1459		 *
1460		 * @since 2.7.4
1461		 * @access private
1462		 * @method _initNestedColsWidth
1463		 */
1464		_initNestedColsWidth: function()
1465		{
1466			var nestedCols = $( '.fl-col-has-cols' );
1467
1468			if ( nestedCols.length <= 0 ) {
1469				return;
1470			}
1471
1472			$( nestedCols ).each( function(index, col ){
1473				if ( $( col ).width() <= 0 ) {
1474					$( col ).css( 'width', FLBuilderLayoutConfig.emptyColWidth );
1475				}
1476			});
1477		},
1478
1479		/**
1480		 * Adjust Row Shape Layer's height to fix to remove the fine line that appears on certain screen sizes.
1481		 *
1482		 * @since 2.5.3
1483		 * @access private
1484		 * @method _adjustRowShapeLayerHeight
1485		 */
1486		_adjustRowShapeLayerHeight: function() {
1487			var rowShapeLayers = $('.fl-builder-shape-layer');
1488
1489			$( rowShapeLayers ).each(function (index) {
1490				var rowShapeLayer = $(this),
1491					shape = $(rowShapeLayer).find('svg'),
1492					height = shape.height(),
1493					excludeShapes = '.fl-builder-shape-circle, .fl-builder-shape-dot-cluster, .fl-builder-shape-topography, .fl-builder-shape-rect';
1494
1495				if ( ! rowShapeLayer.is( excludeShapes ) ) {
1496					$(shape).css('height', Math.ceil( height ) );
1497				}
1498			});
1499		},
1500		_string_to_slug: function( str ) {
1501			str = str.replace(/^\s+|\s+$/g, ''); // trim
1502			if ( 'undefined' == typeof window._fl_string_to_slug_regex ) {
1503				regex = new RegExp('[^a-zA-Z0-9\'":() !.,-_|]', 'g');
1504			} else {
1505				regex = new RegExp('[^' + window._fl_string_to_slug_regex + '\'":\(\) !.,-_|\\\p{Letter}]', 'ug');
1506			}
1507			str = str.replace(regex, '') // remove invalid chars
1508				.replace(/\s+/g, ' '); // collapse whitespace and replace by a space
1509			return str;
1510		},
1511		_reorderMenu: function() {
1512			if ( $('#wp-admin-bar-fl-builder-frontend-edit-link-default li').length > 1 ) {
1513					$( '#wp-admin-bar-fl-builder-frontend-duplicate-link' )
1514					.appendTo('#wp-admin-bar-fl-builder-frontend-edit-link-default')
1515					.css( 'padding-top', '5px' )
1516					.css( 'border-top', '2px solid #1D2125' )
1517					.css( 'margin-top', '5px' )
1518				}
1519		}
1520	};
1521
1522	/* Initializes the builder layout. */
1523	$(function(){
1524		FLBuilderLayout.init();
1525	});
1526
1527})(jQuery);
1528(function($){
1529
1530	if(typeof FLBuilderLayoutModules !== 'undefined') {
1531		return;
1532	}
1533
1534	/**
1535	 * Helper class with generic logic for builder modules.
1536	 * If generic module code needs to work in both the block
1537	 * editor and builder, it should go here. Otherwise, it
1538	 * should go on FLBuilderLayout.
1539	 *
1540	 * @since 2.9
1541	 */
1542	FLBuilderLayoutModules = {
1543
1544		/**
1545		 * Initializes builder module logic.
1546		 *
1547		 * @since 2.9
1548		 * @method init
1549		 */
1550		init: function()
1551		{
1552			// Only init if the builder isn't active.
1553			if ( 0 === $('.fl-builder-edit').length ) {
1554
1555				// Init module animations.
1556				FLBuilderLayoutModules._initModuleAnimations();
1557			}
1558		},
1559
1560		/**
1561		 * Initializes module animations.
1562		 *
1563		 * @since 1.1.9
1564		 * @access private
1565		 * @method _initModuleAnimations
1566		 */
1567		_initModuleAnimations: function()
1568		{
1569			if(typeof jQuery.fn.waypoint !== 'undefined') {
1570				$('.fl-animation').each( function() {
1571					var node = $( this ),
1572						nodeTop = node.offset().top,
1573						winHeight = $( window ).height(),
1574						bodyHeight = $( 'body' ).height(),
1575						waypoint = FLBuilderLayoutConfig.waypoint,
1576						offset = '80%';
1577
1578					if ( typeof waypoint.offset !== undefined ) {
1579						offset = FLBuilderLayoutConfig.waypoint.offset + '%';
1580					}
1581
1582					if ( bodyHeight - nodeTop < winHeight * 0.2 ) {
1583						offset = '100%';
1584					}
1585
1586					node.waypoint({
1587						offset: offset,
1588						handler: FLBuilderLayoutModules._doModuleAnimation
1589					});
1590				} );
1591			}
1592		},
1593
1594		/**
1595		 * Runs a module animation.
1596		 *
1597		 * @since 1.1.9
1598		 * @access private
1599		 * @method _doModuleAnimation
1600		 */
1601		_doModuleAnimation: function()
1602		{
1603			var module = 'undefined' == typeof this.element ? $(this) : $(this.element),
1604				delay = parseFloat(module.data('animation-delay')),
1605				duration = parseFloat(module.data('animation-duration'));
1606
1607			if ( ! isNaN( duration ) ) {
1608				module.css( 'animation-duration', duration + 's' );
1609			}
1610
1611			if(!isNaN(delay) && delay > 0) {
1612				setTimeout(function(){
1613					module.addClass('fl-animated');
1614				}, delay * 1000);
1615			} else {
1616				setTimeout(function(){
1617					module.addClass('fl-animated');
1618				}, 1);
1619			}
1620		}
1621	};
1622
1623	/* Initializes builder module logic. */
1624	$(function(){
1625		FLBuilderLayoutModules.init();
1626	});
1627
1628})(jQuery);
1629
1630/* Start Global JS */
1631
1632/* End Global JS */
1633
1634(function($) {
1635	$(function() {
1636		// Background type
1637		var background_type = 'image';
1638
1639		// Video background
1640		if ( 'video' === background_type ) {
1641			// Set video element
1642			var action_video = $( '.fl-node-5e3af1ed84652 .action-video' );
1643			console.log(action_video);
1644
1645			var action_video_w_orig = 0;
1646			var action_video_h_orig = 0;
1647			var video_loaded      = false;
1648
1649			function resize_video( video, width, height ) {
1650				// Get the parent element size
1651				var container_w = video.parent().width();
1652				var container_h = video.parent().height();
1653
1654				// Use largest scale factor of horizontal/vertical
1655				var scale_w = container_w / width;
1656				var scale_h = container_h / height;
1657				var scale   = scale_w > scale_h ? scale_w : scale_h;
1658
1659				// Scale the video
1660				video.width( scale * width );
1661				video.height( scale * height );
1662			}
1663
1664			// Re-scale video when viewport resizes
1665			$( window ).resize( function() {
1666				if ( video_loaded ) {
1667					action_video_w_orig = action_video[0].videoWidth;
1668					action_video_h_orig = action_video[0].videoHeight;
1669					resize_video( action_video, action_video_w_orig, action_video_h_orig );
1670				} else {
1671					action_video.on( 'loadedmetadata', function( event ) {
1672						action_video_w_orig = this.videoWidth;
1673						action_video_h_orig = this.videoHeight;
1674						video_loaded      = true;
1675						resize_video( action_video, action_video_w_orig, action_video_h_orig );
1676					});
1677				}
1678			} );
1679
1680			// Trigger re-scale on pageload
1681			$( window ).trigger('resize');
1682		}
1683	});
1684})(jQuery);
1685(function($) {
1686	$(function() {
1687		// Background type
1688		var background_type = 'image';
1689
1690		// Video background
1691		if ( 'video' === background_type ) {
1692			// Set video element
1693			var action_video = $( '.fl-node-5e3af274874ee .action-video' );
1694			console.log(action_video);
1695
1696			var action_video_w_orig = 0;
1697			var action_video_h_orig = 0;
1698			var video_loaded      = false;
1699
1700			function resize_video( video, width, height ) {
1701				// Get the parent element size
1702				var container_w = video.parent().width();
1703				var container_h = video.parent().height();
1704
1705				// Use largest scale factor of horizontal/vertical
1706				var scale_w = container_w / width;
1707				var scale_h = container_h / height;
1708				var scale   = scale_w > scale_h ? scale_w : scale_h;
1709
1710				// Scale the video
1711				video.width( scale * width );
1712				video.height( scale * height );
1713			}
1714
1715			// Re-scale video when viewport resizes
1716			$( window ).resize( function() {
1717				if ( video_loaded ) {
1718					action_video_w_orig = action_video[0].videoWidth;
1719					action_video_h_orig = action_video[0].videoHeight;
1720					resize_video( action_video, action_video_w_orig, action_video_h_orig );
1721				} else {
1722					action_video.on( 'loadedmetadata', function( event ) {
1723						action_video_w_orig = this.videoWidth;
1724						action_video_h_orig = this.videoHeight;
1725						video_loaded      = true;
1726						resize_video( action_video, action_video_w_orig, action_video_h_orig );
1727					});
1728				}
1729			} );
1730
1731			// Trigger re-scale on pageload
1732			$( window ).trigger('resize');
1733		}
1734	});
1735})(jQuery);
1736(function($) {
1737	$(function() {
1738		// Background type
1739		var background_type = 'image';
1740
1741		// Video background
1742		if ( 'video' === background_type ) {
1743			// Set video element
1744			var action_video = $( '.fl-node-5e3af29585fb0 .action-video' );
1745			console.log(action_video);
1746
1747			var action_video_w_orig = 0;
1748			var action_video_h_orig = 0;
1749			var video_loaded      = false;
1750
1751			function resize_video( video, width, height ) {
1752				// Get the parent element size
1753				var container_w = video.parent().width();
1754				var container_h = video.parent().height();
1755
1756				// Use largest scale factor of horizontal/vertical
1757				var scale_w = container_w / width;
1758				var scale_h = container_h / height;
1759				var scale   = scale_w > scale_h ? scale_w : scale_h;
1760
1761				// Scale the video
1762				video.width( scale * width );
1763				video.height( scale * height );
1764			}
1765
1766			// Re-scale video when viewport resizes
1767			$( window ).resize( function() {
1768				if ( video_loaded ) {
1769					action_video_w_orig = action_video[0].videoWidth;
1770					action_video_h_orig = action_video[0].videoHeight;
1771					resize_video( action_video, action_video_w_orig, action_video_h_orig );
1772				} else {
1773					action_video.on( 'loadedmetadata', function( event ) {
1774						action_video_w_orig = this.videoWidth;
1775						action_video_h_orig = this.videoHeight;
1776						video_loaded      = true;
1777						resize_video( action_video, action_video_w_orig, action_video_h_orig );
1778					});
1779				}
1780			} );
1781
1782			// Trigger re-scale on pageload
1783			$( window ).trigger('resize');
1784		}
1785	});
1786})(jQuery);
1787(function($) {
1788	$(function() {
1789		// Background type
1790		var background_type = 'image';
1791
1792		// Video background
1793		if ( 'video' === background_type ) {
1794			// Set video element
1795			var action_video = $( '.fl-node-5e4da12739936 .action-video' );
1796			console.log(action_video);
1797
1798			var action_video_w_orig = 0;
1799			var action_video_h_orig = 0;
1800			var video_loaded      = false;
1801
1802			function resize_video( video, width, height ) {
1803				// Get the parent element size
1804				var container_w = video.parent().width();
1805				var container_h = video.parent().height();
1806
1807				// Use largest scale factor of horizontal/vertical
1808				var scale_w = container_w / width;
1809				var scale_h = container_h / height;
1810				var scale   = scale_w > scale_h ? scale_w : scale_h;
1811
1812				// Scale the video
1813				video.width( scale * width );
1814				video.height( scale * height );
1815			}
1816
1817			// Re-scale video when viewport resizes
1818			$( window ).resize( function() {
1819				if ( video_loaded ) {
1820					action_video_w_orig = action_video[0].videoWidth;
1821					action_video_h_orig = action_video[0].videoHeight;
1822					resize_video( action_video, action_video_w_orig, action_video_h_orig );
1823				} else {
1824					action_video.on( 'loadedmetadata', function( event ) {
1825						action_video_w_orig = this.videoWidth;
1826						action_video_h_orig = this.videoHeight;
1827						video_loaded      = true;
1828						resize_video( action_video, action_video_w_orig, action_video_h_orig );
1829					});
1830				}
1831			} );
1832
1833			// Trigger re-scale on pageload
1834			$( window ).trigger('resize');
1835		}
1836	});
1837})(jQuery);
1838(function($) {
1839	$(function() {
1840		// Background type
1841		var background_type = 'image';
1842
1843		// Video background
1844		if ( 'video' === background_type ) {
1845			// Set video element
1846			var action_video = $( '.fl-node-5e4da12739937 .action-video' );
1847			console.log(action_video);
1848
1849			var action_video_w_orig = 0;
1850			var action_video_h_orig = 0;
1851			var video_loaded      = false;
1852
1853			function resize_video( video, width, height ) {
1854				// Get the parent element size
1855				var container_w = video.parent().width();
1856				var container_h = video.parent().height();
1857
1858				// Use largest scale factor of horizontal/vertical
1859				var scale_w = container_w / width;
1860				var scale_h = container_h / height;
1861				var scale   = scale_w > scale_h ? scale_w : scale_h;
1862
1863				// Scale the video
1864				video.width( scale * width );
1865				video.height( scale * height );
1866			}
1867
1868			// Re-scale video when viewport resizes
1869			$( window ).resize( function() {
1870				if ( video_loaded ) {
1871					action_video_w_orig = action_video[0].videoWidth;
1872					action_video_h_orig = action_video[0].videoHeight;
1873					resize_video( action_video, action_video_w_orig, action_video_h_orig );
1874				} else {
1875					action_video.on( 'loadedmetadata', function( event ) {
1876						action_video_w_orig = this.videoWidth;
1877						action_video_h_orig = this.videoHeight;
1878						video_loaded      = true;
1879						resize_video( action_video, action_video_w_orig, action_video_h_orig );
1880					});
1881				}
1882			} );
1883
1884			// Trigger re-scale on pageload
1885			$( window ).trigger('resize');
1886		}
1887	});
1888})(jQuery);
1889(function($) {
1890	$(function() {
1891		// Background type
1892		var background_type = 'image';
1893
1894		// Video background
1895		if ( 'video' === background_type ) {
1896			// Set video element
1897			var action_video = $( '.fl-node-5e4da12739938 .action-video' );
1898			console.log(action_video);
1899
1900			var action_video_w_orig = 0;
1901			var action_video_h_orig = 0;
1902			var video_loaded      = false;
1903
1904			function resize_video( video, width, height ) {
1905				// Get the parent element size
1906				var container_w = video.parent().width();
1907				var container_h = video.parent().height();
1908
1909				// Use largest scale factor of horizontal/vertical
1910				var scale_w = container_w / width;
1911				var scale_h = container_h / height;
1912				var scale   = scale_w > scale_h ? scale_w : scale_h;
1913
1914				// Scale the video
1915				video.width( scale * width );
1916				video.height( scale * height );
1917			}
1918
1919			// Re-scale video when viewport resizes
1920			$( window ).resize( function() {
1921				if ( video_loaded ) {
1922					action_video_w_orig = action_video[0].videoWidth;
1923					action_video_h_orig = action_video[0].videoHeight;
1924					resize_video( action_video, action_video_w_orig, action_video_h_orig );
1925				} else {
1926					action_video.on( 'loadedmetadata', function( event ) {
1927						action_video_w_orig = this.videoWidth;
1928						action_video_h_orig = this.videoHeight;
1929						video_loaded      = true;
1930						resize_video( action_video, action_video_w_orig, action_video_h_orig );
1931					});
1932				}
1933			} );
1934
1935			// Trigger re-scale on pageload
1936			$( window ).trigger('resize');
1937		}
1938	});
1939})(jQuery);
1940(function($) {
1941	$(function() {
1942		// Background type
1943		var background_type = 'image';
1944
1945		// Video background
1946		if ( 'video' === background_type ) {
1947			// Set video element
1948			var action_video = $( '.fl-node-5e5529bf17cbf .action-video' );
1949			console.log(action_video);
1950
1951			var action_video_w_orig = 0;
1952			var action_video_h_orig = 0;
1953			var video_loaded      = false;
1954
1955			function resize_video( video, width, height ) {
1956				// Get the parent element size
1957				var container_w = video.parent().width();
1958				var container_h = video.parent().height();
1959
1960				// Use largest scale factor of horizontal/vertical
1961				var scale_w = container_w / width;
1962				var scale_h = container_h / height;
1963				var scale   = scale_w > scale_h ? scale_w : scale_h;
1964
1965				// Scale the video
1966				video.width( scale * width );
1967				video.height( scale * height );
1968			}
1969
1970			// Re-scale video when viewport resizes
1971			$( window ).resize( function() {
1972				if ( video_loaded ) {
1973					action_video_w_orig = action_video[0].videoWidth;
1974					action_video_h_orig = action_video[0].videoHeight;
1975					resize_video( action_video, action_video_w_orig, action_video_h_orig );
1976				} else {
1977					action_video.on( 'loadedmetadata', function( event ) {
1978						action_video_w_orig = this.videoWidth;
1979						action_video_h_orig = this.videoHeight;
1980						video_loaded      = true;
1981						resize_video( action_video, action_video_w_orig, action_video_h_orig );
1982					});
1983				}
1984			} );
1985
1986			// Trigger re-scale on pageload
1987			$( window ).trigger('resize');
1988		}
1989	});
1990})(jQuery);
1991(function($) {
1992	$(function() {
1993		// Background type
1994		var background_type = 'image';
1995
1996		// Video background
1997		if ( 'video' === background_type ) {
1998			// Set video element
1999			var action_video = $( '.fl-node-5e5529bf17cc1 .action-video' );
2000			console.log(action_video);
2001
2002			var action_video_w_orig = 0;
2003			var action_video_h_orig = 0;
2004			var video_loaded      = false;
2005
2006			function resize_video( video, width, height ) {
2007				// Get the parent element size
2008				var container_w = video.parent().width();
2009				var container_h = video.parent().height();
2010
2011				// Use largest scale factor of horizontal/vertical
2012				var scale_w = container_w / width;
2013				var scale_h = container_h / height;
2014				var scale   = scale_w > scale_h ? scale_w : scale_h;
2015
2016				// Scale the video
2017				video.width( scale * width );
2018				video.height( scale * height );
2019			}
2020
2021			// Re-scale video when viewport resizes
2022			$( window ).resize( function() {
2023				if ( video_loaded ) {
2024					action_video_w_orig = action_video[0].videoWidth;
2025					action_video_h_orig = action_video[0].videoHeight;
2026					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2027				} else {
2028					action_video.on( 'loadedmetadata', function( event ) {
2029						action_video_w_orig = this.videoWidth;
2030						action_video_h_orig = this.videoHeight;
2031						video_loaded      = true;
2032						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2033					});
2034				}
2035			} );
2036
2037			// Trigger re-scale on pageload
2038			$( window ).trigger('resize');
2039		}
2040	});
2041})(jQuery);
2042(function($) {
2043	$(function() {
2044		// Background type
2045		var background_type = 'image';
2046
2047		// Video background
2048		if ( 'video' === background_type ) {
2049			// Set video element
2050			var action_video = $( '.fl-node-5e5529bf17cc3 .action-video' );
2051			console.log(action_video);
2052
2053			var action_video_w_orig = 0;
2054			var action_video_h_orig = 0;
2055			var video_loaded      = false;
2056
2057			function resize_video( video, width, height ) {
2058				// Get the parent element size
2059				var container_w = video.parent().width();
2060				var container_h = video.parent().height();
2061
2062				// Use largest scale factor of horizontal/vertical
2063				var scale_w = container_w / width;
2064				var scale_h = container_h / height;
2065				var scale   = scale_w > scale_h ? scale_w : scale_h;
2066
2067				// Scale the video
2068				video.width( scale * width );
2069				video.height( scale * height );
2070			}
2071
2072			// Re-scale video when viewport resizes
2073			$( window ).resize( function() {
2074				if ( video_loaded ) {
2075					action_video_w_orig = action_video[0].videoWidth;
2076					action_video_h_orig = action_video[0].videoHeight;
2077					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2078				} else {
2079					action_video.on( 'loadedmetadata', function( event ) {
2080						action_video_w_orig = this.videoWidth;
2081						action_video_h_orig = this.videoHeight;
2082						video_loaded      = true;
2083						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2084					});
2085				}
2086			} );
2087
2088			// Trigger re-scale on pageload
2089			$( window ).trigger('resize');
2090		}
2091	});
2092})(jQuery);
2093(function($) {
2094	$(function() {
2095		// Background type
2096		var background_type = 'image';
2097
2098		// Video background
2099		if ( 'video' === background_type ) {
2100			// Set video element
2101			var action_video = $( '.fl-node-5e5529dbec662 .action-video' );
2102			console.log(action_video);
2103
2104			var action_video_w_orig = 0;
2105			var action_video_h_orig = 0;
2106			var video_loaded      = false;
2107
2108			function resize_video( video, width, height ) {
2109				// Get the parent element size
2110				var container_w = video.parent().width();
2111				var container_h = video.parent().height();
2112
2113				// Use largest scale factor of horizontal/vertical
2114				var scale_w = container_w / width;
2115				var scale_h = container_h / height;
2116				var scale   = scale_w > scale_h ? scale_w : scale_h;
2117
2118				// Scale the video
2119				video.width( scale * width );
2120				video.height( scale * height );
2121			}
2122
2123			// Re-scale video when viewport resizes
2124			$( window ).resize( function() {
2125				if ( video_loaded ) {
2126					action_video_w_orig = action_video[0].videoWidth;
2127					action_video_h_orig = action_video[0].videoHeight;
2128					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2129				} else {
2130					action_video.on( 'loadedmetadata', function( event ) {
2131						action_video_w_orig = this.videoWidth;
2132						action_video_h_orig = this.videoHeight;
2133						video_loaded      = true;
2134						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2135					});
2136				}
2137			} );
2138
2139			// Trigger re-scale on pageload
2140			$( window ).trigger('resize');
2141		}
2142	});
2143})(jQuery);
2144(function($) {
2145	$(function() {
2146		// Background type
2147		var background_type = 'image';
2148
2149		// Video background
2150		if ( 'video' === background_type ) {
2151			// Set video element
2152			var action_video = $( '.fl-node-5e5529dbec666 .action-video' );
2153			console.log(action_video);
2154
2155			var action_video_w_orig = 0;
2156			var action_video_h_orig = 0;
2157			var video_loaded      = false;
2158
2159			function resize_video( video, width, height ) {
2160				// Get the parent element size
2161				var container_w = video.parent().width();
2162				var container_h = video.parent().height();
2163
2164				// Use largest scale factor of horizontal/vertical
2165				var scale_w = container_w / width;
2166				var scale_h = container_h / height;
2167				var scale   = scale_w > scale_h ? scale_w : scale_h;
2168
2169				// Scale the video
2170				video.width( scale * width );
2171				video.height( scale * height );
2172			}
2173
2174			// Re-scale video when viewport resizes
2175			$( window ).resize( function() {
2176				if ( video_loaded ) {
2177					action_video_w_orig = action_video[0].videoWidth;
2178					action_video_h_orig = action_video[0].videoHeight;
2179					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2180				} else {
2181					action_video.on( 'loadedmetadata', function( event ) {
2182						action_video_w_orig = this.videoWidth;
2183						action_video_h_orig = this.videoHeight;
2184						video_loaded      = true;
2185						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2186					});
2187				}
2188			} );
2189
2190			// Trigger re-scale on pageload
2191			$( window ).trigger('resize');
2192		}
2193	});
2194})(jQuery);
2195(function($) {
2196	$(function() {
2197		// Background type
2198		var background_type = 'image';
2199
2200		// Video background
2201		if ( 'video' === background_type ) {
2202			// Set video element
2203			var action_video = $( '.fl-node-5e5529ecad40e .action-video' );
2204			console.log(action_video);
2205
2206			var action_video_w_orig = 0;
2207			var action_video_h_orig = 0;
2208			var video_loaded      = false;
2209
2210			function resize_video( video, width, height ) {
2211				// Get the parent element size
2212				var container_w = video.parent().width();
2213				var container_h = video.parent().height();
2214
2215				// Use largest scale factor of horizontal/vertical
2216				var scale_w = container_w / width;
2217				var scale_h = container_h / height;
2218				var scale   = scale_w > scale_h ? scale_w : scale_h;
2219
2220				// Scale the video
2221				video.width( scale * width );
2222				video.height( scale * height );
2223			}
2224
2225			// Re-scale video when viewport resizes
2226			$( window ).resize( function() {
2227				if ( video_loaded ) {
2228					action_video_w_orig = action_video[0].videoWidth;
2229					action_video_h_orig = action_video[0].videoHeight;
2230					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2231				} else {
2232					action_video.on( 'loadedmetadata', function( event ) {
2233						action_video_w_orig = this.videoWidth;
2234						action_video_h_orig = this.videoHeight;
2235						video_loaded      = true;
2236						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2237					});
2238				}
2239			} );
2240
2241			// Trigger re-scale on pageload
2242			$( window ).trigger('resize');
2243		}
2244	});
2245})(jQuery);
2246(function($) {
2247	$(function() {
2248		// Background type
2249		var background_type = 'image';
2250
2251		// Video background
2252		if ( 'video' === background_type ) {
2253			// Set video element
2254			var action_video = $( '.fl-node-13ajc8bhy4st .action-video' );
2255			console.log(action_video);
2256
2257			var action_video_w_orig = 0;
2258			var action_video_h_orig = 0;
2259			var video_loaded      = false;
2260
2261			function resize_video( video, width, height ) {
2262				// Get the parent element size
2263				var container_w = video.parent().width();
2264				var container_h = video.parent().height();
2265
2266				// Use largest scale factor of horizontal/vertical
2267				var scale_w = container_w / width;
2268				var scale_h = container_h / height;
2269				var scale   = scale_w > scale_h ? scale_w : scale_h;
2270
2271				// Scale the video
2272				video.width( scale * width );
2273				video.height( scale * height );
2274			}
2275
2276			// Re-scale video when viewport resizes
2277			$( window ).resize( function() {
2278				if ( video_loaded ) {
2279					action_video_w_orig = action_video[0].videoWidth;
2280					action_video_h_orig = action_video[0].videoHeight;
2281					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2282				} else {
2283					action_video.on( 'loadedmetadata', function( event ) {
2284						action_video_w_orig = this.videoWidth;
2285						action_video_h_orig = this.videoHeight;
2286						video_loaded      = true;
2287						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2288					});
2289				}
2290			} );
2291
2292			// Trigger re-scale on pageload
2293			$( window ).trigger('resize');
2294		}
2295	});
2296})(jQuery);
2297(function($) {
2298	$(function() {
2299		// Background type
2300		var background_type = 'image';
2301
2302		// Video background
2303		if ( 'video' === background_type ) {
2304			// Set video element
2305			var action_video = $( '.fl-node-zc9rugowkqm4 .action-video' );
2306			console.log(action_video);
2307
2308			var action_video_w_orig = 0;
2309			var action_video_h_orig = 0;
2310			var video_loaded      = false;
2311
2312			function resize_video( video, width, height ) {
2313				// Get the parent element size
2314				var container_w = video.parent().width();
2315				var container_h = video.parent().height();
2316
2317				// Use largest scale factor of horizontal/vertical
2318				var scale_w = container_w / width;
2319				var scale_h = container_h / height;
2320				var scale   = scale_w > scale_h ? scale_w : scale_h;
2321
2322				// Scale the video
2323				video.width( scale * width );
2324				video.height( scale * height );
2325			}
2326
2327			// Re-scale video when viewport resizes
2328			$( window ).resize( function() {
2329				if ( video_loaded ) {
2330					action_video_w_orig = action_video[0].videoWidth;
2331					action_video_h_orig = action_video[0].videoHeight;
2332					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2333				} else {
2334					action_video.on( 'loadedmetadata', function( event ) {
2335						action_video_w_orig = this.videoWidth;
2336						action_video_h_orig = this.videoHeight;
2337						video_loaded      = true;
2338						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2339					});
2340				}
2341			} );
2342
2343			// Trigger re-scale on pageload
2344			$( window ).trigger('resize');
2345		}
2346	});
2347})(jQuery);
2348(function($) {
2349	$(function() {
2350		// Background type
2351		var background_type = 'image';
2352
2353		// Video background
2354		if ( 'video' === background_type ) {
2355			// Set video element
2356			var action_video = $( '.fl-node-342f97o8mxda .action-video' );
2357			console.log(action_video);
2358
2359			var action_video_w_orig = 0;
2360			var action_video_h_orig = 0;
2361			var video_loaded      = false;
2362
2363			function resize_video( video, width, height ) {
2364				// Get the parent element size
2365				var container_w = video.parent().width();
2366				var container_h = video.parent().height();
2367
2368				// Use largest scale factor of horizontal/vertical
2369				var scale_w = container_w / width;
2370				var scale_h = container_h / height;
2371				var scale   = scale_w > scale_h ? scale_w : scale_h;
2372
2373				// Scale the video
2374				video.width( scale * width );
2375				video.height( scale * height );
2376			}
2377
2378			// Re-scale video when viewport resizes
2379			$( window ).resize( function() {
2380				if ( video_loaded ) {
2381					action_video_w_orig = action_video[0].videoWidth;
2382					action_video_h_orig = action_video[0].videoHeight;
2383					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2384				} else {
2385					action_video.on( 'loadedmetadata', function( event ) {
2386						action_video_w_orig = this.videoWidth;
2387						action_video_h_orig = this.videoHeight;
2388						video_loaded      = true;
2389						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2390					});
2391				}
2392			} );
2393
2394			// Trigger re-scale on pageload
2395			$( window ).trigger('resize');
2396		}
2397	});
2398})(jQuery);
2399(function($) {
2400	$(function() {
2401		// Background type
2402		var background_type = 'image';
2403
2404		// Video background
2405		if ( 'video' === background_type ) {
2406			// Set video element
2407			var action_video = $( '.fl-node-vtn60xe7omyd .action-video' );
2408			console.log(action_video);
2409
2410			var action_video_w_orig = 0;
2411			var action_video_h_orig = 0;
2412			var video_loaded      = false;
2413
2414			function resize_video( video, width, height ) {
2415				// Get the parent element size
2416				var container_w = video.parent().width();
2417				var container_h = video.parent().height();
2418
2419				// Use largest scale factor of horizontal/vertical
2420				var scale_w = container_w / width;
2421				var scale_h = container_h / height;
2422				var scale   = scale_w > scale_h ? scale_w : scale_h;
2423
2424				// Scale the video
2425				video.width( scale * width );
2426				video.height( scale * height );
2427			}
2428
2429			// Re-scale video when viewport resizes
2430			$( window ).resize( function() {
2431				if ( video_loaded ) {
2432					action_video_w_orig = action_video[0].videoWidth;
2433					action_video_h_orig = action_video[0].videoHeight;
2434					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2435				} else {
2436					action_video.on( 'loadedmetadata', function( event ) {
2437						action_video_w_orig = this.videoWidth;
2438						action_video_h_orig = this.videoHeight;
2439						video_loaded      = true;
2440						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2441					});
2442				}
2443			} );
2444
2445			// Trigger re-scale on pageload
2446			$( window ).trigger('resize');
2447		}
2448	});
2449})(jQuery);
2450(function($) {
2451	$(function() {
2452		// Background type
2453		var background_type = 'image';
2454
2455		// Video background
2456		if ( 'video' === background_type ) {
2457			// Set video element
2458			var action_video = $( '.fl-node-ilvgnke6y3h7 .action-video' );
2459			console.log(action_video);
2460
2461			var action_video_w_orig = 0;
2462			var action_video_h_orig = 0;
2463			var video_loaded      = false;
2464
2465			function resize_video( video, width, height ) {
2466				// Get the parent element size
2467				var container_w = video.parent().width();
2468				var container_h = video.parent().height();
2469
2470				// Use largest scale factor of horizontal/vertical
2471				var scale_w = container_w / width;
2472				var scale_h = container_h / height;
2473				var scale   = scale_w > scale_h ? scale_w : scale_h;
2474
2475				// Scale the video
2476				video.width( scale * width );
2477				video.height( scale * height );
2478			}
2479
2480			// Re-scale video when viewport resizes
2481			$( window ).resize( function() {
2482				if ( video_loaded ) {
2483					action_video_w_orig = action_video[0].videoWidth;
2484					action_video_h_orig = action_video[0].videoHeight;
2485					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2486				} else {
2487					action_video.on( 'loadedmetadata', function( event ) {
2488						action_video_w_orig = this.videoWidth;
2489						action_video_h_orig = this.videoHeight;
2490						video_loaded      = true;
2491						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2492					});
2493				}
2494			} );
2495
2496			// Trigger re-scale on pageload
2497			$( window ).trigger('resize');
2498		}
2499	});
2500})(jQuery);
2501(function($) {
2502	$(function() {
2503		// Background type
2504		var background_type = 'image';
2505
2506		// Video background
2507		if ( 'video' === background_type ) {
2508			// Set video element
2509			var action_video = $( '.fl-node-dytflg9j3hup .action-video' );
2510			console.log(action_video);
2511
2512			var action_video_w_orig = 0;
2513			var action_video_h_orig = 0;
2514			var video_loaded      = false;
2515
2516			function resize_video( video, width, height ) {
2517				// Get the parent element size
2518				var container_w = video.parent().width();
2519				var container_h = video.parent().height();
2520
2521				// Use largest scale factor of horizontal/vertical
2522				var scale_w = container_w / width;
2523				var scale_h = container_h / height;
2524				var scale   = scale_w > scale_h ? scale_w : scale_h;
2525
2526				// Scale the video
2527				video.width( scale * width );
2528				video.height( scale * height );
2529			}
2530
2531			// Re-scale video when viewport resizes
2532			$( window ).resize( function() {
2533				if ( video_loaded ) {
2534					action_video_w_orig = action_video[0].videoWidth;
2535					action_video_h_orig = action_video[0].videoHeight;
2536					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2537				} else {
2538					action_video.on( 'loadedmetadata', function( event ) {
2539						action_video_w_orig = this.videoWidth;
2540						action_video_h_orig = this.videoHeight;
2541						video_loaded      = true;
2542						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2543					});
2544				}
2545			} );
2546
2547			// Trigger re-scale on pageload
2548			$( window ).trigger('resize');
2549		}
2550	});
2551})(jQuery);
2552(function($) {
2553	$(function() {
2554		// Background type
2555		var background_type = 'image';
2556
2557		// Video background
2558		if ( 'video' === background_type ) {
2559			// Set video element
2560			var action_video = $( '.fl-node-m1iv7f6gds4l .action-video' );
2561			console.log(action_video);
2562
2563			var action_video_w_orig = 0;
2564			var action_video_h_orig = 0;
2565			var video_loaded      = false;
2566
2567			function resize_video( video, width, height ) {
2568				// Get the parent element size
2569				var container_w = video.parent().width();
2570				var container_h = video.parent().height();
2571
2572				// Use largest scale factor of horizontal/vertical
2573				var scale_w = container_w / width;
2574				var scale_h = container_h / height;
2575				var scale   = scale_w > scale_h ? scale_w : scale_h;
2576
2577				// Scale the video
2578				video.width( scale * width );
2579				video.height( scale * height );
2580			}
2581
2582			// Re-scale video when viewport resizes
2583			$( window ).resize( function() {
2584				if ( video_loaded ) {
2585					action_video_w_orig = action_video[0].videoWidth;
2586					action_video_h_orig = action_video[0].videoHeight;
2587					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2588				} else {
2589					action_video.on( 'loadedmetadata', function( event ) {
2590						action_video_w_orig = this.videoWidth;
2591						action_video_h_orig = this.videoHeight;
2592						video_loaded      = true;
2593						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2594					});
2595				}
2596			} );
2597
2598			// Trigger re-scale on pageload
2599			$( window ).trigger('resize');
2600		}
2601	});
2602})(jQuery);
2603(function($) {
2604	$(function() {
2605		// Background type
2606		var background_type = 'image';
2607
2608		// Video background
2609		if ( 'video' === background_type ) {
2610			// Set video element
2611			var action_video = $( '.fl-node-b078qug6la4f .action-video' );
2612			console.log(action_video);
2613
2614			var action_video_w_orig = 0;
2615			var action_video_h_orig = 0;
2616			var video_loaded      = false;
2617
2618			function resize_video( video, width, height ) {
2619				// Get the parent element size
2620				var container_w = video.parent().width();
2621				var container_h = video.parent().height();
2622
2623				// Use largest scale factor of horizontal/vertical
2624				var scale_w = container_w / width;
2625				var scale_h = container_h / height;
2626				var scale   = scale_w > scale_h ? scale_w : scale_h;
2627
2628				// Scale the video
2629				video.width( scale * width );
2630				video.height( scale * height );
2631			}
2632
2633			// Re-scale video when viewport resizes
2634			$( window ).resize( function() {
2635				if ( video_loaded ) {
2636					action_video_w_orig = action_video[0].videoWidth;
2637					action_video_h_orig = action_video[0].videoHeight;
2638					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2639				} else {
2640					action_video.on( 'loadedmetadata', function( event ) {
2641						action_video_w_orig = this.videoWidth;
2642						action_video_h_orig = this.videoHeight;
2643						video_loaded      = true;
2644						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2645					});
2646				}
2647			} );
2648
2649			// Trigger re-scale on pageload
2650			$( window ).trigger('resize');
2651		}
2652	});
2653})(jQuery);
2654(function($) {
2655	$(function() {
2656		// Background type
2657		var background_type = 'image';
2658
2659		// Video background
2660		if ( 'video' === background_type ) {
2661			// Set video element
2662			var action_video = $( '.fl-node-anrtxiw92jop .action-video' );
2663			console.log(action_video);
2664
2665			var action_video_w_orig = 0;
2666			var action_video_h_orig = 0;
2667			var video_loaded      = false;
2668
2669			function resize_video( video, width, height ) {
2670				// Get the parent element size
2671				var container_w = video.parent().width();
2672				var container_h = video.parent().height();
2673
2674				// Use largest scale factor of horizontal/vertical
2675				var scale_w = container_w / width;
2676				var scale_h = container_h / height;
2677				var scale   = scale_w > scale_h ? scale_w : scale_h;
2678
2679				// Scale the video
2680				video.width( scale * width );
2681				video.height( scale * height );
2682			}
2683
2684			// Re-scale video when viewport resizes
2685			$( window ).resize( function() {
2686				if ( video_loaded ) {
2687					action_video_w_orig = action_video[0].videoWidth;
2688					action_video_h_orig = action_video[0].videoHeight;
2689					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2690				} else {
2691					action_video.on( 'loadedmetadata', function( event ) {
2692						action_video_w_orig = this.videoWidth;
2693						action_video_h_orig = this.videoHeight;
2694						video_loaded      = true;
2695						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2696					});
2697				}
2698			} );
2699
2700			// Trigger re-scale on pageload
2701			$( window ).trigger('resize');
2702		}
2703	});
2704})(jQuery);
2705(function($) {
2706	$(function() {
2707		// Background type
2708		var background_type = 'image';
2709
2710		// Video background
2711		if ( 'video' === background_type ) {
2712			// Set video element
2713			var action_video = $( '.fl-node-0exazis724cy .action-video' );
2714			console.log(action_video);
2715
2716			var action_video_w_orig = 0;
2717			var action_video_h_orig = 0;
2718			var video_loaded      = false;
2719
2720			function resize_video( video, width, height ) {
2721				// Get the parent element size
2722				var container_w = video.parent().width();
2723				var container_h = video.parent().height();
2724
2725				// Use largest scale factor of horizontal/vertical
2726				var scale_w = container_w / width;
2727				var scale_h = container_h / height;
2728				var scale   = scale_w > scale_h ? scale_w : scale_h;
2729
2730				// Scale the video
2731				video.width( scale * width );
2732				video.height( scale * height );
2733			}
2734
2735			// Re-scale video when viewport resizes
2736			$( window ).resize( function() {
2737				if ( video_loaded ) {
2738					action_video_w_orig = action_video[0].videoWidth;
2739					action_video_h_orig = action_video[0].videoHeight;
2740					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2741				} else {
2742					action_video.on( 'loadedmetadata', function( event ) {
2743						action_video_w_orig = this.videoWidth;
2744						action_video_h_orig = this.videoHeight;
2745						video_loaded      = true;
2746						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2747					});
2748				}
2749			} );
2750
2751			// Trigger re-scale on pageload
2752			$( window ).trigger('resize');
2753		}
2754	});
2755})(jQuery);
2756(function($) {
2757	$(function() {
2758		// Background type
2759		var background_type = 'image';
2760
2761		// Video background
2762		if ( 'video' === background_type ) {
2763			// Set video element
2764			var action_video = $( '.fl-node-8reauzxibfc5 .action-video' );
2765			console.log(action_video);
2766
2767			var action_video_w_orig = 0;
2768			var action_video_h_orig = 0;
2769			var video_loaded      = false;
2770
2771			function resize_video( video, width, height ) {
2772				// Get the parent element size
2773				var container_w = video.parent().width();
2774				var container_h = video.parent().height();
2775
2776				// Use largest scale factor of horizontal/vertical
2777				var scale_w = container_w / width;
2778				var scale_h = container_h / height;
2779				var scale   = scale_w > scale_h ? scale_w : scale_h;
2780
2781				// Scale the video
2782				video.width( scale * width );
2783				video.height( scale * height );
2784			}
2785
2786			// Re-scale video when viewport resizes
2787			$( window ).resize( function() {
2788				if ( video_loaded ) {
2789					action_video_w_orig = action_video[0].videoWidth;
2790					action_video_h_orig = action_video[0].videoHeight;
2791					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2792				} else {
2793					action_video.on( 'loadedmetadata', function( event ) {
2794						action_video_w_orig = this.videoWidth;
2795						action_video_h_orig = this.videoHeight;
2796						video_loaded      = true;
2797						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2798					});
2799				}
2800			} );
2801
2802			// Trigger re-scale on pageload
2803			$( window ).trigger('resize');
2804		}
2805	});
2806})(jQuery);
2807(function($) {
2808	$(function() {
2809		// Background type
2810		var background_type = 'image';
2811
2812		// Video background
2813		if ( 'video' === background_type ) {
2814			// Set video element
2815			var action_video = $( '.fl-node-z2ty5ph0wg7s .action-video' );
2816			console.log(action_video);
2817
2818			var action_video_w_orig = 0;
2819			var action_video_h_orig = 0;
2820			var video_loaded      = false;
2821
2822			function resize_video( video, width, height ) {
2823				// Get the parent element size
2824				var container_w = video.parent().width();
2825				var container_h = video.parent().height();
2826
2827				// Use largest scale factor of horizontal/vertical
2828				var scale_w = container_w / width;
2829				var scale_h = container_h / height;
2830				var scale   = scale_w > scale_h ? scale_w : scale_h;
2831
2832				// Scale the video
2833				video.width( scale * width );
2834				video.height( scale * height );
2835			}
2836
2837			// Re-scale video when viewport resizes
2838			$( window ).resize( function() {
2839				if ( video_loaded ) {
2840					action_video_w_orig = action_video[0].videoWidth;
2841					action_video_h_orig = action_video[0].videoHeight;
2842					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2843				} else {
2844					action_video.on( 'loadedmetadata', function( event ) {
2845						action_video_w_orig = this.videoWidth;
2846						action_video_h_orig = this.videoHeight;
2847						video_loaded      = true;
2848						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2849					});
2850				}
2851			} );
2852
2853			// Trigger re-scale on pageload
2854			$( window ).trigger('resize');
2855		}
2856	});
2857})(jQuery);
2858(function($) {
2859	$(function() {
2860		// Background type
2861		var background_type = 'image';
2862
2863		// Video background
2864		if ( 'video' === background_type ) {
2865			// Set video element
2866			var action_video = $( '.fl-node-s51euta4zdkg .action-video' );
2867			console.log(action_video);
2868
2869			var action_video_w_orig = 0;
2870			var action_video_h_orig = 0;
2871			var video_loaded      = false;
2872
2873			function resize_video( video, width, height ) {
2874				// Get the parent element size
2875				var container_w = video.parent().width();
2876				var container_h = video.parent().height();
2877
2878				// Use largest scale factor of horizontal/vertical
2879				var scale_w = container_w / width;
2880				var scale_h = container_h / height;
2881				var scale   = scale_w > scale_h ? scale_w : scale_h;
2882
2883				// Scale the video
2884				video.width( scale * width );
2885				video.height( scale * height );
2886			}
2887
2888			// Re-scale video when viewport resizes
2889			$( window ).resize( function() {
2890				if ( video_loaded ) {
2891					action_video_w_orig = action_video[0].videoWidth;
2892					action_video_h_orig = action_video[0].videoHeight;
2893					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2894				} else {
2895					action_video.on( 'loadedmetadata', function( event ) {
2896						action_video_w_orig = this.videoWidth;
2897						action_video_h_orig = this.videoHeight;
2898						video_loaded      = true;
2899						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2900					});
2901				}
2902			} );
2903
2904			// Trigger re-scale on pageload
2905			$( window ).trigger('resize');
2906		}
2907	});
2908})(jQuery);
2909(function($) {
2910	$(function() {
2911		// Background type
2912		var background_type = 'image';
2913
2914		// Video background
2915		if ( 'video' === background_type ) {
2916			// Set video element
2917			var action_video = $( '.fl-node-hdnuojpavl1r .action-video' );
2918			console.log(action_video);
2919
2920			var action_video_w_orig = 0;
2921			var action_video_h_orig = 0;
2922			var video_loaded      = false;
2923
2924			function resize_video( video, width, height ) {
2925				// Get the parent element size
2926				var container_w = video.parent().width();
2927				var container_h = video.parent().height();
2928
2929				// Use largest scale factor of horizontal/vertical
2930				var scale_w = container_w / width;
2931				var scale_h = container_h / height;
2932				var scale   = scale_w > scale_h ? scale_w : scale_h;
2933
2934				// Scale the video
2935				video.width( scale * width );
2936				video.height( scale * height );
2937			}
2938
2939			// Re-scale video when viewport resizes
2940			$( window ).resize( function() {
2941				if ( video_loaded ) {
2942					action_video_w_orig = action_video[0].videoWidth;
2943					action_video_h_orig = action_video[0].videoHeight;
2944					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2945				} else {
2946					action_video.on( 'loadedmetadata', function( event ) {
2947						action_video_w_orig = this.videoWidth;
2948						action_video_h_orig = this.videoHeight;
2949						video_loaded      = true;
2950						resize_video( action_video, action_video_w_orig, action_video_h_orig );
2951					});
2952				}
2953			} );
2954
2955			// Trigger re-scale on pageload
2956			$( window ).trigger('resize');
2957		}
2958	});
2959})(jQuery);
2960(function($) {
2961	$(function() {
2962		// Background type
2963		var background_type = 'image';
2964
2965		// Video background
2966		if ( 'video' === background_type ) {
2967			// Set video element
2968			var action_video = $( '.fl-node-7ij2qdte6nwz .action-video' );
2969			console.log(action_video);
2970
2971			var action_video_w_orig = 0;
2972			var action_video_h_orig = 0;
2973			var video_loaded      = false;
2974
2975			function resize_video( video, width, height ) {
2976				// Get the parent element size
2977				var container_w = video.parent().width();
2978				var container_h = video.parent().height();
2979
2980				// Use largest scale factor of horizontal/vertical
2981				var scale_w = container_w / width;
2982				var scale_h = container_h / height;
2983				var scale   = scale_w > scale_h ? scale_w : scale_h;
2984
2985				// Scale the video
2986				video.width( scale * width );
2987				video.height( scale * height );
2988			}
2989
2990			// Re-scale video when viewport resizes
2991			$( window ).resize( function() {
2992				if ( video_loaded ) {
2993					action_video_w_orig = action_video[0].videoWidth;
2994					action_video_h_orig = action_video[0].videoHeight;
2995					resize_video( action_video, action_video_w_orig, action_video_h_orig );
2996				} else {
2997					action_video.on( 'loadedmetadata', function( event ) {
2998						action_video_w_orig = this.videoWidth;
2999						action_video_h_orig = this.videoHeight;
3000						video_loaded      = true;
3001						resize_video( action_video, action_video_w_orig, action_video_h_orig );
3002					});
3003				}
3004			} );
3005
3006			// Trigger re-scale on pageload
3007			$( window ).trigger('resize');
3008		}
3009	});
3010})(jQuery);
3011(function($) {
3012	$(function() {
3013		// Background type
3014		var background_type = 'image';
3015
3016		// Video background
3017		if ( 'video' === background_type ) {
3018			// Set video element
3019			var action_video = $( '.fl-node-s56wibfp08ht .action-video' );
3020			console.log(action_video);
3021
3022			var action_video_w_orig = 0;
3023			var action_video_h_orig = 0;
3024			var video_loaded      = false;
3025
3026			function resize_video( video, width, height ) {
3027				// Get the parent element size
3028				var container_w = video.parent().width();
3029				var container_h = video.parent().height();
3030
3031				// Use largest scale factor of horizontal/vertical
3032				var scale_w = container_w / width;
3033				var scale_h = container_h / height;
3034				var scale   = scale_w > scale_h ? scale_w : scale_h;
3035
3036				// Scale the video
3037				video.width( scale * width );
3038				video.height( scale * height );
3039			}
3040
3041			// Re-scale video when viewport resizes
3042			$( window ).resize( function() {
3043				if ( video_loaded ) {
3044					action_video_w_orig = action_video[0].videoWidth;
3045					action_video_h_orig = action_video[0].videoHeight;
3046					resize_video( action_video, action_video_w_orig, action_video_h_orig );
3047				} else {
3048					action_video.on( 'loadedmetadata', function( event ) {
3049						action_video_w_orig = this.videoWidth;
3050						action_video_h_orig = this.videoHeight;
3051						video_loaded      = true;
3052						resize_video( action_video, action_video_w_orig, action_video_h_orig );
3053					});
3054				}
3055			} );
3056
3057			// Trigger re-scale on pageload
3058			$( window ).trigger('resize');
3059		}
3060	});
3061})(jQuery);
3062(function($) {
3063	$(function() {
3064		// Background type
3065		var background_type = 'image';
3066
3067		// Video background
3068		if ( 'video' === background_type ) {
3069			// Set video element
3070			var action_video = $( '.fl-node-j3s7znrc6bk0 .action-video' );
3071			console.log(action_video);
3072
3073			var action_video_w_orig = 0;
3074			var action_video_h_orig = 0;
3075			var video_loaded      = false;
3076
3077			function resize_video( video, width, height ) {
3078				// Get the parent element size
3079				var container_w = video.parent().width();
3080				var container_h = video.parent().height();
3081
3082				// Use largest scale factor of horizontal/vertical
3083				var scale_w = container_w / width;
3084				var scale_h = container_h / height;
3085				var scale   = scale_w > scale_h ? scale_w : scale_h;
3086
3087				// Scale the video
3088				video.width( scale * width );
3089				video.height( scale * height );
3090			}
3091
3092			// Re-scale video when viewport resizes
3093			$( window ).resize( function() {
3094				if ( video_loaded ) {
3095					action_video_w_orig = action_video[0].videoWidth;
3096					action_video_h_orig = action_video[0].videoHeight;
3097					resize_video( action_video, action_video_w_orig, action_video_h_orig );
3098				} else {
3099					action_video.on( 'loadedmetadata', function( event ) {
3100						action_video_w_orig = this.videoWidth;
3101						action_video_h_orig = this.videoHeight;
3102						video_loaded      = true;
3103						resize_video( action_video, action_video_w_orig, action_video_h_orig );
3104					});
3105				}
3106			} );
3107
3108			// Trigger re-scale on pageload
3109			$( window ).trigger('resize');
3110		}
3111	});
3112})(jQuery);
3113(function($) {
3114	$(function() {
3115		// Background type
3116		var background_type = 'image';
3117
3118		// Video background
3119		if ( 'video' === background_type ) {
3120			// Set video element
3121			var action_video = $( '.fl-node-l2m4szacnotb .action-video' );
3122			console.log(action_video);
3123
3124			var action_video_w_orig = 0;
3125			var action_video_h_orig = 0;
3126			var video_loaded      = false;
3127
3128			function resize_video( video, width, height ) {
3129				// Get the parent element size
3130				var container_w = video.parent().width();
3131				var container_h = video.parent().height();
3132
3133				// Use largest scale factor of horizontal/vertical
3134				var scale_w = container_w / width;
3135				var scale_h = container_h / height;
3136				var scale   = scale_w > scale_h ? scale_w : scale_h;
3137
3138				// Scale the video
3139				video.width( scale * width );
3140				video.height( scale * height );
3141			}
3142
3143			// Re-scale video when viewport resizes
3144			$( window ).resize( function() {
3145				if ( video_loaded ) {
3146					action_video_w_orig = action_video[0].videoWidth;
3147					action_video_h_orig = action_video[0].videoHeight;
3148					resize_video( action_video, action_video_w_orig, action_video_h_orig );
3149				} else {
3150					action_video.on( 'loadedmetadata', function( event ) {
3151						action_video_w_orig = this.videoWidth;
3152						action_video_h_orig = this.videoHeight;
3153						video_loaded      = true;
3154						resize_video( action_video, action_video_w_orig, action_video_h_orig );
3155					});
3156				}
3157			} );
3158
3159			// Trigger re-scale on pageload
3160			$( window ).trigger('resize');
3161		}
3162	});
3163})(jQuery);
3164(function($) {
3165	$(function() {
3166		// Background type
3167		var background_type = 'image';
3168
3169		// Video background
3170		if ( 'video' === background_type ) {
3171			// Set video element
3172			var action_video = $( '.fl-node-s1z92a0luj6k .action-video' );
3173			console.log(action_video);
3174
3175			var action_video_w_orig = 0;
3176			var action_video_h_orig = 0;
3177			var video_loaded      = false;
3178
3179			function resize_video( video, width, height ) {
3180				// Get the parent element size
3181				var container_w = video.parent().width();
3182				var container_h = video.parent().height();
3183
3184				// Use largest scale factor of horizontal/vertical
3185				var scale_w = container_w / width;
3186				var scale_h = container_h / height;
3187				var scale   = scale_w > scale_h ? scale_w : scale_h;
3188
3189				// Scale the video
3190				video.width( scale * width );
3191				video.height( scale * height );
3192			}
3193
3194			// Re-scale video when viewport resizes
3195			$( window ).resize( function() {
3196				if ( video_loaded ) {
3197					action_video_w_orig = action_video[0].videoWidth;
3198					action_video_h_orig = action_video[0].videoHeight;
3199					resize_video( action_video, action_video_w_orig, action_video_h_orig );
3200				} else {
3201					action_video.on( 'loadedmetadata', function( event ) {
3202						action_video_w_orig = this.videoWidth;
3203						action_video_h_orig = this.videoHeight;
3204						video_loaded      = true;
3205						resize_video( action_video, action_video_w_orig, action_video_h_orig );
3206					});
3207				}
3208			} );
3209
3210			// Trigger re-scale on pageload
3211			$( window ).trigger('resize');
3212		}
3213	});
3214})(jQuery);
3215(function($) {
3216	$(function() {
3217		// Background type
3218		var background_type = 'image';
3219
3220		// Video background
3221		if ( 'video' === background_type ) {
3222			// Set video element
3223			var action_video = $( '.fl-node-t7ug8p3bwhne .action-video' );
3224			console.log(action_video);
3225
3226			var action_video_w_orig = 0;
3227			var action_video_h_orig = 0;
3228			var video_loaded      = false;
3229
3230			function resize_video( video, width, height ) {
3231				// Get the parent element size
3232				var container_w = video.parent().width();
3233				var container_h = video.parent().height();
3234
3235				// Use largest scale factor of horizontal/vertical
3236				var scale_w = container_w / width;
3237				var scale_h = container_h / height;
3238				var scale   = scale_w > scale_h ? scale_w : scale_h;
3239
3240				// Scale the video
3241				video.width( scale * width );
3242				video.height( scale * height );
3243			}
3244
3245			// Re-scale video when viewport resizes
3246			$( window ).resize( function() {
3247				if ( video_loaded ) {
3248					action_video_w_orig = action_video[0].videoWidth;
3249					action_video_h_orig = action_video[0].videoHeight;
3250					resize_video( action_video, action_video_w_orig, action_video_h_orig );
3251				} else {
3252					action_video.on( 'loadedmetadata', function( event ) {
3253						action_video_w_orig = this.videoWidth;
3254						action_video_h_orig = this.videoHeight;
3255						video_loaded      = true;
3256						resize_video( action_video, action_video_w_orig, action_video_h_orig );
3257					});
3258				}
3259			} );
3260
3261			// Trigger re-scale on pageload
3262			$( window ).trigger('resize');
3263		}
3264	});
3265})(jQuery);
3266(function($) {
3267	$(function() {
3268		// Background type
3269		var background_type = 'image';
3270
3271		// Video background
3272		if ( 'video' === background_type ) {
3273			// Set video element
3274			var action_video = $( '.fl-node-fogareknsdv7 .action-video' );
3275			console.log(action_video);
3276
3277			var action_video_w_orig = 0;
3278			var action_video_h_orig = 0;
3279			var video_loaded      = false;
3280
3281			function resize_video( video, width, height ) {
3282				// Get the parent element size
3283				var container_w = video.parent().width();
3284				var container_h = video.parent().height();
3285
3286				// Use largest scale factor of horizontal/vertical
3287				var scale_w = container_w / width;
3288				var scale_h = container_h / height;
3289				var scale   = scale_w > scale_h ? scale_w : scale_h;
3290
3291				// Scale the video
3292				video.width( scale * width );
3293				video.height( scale * height );
3294			}
3295
3296			// Re-scale video when viewport resizes
3297			$( window ).resize( function() {
3298				if ( video_loaded ) {
3299					action_video_w_orig = action_video[0].videoWidth;
3300					action_video_h_orig = action_video[0].videoHeight;
3301					resize_video( action_video, action_video_w_orig, action_video_h_orig );
3302				} else {
3303					action_video.on( 'loadedmetadata', function( event ) {
3304						action_video_w_orig = this.videoWidth;
3305						action_video_h_orig = this.videoHeight;
3306						video_loaded      = true;
3307						resize_video( action_video, action_video_w_orig, action_video_h_orig );
3308					});
3309				}
3310			} );
3311
3312			// Trigger re-scale on pageload
3313			$( window ).trigger('resize');
3314		}
3315	});
3316})(jQuery);
3317(function($) {
3318	$(function() {
3319		// Background type
3320		var background_type = 'image';
3321
3322		// Video background
3323		if ( 'video' === background_type ) {
3324			// Set video element
3325			var action_video = $( '.fl-node-g7nkxjzirhqf .action-video' );
3326			console.log(action_video);
3327
3328			var action_video_w_orig = 0;
3329			var action_video_h_orig = 0;
3330			var video_loaded      = false;
3331
3332			function resize_video( video, width, height ) {
3333				// Get the parent element size
3334				var container_w = video.parent().width();
3335				var container_h = video.parent().height();
3336
3337				// Use largest scale factor of horizontal/vertical
3338				var scale_w = container_w / width;
3339				var scale_h = container_h / height;
3340				var scale   = scale_w > scale_h ? scale_w : scale_h;
3341
3342				// Scale the video
3343				video.width( scale * width );
3344				video.height( scale * height );
3345			}
3346
3347			// Re-scale video when viewport resizes
3348			$( window ).resize( function() {
3349				if ( video_loaded ) {
3350					action_video_w_orig = action_video[0].videoWidth;
3351					action_video_h_orig = action_video[0].videoHeight;
3352					resize_video( action_video, action_video_w_orig, action_video_h_orig );
3353				} else {
3354					action_video.on( 'loadedmetadata', function( event ) {
3355						action_video_w_orig = this.videoWidth;
3356						action_video_h_orig = this.videoHeight;
3357						video_loaded      = true;
3358						resize_video( action_video, action_video_w_orig, action_video_h_orig );
3359					});
3360				}
3361			} );
3362
3363			// Trigger re-scale on pageload
3364			$( window ).trigger('resize');
3365		}
3366	});
3367})(jQuery);
3368(function($) {
3369	$(function() {
3370		// Background type
3371		var background_type = 'image';
3372
3373		// Video background
3374		if ( 'video' === background_type ) {
3375			// Set video element
3376			var action_video = $( '.fl-node-xlp5y263rme0 .action-video' );
3377			console.log(action_video);
3378
3379			var action_video_w_orig = 0;
3380			var action_video_h_orig = 0;
3381			var video_loaded      = false;
3382
3383			function resize_video( video, width, height ) {
3384				// Get the parent element size
3385				var container_w = video.parent().width();
3386				var container_h = video.parent().height();
3387
3388				// Use largest scale factor of horizontal/vertical
3389				var scale_w = container_w / width;
3390				var scale_h = container_h / height;
3391				var scale   = scale_w > scale_h ? scale_w : scale_h;
3392
3393				// Scale the video
3394				video.width( scale * width );
3395				video.height( scale * height );
3396			}
3397
3398			// Re-scale video when viewport resizes
3399			$( window ).resize( function() {
3400				if ( video_loaded ) {
3401					action_video_w_orig = action_video[0].videoWidth;
3402					action_video_h_orig = action_video[0].videoHeight;
3403					resize_video( action_video, action_video_w_orig, action_video_h_orig );
3404				} else {
3405					action_video.on( 'loadedmetadata', function( event ) {
3406						action_video_w_orig = this.videoWidth;
3407						action_video_h_orig = this.videoHeight;
3408						video_loaded      = true;
3409						resize_video( action_video, action_video_w_orig, action_video_h_orig );
3410					});
3411				}
3412			} );
3413
3414			// Trigger re-scale on pageload
3415			$( window ).trigger('resize');
3416		}
3417	});
3418})(jQuery);
3419(function($) {
3420	$(function() {
3421		// Background type
3422		var background_type = 'image';
3423
3424		// Video background
3425		if ( 'video' === background_type ) {
3426			// Set video element
3427			var action_video = $( '.fl-node-pfl6vur78m34 .action-video' );
3428			console.log(action_video);
3429
3430			var action_video_w_orig = 0;
3431			var action_video_h_orig = 0;
3432			var video_loaded      = false;
3433
3434			function resize_video( video, width, height ) {
3435				// Get the parent element size
3436				var container_w = video.parent().width();
3437				var container_h = video.parent().height();
3438
3439				// Use largest scale factor of horizontal/vertical
3440				var scale_w = container_w / width;
3441				var scale_h = container_h / height;
3442				var scale   = scale_w > scale_h ? scale_w : scale_h;
3443
3444				// Scale the video
3445				video.width( scale * width );
3446				video.height( scale * height );
3447			}
3448
3449			// Re-scale video when viewport resizes
3450			$( window ).resize( function() {
3451				if ( video_loaded ) {
3452					action_video_w_orig = action_video[0].videoWidth;
3453					action_video_h_orig = action_video[0].videoHeight;
3454					resize_video( action_video, action_video_w_orig, action_video_h_orig );
3455				} else {
3456					action_video.on( 'loadedmetadata', function( event ) {
3457						action_video_w_orig = this.videoWidth;
3458						action_video_h_orig = this.videoHeight;
3459						video_loaded      = true;
3460						resize_video( action_video, action_video_w_orig, action_video_h_orig );
3461					});
3462				}
3463			} );
3464
3465			// Trigger re-scale on pageload
3466			$( window ).trigger('resize');
3467		}
3468	});
3469})(jQuery);
3470(function($) {
3471	$(function() {
3472		// Background type
3473		var background_type = 'image';
3474
3475		// Video background
3476		if ( 'video' === background_type ) {
3477			// Set video element
3478			var action_video = $( '.fl-node-ozb716w3ipmf .action-video' );
3479			console.log(action_video);
3480
3481			var action_video_w_orig = 0;
3482			var action_video_h_orig = 0;
3483			var video_loaded      = false;
3484
3485			function resize_video( video, width, height ) {
3486				// Get the parent element size
3487				var container_w = video.parent().width();
3488				var container_h = video.parent().height();
3489
3490				// Use largest scale factor of horizontal/vertical
3491				var scale_w = container_w / width;
3492				var scale_h = container_h / height;
3493				var scale   = scale_w > scale_h ? scale_w : scale_h;
3494
3495				// Scale the video
3496				video.width( scale * width );
3497				video.height( scale * height );
3498			}
3499
3500			// Re-scale video when viewport resizes
3501			$( window ).resize( function() {
3502				if ( video_loaded ) {
3503					action_video_w_orig = action_video[0].videoWidth;
3504					action_video_h_orig = action_video[0].videoHeight;
3505					resize_video( action_video, action_video_w_orig, action_video_h_orig );
3506				} else {
3507					action_video.on( 'loadedmetadata', function( event ) {
3508						action_video_w_orig = this.videoWidth;
3509						action_video_h_orig = this.videoHeight;
3510						video_loaded      = true;
3511						resize_video( action_video, action_video_w_orig, action_video_h_orig );
3512					});
3513				}
3514			} );
3515
3516			// Trigger re-scale on pageload
3517			$( window ).trigger('resize');
3518		}
3519	});
3520})(jQuery);
3521(function($) {
3522	$(function() {
3523		// Background type
3524		var background_type = 'image';
3525
3526		// Video background
3527		if ( 'video' === background_type ) {
3528			// Set video element
3529			var action_video = $( '.fl-node-54jpxubfvir7 .action-video' );
3530			console.log(action_video);
3531
3532			var action_video_w_orig = 0;
3533			var action_video_h_orig = 0;
3534			var video_loaded      = false;
3535
3536			function resize_video( video, width, height ) {
3537				// Get the parent element size
3538				var container_w = video.parent().width();
3539				var container_h = video.parent().height();
3540
3541				// Use largest scale factor of horizontal/vertical
3542				var scale_w = container_w / width;
3543				var scale_h = container_h / height;
3544				var scale   = scale_w > scale_h ? scale_w : scale_h;
3545
3546				// Scale the video
3547				video.width( scale * width );
3548				video.height( scale * height );
3549			}
3550
3551			// Re-scale video when viewport resizes
3552			$( window ).resize( function() {
3553				if ( video_loaded ) {
3554					action_video_w_orig = action_video[0].videoWidth;
3555					action_video_h_orig = action_video[0].videoHeight;
3556					resize_video( action_video, action_video_w_orig, action_video_h_orig );
3557				} else {
3558					action_video.on( 'loadedmetadata', function( event ) {
3559						action_video_w_orig = this.videoWidth;
3560						action_video_h_orig = this.videoHeight;
3561						video_loaded      = true;
3562						resize_video( action_video, action_video_w_orig, action_video_h_orig );
3563					});
3564				}
3565			} );
3566
3567			// Trigger re-scale on pageload
3568			$( window ).trigger('resize');
3569		}
3570	});
3571})(jQuery);
3572(function($) {
3573	$(function() {
3574		// Background type
3575		var background_type = 'image';
3576
3577		// Video background
3578		if ( 'video' === background_type ) {
3579			// Set video element
3580			var action_video = $( '.fl-node-b30pa2hl8qey .action-video' );
3581			console.log(action_video);
3582
3583			var action_video_w_orig = 0;
3584			var action_video_h_orig = 0;
3585			var video_loaded      = false;
3586
3587			function resize_video( video, width, height ) {
3588				// Get the parent element size
3589				var container_w = video.parent().width();
3590				var container_h = video.parent().height();
3591
3592				// Use largest scale factor of horizontal/vertical
3593				var scale_w = container_w / width;
3594				var scale_h = container_h / height;
3595				var scale   = scale_w > scale_h ? scale_w : scale_h;
3596
3597				// Scale the video
3598				video.width( scale * width );
3599				video.height( scale * height );
3600			}
3601
3602			// Re-scale video when viewport resizes
3603			$( window ).resize( function() {
3604				if ( video_loaded ) {
3605					action_video_w_orig = action_video[0].videoWidth;
3606					action_video_h_orig = action_video[0].videoHeight;
3607					resize_video( action_video, action_video_w_orig, action_video_h_orig );
3608				} else {
3609					action_video.on( 'loadedmetadata', function( event ) {
3610						action_video_w_orig = this.videoWidth;
3611						action_video_h_orig = this.videoHeight;
3612						video_loaded      = true;
3613						resize_video( action_video, action_video_w_orig, action_video_h_orig );
3614					});
3615				}
3616			} );
3617
3618			// Trigger re-scale on pageload
3619			$( window ).trigger('resize');
3620		}
3621	});
3622})(jQuery);
3623(function($) {
3624	$(function() {
3625		// Background type
3626		var background_type = 'image';
3627
3628		// Video background
3629		if ( 'video' === background_type ) {
3630			// Set video element
3631			var action_video = $( '.fl-node-7qla916xb0dk .action-video' );
3632			console.log(action_video);
3633
3634			var action_video_w_orig = 0;
3635			var action_video_h_orig = 0;
3636			var video_loaded      = false;
3637
3638			function resize_video( video, width, height ) {
3639				// Get the parent element size
3640				var container_w = video.parent().width();
3641				var container_h = video.parent().height();
3642
3643				// Use largest scale factor of horizontal/vertical
3644				var scale_w = container_w / width;
3645				var scale_h = container_h / height;
3646				var scale   = scale_w > scale_h ? scale_w : scale_h;
3647
3648				// Scale the video
3649				video.width( scale * width );
3650				video.height( scale * height );
3651			}
3652
3653			// Re-scale video when viewport resizes
3654			$( window ).resize( function() {
3655				if ( video_loaded ) {
3656					action_video_w_orig = action_video[0].videoWidth;
3657					action_video_h_orig = action_video[0].videoHeight;
3658					resize_video( action_video, action_video_w_orig, action_video_h_orig );
3659				} else {
3660					action_video.on( 'loadedmetadata', function( event ) {
3661						action_video_w_orig = this.videoWidth;
3662						action_video_h_orig = this.videoHeight;
3663						video_loaded      = true;
3664						resize_video( action_video, action_video_w_orig, action_video_h_orig );
3665					});
3666				}
3667			} );
3668
3669			// Trigger re-scale on pageload
3670			$( window ).trigger('resize');
3671		}
3672	});
3673})(jQuery);
3674
3675/* Start Global Node Custom JS */
3676
3677/* End Global Node Custom JS */
3678
3679
3680/* Start Layout Custom JS */
3681
3682/* End Layout Custom JS */
3683

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.