HEX
Server: Apache
System: Linux webm013.cluster123.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User: lesanew (165608)
PHP: 8.3.31
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/lesanew/www/wp-content/plugins/neobeat-core/assets/js/neobeat-core.js
(function ($) {
	"use strict";
	
	// This case is important when theme is not active
	if (typeof qodef !== 'object') {
		window.qodef = {};
	}
	
	window.qodefCore = {};
	qodefCore.shortcodes = {};
	qodefCore.listShortcodesScripts = {
		qodefSwiper: qodef.qodefSwiper,
		qodefPagination: qodef.qodefPagination,
		qodefFilter: qodef.qodefFilter,
		qodefMasonryLayout: qodef.qodefMasonryLayout,
		qodefJustifiedGallery: qodef.qodefJustifiedGallery,
	};
	
	qodefCore.body = $('body');
	qodefCore.html = $('html');
	qodefCore.windowWidth = $(window).width();
	qodefCore.windowHeight = $(window).height();
	qodefCore.scroll = 0;
	
	$(document).ready(function () {
		qodefCore.scroll = $(window).scrollTop();
		qodefInlinePageStyle.init();
		setTimeout(function(){
			qodefBlur.init();
		}, 10);
	});
	
	$(window).resize(function () {
		qodefCore.windowWidth = $(window).width();
		qodefCore.windowHeight = $(window).height();
	});
	
	$(window).scroll(function () {
		qodefCore.scroll = $(window).scrollTop();
	});
	
	var qodefScroll = {
		disable: function(){
			if (window.addEventListener) {
				window.addEventListener('wheel', qodefScroll.preventDefaultValue, {passive: false});
			}
			
			// window.onmousewheel = document.onmousewheel = qodefScroll.preventDefaultValue;
			document.onkeydown = qodefScroll.keyDown;
		},
		enable: function(){
			if (window.removeEventListener) {
				window.removeEventListener('wheel', qodefScroll.preventDefaultValue, {passive: false});
			}
			window.onmousewheel = document.onmousewheel = document.onkeydown = null;
		},
		preventDefaultValue: function(e){
			e = e || window.event;
			if (e.preventDefault) {
				e.preventDefault();
			}
			e.returnValue = false;
		},
		keyDown: function(e) {
			var keys = [37, 38, 39, 40];
			for (var i = keys.length; i--;) {
				if (e.keyCode === keys[i]) {
					qodefScroll.preventDefaultValue(e);
					return;
				}
			}
		}
	};
	
	qodefCore.qodefScroll = qodefScroll;
	
	var qodefPerfectScrollbar = {
		init: function ($holder) {
			if ($holder.length) {
				qodefPerfectScrollbar.qodefInitScroll($holder);
			}
		},
		qodefInitScroll: function ($holder) {
			var $defaultParams = {
				wheelSpeed: 0.6,
				suppressScrollX: true
			};
			
			var $ps = new PerfectScrollbar($holder[0], $defaultParams);
			$(window).resize(function () {
				$ps.update();
			});
		}
	};
	
	qodefCore.qodefPerfectScrollbar = qodefPerfectScrollbar;
	
	var qodefInlinePageStyle = {
		init: function () {
			this.holder = $('#neobeat-core-page-inline-style');
			
			if (this.holder.length) {
				var style = this.holder.data('style');
				
				if (style.length) {
					$('head').append('<style type="text/css">' + style + '</style>');
				}
			}
		}
	};
	
	var qodefBlur = {
		init: function (trigger, target, amount, step) {
			var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
					window.webkitRequestAnimationFrame || window.msRequestAnimationFrame,
				cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame;
			
			trigger = trigger ? trigger : '.qodef--enabled-blur .qodef-e-blur-trigger';
			target = target ? target : '.qodef-e-blur-target img';
			amount = amount ? amount : 5;
			step = step ? step : 0.05;
			
			$(trigger).on('mouseenter', function() {
				var item = $(this),
					temp,
					deviation = 0;
				
				requestAnimationFrame(function effect() {
					var value = amount*(Math.sin(deviation+=step)+1/amount);
					if (Math.round(temp) != 0 ) {
						item.find(target).css({
							'filter': 'blur('+value+'px)'
						});
						
						temp = value;
						
						if (Math.round(temp) <= amount + 1/amount ){
							requestAnimationFrame(effect);
						} else {
							cancelAnimationFrame(effect);
							return false;
						}
					}
				});
				
				$(trigger).on('mouseleave', function() {
					
					requestAnimationFrame(function effectCancel() {
						var value = amount*(Math.sin(deviation-=1.5*step)+ 1/amount);
						
						if (Math.round(temp) != 0 ) {
							item.find(target).css({
								'filter': 'blur(' + value + 'px)'
							});
							
							temp = value;
							
							if (Math.round(temp) > 0 ) {
								requestAnimationFrame(effectCancel);
							} else {
								item.find(target).css({
									'filter': 'blur(0px)'
								});
								cancelAnimationFrame(effectCancel);
								return false;
							}
						}
					});
				});
			});
		}
	};
	
	qodefCore.qodefBlur = qodefBlur;
	
})(jQuery);

(function ($) {
	"use strict";
	
	$(document).ready(function () {
		qodefBackToTop.init();
	});
	
	var qodefBackToTop = {
		init: function () {
			this.holder = $('#qodef-back-to-top');
			
			if(this.holder.length) {
				// Scroll To Top
				this.holder.on('click', function (e) {
					e.preventDefault();
					qodefBackToTop.animateScrollToTop();
				});
				
				qodefBackToTop.showHideBackToTop();
				qodefBackToTop.changeSkin();
			}
		},
		animateScrollToTop: function() {
			var startPos = qodef.scroll,
				newPos = qodef.scroll,
				step = .9,
				animationFrameId;
			
			var startAnimation = function() {
				if (newPos === 0) return;
				newPos < 0.0001 ? newPos = 0 : null;
				var ease = qodefBackToTop.easingFunction((startPos - newPos) / startPos);
				$('html, body').scrollTop(startPos - (startPos - newPos) * ease);
				newPos = newPos * step;
				
				animationFrameId = requestAnimationFrame(startAnimation)
			}
			startAnimation();
			$(window).one('wheel touchstart', function() {
				cancelAnimationFrame(animationFrameId);
			});
		},
		easingFunction: function(n) {
			return 0 == n ? 0 : Math.pow(1024, n - 1);
		},
		showHideBackToTop: function () {
			$(window).scroll(function () {
				var $thisItem = $(this),
					b = $thisItem.scrollTop(),
					c = $thisItem.height(),
					d;
				
				if (b > 0) {
					d = b + c / 2;
				} else {
					d = 1;
				}
				
				if (d < 1e3) {
					qodefBackToTop.addClass('off');
				} else {
					qodefBackToTop.addClass('on');
				}
			});
		},
		addClass: function (a) {
			this.holder.removeClass('qodef--off qodef--on');
			
			if (a === 'on') {
				this.holder.addClass('qodef--on');
			} else {
				this.holder.addClass('qodef--off');
			}
		},
		changeSkin: function (){
			var btt = $('#qodef-back-to-top'),
				skinElements = $('.qodef-row-btt-light, #qodef-page-footer:not(.qodef-footer--light)'),
				skinSet = false,
				skinTrigger = new Array();
			
			//Control button skin
			var bttSkin = function() {
				if (skinElements.length) {
					skinElements.each(function(i){
						var skinElement = $(this);
						
						if (qodef.scroll + btt.position().top >= skinElement.offset().top && qodef.scroll + btt.position().top <= skinElement.offset().top + skinElement.outerHeight()) {
							skinTrigger[i] = true;
						} else {
							skinTrigger[i] = false;
						}
					});
					
					if (jQuery.inArray(true, skinTrigger) != -1) {
						if (!skinSet) {
							btt.addClass('qodef-light');
							skinSet = true;
						}
					} else {
						if (skinSet) {
							btt.removeClass('qodef-light');
							skinSet = false;
						}
					}
				}
			}
			
			if (btt.length && skinElements.length) {
				$(window).scroll(function() {
					bttSkin();
				});
			}
		}
	};
	
})(jQuery);

(function ($) {
	"use strict";
	
	$(document).ready(function () {
		qodefFullscreenMenu.init();
	});
	
	var qodefFullscreenMenu = {
		init: function () {
			var $fullscreenMenuOpener = $('a.qodef-fullscreen-menu-opener'),
				$menuItems = $('.qodef-fullscreen-menu-holder nav ul li a');
			
			// Open popup menu
			$fullscreenMenuOpener.on('click', function (e) {
				e.preventDefault();
				
				if (!qodef.body.hasClass('qodef-fullscreen-menu--opened')) {
					qodefFullscreenMenu.openFullscreen();
					$(document).keyup(function (e) {
						if (e.keyCode === 27) {
							qodefFullscreenMenu.closeFullscreen();
						}
					});
				} else {
					qodefFullscreenMenu.closeFullscreen();
				}
			});
			
			//open dropdowns
			$menuItems.on('tap click', function (e) {
				var $thisItem = $(this);
				if ($thisItem.parent().hasClass('menu-item-has-children')) {
					e.preventDefault();
					qodefFullscreenMenu.clickItemWithChild($thisItem);
				} else if (($(this).attr('href') !== "http://#") && ($(this).attr('href') !== "#")) {
					qodefFullscreenMenu.closeFullscreen();
				}
			});
		},
		openFullscreen: function () {
			qodef.body.removeClass('qodef-fullscreen-menu-animate--out').addClass('qodef-fullscreen-menu--opened qodef-fullscreen-menu-animate--in');
			qodefCore.qodefScroll.disable();
		},
		closeFullscreen: function () {
			qodef.body.removeClass('qodef-fullscreen-menu--opened qodef-fullscreen-menu-animate--in').addClass('qodef-fullscreen-menu-animate--out');
			qodefCore.qodefScroll.enable();
			$("nav.qodef-fullscreen-menu ul.sub_menu").slideUp(200);
		},
		clickItemWithChild: function (thisItem) {
			var $thisItemParent = thisItem.parent(),
				$thisItemSubMenu = $thisItemParent.find('.sub-menu').first();
			
			if ($thisItemSubMenu.is(':visible')) {
				$thisItemSubMenu.slideUp(300);
			} else {
				$thisItemSubMenu.slideDown(300);
				$thisItemParent.siblings().find('.sub-menu').slideUp(400);
			}
		}
	};
	
})(jQuery);
(function ($) {
    "use strict";
    
    $(document).ready(function () {
        qodefHeaderScrollAppearance.init();
    });
    
    var qodefHeaderScrollAppearance = {
        appearanceType: function () {
            return qodefCore.body.attr('class').indexOf('qodef-header-appearance--') !== -1 ? qodefCore.body.attr('class').match(/qodef-header-appearance--([\w]+)/)[1] : '';
        },
        init: function () {
            var appearanceType = this.appearanceType();
            
            if (appearanceType !== '' && appearanceType !== 'none') {
                qodefCore[appearanceType + "HeaderAppearance"]();
            }
        }
    };
    
})(jQuery);

(function ($) {
	"use strict";
	
	$(document).ready(function () {
		qodefNavMenu.init();
	});
	
	var qodefNavMenu = {
		init: function () {
			qodefNavMenu.dropdownBehavior();
			qodefNavMenu.wideDropdownPosition();
			qodefNavMenu.dropdownPosition();
		},
		dropdownBehavior: function () {
			var $menuItems = $('.qodef-header-navigation > ul > li');
			
			$menuItems.each(function () {
				var $thisItem = $(this);
				
				if ($thisItem.find('.qodef-drop-down-second').length) {
					$thisItem.waitForImages(function () {
						var $dropdownHolder = $thisItem.find('.qodef-drop-down-second'),
							$dropdownMenuItem = $dropdownHolder.find('.qodef-drop-down-second-inner ul'),
							dropDownHolderHeight = $dropdownMenuItem.outerHeight();
						
						if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) {
							$thisItem.on("touchstart mouseenter", function () {
								$dropdownHolder.css({
									'height': dropDownHolderHeight,
									'overflow': 'visible',
									'visibility': 'visible',
									'opacity': '1'
								});
							}).on("mouseleave", function () {
								$dropdownHolder.css({
									'height': '0px',
									'overflow': 'hidden',
									'visibility': 'hidden',
									'opacity': '0'
								});
							});
						} else {
							if (qodefCore.body.hasClass('qodef-drop-down-second--animate-height')) {
								var animateConfig = {
									interval: 0,
									over: function () {
										setTimeout(function () {
											$dropdownHolder.addClass('qodef-drop-down--start').css({
												'visibility': 'visible',
												'height': '0',
												'opacity': '1'
											});
											$dropdownHolder.stop().animate({
												'height': dropDownHolderHeight
											}, 400, 'easeInOutQuint', function () {
												$dropdownHolder.css('overflow', 'visible');
											});
										}, 100);
									},
									timeout: 100,
									out: function () {
										$dropdownHolder.stop().animate({
											'height': '0',
											'opacity': 0
										}, 100, function () {
											$dropdownHolder.css({
												'overflow': 'hidden',
												'visibility': 'hidden'
											});
										});
										
										$dropdownHolder.removeClass('qodef-drop-down--start');
									}
								};
								
								$thisItem.hoverIntent(animateConfig);
							} else {
								var config = {
									interval: 0,
									over: function () {
										setTimeout(function () {
											$dropdownHolder.addClass('qodef-drop-down--start').stop().css({'height': dropDownHolderHeight});
										}, 150);
									},
									timeout: 150,
									out: function () {
										$dropdownHolder.stop().css({'height': '0'}).removeClass('qodef-drop-down--start');
									}
								};
								
								$thisItem.hoverIntent(config);
							}
						}
					});
				}
			});
		},
		wideDropdownPosition: function () {
			var $menuItems = $(".qodef-header-navigation > ul > li.qodef-menu-item--wide");
			
			if ($menuItems.length) {
				$menuItems.each(function () {
					var $menuItem = $(this);
					var $menuItemSubMenu = $menuItem.find('.qodef-drop-down-second');
					
					if ($menuItemSubMenu.length) {
						$menuItemSubMenu.css('left', 0);
						
						var leftPosition = $menuItemSubMenu.offset().left;
						
						if (qodefCore.body.hasClass('qodef--boxed')) {
							//boxed layout case
							var boxedWidth = $('.qodef--boxed #qodef-page-wrapper').outerWidth();
							leftPosition = leftPosition - (qodefCore.windowWidth - boxedWidth) / 2;
							$menuItemSubMenu.css({'left': -leftPosition, 'width': boxedWidth});
							
						} else if (qodefCore.body.hasClass('qodef-drop-down-second--full-width')) {
							//wide dropdown full width case
							$menuItemSubMenu.css({'left': -leftPosition});
						}
						else {
							//wide dropdown in grid case
							$menuItemSubMenu.css({'left': -leftPosition + (qodefCore.windowWidth - $menuItemSubMenu.width()) / 2});
						}
					}
				});
			}
		},
		dropdownPosition: function () {
			var $menuItems = $('.qodef-header-navigation > ul > li.qodef-menu-item--narrow.menu-item-has-children');
			
			if ($menuItems.length) {
				$menuItems.each(function () {
					var $thisItem = $(this),
						menuItemPosition = $thisItem.offset().left,
						$dropdownHolder = $thisItem.find('.qodef-drop-down-second'),
						$dropdownMenuItem = $dropdownHolder.find('.qodef-drop-down-second-inner ul'),
						dropdownMenuWidth = $dropdownMenuItem.outerWidth(),
						menuItemFromLeft = $(window).width() - menuItemPosition;
					
					if (qodef.body.hasClass('qodef--boxed')) {
						//boxed layout case
						var boxedWidth = $('.qodef--boxed #qodef-page-wrapper').outerWidth();
						menuItemFromLeft = boxedWidth - menuItemPosition;
					}
					
					var dropDownMenuFromLeft;
					
					if ($thisItem.find('li.menu-item-has-children').length > 0) {
						dropDownMenuFromLeft = menuItemFromLeft - dropdownMenuWidth;
					}
					
					$dropdownHolder.removeClass('qodef-drop-down--right');
					$dropdownMenuItem.removeClass('qodef-drop-down--right');
					if (menuItemFromLeft < dropdownMenuWidth || dropDownMenuFromLeft < dropdownMenuWidth) {
						$dropdownHolder.addClass('qodef-drop-down--right');
						$dropdownMenuItem.addClass('qodef-drop-down--right');
					}
				});
			}
		}
	};
	
})(jQuery);
(function ($) {
	"use strict";
	
	$(document).ready(function () {
		qodefSideArea.init();
	});
	
	var qodefSideArea = {
		init: function () {
			var $sideAreaOpener = $('a.qodef-side-area-opener'),
				$sideAreaClose = $('#qodef-side-area-close'),
				$sideArea = $('#qodef-side-area');
				qodefSideArea.openerHoverColor($sideAreaOpener);
			// Open Side Area
			$sideAreaOpener.on('click', function (e) {
				e.preventDefault();
				
				if (!qodef.body.hasClass('qodef-side-area--opened')) {
					qodefSideArea.openSideArea();
					
					$(document).keyup(function (e) {
						if (e.keyCode === 27) {
							qodefSideArea.closeSideArea();
						}
					});
				} else {
					qodefSideArea.closeSideArea();
				}
			});
			
			$sideAreaClose.on('click', function (e) {
				e.preventDefault();
				qodefSideArea.closeSideArea();
			});
			
			if ($sideArea.length && typeof window.qodefCore.qodefPerfectScrollbar === 'object') {
				window.qodefCore.qodefPerfectScrollbar.init($sideArea);
			}
		},
		openSideArea: function () {
			var $wrapper = $('#qodef-page-wrapper');
			var currentScroll = $(window).scrollTop();

			$('.qodef-side-area-cover').remove();
			$wrapper.prepend('<div class="qodef-side-area-cover"/>');
			qodef.body.removeClass('qodef-side-area-animate--out').addClass('qodef-side-area--opened qodef-side-area-animate--in');

			$('.qodef-side-area-cover').on('click', function (e) {
				e.preventDefault();
				qodefSideArea.closeSideArea();
			});

			$(window).scroll(function () {
				if (Math.abs(qodef.scroll - currentScroll) > 400) {
					qodefSideArea.closeSideArea();
				}
			});

		},
		closeSideArea: function () {
			qodef.body.removeClass('qodef-side-area--opened qodef-side-area-animate--in').addClass('qodef-side-area-animate--out');
		},
		openerHoverColor: function ($opener) {
			if (typeof $opener.data('hover-color') !== 'undefined') {
				var hoverColor = $opener.data('hover-color');
				var originalColor = $opener.css('color');
				
				$opener.on('mouseenter', function () {
					$opener.css('color', hoverColor);
				}).on('mouseleave', function () {
					$opener.css('color', originalColor);
				});
			}
		}
	};
	
})(jQuery);

(function ($) {
    "use strict";

    $(document).ready(function () {
        qodefMobileHeaderAppearance.init();
    });

    /*
     **	Init mobile header functionality
     */
    var qodefMobileHeaderAppearance = {
        init: function () {
            if (qodef.body.hasClass('qodef-mobile-header-appearance--sticky')) {

                var docYScroll1 = qodef.scroll,
                    displayAmount = qodefGlobal.vars.mobileHeaderHeight + qodefGlobal.vars.adminBarHeight,
                    $pageOuter = $('#qodef-page-outer');

                qodefMobileHeaderAppearance.showHideMobileHeader(docYScroll1, displayAmount, $pageOuter);
                $(window).scroll(function () {
                    qodefMobileHeaderAppearance.showHideMobileHeader(docYScroll1, displayAmount, $pageOuter);
                    docYScroll1 = qodef.scroll;
                });

                $(window).resize(function () {
                    $pageOuter.css('padding-top', 0);
                    qodefMobileHeaderAppearance.showHideMobileHeader(docYScroll1, displayAmount, $pageOuter);
                });
            }
        },
        showHideMobileHeader: function(docYScroll1, displayAmount,$pageOuter){
            if(qodef.windowWidth <= 1024) {
                if (qodef.scroll > displayAmount * 2) {
                    //set header to be fixed
                    qodef.body.addClass('qodef-mobile-header--sticky');

                    //add transition to it
                    setTimeout(function () {
                        qodef.body.addClass('qodef-mobile-header--sticky-animation');
                    }, 300); //300 is duration of sticky header animation

                    //add padding to content so there is no 'jumping'
                    $pageOuter.css('padding-top', qodefGlobal.vars.mobileHeaderHeight);
                } else {
                    //unset fixed header
                    qodef.body.removeClass('qodef-mobile-header--sticky');

                    //remove transition
                    setTimeout(function () {
                        qodef.body.removeClass('qodef-mobile-header--sticky-animation');
                    }, 300); //300 is duration of sticky header animation

                    //remove padding from content since header is not fixed anymore
                    $pageOuter.css('padding-top', 0);
                }

                if ((qodef.scroll > docYScroll1 && qodef.scroll > displayAmount) || (qodef.scroll < displayAmount * 3)) {
                    //show sticky header
                    qodef.body.removeClass('qodef-mobile-header--sticky-display');
                } else {
                    //hide sticky header
                    qodef.body.addClass('qodef-mobile-header--sticky-display');
                }
            }
        }
    };

})(jQuery);
(function ($) {
	"use strict";
	
	$(window).on('elementor/frontend/init', function() {
		var isEditMode = Boolean( elementorFrontend.isEditMode() );
		if( isEditMode) {
			qodefSpinner.fadeOutLoader($('#qodef-page-spinner:not(.qodef--custom-spinner)'));
		}
	});
	
	$(document).ready(function () {
		qodefSpinner.init();
	});
	
	var qodefSpinner = {
		init: function () {
			this.holder = $('#qodef-page-spinner:not(.qodef--custom-spinner)');
			
			if (this.holder.length) {
				qodefSpinner.animateSpinner(this.holder);
			}
		},
		animateSpinner: function ($holder) {
			if ($holder.hasClass('qodef-layout--predefined')) {
				setTimeout(function () {
					$holder.find('.qodef-m-predefined').addClass('qodef-visible');
				}, 10);
				
				setTimeout(function () {
					$holder.find('.qodef-m-predefined-spinner-image img').css({filter: 'none'});
				}, 20);
			}
			
			var	mainRevHolder = $('#qodef-main-rev-holder');
			
			$(window).on('load', function () {
				qodefSpinner.fadeOutLoader($holder);
				
				if(mainRevHolder.length) {
					setTimeout(function() {
						mainRevHolder.find('rs-module').revstart();
					}, 1800);
				}
			});
		},
		fadeOutLoader: function ($holder, speed, delay, easing) {
			speed = speed ? speed : 900;
			delay = delay ? delay : 1700;
			easing = easing ? easing : 'swing';
			
			$holder.delay(delay).fadeOut(speed, easing);
			
			$(window).on('bind', 'pageshow', function (event) {
				if (event.originalEvent.persisted) {
					$holder.fadeOut(speed, easing);
				}
			});
		}
	};
	
})(jQuery);
(function ($) {
	"use strict";
	
	$(window).on('load',function () {
		qodefParallaxBackground.init();
	});
	
	/**
	 * Init global parallax background functionality
	 */
	var qodefParallaxBackground = {
		init: function (settings) {
			this.$sections = $('.qodef-parallax');
			
			// Allow overriding the default config
			$.extend(this.$sections, settings);
			
			var isSupported = !qodefCore.html.hasClass('touchevents') && !qodefCore.body.hasClass('qodef-browser--edge') && !qodefCore.body.hasClass('qodef-browser--ms-explorer');
			
			if (this.$sections.length && isSupported) {
				this.$sections.each(function () {
					qodefParallaxBackground.ready($(this));
				});
			}
		},
		ready: function ($section) {
			$section.$imgHolder = $section.find('.qodef-parallax-img-holder');
			$section.$imgWrapper = $section.find('.qodef-parallax-img-wrapper');
			$section.$img = $section.find('img');
			
			var h = $section.height(),
				imgWrapperH = $section.$imgWrapper.height();
			
			$section.movement = 100 * (imgWrapperH - h) / h / 2; //percentage (divided by 2 due to absolute img centering in CSS)
			
			$section.buffer = window.pageYOffset;
			$section.scrollBuffer = null;
			
			
			//calc and init loop
			requestAnimationFrame(function () {
				$section.$imgHolder.animate({opacity: 1}, 100);
				qodefParallaxBackground.calc($section);
				qodefParallaxBackground.loop($section);
			});
			
			//recalc
			$(window).on('resize', function () {
				qodefParallaxBackground.calc($section);
			});
		},
		calc: function ($section) {
			var wH = $section.$imgWrapper.height(),
				wW = $section.$imgWrapper.width();
			
			if ($section.$img.width() < wW) {
				$section.$img.css({
					'width': '100%',
					'height': 'auto'
				});
			}
			
			if ($section.$img.height() < wH) {
				$section.$img.css({
					'height': '100%',
					'width': 'auto',
					'max-width': 'unset'
				});
			}
		},
		loop: function ($section) {
			if ($section.scrollBuffer === Math.round(window.pageYOffset)) {
				requestAnimationFrame(function () {
					qodefParallaxBackground.loop($section);
				}); //repeat loop
				return false; //same scroll value, do nothing
			} else {
				$section.scrollBuffer = Math.round(window.pageYOffset);
			}
			
			var wH = window.outerHeight,
				sTop = $section.offset().top,
				sH = $section.height();
			
			if ($section.scrollBuffer + wH * 1.2 > sTop && $section.scrollBuffer < sTop + sH) {
				var delta = (Math.abs($section.scrollBuffer + wH - sTop) / (wH + sH)).toFixed(4), //coeff between 0 and 1 based on scroll amount
					yVal = (delta * $section.movement * 1.6).toFixed(4); // 1.5 set to speed up parallax
				
				if ($section.buffer !== delta) {
					$section.$imgWrapper.css('transform', 'translate3d(0,' + yVal + '%, 0)');
				}
				
				$section.buffer = delta;
			}
			
			requestAnimationFrame(function () {
				qodefParallaxBackground.loop($section);
			}); //repeat loop
		}
	};
	
	qodefCore.qodefParallaxBackground = qodefParallaxBackground;
	
})(jQuery);
(function ($) {
	"use strict";
	
	$(document).ready(function () {
		qodefWebsiteSong.init();
	});
	
	var qodefWebsiteSong = {
		init: function () {
			var playButton = $('.qodef-website-song');
			
			var audioTrack = playButton.find('audio').get(0);
			
			if (playButton.length){
				playButton.each(function(){
					
					playButton.on('click',function(){
						if(playButton.hasClass('qodef-track-in-progress')){
							audioTrack.pause();
							playButton.addClass('qodef-track-paused').removeClass('qodef-track-in-progress');
							$(".qodef-equalizer-bar").addClass("noAnim");
						}else if(playButton.hasClass('qodef-track-paused')) {
							audioTrack.play();
							playButton.addClass('qodef-track-playing qodef-track-in-progress').removeClass('qodef-track-paused');
							$(".qodef-equalizer-bar").removeClass("noAnim");
						}else{
							audioTrack.play();
							playButton.addClass('qodef-track-playing qodef-track-in-progress');
							$(".qodef-equalizer-bar").removeClass("noAnim");
						}
					});
					
					playButton.find('audio').on("bind","ended", function(){
						audioTrack.play();
					});
				});
				
				qodefWebsiteSong.changeSkin();
			}
		},
		changeSkin: function (){
			var btt = $('.qodef-m-website-song'),
				skinElements = $('.qodef-row-btt-light, #qodef-page-footer:not(.qodef-footer--light)'),
				skinSet = false,
				skinTrigger = new Array();
			
			//Control button skin
			var bttSkin = function() {
				if (skinElements.length) {
					skinElements.each(function(i){
						var skinElement = $(this);
						
						if (qodef.scroll + btt.position().top >= skinElement.offset().top && qodef.scroll + btt.position().top <= skinElement.offset().top + skinElement.outerHeight()) {
							skinTrigger[i] = true;
						} else {
							skinTrigger[i] = false;
						}
					});
					
					if (jQuery.inArray(true, skinTrigger) != -1) {
						if (!skinSet) {
							btt.addClass('qodef-light');
							skinSet = true;
						}
					} else {
						if (skinSet) {
							btt.removeClass('qodef-light');
							skinSet = false;
						}
					}
				}
			}
			
			if (btt.length && skinElements.length) {
				$(document).ready(function (){
					bttSkin();
				});
				$(window).scroll(function() {
					bttSkin();
				});
			}
		}
	};
	
	
})(jQuery);
(function ($) {
	"use strict";
	
	qodefCore.shortcodes.neobeat_core_accordion = {};
	
	$(document).ready(function () {
		qodefAccordion.init();
	});
	
	var qodefAccordion = {
		init: function () {
			this.holder = $('.qodef-accordion');
			
			if (this.holder.length) {
				this.holder.each(function () {
					var $thisHolder = $(this);
					
					if ($thisHolder.hasClass('qodef-behavior--accordion')) {
						qodefAccordion.initAccordion($thisHolder);
					}
					
					if ($thisHolder.hasClass('qodef-behavior--toggle')) {
						qodefAccordion.initToggle($thisHolder);
					}
					
					$thisHolder.addClass('qodef--init');
				});
			}
		},
		initAccordion: function ($accordion) {
			$accordion.accordion({
				animate: "swing",
				collapsible: true,
				active: 0,
				icons: "",
				heightStyle: "content"
			});
		},
		initToggle: function ($toggle) {
			var $toggleAccordionTitle = $toggle.find('.qodef-accordion-title'),
				$toggleAccordionContent = $toggleAccordionTitle.next();
			
			$toggle.addClass("accordion ui-accordion ui-accordion-icons ui-widget ui-helper-reset");
			$toggleAccordionTitle.addClass("ui-accordion-header ui-state-default ui-corner-top ui-corner-bottom");
			$toggleAccordionContent.addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").hide();
			
			$toggleAccordionTitle.each(function () {
				var $thisTitle = $(this);
				
				$thisTitle.hover(function () {
					$thisTitle.toggleClass("ui-state-hover");
				});
				
				$thisTitle.on('click', function () {
					$thisTitle.toggleClass('ui-accordion-header-active ui-state-active ui-state-default ui-corner-bottom');
					$thisTitle.next().toggleClass('ui-accordion-content-active').slideToggle(400);
				});
			});
		}
	};
	
	qodefCore.shortcodes.neobeat_core_accordion.qodefAccordion = qodefAccordion;
	
})(jQuery);
(function ($) {
	"use strict";
	
	qodefCore.shortcodes.neobeat_core_button = {};
	
	$(document).ready(function () {
		qodefButton.init();
	});
	
	var qodefButton = {
		init: function () {
			this.buttons = $('.qodef-button');
			
			if (this.buttons.length) {
				this.buttons.each(function () {
					var $thisButton = $(this);
					
					qodefButton.buttonHoverColor($thisButton);
					qodefButton.buttonHoverBgColor($thisButton);
					qodefButton.buttonHoverBorderColor($thisButton);
					qodefButton.buttonHoverShadowColor($thisButton);
				});
			}
		},
		buttonHoverColor: function ($button) {
			if (typeof $button.data('hover-color') !== 'undefined') {
				var hoverColor = $button.data('hover-color');
				var originalColor = $button.css('color');
				
				$button.on('mouseenter', function () {
					qodefButton.changeColor($button, 'color', hoverColor);
				});
				$button.on('mouseleave', function () {
					qodefButton.changeColor($button, 'color', originalColor);
				});
			}
		},
		buttonHoverBgColor: function ($button) {
			if (typeof $button.data('hover-background-color') !== 'undefined') {
				var hoverBackgroundColor = $button.data('hover-background-color');
				var originalBackgroundColor = $button.css('background-color');
				
				$button.on('mouseenter', function () {
					qodefButton.changeColor($button, 'background-color', hoverBackgroundColor);
				});
				$button.on('mouseleave', function () {
					qodefButton.changeColor($button, 'background-color', originalBackgroundColor);
				});
			}
		},
		buttonHoverBorderColor: function ($button) {
			if (typeof $button.data('hover-border-color') !== 'undefined') {
				var hoverBorderColor = $button.data('hover-border-color');
				var originalBorderColor = $button.css('borderTopColor');
				
				$button.on('mouseenter', function () {
					qodefButton.changeColor($button, 'border-color', hoverBorderColor);
				});
				$button.on('mouseleave', function () {
					qodefButton.changeColor($button, 'border-color', originalBorderColor);
				});
			}
		},
		buttonHoverShadowColor: function ($button) {
			if (typeof $button.data('shadow-color') !== 'undefined') {
				var ShadowColor = $button.data('shadow-color');
				var initialShadow = $button.css('box-shadow');
				
				$button.on('mouseenter', function () {
					$button.css('box-shadow', '0px 10px 25px 0px ' + ShadowColor);
				});
				$button.on('mouseleave', function () {
					$button.css('box-shadow', initialShadow );
				});
			}
		},
		changeColor: function ($button, cssProperty, color) {
			$button.css(cssProperty, color);
		}
	};
	
	qodefCore.shortcodes.neobeat_core_button.qodefButton = qodefButton;
	
	
})(jQuery);
(function ($) {
	"use strict";
	
	qodefCore.shortcodes.neobeat_core_countdown = {};
	
	$(document).ready(function () {
		qodefCountdown.init();
	});
	
	var qodefCountdown = {
		init: function () {
			this.countdowns = $('.qodef-countdown');
			
			if (this.countdowns.length) {
				this.countdowns.each(function () {
					var $thisCountdown = $(this),
						$countdownElement = $thisCountdown.find('.qodef-m-date'),
						options = qodefCountdown.generateOptions($thisCountdown);
					
					qodefCountdown.initCountdown($countdownElement, options);
				});
			}
		},
		generateOptions: function($countdown) {
			var options = {};
			options.date = typeof $countdown.data('date') !== 'undefined' ? $countdown.data('date') : null;
			
			options.dayLabel = typeof $countdown.data('day-label') !== 'undefined' ? $countdown.data('day-label') : '';
			options.dayLabelPlural = typeof $countdown.data('day-label-plural') !== 'undefined' ? $countdown.data('day-label-plural') : '';
			
			options.hourLabel = typeof $countdown.data('hour-label') !== 'undefined' ? $countdown.data('hour-label') : '';
			options.hourLabelPlural = typeof $countdown.data('hour-label-plural') !== 'undefined' ? $countdown.data('hour-label-plural') : '';
			
			options.minuteLabel = typeof $countdown.data('minute-label') !== 'undefined' ? $countdown.data('minute-label') : '';
			options.minuteLabelPlural = typeof $countdown.data('minute-label-plural') !== 'undefined' ? $countdown.data('minute-label-plural') : '';
			
			options.secondLabel = typeof $countdown.data('second-label') !== 'undefined' ? $countdown.data('second-label') : '';
			options.secondLabelPlural = typeof $countdown.data('second-label-plural') !== 'undefined' ? $countdown.data('second-label-plural') : '';
			
			return options;
		},
		initCountdown: function ($countdownElement, options) {
			var $dayHTML = '<span class="qodef-digit-wrapper"><span class="qodef-digit">%D</span><span class="qodef-label">' + '%!D:' + options.dayLabel + ',' + options.dayLabelPlural + ';</span></span>';
			var $hourHTML = '<span class="qodef-digit-wrapper"><span class="qodef-digit">%H</span><span class="qodef-label">' + '%!H:' + options.hourLabel + ',' + options.hourLabelPlural + ';</span></span>';
			var $minuteHTML = '<span class="qodef-digit-wrapper"><span class="qodef-digit">%M</span><span class="qodef-label">' + '%!M:' + options.minuteLabel + ',' + options.minuteLabelPlural + ';</span></span>';
			var $secondHTML = '<span class="qodef-digit-wrapper"><span class="qodef-digit">%S</span><span class="qodef-label">' + '%!S:' + options.secondLabel + ',' + options.secondLabelPlural + ';</span></span>';
			
			$countdownElement.countdown(options.date, function(event) {
				$(this).html(event.strftime($dayHTML + $hourHTML + $minuteHTML + $secondHTML));
			});
		}
	};
	
	qodefCore.shortcodes.neobeat_core_countdown.qodefCountdown  = qodefCountdown;
	
	
})(jQuery);
(function ($) {
	"use strict";
	
	qodefCore.shortcodes.neobeat_core_counter = {};
	
	$(document).ready(function () {
		qodefCounter.init();
	});
	
	var qodefCounter = {
		init: function () {
			this.counters = $('.qodef-counter');
			
			if (this.counters.length) {
				this.counters.each(function () {
					var $thisCounter = $(this),
						$counterElement = $thisCounter.find('.qodef-m-digit'),
						options = qodefCounter.generateOptions($thisCounter);
					
					qodefCounter.counterScript($counterElement, options);
				});
			}
		},
		generateOptions: function($counter) {
			var options = {};
			options.start = typeof $counter.data('start-digit') !== 'undefined' && $counter.data('start-digit') !== '' ? $counter.data('start-digit') : 0;
			options.end = typeof $counter.data('end-digit') !== 'undefined' && $counter.data('end-digit') !== '' ? $counter.data('end-digit') : null;
			options.step = typeof $counter.data('step-digit') !== 'undefined' && $counter.data('step-digit') !== '' ? $counter.data('step-digit') : 1;
			options.delay = typeof $counter.data('step-delay') !== 'undefined' && $counter.data('step-delay') !== '' ? parseInt( $counter.data('step-delay'), 10 ) : 100;
			options.txt = typeof $counter.data('digit-label') !== 'undefined' && $counter.data('digit-label') !== '' ? $counter.data('digit-label') : '';
			
			return options;
		},
		counterScript: function ($counterElement, options) {
			var defaults = {
				start: 0,
				end: null,
				step: 1,
				delay: 100,
				txt: ""
			};
			
			var settings = $.extend(defaults, options || {});
			var nb_start = settings.start;
			var nb_end = settings.end;
			
			$counterElement.text(nb_start + settings.txt);
			
			var counter = function() {
				// Definition of conditions of arrest
				if (nb_end !== null && nb_start >= nb_end) {
					return;
				}
				// incrementation
				nb_start = nb_start + settings.step;
				
				if( nb_start >= nb_end ) {
					nb_start = nb_end;
				}
				// display
				$counterElement.text(nb_start + settings.txt);
			};
			
			// Timer
			// Launches every "settings.delay"
			setInterval(counter, settings.delay);
		}
	};
	
	qodefCore.shortcodes.neobeat_core_counter.qodefCounter  = qodefCounter;
	
})(jQuery);
(function ($) {
	"use strict";
	
	qodefCore.shortcodes.neobeat_core_custom_font = {};
	
	$(document).ready(function () {
		qodefCustomFont.init();
	});
	
	var qodefCustomFont = {
		init: function () {
			this.holder = $('.qodef-custom-font.qodef-has-animation');
			
			if (this.holder.length) {
				this.holder.each(function () {
					qodefCustomFont.qodefCustomFontAppear($(this));
				});
			}
		},
		qodefCustomFontAppear: function (holder) {
			holder.appear(function() {
				holder.addClass('qodef--appear');
			}, { accX: 0, accY: 100});
		}
	};
	
	qodefCore.shortcodes.neobeat_core_custom_font.qodefCustomFont  = qodefCustomFont;
	
})(jQuery);
(function ($) {
	"use strict";
	
	qodefCore.shortcodes.neobeat_core_google_map = {};
	
	$(document).ready(function () {
		qodefGoogleMap.init();
	});
	
	var qodefGoogleMap = {
		init: function () {
			this.holder = $('.qodef-google-map');
			
			if (this.holder.length) {
				this.holder.each(function () {
					if (qodefCore.qodefGoogleMap !== undefined) {
						qodefCore.qodefGoogleMap.initMap($(this).find('.qodef-m-map'));
					}
				});
			}
		}
	};
	
	qodefCore.shortcodes.neobeat_core_google_map.qodefGoogleMap  = qodefGoogleMap;
	
})(jQuery);
(function ($) {
    "use strict";
	
	qodefCore.shortcodes.neobeat_core_icon = {};
 
	$(document).ready(function () {
        qodefIcon.init();
    });

    var qodefIcon = {
        init: function () {
            this.icons = $('.qodef-icon-holder');

            if (this.icons.length) {
                this.icons.each(function () {
                    var $thisIcon = $(this);
	
	                qodefIcon.iconStroke($thisIcon);
                    qodefIcon.iconHoverColor($thisIcon);
                    qodefIcon.iconHoverBgColor($thisIcon);
                    qodefIcon.iconHoverBorderColor($thisIcon);
                });
            }
        },
	    iconStroke: function ($iconHolder) {
		    if ( $iconHolder.hasClass('qodef-has--circle-hover')) {
			    var spanHolder = $iconHolder.find('span');
			    var originalColor = spanHolder.css('color');
			    var hoverColor = $iconHolder.data('hover-color');
			    var svgHolder = $iconHolder.find('svg');
			    var radius = svgHolder.css('width').replace(/[^-\d\.]/g, '');//without px
			    var offset = Math.ceil(radius * 3.15);//round num of 2r*pi
			
			    qodefIcon.changeStroke(svgHolder, offset);
			    setTimeout(function(){
				                qodefIcon.changeColor(svgHolder, 'opacity' , .5);
                            }, 500);
                
			    if (typeof $iconHolder.data('hover-color') !== 'undefined') {
				    $iconHolder.on('mouseenter', function () {
					    qodefIcon.changeColor(svgHolder, 'color', hoverColor);
				    });
				    $iconHolder.on('mouseleave', function () {
					    qodefIcon.changeColor(svgHolder, 'color', originalColor);
				    });
			    }
		    }
	    },
        iconHoverColor: function ($iconHolder) {
            if (typeof $iconHolder.data('hover-color') !== 'undefined') {
                var spanHolder = $iconHolder.find('span');
                var originalColor = spanHolder.css('color');
                var hoverColor = $iconHolder.data('hover-color');

                $iconHolder.on('mouseenter', function () {
                    qodefIcon.changeColor(spanHolder, 'color', hoverColor);
                });
                $iconHolder.on('mouseleave', function () {
                    qodefIcon.changeColor(spanHolder, 'color', originalColor);
                });
            }
        },
        iconHoverBgColor: function ($iconHolder) {
            if (typeof $iconHolder.data('hover-background-color') !== 'undefined') {
                var hoverBackgroundColor = $iconHolder.data('hover-background-color');
                var originalBackgroundColor = $iconHolder.css('background-color');

                $iconHolder.on('mouseenter', function () {
                    qodefIcon.changeColor($iconHolder, 'background-color', hoverBackgroundColor);
                });
                $iconHolder.on('mouseleave', function () {
                    qodefIcon.changeColor($iconHolder, 'background-color', originalBackgroundColor);
                });
            }
        },
        iconHoverBorderColor: function ($iconHolder) {
            if (typeof $iconHolder.data('hover-border-color') !== 'undefined') {
                var hoverBorderColor = $iconHolder.data('hover-border-color');
                var originalBorderColor = $iconHolder.css('borderTopColor');

                $iconHolder.on('mouseenter', function () {
                    qodefIcon.changeColor($iconHolder, 'border-color', hoverBorderColor);
                });
                $iconHolder.on('mouseleave', function () {
                    qodefIcon.changeColor($iconHolder, 'border-color', originalBorderColor);
                });
            }
        },
        changeColor: function (iconElement, cssProperty, color) {
            iconElement.css(cssProperty, color);
        },
	    changeStroke: function (iconElement, offset) {
		    iconElement.css({
			    'stroke-dashoffset' : offset,
			    'stroke-dasharray': offset
            });
	    },
    };
	
	qodefCore.shortcodes.neobeat_core_icon.qodefIcon = qodefIcon;
 
})(jQuery);
(function ($) {
	"use strict";
	
	qodefCore.shortcodes.neobeat_core_icon_with_text = {};
	
	qodefCore.shortcodes.neobeat_core_icon_with_text.qodefAppear = qodef.qodefAppear ;
	
})(jQuery);
(function ($) {
    "use strict";
	qodefCore.shortcodes.neobeat_core_image_gallery = {};
	qodefCore.shortcodes.neobeat_core_image_gallery.qodefSwiper = qodef.qodefSwiper;
	qodefCore.shortcodes.neobeat_core_image_gallery.qodefMasonryLayout = qodef.qodefMasonryLayout;
})(jQuery);
(function ($) {
    "use strict";

	qodefCore.shortcodes.neobeat_core_image_with_text = {};
    qodefCore.shortcodes.neobeat_core_image_with_text.qodefMagnificPopup = qodef.qodefMagnificPopup;
	qodefCore.shortcodes.neobeat_core_image_with_text.qodefAppear = qodef.qodefAppear ;

})(jQuery);
(function ($) {
	'use strict';
	
	qodefCore.shortcodes.neobeat_core_progress_bar = {};
	
	$(document).ready(function () {
		qodefProgressBar.init();
	});
	
	/**
	 * Init progress bar shortcode functionality
	 */
	var qodefProgressBar = {
		init: function () {
			this.holder = $('.qodef-progress-bar');
			
			if (this.holder.length) {
				this.holder.each(function () {
					var $thisHolder = $(this),
						layout = $thisHolder.data('layout');
					
					$thisHolder.appear(function () {
						$thisHolder.addClass('qodef--init');
						
						var $container = $thisHolder.find('.qodef-m-canvas'),
							data = qodefProgressBar.generateBarData($thisHolder, layout),
							number = $thisHolder.data('number') / 100;
						
						switch (layout) {
							case 'circle':
								qodefProgressBar.initCircleBar($container, data, number);
								break;
							case 'semi-circle':
								qodefProgressBar.initSemiCircleBar($container, data, number);
								break;
							case 'line':
								data = qodefProgressBar.generateLineData($thisHolder, number);
								qodefProgressBar.initLineBar($container, data);
								break;
							case 'custom':
								qodefProgressBar.initCustomBar($container, data, number);
								break;
						}
					});
				});
			}
		},
		generateBarData: function (thisBar, layout) {
			var activeWidth = thisBar.data('active-line-width');
			var activeColor = thisBar.data('active-line-color');
			var inactiveWidth = thisBar.data('inactive-line-width');
			var inactiveColor = thisBar.data('inactive-line-color');
			var easing = 'linear';
			var duration = typeof thisBar.data('duration') !== 'undefined' && thisBar.data('duration') !== '' ? parseInt(thisBar.data('duration'), 10) : 1600;
			var textColor = thisBar.data('text-color');
			
			return {
				strokeWidth: activeWidth,
				color: activeColor,
				trailWidth: inactiveWidth,
				trailColor: inactiveColor,
				easing: easing,
				duration: duration,
				svgStyle: {
					width: '100%',
					height: '100%'
				},
				text: {
					style: {
						color: textColor
					},
					autoStyleContainer: false
				},
				from: {
					color: inactiveColor
				},
				to: {
					color: activeColor
				},
				step: function (state, bar) {
					if (layout !== 'custom') {
						bar.setText(Math.round(bar.value() * 100) + '%');
					}
				}
			};
		},
		generateLineData: function (thisBar, number) {
			var height = thisBar.data('active-line-width');
			var activeColor = thisBar.data('active-line-color');
			var inactiveHeight = thisBar.data('inactive-line-width');
			var inactiveColor = thisBar.data('inactive-line-color');
			var duration = typeof thisBar.data('duration') !== 'undefined' && thisBar.data('duration') !== '' ? parseInt(thisBar.data('duration'), 10) : 1600;
			var textColor = thisBar.data('text-color');
			
			return {
				percentage: number * 100,
				duration: duration,
				fillBackgroundColor: activeColor,
				backgroundColor: inactiveColor,
				height: height,
				inactiveHeight: inactiveHeight,
				followText: thisBar.hasClass('qodef-percentage--floating'),
				textColor: textColor
			};
		},
		initCircleBar: function ($container, data, number) {
			var $bar = new ProgressBar.Circle($container[0], data);
			
			$bar.animate(number);
		},
		initSemiCircleBar: function ($container, data, number) {
			var $bar = new ProgressBar.SemiCircle($container[0], data);
			
			$bar.animate(number);
		},
		initCustomBar: function ($container, data, number) {
			var $bar = new ProgressBar.Path($container[0], data);
			$bar.set(0);
			
			$bar.animate(number);
		},
		initLineBar: function ($container, data) {
			$container.LineProgressbar(data);
		}
	};
	
	qodefCore.shortcodes.neobeat_core_progress_bar.qodefProgressBar = qodefProgressBar;
	
})(jQuery);
(function ($) {
	"use strict";

	qodefCore.shortcodes.neobeat_core_stacked_images = {};

	$(document).ready(function () {
		qodefStackedImages.init();
	});
	
	var qodefStackedImages = {
		init: function () {
			this.images = $('.qodef-stacked-images');
			
			if (this.images.length) {
				this.images.each(function () {
					var $thisImage = $(this);
					
					qodefStackedImages.animate($thisImage);
				});
			}
		},
		animate: function ($image) {
			
			var itemImage = $image.find('.qodef-m-images');
			$image.animate({opacity: 1}, 300);
			
			setTimeout(function () {
				$image.appear(function () {
					itemImage.addClass('qodef--appeared');
				});
			}, 200);
			
		}
	};

	qodefCore.shortcodes.neobeat_core_stacked_images.qodefStackedImages = qodefStackedImages;

})(jQuery);
(function ($) {
	"use strict";
	
	qodefCore.shortcodes.neobeat_core_tabs = {};
	
	$(document).ready(function () {
		qodefTabs.init();
	});
	
	var qodefTabs = {
		init: function () {
			this.holder = $('.qodef-tabs');
			
			if (this.holder.length) {
				this.holder.each(function () {
					qodefTabs.initTabs($(this));
				});
			}
		},
		initTabs: function ($tabs) {
			$tabs.children('.qodef-tabs-content').each(function (index) {
				index = index + 1;
				
				var $that = $(this),
					link = $that.attr('id'),
					$navItem = $that.parent().find('.qodef-tabs-navigation li:nth-child(' + index + ') a'),
					navLink = $navItem.attr('href');
				
				link = '#' + link;
				
				if (link.indexOf(navLink) > -1) {
					$navItem.attr('href', link);
				}
			});
			
			$tabs.addClass('qodef--init').tabs();
		}
	};
	
	qodefCore.shortcodes.neobeat_core_tabs.qodefTabs = qodefTabs;
	
})(jQuery);
(function ($) {
	"use strict";
	
	qodefCore.shortcodes.neobeat_core_textual_icon_list = {};
	
	$(document).ready(function () {
		qodefTextualIconList.init();
	});
	
	var qodefTextualIconList = {
		init: function () {
			this.icons = $('.qodef-textual-icon-list .qodef-grid-item-inner');
			
			if (this.icons.length) {
				this.icons.each(function () {
					var $thisIcon = $(this);
					
					qodefTextualIconList.iconHoverColor($thisIcon);
				});
			}
		},
		iconHoverColor: function ($iconHolder) {
			if (typeof $iconHolder.find('.qodef-m-icon').data('hover-color') !== 'undefined') {
				var $icon = $iconHolder.find('.qodef-m-icon');
				var originalColor = $icon.css('color');
				var hoverColor = $icon.data('hover-color');
				
				$iconHolder.on('mouseenter', function () {
					qodefTextualIconList.changeColor($icon, 'color', hoverColor);
				});
				$iconHolder.on('mouseleave', function () {
					qodefTextualIconList.changeColor($icon, 'color', originalColor);
				});
			}
		},
		changeColor: function (iconElement, cssProperty, color) {
			iconElement.css(cssProperty, color);
		},
	};
	
	qodefCore.shortcodes.neobeat_core_textual_icon_list.qodefTextualIconList = qodefTextualIconList;
	
})(jQuery);
(function ($) {
    "use strict";
	
	qodefCore.shortcodes.neobeat_vertical_split_slider = {};
 
	$(document).ready(function () {
        qodefVerticalSplitSlider.init();
    });

    var qodefVerticalSplitSlider = {
        init: function () {
            var $holder = $('.qodef-vertical-split-slider'),
                breakpoint = qodefVerticalSplitSlider.getBreakpoint($holder),
                initialHeaderStyle = '';

            if (qodef.body.hasClass('qodef-header--light')) {
                initialHeaderStyle = 'light';
            } else if (qodef.body.hasClass('qodef-header--dark')) {
                initialHeaderStyle = 'dark';
            }

            if ($holder.length) {
                $holder.multiscroll({
                    navigation: true,
                    navigationPosition: 'right',
                    afterRender: function () {
                        qodef.body.addClass('qodef-vertical-split-slider--initialized');
                        qodefVerticalSplitSlider.bodyClassHandler($('.ms-left .ms-section:first-child').data('header-skin'), initialHeaderStyle);
                    },
                    onLeave: function (index, nextIndex) {
                        qodefVerticalSplitSlider.bodyClassHandler($($('.ms-left .ms-section')[nextIndex - 1]).data('header-skin'), initialHeaderStyle);
                    }
                });

                $holder.height(qodef.windowHeight);
                qodefVerticalSplitSlider.buildAndDestroy(breakpoint);

                $(window).resize(function () {
                    qodefVerticalSplitSlider.buildAndDestroy(breakpoint);
                });
            }
        },
        getBreakpoint: function ($holder) {
            if ($holder.hasClass('qodef-disable-below--768')) {
                return 768;
            } else {
                return 1024;
            }
        },
        buildAndDestroy: function (breakpoint) {
            if (qodef.windowWidth <= breakpoint) {
                $.fn.multiscroll.destroy();
                $('html, body').css('overflow', 'initial');
                qodef.body.removeClass('qodef-vertical-split-slider--initialized');
            } else {
                $.fn.multiscroll.build();
                qodef.body.addClass('qodef-vertical-split-slider--initialized');
            }
        },
        bodyClassHandler: function (slideHeaderStyle, initialHeaderStyle) {
            if (slideHeaderStyle !== undefined && slideHeaderStyle !== '') {
                qodef.body.removeClass('qodef-header--light qodef-header--dark').addClass('qodef-header--' + slideHeaderStyle);
            } else if (initialHeaderStyle !== '') {
                qodef.body.removeClass('qodef-header--light qodef-header--dark').addClass('qodef-header--' + slideHeaderStyle);
            } else {
                qodef.body.removeClass('qodef-header--light qodef-header--dark');
            }
        }
    };
	
	qodefCore.shortcodes.neobeat_vertical_split_slider.qodefVerticalSplitSlider = qodefVerticalSplitSlider;
 
})(jQuery);
(function ($) {
    "use strict";

	qodefCore.shortcodes.masterds_core_video_button = {};
    qodefCore.shortcodes.masterds_core_video_button.qodefMagnificPopup = qodef.qodefMagnificPopup;

})(jQuery);
(function ($) {
	'use strict';
	
	qodefCore.shortcodes.neobeat_core_video_slider = {};
	qodefCore.shortcodes.neobeat_core_video_slider.qodefSwiper = qodef.qodefSwiper;
	
})(jQuery);
(function ($) {
    "use strict";
	
	qodefCore.shortcodes.neobeat_core_social_icon_list = {};
 
})(jQuery);
(function ($) {
	"use strict";
	
	var shortcode = 'neobeat_core_blog_list';
	
	qodefCore.shortcodes[shortcode] = {};
	
	if (typeof qodefCore.listShortcodesScripts === 'object') {
		$.each(qodefCore.listShortcodesScripts, function (key, value) {
			qodefCore.shortcodes[shortcode][key] = value;
		});
	}
	
})(jQuery);
(function ($) {
	"use strict";
	
	$(document).ready(function () {
		qodefVerticalNavMenu.init();
	});
	
	/**
	 * Function object that represents vertical menu area.
	 * @returns {{init: Function}}
	 */
	var qodefVerticalNavMenu = {
		initNavigation: function ($verticalMenuObject) {
			var $verticalNavObject = $verticalMenuObject.find('.qodef-header-vertical-navigation');
			
			if ($verticalNavObject.hasClass('qodef-vertical-drop-down--below')) {
				qodefVerticalNavMenu.dropdownClickToggle($verticalNavObject);
			} else if ($verticalNavObject.hasClass('qodef-vertical-drop-down--side')) {
				qodefVerticalNavMenu.dropdownFloat($verticalNavObject);
			}
		},
		dropdownClickToggle: function ($verticalNavObject) {
			var $menuItems = $verticalNavObject.find('ul li.menu-item-has-children');
			
			$menuItems.each(function () {
				var $elementToExpand = $(this).find(' > .qodef-drop-down-second, > ul');
				var menuItem = this;
				var $dropdownOpener = $(this).find('> a');
				var slideUpSpeed = 'fast';
				var slideDownSpeed = 'slow';
				
				$dropdownOpener.on('click tap', function (e) {
					e.preventDefault();
					e.stopPropagation();
					
					if ($elementToExpand.is(':visible')) {
						$(menuItem).removeClass('qodef-menu-item--open');
						$elementToExpand.slideUp(slideUpSpeed);
					} else if ($dropdownOpener.parent().parent().children().hasClass('qodef-menu-item--open') && $dropdownOpener.parent().parent().parent().hasClass('qodef-vertical-menu')) {
						$(this).parent().parent().children().removeClass('qodef-menu-item--open');
						$(this).parent().parent().children().find(' > .qodef-drop-down-second').slideUp(slideUpSpeed);
						
						$(menuItem).addClass('qodef-menu-item--open');
						$elementToExpand.slideDown(slideDownSpeed);
					} else {
						
						if (!$(this).parents('li').hasClass('qodef-menu-item--open')) {
							$menuItems.removeClass('qodef-menu-item--open');
							$menuItems.find(' > .qodef-drop-down-second, > ul').slideUp(slideUpSpeed);
						}
						
						if ($(this).parent().parent().children().hasClass('qodef-menu-item--open')) {
							$(this).parent().parent().children().removeClass('qodef-menu-item--open');
							$(this).parent().parent().children().find(' > .qodef-drop-down-second, > ul').slideUp(slideUpSpeed);
						}
						
						$(menuItem).addClass('qodef-menu-item--open');
						$elementToExpand.slideDown(slideDownSpeed);
					}
				});
			});
		},
		dropdownFloat: function ($verticalNavObject) {
			var $menuItems = $verticalNavObject.find('ul li.menu-item-has-children');
			var $allDropdowns = $menuItems.find(' > .qodef-drop-down-second > .qodef-drop-down-second-inner > ul, > ul');
			
			$menuItems.each(function () {
				var $elementToExpand = $(this).find(' > .qodef-drop-down-second > .qodef-drop-down-second-inner > ul, > ul');
				var menuItem = this;
				
				if (Modernizr.touch) {
					var $dropdownOpener = $(this).find('> a');
					
					$dropdownOpener.on('click tap', function (e) {
						e.preventDefault();
						e.stopPropagation();
						
						if ($elementToExpand.hasClass('qodef-float--open')) {
							$elementToExpand.removeClass('qodef-float--open');
							$(menuItem).removeClass('qodef-menu-item--open');
						} else {
							if (!$(this).parents('li').hasClass('qodef-menu-item--open')) {
								$menuItems.removeClass('qodef-menu-item--open');
								$allDropdowns.removeClass('qodef-float--open');
							}
							
							$elementToExpand.addClass('qodef-float--open');
							$(menuItem).addClass('qodef-menu-item--open');
						}
					});
				} else {
					//must use hoverIntent because basic hover effect doesn't catch dropdown
					//it doesn't start from menu item's edge
					$(this).hoverIntent({
						over: function () {
							$elementToExpand.addClass('qodef-float--open');
							$(menuItem).addClass('qodef-menu-item--open');
						},
						out: function () {
							$elementToExpand.removeClass('qodef-float--open');
							$(menuItem).removeClass('qodef-menu-item--open');
						},
						timeout: 300
					});
				}
			});
		},
		verticalAreaScrollable: function ($verticalMenuObject) {
			return $verticalMenuObject.hasClass('qodef-with-scroll');
		},
		initVerticalAreaScroll: function ($verticalMenuObject) {
			if (qodefVerticalNavMenu.verticalAreaScrollable($verticalMenuObject)) {
				window.qodefCore.qodefPerfectScrollbar.init($verticalMenuObject);
			}
		},
		init: function () {
			var $verticalMenuObject = $('.qodef-header--vertical #qodef-page-header');
			
			if ($verticalMenuObject.length) {
				qodefVerticalNavMenu.initNavigation($verticalMenuObject);
				qodefVerticalNavMenu.initVerticalAreaScroll($verticalMenuObject);
			}
		}
	};
	
})(jQuery);
(function ($) {
	"use strict";
	
	$(document).ready(function () {
		qodefVerticalClosedNavMenu.init();
	});
	
	/**
	 * Function object that represents vertical menu area.
	 * @returns {{init: Function}}
	 */
	var qodefVerticalClosedNavMenu = {
		initNavigation: function ($verticalMenuObject) {
			var $verticalNavObject = $verticalMenuObject.find('.qodef-header-vertical-navigation');
			
			if ($verticalNavObject.hasClass('qodef-vertical-drop-down--below')) {
				qodefVerticalClosedNavMenu.dropdownClickToggle($verticalNavObject);
			} else if ($verticalNavObject.hasClass('qodef-vertical-drop-down--side')) {
				qodefVerticalClosedNavMenu.dropdownFloat($verticalNavObject);
			}
		},
		dropdownClickToggle: function ($verticalNavObject) {
			var $menuItems = $verticalNavObject.find('ul li.menu-item-has-children');
			
			$menuItems.each(function () {
				var $elementToExpand = $(this).find(' > .qodef-drop-down-second, > ul');
				var menuItem = this;
				var $dropdownOpener = $(this).find('> a');
				var slideUpSpeed = 'fast';
				var slideDownSpeed = 'slow';
				
				$dropdownOpener.on('click tap', function (e) {
					e.preventDefault();
					e.stopPropagation();
					
					if ($elementToExpand.is(':visible')) {
						$(menuItem).removeClass('qodef-menu-item--open');
						$elementToExpand.slideUp(slideUpSpeed);
					} else if ($dropdownOpener.parent().parent().children().hasClass('qodef-menu-item--open') && $dropdownOpener.parent().parent().parent().hasClass('qodef-vertical-menu')) {
						$(this).parent().parent().children().removeClass('qodef-menu-item--open');
						$(this).parent().parent().children().find(' > .qodef-drop-down-second').slideUp(slideUpSpeed);
						
						$(menuItem).addClass('qodef-menu-item--open');
						$elementToExpand.slideDown(slideDownSpeed);
					} else {
						
						if (!$(this).parents('li').hasClass('qodef-menu-item--open')) {
							$menuItems.removeClass('qodef-menu-item--open');
							$menuItems.find(' > .qodef-drop-down-second, > ul').slideUp(slideUpSpeed);
						}
						
						if ($(this).parent().parent().children().hasClass('qodef-menu-item--open')) {
							$(this).parent().parent().children().removeClass('qodef-menu-item--open');
							$(this).parent().parent().children().find(' > .qodef-drop-down-second, > ul').slideUp(slideUpSpeed);
						}
						
						$(menuItem).addClass('qodef-menu-item--open');
						$elementToExpand.slideDown(slideDownSpeed);
					}
				});
			});
		},
		dropdownFloat: function ($verticalNavObject) {
			var $menuItems = $verticalNavObject.find('ul li.menu-item-has-children');
			var $allDropdowns = $menuItems.find(' > .qodef-drop-down-second > .qodef-drop-down-second-inner > ul, > ul');
			
			$menuItems.each(function () {
				var $elementToExpand = $(this).find(' > .qodef-drop-down-second > .qodef-drop-down-second-inner > ul, > ul');
				var menuItem = this;
				
				if (Modernizr.touch) {
					var $dropdownOpener = $(this).find('> a');
					
					$dropdownOpener.on('click tap', function (e) {
						e.preventDefault();
						e.stopPropagation();
						
						if ($elementToExpand.hasClass('qodef-float--open')) {
							$elementToExpand.removeClass('qodef-float--open');
							$(menuItem).removeClass('qodef-menu-item--open');
						} else {
							if (!$(this).parents('li').hasClass('qodef-menu-item--open')) {
								$menuItems.removeClass('qodef-menu-item--open');
								$allDropdowns.removeClass('qodef-float--open');
							}
							
							$elementToExpand.addClass('qodef-float--open');
							$(menuItem).addClass('qodef-menu-item--open');
						}
					});
				} else {
					//must use hoverIntent because basic hover effect doesn't catch dropdown
					//it doesn't start from menu item's edge
					$(this).hoverIntent({
						over: function () {
							$elementToExpand.addClass('qodef-float--open');
							$(menuItem).addClass('qodef-menu-item--open');
						},
						out: function () {
							$elementToExpand.removeClass('qodef-float--open');
							$(menuItem).removeClass('qodef-menu-item--open');
						},
						timeout: 300
					});
				}
			});
		},
		verticalAreaScrollable: function ($verticalMenuObject) {
			return $verticalMenuObject.hasClass('qodef-with-scroll');
		},
		initVerticalAreaScroll: function ($verticalMenuObject) {
			if (qodefVerticalClosedNavMenu.verticalAreaScrollable($verticalMenuObject)) {
				window.qodefCore.qodefPerfectScrollbar.init($verticalMenuObject);
			}
		},
		initHiddenVerticalArea : function( $verticalMenuObject ) {
			var verticalLogo = $('.edge-vertical-area-bottom-logo');
			var verticalMenuOpener = $verticalMenuObject.find('.qodef-vertical-closed-menu-opener');
			var scrollPosition = 0;
			
			verticalMenuOpener.on('click tap', function() {
				if(isVerticalAreaOpen()) {
					closeVerticalArea();
				} else {
					openVerticalArea();
				}
			});
			
			$(window).scroll(function() {
				if(Math.abs($(window).scrollTop() - scrollPosition) > 400){
					closeVerticalArea();
				}
			});
			
			/**
			 * Closes vertical menu area by removing 'active' class on that element
			 */
			function closeVerticalArea() {
				$verticalMenuObject.removeClass('active');
				
				if(verticalLogo.length) {
					verticalLogo.removeClass('active');
				}
			}
			
			/**
			 * Opens vertical menu area by adding 'active' class on that element
			 */
			function openVerticalArea() {
				$verticalMenuObject.addClass('active');
				
				if(verticalLogo.length) {
					verticalLogo.addClass('active');
				}
				scrollPosition = $(window).scrollTop();
			}
			
			function isVerticalAreaOpen() {
				return $verticalMenuObject.hasClass('active');
			}
		},
		init: function () {
			var $verticalMenuObject = $('.qodef-header--vertical-closed #qodef-page-header');
			
			if ($verticalMenuObject.length) {
				qodefVerticalClosedNavMenu.initNavigation($verticalMenuObject);
				qodefVerticalClosedNavMenu.initVerticalAreaScroll($verticalMenuObject);
				qodefVerticalClosedNavMenu.initHiddenVerticalArea($verticalMenuObject);
			}
		}
	};
	
})(jQuery);
(function ($) {
    "use strict";
    
    var fixedHeaderAppearance = {
        showHideHeader: function ($pageOuter, $header) {
            if (qodefCore.windowWidth > 1024) {
                if (qodefCore.scroll <= 0) {
                    qodefCore.body.removeClass('qodef-header--fixed-display');
                    $pageOuter.css('padding-top', '0');
                    $header.css('margin-top', '0');
                } else {
                    qodefCore.body.addClass('qodef-header--fixed-display');
                    $pageOuter.css('padding-top', parseInt(qodefGlobal.vars.headerHeight + qodefGlobal.vars.topAreaHeight) + 'px');
                    $header.css('margin-top', parseInt(qodefGlobal.vars.topAreaHeight) + 'px');
                }
            }
        },
        init: function () {
            
            if (!qodefCore.body.hasClass('qodef-header--vertical')) {
                var $pageOuter = $('#qodef-page-outer'),
                    $header = $('#qodef-page-header');
                
                fixedHeaderAppearance.showHideHeader($pageOuter, $header);
                
                $(window).scroll(function () {
                    fixedHeaderAppearance.showHideHeader($pageOuter, $header);
                });
                
                $(window).resize(function () {
                    $pageOuter.css('padding-top', '0');
                    fixedHeaderAppearance.showHideHeader($pageOuter, $header);
                });
            }
        }
    };
    
    qodefCore.fixedHeaderAppearance = fixedHeaderAppearance.init;
    
})(jQuery);
(function ($) {
	"use strict";
	
	var stickyHeaderAppearance = {
		displayAmount: function () {
			if (qodefGlobal.vars.qodefStickyHeaderScrollAmount !== 0) {
				return parseInt(qodefGlobal.vars.qodefStickyHeaderScrollAmount, 10);
			} else {
				return parseInt(qodefGlobal.vars.headerHeight + qodefGlobal.vars.adminBarHeight, 10);
			}
		},
		showHideHeader: function (displayAmount) {
			
			if (qodefCore.scroll < displayAmount) {
				qodefCore.body.removeClass('qodef-header--sticky-display');
			} else {
				qodefCore.body.addClass('qodef-header--sticky-display');
			}
		},
		init: function () {
			var displayAmount = stickyHeaderAppearance.displayAmount();
			
			stickyHeaderAppearance.showHideHeader(displayAmount);
			$(window).scroll(function () {
				stickyHeaderAppearance.showHideHeader(displayAmount);
			});
		}
	};
	
	qodefCore.stickyHeaderAppearance = stickyHeaderAppearance.init;
	
})(jQuery);
(function ($) {
	"use strict";
	
	var shortcode = 'neobeat_core_instagram_list';
	
	qodefCore.shortcodes[shortcode] = {};
	
	if (typeof qodefCore.listShortcodesScripts === 'object') {
		$.each(qodefCore.listShortcodesScripts, function (key, value) {
			qodefCore.shortcodes[shortcode][key] = value;
		});
	}
	
	$(document).ready(function () {
		qodefAddBlurClasses.init();
	});
	
	var qodefAddBlurClasses = {
		init: function () {
			var item = $('.qodef-instagram-list').find('.sbi_photo_wrap');
				item.addClass('qodef-e-blur-trigger').find('a').addClass('qodef-e-blur-target');
		}
	};
	
	qodefCore.shortcodes.neobeat_core_instagram_list.qodefAddBlurClasses = qodefAddBlurClasses;
	
})(jQuery);

(function ($) {
	"use strict";
	
	$(document).ready(function () {
		qodefSearchCoversHeader.init();
	});
	
	var qodefSearchCoversHeader = {
		init: function () {
			var $searchOpener = $('a.qodef-search-opener'),
				$searchForm = $('.qodef-search-cover'),
				$searchClose = $searchForm.find('.qodef-search-close');
			
			if ($searchOpener.length && $searchForm.length) {
				$searchOpener.on('click', function (e) {
					e.preventDefault();
					qodefSearchCoversHeader.openCoversHeader($searchForm);
					
				});
				$searchClose.on('click', function (e) {
					e.preventDefault();
					qodefSearchCoversHeader.closeCoversHeader($searchForm);
				});
			}
		},
		openCoversHeader: function ($searchForm) {
			qodefCore.body.addClass('qodef-covers-search--opened qodef-covers-search--fadein');
			qodefCore.body.removeClass('qodef-covers-search--fadeout');
			
			setTimeout(function () {
				$searchForm.find('.qodef-m-form-field').focus();
			}, 600);
		},
		closeCoversHeader: function ($searchForm) {
			qodefCore.body.removeClass('qodef-covers-search--opened qodef-covers-search--fadein');
			qodefCore.body.addClass('qodef-covers-search--fadeout');
			
			setTimeout(function () {
				$searchForm.find('.qodef-m-form-field').val('');
				$searchForm.find('.qodef-m-form-field').blur();
				qodefCore.body.removeClass('qodef-covers-search--fadeout');
			}, 300);
		}
	};
	
})(jQuery);

(function($) {
    "use strict";

    $(document).ready(function(){
        qodefSearchFullscreen.init();
    });

	var qodefSearchFullscreen = {
	    init: function(){
            var $searchOpener = $('a.qodef-search-opener'),
                $searchHolder = $('.qodef-fullscreen-search-holder'),
                $searchClose = $('.qodef-search-close');

            if ($searchOpener.length && $searchHolder.length) {
                $searchOpener.on('click', function (e) {
                    e.preventDefault();
                    if(qodef.body.hasClass('qodef-fullscreen-search--opened')){
                        qodefSearchFullscreen.closeFullscreen($searchHolder);
                    }else{
                        qodefSearchFullscreen.openFullscreen($searchHolder);
                    }
                });
                $searchClose.on('click', function (e) {
                    e.preventDefault();
                    qodefSearchFullscreen.closeFullscreen($searchHolder);
                });

                //Close on escape
                $(document).keyup(function (e) {
                    if (e.keyCode === 27) { //KeyCode for ESC button is 27
                        qodefSearchFullscreen.closeFullscreen($searchHolder);
                    }
                });
            }
        },
        openFullscreen: function($searchHolder){
            qodef.body.removeClass('qodef-fullscreen-search--fadeout');
	        qodef.body.addClass('qodef-fullscreen-search--opened qodef-fullscreen-search--fadein');

            setTimeout(function () {
                $searchHolder.find('.qodef-search-field').focus();
            }, 900);

            qodefCore.qodefScroll.disable();
        },
        closeFullscreen: function($searchHolder){
            qodef.body.removeClass('qodef-fullscreen-search--opened qodef-fullscreen-search--fadein');
            qodef.body.addClass('qodef-fullscreen-search--fadeout');

            setTimeout(function () {
                $searchHolder.find('.qodef-search-field').val('');
                $searchHolder.find('.qodef-search-field').blur();
                qodef.body.removeClass('qodef-fullscreen-search--fadeout');
            }, 300);

            qodefCore.qodefScroll.enable();
        }
    };

})(jQuery);

(function ($) {
	"use strict";
	
	$(document).ready(function () {
		qodefProgressBarSpinner.init();
	});
	
	var qodefProgressBarSpinner = {
		percentNumber: 0,
		init: function () {
			this.holder = $('#qodef-page-spinner.qodef-layout--progress-bar');
			
			if (this.holder.length) {
				qodefProgressBarSpinner.animateSpinner(this.holder);
			}
		},
		animateSpinner: function ($holder) {
			
			var $numberHolder = $holder.find('.qodef-m-spinner-number-label'),
				$spinnerLine = $holder.find('.qodef-m-spinner-line-front'),
				numberIntervalFastest,
				windowLoaded = false;
			
			$spinnerLine.animate({'width': '100%'}, 10000, 'linear');
			
			var numberInterval = setInterval(function () {
				qodefProgressBarSpinner.animatePercent($numberHolder, qodefProgressBarSpinner.percentNumber);
			
				if (windowLoaded) {
					clearInterval(numberInterval);
				}
			}, 100);
			
			$(window).on('load', function () {
				windowLoaded = true;
				
				numberIntervalFastest = setInterval(function () {
					if (qodefProgressBarSpinner.percentNumber >= 100) {
						clearInterval(numberIntervalFastest);
						$spinnerLine.stop().animate({'width': '100%'}, 500);
						
						setTimeout(function () {
							$holder.addClass('qodef--finished');
							
							setTimeout(function () {
								qodefProgressBarSpinner.fadeOutLoader($holder);
							}, 1000);
						}, 600);
					} else {
						qodefProgressBarSpinner.animatePercent($numberHolder, qodefProgressBarSpinner.percentNumber);
					}
				}, 6);
			});
		},
		animatePercent: function ($numberHolder, percentNumber) {
			if (percentNumber < 100) {
				percentNumber += 5;
				$numberHolder.text(percentNumber);
				
				qodefProgressBarSpinner.percentNumber = percentNumber;
			}
		},
		fadeOutLoader: function ($holder, speed, delay, easing) {
			speed = speed ? speed : 600;
			delay = delay ? delay : 0;
			easing = easing ? easing : 'swing';
			
			$holder.delay(delay).fadeOut(speed, easing);
			
			$(window).on('bind', 'pageshow', function (event) {
				if (event.originalEvent.persisted) {
					$holder.fadeOut(speed, easing);
				}
			});
		}
	};
	
})(jQuery);
(function ($) {
    "use strict";
    
	qodefCore.shortcodes.neobeat_core_product_categories_list = {};
	qodefCore.shortcodes.neobeat_core_product_categories_list.qodefMasonryLayout = qodef.qodefMasonryLayout;
	qodefCore.shortcodes.neobeat_core_product_categories_list.qodefSwiper = qodef.qodefSwiper;

})(jQuery);
(function ($) {
	"use strict";
	
	var shortcode = 'neobeat_core_product_list';
	
	qodefCore.shortcodes[shortcode] = {};
	
	if (typeof qodefCore.listShortcodesScripts === 'object') {
		$.each(qodefCore.listShortcodesScripts, function (key, value) {
			qodefCore.shortcodes[shortcode][key] = value;
		});
	}
	
})(jQuery);
(function ($) {
	"use strict";
	
	var shortcode = 'neobeat_core_album_list';
	
	qodefCore.shortcodes[shortcode] = {};
	
	if (typeof qodefCore.listShortcodesScripts === 'object') {
		$.each(qodefCore.listShortcodesScripts, function (key, value) {
			qodefCore.shortcodes[shortcode][key] = value;
		});
	}
	
	$(document).ready(function () {
		qodefAlbumList.init();
	});
	
	var qodefAlbumList = {
		init: function () {
			
			var items = $('.qodef-album-list.qodef-parallax-scroll .qodef-e:nth-child(2n)'),
				dY = 22,
				itemsOdd = $('.qodef-album-list.qodef-parallax-scroll .qodef-e:nth-child(2n+1)'),
				dYOdd = 13;
			
			var ease = function (a, b, n) {
				return (1 - n) * a + n * b;
			}
			
			var inView = function (item) {
				if (window.scrollY + window.innerHeight > item.offset().top &&
					window.scrollY < item.offset().top + item.outerHeight()) {
					return true
				}
				return false;
			}
			
			var itemsInView = function (items) {
				return items.filter(function () {
					return inView($(this))
				});
			}
			
			var move = function (items, dY) {
				items.each(function () {
					var item = $(this);
					item.data('y', 0);
					item.data('c', Math.random());
				});
				
				function loop() {
					
					itemsInView(items).each(function () {
						var item = $(this);
						var deltaY = (item.offset().top - window.scrollY) / window.innerHeight - 1;
						
						item.data('y', ease(item.data('y'), deltaY, item.data('c') * .1));
						item.css({
							'transform': 'translate3d(0,' + (dY * item.data('y')).toFixed(2) + '%,0)',
						});
					});
					requestAnimationFrame(loop);
				}
				
				requestAnimationFrame(loop);
			}
			
			if (itemsOdd.length && !Modernizr.touch && qodefCore.windowWidth>=680) move(itemsOdd, dYOdd);
			if (items.length && !Modernizr.touch && qodefCore.windowWidth>=680) move(items, dY);
		}
	}
	qodefCore.shortcodes[shortcode].qodefAlbumList = qodef.qodefAlbumList ;
	
})(jQuery);

(function ($) {
	"use strict";
	
	qodefCore.shortcodes.neobeat_core_album_player = {};
	qodefCore.shortcodes.neobeat_core_album_player_rev_slider = {};
	
	$(document).ready(function () {
		qodefAlbumPlayer.init();
	});
	
	$(document).on('neobeat_core_trigger_tracks_list_event', function (e, albumID, trackID, event) {
		qodefAlbumPlayer.triggerPlayerEvent(albumID, trackID, event);
	});
	
	var qodefAlbumPlayer = {
		players: [],
		init: function () {
			this.holder = $('.qodef-album-player');
			
			if (this.holder.length) {
				this.holder.each(function () {
					var $thisHolder = $(this);
					
					qodefAlbumPlayer.triggerPlayer($thisHolder);
				});
			}
		},
		triggerPlayer: function ($holder) {
			$holder.addClass('qodef--loading');
			
			$.ajax({
				type: "GET",
				url: qodefGlobal.vars.restUrl + qodefGlobal.vars.getAlbumSongRestRoute,
				data: {
					album_id: $holder.children('.qodef-m-album').data('album-id')
				},
				success: function (response) {
					if (response.status === 'success') {
						qodefAlbumPlayer.initPlayer($holder, response.data);
					} else {
						console.log(response.message);
					}
				},
				complete: function () {
					$holder.removeClass('qodef--loading');
				}
			});
		},
		initPlayer: function ($holder, data) {
			$holder.addClass('qodef--init');
			
			var $playerPlayList = new jPlayerPlaylist({
				jPlayer: '#' + $holder.children('.qodef-m-album').attr('id'),
				cssSelectorAncestor: '#' + $holder.children('.qodef-m-player').attr('id')
			}, data, {
				supplied: "mp3",
				wmode: "window",
				useStateClassSkin: true,
				autoBlur: false,
				smoothPlayBar: true,
				keyEnabled: true,
				ready: function () {
					qodefAlbumPlayer.setTrackDetails($playerPlayList, $holder);
					qodefCore.body.trigger('neobeat_core_trigger_album_player_event', [$playerPlayList, 'ready']);
				},
				pause: function () {
					qodefCore.body.trigger('neobeat_core_trigger_album_player_event', [$playerPlayList, 'pause']);
					$( ".qodef-album-player .qodef-m-album-image" ).removeClass( "qodef-disc-rotating" );
				},
				play: function () {
					qodefAlbumPlayer.setTrackDetails($playerPlayList, $holder);
					qodefCore.body.trigger('neobeat_core_trigger_album_player_event', [$playerPlayList, 'play']);
					
					$( ".qodef-album-player .qodef-m-album-image" ).addClass( "qodef-disc-rotating" );
				}
			});
			
			qodefAlbumPlayer.players.push($playerPlayList);
		},
		setTrackDetails: function ($playerPlayList, $holder) {
			var $title = $holder.find('.qodef-m-player-track-title');
			
			if ($title.length) {
				$title.html($playerPlayList.original[$playerPlayList.current].title);
			}
		},
		triggerPlayerEvent: function (albumID, trackID, event) {
			if (typeof qodefAlbumPlayer.players === 'object' && typeof albumID !== 'undefined' && typeof event !== 'undefined') {
				$.each(qodefAlbumPlayer.players, function (key, value) {
					if (value.cssSelector.jPlayer === ( '#' + 'qodef-m-album-' + albumID ) ) {
						switch (event) {
							case 'pause':
								value.pause(trackID);
								break;
							case 'play':
								value.play(trackID);
								break;
						}
					}
				});
			}
		}
	};
	
	qodefCore.shortcodes.neobeat_core_album_player.qodefAlbumPlayer = qodefAlbumPlayer;
	qodefCore.shortcodes.neobeat_core_album_player_rev_slider.qodefAlbumPlayer = qodefAlbumPlayer;
	
})(jQuery);
(function ($) {
	"use strict";
	
	qodefCore.shortcodes.neobeat_core_album_player_slider = {};
	qodefCore.shortcodes.neobeat_core_album_player_slider.qodefSwiper = qodef.qodefSwiper;
	qodefCore.shortcodes.neobeat_core_album_player_slider.qodefAlbumPlayer = qodefCore.shortcodes.neobeat_core_album_player.qodefAlbumPlayer;
	
})(jQuery);
(function ($) {
	"use strict";
	
	var shortcode = 'neobeat_core_artists_list';
	
	qodefCore.shortcodes[shortcode] = {};
	
	if (typeof qodefCore.listShortcodesScripts === 'object') {
		$.each(qodefCore.listShortcodesScripts, function (key, value) {
			qodefCore.shortcodes[shortcode][key] = value;
		});
	}
	
	
	$(document).ready(function () {
		qodefArtistList.init();
	});
	
	var qodefArtistList = {
		init: function () {
			
			var items = $('.qodef-artists-list.qodef-parallax-scroll .qodef-e:nth-child(2n)'),
				dY = 22,
				itemsOdd = $('.qodef-artists-list.qodef-parallax-scroll .qodef-e:nth-child(2n+1)'),
				dYOdd = 13;
			
			var ease = function (a, b, n) {
				return (1 - n) * a + n * b;
			}
			
			var inView = function (item) {
				if (window.scrollY + window.innerHeight > item.offset().top &&
					window.scrollY < item.offset().top + item.outerHeight()) {
					return true
				}
				return false;
			}
			
			var itemsInView = function (items) {
				return items.filter(function () {
					return inView($(this))
				});
			}
			
			var move = function (items, dY) {
				items.each(function () {
					var item = $(this);
					item.data('y', 0);
					item.data('c', Math.random());
				});
				
				function loop() {
					
					itemsInView(items).each(function () {
						var item = $(this);
						var deltaY = (item.offset().top - window.scrollY) / window.innerHeight - 1;
						
						item.data('y', ease(item.data('y'), deltaY, item.data('c') * .1));
						item.css({
							'transform': 'translate3d(0,' + (dY * item.data('y')).toFixed(2) + '%,0)',
						});
					});
					requestAnimationFrame(loop);
				}
				
				requestAnimationFrame(loop);
			}
			
			if (itemsOdd.length && !Modernizr.touch && qodefCore.windowWidth>=680) move(itemsOdd, dYOdd);
			if (items.length && !Modernizr.touch && qodefCore.windowWidth>=680) move(items, dY);
		}
	}
	qodefCore.shortcodes[shortcode].qodefAppear = qodef.qodefAppear ;
	
	qodefCore.shortcodes[shortcode].qodefArtistList = qodefArtistList;
	
	
})(jQuery);

(function ($) {
	"use strict";
	
	qodefCore.shortcodes.neobeat_core_tracks_list = {};
	
	$(document).ready(function () {
		qodefTracksList.init();
	});
	
	$(document).on('neobeat_core_trigger_album_player_event', function (e, $playerPlayList, event) {
		qodefTracksList.initTriggered($playerPlayList, event);
	});
	
	var qodefTracksList = {
		init: function () {
			this.holder = $('.qodef-tracks-list');
			
			if (this.holder.length) {
				this.holder.each(function () {
					var $thisHolder = $(this);
					
					if (!qodefCore.body.hasClass('single-album')) {
						qodefTracksList.triggerPlayer($thisHolder);
					} else {
						qodefTracksList.triggerTrackClick($thisHolder);
					}
				});
			}
		},
		triggerPlayer: function ($holder) {
			$.ajax({
				type: "GET",
				url: qodefGlobal.vars.restUrl + qodefGlobal.vars.getAlbumSongRestRoute,
				data: {
					album_id: $holder.data('album-id'),
				},
				success: function (response) {
					if (response.status === 'success') {
						qodefTracksList.initPlayer($holder, response.data);
					} else {
						console.log(response.message);
					}
				}
			});
		},
		initPlayer: function ($holder, data) {
			var $playerPlayList = new jPlayerPlaylist({
				jPlayer: '#' + $holder.children('.qodef-m-track-player').attr('id'),
				cssSelectorAncestor: '#' + $holder.children('.qodef-m-track-player').attr('id'),
			}, data, {
				supplied: "mp3",
				wmode: "window",
				useStateClassSkin: true,
				autoBlur: false,
				smoothPlayBar: true,
				ready: function () {
					qodefTracksList.triggerTrackClick($holder, $playerPlayList);
				},
				pause: function () {
					qodefTracksList.initTriggered($playerPlayList, 'pause');
				},
				play: function () {
					qodefTracksList.initTriggered($playerPlayList, 'play');
				}
			});
		},
		initTriggered: function ($playerPlayList, event) {
			this.holder = $('.qodef-tracks-list');
			
			if (this.holder.length) {
				this.holder.each(function () {
					var $thisHolder = $(this);
					
					if (typeof event !== 'undefined') {
						switch (event) {
							case 'pause':
								qodefTracksList.setActiveTrack($thisHolder, $playerPlayList, event);
								break;
							case 'play':
								qodefTracksList.setActiveTrack($thisHolder, $playerPlayList, event);
								break;
						}
					}
				});
			}
		},
		triggerTrackClick: function($holder, $playerPlayList) {
			$holder.find('.qodef-e-heading-title, .qodef-e-action-control.qodef--play').on('click', function (e) {
				e.preventDefault();
				
				var $currentTrack = $(this).parents('.qodef-m-tracks-list-item');
			
				if ($currentTrack.hasClass('qodef--active')) {
					$currentTrack.removeClass('qodef--active');
					
					qodefTracksList.triggerPlayerEvent($playerPlayList, $currentTrack.data('track-index'), 'pause');
					qodefCore.body.trigger('neobeat_core_trigger_tracks_list_event', [$holder.data('album-id'), $currentTrack.data('track-index'), 'pause']);
				} else {
					qodefTracksList.triggerPlayerEvent($playerPlayList, $currentTrack.data('track-index'), 'play');
					qodefCore.body.trigger('neobeat_core_trigger_tracks_list_event', [$holder.data('album-id'), $currentTrack.data('track-index'), 'play']);
				}
			});
		},
		setActiveTrack: function ($holder, $playerPlayList, event) {
			var activeSong = $playerPlayList.original[$playerPlayList.current].unique_id;
			
			$holder.find('.qodef-m-tracks-list-item').removeClass('qodef--active');
			
			if (event !== 'pause') {
				$holder.find('.qodef-m-tracks-list-item[data-track-id="' + activeSong + '"]').addClass('qodef--active');
			}
		},
		triggerPlayerEvent: function ($playerPlayList, trackID, event) {
			if (!qodefCore.body.hasClass('single-album')) {
				switch (event) {
					case 'pause':
						$playerPlayList.pause(trackID);
						break;
					case 'play':
						$playerPlayList.play(trackID);
						break;
				}
			}
		}
	};
	
	qodefCore.shortcodes.neobeat_core_tracks_list.qodefTracksList = qodefTracksList;
	
})(jQuery);
(function ($) {
	"use strict";
	
	qodefCore.shortcodes.neobeat_core_clients_list = {};
	qodefCore.shortcodes.neobeat_core_clients_list.qodefSwiper = qodef.qodefSwiper;
})(jQuery);
(function ($) {
	"use strict";
	
	var shortcode = 'neobeat_core_events_list';
	
	qodefCore.shortcodes[shortcode] = {};
	
	if (typeof qodefCore.listShortcodesScripts === 'object') {
		$.each(qodefCore.listShortcodesScripts, function (key, value) {
			qodefCore.shortcodes[shortcode][key] = value;
		});
	}
	
})(jQuery);
(function ($) {
	"use strict";
	qodefCore.shortcodes.neobeat_core_testimonials_list = {};
	qodefCore.shortcodes.neobeat_core_testimonials_list.qodefSwiper = qodef.qodefSwiper;
	
})(jQuery);
(function ($) {
	"use strict";
	
	$(document).ready(function () {
		qodefAlbumSlider.init();
	});
	
	var qodefAlbumSlider = {
		init: function () {
			var $holder = $('.qodef-album-player-slider.qodef-layout--predefined.qodef-swiper-container'),
				$imgHolder = $('.qodef-album-player-slider.qodef-layout--predefined.qodef-swiper-container .swiper-wrapper .swiper-slide .qodef-e-media-image');
			
			if ($imgHolder.length) {
				$imgHolder.each(function () {
					var thisHolder = $(this),
						maxWidth = thisHolder.width();
					
					thisHolder.css({
						'max-height': maxWidth,
						'max-width': maxWidth,
					});
				});
			}
			
			if ($holder.length) {
				$holder.each(function () {
					var $thisHolder = $(this),
						$thisItems = $thisHolder.find('.swiper-slide');
					
					// Init SVG Circle Animation for each item
					$thisItems.each(function(i) {
						i++;
						var $thisItem = $(this),
							$thisSVG = $thisItem.find('.qodef--background-svg');

						if ($thisSVG.length) {
							$thisSVG.find('linearGradient').attr("id","qodef-svg-gradient-"+ i );
							var thisItemAnimationData = qodefAlbumSlider.initWave($thisSVG, i);
							$thisItem.data('animation-data', thisItemAnimationData);
						}
					});

					// Swiper slider - animate active item only
					qodefAlbumSlider.animateActiveItemWave($thisHolder, $thisItems);
				});
			}
		},
		animateActiveItemWave: function($swiperHolder, $items) {
			var thisSwiper = $swiperHolder[0].swiper,
				animateFunction = function() {
					$items.each(function() {
						var $thisItem = $(this),
							thisItemAnimationData = $(this).data('animation-data');
						
						if (thisItemAnimationData) {
							var animateWave = function() {
								if (!$thisItem.hasClass('swiper-slide-active')) return;
								thisItemAnimationData.animateSVG();
								window.requestAnimationFrame(animateWave);
							}
							animateWave();
						}
					});
				}

			thisSwiper.on('slideChange', function () {
				setTimeout(function() {
					animateFunction();
				}, 100);
			});
			
			$(document).ready(function () {
				setTimeout(function() {
					animateFunction();
				}, 100);
			});
		},
		initWave: function (itemSVG, svgIndex) {
			var svg = d3.selectAll(itemSVG),
				svgWidth = itemSVG.width(),
			    svgHeight = itemSVG.height(),
				width = svgWidth,
				height = svgHeight,
				angles = d3.range(0, 2 * Math.PI, Math.PI / 300);
			
			var path = svg
				.append("g")
				.attr("transform", "translate(" + width / 2 + "," + height / 2 + ")")
				.attr("fill", "none")
				.attr("stroke-width", 1)
				.attr("stroke-linejoin", "round")
				.selectAll("path")
				.data(["url(#qodef-svg-gradient-" + svgIndex + ")"])
				.enter()
				.append("path")
				.attr("stroke", function (d) {
					return d;
				})
				.datum(function (d, i) {
					return d3
						.radialLine()
						.curve(d3.curveLinearClosed)
						.angle(function (a) {
							return a * -1;
						})
						.radius(function (a) {
							var t = d3.now() / 500;
							return (
								width/4 + width/6 +
								Math.cos(a * 12 - (i * 2 * Math.PI) / 3 + t ) *
								Math.pow((1 + Math.cos(a * 10 - t )) / 2, 2) *
								20
							);
						});
				});

			var animateSVG = function () {
				path.attr("d", function (d) {
					return d(angles);
				});
			};

			animateSVG(); // used to initially position svg

			return {
				animateSVG: animateSVG
			}
		}
	};
	
	qodefCore.shortcodes.neobeat_core_album_player_slider.qodefAlbumSlider = qodefAlbumSlider;
	
})(jQuery);
(function ($) {
	"use strict";
	
	$(document).ready(function () {
		qodefHoverDir.init();
	});
	
	$(document).on('neobeat_trigger_get_new_posts', function () {
		qodefHoverDir.init();
	});
	
	var qodefHoverDir = {
		init: function () {
			var $gallery = $('.qodef-hover-animation--direction-aware');
			
			if ($gallery.length) {
				$gallery.each(function () {
					var $this = $(this);
					$this.find('article').each(function () {
						$(this).hoverdir({
							hoverElem: 'div.qodef-e-content',
							speed: 330,
							hoverDelay: 35,
							easing: 'ease'
						});
					});
				});
			}
		}
	};
	
})(jQuery);