var $j = jQuery.noConflict(); window.qode = {}; qode.modules = {}; var common = {}; qode.modules.common = common; var $scroll = 0; var qode_body = $j('body'); var qode_document = $j('document'); var qode_window = $j(window); var $window_width = $j(window).width(); qode.windowWidth = $window_width; var $window_height = $j(window).height(); qode.windowHeight = $window_height; var logo_height; var menu_dropdown_height_set = false; var sticky_amount = 0; var qode_grid_width = 1100; var content_menu_position; var content_menu_top; var content_menu_top_add = 0; var src; var next_image; var prev_image; var $top_header_height; var min_w = 1500; // minimum video width allowed var video_width_original = 1280; // original video dimensions var video_height_original = 720; var vid_ratio = 1280/720; var skrollr_slider; var paspartu_width; if(typeof paspartu_width_init == 'undefined'){ //check if variable is defined in default_dynamic.php (deafult_dynamic.js) var paspartu_width_init = 0.02; } common.getLoadMoreData = getLoadMoreData; common.setLoadMoreAjaxData = setLoadMoreAjaxData; common.qodeOwlSlider = qodeOwlSlider; qode.animationEnd = animationEventEnd(); qode.transitionEnd = transitionEventEnd(); $j(document).ready(function() { "use strict"; if($j('header').hasClass('regular')){ content_menu_top = 0; } if($j('header').hasClass('fixed_top_header')){ content_menu_top = header_height; } if($j('header').hasClass('fixed')){ content_menu_top = min_header_height_scroll; } if($j('header').hasClass('fixed_hiding')){ content_menu_top = min_header_height_fixed_hidden + 40; //40 is top and bottom margin of logo } if($j('header').hasClass('stick') || $j('header').hasClass('stick_with_left_right_menu')){ content_menu_top = 0; } if((!$j('header.page_header').hasClass('scroll_top')) && ($j('header.page_header').hasClass('has_top')) && ($j('header.page_header').hasClass('fixed'))){ content_menu_top_add = 34; } if($j('body').hasClass('vertical_menu_enabled')){ content_menu_top = 0; content_menu_top_add = 0; var min_header_height_sticky = 0; } //check paspartu width depending on window size paspartu_width = $window_width < 1024 ? 0.02 : paspartu_width_init; contentMinHeight(); contentMinHeightWithPaspartu(); qodeGridWidth(); setDropDownMenuPosition(); initDropDownMenu(); initVerticalMenu(); initVerticalMobileMenu(); initQodeSlider(); initSideMenu(); initPopupMenu(); initMessageHeight(); initToCounter(); initCounter(); if(!$j('.vertical_split_slider').length){ initCountdown(); } initProgressBars(); initListAnimation(); initPieChart(); initPieChartWithIcon(); initServiceAnimation(); initParallaxTitle(); initSideAreaScroll(); initVerticalAreaMenuScroll(); loadMore(); prettyPhoto(); initMobileMenu(); initFlexSlider(); fitVideo(); fitAudio(); initAccordion(); initAccordionContentLink(); qodeInitAccordions(); initMessages(); initProgressBarsIcon(); initMoreFacts(); placeholderReplace(); backButtonShowHide(); backToTop(); initSteps(); showGoogleMap(); initProgressBarsVertical(); initElementsAnimation(); updateShoppingCart(); initHashClick(); initIconWithTextAnimation(); initVideoBackground(); initCheckSafariBrowser(); initSearchButton(); initCoverBoxes(); createContentMenu(); contentMenuScrollTo(); createSelectContentMenu(); initButtonHover(); initEnlargeButton(); initSocialIconHover(); initPageTitleAnimation(); initIconShortcodeHover(); qodeIcon().init(); initIconWithTextHover(); parallaxLayers(); initHorizontalMarquee(); qodeHorizontalMarqueeLoop(); initTextMarquee(); initExpandingImages(); qodeLazyImages(); initItemShowcase(); qodeCTASection().init(); qodeInitInteractiveIconShowcase(); qodeInitSendContactForm(); qodeWorkflow(); qodeCustomFontTypeOut(); qodeMobileHeaderBehavior(); initElementsHolderResponsiveStyle(); $j('.widget #searchform').mousedown(function(){$j(this).addClass('form_focus');}).focusout(function(){$j(this).removeClass('form_focus');}); $scroll = $j(window).scrollTop(); checkTitleToShowOrHide(); //this has to be after setting $scroll since function uses $scroll variable checkVerticalMenuTransparency(); //this has to be after setting $scroll since function uses $scroll variable /* set header and content menu position and appearance on page load - START */ if($j(window).width() > 1000){ headerSize($scroll); }else{ logoSizeOnSmallScreens(); } if($j(window).width() > 768){ contentMenuPosition(); } contentMenuCheckLastSection(); $j('header:not(.stick_with_left_right_menu) .q_logo a').css('visibility','visible'); /* set header and content menu position and appearance on page load - END */ initFullScreenTemplate(); showHideVerticalMenu(); initMasonryGallery(); initLoadNextPostOnBottom(); initBlogMasonryGallery(); initBlogGallery(); qodeV2Button().init(); qodeCardsSlider().init(); qodeCardsGallery(); qodeInitEllipticalSlider(); qodeInitPricingCalculator(); qodeSlidingImageHolder(); qodeOwlSlider(); qodeScrollingImage(); }); $j(window).on('load', function(){ "use strict"; qodeBrowserDetection(); $j('.touch .main_menu li:has(div.second)').doubleTapToGo(); // load script to close menu on touch devices setLeftPostionedMenuPadding(); initSmallImageBlogHeight(); setDropDownMenuPosition(); initDropDownMenu(); initPortfolio(); initPortfolioZIndex(); initPortfolioSingleInfo(); initTestimonials(); initTestimonialsCarousel(); initVideoBackgroundSize(); initBlog(); initBlogMasonryFullWidth(); initQBlog(); initPortfolioJustifiedGallery(); initPortfolioMasonry(); initPortfolioMasonryFilter(); initTabs(); qodeInitAdvancedTabs(); qodeInitAdvancedTabsIcons(); countClientsPerRow(); animatedTextIconHeight(); countAnimatedTextIconPerRow(); initTitleAreaAnimation(); setContentBottomMargin(); footerWidth(); if($j('nav.content_menu').length > 0){ content_menu_position = $j('nav.content_menu').offset().top; contentMenuPosition(); } contentMenuCheckLastSection(); initQodeCarousel(); initPortfolioSlider(); initBlogSlider(); qodeInitBlogCarouselTitled(); initPreviewSlider(); initInDeviceSlider(); initTabsActiveBorder(); setActiveTabBorder(); initImageHover(); $j('header.stick_with_left_right_menu .q_logo a').css('visibility','visible'); setMargingsForLeftAndRightMenu(); initImageGallerySliderNoSpace(); initVerticalSplitSlider(); initParallax(); //has to be here on last place since some function is interfering with parallax initQodeElementAnimationSkrollr(); qodeBlogCompundMasonryGallery().init(); qodeInitStickyWidget(); qodeBlogHeadlines(); qodeCardsSlider().load(); initContentSlider(); qodePageTransitionEffect(); qodeContactPageAcceptance(); setTimeout(function(){ checkAnchorOnScroll(); qodeBlogGalleryAnimation(); checkAnchorOnLoad(); // it has to be after content top margin initialization to know where to scroll checkHeaderStyleOnScroll(); //moved to window load because sections are not fully initialized on dom ready and calculations are wrong if($j('.no-touch .carousel').length){skrollr_slider.refresh();} //in order to reload rest of scroll animation on same page after page loads },700); //timeout is set because of some function that interferes with calculating qodePanelArea(); initDropDownAfterWPMLReplaceMenu(); }); $j(window).scroll(function() { "use strict"; $scroll = $j(window).scrollTop(); if($j(window).width() > 1000){ headerSize($scroll); } if($j(window).width() > 768){ contentMenuPosition(); } contentMenuCheckLastSection(); checkVerticalMenuTransparency(); qodeLazyImages(); $j('.touch .drop_down > ul > li').mouseleave(); $j('.touch .drop_down > ul > li').blur(); }); $j(window).resize(function() { "use strict"; $window_width = $j(window).width(); $window_height = $j(window).height(); //check paspartu width depending on window size paspartu_width = $window_width < 1024 ? 0.02 : paspartu_width_init; if($j(window).width() > 1000){ headerSize($scroll); }else{ logoSizeOnSmallScreens(); } initMessageHeight(); qodeNumberOfTestimonialsItemsResize(); fitAudio(); initSmallImageBlogHeight(); initBlog(); initBlogMasonryFullWidth(); initQBlog(); animatedTextIconHeight(); countAnimatedTextIconPerRow(); initVideoBackgroundSize(); countClientsPerRow(); setContentBottomMargin(); footerWidth(); calculateHeights(); $j('.vertical_split_slider').height($window_height); //used for vertical split slider holder initMasonryGallery(); initPortfolioMasonry(); contentMinHeight(); contentMinHeightWithPaspartu(); qodeInitStickyWidget(); }); function getScrollAmountForStickyHeader(){ //is scroll amount for sticky set on page? if(typeof qodeGlobalVars.vars.page_scroll_amount_for_sticky !== 'undefined' && qodeGlobalVars.vars.page_scroll_amount_for_sticky !== '') { amount = qodeGlobalVars.vars.page_scroll_amount_for_sticky; } //do we have slider on the page? else if($j('.carousel.full_screen').length) { amount = $j('.carousel').height(); } //take value from theme options else { amount = scroll_amount_for_sticky; } return amount; } /* * Browser detection */ function qodeBrowserDetection() { var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor), isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor), isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1, isIE = window.navigator.userAgent.indexOf("MSIE "); if (isChrome) { qode_body.addClass('qode-chrome'); } if (isSafari) { qode_body.addClass('qode-safari'); } if (isFirefox) { qode_body.addClass('qode-firefox'); } if (isIE > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) { qode_body.addClass('qode-ms-explorer'); } if (/Edge\/\d./i.test(navigator.userAgent)) { qode_body.addClass('qode-edge'); } } /* ** Calculating header size on page load and page scroll */ var sticky_animate; function headerSize($scroll){ "use strict"; if(($j('header.page_header').hasClass('scroll_top')) && ($j('header.page_header').hasClass('has_top')) && ($j('header.page_header').hasClass('fixed') || $j('header.page_header').hasClass('fixed_hiding'))){ if($scroll >= 0 && $scroll <= 34){ $j('header.page_header').css('top',-$scroll); $j('header.page_header').css('margin-top',0); $j('.header_top').show(); }else if($scroll > 34){ $j('header.page_header').css('top','-34px'); $j('header.page_header').css('margin-top',34); $j('.header_top').hide(); } } sticky_amount = getScrollAmountForStickyHeader(); if($j('header').hasClass('regular')){ // $j('header .drop_down .second').css('top', header_height + header_bottom_border_weight +'px'); if(header_height - logo_height >= 10){ $j('.q_logo a').height(logo_height); }else{ $j('.q_logo a').height(header_height - 10); } $j('.q_logo a img').css('height','100%'); } if($j('header.page_header').hasClass('fixed')){ if($j('header.page_header').hasClass('scroll_top')){ $top_header_height = 34; }else{ $top_header_height = 0; } if((header_height - $scroll + $top_header_height >= min_header_height_scroll) && ($scroll >= $top_header_height)){ $j('header.page_header').removeClass('scrolled'); $j('header:not(.centered_logo.centered_logo_animate) nav.main_menu > ul > li > a').css('line-height', header_height - $scroll + $top_header_height+'px'); // $j('header .drop_down .second').css('top', header_height + header_bottom_border_weight - ($scroll + $top_header_height)/8+'px'); $j('header:not(.centered_logo.centered_logo_animate) .side_menu_button').css('height', header_height - $scroll + $top_header_height+'px'); $j('header:not(.centered_logo.centered_logo_animate) .shopping_cart_inner').css('height', header_height - $scroll + $top_header_height+'px'); $j('header:not(.centered_logo.centered_logo_animate) .header_bottom .qode-login-register-widget.qode-user-logged-in .qode-logged-in-user').css('height', header_height - $scroll + $top_header_height+'px'); $j('header:not(.centered_logo.centered_logo_animate) .logo_wrapper').css('height', header_height - $scroll + $top_header_height +'px'); if(header_height - logo_height > 0){ $j('header:not(.centered_logo.centered_logo_animate) .q_logo a').css('height', logo_height +'px'); }else{ $j('header:not(.centered_logo.centered_logo_animate) .q_logo a').css('height', (header_height - $scroll + $top_header_height - 10) +'px'); } }else if($scroll < $top_header_height){ $j('header.page_header').removeClass('scrolled'); $j('header:not(.centered_logo.centered_logo_animate) nav.main_menu > ul > li > a').css('line-height', header_height+'px'); // $j('header .drop_down .second').css('top', header_height + header_bottom_border_weight +'px'); $j('header:not(.centered_logo.centered_logo_animate) .side_menu_button').css('height', header_height+'px'); $j('header:not(.centered_logo.centered_logo_animate) .shopping_cart_inner').css('height', header_height+'px'); $j('header:not(.centered_logo.centered_logo_animate) .header_bottom .qode-login-register-widget.qode-user-logged-in .qode-logged-in-user').css('height', header_height+'px'); $j('header:not(.centered_logo.centered_logo_animate) .logo_wrapper').css('height', header_height+'px'); if(header_height - logo_height > 0){ $j('header:not(.centered_logo.centered_logo_animate) .q_logo a').css('height', logo_height +'px'); }else{ $j('header:not(.centered_logo.centered_logo_animate) .q_logo a').css('height', (header_height-10)+'px'); } }else if((header_height - $scroll + $top_header_height) < min_header_height_scroll){ $j('header.page_header').addClass('scrolled'); $j('header:not(.centered_logo.centered_logo_animate) nav.main_menu > ul > li > a').css('line-height', min_header_height_scroll+'px'); // $j('header .drop_down .second').css('top', min_header_height_scroll + header_bottom_border_weight +'px'); $j('header:not(.centered_logo.centered_logo_animate) .side_menu_button').css('height', min_header_height_scroll+'px'); $j('header:not(.centered_logo.centered_logo_animate) .shopping_cart_inner').css('height', min_header_height_scroll+'px'); $j('header:not(.centered_logo.centered_logo_animate) .header_bottom .qode-login-register-widget.qode-user-logged-in .qode-logged-in-user').css('height', min_header_height_scroll+'px'); $j('header:not(.centered_logo.centered_logo_animate) .logo_wrapper').css('height', min_header_height_scroll+'px'); if(min_header_height_scroll - logo_height > 0){ $j('header:not(.centered_logo.centered_logo_animate) .q_logo a').css('height', logo_height +'px'); }else{ $j('header:not(.centered_logo.centered_logo_animate) .q_logo a').css('height', (min_header_height_scroll-10)+'px'); } } // logo part - start // if($j('header.page_header').hasClass('centered_logo') && $j('header.page_header').hasClass('centered_logo_animate')){ if((header_height - $scroll + $top_header_height < logo_height) && (header_height - $scroll + $top_header_height >= min_header_height_scroll) && (logo_height > min_header_height_scroll - 10) && ($scroll >= $top_header_height)){ $j('.q_logo a').height(header_height - $scroll + $top_header_height - 10); }else if((header_height - $scroll + $top_header_height < logo_height) && (header_height - $scroll + $top_header_height >= min_header_height_scroll) && (logo_height > min_header_height_scroll - 10) && ($scroll < $top_header_height)){ $j('.q_logo a').height(header_height - 10); }else if((header_height - $scroll + $top_header_height < logo_height) && (header_height - $scroll + $top_header_height < min_header_height_scroll) && (logo_height > min_header_height_scroll - 10)){ $j('.q_logo a').height(min_header_height_scroll - 10); }else if((header_height - $scroll + $top_header_height < logo_height) && (header_height - $scroll + $top_header_height < min_header_height_scroll) && (logo_height < min_header_height_scroll - 10)){ $j('.q_logo a').height(logo_height); }else if(($scroll + $top_header_height === 0) && (logo_height > header_height - 10)){ $j('.q_logo a').height(logo_height); }else{ $j('.q_logo a').height(logo_height); } }else if($j('header.page_header').hasClass('centered_logo')) { $j('.q_logo a').height(logo_height); $j('.q_logo img').height('auto'); }else{ $j('.q_logo img').height('100%'); } // logo part - end // setLeftPostionedMenuPadding(); } if($j('header.page_header').hasClass('fixed_hiding')){ if($scroll < scroll_amount_for_fixed_hiding){ $j('header.page_header').removeClass('scrolled'); }else{ $j('header.page_header').addClass('scrolled'); } $j('.q_logo a').height(logo_height/2); //because of retina displays $j('.q_logo img').height('100%'); } if($j('header.page_header').hasClass('stick') || $j('header.page_header').hasClass('stick_with_left_right_menu')){ if($scroll > sticky_amount){ if(!$j('header.page_header').hasClass('sticky')){ if($j('header.page_header').hasClass('has_top')){ $top_header_height = 34; }else{ $top_header_height = 0; } var padding_top = $j('header.page_header').hasClass('centered_logo') ? $j('header.page_header').height() : header_height + $top_header_height; if($j('header.page_header').hasClass('menu_bottom')){ padding_top = header_height + 60; //60 is menu height for Sticky Advance header type } $j('header.page_header').addClass('sticky'); $j('.content').css('padding-top',padding_top); window.clearTimeout(sticky_animate); sticky_animate = window.setTimeout(function(){$j('header.page_header').addClass('sticky_animate'); },100); if(min_header_height_sticky - logo_height >= 10){ $j('.q_logo a').height(logo_height); }else{ $j('.q_logo a').height(min_header_height_sticky - 10); } if($j('header.page_header').hasClass('menu_bottom')){ initDropDownMenu(); //recalculate dropdown menu position } } // logo part - start // if(min_header_height_sticky - logo_height >= 10){ $j('.q_logo a').height(logo_height); }else{ $j('.q_logo a').height(min_header_height_sticky - 10); } // logo part - end // }else{ if($j('header.page_header').hasClass('sticky')){ $j('header').removeClass('sticky_animate'); $j('header').removeClass('sticky'); $j('.content').css('padding-top','0px'); if($j('header.page_header').hasClass('menu_bottom')){ initDropDownMenu(); //recalculate dropdown menu position } } setMargingsForLeftAndRightMenu(); //need to set margins here since on sticky menu, logo is not visible on left/right logo // logo part - start // if(!$j('header.page_header').hasClass('centered_logo')){ if(header_height - logo_height >= 10){ $j('.q_logo a').height(logo_height); }else{ $j('.q_logo a').height(header_height - 10); } }else{ $j('.q_logo a').height(logo_height); $j('.q_logo img').height('auto'); } $j('.q_logo a img').css('height','100%'); // logo part - end // } setLeftPostionedMenuPadding(); } } function qodeMobileHeaderBehavior() { if($j('header').hasClass('sticky_mobile')){ var mobileHeader = $j('.page_header'), mobileMenuOpener = mobileHeader.find('.mobile_menu_button'), mobileHeaderHeight = mobileHeader.outerHeight(); var adminBarHeight = $j('#wpadminbar').length ? $j('#wpadminbar').height() : 0, stickyAppearAmount = mobileHeaderHeight, docYScroll1 = $scroll; var behaviour = function(){ mobileHeader.find('.header_inner').css('padding-top', 0); if($window_width < 1000){ var docYScroll2 = $scroll; if (docYScroll2 > stickyAppearAmount) { mobileHeader.addClass('qode-animate-mobile-header'); $j('.content').css('padding-top', mobileHeaderHeight); } else { mobileHeader.removeClass('qode-animate-mobile-header'); $j('.content').css('padding-top', 0); } if ((docYScroll2 > docYScroll1 && docYScroll2 >= stickyAppearAmount) || (docYScroll2 <= stickyAppearAmount)) { mobileHeader.removeClass('mobile-header-appear'); mobileHeader.find('.header_inner').css('padding-top', 0); } else { mobileHeader.addClass('mobile-header-appear'); mobileHeader.find('.header_inner').css('padding-top', adminBarHeight); } docYScroll1 = $scroll; } } qode_window.on('scroll resize', function(){ behaviour() }); } } function setMargingsForLeftAndRightMenu(){ "use strict"; if($j('header.page_header').hasClass('stick_with_left_right_menu') && !$j('header.page_header').hasClass('left_right_margin_set')){ var logo_width = $j('.q_logo a img').width()/2; if($scroll == 0 && logo_width != 0){ $j('header.page_header').addClass('left_right_margin_set'); } $j('.logo_wrapper').width(logo_width*2); $j('nav.main_menu.left_side > ul > li:last-child').css('margin-right',logo_width); $j('nav.main_menu.right_side > ul > li:first-child').css('margin-left',logo_width); $j('.rtl nav.main_menu.left_side > ul > li:first-child').css('margin-right',logo_width); // add for rtl $j('.rtl nav.main_menu.left_side > ul > li:last-child').css('margin-right',0); // add for rtl $j('.rtl nav.main_menu.right_side > ul > li:last-child').css('margin-left',logo_width); // add for rtl $j('.rtl nav.main_menu.right_side > ul > li:first-child').css('margin-left',0); // add for rtl } } function setLeftPostionedMenuPadding(){ "use strict"; var main_menu = $j('header:not(.centered_logo) nav.main_menu'); if(main_menu.length && main_menu.hasClass('left')){ var image = $j('.q_logo a img').filter(function() { return $j(this).css('opacity') == '1'; }); main_menu.css('left',image.width()); } } /* ** Calculating logo size on smaller screens */ function logoSizeOnSmallScreens(){ "use strict"; // 100 is height of header on small screens if((100 - 20 < logo_height)){ $j('.q_logo a').height(100 - 20); }else{ $j('.q_logo a').height(logo_height); } $j('.q_logo a img').css('height','100%'); $j('header.page_header').removeClass('sticky_animate sticky'); $j('.content').css('padding-top','0px'); } /* ** Calculating minimal height for content */ function contentMinHeight(){ "use strict"; if($j('header .header_bottom').length || $j('header .bottom_header').length){ if($j('header .header_bottom').length){ var headerColorString = $j('header .header_bottom').css('background-color'); } if($j('header .bottom_header').length){ var headerColorString = $j('header .bottom_header').css('background-color'); } var headerTransparency = headerColorString.substring(headerColorString.indexOf('(') + 1, headerColorString.lastIndexOf(')')).split(/,\s*/)[3]; var haeder_add = headerTransparency == undefined && !$j('header.page_header').hasClass('transparent') ? $j('header.page_header').height() : 0; $j('body .content').css('min-height',$window_height - haeder_add - $j('footer:not(.uncover)').height()); } } /* ** Calculating minimal height for content when paspartu is enabled */ function contentMinHeightWithPaspartu(){ "use strict"; if ($j('.paspartu_enabled').length) { var content_height; var paspartu_final_width_px = 0; var paspartu_width_px = $window_width*paspartu_width; var footer_height = $j('footer').height(); if ($j('.disable_footer').length){ footer_height = 0; } if ($j('.vertical_menu_enabled').length){ if ($j('.paspartu_top').length && $j('.paspartu_middle_inner').length){ paspartu_final_width_px += paspartu_width_px; } } else { if ($j('.paspartu_top').length){ paspartu_final_width_px += paspartu_width_px; } } if ($j('.paspartu_bottom').length || !$j('.disable_bottom_paspartu').length){ paspartu_final_width_px += paspartu_width_px; } if ($j('.vertical_menu_enabled').length){ content_height = $window_height - paspartu_final_width_px - footer_height; } else { if($j('header .header_bottom').length){ var headerColorString = $j('header .header_bottom').css('background-color'); } if($j('header .bottom_header').length){ var headerColorString = $j('header .bottom_header').css('background-color'); } if( typeof headerColorString !== 'undefined' ){ var headerTransparency = headerColorString.substring(headerColorString.indexOf('(') + 1, headerColorString.lastIndexOf(')')).split(/,\s*/)[3]; } var header_height = headerTransparency == undefined && !$j('header.page_header').hasClass('transparent') ? $j('header.page_header').height() : 0; content_height = $window_height - header_height - paspartu_final_width_px - footer_height; } if($j('.content').length){ $j('.content').css('min-height',content_height); } } } /* ** Initialize Qode Slider */ var default_header_style; function initQodeSlider(){ "use strict"; var image_regex = /url\(["']?([^'")]+)['"]?\)/; default_header_style = ""; if($j('header.page_header').hasClass('light')){ default_header_style = 'light';} if($j('header.page_header').hasClass('dark')){ default_header_style = 'dark';} if($j('.carousel').length){ var matrixArray = { zoom_center : '1.2, 0, 0, 1.2, 0, 0', zoom_top_left: '1.2, 0, 0, 1.2, -150, -150', zoom_top_right : '1.2, 0, 0, 1.2, 150, -150', zoom_bottom_left: '1.2, 0, 0, 1.2, -150, 150', zoom_bottom_right: '1.2, 0, 0, 1.2, 150, 150'}; // Function for translating image in slide - START // (function ($) { // // regular expression for parsing out the matrix // components from the matrix string // var matrixRE = /\([0-9epx\.\, \t\-]+/gi; // // parses a matrix string of the form // "matrix(n1,n2,n3,n4,n5,n6)" and // returns an array with the matrix // components // var parseMatrix = function (val) { return val.match(matrixRE)[0].substr(1). split(",").map(function (s) { return parseFloat(s); }); }; // // transform css property names with vendor prefixes; // the plugin will check for values in the order the // names are listed here and return as soon as there // is a value; so listing the W3 std name for the // transform results in that being used if its available // var transformPropNames = [ "transform", "-webkit-transform" ]; var getTransformMatrix = function (el) { // // iterate through the css3 identifiers till we // hit one that yields a value // var matrix = null; transformPropNames.some(function (prop) { matrix = el.css(prop); return (matrix !== null && matrix !== ""); }); // // if "none" then we supplant it with an identity matrix so // that our parsing code below doesn't break // matrix = (!matrix || matrix === "none") ? "matrix(1,0,0,1,0,0)" : matrix; return parseMatrix(matrix); }; // // set the given matrix transform on the element; note that we // apply the css transforms in reverse order of how its given // in "transformPropName" to ensure that the std compliant prop // name shows up last // var setTransformMatrix = function (el, matrix) { var m = "matrix(" + matrix.join(",") + ")"; for (var i = transformPropNames.length - 1; i >= 0; --i) { el.css(transformPropNames[i], m + ' rotate(0.01deg)'); } }; // // interpolates a value between a range given a percent // var interpolate = function (from, to, percent) { return from + ((to - from) * (percent / 100)); }; $.fn.transformAnimate = function (opt) { // // extend the options passed in by caller // var options = { transform: "matrix(1,0,0,1,0,0)" }; $.extend(options, opt); // // initialize our custom property on the element // to track animation progress // this.css("percentAnim", 0); // // supplant "options.step" if it exists with our own // routine // var sourceTransform = getTransformMatrix(this); var targetTransform = parseMatrix(options.transform); options.step = function (percentAnim, fx) { // // compute the interpolated transform matrix for // the current animation progress // var $this = $(this); var matrix = sourceTransform.map(function (c, i) { return interpolate(c, targetTransform[i], percentAnim); }); // // apply the new matrix // setTransformMatrix($this, matrix); // // invoke caller's version of "step" if one // was supplied; // if (opt.step) { opt.step.apply(this, [matrix, fx]); } }; // // animate! // return this.stop().animate({ percentAnim: 100 }, options); }; })(jQuery); // Function for translating image in slide - END // $j('.carousel').each(function(){ var $this = $j(this); var mobile_header; var mobile_header = $j(window).width() < 1000 ? $j('header.page_header').height() : 0; var header_height_add_for_paspartu = $window_width > 1000 && !$j('header.page_header').hasClass('transparent') && $j('body.paspartu_on_top_fixed').length == 0 ? $j('header.page_header').height() : 0; var paspartu_amount_with_top = $j('.paspartu_outer:not(.disable_top_paspartu)').length > 0 ? Math.round($window_width*paspartu_width + header_height_add_for_paspartu) : 0; var paspartu_amount_with_bottom = $j('.paspartu_outer.paspartu_on_bottom_slider').length > 0 ? Math.round($window_width*paspartu_width) : 0; var slider_graphic_coefficient; var slider_title_coefficient; var slider_subtitle_coefficient; var slider_text_coefficient; var slider_button_coefficient; var responsive_breakpoint_set = [1300,1000,768]; if($this.hasClass('advanced_responsiveness')){ responsive_breakpoint_set = [1600,1200,900,650,500,320]; if($this.data('q_responsive_breakpoints')){ if($this.data('q_responsive_breakpoints') == 'set2'){ responsive_breakpoint_set = [1600,1300,1000,768,567,320]; } } var coefficients_graphic_array = $this.data('q_responsive_graphic_coefficients').split(','); var coefficients_title_array = $this.data('q_responsive_title_coefficients').split(','); var coefficients_subtitle_array = $this.data('q_responsive_subtitle_coefficients').split(','); var coefficients_text_array = $this.data('q_responsive_text_coefficients').split(','); var coefficients_button_array = $this.data('q_responsive_button_coefficients').split(','); } //calculate heights for slider holder and slide item, depending on size, but only if slider is set to be responsive and not full screen function setSliderHeight($this, $def_height){ var slider_height = $def_height; if($this.hasClass('advanced_responsiveness')){ //advanced responsiveness if($window_width > responsive_breakpoint_set[0]){ slider_height = $def_height; }else if($window_width > responsive_breakpoint_set[1]){ slider_height = $def_height * 0.75; }else if($window_width > responsive_breakpoint_set[2]){ slider_height = $def_height * 0.6; }else if($window_width > responsive_breakpoint_set[3]){ slider_height = $def_height * 0.55; }else if($window_width <= responsive_breakpoint_set[3]){ slider_height = $def_height * 0.45; } }else{ //old way responsiveness if($window_width > responsive_breakpoint_set[0]){ slider_height = $def_height; }else if($window_width > responsive_breakpoint_set[1]){ slider_height = $def_height * 0.8; }else if($window_width > responsive_breakpoint_set[2]){ slider_height = $def_height * 0.7; }else if($window_width <= responsive_breakpoint_set[2]){ slider_height = $def_height * 1; } } $this.css({'height': (slider_height) + 'px'}); $this.find('.qode_slider_preloader').css({'height': (slider_height) + 'px'}); $this.find('.qode_slider_preloader .ajax_loader').css({'display': 'block'}); $this.find('.item').css({'height': (slider_height) + 'px'}); } function resetSliderHeight($def_height){ $this.css({'height': ($def_height) + 'px'}); $this.find('.qode_slider_preloader').css({'height': ($def_height) + 'px'}); $this.find('.qode_slider_preloader .ajax_loader').css({'display': 'block'}); $this.find('.item').css({'height': ($def_height) + 'px'}); } function setSliderInitialElementsSize($item,i){ window["slider_graphic_width_" + i] = []; window["slider_graphic_height_" + i] = []; window["slider_svg_width_" + i] = []; window["slider_svg_height_" + i] = []; window["slider_title_" + i] = []; window["slider_subtitle_" + i] = []; window["slider_text_" + i] = []; window["slider_button1_" + i] = []; window["slider_button2_" + i] = []; window["slider_separator_" + i] = []; //graphic size window["slider_graphic_width_" + i].push(parseFloat($item.find('.thumb img').data("width"))); window["slider_graphic_height_" + i].push(parseFloat($item.find('.thumb img').data("height"))); window["slider_svg_width_" + i].push(parseFloat($item.find('.qode_slide-svg-holder svg').attr("width"))); window["slider_svg_height_" + i].push(parseFloat($item.find('.qode_slide-svg-holder svg').attr("height"))); // font-size (0) window["slider_title_" + i].push(parseFloat($item.find('.q_slide_title').css("font-size"))); window["slider_subtitle_" + i].push(parseFloat($item.find('.q_slide_subtitle').css("font-size"))); window["slider_text_" + i].push(parseFloat($item.find('.q_slide_text').css("font-size"))); window["slider_button1_" + i].push(parseFloat($item.find('.qbutton:eq(0)').css("font-size"))); window["slider_button2_" + i].push(parseFloat($item.find('.qbutton:eq(1)').css("font-size"))); // line-height (1) window["slider_title_" + i].push(parseFloat($item.find('.q_slide_title').css("line-height"))); window["slider_subtitle_" + i].push(parseFloat($item.find('.q_slide_subtitle').css("line-height"))); window["slider_text_" + i].push(parseFloat($item.find('.q_slide_text').css("line-height"))); window["slider_button1_" + i].push(parseFloat($item.find('.qbutton:eq(0)').css("line-height"))); window["slider_button2_" + i].push(parseFloat($item.find('.qbutton:eq(1)').css("line-height"))); // letter-spacing (2) window["slider_title_" + i].push(parseFloat($item.find('.q_slide_title').css("letter-spacing"))); window["slider_subtitle_" + i].push(parseFloat($item.find('.q_slide_subtitle').css("letter-spacing"))); window["slider_text_" + i].push(parseFloat($item.find('.q_slide_text').css("letter-spacing"))); window["slider_button1_" + i].push(parseFloat($item.find('.qbutton:eq(0)').css("letter-spacing"))); window["slider_button2_" + i].push(parseFloat($item.find('.qbutton:eq(1)').css("letter-spacing"))); // margin-bottom (3) window["slider_title_" + i].push(parseFloat($item.find('.q_slide_title').css("margin-bottom"))); window["slider_subtitle_" + i].push(parseFloat($item.find('.q_slide_subtitle').css("margin-bottom"))); // slider_button height(3), width(4), padding(5) window["slider_button1_" + i].push(parseFloat($item.find('.qbutton:eq(0)').css("height"))); window["slider_button2_" + i].push(parseFloat($item.find('.qbutton:eq(1)').css("height"))); if(parseFloat($item.find('.qbutton:eq(0)').css("width")) != 0){ window["slider_button1_" + i].push(parseFloat($item.find('.qbutton:eq(0)').css("width"))); }else{ window["slider_button1_" + i].push(0); } if(parseFloat($item.find('.qbutton:eq(1)').css("width")) != 0){ window["slider_button2_" + i].push(parseFloat($item.find('.qbutton:eq(1)').css("width"))); }else{ window["slider_button2_" + i].push(0); } window["slider_button1_" + i].push(parseFloat($item.find('.qbutton:eq(0)').css("padding-left"))); window["slider_button1_" + i].push(parseFloat($item.find('.qbutton:eq(0)').css("padding-right"))); window["slider_button2_" + i].push(parseFloat($item.find('.qbutton:eq(1)').css("padding-left"))); window["slider_button2_" + i].push(parseFloat($item.find('.qbutton:eq(1)').css("padding-right"))); // margin separator, margin top(0), margin bottom(1) window["slider_separator_" + i].push(parseFloat($item.find('.separator').css("margin-top"))); window["slider_separator_" + i].push(parseFloat($item.find('.separator').css("margin-bottom"))); } //calculate size for slider title, subtitle and text, depending on window size function setSliderElementsSize($item,i){ if($window_width > responsive_breakpoint_set[0]) { slider_graphic_coefficient = coefficients_graphic_array[0]; slider_title_coefficient = coefficients_title_array[0]; slider_subtitle_coefficient = coefficients_subtitle_array[0]; slider_text_coefficient = coefficients_text_array[0]; slider_button_coefficient = coefficients_button_array[0]; }else if($window_width > responsive_breakpoint_set[1]){ slider_graphic_coefficient = coefficients_graphic_array[1]; slider_title_coefficient = coefficients_title_array[1]; slider_subtitle_coefficient = coefficients_subtitle_array[1]; slider_text_coefficient = coefficients_text_array[1]; slider_button_coefficient = coefficients_button_array[1]; }else if($window_width > responsive_breakpoint_set[2]){ slider_graphic_coefficient = coefficients_graphic_array[2]; slider_title_coefficient = coefficients_title_array[2]; slider_subtitle_coefficient = coefficients_subtitle_array[2]; slider_text_coefficient = coefficients_text_array[2]; slider_button_coefficient = coefficients_button_array[2]; }else if($window_width > responsive_breakpoint_set[3]){ slider_graphic_coefficient = coefficients_graphic_array[3]; slider_title_coefficient = coefficients_title_array[3]; slider_subtitle_coefficient = coefficients_subtitle_array[3]; slider_text_coefficient = coefficients_text_array[3]; slider_button_coefficient = coefficients_button_array[3]; }else if ($window_width > responsive_breakpoint_set[4]) { slider_graphic_coefficient = coefficients_graphic_array[4]; slider_title_coefficient = coefficients_title_array[4]; slider_subtitle_coefficient = coefficients_subtitle_array[4]; slider_text_coefficient = coefficients_text_array[4]; slider_button_coefficient = coefficients_button_array[4]; }else if ($window_width > responsive_breakpoint_set[5]){ slider_graphic_coefficient = coefficients_graphic_array[5]; slider_title_coefficient = coefficients_title_array[5]; slider_subtitle_coefficient = coefficients_subtitle_array[5]; slider_text_coefficient = coefficients_text_array[5]; slider_button_coefficient = coefficients_button_array[5]; } else{ slider_graphic_coefficient = coefficients_graphic_array[6]; slider_title_coefficient = coefficients_title_array[6]; slider_subtitle_coefficient = coefficients_subtitle_array[6]; slider_text_coefficient = coefficients_text_array[6]; slider_button_coefficient = coefficients_button_array[6]; } // letter-spacing decrease quicker var slider_title_coefficient_letter_spacing = slider_title_coefficient; var slider_subtitle_coefficient_letter_spacing = slider_subtitle_coefficient; var slider_text_coefficient_letter_spacing = slider_text_coefficient; if($window_width <= responsive_breakpoint_set[0]) { slider_title_coefficient_letter_spacing = slider_title_coefficient/2; slider_subtitle_coefficient_letter_spacing = slider_subtitle_coefficient/2; slider_text_coefficient_letter_spacing = slider_text_coefficient/2; } $item.find('.thumb').css({"width": Math.round(window["slider_graphic_width_" + i][0]*slider_graphic_coefficient) + 'px'}).css({"height": Math.round(window["slider_graphic_height_" + i][0]*slider_graphic_coefficient) + 'px'}); $item.find('.qode_slide-svg-holder svg').css({"width": Math.round(window["slider_svg_width_" + i][0]*slider_graphic_coefficient) + 'px'}).css({"height": Math.round(window["slider_svg_height_" + i][0]*slider_graphic_coefficient) + 'px'}); $item.find('.q_slide_title').css({"font-size": Math.round(window["slider_title_" + i][0]*slider_title_coefficient) + 'px'}); $item.find('.q_slide_title').css({"line-height": Math.round(window["slider_title_" + i][1]*slider_title_coefficient) + 'px'}); $item.find('.q_slide_title').css({"letter-spacing": Math.round(window["slider_title_" + i][2]*slider_title_coefficient_letter_spacing) + 'px'}); $item.find('.q_slide_title').css({"margin-bottom": Math.round(window["slider_title_" + i][3]*slider_title_coefficient) + 'px'}); $item.find('.q_slide_subtitle').css({"font-size": Math.round(window["slider_subtitle_" + i][0]*slider_subtitle_coefficient) + 'px'}); $item.find('.q_slide_subtitle').css({"line-height": Math.round(window["slider_subtitle_" + i][1]*slider_subtitle_coefficient) + 'px'}); $item.find('.q_slide_subtitle').css({"letter-spacing": Math.round(window["slider_subtitle_" + i][2]*slider_subtitle_coefficient_letter_spacing) + 'px'}); $item.find('.q_slide_subtitle').css({"margin-bottom": Math.round(window["slider_subtitle_" + i][3]*slider_subtitle_coefficient) + 'px'}); $item.find('.q_slide_text').css({"font-size": Math.round(window["slider_text_" + i][0]*slider_text_coefficient) + 'px'}); $item.find('.q_slide_text').css({"line-height": Math.round(window["slider_text_" + i][1]*slider_text_coefficient) + 'px'}); $item.find('.q_slide_text').css({"letter-spacing": Math.round(window["slider_text_" + i][2]*slider_text_coefficient_letter_spacing) + 'px'}); $item.find('.qbutton:eq(0)').css({"font-size": Math.round(window["slider_button1_" + i][0]*slider_button_coefficient) + 'px'}); $item.find('.qbutton:eq(1)').css({"font-size": Math.round(window["slider_button2_" + i][0]*slider_button_coefficient) + 'px'}); $item.find('.qbutton:eq(0)').css({"line-height": Math.round(window["slider_button1_" + i][1]*slider_button_coefficient) + 'px'}); $item.find('.qbutton:eq(1)').css({"line-height": Math.round(window["slider_button2_" + i][1]*slider_button_coefficient) + 'px'}); $item.find('.qbutton:eq(0)').css({"letter-spacing": Math.round(window["slider_button1_" + i][2]*slider_button_coefficient) + 'px'}); $item.find('.qbutton:eq(1)').css({"letter-spacing": Math.round(window["slider_button2_" + i][2]*slider_button_coefficient) + 'px'}); $item.find('.qbutton:eq(0)').css({"height": Math.round(window["slider_button1_" + i][3]*slider_button_coefficient) + 'px'}); $item.find('.qbutton:eq(1)').css({"height": Math.round(window["slider_button2_" + i][3]*slider_button_coefficient) + 'px'}); if(window["slider_button1_" + i][4] != 0) { $item.find('.qbutton:eq(0)').css({"width": Math.round(window["slider_button1_" + i][4]*slider_button_coefficient) + 'px'}); }else{ $item.find('.qbutton:eq(0)').css({"width": 'auto'}); } if(window["slider_button2_" + i][4] != 0) { $item.find('.qbutton:eq(1)').css({"width": Math.round(window["slider_button2_" + i][4]*slider_button_coefficient) + 'px'}); }else{ $item.find('.qbutton:eq(1)').css({"width": 'auto'}); } $item.find('.qbutton:eq(0)').css({"padding-left": Math.round(window["slider_button1_" + i][5]*slider_button_coefficient) + 'px'}); $item.find('.qbutton:eq(1)').css({"padding-left": Math.round(window["slider_button2_" + i][5]*slider_button_coefficient) + 'px'}); $item.find('.qbutton:eq(0)').css({"padding-right": Math.round(window["slider_button1_" + i][6]*slider_button_coefficient) + 'px'}); $item.find('.qbutton:eq(1)').css({"padding-right": Math.round(window["slider_button2_" + i][6]*slider_button_coefficient) + 'px'}); $item.find('.separator').css({"margin-top": Math.round(window["slider_separator_" + i][0]*slider_title_coefficient) + 'px'}); $item.find('.separator').css({"margin-bottom": Math.round(window["slider_separator_" + i][1]*slider_title_coefficient) + 'px'}); } function resetSliderElementsSize($item,i){ $item.find('.thumb').css({"width": Math.round(window["slider_graphic_width_" + i][0]) + 'px'}).css({"height": Math.round(window["slider_graphic_height_" + i][0]) + 'px'}); $item.find('.qode_slide-svg-holder svg').css({"width": Math.round(window["slider_svg_width_" + i][0]) + 'px'}).css({"height": Math.round(window["slider_svg_height_" + i][0]) + 'px'}); $item.find('.q_slide_title').css({"font-size": Math.round(window["slider_title_" + i][0]) + 'px'}); $item.find('.q_slide_title').css({"line-height": Math.round(window["slider_title_" + i][1]) + 'px'}); $item.find('.q_slide_title').css({"letter-spacing": Math.round(window["slider_title_" + i][2]) + 'px'}); $item.find('.q_slide_title').css({"margin-bottom": Math.round(window["slider_title_" + i][3]) + 'px'}); $item.find('.q_slide_subtitle').css({"font-size": Math.round(window["slider_subtitle_" + i][0]) + 'px'}); $item.find('.q_slide_subtitle').css({"line-height": Math.round(window["slider_subtitle_" + i][1]) + 'px'}); $item.find('.q_slide_subtitle').css({"letter-spacing": Math.round(window["slider_subtitle_" + i][2]) + 'px'}); $item.find('.q_slide_subtitle').css({"margin-bottom": Math.round(window["slider_subtitle_" + i][3]) + 'px'}); $item.find('.q_slide_text').css({"font-size": Math.round(window["slider_text_" + i][0]) + 'px'}); $item.find('.q_slide_text').css({"line-height": Math.round(window["slider_text_" + i][1]) + 'px'}); $item.find('.q_slide_text').css({"letter-spacing": Math.round(window["slider_text_" + i][2]) + 'px'}); $item.find('.qbutton:eq(0)').css({"font-size": Math.round(window["slider_button1_" + i][0]) + 'px'}); $item.find('.qbutton:eq(1)').css({"font-size": Math.round(window["slider_button2_" + i][0]) + 'px'}); $item.find('.qbutton:eq(0)').css({"line-height": Math.round(window["slider_button1_" + i][1]) + 'px'}); $item.find('.qbutton:eq(1)').css({"line-height": Math.round(window["slider_button2_" + i][1]) + 'px'}); $item.find('.qbutton:eq(0)').css({"letter-spacing": Math.round(window["slider_button1_" + i][2]) + 'px'}); $item.find('.qbutton:eq(1)').css({"letter-spacing": Math.round(window["slider_button2_" + i][2]) + 'px'}); $item.find('.qbutton:eq(0)').css({"height": Math.round(window["slider_button1_" + i][3]) + 'px'}); $item.find('.qbutton:eq(1)').css({"height": Math.round(window["slider_button2_" + i][3]) + 'px'}); if(window["slider_button1_" + i][4] != 0) { $item.find('.qbutton:eq(0)').css({"width": Math.round(window["slider_button1_" + i][4]) + 'px'}); }else{ $item.find('.qbutton:eq(0)').css({"width": 'auto'}); } if(window["slider_button2_" + i][4] != 0) { $item.find('.qbutton:eq(1)').css({"width": Math.round(window["slider_button2_" + i][4]) + 'px'}); }else{ $item.find('.qbutton:eq(1)').css({"width": 'auto'}); } $item.find('.qbutton:eq(0)').css({"padding-left": Math.round(window["slider_button1_" + i][5]) + 'px'}); $item.find('.qbutton:eq(1)').css({"padding-left": Math.round(window["slider_button2_" + i][5]) + 'px'}); $item.find('.qbutton:eq(0)').css({"padding-right": Math.round(window["slider_button1_" + i][6]) + 'px'}); $item.find('.qbutton:eq(1)').css({"padding-right": Math.round(window["slider_button2_" + i][6]) + 'px'}); $item.find('.separator').css({"margin-top": Math.round(window["slider_separator_" + i][0]) + 'px'}); $item.find('.separator').css({"margin-bottom": Math.round(window["slider_separator_" + i][1]) + 'px'}); } if($this.hasClass('full_screen')){ $this.css({'height': ($j(window).height() - mobile_header - paspartu_amount_with_top - paspartu_amount_with_bottom) + 'px'}); $this.find('.qode_slider_preloader').css({'height': ($j(window).height() - mobile_header - paspartu_amount_with_top - paspartu_amount_with_bottom) + 'px'}); $this.find('.qode_slider_preloader .ajax_loader').css({'display': 'block'}); $this.find('.item').css({'height': ($j(window).height() - mobile_header - paspartu_amount_with_top - paspartu_amount_with_bottom) + 'px'}); if($j('.paspartu_outer:not(.disable_top_paspartu)').length){ if(!$j('body').hasClass('paspartu_on_top_fixed')){ $this.closest('.q_slider').css('padding-top', Math.round(header_height_add_for_paspartu + $window_width * paspartu_width)); } } if($j('.paspartu_outer.paspartu_on_bottom_slider').length){ $this.closest('.q_slider').css('padding-bottom', Math.round($window_width * paspartu_width)); } $j(window).resize(function() { mobile_header = $j(window).width() < 1000 ? $j('header.page_header').height() : 0; header_height_add_for_paspartu = $window_width > 1000 && !$j('header.page_header').hasClass('transparent') && $j('body.paspartu_on_top_fixed').length == 0 ? $j('header.page_header').height() : 0; paspartu_amount_with_top = $j('.paspartu_outer:not(.disable_top_paspartu)').length > 0 ? Math.round($window_width*paspartu_width + header_height_add_for_paspartu) : 0; paspartu_amount_with_bottom = $j('.paspartu_outer.paspartu_on_bottom_slider').length > 0 ? Math.round($window_width*paspartu_width) : 0; $this.css({'height': ($j(window).height() - mobile_header - paspartu_amount_with_top - paspartu_amount_with_bottom) + 'px'}); $this.find('.qode_slider_preloader .ajax_loader').css({'display': 'block'}); $this.find('.item').css({'height': ($j(window).height() - mobile_header - paspartu_amount_with_top - paspartu_amount_with_bottom) + 'px'}); if($j('.paspartu_outer:not(.disable_top_paspartu)').length){ if(!$j('body').hasClass('paspartu_on_top_fixed')){ $this.closest('.q_slider').css('padding-top', Math.round(header_height_add_for_paspartu + $window_width * paspartu_width)); } } if($j('.paspartu_outer.paspartu_on_bottom_slider').length){ $this.closest('.q_slider').css('padding-bottom', Math.round($window_width * paspartu_width)); } if($this.hasClass('advanced_responsiveness')){ $this.find('.item').each(function(i){ setSliderElementsSize($j(this),i); }); } }); }else if($this.hasClass('responsive_height')){ var $def_height = $this.data('height'); $this.find('.qode_slider_preloader').css({'height': ($this.height() - mobile_header - paspartu_amount_with_top - paspartu_amount_with_bottom) + 'px', 'display': 'block'}); if($j('.paspartu_outer:not(.disable_top_paspartu)').length){ if(!$j('body').hasClass('paspartu_on_top_fixed')){ $this.closest('.q_slider').css('padding-top', Math.round(header_height_add_for_paspartu + $window_width * paspartu_width)); } } if($j('.paspartu_outer.paspartu_on_bottom_slider').length){ $this.closest('.q_slider').css('padding-bottom', Math.round($window_width * paspartu_width)); } setSliderHeight($this, $def_height); $j(window).resize(function() { if($j('.paspartu_outer:not(.disable_top_paspartu)').length){ header_height_add_for_paspartu = $window_width > 1000 && !$j('header.page_header').hasClass('transparent') ? $j('header.page_header').height() : 0; if(!$j('body').hasClass('paspartu_on_top_fixed')){ $this.closest('.q_slider').css('padding-top', Math.round(header_height_add_for_paspartu + $window_width * paspartu_width)); } } if($j('.paspartu_outer.paspartu_on_bottom_slider').length){ $this.closest('.q_slider').css('padding-bottom', Math.round($window_width * paspartu_width)); } setSliderHeight($this, $def_height); if($this.hasClass('advanced_responsiveness')){ $this.find('.item').each(function(i){ setSliderElementsSize($j(this),i); }); } }); }else { $this.find('.qode_slider_preloader').css({'height': ($this.height() - mobile_header) + 'px', 'display': 'block'}); $this.find('.qode_slider_preloader .ajax_loader').css({'display': 'block'}); if($j('.paspartu_outer:not(.disable_top_paspartu)').length){ if(!$j('body').hasClass('paspartu_on_top_fixed')){ $this.closest('.q_slider').css('padding-top', Math.round(header_height_add_for_paspartu + $window_width * paspartu_width)); } } if($j('.paspartu_outer.paspartu_on_bottom_slider').length){ $this.closest('.q_slider').css('padding-bottom', Math.round($window_width * paspartu_width)); } if($this.hasClass('advanced_responsiveness')){ $this.find('.item').each(function(i){ setSliderInitialElementsSize($j(this),i); setSliderElementsSize($j(this),i); }); } $window_width < 1000 ? setSliderHeight($this, $def_height) : resetSliderHeight($def_height); $j(window).resize(function() { if($j('.paspartu_outer:not(.disable_top_paspartu)').length){ header_height_add_for_paspartu = $window_width > 1000 && !$j('header.page_header').hasClass('transparent') ? $j('header.page_header').height() : 0; if(!$j('body').hasClass('paspartu_on_top_fixed')){ $this.closest('.q_slider').css('padding-top', Math.round(header_height_add_for_paspartu + $window_width * paspartu_width)); } } if($j('.paspartu_outer.paspartu_on_bottom_slider').length){ $this.closest('.q_slider').css('padding-bottom', Math.round($window_width * paspartu_width)); } if($window_width < 1000){ setSliderHeight($this, $def_height); if($this.hasClass('advanced_responsiveness')){ $this.find('.item').each(function(i){ setSliderElementsSize($j(this),i); }); } }else{ resetSliderHeight($def_height); if($this.hasClass('advanced_responsiveness')){ $this.find('.item').each(function(i){ resetSliderElementsSize($j(this),i); }); } } }); } if($j('body:not(.boxed):not(.vertical_menu_transparency):not(.vertical_menu_hidden):not(.page-template-landing_page-php)').hasClass('vertical_menu_enabled') && $j(window).width() > 1000){ var paspartu_add = $j('body').hasClass('paspartu_enabled') ? 2*Math.round($window_width*paspartu_width) : 0; //2 times paspartu (left and right side) $this.find('.carousel-inner').width($window_width - 260 - paspartu_add); $j(window).resize(function() { if($j(window).width() > 1000){ paspartu_add = $j('body').hasClass('paspartu_enabled') ? 2*Math.round($window_width*paspartu_width) : 0; //2 times paspartu (left and right side) $this.find('.carousel-inner').width($window_width - 260 - paspartu_add); } else { $this.find('.carousel-inner').css('width','100%'); } }); } if($j('body:not(.boxed):not(.vertical_menu_transparency):not(.page-template-landing_page-php)').hasClass('vertical_menu_hidden') && $window_width > 1000){ var paspartu_add = $j('body').hasClass('paspartu_enabled') ? 2*Math.round($window_width*paspartu_width) : 0; //2 times paspartu (left and right side) $this.find('.carousel-inner').width($window_width - 40 - paspartu_add); $j(window).resize(function() { if($j(window).width() > 1000){ paspartu_add = $j('body').hasClass('paspartu_enabled') ? 2*Math.round($window_width*paspartu_width) : 0; //2 times paspartu (left and right side) $this.find('.carousel-inner').width($window_width - 40 - paspartu_add); } else { $this.find('.carousel-inner').css('width','100%'); } }); } $j(window).scroll(function() { if($scroll > ($this.height()+$j('header.page_header').height()) && $j(window).width() > 1000){ $this.find('.carousel-inner, .carousel-indicators, button').hide(); }else{ $this.find('.carousel-inner, .carousel-indicators, button').show(); } }); var $slide_animation = $this.data('slide_animation'); if($slide_animation === ""){ $slide_animation = 6000; } // function for setting prev/next numbers on arrows var all_items_count = $j('div.item').length; function setPrevNextNumbers(curr_item, all_items_count){ if(curr_item == 1){ $this.find('.left.carousel-control .prev').html(all_items_count); $this.find('.right.carousel-control .next').html(curr_item + 1); }else if(curr_item == all_items_count){ $this.find('.left.carousel-control .prev').html(curr_item - 1); $this.find('.right.carousel-control .next').html(1); }else{ $this.find('.left.carousel-control .prev').html(curr_item - 1); $this.find('.right.carousel-control .next').html(curr_item + 1); } } function initSlider(){ //set active class on first item $this.find('.carousel-inner .item:first-child').addClass('active'); checkSliderForHeaderStyle($j('.carousel .active'), $this.hasClass('header_effect')); if($this.hasClass('slider_thumbs')){ // initial state of prev/next numbers setPrevNextNumbers(1, all_items_count); //set prev and next thumb on load if($this.find('.active').next('div').find('.image').length){ src = image_regex.exec($this.find('.active').next('div').find('.image').attr('style')); next_image = new Image(); next_image.src = src[1]; }else{ next_image = $this.find('.active').next('div').find('> .video').clone(); next_image.find('.video-overlay').remove(); next_image.find('.video-wrap').width(170).height(95); next_image.find('.mejs-container').width(170).height(95); next_image.find('video').width(170).height(95); } $this.find('.right.carousel-control .img').html(next_image).find('img, div.video').addClass('old'); if($this.find('.carousel-inner .item:last-child .image').length){ src = image_regex.exec($this.find('.carousel-inner .item:last-child .image').attr('style')); prev_image = new Image(); prev_image.src = src[1]; }else{ prev_image = $this.find('.carousel-inner .item:last-child > .video').clone(); prev_image.find('.video-overlay').remove(); prev_image.find('.video-wrap').width(170).height(95); prev_image.find('.mejs-container').width(170).height(95); prev_image.find('video').width(170).height(95); } $this.find('.left.carousel-control .img').html(prev_image).find('img, div.video').addClass('old'); } if($this.hasClass('q_auto_start')){ $this.carousel({ interval: $slide_animation, pause: false }); } else { $this.carousel({ interval: 0, pause: false }); } if($this.find('.item video').length){ initVideoBackgroundSize(); } if($this.hasClass('advanced_responsiveness') && ($this.hasClass('responsive_height') || $this.hasClass('full_screen'))){ $this.find('.item').each(function (i) { setSliderInitialElementsSize($j(this), i); setSliderElementsSize($j(this), i); }); } //initiate image animation if($j('.carousel-inner .item:first-child').hasClass('animate_image') && $window_width > 1000){ $this.find('.carousel-inner .item.animate_image:first-child .image').transformAnimate({ transform: "matrix("+matrixArray[$j('.carousel-inner .item:first-child').data('animate_image')]+")", duration: 30000 }); } } if($j('html').hasClass('touch')){ if($this.find('.item:first-child .mobile-video-image').length > 0){ src = image_regex.exec($this.find('.item:first-child .mobile-video-image').attr('style')); if (src) { var backImg = new Image(); backImg.src = src[1]; $j(backImg).on('load', function(){ $j('.qode_slider_preloader').fadeOut(500); initSlider(); checkSVG($this); }); } } else{ src = image_regex.exec($this.find('.item:first-child .image').attr('style')); if (src) { var backImg = new Image(); backImg.src = src[1]; $j(backImg).on('load', function(){ $j('.qode_slider_preloader').fadeOut(500); initSlider(); checkSVG($this); }); } } } else { if($this.find('.item:first-child video').length > 0){ $this.find('.item:first-child video').get(0).addEventListener('loadeddata',function(){ $j('.qode_slider_preloader').fadeOut(500); initSlider(); checkSVG($this); }); }else{ src = image_regex.exec($this.find('.item:first-child .image').attr('style')); if (src) { var backImg = new Image(); backImg.src = src[1]; $j(backImg).on('load', function(){ $j('.qode_slider_preloader').fadeOut(500); initSlider(); checkSVG($this); }); } } } $this.on('slide.bs.carousel', function () { $this.addClass('in_progress'); $this.find('.active .slider_content_outer').fadeTo(800,0); }); $this.on('slid.bs.carousel', function () { $this.removeClass('in_progress'); $this.find('.active .slider_content_outer').fadeTo(0,1); checkSVG($this); // initiate image animation on active slide and reset all others $j('div.item.animate_image .image').stop().css({'transform':'', '-webkit-transform':''}); if($j('div.item.active').hasClass('animate_image') && $window_width > 1000){ $j('div.item.animate_image.active .image').transformAnimate({ transform: "matrix("+matrixArray[$j('div.item.animate_image.active').data('animate_image')]+")", duration: 30000 }); } if($this.hasClass('slider_thumbs')){ var curr_item = $j('div.item').index($j('div.item.active')[0]) + 1; setPrevNextNumbers(curr_item, all_items_count); // prev thumb if($this.find('.active').prev('div.item').length){ if($this.find('.active').prev('div').find('.image').length){ src = image_regex.exec($this.find('.active').prev('div').find('.image').attr('style')); prev_image = new Image(); prev_image.src = src[1]; }else{ prev_image = $this.find('.active').prev('div').find('> .video').clone(); prev_image.find('.video-overlay').remove(); prev_image.find('.video-wrap').width(170).height(95); prev_image.find('.mejs-container').width(170).height(95); prev_image.find('video').width(170).height(95); } $this.find('.left.carousel-control .img .old').fadeOut(300,function(){ $j(this).remove(); }); $this.find('.left.carousel-control .img').append(prev_image).find('img, div.video').fadeIn(300).addClass('old'); }else{ if($this.find('.carousel-inner .item:last-child .image').length){ src = image_regex.exec($this.find('.carousel-inner .item:last-child .image').attr('style')); prev_image = new Image(); prev_image.src = src[1]; }else{ prev_image = $this.find('.carousel-inner .item:last-child > .video').clone(); prev_image.find('.video-overlay').remove(); prev_image.find('.video-wrap').width(170).height(95); prev_image.find('.mejs-container').width(170).height(95); prev_image.find('video').width(170).height(95); } $this.find('.left.carousel-control .img .old').fadeOut(300,function(){ $j(this).remove(); }); $this.find('.left.carousel-control .img').append(prev_image).find('img, div.video').fadeIn(300).addClass('old'); } // next thumb if($this.find('.active').next('div.item').length){ if($this.find('.active').next('div').find('.image').length){ src = image_regex.exec($this.find('.active').next('div').find('.image').attr('style')); next_image = new Image(); next_image.src = src[1]; }else{ next_image = $this.find('.active').next('div').find('> .video').clone(); next_image.find('.video-overlay').remove(); next_image.find('.video-wrap').width(170).height(95); next_image.find('.mejs-container').width(170).height(95); next_image.find('video').width(170).height(95); } $this.find('.right.carousel-control .img .old').fadeOut(300,function(){ $j(this).remove(); }); $this.find('.right.carousel-control .img').append(next_image).find('img, div.video').fadeIn(300).addClass('old'); }else{ if($this.find('.carousel-inner .item:first-child .image').length){ src = image_regex.exec($this.find('.carousel-inner .item:first-child .image').attr('style')); next_image = new Image(); next_image.src = src[1]; }else{ next_image = $this.find('.carousel-inner .item:first-child > .video').clone(); next_image.find('.video-overlay').remove(); next_image.find('.video-wrap').width(170).height(95); next_image.find('.mejs-container').width(170).height(95); next_image.find('video').width(170).height(95); } $this.find('.right.carousel-control .img .old').fadeOut(300,function(){ $j(this).remove(); }); $this.find('.right.carousel-control .img').append(next_image).find('img, div.video').fadeIn(300).addClass('old'); } } }); $this.swipe( { swipeLeft: function(event, direction, distance, duration, fingerCount){ $this.carousel('next'); }, swipeRight: function(event, direction, distance, duration, fingerCount){ $this.carousel('prev'); }, threshold:20 }); }); if ($j('.no-touch .carousel').length) { skrollr_slider = skrollr.init({ edgeStrategy: 'set', smoothScrolling: true, forceHeight: false }); skrollr_slider.refresh(); } } } function checkSliderForHeaderStyle($this, header_effect){ "use strict"; var slide_header_style = ""; var navigation_color = $this.data('navigation-color'); if($this.hasClass('light')){ slide_header_style = 'light';} if($this.hasClass('dark')){ slide_header_style = 'dark';} if( slide_header_style !== ""){ if(header_effect){ $j('header.page_header').removeClass('dark light').addClass(slide_header_style); $j('aside.vertical_menu_area').removeClass('dark light').addClass(slide_header_style); } $j('.carousel .carousel-control, .carousel .carousel-indicators').removeClass('dark light').addClass(slide_header_style); }else{ if(header_effect){ $j('header.page_header').removeClass('dark light').addClass(default_header_style); $j('aside.vertical_menu_area').removeClass('dark light').addClass(default_header_style); } $j('.carousel .carousel-control, .carousel .carousel-indicators').removeClass('dark light').addClass(default_header_style); } if(navigation_color !== undefined){ $j('.carousel-control .thumb_holder .thumb_top, .carousel-indicators li').css('background-color',navigation_color); $j('.carousel-control .prev_nav, .carousel-control .next_nav').css('border-color',navigation_color); $j('.carousel-control .prev_nav i, .carousel-control .next_nav i').css('color',navigation_color); }else{ $j('.carousel-control .thumb_holder .thumb_top, .carousel-indicators li').css('background-color',''); $j('.carousel-control .prev_nav, .carousel-control .next_nav').css('border-color',''); $j('.carousel-control .prev_nav i, .carousel-control .next_nav i').css('color',''); } } /* ** Set heights for qode carousel, portfolio slider and blog slider */ function calculateHeights(){ if($j('.portfolio_slides').length){ $j('.portfolio_slides').each(function(){ $j(this).parents('.caroufredsel_wrapper').css({'height' : ($j(this).find('li.item').outerHeight()-3) + 'px'}); //3 is because of the white line bellow the slider }); } if($j('.qode_carousels .slides').length){ $j('.qode_carousels .slides').each(function(){ $j(this).parents('.caroufredsel_wrapper').css({'height' : ($j(this).find('li.item').outerHeight()) + 'px'}); }); } if($j('.blog_slides').length){ $j('.blog_slides').each(function(){ $j(this).parents('.caroufredsel_wrapper').css({'height' : ($j(this).find('li.item').outerHeight()-3) + 'px'}); }); } if($j('.qode-bct-posts').length){ $j('.qode-bct-posts').each(function(){ $j(this).parents('.caroufredsel_wrapper').css({'height' : ($j(this).find('.qode-bct-post').outerHeight()) + 'px'}); }); } } /* ** Init Qode Carousel */ function initQodeCarousel(){ "use strict"; if($j('.qode_carousels').length){ $j('.qode_carousels').each(function(){ var thisItem = $j(this); var numberOfVisibleItems = 6; if(typeof thisItem.data('number-of-visible-items') !== 'undefined' && thisItem.data('number-of-visible-items') !== '') { if(thisItem.data('number-of-visible-items') === 4) { numberOfVisibleItems = 4; } else if (thisItem.data('number-of-visible-items') === 5) { numberOfVisibleItems = 5; } } var itemWidth = (thisItem.parents('.grid_section').length == 1 || thisItem.parents('.qode_elementor_container_inner').length == 1) ? 170 : 315; var maxItems = 6; if(numberOfVisibleItems === 4) { itemWidth = (thisItem.parents('.grid_section').length == 1 || thisItem.parents('.qode_elementor_container_inner').length == 1) ? 255 : 472; maxItems = 4; } else if (numberOfVisibleItems === 5) { itemWidth = (thisItem.parents('.grid_section').length == 1 || thisItem.parents('.qode_elementor_container_inner').length == 1) ? 204 : 378; maxItems = 5; } thisItem.find('.slides').carouFredSel({ circular: true, responsive: true, scroll : { items : 1, duration : 1000, pauseOnHover : false }, items: { width: itemWidth, visible: { min: 1, max: maxItems } }, auto: true, mousewheel: false, swipe: { onMouse: true, onTouch: true } }).animate({'opacity': 1},1000); }); calculateHeights(); } } /* ** Init Portfolio Slider */ function initPortfolioSlider(){ "use strict"; if($j('.portfolio_slider').length){ $j('.portfolio_slider').each(function(){ var number_of_items; var item_width_fw; if(typeof $j(this).data('number_of_items') !== 'undefined') { number_of_items = $j(this).data('number_of_items'); } else { number_of_items = 'auto'; } switch(number_of_items){ case 4: item_width_fw = 500; break; case 5: item_width_fw = 350; break; default: item_width_fw = 500; break; } var maxItems = ($j(this).parents('.grid_section').length == 1) ? 3 : number_of_items; var itemWidth = ($j(this).parents('.grid_section').length == 1) ? 353 : item_width_fw; $j(this).find('.portfolio_slides').carouFredSel({ circular: true, responsive: true, scroll: 1, prev : { button : function() { return $j(this).parent().siblings('.caroufredsel-direction-nav').find('#caroufredsel-prev'); } }, next : { button : function() { return $j(this).parent().siblings('.caroufredsel-direction-nav').find('#caroufredsel-next'); } }, items: { width: itemWidth, visible: { min: 1, max: maxItems } }, auto: false, mousewheel: false, swipe: { onMouse: true, onTouch: true } }).animate({'opacity': 1},1000); }); calculateHeights(); $j('.portfolio_slider .flex-direction-nav a').on('click', function(e){ e.preventDefault(); e.stopImmediatePropagation(); e.stopPropagation(); }); } } /* ** Init Blog Slider */ function initBlogSlider(){ "use strict"; if($j('.blog_slider').length){ $j('.blog_slider').each(function(){ var $this = $j(this); var blogs_shown; var maxItems; var itemWidth; var autoPlay = false; if(typeof $this.data('blogs_shown') !== 'undefined') { blogs_shown = $this.data('blogs_shown'); } else if($this.hasClass('simple_slider')){ blogs_shown = 1; } else{ blogs_shown = 'auto'; } autoPlay = $this.data('auto_start'); if ($this.hasClass('simple_slider')) { maxItems = 1; itemWidth = 300; } else { maxItems = ($this.parents('.grid_section').length == 1) ? 3 : blogs_shown; var itemWidthTemp; switch (blogs_shown) { case 3: itemWidthTemp = 667; break; case 4: itemWidthTemp = 500; break; case 5: itemWidthTemp = 400; break; case 6: itemWidthTemp = 334; break; default: itemWidthTemp = 500; break; } itemWidth = ($this.parents('.grid_section').length == 1) ? 353 : itemWidthTemp; } $this.find('.blog_slides').carouFredSel({ circular: true, responsive: true, scroll: 1, prev : { button : function() { return $j(this).parent().siblings('.caroufredsel-direction-nav').find('#caroufredsel-prev'); } }, next : { button : function() { return $j(this).parent().siblings('.caroufredsel-direction-nav').find('#caroufredsel-next'); } }, items: { width: itemWidth, visible: { min: 1, max: maxItems } }, auto: autoPlay, mousewheel: false, swipe: { onMouse: true, onTouch: true } }).animate({'opacity': 1},1000); }); calculateHeights(); $j('.blog_slider .flex-direction-nav a').on('click', function(e){ e.preventDefault(); e.stopImmediatePropagation(); e.stopPropagation(); }); } } /* ** Init Blog Slider */ function qodeInitBlogCarouselTitled(){ "use strict"; if($j('.qode-blog-carousel-titled').length){ $j('.qode-blog-carousel-titled').each(function(){ var slider = $j(this); var maxItems = 4; var itemWidth; var autoPlay = false; if(typeof slider.data('posts-shown') !== 'undefined') { maxItems = slider.data('posts-shown'); } if ( $window_width < 769 && maxItems > 2){ maxItems = 2; } if ( $window_width < 601 && maxItems > 1){ maxItems = 1; } itemWidth = slider.width()/maxItems; slider.find('.qode-bct-posts').carouFredSel({ circular: true, responsive: true, scroll: 1, prev : { button : function() { return slider.find('.qode-bct-caroufredsel-prev'); } }, next : { button : function() { return slider.find('.qode-bct-caroufredsel-next'); } }, items: { width: itemWidth, visible: { min: 1, max: maxItems } }, auto: autoPlay, mousewheel: false, swipe: { onMouse: true, onTouch: true } }); slider.animate({'opacity': 1},1000) }); calculateHeights(); } } /* ** Opening side menu on "menu button" click */ var current_scroll; function initSideMenu(){ "use strict"; if ($j('body').hasClass('side_area_uncovered_from_content')) { $j('.side_menu_button_wrapper a.side_menu_button_link, a.close_side_menu').on('click', function(e){ e.preventDefault(); $j('.side_menu').css({'right':'0'}); if(!$j('.side_menu_button_wrapper a.side_menu_button_link').hasClass('opened')){ $j('.side_menu').css({'visibility':'visible'}); $j(this).addClass('opened'); $j('body').addClass('right_side_menu_opened'); current_scroll = $j(window).scrollTop(); $j(window).scroll(function() { if(Math.abs($scroll - current_scroll) > 400){ $j('body').removeClass('right_side_menu_opened'); $j('.side_menu_button_wrapper a').removeClass('opened'); var hide_side_menu = setTimeout(function(){ $j('.side_menu').css({'visibility':'hidden'}); clearTimeout(hide_side_menu); },400); } }); }else{ $j('.side_menu_button_wrapper a.side_menu_button_link').removeClass('opened'); $j('body').removeClass('right_side_menu_opened'); var hide_side_menu = setTimeout(function(){ $j('.side_menu').css({'visibility':'hidden'}); clearTimeout(hide_side_menu); },400); } }); } if ($j('body').hasClass('side_menu_slide_with_content')) { $j('.side_menu_button_wrapper a.side_menu_button_link, a.close_side_menu').on('click', function(e){ e.preventDefault(); if(!$j('.side_menu_button_wrapper a.side_menu_button_link').hasClass('opened')){ $j(this).addClass('opened'); $j('body').addClass('side_menu_open'); current_scroll = $j(window).scrollTop(); $j(window).scroll(function() { if(Math.abs($scroll - current_scroll) > 400){ $j('body').removeClass('side_menu_open'); $j('.side_menu_button_wrapper a').removeClass('opened'); } }); }else{//hamburger icon has class open on its click $j('body').removeClass('side_menu_open'); $j('.side_menu_button_wrapper a.side_menu_button_link').removeClass('opened'); $j('body').removeClass('side_menu_open'); } e.stopPropagation(); $j('.wrapper').on('click', function() { e.preventDefault(); $j('body').removeClass('side_menu_open'); $j('.side_menu_button_wrapper a.side_menu_button_link').removeClass('opened'); $j('body').removeClass('side_menu_open'); }); }); } if ($j('body').hasClass('side_menu_slide_from_right')) { $j('.wrapper').prepend('
'); $j('.side_menu_button_wrapper a.side_menu_button_link, a.close_side_menu').on('click', function(e){ e.preventDefault(); if(!$j('.side_menu_button_wrapper a.side_menu_button_link').hasClass('opened')){ $j(this).addClass('opened'); $j('body').addClass('right_side_menu_opened'); $j(' .wrapper .cover').on('click', function() { $j('.side_menu_button_wrapper a.side_menu_button_link').removeClass('opened'); $j('body').removeClass('right_side_menu_opened'); $j('.side_menu_button_wrapper a').removeClass('opened'); }); current_scroll = $j(window).scrollTop(); $j(window).scroll(function() { if(Math.abs($scroll - current_scroll) > 400){ $j('body').removeClass('right_side_menu_opened'); $j('.side_menu_button_wrapper a').removeClass('opened'); } }); }else{ $j('.side_menu_button_wrapper a.side_menu_button_link').removeClass('opened'); $j('body').removeClass('right_side_menu_opened'); } }); } } function setDropDownMenuPosition(){ "use strict"; var menu_items = $j(".drop_down > ul > li.narrow"); menu_items.each( function(i) { var browser_width = $j(window).width()-16; // 16 is width of scroll bar var boxed_layout; // boxed layout width switch(true){ case qode_body.hasClass('qode_grid_1300'): boxed_layout = 1350; break; case qode_body.hasClass('qode_grid_1200'): boxed_layout = 1250; break; default : boxed_layout = 1150; break; } var menu_item_position = $j(menu_items[i]).offset().left; var sub_menu_width = $j(menu_items[i]).find('.second .inner ul').width(); var menu_item_from_left = 0; if($j('body').hasClass('boxed')){ menu_item_from_left = boxed_layout - (menu_item_position - (browser_width - boxed_layout)/2) + 17; // 17 is right padding between menu elements } else { menu_item_from_left = browser_width - menu_item_position + 17; // 17 is right padding between menu elements } var sub_menu_from_left; if($j(menu_items[i]).find('li.sub').length > 0){ sub_menu_from_left = menu_item_from_left - sub_menu_width; } if(menu_item_from_left < sub_menu_width || sub_menu_from_left < sub_menu_width){ $j(menu_items[i]).find('.second').addClass('right'); $j(menu_items[i]).find('.second .inner ul').addClass('right'); } }); } function initDropDownMenu(){ "use strict"; var menu_items = $j('.drop_down > ul > li'); menu_items.each( function(i) { if ($j(menu_items[i]).find('.second').length > 0) { if($j(menu_items[i]).hasClass('wide')){ var $this = $j(this), dropdown = $this.find('.inner > ul'), dropdownPadding = parseInt(dropdown.css('padding-left').slice(0, -2)) + parseInt(dropdown.css('padding-right').slice(0, -2)), dropdownColumns = $this.find('.second > .inner > ul > li'), row_number = dropdownColumns.length; if(!$this.hasClass('left_position') && !$this.hasClass('right_position')){ $this.find('.second').css('left',0); } var tallest = 0; dropdownColumns.each(function() { var thisHeight = $j(this).height(); if(thisHeight > tallest) { tallest = thisHeight; } }); dropdownColumns.height(tallest); if($this.hasClass('full_width_wide_menu')){ var colWidth = 100/row_number+'%'; dropdownColumns.css('width', colWidth); }else{ if (row_number > 4) { row_number = 4;} var width = row_number*dropdownColumns.outerWidth(); dropdown.width(width); } if(!$this.hasClass('wide_background')){ if(!$this.hasClass('left_position') && !$this.hasClass('right_position')){ var left_position = ($j(window).width() - 2 * ($j(window).width()-$j(this).find('.second').offset().left))/2 + (width+dropdownPadding)/2; $this.find('.second').css('left',-left_position); } } else{ if(!$this.hasClass('left_position') && !$this.hasClass('right_position')){ var left_position = $this.find('.second').offset().left; $this.find('.second').css('left',-left_position); $this.find('.second').css('width',$j(window).width()); } } } if(!menu_dropdown_height_set){ $j(menu_items[i]).data('original_height', $j(menu_items[i]).find('.second').height() + 'px'); $j(menu_items[i]).find('.second').height(0); } if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) { $j(menu_items[i]).on("touchstart mouseenter",function(){ $j(menu_items[i]).find('.second').css({'height': $j(menu_items[i]).data('original_height'), 'overflow': 'visible', 'visibility': 'visible', 'opacity': '1'}); }).on("mouseleave", function(){ $j(menu_items[i]).find('.second').css({'height': '0px','overflow': 'hidden', 'visivility': 'hidden', 'opacity': '0'}); }); }else{ var config = { interval: 0, over: function(){ setTimeout(function() { $j(menu_items[i]).find('.second').addClass('drop_down_start'); $j(menu_items[i]).find('.second').stop().css({'height': $j(menu_items[i]).data('original_height')}); }, 150); }, timeout: 150, out: function(){ $j(menu_items[i]).find('.second').stop().css({'height': '0px'}); $j(menu_items[i]).find('.second').removeClass('drop_down_start'); } }; $j(menu_items[i]).hoverIntent(config); } } }); $j('.drop_down ul li.wide ul li a, .drop_down ul li.narrow ul li a').on('click',function(){ var $this = $j(this); if(!$this.next('ul').length && ($this.attr('href') !== "http://#") && ($this.attr('href') !== "#") && !$this.hasClass('no_link')) { setTimeout(function() { $this.mouseleave(); }, 500); } }); menu_dropdown_height_set = true; } /* ** Vertical menu toggle dropdown */ function initVerticalMenu(){ "use strict"; if ($j('.no-touch .vertical_menu_toggle').length) { var menu_items = $j('.no-touch .vertical_menu_toggle > ul > li'); var menu_items_2 = $j('.no-touch .vertical_menu_toggle ul li ul li'); menu_items.each( function(i) { if($j(menu_items[i]).hasClass('has_sub')){ var subitems_number = $j(menu_items[i]).find('.inner > ul > li').length; $j(menu_items[i]).hoverIntent({ over: function() { $j(menu_items[i]).addClass('open'); $j(menu_items[i]).find('.second').slideDown(subitems_number*40, 'easeInOutSine', function(){ $j('.vertical_menu_area.with_scroll').getNiceScroll().resize(); }); }, out: function() { //if(!$j(menu_items[i]).hasClass('active')){ $j(menu_items[i]).removeClass('open'); $j(menu_items[i]).find('.second').slideUp(subitems_number*40, 'easeInOutSine'); //} }, timeout: 1000 }); } }); menu_items_2.each( function(i) { if($j(menu_items_2[i]).hasClass('menu-item-has-children')){ var subitems_number = $j(menu_items_2[i]).find('ul > li').length; $j(menu_items_2[i]).hoverIntent({ over: function() { $j(menu_items_2[i]).addClass('open'); $j(menu_items_2[i]).find('ul').slideDown(subitems_number*40, 'easeInOutSine', function(){ $j('.vertical_menu_area.with_scroll').getNiceScroll().resize(); }); }, out: function() { $j(menu_items_2[i]).removeClass('open'); $j(menu_items_2[i]).find('ul').slideUp(subitems_number*40, 'easeInOutSine'); }, timeout: 1000 }); } }); } else if ($j('.vertical_menu_on_click').length) { var menu_items = $j('.vertical_menu_on_click > ul > li > a'); var menu_items_2 = $j('.vertical_menu_on_click ul li ul li a'); menu_items.each( function(i) { if($j(menu_items[i]).parent().hasClass('has_sub')){ $j(menu_items[i]).on('tap click',function(e) { e.preventDefault(); if(!$j(this).parent().hasClass('open')) { $j('.vertical_menu_on_click > ul > li').removeClass('open'); $j('.vertical_menu_on_click > ul > li').find('.second').slideUp('fast'); $j(this).parent().addClass('open'); $j(this).parent().find('.second').slideDown('slow', function () { $j('.vertical_menu_area.with_scroll').getNiceScroll().resize(); }); }else{ $j(this).parent().removeClass('open'); $j(this).parent().find('.second').slideUp('fast', function () { $j('.vertical_menu_area.with_scroll').getNiceScroll().resize(); }); } return false; }); } }); menu_items_2.each( function(i) { if($j(menu_items_2[i]).parent().hasClass('menu-item-has-children')){ $j(menu_items_2[i]).on('tap click',function(e) { e.preventDefault(); if(!$j(this).parent().hasClass('open')) { $j('.vertical_menu_on_click ul li ul li').removeClass('open'); $j('.vertical_menu_on_click ul li ul li').find('ul').slideUp('fast'); $j(this).parent().addClass('open'); $j(this).parent().find('ul').slideDown('slow', function () { $j('.vertical_menu_area.with_scroll').getNiceScroll().resize(); }); }else{ $j(this).parent().removeClass('open'); $j(this).parent().find('ul').slideUp('fast', function () { $j('.vertical_menu_area.with_scroll').getNiceScroll().resize(); }); } return false; }); } }); } else if ($j('.no-touch .vertical_menu_float').length){ //show dropdown to content on menu item hover, link is available on menu item click var menu_items = $j('.no-touch .vertical_menu_float > ul > li'); var menu_items_2 = $j('.no-touch .vertical_menu_float ul li ul li'); menu_items.each( function(i) { if($j(menu_items[i]).hasClass('has_sub')){ $j(menu_items[i]).hoverIntent({ over: function() { $j(menu_items[i]).addClass('open'); $j(menu_items[i]).find('.second').addClass('vertical_menu_start'); }, out: function() { //if(!$j(menu_items[i]).hasClass('active')){ $j(menu_items[i]).removeClass('open'); $j(menu_items[i]).find('.second').removeClass('vertical_menu_start'); }, timeout: 300 }); } }); menu_items_2.each( function(i) { if($j(menu_items_2[i]).hasClass('menu-item-has-children')){ var subitems_number = $j(menu_items_2[i]).find('ul > li').length; $j(menu_items_2[i]).hoverIntent({ over: function() { $j(menu_items_2[i]).addClass('open'); $j(menu_items_2[i]).find('ul').addClass('vertical_submenu_start'); }, out: function() { $j(menu_items_2[i]).removeClass('open'); $j(menu_items_2[i]).find('ul').removeClass('vertical_submenu_start'); }, timeout: 300 }); } }); } } /* ** Show/Hide Vertical menu for mobile */ function initVerticalMobileMenu(){ "use strict"; if ($j('.vertical_menu_toggle').length) { //register tap / click event for main menu item plus icon $j('.touch .vertical_menu_toggle > ul > li.has_sub > a .plus').on('tap click', function(e){ //first prevent event propagation and it's default behavior e.stopPropagation(); e.preventDefault(); //is dropdown for clicked item visible? if($j(this).parent().next('div.second').is(":visible")){ //if it is remove 'open' class and slide it up $j(this).parents('.touch .vertical_menu_toggle > ul > li.has_sub').removeClass('open'); $j(this).parent().next('div.second').slideUp(200); } else { //if it's not visible add 'open' class and slide it down $j(this).parents('.touch .vertical_menu_toggle > ul > li.has_sub').addClass('open'); $j(this).parent().next('div.second').slideDown(200); } }); //register tap / click event for second level main menu item plus icon $j('.touch .vertical_menu_toggle ul li ul li > a .plus').on('tap click', function(e){ //first prevent event propagation and it's default behavior e.stopPropagation(); e.preventDefault(); //is dropdown for clicked item visible? if($j(this).parent().next('ul').is(":visible")){ //if it is remove 'open' class and slide it up $j(this).parents('.touch .vertical_menu_toggle ul li ul li').removeClass('open'); $j(this).parent().next('ul').slideUp(200); } else { //if it's not visible add 'open' class and slide it down $j(this).parents('.touch .vertical_menu_toggle ul li ul li').addClass('open'); $j(this).parent().next('ul').slideDown(200); } }); } else if ($j('.vertical_menu_float').length){ $j('.touch .vertical_menu_float > ul > li.has_sub > a .plus').on('tap click', function(e){ //first prevent event propagation and it's default behavior e.stopPropagation(); e.preventDefault(); //is dropdown for clicked item visible? if($j(this).parent().next('div.second').hasClass('vertical_menu_start')){ //if it is remove 'open' class and 'vertical_menu_start' $j(this).parents('.touch .vertical_menu_float > ul > li.has_sub').removeClass('open'); $j(this).parents('.touch .vertical_menu_float > ul > li.has_sub').find('.second').removeClass('vertical_menu_start'); } else { //if it's not visible add 'open' class and 'vertical_menu_start' $j(this).parents('.touch .vertical_menu_float > ul > li.has_sub').addClass('open'); $j(this).parents('.touch .vertical_menu_float > ul > li.has_sub').find('.second').addClass('vertical_menu_start'); } }); //register tap / click event for second level main menu item plus icon $j('.touch .vertical_menu_float ul li ul li > a .plus').on('tap click', function(e){ //first prevent event propagation and it's default behavior e.stopPropagation(); e.preventDefault(); //is dropdown for clicked item visible? if($j(this).parent().next('ul').hasClass('vertical_submenu_start')){ //if it is remove 'open' class and slide it up $j(this).parents('.touch .vertical_menu_float ul li ul li').removeClass('open'); $j(this).parents('.touch .vertical_menu_float ul li ul li').find('ul').removeClass('vertical_submenu_start'); } else { //if it's not visible add 'open' class and slide it down $j(this).parents('.touch .vertical_menu_float ul li ul li').addClass('open'); $j(this).parents('.touch .vertical_menu_float ul li ul li').find('ul').addClass('vertical_submenu_start'); } }); } } /* ** Set transparency for left menu area */ function checkVerticalMenuTransparency(){ if($scroll !== 0){ $j('body.vertical_menu_transparency').removeClass('vertical_menu_transparency_on'); }else{ $j('body.vertical_menu_transparency').addClass('vertical_menu_transparency_on'); } } /* ** Show/Hide hidden Vertical menu */ function showHideVerticalMenu(){ if($j('.vertical_menu_hidden').length) { var vertical_menu = $j('aside.vertical_menu_area'); var vertical_menu_bottom_logo = $j('.vertical_menu_area_bottom_logo'); var hovered_flag = true; $j('.vertical_menu_hidden_button').on('click',function (e) { e.preventDefault(); if(hovered_flag) { hovered_flag = false; current_scroll = $j(window).scrollTop(); //current scroll is defined in front of "initSideMenu" function vertical_menu.addClass('active'); vertical_menu_bottom_logo.addClass('active'); }else{ hovered_flag = true; vertical_menu.removeClass('active'); vertical_menu_bottom_logo.removeClass('active'); } }); $j(window).scroll(function() { if(Math.abs($scroll - current_scroll) > 400){ hovered_flag = true; vertical_menu.removeClass('active'); vertical_menu_bottom_logo.removeClass('active'); } }); //take click outside vertical left/rifgt area and close it (function() { var Outclick, outclick, _this = this; Outclick = (function() { Outclick.name = 'Outclick'; function Outclick() { this.objects = []; } Outclick.prototype.check = function(element, event) { return !element.is(event.target) && element.has(event.target).length === 0; }; Outclick.prototype.trigger = function(e) { var execute, _this = this; execute = false; return $j.each(this.objects, function(index, el) { if (_this.check(el.container, e)) { if (el.related.length < 1) { execute = true; } else { $j.each(el.related, function(index, relation) { if (_this.check(relation, e)) { return execute = true; } else { execute = false; return false; } }); } if (execute) { return el.callback.call(el.container); } } }); }; return Outclick; })(); outclick = new Outclick; $j.fn.outclick = function(options) { var _this = this; if (options == null) { options = {}; } options.related || (options.related = []); options.callback || (options.callback = function() { return _this.hide(); }); return outclick.objects.push({ container: this, related: options.related, callback: options.callback }); }; $j(document).mouseup(function(e) { return outclick.trigger(e); }); }).call(this); $j(vertical_menu).outclick({ callback: function() { hovered_flag = true; vertical_menu.removeClass('active'); vertical_menu_bottom_logo.removeClass('active'); } }); } } /* ** Plugin for counter shortcode */ (function($) { "use strict"; $.fn.countTo = function(options) { // merge the default plugin settings with the custom options options = $.extend({}, $.fn.countTo.defaults, options || {}); // how many times to update the value, and how much to increment the value on each update var loops = Math.ceil(options.speed / options.refreshInterval), increment = (options.to - options.from) / loops; return $(this).each(function() { var _this = this, loopCount = 0, value = options.from, interval = setInterval(updateTimer, options.refreshInterval); function updateTimer() { value += increment; loopCount++; $(_this).html(value.toFixed(options.decimals)); if (typeof(options.onUpdate) === 'function') { options.onUpdate.call(_this, value); } if (loopCount >= loops) { clearInterval(interval); value = options.to; if (typeof(options.onComplete) === 'function') { options.onComplete.call(_this, value); } } } }); }; $.fn.countTo.defaults = { from: 0, // the number the element should start at to: 100, // the number the element should end at speed: 1000, // how long it should take to count between the target numbers refreshInterval: 100, // how often the element should be updated decimals: 0, // the number of decimal places to show onUpdate: null, // callback method for every time the element is updated, onComplete: null // callback method for when the element finishes updating }; })(jQuery); /* ** Counter from zero to defined number */ function initToCounter(){ "use strict"; if($j('.counter.zero').length){ $j('.counter.zero').each(function() { var parent = $j(this).parent(); var axis = 100; if(typeof parent.data('element-appearance') !== 'undefined' && parent.data('element-appearance') !== false) { axis = parent.data('element-appearance'); } if(!$j(this).hasClass('executed')){ $j(this).addClass('executed'); if($j(this).parents('.vertical_split_slider').length){ $j(this).parent().css('opacity', '1'); var $max = parseFloat($j(this).text()); $j(this).countTo({ from: 0, to: $max, speed: 1500, refreshInterval: 100 }); } else{ $j(this).appear(function() { $j(this).parent().css('opacity', '1'); var $max = parseFloat($j(this).text()); $j(this).countTo({ from: 0, to: $max, speed: 1500, refreshInterval: 100 }); },{accX: 0, accY: -axis}); } } }); } } /* ** Counter with random effect */ function initCounter(){ "use strict"; if($j('.counter.random').length){ $j('.counter.random').each(function() { var parent = $j(this).parent(); var axis = 100; if(typeof parent.data('element-appearance') !== 'undefined' && parent.data('element-appearance') !== false) { axis = parent.data('element-appearance'); } if(!$j(this).hasClass('executed')){ $j(this).addClass('executed'); if($j(this).parents('.vertical_split_slider').length){ $j(this).parent().css('opacity', '1'); $j(this).absoluteCounter({ speed: 2000, fadeInDelay: 1000 }); } else{ $j(this).appear(function() { $j(this).parent().css('opacity', '1'); $j(this).absoluteCounter({ speed: 2000, fadeInDelay: 1000 }); },{accX: 0, accY: -axis}); } } else { if( $j(this).parents('.vertical_split_slider_responsive').length ){ var counterSpans = $j(this).find('span'); if( counterSpans.length ){ counterSpans.remove(); } var digit = 0; if( typeof( parent.data('digit') ) !== 'undefined' && parent.data('digit') !== '' ){ digit = parent.data('digit'); } $j(this).html(digit); $j(this).appear(function() { $j(this).absoluteCounter({ speed: 2000, fadeInDelay: 1000 }); },{accX: 0, accY: -axis}); } } }); } } /* ** Countdown */ function initCountdown(){ "use strict"; if($j('.countdown').length){ $j('.countdown').each(function(){ var countdownId = $j(this).attr('id'); var $this = $j('#'+countdownId); var year = 0; var month = 0; var day = 0; var hour = 0; var minute = 0; var monthsLabel; var monthLabel; var daysLabel; var dayLabel; var hoursLabel; var hourLabel; var minutesLabel; var minuteLabel; var secondsLabel; var secondLabel; var tickf; var timezone; var digitfs; var labelfs; var color; if(typeof $this.data('year') !== 'undefined' && $this.data('year') !== false) { year = $this.data('year'); } if(typeof $this.data('month') !== 'undefined' && $this.data('month') !== false) { month = $this.data('month'); } if(typeof $this.data('day') !== 'undefined' && $this.data('day') !== false) { day = $this.data('day'); } if(typeof $this.data('hour') !== 'undefined' && $this.data('hour') !== false) { hour = $this.data('hour'); } if(typeof $this.data('minute') !== 'undefined' && $this.data('minute') !== false) { minute = $this.data('minute'); } if(typeof $this.data('monthslabel') !== 'undefined' && $this.data('monthslabel') !== false) { monthsLabel = $this.data('monthslabel'); } if(typeof $this.data('monthlabel') !== 'undefined' && $this.data('monthlabel') !== false) { monthLabel = $this.data('monthlabel'); } if(typeof $this.data('dayslabel') !== 'undefined' && $this.data('dayslabel') !== false) { daysLabel = $this.data('dayslabel'); } if(typeof $this.data('daylabel') !== 'undefined' && $this.data('daylabel') !== false) { dayLabel = $this.data('daylabel'); } if(typeof $this.data('hourslabel') !== 'undefined' && $this.data('hourslabel') !== false) { hoursLabel = $this.data('hourslabel'); } if(typeof $this.data('hourlabel') !== 'undefined' && $this.data('hourlabel') !== false) { hourLabel = $this.data('hourlabel'); } if(typeof $this.data('minuteslabel') !== 'undefined' && $this.data('minuteslabel') !== false) { minutesLabel = $this.data('minuteslabel'); } if(typeof $this.data('minutelabel') !== 'undefined' && $this.data('minutelabel') !== false) { minuteLabel = $this.data('minutelabel'); } if(typeof $this.data('secondslabel') !== 'undefined' && $this.data('secondslabel') !== false) { secondsLabel = $this.data('secondslabel'); } if(typeof $this.data('secondlabel') !== 'undefined' && $this.data('secondlabel') !== false) { secondLabel = $this.data('secondlabel'); } if(typeof $this.data('tickf') !== 'undefined' && $this.data('tickf') !== false) { tickf = $this.data('tickf'); } if(typeof $this.data('timezone') !== 'undefined' && $this.data('timezone') !== false) { timezone = $this.data('timezone'); } if(typeof $this.data('digitfs') !== 'undefined' && $this.data('digitfs') !== false) { digitfs = $this.data('digitfs'); } if(typeof $this.data('labelfs') !== 'undefined' && $this.data('labelfs') !== false) { labelfs = $this.data('labelfs'); } if(typeof $this.data('color') !== 'undefined' && $this.data('color') !== false) { color = $this.data('color'); } $this.countdown({ until: new Date( year, month - 1, day, hour, minute, 44), labels: ['Years', monthsLabel, 'Weeks', daysLabel, hoursLabel, minutesLabel, secondsLabel], labels1: ['Year', monthLabel, 'Week', dayLabel, hourLabel, minuteLabel, secondLabel], format: 'ODHMS', timezone: timezone, padZeroes: true, significant: 0, onTick: function(){ if (digitfs !== 'undefined' && digitfs !== ''){ $this.find('.countdown-amount').css('font-size',digitfs + 'px').css('line-height',digitfs + 'px'); } if (labelfs !== 'undefined' && labelfs !== ''){ $this.find('.countdown-period').css('font-size',labelfs + 'px'); } if (color !== 'undefined' && color !== ''){ $this.find('.countdown_separator').css('background-color',color); } } }); }); } } /* ** Horizontal progress bars shortcode */ function initProgressBars(){ "use strict"; if($j('.q_progress_bar').length){ $j('.q_progress_bar').each(function() { if($j(this).parents('.vertical_split_slider').length){ initToCounterHorizontalProgressBar($j(this)); var percentage = $j(this).find('.progress_content').data('percentage'); $j(this).find('.progress_content').css('width', '0%'); $j(this).find('.progress_content').animate({'width': percentage+'%'}, 1500); $j(this).find('.progress_number_wrapper').css('width', '0%'); $j(this).find('.progress_number_wrapper').animate({'width': percentage+'%'}, 1500); } else { $j(this).appear(function() { initToCounterHorizontalProgressBar($j(this)); var percentage = $j(this).find('.progress_content').data('percentage'); $j(this).find('.progress_content').css('width', '0%'); $j(this).find('.progress_content').animate({'width': percentage+'%'}, 1500); $j(this).find('.progress_number_wrapper').css('width', '0%'); $j(this).find('.progress_number_wrapper').animate({'width': percentage+'%'}, 1500); },{accX: 0, accY: -200}); } }); } } /* ** Counter for horizontal progress bars percent from zero to defined percent */ function initToCounterHorizontalProgressBar($this){ "use strict"; var percentage = parseFloat($this.find('.progress_content').data('percentage')); if($this.find('.progress_number span').length) { $this.find('.progress_number span').each(function() { $j(this).parents('.progress_number_wrapper').css('opacity', '1'); $j(this).countTo({ from: 0, to: percentage, speed: 1500, refreshInterval: 50 }); }); } } /* ** Unordered list animation effect */ function initListAnimation(){ "use strict"; if($j('.animate_list').length > 0 && $j('.no_animation_on_touch').length === 0){ $j('.animate_list').each(function(){ $j(this).appear(function() { $j(this).find("li").each(function (l) { var k = $j(this); setTimeout(function () { k.animate({ opacity: 1, top: 0 }, 1500); }, 100*l); }); },{accX: 0, accY: -200}); }); } } /* ** Pie Chart shortcode */ function initPieChart(){ "use strict"; if($j('.q_percentage').length){ $j('.q_percentage').each(function() { var $barColor = piechartcolor; if(typeof $j(this).data('active') !== 'undefined' && $j(this).data('active') !== ""){ $barColor = $j(this).data('active'); } var $trackColor = '#eeeeee'; if(typeof $j(this).data('noactive') !== 'undefined' && $j(this).data('noactive') !== ""){ $trackColor = $j(this).data('noactive'); } var $line_width = 10; if(typeof $j(this).data('linewidth') !== 'undefined' && $j(this).data('linewidth') !== ""){ $line_width = $j(this).data('linewidth'); } var $size = 174; var axis = 200; if(typeof $j(this).data('element-appearance') !== 'undefined' && $j(this).data('element-appearance') !== false) { axis = $j(this).data('element-appearance'); } $j(this).appear(function() { initToCounterPieChart($j(this)); $j(this).parent().css('opacity', '1'); $j(this).easyPieChart({ barColor: $barColor, trackColor: $trackColor, scaleColor: false, lineCap: 'butt', lineWidth: $line_width, animate: 1500, size: $size }); },{accX: 0, accY: -axis}); }); } } /* ** Pie Chart shortcode */ function initPieChartWithIcon(){ "use strict"; if($j('.q_percentage_with_icon').length){ $j('.q_percentage_with_icon').each(function() { var $barColor = piechartcolor; if($j(this).data('active') !== ""){ $barColor = $j(this).data('active'); } var $trackColor = '#eeeeee'; if($j(this).data('noactive') !== ""){ $trackColor = $j(this).data('noactive'); } var $line_width = 10; if($j(this).data('linewidth') !== ""){ $line_width = $j(this).data('linewidth'); } var $size = 174; $j(this).appear(function() { $j(this).parent().css('opacity', '1'); $j(this).css('opacity', '1'); $j(this).easyPieChart({ barColor: $barColor, trackColor: $trackColor, scaleColor: false, lineCap: 'butt', lineWidth: $line_width, animate: 1500, size: $size }); },{accX: 0, accY: -200}); }); } } /* ** Counter for pie chart number from zero to defined number */ function initToCounterPieChart($this){ "use strict"; $j($this).css('opacity', '1'); var $max = parseFloat($j($this).find('.tocounter').text()); $j($this).find('.tocounter').countTo({ from: 0, to: $max, speed: 1500, refreshInterval: 50 }); } /* ** Init Portfolio list and Portfolio Filter */ function initPortfolio(){ "use strict"; if($j('.projects_holder_outer:not(.masonry_with_space, .justified_gallery)').length){ $j('.projects_holder_outer').each(function(){ var currentPortfolio = $j(this).find('.projects_holder'); if(getIEversion() == 9 || getIEversion() == 10){ currentPortfolio.addClass('ie-specific-styles'); } $j('.filter_holder .filter').on('click',function(){ var $this = $j(this).text(); var activeFilter = $j(this).data('filter'); if(currentPortfolio.children('article').length) { currentPortfolio.children('article').each(function(){ var thisArtcile = $j(this); if(thisArtcile.hasClass(activeFilter) && activeFilter !== 'all') { thisArtcile.find('a.lightbox').attr('rel','prettyPhoto[pretty_photo_gallery_'+$this.toLowerCase()+']'); thisArtcile.find('a.lightbox').attr('data-rel','prettyPhoto[pretty_photo_gallery_'+$this.toLowerCase()+']'); } else if(activeFilter === 'all') { thisArtcile.find('a.lightbox').attr('rel','prettyPhoto[pretty_photo_gallery]'); thisArtcile.find('a.lightbox').attr('data-rel','prettyPhoto[pretty_photo_gallery]'); } }); } var dropLabels = $j('.filter_holder').find('.label span'); dropLabels.each(function(){ $j(this).text($this); }); }); if(currentPortfolio.hasClass('v1')){ var timeArray= new Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25); }else if(currentPortfolio.hasClass('v2')){ var timeArray= new Array(1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20); }else if(currentPortfolio.hasClass('v3')){ var timeArray= new Array(1,2,3,2,3,4,3,4,5,4,5,6,5,6,7,6,7,8,7,8,9,8,9,10,9,10,11,10,11,12,11,12,13,12,13,14,13,14,15,14,15,16,15,16,17,16,17,18,17,18,19,18,19,20,19,20,21,20,21,22); }else if(currentPortfolio.hasClass('v4')){ var timeArray= new Array(1,2,3,4,2,3,4,5,3,4,5,6,4,5,6,7,5,6,7,8,6,7,8,9,7,8,9,10,8,9,10,11,9,10,11,12,10,11,12,13,11,12,13,14,12,13,14,15,13,14,15,16,14,15,16,17,15,16,17,18,16,17,18,19,17,18,19,20,18,19,20,21); }else if(currentPortfolio.hasClass('v5')){ var timeArray= new Array(1,2,3,4,5,2,3,4,5,6,3,4,5,6,7,4,5,6,7,8,5,6,7,8,9,6,7,8,9,10,7,8,9,10,11,8,9,10,11,12,9,10,11,12,13,10,11,12,13,14,11,12,13,14,15,12,13,14,15,16,13,14,15,16,17,14,15,16,17,18,15,16,17,18,19,20,16,17,18,19,20,17,18,19,20,21,18,19,20,21,22,19,20,21,22,23); }else if(currentPortfolio.hasClass('v6')){ var timeArray= new Array(1,2,3,4,5,6,2,3,4,5,6,7,3,4,5,6,7,8,4,5,6,7,8,9,5,6,7,8,9,10,6,7,8,9,10,11,7,8,9,10,11,12,8,9,10,11,12,13,9,10,11,12,13,14,10,11,12,13,14,15,11,12,13,14,15,16,12,13,14,15,16,17,13,14,15,16,17,18,14,15,16,17,18,19,15,16,17,18,19,20,16,17,18,19,20,21,17,18,19,20,21,22); } var filterOnLoad; if(window.location.hash && (window.location.hash).indexOf("portfolio_category") == 1) { filterOnLoad = (window.location.hash).replace('#',''); } else { filterOnLoad = 'all'; } qodeInitPortFilterCounter($j(this)); currentPortfolio.mixitup({ showOnLoad: filterOnLoad, transitionSpeed: 600, minHeight: 150, onMixLoad: function(){ $j('.projects_holder').addClass('hideItems'); $j('.projects_holder article').css('visibility','visible'); if(currentPortfolio.hasClass('portfolio_one_by_one')) { currentPortfolio.find('article').each(function(l) { var currentPortfolioItem = $j(this); if($j('.vertical_split_slider').length){ var acc = 0; }else{ var acc = -150; } currentPortfolioItem.appear(function(){ setTimeout(function() { currentPortfolioItem.addClass('show'); }, 100*l); },{accX: 0, accY: -150}); }); } if(currentPortfolio.hasClass('slide_from_left')) { currentPortfolio.find('article').each(function(i) { var currentPortfolioItem = $j(this); currentPortfolioItem.appear(function(){ setTimeout(function() { currentPortfolioItem.addClass('show'); }, (Math.random() * 200)); },{accX: 0, accY: -150}); }); } if(currentPortfolio.hasClass('slide_from_top')) { currentPortfolio.find('article').each(function(i) { var currentPortfolioItem = $j(this); currentPortfolioItem.appear(function(){ setTimeout(function() { currentPortfolioItem.addClass('show'); }, timeArray[i]*50); },{accX: 0, accY: -150}); }); } if(currentPortfolio.hasClass('diagonal_fade')) { currentPortfolio.find('article').each(function(i) { var currentPortfolioItem = $j(this); currentPortfolioItem.appear(function(){ setTimeout(function() { currentPortfolioItem.addClass('show'); }, timeArray[i]*50); },{accX: 0, accY: -150}); }); } initParallax(); }, onMixEnd: function(){ initParallax(); } }); }); } } /* ** Init z-index for portfolio items */ function initPortfolioZIndex(){ "use strict"; if($j('.projects_holder_outer.portfolio_no_space').length){ $j('.no_space.hover_text article').each(function(i){ $j(this).css('z-index', i +10); }); } } function initPortfolioJustifiedGallery() { "use strict"; var project_holder = $j('.projects_holder_outer.justified_gallery'); project_holder.each(function() { var filter_holder = $j(this).find('.filter_holder'); filter_holder.find('li.filter').first().addClass('current'); filter_holder.find('.filter').on('click',function(){ var $this = $j(this).text(); var dropLabels = filter_holder.find('.label span'); dropLabels.each(function(){ $j(this).text($this); }); var selector = $j(this).attr('data-filter'); var articles = the_gallery.find('article'); var transition_duration = 500; articles.css('transition','all '+transition_duration+'ms ease'); articles.not(selector).css({ 'transform': 'scale(0)' }); setTimeout(function() { articles.filter(selector).css({ 'transform': '' }); the_gallery.css('transition','height '+transition_duration+'ms ease').justifiedGallery({selector: '>article'+(selector != '*' ? selector : '')}); }, 1.1*transition_duration); setTimeout(function() { articles.css('transition',''); the_gallery.css('transition',''); }, 2.2*transition_duration); $j(".filter").removeClass("current active"); $j(this).addClass("current active"); return false; }); qodeInitPortFilterCounter(project_holder); var the_gallery = $j(this).find('.projects_holder'); var row_height = typeof the_gallery.data('row-height') !== 'undefined' ? the_gallery.data('row-height') : 200, spacing = typeof the_gallery.data('spacing') !== 'undefined' ? the_gallery.data('spacing') : 0, last_row = typeof the_gallery.data('last-row') !== 'undefined' ? the_gallery.data('last-row') : 'nojustify', justify_threshold = typeof the_gallery.data('justify-threshold') !== 'undefined' ? the_gallery.data('justify-threshold') : 0.75; the_gallery .justifiedGallery({ captions: false, rowHeight: row_height, margins: spacing, border: 0, lastRow: last_row, justifyThreshold: justify_threshold, selector: '> article' }) .on('jg.complete jg.rowflush', function() { $j(this).find('article').addClass('show').each(function() { $j(this).height(Math.round($j(this).height())); }); }); }); } function initPortfolioMasonryFilter(){ "use strict"; var masonry_holder = $j('.projects_masonry_holder, .masonry_with_space .projects_holder'); if (masonry_holder.length) { var portfolioIsotopeAnimation = null; $j('.filter:first').addClass('current'); $j('.filter').on('click', function(){ clearTimeout(portfolioIsotopeAnimation); $j('.isotope, .isotope .isotope-item').css('transition-duration','0.8s'); portfolioIsotopeAnimation = setTimeout(function(){ $j('.isotope, .isotope .isotope-item').css('transition-duration','0s'); },700); var selector = $j(this).attr('data-filter'); masonry_holder.isotope({ filter: selector }); $j(".filter").removeClass("current"); $j(this).addClass("current"); var $filterText = $j(this).text(); if(selector !== '*') { selector = selector.substring(1); // because first character is dot } if(masonry_holder.children('article').length) { masonry_holder.children('article').each(function(){ var thisArtcile = $j(this); if(thisArtcile.hasClass(selector) && selector !== '*') { thisArtcile.find('a.lightbox').attr('rel','prettyPhoto[pretty_photo_gallery_'+$filterText.toLowerCase()+']'); thisArtcile.find('a.lightbox').attr('data-rel','prettyPhoto[pretty_photo_gallery_'+$filterText.toLowerCase()+']'); } else if(selector === '*') { thisArtcile.find('a.lightbox').attr('rel','prettyPhoto[pretty_photo_gallery]'); thisArtcile.find('a.lightbox').attr('data-rel','prettyPhoto[pretty_photo_gallery]'); } }); } setTimeout(setPortfolioMasZIndex(),700); return false; }); } } function initPortfolioMasonry(){ "use strict"; var portList = $j('.projects_masonry_holder, .masonry_with_space .projects_holder'); if(portList.length) { portList.each(function() { var thisPortList = $j(this); var size = thisPortList.find('.qode-portfolio-masonry-gallery-grid-sizer').width(); if(portList.hasClass('projects_masonry_holder')) { resizeMasonry(size,thisPortList); } qodeInitMasonry(thisPortList); qodeInitPortFilterCounter(portList.parent()); $j(window).resize(function(){ setPortfolioMasZIndex(); if(portList.hasClass('projects_masonry_holder')) { resizeMasonry(size, thisPortList); } qodeInitMasonry(thisPortList); }); }); } } function qodeInitMasonry(container){ container.waitForImages(function() { container.animate({opacity:1}); container.isotope({ itemSelector: '.portfolio_masonry_item, .masonry_with_space .mix', masonry: { columnWidth: '.qode-portfolio-masonry-gallery-grid-sizer' } }); if(container.hasClass('portfolio_one_by_one')) { container.find('article').each(function(l) { var $this = $j(this); setTimeout(function() { $this.addClass('show'); }, 100*l); }); } if(container.hasClass('portfolio_fade_from_bottom')) { container.find('article').each(function(l) { var $this = $j(this); $j(this).css({ 'opacity': '0', 'transform':'translateY(150px)' }); $j(this).appear(function() { setTimeout(function() { $this.css({'opacity':'1','transition':'all .8s ease','transform':'translateY(0)'}); }, 100); },{accX: 0, accY: -150}); }); } }); } function resizeMasonry(size, container){ var $window = jQuery(window); if(container.hasClass('portfolio_masonry_gallery_with_space')) { var defaultMasonryItem = container.find('.portfolio_masonry_item.default'); var largeWidthMasonryItem = container.find('.large_width'); var largeHeightMasonryItem = container.find('.large_height'); var largeWidthHeightMasonryItem = container.find('.large_width_height'); defaultMasonryItem.css('height', size); largeHeightMasonryItem.css('height', Math.round(2*size)); if($window.innerWidth() > 480){ largeWidthHeightMasonryItem.css('height', Math.round(2*size)); largeWidthMasonryItem.css('height', size); }else{ largeWidthHeightMasonryItem.css('height', size); } } else { var largeItemHeight; if(container.find('article[class*="default"]:first img').height()){ largeItemHeight = container.find('article[class*="default"]:first img').height(); }else if(container.find('article[class*="large_width"]:not(.large_width_height):first img').height()){ largeItemHeight = container.find('article[class*="large_width"]:not(.large_width_height):first img').height(); }else{ largeItemHeight = (container.find('article[class*="large_width_height"]:first img').height()) ? (container.find('article[class*="large_width_height"]:first img').height())/2 : (container.find('article[class*="large_height"]:first img').height())/2; } var double = ($window.innerWidth() > 480) ? 2 : 1 ; container.find('article[class*="large_width_height"] img, article[class*="large_height"] img').css('height',(largeItemHeight*double)); } } function setPortfolioMasZIndex(){ var $elemXPos = {}; var $elemZIndex = {}; $j('.projects_masonry_holder article').each(function(){ $elemXPos[$j(this).index()] = getPortfolioXPos($j(this).css('left')); }); var $elemXPosArray = $j.map($elemXPos, function (value) { return value; }); $elemXPosArray = cleanPortfolioMasXArray($elemXPosArray); $elemXPosArray.sort(function(x,y){return x-y}); for(var i = 0; i < $elemXPosArray.length; i++){ $elemZIndex[$elemXPosArray[i]] = i*10; } $j.each($elemXPos,function(key,val){ var $zi; var $bgd = val; $j.each($elemZIndex,function(key,val){ if($bgd == key) { $zi = val; } }); $j('.projects_masonry_holder article:eq('+key+')').css('z-index',$zi); }); } function cleanPortfolioMasXArray($elemXPosArray) { var i; var length = $elemXPosArray.length; var $elemXPosOutArray = []; var tmp = {}; for (i = 0; i < length; i++) { tmp[$elemXPosArray[i]] = 0; } for (i in tmp) { $elemXPosOutArray.push(i); } return $elemXPosOutArray; } function getPortfolioXPos(css) { //return css.substr(7, css.length - 8).split(', ')[4]; return css.substr(0, css.length - 2); } /** * Initializes filter counter * Category name is second item in class array by default */ function qodeInitPortFilterCounter(container){ if(container.hasClass('portfolio_holder_fwn')){ var articles = (container.find('article')); var filters = (container.find('.filter_holder ul li')); filters.each(function(){ var item = $j(this); if((item).data('filter') == 'all' || (item).data('filter') == '*'){ updateResult(item,".filter_number_of_items", articles.length); } else{ var categoryClass = item.attr('data-filter'); categoryClass = categoryClass.replace(/\./g, ''); updateResult(item,".filter_number_of_items", container.find('article.'+categoryClass).length); } }); filters.css('opacity','1'); } function updateResult(item, pos ,value){ item.find(pos).text(value); } } /* * Get global grid width */ function qodeGridWidth() { var bodyClasses = qode_body.attr("class"); if (bodyClasses.match(/grid[\w-]*\b/)) { gridClass = bodyClasses.match(/grid[\w-]*\b/).toString(); qode_grid_width = parseInt(gridClass.substr(5)); } } function initServiceAnimation(){ "use strict"; if($j(".fade_in_circle_holder").length > 0 && $j('.no_animation_on_touch').length === 0){ $j('.fade_in_circle_holder').each(function(){ $j(this).appear(function(){ $j(this).addClass('animate_circle'); },{accX: 0, accY: -200}); }); } } function checkTitleToShowOrHide(){ if($j('.title_outer.animate_title_area').length){ var title_area_height = $j('.title_outer').data('height'); if($scroll > $j('.title').height()){ $j('.title_outer').css({'height':title_area_height, 'opacity':'1', 'overflow':'visible'}); } } } /* ** Title area animation */ function initTitleAreaAnimation(){ if($j('.title_outer.animate_title_area').length){ var title_area_height = $j('.title_outer').data('height'); if($j('.title_outer').hasClass('with_image')){ title_area_height = $j('.image.responsive').height(); } if($scroll < $j('.title').height()){ $j('.title_outer').animate({ height: title_area_height, opacity: 1}, 500, function(){ $j(this).css({'overflow':'visible'}); initPortfolioSingleInfo(); if($j('nav.content_menu').length > 0){ content_menu_position = $j('nav.content_menu').offset().top; contentMenuPosition(); } }); } } } /* ** Title image with parallax effect */ function initParallaxTitle(){ "use strict"; if(($j('.title').length > 0) && ($j('.touch').length === 0)){ if($j('.title.has_fixed_background').length){ var $background_size_width = parseInt($j('.title.has_fixed_background').css('background-size').match(/\d+/)); var title_holder_height = $j('.title.has_fixed_background').height(); var title_rate = (title_holder_height / 10000) * 7; var title_distance = $scroll - $j('.title.has_fixed_background').offset().top; var title_bpos = -(title_distance * title_rate); $j('.title.has_fixed_background').css({'background-position': 'center '+ (0+add_for_admin_bar) +'px' }); if($j('.title.has_fixed_background').hasClass('zoom_out')){ $j('.title.has_fixed_background').css({'background-size': $background_size_width-$scroll + 'px auto'}); } } $j(window).on('scroll', function() { if($j('.title.has_fixed_background').length){ var title_distance = $scroll - $j('.title.has_fixed_background').offset().top; var title_bpos = -(title_distance * title_rate); $j('.title.has_fixed_background').css({'background-position': 'center ' + (title_bpos+add_for_admin_bar) + 'px' }); if($j('.title.has_fixed_background').hasClass('zoom_out')){ $j('.title.has_fixed_background').css({'background-size': $background_size_width-$scroll + 'px auto'}); } } }); } } /* Plugin: jQuery Parallax Version 1.1.3 Author: Ian Lunn Twitter: @IanLunn Author URL: http://www.ianlunn.co.uk/ Plugin URL: http://www.ianlunn.co.uk/plugins/jquery-parallax/ Dual licensed under the MIT and GPL licenses: http://www.opensource.org/licenses/mit-license.php http://www.gnu.org/licenses/gpl.html */ (function( $ ){ var $window = $(window); var windowHeight = $window.height(); $window.resize(function () { windowHeight = $window.height(); }); $.fn.parallax = function(xpos, speedFactor, outerHeight) { var $this = $(this); var getHeight; var firstTop; var paddingTop = 0; //get the starting position of each element to have parallax applied to it $this.each(function(){ firstTop = $this.offset().top; }); if (outerHeight) { getHeight = function(jqo) { return jqo.outerHeight(true); }; } else { getHeight = function(jqo) { return jqo.height(); }; } // setup defaults if arguments aren't specified if (arguments.length < 1 || xpos === null) xpos = "50%"; if (arguments.length < 2 || speedFactor === null) speedFactor = 0.1; if (arguments.length < 3 || outerHeight === null) outerHeight = true; // function to be called whenever the window is scrolled or resized function update(){ var pos = $window.scrollTop(); $this.each(function(){ var $element = $(this); var top = $element.offset().top; var height = getHeight($element); // Check if totally above or totally below viewport if (top + height < pos || top > pos + windowHeight) { return; } $this.css('backgroundPosition', xpos + " " + Math.round((firstTop - pos) * speedFactor) + "px"); }); } $window.bind('scroll', update).resize(update); update(); }; })(jQuery); /* ** Sections with parallax background image */ function initParallax(){ "use strict"; if($j('.parallax_section_holder').length){ $j('.parallax_section_holder').each(function() { var parallaxElement = $j(this); if(parallaxElement.hasClass('qode_full_screen_height_parallax')){ parallaxElement.height($window_height); //parallaxElement.find('.qodef-parallax-content-outer').css('padding',0); } var speed = parallaxElement.data('speed')*0.4; parallaxElement.parallax("50%", speed); }); } } /* ** Smooth scroll functionality for Side Area */ function initSideAreaScroll(){ "use strict"; if($j('.side_menu').length){ $j(".side_menu").niceScroll({ scrollspeed: 60, mousescrollstep: 40, cursorwidth: 0, cursorborder: 0, cursorborderradius: 0, cursorcolor: "transparent", autohidemode: false, horizrailenabled: false }); } } /* ** Smooth scroll functionality for Vertical Menu Area Toogle style */ function initVerticalAreaMenuScroll(){ "use strict"; if($j('.vertical_menu_area.with_scroll').length){ $j(".vertical_menu_area.with_scroll").niceScroll({ scrollspeed: 60, mousescrollstep: 40, cursorwidth: 0, cursorborder: 0, cursorborderradius: 0, cursorcolor: "transparent", autohidemode: false, horizrailenabled: false }); } } /* ** Load more portfolios */ function loadMore(){ "use strict"; var i = 1; $j('.load_more a').on('click', function(e) { e.preventDefault(); var currentElement = $j(this); var currentElementHolder = $j(this).closest('.projects_holder_outer'); var link = $j(this).attr('href'); var $content = '.projects_holder'; var $anchor = '.portfolio_paging .load_more a'; var $next_href = $j($anchor).attr('href'); // Get URL for the next set of posts var filler_num = $j('.projects_holder .filler').length; var load_more_holder = $j('.portfolio_paging'); var loading_holder = $j('.portfolio_paging_loading'); load_more_holder.hide(); loading_holder.show(); $j.get(link+'', function(data){ if (!$j($content).is('.justified-gallery')) { $j('.projects_holder .filler').slice(-filler_num).remove(); var $new_content = $j($content, data).wrapInner('').html(); // Grab just the content $next_href = $j($anchor, data).attr('href'); // Get the new href $j($content, data).waitForImages(function() { $j('article.mix:last').after($new_content); // Append the new content $j('.projects_holder article').css('visibility','visible'); $j('article:not(.show)').each(function(l){ $j(this).addClass('show'); }); if($j('.masonry_with_space').length){ $j('.masonry_with_space .projects_holder').isotope('reloadItems').isotope(); }else{ var min_height = $j('article.mix:first').height(); $j('article.mix').css('min-height',min_height); $j('.projects_holder').mixitup('remix','all'); } prettyPhoto(); if($j('.load_more').attr('rel') > i) { $j('.load_more a').attr('href', $next_href); // Change the next URL } else { $j('.load_more').remove(); } $j('.projects_holder .portfolio_paging:last').remove(); // Remove the original navigation $j('article.mix').css('min-height',0); load_more_holder.show(); loading_holder.hide(); }); } else { var $new_content = $j($content, data).wrapInner('').html(); // Grab just the content $next_href = $j($anchor, data).attr('href'); // Get the new href $j($content, data).waitForImages(function() { $j($content).find('article:last').after($new_content); // Append the new content $j($content).find('article').css('visibility','visible'); $j($content).justifiedGallery('norewind'); prettyPhoto(); if($j('.load_more').attr('rel') > i) { $j('.load_more a').attr('href', $next_href); // Change the next URL } else { $j('.load_more').remove(); } $j('.projects_holder .portfolio_paging:last').remove(); // Remove the original navigation load_more_holder.show(); loading_holder.hide(); }); } }).done(function() { setTimeout(function(){ initPortfolioMasonry(); qodeInitPortFilterCounter(currentElementHolder); },1000); }); i++; }); } /* ** Picture popup for portfolio lists and portfolio single */ function prettyPhoto(){ "use strict"; $j('a[data-rel]').each(function() { $j(this).attr('rel', $j(this).data('rel')); }); // TODO make this in one call of prettyPhoto $j("a[rel^='prettyPhoto']:not(.qode-single-image-pretty-photo)").prettyPhoto({ animation_speed: 'normal', /* fast/slow/normal */ slideshow: false, /* false OR interval time in ms */ autoplay_slideshow: false, /* true/false */ opacity: 0.80, /* Value between 0 and 1 */ show_title: true, /* true/false */ allow_resize: true, /* Resize the photos bigger than viewport. true/false */ horizontal_padding: 0, default_width: 650, default_height: 400, counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */ theme: 'pp_default', /* light_rounded / dark_rounded / light_square / dark_square / facebook */ hideflash: false, /* Hides all the flash object on a page, set to TRUE if flash appears over prettyPhoto */ wmode: 'opaque', /* Set the flash wmode attribute */ autoplay: true, /* Automatically start videos: True/False */ modal: false, /* If set to true, only the close button will close the window */ overlay_gallery: false, /* If set to true, a gallery will overlay the fullscreen image on mouse over */ keyboard_shortcuts: true, /* Set to false if you open forms inside prettyPhoto */ deeplinking: false, social_tools: false }); $j("a[rel^='prettyPhoto'].qode-single-image-pretty-photo").prettyPhoto({ animation_speed: 'normal', /* fast/slow/normal */ slideshow: false, /* false OR interval time in ms */ autoplay_slideshow: false, /* true/false */ opacity: 0.80, /* Value between 0 and 1 */ show_title: true, /* true/false */ allow_resize: true, /* Resize the photos bigger than viewport. true/false */ horizontal_padding: 0, default_width: 650, default_height: 400, counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */ theme: 'pp_default', /* light_rounded / dark_rounded / light_square / dark_square / facebook */ hideflash: false, /* Hides all the flash object on a page, set to TRUE if flash appears over prettyPhoto */ wmode: 'opaque', /* Set the flash wmode attribute */ autoplay: true, /* Automatically start videos: True/False */ modal: false, /* If set to true, only the close button will close the window */ overlay_gallery: false, /* If set to true, a gallery will overlay the fullscreen image on mouse over */ keyboard_shortcuts: true, /* Set to false if you open forms inside prettyPhoto */ deeplinking: false, social_tools: false, changepicturecallback: function(){ $j('.pp_pic_holder').addClass('qode-pretty-photo-hide-navigation'); }, /* Called everytime an item is shown/changed */ }); } /* ** Show/Hide Mobile menu */ function initMobileMenu(){ "use strict"; $j(".mobile_menu_button > span").on('tap click', function(e){ e.preventDefault(); if ($j(".mobile_menu > ul").is(":visible")){ $j(".mobile_menu > ul").slideUp(200); } else { $j(".mobile_menu > ul").slideDown(200); } }); initInsideMobileMenu(); } /* ** Show/Hide second level in mobile menu (separated from initMobileMenu because of wpml reinit when ajax is enabled) */ function initInsideMobileMenu(){ "use strict"; $j(".mobile_menu > ul > li.has_sub > span.mobile_arrow, .mobile_menu > ul > li.has_sub > h3, .mobile_menu > ul > li.has_sub > a[href*='#']").on('tap click', function(e){ e.preventDefault(); if ($j(this).closest('li.has_sub').find("> ul.sub_menu").is(":visible")){ $j(this).closest('li.has_sub').find("> ul.sub_menu").slideUp(200); $j(this).closest('li.has_sub').removeClass('open_sub'); } else { $j(this).closest('li.has_sub').addClass('open_sub'); $j(this).closest('li.has_sub').find("> ul.sub_menu").slideDown(200); } }); $j(".mobile_menu > ul > li.has_sub > ul.sub_menu > li.has_sub > span.mobile_arrow, .mobile_menu > ul > li.has_sub > ul.sub_menu > li.has_sub > h3, .mobile_menu > ul > li.has_sub > ul.sub_menu > li.has_sub > a[href*='#']").on('tap click', function(e){ e.preventDefault(); if ($j(this).parent().find("ul.sub_menu").is(":visible")){ $j(this).parent().find("ul.sub_menu").slideUp(200); $j(this).parent().removeClass('open_sub'); } else { $j(this).parent().addClass('open_sub'); $j(this).parent().find("ul.sub_menu").slideDown(200); } }); $j(".mobile_menu ul li > a, .q_logo a").on('click', function(){ if(($j(this).attr('href') !== "http://#") && ($j(this).attr('href') !== "#")){ $j(".mobile_menu > ul").slideUp(); } }); } /* ** Init flexslider for portfolio single */ function initFlexSlider(){ "use strict"; $j('.flexslider').each(function(){ var $this = $j(this); var interval = 8000; if(typeof $this.data('interval') !== 'undefined' && $this.data('interval') !== false) { interval = parseFloat($this.data('interval')) * 1000; } var directionNav = true; if(typeof $this.data('direction') !== 'undefined') { directionNav = $this.data('direction'); } var controlNav = false; if(typeof $this.data('control') !== 'undefined'){ controlNav = $this.data('control'); } var pauseOnHoverAction = true; if(typeof $this.data('pause-on-hover') !== 'undefined'){ pauseOnHoverAction = $this.data('pause-on-hover'); } var enableDrag = false; if(typeof $this.data('drag') !== 'undefined'){ enableDrag = $this.data('drag'); } var slideshow = true; if(interval === 0) { slideshow = false; } var animation = 'slide'; if(typeof $this.data('flex_fx') !== 'undefined' && $this.data('flex_fx') !== false) { animation = $this.data('flex_fx'); } $this.flexslider({ animationLoop: true, controlNav: controlNav, directionNav: directionNav, useCSS: false, pauseOnAction: pauseOnHoverAction, pauseOnHover: pauseOnHoverAction, slideshow: slideshow, animation: animation, prevText: "
", nextText: "
", animationSpeed: 600, slideshowSpeed: interval, touch: true, start: function(){ setTimeout(function(){$j(".flexslider").fitVids();},100); } }); $this.find('.flex-direction-nav a').on('click', function(e){ e.preventDefault(); e.stopImmediatePropagation(); e.stopPropagation(); }); if(enableDrag) { $this.swipe({ swipeLeft: function () { $this.flexslider('next'); }, swipeRight: function () { $this.flexslider('prev'); }, threshold: 20 }); } }); } /* ** Init fitVideo function for responsive video files */ function fitVideo(){ "use strict"; $j(".portfolio_images").fitVids(); $j(".video_holder").fitVids(); $j(".format-video .post_image").fitVids(); $j(".format-video .q_masonry_blog_post_image").fitVids(); } /* ** Function for follow portfolio single descripton */ var $scrollHeight; function initPortfolioSingleInfo(){ "use strict"; var $sidebar = $j(".portfolio_single_follow"); if($j(".portfolio_single_follow").length > 0){ var offset = $sidebar.offset(); $scrollHeight = $j(".portfolio_container").height(); var $scrollOffset = $j(".portfolio_container").offset(); var $window = $j(window); var $headerHeight = parseInt($j('header.page_header').css('height'), 10); $window.scroll(function() { if($window.width() > 960){ if ($window.scrollTop() + $headerHeight + 3 > offset.top) { if ($window.scrollTop() + $headerHeight + $sidebar.height() + 24 < $scrollOffset.top + $scrollHeight) { $sidebar.stop().animate({ marginTop: $window.scrollTop() - offset.top + $headerHeight }); } else { $sidebar.stop().animate({ marginTop: $scrollHeight - $sidebar.height() - 24 }); } } else { $sidebar.stop().animate({ marginTop: 0 }); } }else{ $sidebar.css('margin-top',0); } }); } } /* ** Init tabs shortcodes */ function initTabs(){ "use strict"; if($j('.q_tabs').length){ $j('.q_tabs').appear(function() { $j('.q_tabs').css('visibility', 'visible'); },{accX: 0, accY: -100}); var $tabsNav = $j('.tabs-nav'); var $tabsNavLis = $tabsNav.children('li'); $tabsNav.each(function() { var $this = $j(this); $this.next().children('.tab-content').stop(true,true).hide().first().show(); $this.children('li').first().addClass('active').stop(true,true).show(); }); $tabsNavLis.on('click', function(e) { var $this = $j(this); $this.siblings().removeClass('active').end().addClass('active'); $this.parent().next().children('.tab-content').stop(true,true).hide().siblings( $this.find('a').attr('href') ).fadeIn(); e.preventDefault(); }); } } /* ** Init advanced tabs shortcode */ function qodeInitAdvancedTabs(){ var tabs = $j('.qode-advanced-tabs'); if(tabs.length){ tabs.each(function(){ var thisTabs = $j(this); thisTabs.children('.qode-advanced-tab-container').each(function(index){ index = index + 1; var that = $j(this), link = that.attr('id'), navItem = that.parent().find('.qode-advanced-tabs-nav li:nth-child('+index+') a'), navLink = navItem.attr('href'); link = '#'+link; if(link.indexOf(navLink) > -1) { navItem.attr('href',link); } }); thisTabs.tabs(); }); } } /* ** Generate icons in tabs navigation */ function qodeInitAdvancedTabsIcons(){ var tabContent = $j('.qode-advanced-tab-container'); if(tabContent.length){ tabContent.each(function(){ var thisTabContent = $j(this); var id = thisTabContent.attr('id'); var icon = ''; if(typeof thisTabContent.data('icon-html') !== 'undefined' || thisTabContent.data('icon-html') !== 'false') { icon = thisTabContent.data('icon-html'); } var tabNav = thisTabContent.parents('.qode-advanced-tabs').find('.qode-advanced-tabs-nav > li a[href="#'+id+'"]'); if(typeof(tabNav) !== 'undefined') { tabNav.children('.qode-advanced-icon-frame').append(icon); } }); } } /* ** Init accordion and toogle shortcodes */ function initAccordion() { "use strict"; if($j(".q_accordion_holder").length){ $j(".q_accordion_holder").appear(function() { $j(".q_accordion_holder").css('visibility', 'visible'); },{accX: 0, accY: -100}); if ($j(".accordion").length) { $j(".accordion").accordion({ animate: "swing", collapsible: true, active: false, icons: "", heightStyle: "content", activate: function(event, ui) { initParallax(); } }); //define custom options for each accordion $j(".accordion").each(function() { var activeTab = parseInt($j(this).data('active-tab')); if(activeTab !== "") { activeTab = activeTab - 1; // - 1 because active tab is set in 0 index base $j(this).accordion('option', 'active', activeTab); } var borderRadius = parseInt($j(this).data('border-radius')); if(borderRadius !== "") { $j(this).find('.accordion_mark').css('border-radius', borderRadius+"px"); } var collapsible = ($j(this).data('collapsible') == 'yes') ? true : false; $j(this).accordion('option', 'collapsible', collapsible); $j(this).accordion('option', 'collapsible', collapsible); }); } $j(".toggle").addClass("accordion ui-accordion ui-accordion-icons ui-widget ui-helper-reset") .find(".title-holder") .addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-top ui-corner-bottom") .hover(function() { $j(this).toggleClass("ui-state-hover"); }) .on('click', function() { $j(this) .toggleClass("ui-accordion-header-active ui-state-active ui-state-default ui-corner-bottom") .next().toggleClass("ui-accordion-content-active").slideToggle(400); return false; }) .next() .addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom") .hide(); $j(".toggle").each(function() { var activeTab = parseInt($j(this).data('active-tab')); if(activeTab !== "" && activeTab >= 1) { activeTab = activeTab - 1; // - 1 because active tab is set in 0 index base $j(this).find('.ui-accordion-content').eq(activeTab).show(); $j(this).find('.ui-accordion-header').eq(activeTab).addClass('ui-state-active'); //set active accordion header } }); } } /* ** Function to enable link in accordion */ function initAccordionContentLink(){ "use strict"; if($j(".accordion").length){ $j('.accordion_holder .accordion_inner .accordion_content a').on('click', function(){ if($j(this).attr('target') === '_blank'){ window.open($j(this).attr('href'),'_blank'); }else{ window.open($j(this).attr('href'),'_self'); } return false; }); } } /* ** Init testimonials shortcode */ function initTestimonials(){ "use strict"; if($j('.testimonials_carousel').length){ $j('.testimonials_carousel').each(function(){ var interval = 5000; var $this = $j(this); if(typeof $this.data('auto-rotate-slides') !== 'undefined' && $this.data('auto-rotate-slides') !== false) { interval = parseFloat($this.data('auto-rotate-slides')) * 1000; } var slideshow = true; if(interval === 0) { slideshow = false; } var animation = 'fade'; if(typeof $this.data('animation-type') !== 'undefined' && $this.data('animation-type') !== false) { animation = $this.data('animation-type'); } var directionNav = true; if(typeof $this.data('show-navigation') !== 'undefined') { directionNav = $this.data('show-navigation') == 'no' ? false : true; } var animationSpeed = 600; if(typeof $this.data('animation-speed') !== 'undefined' && $this.data('animation-speed') !== false) { animationSpeed = $this.data('animation-speed'); } var numberPerPage = qodeNumberOfTestimonialsItems($this); var itemWidth = 0; var itemMargin = 0; if(typeof numberPerPage !== 'undefined' && numberPerPage !== 1) { itemWidth = 200; //just dummy number, script will calculate it itemMargin = 40; } $this.flexslider({ animationLoop: true, controlNav: false, directionNav: directionNav, useCSS: false, pauseOnAction: true, pauseOnHover: false, slideshow: slideshow, animation: animation, itemMargin: itemMargin, minItems: numberPerPage, maxItems: numberPerPage, itemWidth: itemWidth, animationSpeed: animationSpeed, slideshowSpeed: interval, start: function(slider){ initParallax(); } }); }); } } /* * Set numbers of items per page */ function qodeNumberOfTestimonialsItems($this){ var maxItems = $this.data('number-per-slide'); if ($window_width < 768 && maxItems > 1){ maxItems = 1; }else if ($window_width < 1024 && maxItems > 2) { maxItems = 2; } return maxItems; } /* * Set numbers of items per page on window resize */ function qodeNumberOfTestimonialsItemsResize(){ var testimonialsSlider = $j('.testimonials_carousel, .testimonials_c_carousel'); if(testimonialsSlider.length){ testimonialsSlider.each(function(){ var thisSliderHolder = $j(this); var items = qodeNumberOfTestimonialsItems(thisSliderHolder); if (typeof thisSliderHolder.data('flexslider') !== 'undefined') { thisSliderHolder.data('flexslider').vars.minItems = items; } if (typeof thisSliderHolder.data('flexslider') !== 'undefined') { thisSliderHolder.data('flexslider').vars.maxItems = items; } }); } } /* ** Init Testimonials Carousel shortcode */ function initTestimonialsCarousel(){ "use strict"; if($j('.testimonials_c_carousel').length){ $j('.testimonials_c_carousel').each(function(){ var interval = 5000; var $this = $j(this); if(typeof $this.data('auto-rotate-slides') !== 'undefined' && $this.data('auto-rotate-slides') !== false) { interval = parseFloat($this.data('auto-rotate-slides')) * 1000; } var slideshow = true; if(interval === 0) { slideshow = false; } var controlNav = true; if(typeof $this.data('show-navigation') !== 'undefined') { controlNav = $this.data('show-navigation') == 'no' ? false : true; } var animationSpeed = 600; if(typeof $this.data('animation-speed') !== 'undefined' && $this.data('animation-speed') !== false) { animationSpeed = $this.data('animation-speed'); } var numberPerPage = qodeNumberOfTestimonialsItems($this); var itemWidth = 0; var itemMargin = 0; if(typeof numberPerPage !== 'undefined' && numberPerPage !== 1) { itemWidth = 300; itemMargin = 30; } $this.flexslider({ animationLoop: true, controlNav: controlNav, directionNav: false, useCSS: false, pauseOnAction: true, pauseOnHover: false, slideshow: slideshow, animation: 'slide', itemMargin: itemMargin, minItems: numberPerPage, maxItems: numberPerPage, itemWidth: itemWidth, animationSpeed: animationSpeed, slideshowSpeed: interval, start: function(slider){ initParallax(); } }); }); } } /* ** Function to close message shortcode */ function initMessages(){ "use strict"; if($j('.q_message').length){ $j('.q_message').each(function(){ $j(this).find('.close').on('click', function(e){ e.preventDefault(); $j(this).parent().parent().fadeOut(500); }); }); } } /* ** Init Element Animations */ function initElementsAnimation(){ "use strict"; if($j(".element_from_fade").length > 0 && $j('.no_animation_on_touch').length === 0){ $j('.element_from_fade').each(function(){ var $this = $j(this); $this.appear(function() { $this.addClass('element_from_fade_on'); },{accX: 0, accY: -100}); }); } if($j(".element_from_left").length > 0 && $j('.no_animation_on_touch').length === 0){ $j('.element_from_left').each(function(){ var $this = $j(this); $this.appear(function() { $this.addClass('element_from_left_on'); },{accX: 0, accY: -100}); }); } if($j(".element_from_right").length > 0 && $j('.no_animation_on_touch').length === 0){ $j('.element_from_right').each(function(){ var $this = $j(this); $this.appear(function() { $this.addClass('element_from_right_on'); },{accX: 0, accY: -100}); }); } if($j(".element_from_top").length > 0 && $j('.no_animation_on_touch').length === 0){ $j('.element_from_top').each(function(){ var $this = $j(this); $this.appear(function() { $this.addClass('element_from_top_on'); },{accX: 0, accY: -100}); }); } if($j(".element_from_bottom").length > 0 && $j('.no_animation_on_touch').length === 0){ $j('.element_from_bottom').each(function(){ var $this = $j(this); $this.appear(function() { $this.addClass('element_from_bottom_on'); },{accX: 0, accY: -100}); }); } if($j(".element_transform").length > 0 && $j('.no_animation_on_touch').length === 0){ $j('.element_transform').each(function(){ var $this = $j(this); $this.appear(function() { $this.addClass('element_transform_on'); },{accX: 0, accY: -100}); }); } } /* ** Init audio player for blog layout */ function fitAudio(){ "use strict"; $j('audio.blog_audio').mediaelementplayer({ audioWidth: '100%' }); } /* ** Init masonry layout for blog template */ function initBlog() { "use strict"; if($j('.blog_holder.masonry, .blog_holder.blog_pinterest').length) { var width_blog = $j(this).closest('.container_inner').width(), filters = $j('.filter'), firstFilter = $j('.filter_holder ul > .filter:first-of-type'); if($j('.blog_holder').closest(".column_inner").length) { width_blog = $j('.blog_holder').closest(".column_inner").width(); } $j('.blog_holder').width(width_blog); var $container = $j('.blog_holder'); $container.waitForImages(function() { setTimeout(function() { $container.isotope({ itemSelector: 'article', resizable: false, masonry: {columnWidth: '.blog_holder_grid_sizer', gutter: '.blog_holder_grid_gutter'} }); $j('.blog_holder.masonry, .blog_holder.blog_pinterest').animate({opacity: "1"}, 500); }, 400); }); firstFilter.addClass('active'); filters.on('click', function() { filters.removeClass('active'); $j(this).addClass('active'); var selector = $j(this).attr('data-filter'); $container.isotope({filter: selector}); return false; }); var loading_label_holder = $j('.qode-infinite-scroll-loading-label'), finished_label_holder = $j('.qode-infinite-scroll-finished-label'); if($container.hasClass('masonry_infinite_scroll')) { $container.infiniteScroll({ path: '.blog_infinite_scroll_button a', append: '.post', history: false, }); $container.on( 'request.infiniteScroll', function( event, path ) { loading_label_holder.fadeIn('fast'); }); $container.on( 'load.infiniteScroll', function( event, response, path ) { loading_label_holder.fadeOut('fast'); }); $container.on( 'append.infiniteScroll', function( event, response, path, items ) { $container.isotope('appended', items); fitVideo(); fitAudio(); initFlexSlider(); setTimeout(function() { $j('.blog_holder.masonry, .blog_holder.blog_pinterest').isotope('layout'); }, 400); }); $container.on( 'last.infiniteScroll', function( event, response, path ) { finished_label_holder.fadeIn('fast'); }); } else if($container.hasClass('masonry_load_more')) { var i = 1; $j('.blog_load_more_button a').off('click tap').on('click tap', function(e) { e.preventDefault(); var load_more_holder = $j('.blog_load_more_button'); var load_more_loading = $j('.blog_load_more_button_loading'); load_more_holder.hide(); load_more_loading.show(); var link = $j(this).attr('href'); var $content = '.masonry_load_more'; var $anchor = '.blog_load_more_button a'; var $next_href = $j($anchor).attr('href'); $j.get(link + '', function(data) { var $new_content = $j($content, data).wrapInner('').html(); $next_href = $j($anchor, data).attr('href'); $container.append($j($new_content)).isotope('reloadItems').isotope({sortBy: 'original-order'}); fitVideo(); fitAudio(); initFlexSlider(); setTimeout(function() { $j('.blog_holder.masonry, .blog_holder.blog_pinterest').isotope('layout'); }, 400); load_more_holder.show(); load_more_loading.hide(); if($j('.blog_load_more_button span').attr('rel') > i) { $j('.blog_load_more_button a').attr('href', $next_href); // Change the next URL } else { $j('.blog_load_more_button').remove(); } }); i++; }); } } } /* ** Init full width masonry layout for blog template */ function initBlogMasonryFullWidth(){ "use strict"; if($j('.masonry_full_width').length){ var width_blog = $j('.full_width_inner').width(); $j('.masonry_full_width').width(width_blog); var $container = $j('.masonry_full_width'); $j('.filter').on('click', function(){ var selector = $j(this).attr('data-filter'); $container.isotope({ filter: selector }); return false; }); var loading_label_holder = $j('.qode-infinite-scroll-loading-label'), finished_label_holder = $j('.qode-infinite-scroll-finished-label'); if( $container.hasClass('masonry_infinite_scroll')){ $container.infiniteScroll({ path: '.blog_infinite_scroll_button a', append: '.post', history: false, }); $container.on( 'request.infiniteScroll', function( event, path ) { loading_label_holder.fadeIn('fast'); }); $container.on( 'load.infiniteScroll', function( event, response, path ) { loading_label_holder.fadeOut('fast'); }); $container.on( 'append.infiniteScroll', function( event, response, path, items ) { $container.isotope('appended', items); fitVideo(); fitAudio(); initFlexSlider(); setTimeout(function() { $j('.blog_holder.masonry_full_width').isotope( 'layout'); }, 400); }); $container.on( 'last.infiniteScroll', function( event, response, path ) { finished_label_holder.fadeIn('fast'); }); }else if($container.hasClass('masonry_load_more')){ var i = 1; $j('.blog_load_more_button a').off('click tap').on('click tap', function(e) { e.preventDefault(); var link = $j(this).attr('href'); var $content = '.masonry_load_more'; var $anchor = '.blog_load_more_button a'; var $next_href = $j($anchor).attr('href'); $j.get(link+'', function(data){ var $new_content = $j($content, data).wrapInner('').html(); $next_href = $j($anchor, data).attr('href'); $container.append( $j( $new_content) ).isotope( 'reloadItems' ).isotope({ sortBy: 'original-order' }); fitVideo(); fitAudio(); initFlexSlider(); setTimeout(function() { $j('.blog_holder.masonry_full_width').isotope( 'layout'); }, 400); if($j('.blog_load_more_button span').attr('rel') > i) { $j('.blog_load_more_button a').attr('href', $next_href); // Change the next URL } else { $j('.blog_load_more_button').remove(); } }); i++; }); } $container.waitForImages(function() { setTimeout(function() { $container.isotope({ itemSelector: 'article', resizable: false, masonry: { columnWidth: '.blog_holder_grid_sizer',gutter: '.blog_holder_grid_gutter'} }); $j('.masonry_full_width').animate({opacity: "1"}, 500); }, 400); }); } } /* ** Init gallery masonry layout for blog template */ function initBlogMasonryGallery(){ "use strict"; if($j('.blog_holder.masonry_gallery').length) { qodeResizeBlogMasonryGallery($j('.blog_holder_grid_sizer').width()); var container = $j('.blog_holder.masonry_gallery'); container.width(Math.round(container.parent().width())); container.isotope({ itemSelector: 'article', resizable: false, masonry: { columnWidth: '.blog_holder_grid_sizer', gutter: '.blog_holder_grid_gutter' } }); container.waitForImages(function(){ container.animate({opacity: "1"}, 300, function() { container.isotope().isotope('layout'); }); }); var loading_label_holder = $j('.qode-infinite-scroll-loading-label'), finished_label_holder = $j('.qode-infinite-scroll-finished-label'); if( container.hasClass('masonry_infinite_scroll')){ container.infiniteScroll({ path: '.blog_infinite_scroll_button a', append: '.post', history: false, }); container.on( 'request.infiniteScroll', function( event, path ) { loading_label_holder.fadeIn('fast'); }); container.on( 'load.infiniteScroll', function( event, response, path ) { loading_label_holder.fadeOut('fast'); }); container.on( 'append.infiniteScroll', function( event, response, path, items ) { container.isotope('appended', items); fitVideo(); fitAudio(); initFlexSlider(); qodeResizeBlogMasonryGallery($j('.blog_holder_grid_sizer').width()); setTimeout(function() { container.isotope( 'layout'); }, 300); }); container.on( 'last.infiniteScroll', function( event, response, path ) { finished_label_holder.fadeIn('fast'); }); }else if(container.hasClass('masonry_load_more')){ var i = 1; $j('.blog_load_more_button a').off('click tap').on('click tap', function(e) { e.preventDefault(); var link = $j(this).attr('href'); var $content = '.masonry_load_more'; var $anchor = '.blog_load_more_button a'; var $next_href = $j($anchor).attr('href'); $j.get(link+'', function(data){ var $new_content = $j($content, data).wrapInner('').html(); $next_href = $j($anchor, data).attr('href'); container.append( $j( $new_content) ).isotope( 'reloadItems' ).isotope({ sortBy: 'original-order' }); fitVideo(); fitAudio(); initFlexSlider(); qodeResizeBlogMasonryGallery($j('.blog_holder_grid_sizer').width()); setTimeout(function() { container.isotope( 'layout'); }, 300); if($j('.blog_load_more_button span').attr('rel') > i) { $j('.blog_load_more_button a').attr('href', $next_href); // Change the next URL } else { $j('.blog_load_more_button').remove(); } }); i++; }); } $j(window).resize(function() { qodeResizeBlogMasonryGallery($j('.blog_holder_grid_sizer').width()); container.isotope().isotope('layout'); container.width(Math.round(container.parent().width())); }); } } /* ** Init gallery masonry layout for blog template */ function initBlogGallery(){ "use strict"; if($j('.blog_holder.blog_gallery, .blog_holder.blog_chequered').length) { qodeResizeBlogGallery($j('.blog_holder_grid_sizer').width()); var container = $j('.blog_holder.blog_gallery, .blog_holder.blog_chequered'); container.width(Math.round(container.parent().width())); container.isotope({ itemSelector: 'article', resizable: false, masonry: { columnWidth: '.blog_holder_grid_sizer', gutter: '.blog_holder_grid_gutter' } }); container.waitForImages(function(){ container.animate({opacity: "1"}, 300, function() { container.isotope().isotope('layout'); }); }); var loading_label_holder = $j('.qode-infinite-scroll-loading-label'), finished_label_holder = $j('.qode-infinite-scroll-finished-label'); if( container.hasClass('masonry_infinite_scroll')){ container.infiniteScroll({ path: '.blog_infinite_scroll_button a', append: '.post', history: false, }); container.on( 'request.infiniteScroll', function( event, path ) { loading_label_holder.fadeIn('fast'); }); container.on( 'load.infiniteScroll', function( event, response, path ) { loading_label_holder.fadeOut('fast'); }); container.on( 'append.infiniteScroll', function( event, response, path, items ) { container.isotope('appended', items); fitVideo(); fitAudio(); initFlexSlider(); qodeResizeBlogGallery($j('.blog_holder_grid_sizer').width()); setTimeout(function() { container.isotope( 'layout'); }, 300); }); container.on( 'last.infiniteScroll', function( event, response, path ) { finished_label_holder.fadeIn('fast'); }); }else if(container.hasClass('masonry_load_more')){ var i = 1; $j('.blog_load_more_button a').off('click tap').on('click tap', function(e) { e.preventDefault(); var link = $j(this).attr('href'); var $content = '.masonry_load_more'; var $anchor = '.blog_load_more_button a'; var $next_href = $j($anchor).attr('href'); $j.get(link+'', function(data){ var $new_content = $j($content, data).wrapInner('').html(); $next_href = $j($anchor, data).attr('href'); container.append( $j( $new_content) ).isotope( 'reloadItems' ).isotope({ sortBy: 'original-order' }); fitVideo(); fitAudio(); initFlexSlider(); qodeResizeBlogGallery($j('.blog_holder_grid_sizer').width()); setTimeout(function() { container.isotope( 'layout'); }, 300); if($j('.blog_load_more_button span').attr('rel') > i) { $j('.blog_load_more_button a').attr('href', $next_href); // Change the next URL } else { $j('.blog_load_more_button').remove(); } qodeBlogGalleryAnimation(); }); i++; }); } $j(window).resize(function() { qodeResizeBlogGallery($j('.blog_holder_grid_sizer').width()); container.isotope().isotope('layout'); container.width(Math.round(container.parent().width())); }); } } function qodeResizeBlogMasonryGallery(size) { var rectangle_portrait = $j('.blog_holder.masonry_gallery .large-height'); var rectangle_landscape = $j('.blog_holder.masonry_gallery .large-width'); var square_big = $j('.blog_holder.masonry_gallery .large-width-height'); var square_small = $j('.blog_holder.masonry_gallery .default'); rectangle_portrait.css('height',2*size); rectangle_landscape.css('height',size); square_big.css('height',2*size); if(square_big.width() < 600) { square_big.css('height', square_big.width()); } if($window_width < 600) { rectangle_portrait.css('height', rectangle_portrait.width()); } square_small.css('height', size); } function qodeResizeBlogGallery(size) { var element = $j('.blog_holder.blog_chequered .default'); element.css('height',size); } /* ** Min height for smaall image blog */ function initSmallImageBlogHeight(){ "use strict"; if($j('.blog_small_image').length){ $j('article').each(function() { $j(this).find('.post_text_inner').css('min-height', $j(this).find('.post_image').height() - 46); //46 is top and bottom padding }); } } /* ** Init masonry layout for blog masonry shortcode */ function initQBlog(){ "use strict"; if($j('.q_masonry_blog').length){ $j('.q_masonry_blog').each(function() { var thisItem = $j(this); thisItem.waitForImages(function() { setTimeout(function() { thisItem.isotope({ itemSelector: 'article', resizable: false, masonry: {columnWidth: '.q_masonry_blog_grid_sizer', gutter: '.q_masonry_blog_grid_gutter'} }); thisItem.animate({opacity: "1"}, 500); }, 400); }); }); } } function qodeBlogCompundMasonryGallery(){ var blogGallery = $j('.qode_blog_masonry_gallery'); var sizerWidth = blogGallery.find('.qode_blog_gallery_sizer').outerWidth(); var size = sizerWidth + 8; //8px is spacing between items var resizeMasonryImages = function(){ sizerWidth = blogGallery.find('.qode_blog_gallery_sizer').outerWidth(); size = sizerWidth + 8; var defaultItem = blogGallery.find('.qode_blog_gallery_item.default'); var largeHeightItem = blogGallery.find('.qode_blog_img_large_height'); var largeHeightWidthItem = blogGallery.find('.qode_blog_img_large_height_width'); defaultItem.css('height', size); largeHeightItem.css('height', Math.round(2*size)); if($window_width > 600){ largeHeightWidthItem.css('height', Math.round(2*size)); }else{ largeHeightWidthItem.css('height', size); } }; var initMasonryItems = function(){ blogGallery.isotope({ itemSelector: '.qode_blog_gallery_item', masonry: { columnWidth: '.qode_blog_gallery_sizer', gutter: '.qode_blog_gallery_gutter' } }); }; return { init : function() { if(blogGallery.length) { resizeMasonryImages(); initMasonryItems(); $j(window).resize(function() { resizeMasonryImages(); }); } } }; } /* ** Init Blog Headlines big text */ function qodeBlogHeadlines() { "use strict"; if($j('.blog_headlines').length) { var $this = $j('.blog_headlines'); var showTitles = function () { $this.bigtext({ childSelector: '> article > h2', minfontsize: 20 }); $this.find('h2').appear(function () { $j(this).addClass('show'); }, {accX: 0, accY: -100}); }; showTitles(); var loading_label_holder = $j('.qode-infinite-scroll-loading-label'), finished_label_holder = $j('.qode-infinite-scroll-finished-label'); if( $this.hasClass('blog_infinite_scroll')){ $this.infiniteScroll({ path: '.blog_infinite_scroll_button a', append: '.post', history: false, }); $this.on( 'request.infiniteScroll', function( event, path ) { loading_label_holder.fadeIn('fast'); }); $this.on( 'load.infiniteScroll', function( event, response, path ) { loading_label_holder.fadeOut('fast'); }); $this.on( 'append.infiniteScroll', function( event, response, path, items ) { showTitles(); }); $this.on( 'last.infiniteScroll', function( event, response, path ) { finished_label_holder.fadeIn('fast'); }); }else if($this.hasClass('blog_load_more')){ var i = 1; $j('.blog_load_more_button a').off('click tap').on('click tap', function(e) { e.preventDefault(); var link = $j(this).attr('href'); var $content = '.blog_load_more'; var $anchor = '.blog_load_more_button a'; var $next_href = $j($anchor).attr('href'); $j.get(link+'', function(data){ var $new_content = $j($content, data).wrapInner('').html(); $next_href = $j($anchor, data).attr('href'); $this.append( $j( $new_content) ); showTitles(); if($j('.blog_load_more_button span').attr('rel') > i) { $j('.blog_load_more_button a').attr('href', $next_href); // Change the next URL } else { $j('.blog_load_more_button').remove(); } }); i++; }); } } } /* ** Init progress bar with icon */ var timeOuts = []; function initProgressBarsIcon(){ "use strict"; if($j('.q_progress_bars_icons_holder').length){ $j('.q_progress_bars_icons_holder').each(function() { var $this = $j(this); var axis = 200; if(typeof $this.data('element-appearance') !== 'undefined' && $this.data('element-appearance') !== false) { axis = $this.data('element-appearance'); } $this.appear(function() { $this.find('.q_progress_bars_icons').css('opacity','1'); $this.find('.q_progress_bars_icons').each(function() { var number = $j(this).find('.q_progress_bars_icons_inner').data('number'); var size = $j(this).find('.q_progress_bars_icons_inner').data('size'); if(size !== ""){ $j(this).find('.q_progress_bars_icons_inner.custom_size .bar').css({'width': size+'px','height':size+'px'}); $j(this).find('.q_progress_bars_icons_inner.custom_size .bar .fa-stack').css({'font-size': size/2+'px'}); } var bars = $j(this).find('.bar'); bars.each(function(i){ if(i < number){ var time = (i + 1)*150; timeOuts[i] = setTimeout(function(){ $j(bars[i]).addClass('active'); },time); } }); }); },{accX: 0, accY: -axis}); }); } } (function( $ ){ "use strict"; var $window = $(window); $.fn.masonryParallax = function(speedFactor, outerHeight, startPosition) { var $this = $(this); var getHeight; var firstTop; var startPositionAdd = 0; //get the starting position of element to have parallax applied to it firstTop = $this.offset().top; //get the height element if (outerHeight) { getHeight = function(jqo) { return jqo.outerHeight(true); }; } else { getHeight = function(jqo) { return jqo.height(); }; } //get type so elements could take it's initial position if(startPosition != 0){ startPositionAdd = startPosition; } // setup defaults if arguments aren't specified if (arguments.length < 1 || speedFactor === null) speedFactor = 0.1; if (arguments.length < 2 || outerHeight === null) outerHeight = true; // function to be called whenever the window is scrolled or resized var top = $this.offset().top; var height = getHeight($this); function update(){ // Check if totally above or totally below viewport if (top + height < $scroll || top > $scroll + $window_height) { return; } $this.css('transform', 'translate3d(0px, '+ (Math.round((firstTop - height - $scroll) * speedFactor + startPositionAdd)) +'px, 0px)'); } $window.bind('scroll', update).resize(update); update(); }; })(jQuery); /** * Masonry gallery, init masonry and resize pictures in grid */ function initMasonryGallery(){ "use strict"; resizeMasonryGallery($j('.grid-sizer').width()); if($j('.masonry_gallery_holder').length){ $j('.masonry_gallery_holder').each(function(){ var $this = $j(this); $this.waitForImages(function(){ $this.animate({opacity:1}); $this.isotope({ itemSelector: '.masonry_gallery_item', masonry: { columnWidth: '.grid-sizer' } }); $this.find('.masonry_gallery_item.parallax_item').each(function(i){ $j(this).masonryParallax($this.data('parallax_item_speed'), true, $this.data('parallax_item_offset')); }); }); }); $j(window).resize(function(){ resizeMasonryGallery($j('.grid-sizer').width()); $j('.masonry_gallery_holder').isotope('reloadItems'); }); } } function resizeMasonryGallery(size){ "use strict"; var rectangle_portrait = $j('.masonry_gallery_holder .rectangle_portrait'); var rectangle_landscape = $j('.masonry_gallery_holder .rectangle_landscape'); var square_big = $j('.masonry_gallery_holder .square_big'); var square_small = $j('.masonry_gallery_holder .square_small'); rectangle_portrait.css('height', 2*size); if (window.innerWidth < 600) { rectangle_landscape.css('height', size/2); } else { rectangle_landscape.css('height', size); } square_big.css('height', 2*size); if (window.innerWidth < 600) { square_big.css('height', square_big.width()+20);//20 is padding arround image holder } square_small.css('height', size); } /* ** Init more facts shortcode */ function initMoreFacts(){ "use strict"; if($j('.more_facts_holder').length){ $j('.more_facts_holder').each(function(){ var $this = $j(this); var $more_label = 'More Facts'; if($j(this).find('.more_facts_button').data('morefacts') !== ""){ $more_label = $j(this).find('.more_facts_button').data('morefacts'); } var $less_label = 'Less Facts'; if($j(this).find('.more_facts_button').data('lessfacts') !== ""){ $less_label = $j(this).find('.more_facts_button').data('lessfacts'); } $this.find('.more_facts_button').on("mouseenter",function(){ $j(this).css('color', $j(this).data('hovercolor')); }).on("mouseleave",function() { if($this.find('.more_facts_outer').height() == 0){ $j(this).css('color', $j(this).data('color')); } }); var expandable_content_top_padding = 70; // this value is set as default top padding inside css file if($this.find('.more_facts_inner').data('expandable_content_top_padding') !== ""){ expandable_content_top_padding = $this.find('.more_facts_inner').data('expandable_content_top_padding'); $this.find('.more_facts_inner').css({'padding-top':expandable_content_top_padding}); } var height = 0; var speed = 600; $this.find('.more_facts_button').on('click', function(){ height = $this.find('.more_facts_inner').height() + expandable_content_top_padding; if(height > 0 && height < 601){ speed = 800; } else if(height > 600 && height < 1201){ speed = 1500; } else{ speed = 2100; } if(!$this.hasClass('more_fact_opened')){ $this.addClass('more_fact_opened'); $this.find('.more_facts_fake_arrow').fadeIn(speed); $this.find('.more_facts_outer').stop().animate({'height': height}, speed, function() { if($j('.parallax_section_holder').length) { initParallax(); } }); $j(this).find('.more_facts_button_text').text($less_label); $j(this).find('.more_facts_button_arrow').addClass('rotate_arrow'); } else { $this.find('.more_facts_fake_arrow').fadeOut(speed); $this.find('.more_facts_outer').stop().animate({'height': '0px'}, speed,function(){ if(!$this.find('.more_facts_button').is(":hover")){$this.find('.more_facts_button').css('color',$this.find('.more_facts_button').data('color'));} $this.removeClass('more_fact_opened'); if($j('.parallax_section_holder').length) { initParallax(); } }); $j(this).find('.more_facts_button_text').text($more_label); $j(this).find('.more_facts_button_arrow').removeClass('rotate_arrow'); } }); }); } } /* ** Replace plceholder */ function placeholderReplace(){ "use strict"; $j('#contact-form [placeholder]').focus(function() { var input = $j(this); if (input.val() === input.attr('placeholder')) { if (this.originalType) { this.type = this.originalType; delete this.originalType; } input.val(''); input.removeClass('placeholder'); } }).blur(function() { var input = $j(this); if (input.val() === '') { if (this.type === 'password') { this.originalType = this.type; this.type = 'text'; } input.addClass('placeholder'); input.val(input.attr('placeholder')); } }).blur(); $j('#contact-form [placeholder]').parents('form').submit(function () { $j(this).find('[placeholder]').each(function () { var input = $j(this); if (input.val() === input.attr('placeholder')) { input.val(''); } }); }); } function totop_button(a) { "use strict"; var b = $j("#back_to_top"); b.removeClass("off on"); if (a === "on") { b.addClass("on"); } else { b.addClass("off"); } } function backButtonShowHide(){ "use strict"; $j(window).scroll(function () { var b = $j(this).scrollTop(); var c = $j(this).height(); var d; if (b > 0) { d = b + c / 2; } else { d = 1; } if (d < 1e3) { totop_button("off"); } else { totop_button("on"); } }); } function backToTop(){ "use strict"; $j(document).on('click','#back_to_top',function(e){ e.preventDefault(); $j('body,html').animate({scrollTop: 0}, $j(window).scrollTop()/3, 'linear'); }); } /* ** Init steps */ function initSteps(){ "use strict"; if($j('.q_steps_holder').length){ $j('.q_steps_holder').each(function(){ $j(this).appear(function() { $j(this).addClass('show'); },{accX: 0, accY: -200}); }); } } /* ** Init message height */ function initMessageHeight(){ "use strict"; if($j('.q_message.with_icon').length){ $j('.q_message.with_icon').each(function(){ if($j(this).find('.message_text_holder').height() > $j(this).find('.q_message_icon_holder').height()) { $j(this).find('.q_message_icon_holder').height($j(this).find('.message_text').height()); } else { $j(this).find('.message_text').height($j(this).find('.q_message_icon_holder').height()); } }); } } /** * Init image hover */ function initImageHover() { "use strict"; if($j('.image_hover').length){ $j('.image_hover').each(function(){ $j(this).appear(function() { var default_visible_time = 300; var transition_delay = $j(this).attr('data-transition-delay'); var real_transition_delay = default_visible_time + parseFloat(transition_delay); var object = $j(this); //wait for other hovers to complete setTimeout(function() { object.addClass('show'); }, parseFloat(transition_delay)); //hold that image a little, than remove class setTimeout(function() { object.removeClass('show'); }, real_transition_delay); },{accX: 0, accY: -200}); }); } } /* * Initializes vertical progress bars */ function initProgressBarsVertical(){ "use strict"; if($j('.q_progress_bars_vertical').length){ $j('.q_progress_bars_vertical').each(function() { $j(this).appear(function() { initToCounterVerticalProgressBar($j(this)); var percentage = $j(this).find('.progress_content').data('percentage'); $j(this).find('.progress_content').css('height', '0%'); $j(this).find('.progress_content').animate({ height: percentage+'%' }, 1500); },{accX: 0, accY: -200}); }); } } /* * Initializes vertical progress bar count to max value */ function initToCounterVerticalProgressBar($this){ "use strict"; if($this.find('.progress_number span').length){ $this.find('.progress_number span').each(function() { var $max = parseFloat($j(this).text()); $j(this).countTo({ from: 0, to: $max, speed: 1500, refreshInterval: 50 }); }); } } /* * Check if there is anchor on load and scroll to it */ function checkAnchorOnLoad(){ "use strict"; var hash = window.location.hash; var newHash = encodeURI(window.location.hash.split('#')[1]); var paspartuScrollAdd = $j('body').hasClass('paspartu_on_top_fixed') ? $window_width*paspartu_width : 0; var scrollToAmount; var top_header_height; if(hash !== "" && $j('[data-q_id="#'+newHash+'"]').length > 0){ if($j('header.page_header').hasClass('fixed') && !$j('body').hasClass('vertical_menu_enabled')){ if($j('header.page_header').hasClass('scroll_top')){ top_header_height = header_top_height; }else{ top_header_height = 0; } if(!$j('header.page_header').hasClass('transparent') || $j('header.page_header').hasClass('scrolled_not_transparent')) { if(header_height - ($j('[data-q_id="' + hash + '"]').offset().top + top_header_height)/4 >= min_header_height_scroll){ var diff_of_header_and_section = $j('[data-q_id="' + hash + '"]').offset().top - header_height - paspartuScrollAdd; scrollToAmount = diff_of_header_and_section + (diff_of_header_and_section/4) + (diff_of_header_and_section/16) + (diff_of_header_and_section/64) + 1; //several times od dividing to minimize the error, because fixed header is shrinking while scroll, 1 is just to ensure }else{ if($j('header.page_header').hasClass('centered_logo')){ scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - min_header_height_scroll - logo_height - 30 - paspartuScrollAdd; //30 is top/bottom margin of logo } else { scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - min_header_height_scroll - paspartuScrollAdd; } } }else{ scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - paspartuScrollAdd; } } else if($j('header.page_header').hasClass('fixed_top_header') && !$j('body').hasClass('vertical_menu_enabled')){ if(!$j('header.page_header').hasClass('transparent') || $j('header.page_header').hasClass('scrolled_not_transparent')){ scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - header_top_height - paspartuScrollAdd; }else{ scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - paspartuScrollAdd; } } else if($j('header.page_header').hasClass('fixed_hiding') && !$j('body').hasClass('vertical_menu_enabled')){ if(!$j('header.page_header').hasClass('transparent') || $j('header.page_header').hasClass('scrolled_not_transparent')) { if ($j('[data-q_id="' + hash + '"]').offset().top - (header_height + logo_height / 2 + 40) <= scroll_amount_for_fixed_hiding) { scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - header_height - logo_height / 2 - 40 - paspartuScrollAdd; //40 is top/bottom margin of logo } else { scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - min_header_height_fixed_hidden - 40 - paspartuScrollAdd; //40 is top/bottom margin of logo } }else{ scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - paspartuScrollAdd; } }else if($j('header.page_header').hasClass('stick') || $j('header.page_header').hasClass('stick_with_left_right_menu') && !$j('body').hasClass('vertical_menu_enabled')) { if(!$j('header.page_header').hasClass('transparent') || $j('header.page_header').hasClass('scrolled_not_transparent')) { if (sticky_amount >= $j('[data-q_id="' + hash + '"]').offset().top) { scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top + 1 - paspartuScrollAdd; // 1 is to show sticky menu } else { scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - min_header_height_sticky - paspartuScrollAdd; } }else{ scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - paspartuScrollAdd; } } else{ scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - paspartuScrollAdd; } $j('html, body').animate({ scrollTop: Math.round(scrollToAmount) }, 1500, function() {}); } //remove active state on anchors if section is not visible $j(".main_menu a, .vertical_menu a, .mobile_menu a").each(function(){ var i = $j(this).prop("hash"); if(i !== "" && ($j('[data-q_id="' + i + '"]').length > 0) && ($j('[data-q_id="' + i + '"]').offset().top >= $window_height) && $scroll === 0){ $j(this).parent().removeClass('active current-menu-item'); $j(this).removeClass('current'); } }); } /* * Check active state of anchor links on scroll */ function changeActiveState(id){ "use strict"; if($j(".main_menu a[href*='#']").length) { $j('.main_menu a').parent().removeClass('active'); } $j(".main_menu a").each(function(){ var i = $j(this).prop("hash"); if(i === id){ if($j(this).closest('.second').length === 0){ $j(this).parent().addClass('active'); }else{ $j(this).closest('.second').parent().addClass('active'); } $j('.main_menu a').removeClass('current'); $j(this).addClass('current'); } }); if($j(".vertical_menu a[href*='#']").length) { $j('.vertical_menu a').parent().removeClass('active'); } $j(".vertical_menu a").each(function(){ var i = $j(this).prop("hash"); if(i === id){ if($j(this).closest('.second').length === 0){ $j(this).parent().addClass('active'); }else{ $j(this).closest('.second').parent().addClass('active'); } $j('.vertical_menu a').removeClass('current'); $j(this).addClass('current'); } }); if($j(".mobile_menu a[href*='#']").length) { $j('.mobile_menu a').parent().removeClass('active'); } $j(".mobile_menu a").each(function(){ var i = $j(this).prop("hash"); if(i === id){ if($j(this).closest('.sub_menu').length === 0){ $j(this).parent().addClass('active'); }else{ $j(this).closest('.sub_menu').parent().addClass('active'); } $j('.mobile_menu a').removeClass('current'); $j(this).addClass('current'); } }); } /* * Check active state of anchor links on scroll */ function checkAnchorOnScroll(){ "use strict"; if($j('[data-q_id]').length && !$j('header.page_header').hasClass('regular')){ $j('[data-q_id]').waypoint( function(direction) { if(direction === 'down') { //retrieve section object from waypoint object var sectionObject = $j(this)[0].adapter.$element; changeActiveState(sectionObject.data("q_id")); } }, { offset: '50%' }); $j('[data-q_id]').waypoint( function(direction) { if(direction === 'up') { //retrieve section object from waypoint object var sectionObject = $j(this)[0].adapter.$element; changeActiveState(sectionObject.data("q_id")); } }, { offset: function(){ //retrieve section object from waypoint object var sectionObject = $j(this)[0].adapter.$element; return -(sectionObject.outerHeight() - 150); } }); } } /* * Init scroll to section link if that link has hash value */ function initHashClick(){ "use strict"; var $doc = $j('html, body'); var paspartuScrollAdd = $j('body').hasClass('paspartu_on_top_fixed') ? $window_width*paspartu_width : 0; var scrollToAmount; $j(document).on( "click", ".main_menu a, .vertical_menu a, .qbutton:not(.contact_form_button, .qode-archive-submit-button, .qode-listing-archive-load-more, .qode-rating-form-trigger, .qode-lms-actions-buttons, .qode-tours-search-submit), .anchor, .widget li.anchor a", function(){ var $this = $j(this); var hash = $j(this).prop("hash"); var top_header_height; if((hash !== "" && $j(this).attr('href').split('#')[0] === "") || (hash !== "" && $j(this).attr('href').split('#')[0] !== "" && hash === window.location.hash) || (hash !== "" && $j(this).attr('href').split('#')[0] === window.location.href.split('#')[0])){ //in third condition 'hash !== ""' stays to prevent reload of page when link is active and ajax enabled if($j('header.page_header').hasClass('fixed') && !$j('body').hasClass('vertical_menu_enabled')){ if($j('header.page_header').hasClass('scroll_top')){ top_header_height = header_top_height; }else{ top_header_height = 0; } if(!$j('header.page_header').hasClass('transparent') || $j('header.page_header').hasClass('scrolled_not_transparent')) { if (header_height - ($j('[data-q_id="' + hash + '"]').offset().top + top_header_height) / 4 >= min_header_height_scroll) { var diff_of_header_and_section = $j('[data-q_id="' + hash + '"]').offset().top - header_height - paspartuScrollAdd; scrollToAmount = diff_of_header_and_section + (diff_of_header_and_section / 4) + (diff_of_header_and_section / 16) + (diff_of_header_and_section / 64) + 1; //several times od dividing to minimize the error, because fixed header is shrinking while scroll, 1 is just to ensure } else { if($j('header.page_header').hasClass('centered_logo')){ scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - min_header_height_scroll - logo_height - paspartuScrollAdd - 30; //30 is top/bottom margin of logo } else { scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - min_header_height_scroll - paspartuScrollAdd; } } }else{ scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - paspartuScrollAdd; } } else if($j('header.page_header').hasClass('fixed_top_header') && !$j('body').hasClass('vertical_menu_enabled')){ if(!$j('header.page_header').hasClass('transparent') || $j('header.page_header').hasClass('scrolled_not_transparent')){ scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - header_top_height - paspartuScrollAdd; }else{ scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - paspartuScrollAdd; } } else if($j('header.page_header').hasClass('fixed_hiding') && !$j('body').hasClass('vertical_menu_enabled')){ if(!$j('header.page_header').hasClass('transparent') || $j('header.page_header').hasClass('scrolled_not_transparent')) { if ($j('[data-q_id="' + hash + '"]').offset().top - (header_height + logo_height / 2 + 40) <= scroll_amount_for_fixed_hiding) { scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - header_height - logo_height / 2 - 40 - paspartuScrollAdd; //40 is top/bottom margin of logo } else { scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - min_header_height_fixed_hidden - 40 - paspartuScrollAdd; //40 is top/bottom margin of logo } }else{ scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - paspartuScrollAdd; } }else if($j('header.page_header').hasClass('stick') || $j('header.page_header').hasClass('stick_with_left_right_menu') && !$j('body').hasClass('vertical_menu_enabled')) { if(!$j('header.page_header').hasClass('transparent') || $j('header.page_header').hasClass('scrolled_not_transparent')) { if (sticky_amount >= $j('[data-q_id="' + hash + '"]').offset().top) { scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top + 2 - paspartuScrollAdd; // 2 is to show sticky menu } else { scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - min_header_height_sticky - paspartuScrollAdd; } }else{ scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - paspartuScrollAdd; } } else{ scrollToAmount = $j('[data-q_id="' + hash + '"]').offset().top - paspartuScrollAdd; } if($j('[data-q_id="'+hash+'"]').length > 0){ $doc.stop().animate({ scrollTop: Math.round(scrollToAmount) }, 1500, function() { anchorActiveState($this); }); } if(history.pushState) { history.pushState(null, null, hash); } return false; } }); $j(document).on( "click", ".mobile_menu a", function(){ var $this = $j(this); var hash = $j(this).prop("hash"); if((hash !== "" && $j(this).attr('href').split('#')[0] === "") || (hash !== "" && $j(this).attr('href').split('#')[0] !== "" && hash === window.location.hash) || (hash !== "" && $j(this).attr('href').split('#')[0] === window.location.href.split('#')[0])){ //in third condition 'hash !== ""' stays to prevent reload of page when link is active and ajax enabled if($j('[data-q_id="'+hash+'"]').length > 0){ $doc.animate({ scrollTop: Math.round($j('[data-q_id="'+hash+'"]').offset().top - $j('.mobile_menu').height()) }, 500,function(){ anchorActiveState($this); }); } if(history.pushState) { history.pushState(null, null, hash); } return false; } }); } /* ** Add class to items in last row in clients shortcode */ function countClientsPerRow(){ "use strict"; if($j('.qode_clients').length){ $j('.qode_clients').each(function() { var $clients = $j(this); var qode_clients_height = $clients.height(); var qode_clients_width = $clients.width(); var maxHeightClient; var clientWidth = $clients.find('.qode_client_holder').width(); var countClient = $clients.find('.qode_client_holder').length; $clients.find('.qode_client_holder').each(function() { maxHeightClient = maxHeightClient > $j(this).height() ? maxHeightClient : $j(this).height(); }); maxHeightClient = maxHeightClient + 35; //margin for client is 35 var numberOfRows = Math.ceil(qode_clients_height / maxHeightClient); var numberOfClientsPerRow = Math.ceil(qode_clients_width/clientWidth); var numberOffullRows = Math.floor(countClient / numberOfClientsPerRow); var numberOfClientsInLastRow = countClient - (numberOfClientsPerRow * numberOffullRows); if(numberOfClientsInLastRow === 0){ numberOfClientsInLastRow = numberOfClientsPerRow; } $clients.find( ".qode_client_holder" ).removeClass('border-bottom-none'); var item_start_from = countClient - numberOfClientsInLastRow - 1; $clients.find( ".qode_client_holder:gt("+ item_start_from +")" ).addClass('border-bottom-none'); }); } } /* ** Calculate height for animated text icon shortcode */ function animatedTextIconHeight(){ "use strict"; if($j('.animated_icons_with_text').length){ var $icons = $j('.animated_icons_with_text'); var maxHeight; $icons.find('.animated_text p').each(function() { maxHeight = maxHeight > $j(this).height() ? maxHeight : $j(this).height(); }); if(maxHeight < 155) { maxHeight = 155; } $icons.find('.animated_icon_with_text_inner').height(maxHeight); } } /* ** Add class to items in last row in animated text icon shortcode */ function countAnimatedTextIconPerRow(){ "use strict"; if($j('.animated_icons_with_text').length){ $j('.animated_icons_with_text').each(function() { var $icons = $j(this); var qode_icons_height = $icons.height(); var qode_icons_width = $icons.width(); var maxHeightIcons; var iconWidth = $icons.find('.animated_icon_with_text_holder').width() + 1; // 1px because safari round on smaller number var countIcons = $icons.find('.animated_icon_with_text_holder').length; $icons.find('.animated_icon_with_text_holder').each(function() { maxHeightIcons = maxHeightIcons > $j(this).height() ? maxHeightIcons : $j(this).height(); }); maxHeightIcons = maxHeightIcons + 30; //margin for client is 30 var numberOfIconsPerRow = Math.ceil((qode_icons_width/iconWidth)); var numberOffullRows = Math.floor(countIcons / numberOfIconsPerRow); var numberOfIconsInLastRow = countIcons - (numberOfIconsPerRow * numberOffullRows); if(numberOfIconsInLastRow === 0){ numberOfIconsInLastRow = numberOfIconsPerRow; } $icons.find( ".animated_icon_with_text_holder" ).removeClass('border-bottom-none'); var item_start_from = countIcons - numberOfIconsInLastRow - 1; $icons.find( ".animated_icon_with_text_holder:gt("+ item_start_from +")" ).addClass('border-bottom-none'); }); } } /* * Set active state in maim menu on anchor click */ function anchorActiveState(me){ if(me.closest('.main_menu').length > 0){ $j('.main_menu a').parent().removeClass('active'); } if(me.closest('.vertical_menu').length > 0){ $j('.vertical_menu a').parent().removeClass('active'); } if(me.closest('.second').length === 0){ me.parent().addClass('active'); }else{ me.closest('.second').parent().addClass('active'); } if(me.closest('.mobile_menu').length > 0){ $j('.mobile_menu a').parent().removeClass('active'); me.parent().addClass('active'); } $j('.mobile_menu a, .main_menu a, .vertical_menu a').removeClass('current'); me.addClass('current'); } /* ** Video background initialization */ function initVideoBackground(){ "use strict"; $j('.video-wrap .video').mediaelementplayer({ enableKeyboard: false, iPadUseNativeControls: false, pauseOtherPlayers: false, // force iPhone's native controls iPhoneUseNativeControls: false, // force Android's native controls AndroidUseNativeControls: false }); //mobile check if(navigator.userAgent.match(/(Android|iPod|iPhone|iPad|IEMobile|Opera Mini)/)){ initVideoBackgroundSize(); $j('.mobile-video-image').show(); $j('.video-wrap').remove(); } } /* ** Calculate video background size */ function initVideoBackgroundSize(){ "use strict"; $j('.section .video-wrap').each(function(i){ var $sectionWidth = $j(this).closest('.section').outerWidth(); $j(this).width($sectionWidth); var $sectionHeight = $j(this).closest('.section').outerHeight(); min_w = vid_ratio * ($sectionHeight+20); $j(this).height($sectionHeight); var scale_h = $sectionWidth / video_width_original; var scale_v = ($sectionHeight - header_height) / video_height_original; var scale = scale_v; if (scale_h > scale_v) scale = scale_h; if (scale * video_width_original < min_w) {scale = min_w / video_width_original;} $j(this).find('video, .mejs-overlay, .mejs-poster').width(Math.ceil(scale * video_width_original +2)); $j(this).find('video, .mejs-overlay, .mejs-poster').height(Math.ceil(scale * video_height_original +2)); $j(this).scrollLeft(($j(this).find('video').width() - $sectionWidth) / 2); $j(this).find('.mejs-overlay, .mejs-poster').scrollTop(($j(this).find('video').height() - ($sectionHeight)) / 2); $j(this).scrollTop(($j(this).find('video').height() - ($sectionHeight)) / 2); $j(this).css('opacity', 1); $j('.no-touch .section .mobile-video-image ').css('display', 'none'); }); $j('.carousel .item .video .video-wrap').each(function(i){ var $slideWidth = $j(window).width(); $j(this).width($slideWidth); var mob_header = $j(window).width() < 1000 ? $j('header.page_header').height() - 6 : 0; // 6 is because of the display: inline-block var $slideHeight = $j(this).closest('.carousel.slide').height() - mob_header; min_w = vid_ratio * ($slideHeight+20); $j(this).height($slideHeight); var scale_h = $slideWidth / video_width_original; var scale_v = ($slideHeight - header_height) / video_height_original; var scale = scale_v; if (scale_h > scale_v) scale = scale_h; if (scale * video_width_original < min_w) {scale = min_w / video_width_original;} $j(this).find('video, .mejs-overlay, .mejs-poster').width(Math.ceil(scale * video_width_original +2)); $j(this).find('video, .mejs-overlay, .mejs-poster').height(Math.ceil(scale * video_height_original +2)); $j(this).scrollLeft(($j(this).find('video').width() - $slideWidth) / 2); $j(this).find('.mejs-overlay, .mejs-poster').scrollTop(($j(this).find('video').height() - ($slideHeight)) / 2); $j(this).scrollTop(($j(this).find('video').height() - ($slideHeight)) / 2); }); $j('.portfolio_single .video .video-wrap, .blog_holder .video .video-wrap').each(function(i){ var $this = $j(this); var $videoWidth = $j(this).closest('.video').outerWidth(); $j(this).width($videoWidth); var $videoHeight = ($videoWidth*9)/16; if(navigator.userAgent.match(/(Android|iPod|iPhone|iPad|IEMobile|Opera Mini)/)){ $this.parent().width($videoWidth); $this.parent().height($videoHeight); } min_w = vid_ratio * ($videoHeight+20); $j(this).height($videoHeight); var scale_h = $videoWidth / video_width_original; var scale_v = ($videoHeight - header_height) / video_height_original; var scale = scale_v; if (scale_h > scale_v) scale = scale_h; if (scale * video_width_original < min_w) {scale = min_w / video_width_original;} $j(this).find('video, .mejs-overlay, .mejs-poster').width(Math.ceil(scale * video_width_original +2)); $j(this).find('video, .mejs-overlay, .mejs-poster').height(Math.ceil(scale * video_height_original +2)); $j(this).scrollLeft(($j(this).find('video').width() - $videoWidth) / 2); $j(this).find('.mejs-overlay, .mejs-poster').scrollTop(($j(this).find('video').height() - ($videoHeight)) / 2); $j(this).scrollTop(($j(this).find('video').height() - ($videoHeight)) / 2); }); } /* ** Icon With Text animation effect */ function initIconWithTextAnimation(){ "use strict"; if($j('.q_icon_animation').length > 0 && $j('.no_animation_on_touch').length === 0){ $j('.q_icon_animation').each(function(){ $j(this).appear(function() { $j(this).addClass('q_show_animation'); },{accX: 0, accY: -200}); }); } } /* ** Add class on body if browser is Safari */ function initCheckSafariBrowser(){ "use strict"; if (navigator.userAgent.indexOf('Safari') !== -1 && navigator.userAgent.indexOf('Chrome') === -1) { $j('body').addClass('safari_browser'); } } /* ** Initialize Qode search form */ function initSearchButton(){ if($j('.search_slides_from_window_top').length){ $j('.search_slides_from_window_top').on('click', function(e){ e.preventDefault(); if($j('html').hasClass('touch')){ if ($j('.qode_search_form').height() == "0") { $j('.qode_search_form input[type="text"]').onfocus = function () { window.scrollTo(0, 0); document.body.scrollTop = 0; }; $j('.qode_search_form input[type="text"]').onclick = function () { window.scrollTo(0, 0); document.body.scrollTop = 0; }; $j('.header_top_bottom_holder').css('top','50px'); $j('.qode_search_form').css('height','50px'); $j('.content_inner').css('margin-top','50px'); if($scroll < 34){ $j('header.page_header').css('top','0'); } } else { $j('.qode_search_form').css('height','0'); $j('.header_top_bottom_holder').css('top','0'); $j('.content_inner').css('margin-top','0'); if($scroll < 34){ $j('header.page_header').css('top',-$scroll);} } $j(window).scroll(function() { if ($j('.qode_search_form').height() != "0" && $scroll > 50) { $j('.qode_search_form').css('height','0'); $j('.header_top_bottom_holder').css('top','0'); $j('.content_inner').css('margin-top','0'); } }); $j('.qode_search_close').on('click', function(e){ e.preventDefault(); $j('.qode_search_form').css('height','0'); $j('.header_top_bottom_holder').css('top','0'); $j('.content_inner').css('margin-top','0'); if($scroll < 34){ $j('header.page_header').css('top',-$scroll);} }); } else { if($j('.title').hasClass('has_fixed_background')){ var yPos = parseInt($j('.title.has_fixed_background').css('backgroundPosition').split(" ")[1]); }else { var yPos = 0; } if ($j('.qode_search_form').height() == "0") { $j('.qode_search_form input[type="text"]').focus(); $j('.header_top_bottom_holder').stop().animate({top:"50px"},150); $j('.qode_search_form').stop().animate({height:"50px"},150); $j('.content_inner').stop().animate({marginTop:"50px"},150); if($scroll < 34){ $j('header.page_header').stop().animate({top:0},150); } $j('.title.has_fixed_background').animate({ 'background-position-y': (yPos + 50)+'px' }, 150); } else { $j('.qode_search_form').stop().animate({height:"0"},150); $j('.header_top_bottom_holder').stop().animate({top:"0px"},150); $j('.content_inner').stop().animate({marginTop:"0"},150); if($scroll < 34){ $j('header.page_header').stop().animate({top:-$scroll},150);} $j('.title.has_fixed_background').animate({ 'background-position-y': (yPos - 50)+'px' }, 150); } $j(window).scroll(function() { if ($j('.qode_search_form').height() != "0" && $scroll > 50) { $j('.qode_search_form').stop().animate({height:"0"},150); $j('.header_top_bottom_holder').stop().animate({top:"0px"},150); $j('.content_inner').stop().animate({marginTop:"0"},150); $j('.title.has_fixed_background').css('backgroundPosition', 'center '+(yPos)+'px'); } }); $j('.qode_search_close').on('click', function(e){ e.preventDefault(); $j('.qode_search_form').stop().animate({height:"0"},150); $j('.content_inner').stop().animate({marginTop:"0"},150); $j('.header_top_bottom_holder').stop().animate({top:"0px"},150); if($scroll < 34){ $j('header.page_header').stop().animate({top:-$scroll},150);} $j('.title.has_fixed_background').animate({ 'background-position-y': (yPos)+'px' }, 150); }); } }); } //search type - search_slides_from_header_bottom if($j('.search_slides_from_header_bottom').length){ $j('.search_slides_from_header_bottom').on('click', function(e){ e.preventDefault(); if($j('.qode_search_form_2').hasClass('animated')) { $j('.qode_search_form_2').removeClass('animated'); $j('.qode_search_form_2').css('bottom','0'); } else { $j('.qode_search_form input[type="text"]').focus(); $j('.qode_search_form_2').addClass('animated'); var search_form_height = $j('.qode_search_form_2').height(); $j('.qode_search_form_2').css('bottom',-search_form_height); } $j('.qode_search_form_2').addClass('disabled'); $j('.qode_search_form_2 input[type="submit"]').attr('disabled','disabled'); if(($j('.qode_search_form_2 .qode_search_field').val() !== '') && ($j('.qode_search_form_2 .qode_search_field').val() !== ' ')) { $j('.qode_search_form_2 input[type="submit"]').removeAttr('disabled'); $j('.qode_search_form_2').removeClass('disabled'); } else { $j('.qode_search_form_2').addClass('disabled'); $j('.qode_search_form_2 input[type="submit"]').attr('disabled','disabled'); } $j('.qode_search_form_2 .qode_search_field').keyup(function() { if(($j(this).val() !== '') && ($j(this).val() != ' ')) { $j('.qode_search_form_2 input[type="submit"]').removeAttr('disabled'); $j('.qode_search_form_2').removeClass('disabled'); } else { $j('.qode_search_form_2 input[type="submit"]').attr('disabled','disabled'); $j('.qode_search_form_2').addClass('disabled'); } }); $j('.content, footer').on('click', function(e){ $j('.qode_search_form_2').removeClass('animated'); $j('.qode_search_form_2').css('bottom','0'); }); }); } //search type - search covers header if($j('.search_covers_header').length){ $j('.search_covers_header').on('click', function(e){ e.preventDefault(); if($j(".search_covers_only_bottom").length){ var headerHeight = $j('.header_bottom').height(); } else{ if($j(".fixed_top_header").length){ var headerHeight = $j('.top_header').height(); }else{ var headerHeight = $j('.header_top_bottom_holder').height(); } } $j('.qode_search_form_3 .form_holder_outer').height(headerHeight); if($j(".search_covers_only_bottom").length){ $j('.qode_search_form_3').css('bottom',0); $j('.qode_search_form_3').css('top','auto'); } $j('.qode_search_form_3').stop(true).fadeIn(600,'easeOutExpo'); $j('.qode_search_form_3 input[type="text"]').focus(); $j(window).scroll(function() { if($j(".search_covers_only_bottom").length){ var headerHeight = $j('.header_bottom').height(); } else{ if($j(".fixed_top_header").length){ var headerHeight = $j('.top_header').height(); }else{ var headerHeight = $j('.header_top_bottom_holder').height(); } } $j('.qode_search_form_3 .form_holder_outer').height(headerHeight); }); $j('.qode_search_close, .content, footer').on('click', function(e){ $j('.qode_search_form_3').stop(true).fadeOut(450,'easeOutExpo'); }); $j('.qode_search_form_3').blur(function(e){ $j('.qode_search_form_3').stop(true).fadeOut(450,'easeOutExpo'); }); }); } //search type - fullscreen search if($j('.fullscreen_search').length){ //search type Circle Appear if($j(".fullscreen_search_holder.from_circle").length){ $j('.fullscreen_search').on('click',function(e){ e.preventDefault(); if($j('.fullscreen_search_overlay').hasClass('animate')){ $j('.fullscreen_search_overlay').removeClass('animate'); $j('.fullscreen_search_holder').css('opacity','0'); $j('.fullscreen_search_close').css('opacity','0'); $j('.fullscreen_search_close').css('visibility','hidden'); $j('.fullscreen_search').css('opacity','1'); $j('.fullscreen_search_holder').css('display','none'); } else { $j('.fullscreen_search_overlay').addClass('animate'); $j('.fullscreen_search_holder').css('display','block'); setTimeout(function(){ $j('.fullscreen_search_holder').css('opacity','1'); $j('.fullscreen_search_close').css('opacity','1'); $j('.fullscreen_search_close').css('visibility','visible'); $j('.fullscreen_search').css('opacity','0'); },200); } }); $j('.fullscreen_search_close').on('click',function(e){ e.preventDefault(); $j('.fullscreen_search_overlay').removeClass('animate'); $j('.fullscreen_search_holder').css('opacity','0'); $j('.fullscreen_search_close').css('opacity','0'); $j('.fullscreen_search_close').css('visibility','hidden'); $j('.fullscreen_search').css('opacity','1'); $j('.fullscreen_search_holder').css('display','none'); }); } //search type Fade Appear if($j(".fullscreen_search_holder.fade").length){ $j('.fullscreen_search').on('click',function(e){ e.preventDefault(); if($j('.fullscreen_search_holder').hasClass('animate')) { $j('body').removeClass('fullscreen_search_opened'); $j('.fullscreen_search_holder').removeClass('animate'); $j('body').removeClass('search_fade_out'); $j('body').removeClass('search_fade_in'); } else { $j('body').addClass('fullscreen_search_opened'); $j('body').removeClass('search_fade_out'); $j('body').addClass('search_fade_in'); $j('.fullscreen_search_holder').addClass('animate'); } }); $j('.fullscreen_search_close').on('click',function(e){ e.preventDefault(); $j('body').removeClass('fullscreen_search_opened'); $j('.fullscreen_search_holder').removeClass('animate'); $j('body').removeClass('search_fade_in'); $j('body').addClass('search_fade_out'); }); } //Text input focus change $j('.fullscreen_search_holder .search_field').focus(function(){ $j('.fullscreen_search_holder .field_holder .line').css("width","100%"); }); $j('.fullscreen_search_holder .search_field').blur(function(){ $j('.fullscreen_search_holder .field_holder .line').css("width","0"); }); //search close button - setting its position vertically $j(window).scroll(function() { var bottom_height = $j(".page_header .header_bottom").height(); if($j(".page_header").hasClass("sticky")){ $j(".fullscreen_search_holder .side_menu_button").css("height",bottom_height); $j(".fullscreen_search_holder .close_container").css("top","0"); } else if($j(".page_header").hasClass("fixed")){ $j(".fullscreen_search_holder .side_menu_button").css("height",bottom_height); } else { $j(".fullscreen_search_holder .side_menu_button").css("height",""); $j(".fullscreen_search_holder .close_container").css("top",""); } }); } if($j('.qode_search_submit').length) { $j('.qode_search_submit').on('click', function(e) { e.preventDefault(); e.stopPropagation(); var searchForm = $j(this).parents('form').first(); searchForm.submit(); }); } } /* ** Init update Shopping Cart */ function updateShoppingCart(){ "use strict"; $j('body').bind('added_to_cart', add_to_cart); function add_to_cart(event, parts, hash) { var miniCart = $j('.shopping_cart_header'); if ( parts['div.widget_shopping_cart_content'] ) { var $cartContent = jQuery(parts['div.widget_shopping_cart_content']), $itemsList = $cartContent .find('.cart_list'), $total = $cartContent.find('.total').contents(':not(strong)').text(); miniCart.find('.shopping_cart_dropdown_inner').html('').append($itemsList); miniCart.find('.total span').html('').append($total); } } } /* ** Set content bottom margin because of the uncovering footer */ function setContentBottomMargin(){ if($j('.uncover').length){ $j('.content').css('margin-bottom', $j('footer').height()); } } /* ** Set footer uncover with vertical area */ function footerWidth(){ "use strict"; if($j('.uncover').length && $j('body').hasClass('vertical_menu_enabled') && $window_width > 1000){ $j('.uncover').width($window_width - $j('.vertical_menu_area').width()); } else{ $j('.uncover').css('width','100%'); } } /* ** Boxes which reveal text on hover */ function initCoverBoxes(){ if($j('.cover_boxes').length) { $j('.cover_boxes').each(function(){ var active_element = 0; var data_active_element = 1; if(typeof $j(this).data('active-element') !== 'undefined' && $j(this).data('active-element') !== false) { data_active_element = parseFloat($j(this).data('active-element')); active_element = data_active_element - 1; } var number_of_columns = 3; //validate active element active_element = data_active_element > number_of_columns ? 0 : active_element; $j(this).find('li').eq(active_element).addClass('act'); var cover_boxed = $j(this); $j(this).find('li').each(function(){ $j(this).on('mouseenter', function() { $j(cover_boxed).find('li').removeClass('act'); $j(this).addClass('act'); }); }); }); } } /* ** Create content menu from selected rows */ function createContentMenu(){ "use strict"; var content_menu = $j(".content_menu"); content_menu.each(function(){ if($j(this).find('ul').length === 0){ if($j(this).css('background-color') !== ""){ var background_color = $j(this).css('background-color'); } var content_menu_ul = $j(""); content_menu_ul.appendTo($j(this)); var sections = $j(this).siblings('.in_content_menu'); if(sections.length){ sections.each(function(){ var section_href = $j(this).data("q_id"); var section_title = $j(this).data('q_title'); var section_icon = $j(this).data('q_icon'); var li = $j("
  • "); var icon = $j("", {"class": 'fa '+section_icon}); var link = $j("", {"href": section_href, "html": "" + section_title + ""}); var arrow; if(background_color !== ""){ arrow = $j("
    ", {"class": 'arrow', "style": 'border-color: '+background_color+' transparent transparent transparent'}); } else { arrow = $j("
    ", {"class": 'arrow'}); } icon.prependTo(link); link.appendTo(li); arrow.appendTo(li); li.appendTo(content_menu_ul); }); } } }); } /* ** Create content menu (select menu for responsiveness)from selected rows */ function createSelectContentMenu(){ "use strict"; var content_menu = $j(".content_menu"); content_menu.each(function(){ var $this = $j(this); var $menu_select = $j("
      "); $menu_select.appendTo($j(this).find('.nav_select_menu')); $j(this).find("ul.menu li a").each(function(){ var menu_url = $j(this).attr("href"); var menu_text = $j(this).text(); var menu_icon = $j(this).find('i').clone(); if ($j(this).parents("li").length === 2) { menu_text = "   " + menu_text; } if ($j(this).parents("li").length === 3) { menu_text = "      " + menu_text; } if ($j(this).parents("li").length > 3) { menu_text = "         " + menu_text; } var li = $j("
    • "); var link = $j("", {"href": menu_url, "html": menu_text}); menu_icon.prependTo(link); link.appendTo(li); li.appendTo($menu_select); }); $this.find(".nav_select_button").on('click', function() { if ($this.find('.nav_select_menu ul').is(":visible")){ $this.find('.nav_select_menu ul').slideUp(); } else { $this.find('.nav_select_menu ul').slideDown(); } return false; }); $this.find(".nav_select_menu ul li a").on('click',function () { $this.find('.nav_select_menu ul').slideUp(); var $link = $j(this); var $target = $link.attr("href"); var targetOffset = $j("div.wpb_row[data-q_id='" + $target + "'],section.parallax_section_holder[data-q_id='" + $target + "'],.qode-elementor-content-menu-item[data-q_id='" + $target + "']").offset().top; $j('html,body').stop().animate({scrollTop: targetOffset }, 500, 'swing', function(){ $j('nav.content_menu ul li').removeClass('active'); $link.parent().addClass('active'); }); return false; }); }); } /* ** Calculate content menu position and fix it when needed */ function contentMenuPosition(){ "use strict"; if($j('nav.content_menu').length){ if(content_menu_position > sticky_amount){ var x = min_header_height_sticky; }else{ var x = 0; } if(content_menu_position - x - content_menu_top_add - $scroll <= 0 && ($j('header').hasClass('stick') || $j('header').hasClass('stick_with_left_right_menu'))){ if(content_menu_position < sticky_amount){ if($scroll > sticky_amount){ $j('nav.content_menu').css({'position': 'fixed', 'top': min_header_height_sticky + content_menu_top_add}).addClass('fixed'); }else{ $j('nav.content_menu').css({'position': 'fixed', 'top': 0, transition:'none'}).addClass('fixed'); } }else{ $j('nav.content_menu').css({'position': 'fixed', 'top': min_header_height_sticky + content_menu_top_add}).addClass('fixed'); } $j('header.sticky').addClass('no_shadow'); $j('.content > .content_inner > .container > .container_inner').css('margin-top',content_line_height); $j('.content > .content_inner > .full_width').css('margin-top',content_line_height); } else if(content_menu_position - content_menu_top - content_menu_top_add - $scroll <= 0 && !($j('header').hasClass('stick'))) { $j('nav.content_menu').css({'position': 'fixed', 'top': content_menu_top + content_menu_top_add}).addClass('fixed'); $j('.content > .content_inner > .container > .container_inner').css('margin-top',content_line_height); $j('.content > .content_inner > .full_width').css('margin-top',content_line_height); } else { $j('nav.content_menu').css({'position': 'relative', 'top': '0px'}).removeClass('fixed'); $j('header.sticky').removeClass('no_shadow'); $j('.content > .content_inner > .container > .container_inner').css('margin-top','0px'); $j('.content > .content_inner > .full_width').css('margin-top','0px'); } $j('.content .in_content_menu').waypoint( function(direction) { var $active = $j(this); var id = $active.data("q_id"); $j("nav.content_menu.fixed li a").each(function(){ var i = $j(this).attr("href"); if(i === id){ $j(this).parent().addClass('active'); }else{ $j(this).parent().removeClass('active'); } }); }, { offset: '150' }); } } /* ** Check first and last content menu included rows for active state in content menu */ function contentMenuCheckLastSection(){ "use strict"; if($j('nav.content_menu').length){ if($j('.content .in_content_menu').length){ var last_from_top = $j('.content .in_content_menu:last').offset().top + $j('.content .in_content_menu:last').height(); var first_from_top = $j('.content .in_content_menu:first').offset().top - content_menu_top - content_menu_top_add - 100; //60 is height of content menu if(last_from_top < $scroll){ $j("nav.content_menu.fixed li").removeClass('active'); } if(first_from_top > $scroll){ $j('nav.content_menu li:first, nav.content_menu ul.menu li:first').removeClass('active'); } } } } /* ** Scroll to section when item in content menu is clicked */ function contentMenuScrollTo(){ "use strict"; if($j('nav.content_menu').length){ $j("nav.content_menu ul.menu li a").on('click', function(e){ e.preventDefault(); var $this = $j(this); if($j(this).parent().hasClass('active')){ return false; } var $target = $this.attr("href"); var targetOffset = $j("div.wpb_row[data-q_id='" + $target + "'],section.parallax_section_holder[data-q_id='" + $target + "'],.qode-elementor-content-menu-item[data-q_id='" + $target + "']").offset().top - content_line_height - content_menu_top - content_menu_top_add; $j('html,body').stop().animate({scrollTop: targetOffset }, 500, 'swing', function(){ $j('nav.content_menu ul li').removeClass('active'); $this.parent().addClass('active'); }); return false; }); } } function initButtonHover() { if($j('.qbutton').length) { $j('.qbutton').each(function() { //hover background color if(typeof $j(this).data('hover-background-color') !== 'undefined' && $j(this).data('hover-background-color') !== false) { var hover_background_color = $j(this).data('hover-background-color'); var initial_background_color = $j(this).css('background-color'); $j(this).hover( function() { $j(this).css('background-color', hover_background_color); }, function() { $j(this).css('background-color', initial_background_color); }); } //hover border color if(typeof $j(this).data('hover-border-color') !== 'undefined' && $j(this).data('hover-border-color') !== false) { var hover_border_color = $j(this).data('hover-border-color'); var initial_border_color = $j(this).css('border-top-color'); $j(this).hover( function() { $j(this).css('border-color', hover_border_color); }, function() { $j(this).css('border-color', initial_border_color); }); } //hover color if(typeof $j(this).data('hover-color') !== 'undefined' && $j(this).data('hover-color') !== false) { var hover_color = $j(this).data('hover-color'); var initial_color = $j(this).css('color'); $j(this).hover( function() { $j(this).css('color', hover_color); }, function() { $j(this).css('color', initial_color); }); } }); } } /** * Button object that initializes whole button functionality * @type {Function} */ var qodeV2Button = function() { //all buttons on the page var buttons = $j('.qode-btn'); /** * Initializes button hover color * @param button current button */ var buttonHoverColor = function(button) { if(typeof button.data('hover-color') !== 'undefined') { var changeButtonColor = function(event) { event.data.button.css('color', event.data.color); }; var originalColor = button.css('color'); var hoverColor = button.data('hover-color'); if (!button.hasClass('qode-btn-3d-hover')) { button.on('mouseenter', { button: button, color: hoverColor }, changeButtonColor); button.on('mouseleave', { button: button, color: originalColor }, changeButtonColor); } } }; /** * Initializes button hover background color * @param button current button */ var buttonHoverBgColor = function(button) { if(typeof button.data('hover-bg-color') !== 'undefined') { var changeButtonBg = function(event) { event.data.button.css('background-color', event.data.color); }; var originalBgColor = button.css('background-color'); var hoverBgColor = button.data('hover-bg-color'); if (!button.hasClass('qode-btn-3d-hover')) { button.on('mouseenter', { button: button, color: hoverBgColor }, changeButtonBg); button.on('mouseleave', { button: button, color: originalBgColor }, changeButtonBg); } } }; /** * Initializes button border color * @param button */ var buttonHoverBorderColor = function(button) { if(typeof button.data('hover-border-color') !== 'undefined') { var changeBorderColor = function(event) { event.data.button.css('border-color', event.data.color); }; var originalBorderColor = button.css('borderTopColor'); //take one of the four sides var hoverBorderColor = button.data('hover-border-color'); if (!button.hasClass('qode-btn-3d-hover')) { button.on('mouseenter', { button: button, color: hoverBorderColor }, changeBorderColor); button.on('mouseleave', { button: button, color: originalBorderColor }, changeBorderColor); } } }; /** * Initializes button icon border color * @param button */ var buttonIconHoverBorderColor = function(button) { var iconHolder = button.find('.qode-button-v2-icon-holder'); if(typeof iconHolder.data('hover-icon-border-color') !== 'undefined') { var changeIconBorderColor = function(event) { event.data.iconHolder.css('border-color', event.data.color); }; var originalBorderColor = iconHolder.css('borderLeftColor'); //take one of the four sides var hoverBorderColor = iconHolder.data('hover-icon-border-color'); if (!button.hasClass('qode-btn-3d-hover')) { button.on('mouseenter', { iconHolder: iconHolder, color: hoverBorderColor }, changeIconBorderColor); button.on('mouseleave', { iconHolder: iconHolder, color: originalBorderColor }, changeIconBorderColor); } } }; /** * Initializes button icon background color * @param button */ var buttonIconHoverBackgroundColor = function(button) { var iconHolder = button.find('.qode-button-v2-icon-holder'); if(typeof iconHolder.data('hover-icon-bg-color') !== 'undefined') { var changeIconBgColor = function(event) { event.data.iconHolder.css('background-color', event.data.color); }; var originalBgColor = iconHolder.css('backgroundColor'); //take one of the four sides var hoverBgColor = iconHolder.data('hover-icon-bg-color'); if (!button.hasClass('qode-btn-3d-hover')) { button.on('mouseenter', { iconHolder: iconHolder, color: hoverBgColor }, changeIconBgColor); button.on('mouseleave', { iconHolder: iconHolder, color: originalBgColor }, changeIconBgColor); } } }; /** * Initializes button 3d rotate effect and styles * @param button */ var button3DRotate = function(button) { if (button.hasClass('qode-btn-3d-hover')) { var buttonHolder = button.closest('.qode-3d-button-holder'), button3D = buttonHolder.find('.qode-btn-3d-hover'), aSide = button3D.first(), bSide = button3D.last(), iconHolder = bSide.find('.qode-button-v2-icon-holder'), buttonHeight = buttonHolder.outerHeight(), translateFactor = Math.round(buttonHeight/2); //rotation aSide.css('transform','rotateX(0deg) translateZ('+translateFactor+'px)'); bSide.css('transform','rotateX(90deg) translateZ('+translateFactor+'px)'); setTimeout(function(){ buttonHolder.css('opacity','1'); //show after sides are set },200); buttonHolder.on('mouseenter', function(){ aSide.css('transform','rotateX(-90deg) translateZ('+translateFactor+'px)'); bSide.css('transform','rotateX(0deg) translateZ('+translateFactor+'px)'); }); buttonHolder.on('mouseleave', function(){ aSide.css('transform','rotateX(0deg) translateZ('+translateFactor+'px)'); bSide.css('transform','rotateX(90deg) translateZ('+translateFactor+'px)'); }); //styles if(typeof bSide.data('hover-color') !== 'undefined') { var buttonHoverColor = bSide.data('hover-color'); bSide.css('color', buttonHoverColor) } if(typeof bSide.data('hover-bg-color') !== 'undefined') { var buttonHoverBackgroundColor = bSide.data('hover-bg-color'); bSide.css('background-color', buttonHoverBackgroundColor) } if(typeof bSide.data('hover-border-color') !== 'undefined') { var buttonHoverBorderColor = bSide.data('hover-border-color'); bSide.css('border-color', buttonHoverBorderColor) } if(typeof iconHolder.data('hover-icon-border-color') !== 'undefined') { var iconBorderColor = iconHolder.data('hover-icon-border-color'); iconHolder.css('border-color', iconBorderColor); } if(typeof iconHolder.data('hover-icon-bg-color') !== 'undefined') { var iconBgColor = iconHolder.data('hover-icon-bg-color'); iconHolder.css('background-color', iconBgColor); } } } return { init: function() { if(buttons.length) { buttons.each(function() { buttonHoverColor($j(this)); buttonHoverBgColor($j(this)); buttonIconHoverBorderColor($j(this)); buttonIconHoverBackgroundColor($j(this)); button3DRotate($j(this)); }); } } }; }; /* * Enlarge button effect */ function initEnlargeButton() { if($j('.qbutton.enlarge').length) { $j('.qbutton.enlarge').each(function() { var thisButton = $j(this), horizontalPadding = parseInt(thisButton.css('padding-left')), paddingOffset = Math.floor((horizontalPadding/100)*20); thisButton.mouseenter(function(){ thisButton.css({'padding-left':horizontalPadding + paddingOffset}); thisButton.css({'padding-right':horizontalPadding + paddingOffset}); }); thisButton.mouseleave(function(){ thisButton.css({'padding-left':horizontalPadding}); thisButton.css({'padding-right':horizontalPadding}); }); }); } } function initSocialIconHover() { if($j('.q_social_icon_holder').length) { $j('.q_social_icon_holder').each(function() { //hover background color if(typeof $j(this).data('hover-background-color') !== 'undefined' && $j(this).data('hover-background-color') !== false) { var hover_background_color = $j(this).data('hover-background-color'); var initial_background_color = $j(this).find('.fa-stack').css('background-color'); $j(this).find('.fa-stack').hover( function() { $j(this).css('background-color', hover_background_color); }, function() { $j(this).css('background-color', initial_background_color); }); } //hover border color if(typeof $j(this).data('hover-border-color') !== 'undefined' && $j(this).data('hover-border-color') !== false) { var hover_border_color = $j(this).data('hover-border-color'); var initial_border_color = $j(this).find('.fa-stack').css('border-top-color'); $j(this).find('.fa-stack').hover( function() { $j(this).css('border-color', hover_border_color); }, function() { $j(this).css('border-color', initial_border_color); } ); } //hover color if(typeof $j(this).data('hover-color') !== 'undefined' && $j(this).data('hover-color') !== false) { var initial_color; var initial_style; var hover_color = $j(this).data('hover-color'); if($j(this).find('.fa-stack i, .fa-stack span').length) { if(typeof $j(this).data('color') !== 'undefined'){ initial_color = $j(this).data('color'); } else{ initial_color = $j(this).find('.fa-stack i, .fa-stack span').css('color'); } initial_style = $j(this).find('.fa-stack i, .fa-stack span').attr('style'); } else if($j(this).find('.simple_social').length) { if(typeof $j(this).data('color') !== 'undefined'){ initial_color = $j(this).data('color'); } else{ initial_color = $j(this).find('.simple_social').css('color'); } initial_style = $j(this).find('.simple_social').attr('style'); } if($j(this).find('.fa-stack').length) { $j(this).find('.fa-stack').hover( function() { $j(this).find('i, span').attr('style', function(i, s) { return initial_style + 'color: '+ hover_color + '!important;'}); }, function() { $j(this).find('i, span').attr('style', function(i, s) { return initial_style + 'color: ' + initial_color + ';' }); }); } else if($j(this).find('.simple_social').length) { $j(this).find('.simple_social').hover( function(){ $j(this).attr('style', function(i, s) { return initial_style + 'color: '+ hover_color + '!important;' }); }, function(){ $j(this).attr('style', function(i, s) { return initial_style + 'color: '+ initial_color + ';' }); }); } } }); } } function initTabsActiveBorder() { if($j('.q_tabs.vertical, .q_tabs.boxed').length) { $j('.q_tabs.vertical, .q_tabs.boxed').each(function(){ var parentBgColor = getParentBackgroundColor($j(this)); var activeElement = $j(this).find('li.active a'); if($j(this).hasClass('boxed')) { activeElement.css('border-bottom-color', parentBgColor); } if($j(this).hasClass('left')) { activeElement.css('border-right-color', parentBgColor); } if($j(this).hasClass('right')) { activeElement.css('border-left-color', parentBgColor); } }); } } function getParentBackgroundColor(element) { return element.parents().filter(function(){ var color = $j(this).css('background-color'); return color != 'transparent' && color != 'rgba(0, 0, 0, 0)'; }).eq(0).css('background-color') } function setActiveTabBorder() { if($j('.q_tabs li.active').length) { $j(this).on('click', function() { initTabsActiveBorder(); }); } } /* ** Popup menu initialization */ function initPopupMenu(){ "use strict"; if($j('a.popup_menu').length){ //set height of popup holder and initialize nicescroll $j(".popup_menu_holder_outer").height($window_height).niceScroll({ scrollspeed: 30, mousescrollstep: 20, cursorwidth: 0, cursorborder: 0, cursorborderradius: 0, cursorcolor: "transparent", autohidemode: false, horizrailenabled: false }); //200 is top and bottom padding of holder //set delays on nav items and widget area if($j('body').hasClass('qode_popup_menu_push_text_right') || $j('body').hasClass('qode_popup_menu_push_text_top')) { $j('.popup_menu_holder_outer nav > ul > li > a').each(function (i) { $j(this).css({ '-webkit-animation-delay': i * 70 + 'ms', 'animation-delay': i * 70 + 'ms' }); }); $j('.popup_menu_widget_holder > div').css({ '-webkit-animation-delay': ($j('.popup_menu_holder_outer nav > ul > li > a').length+1)*70 + 'ms', 'animation-delay': ($j('.popup_menu_holder_outer nav > ul > li > a').length+1)*70 + 'ms' }); } //set height of popup holder on resize $j(window).resize(function() {$j(".popup_menu_holder_outer").height($window_height)}); // $j(".popup_menu > ul > li.has_sub > ul.sub_menu > li.has_sub > a > span.popup_arrow, .popup_menu > ul > li.has_sub > ul.sub_menu > li.has_sub > h6").on('click', function () { // if ($j(this).parent().parent().find("ul.sub_menu").is(":visible")){ // $j(this).parent().parent().find("ul.sub_menu").slideUp(200); // $j(this).parent().parent().removeClass('open_sub'); // } else { // $j(this).parent().parent().addClass('open_sub'); // $j(this).parent().parent().find("ul.sub_menu").slideDown(200); // } // }); initPopupMenuHolderOpening(); initPopupMenuItemsOpening(); } } function initPopupMenuHolderOpening(){ //Open popup menu $j('a.popup_menu').on('click',function(e){ e.preventDefault(); if(!$j(this).hasClass('opened')){ $j(this).addClass('opened'); $j('body').addClass('popup_menu_opened'); if($j(this).hasClass('qode_popup_menu_push_text_right')) { $j('body').addClass('qode_popup_menu_fade_in').removeClass('qode_popup_menu_fade_out'); $j('body').removeClass('qode_popup_menu_push_nav_right'); } else if($j(this).hasClass('qode_popup_menu_push_text_top')) { $j('body').addClass('qode_popup_menu_fade_in').removeClass('qode_popup_menu_fade_out'); $j('body').removeClass('qode_popup_menu_push_nav_top'); } else if($j(this).hasClass('qode_popup_menu_text_scaledown')) { $j('body').addClass('qode_popup_menu_fade_in').removeClass('qode_popup_menu_fade_out'); } setTimeout(function(){ if(!$j('body').hasClass('page-template-full_screen-php')){ $j('body').css('overflow','hidden'); } },400); }else{ $j(this).removeClass('opened'); $j('body').removeClass('popup_menu_opened'); if($j(this).hasClass('qode_popup_menu_push_text_right') || $j(this).hasClass('qode_popup_menu_push_text_top') || $j(this).hasClass('qode_popup_menu_text_scaledown')) { $j('body').removeClass('qode_popup_menu_fade_in').addClass('qode_popup_menu_fade_out'); } if($j(this).hasClass('qode_popup_menu_push_text_right')) { $j('body').addClass('qode_popup_menu_push_nav_right'); } else if($j(this).hasClass('qode_popup_menu_push_text_top')) { $j('body').addClass('qode_popup_menu_push_nav_top'); } setTimeout(function(){ if(!$j('body').hasClass('page-template-full_screen-php')){ $j('body').css('overflow','visible'); } $j("nav.popup_menu ul.sub_menu").slideUp(200, function(){ $j('nav.popup_menu').getNiceScroll().resize(); }); },400); } }); } function initPopupMenuItemsOpening(){ //logic for open sub menus in popup menu $j(".popup_menu > ul > li.has_sub > a, .popup_menu > ul > li.has_sub > h6").on('tap click', function (e) { e.preventDefault(); if ($j(this).closest('li.has_sub').find("> ul.sub_menu").is(":visible")){ $j(this).closest('li.has_sub').find("> ul.sub_menu").slideUp(200, function(){ $j('.popup_menu_holder_outer').getNiceScroll().resize(); }); $j(this).closest('li.has_sub').removeClass('open_sub'); } else { $j(this).closest('li.has_sub').addClass('open_sub'); $j(this).closest('li.has_sub').find("> ul.sub_menu").slideDown(200, function(){ $j('.popup_menu_holder_outer').getNiceScroll().resize(); }); } return false; }); //if link has no submenu and if it's not dead, than open that link $j(".popup_menu ul li:not(.has_sub) a").on('click', function () { if(($j(this).attr('href') !== "http://#") && ($j(this).attr('href') !== "#")){ $j('a.popup_menu').removeClass('opened'); $j('body').removeClass('popup_menu_opened').css('overflow','visible'); $j("nav.popup_menu ul.sub_menu").slideUp(200, function(){ $j('nav.popup_menu').getNiceScroll().resize(); }); }else{ return false; } }); } function initFullScreenTemplate(){ "use strict"; if($j('.full_screen_holder').length && $window_width > 600){ // used for header style on changing sections, in checkFullScreenSectionsForHeaderStyle functions - START // var default_header_style = ''; if ($j('header.page_header').hasClass('light')) { default_header_style = 'light'; } else if ($j('header.page_header').hasClass('dark')) { default_header_style = 'dark'; } else { default_header_style = header_style_admin; } // used for header style on changing sections, in checkFullScreenSectionsForHeaderStyle functions - END // $j('.full_screen_preloader').css('height', ($window_height)); $j('#up_fs_button').on('click', function() { $j.fn.fullpage.moveSectionUp(); return false; }); $j('#down_fs_button').on('click', function() { $j.fn.fullpage.moveSectionDown(); return false; }); var section_number = $j('.full_screen_inner > .full_screen_section').length; $j('.full_screen_inner').fullpage({ sectionSelector: '.full_screen_section', scrollOverflow: true, afterLoad: function(anchorLink, index){ checkActiveArrowsOnFullScrrenTemplate(section_number, index); checkFullScreenSectionsForHeaderStyle(index, default_header_style); }, afterRender: function(){ $j(this).addClass('qode-initialized'); checkActiveArrowsOnFullScrrenTemplate(section_number, 1); checkFullScreenSectionsForHeaderStyle(1, default_header_style); if(section_number !== 1){ $j('.full_screen_holder').find('.full_screen_navigation_holder').css('visibility','visible'); } $j('.full_screen_holder').find('.full_screen_inner').css('visibility','visible'); $j('.full_screen_preloader').hide(); if($j('.full_screen_holder video.full_screen_sections_video').length){ $j('.full_screen_holder video.full_screen_sections_video').each(function(){ $j(this).get(0).play(); }); } } }); } } function checkActiveArrowsOnFullScrrenTemplate(section_number, index){ "use strict"; if(index === 1){ $j('.full_screen_navigation_holder #up_fs_button').hide(); if(index != section_number){ $j('.full_screen_navigation_holder #down_fs_button').show(); } }else if(index === section_number){ if(section_number === 2){ $j('.full_screen_navigation_holder #up_fs_button').show(); } $j('.full_screen_navigation_holder #down_fs_button').hide(); }else{ $j('.full_screen_navigation_holder #up_fs_button').show(); $j('.full_screen_navigation_holder #down_fs_button').show(); } } function checkFullScreenSectionsForHeaderStyle(index, default_header_style){ "use strict"; if($j('[data-q_header_style]').length > 0 && $j('header').hasClass('header_style_on_scroll')) { if ($j($j('.full_screen_holder .full_screen_inner .full_screen_section')[index-1]).data("q_header_style") !== undefined) { var header_style = $j($j('.full_screen_holder .full_screen_inner .full_screen_section')[index-1]).data("q_header_style"); $j('header').removeClass('dark light').addClass(header_style); } else { $j('header').removeClass('dark light').addClass(default_header_style); } } } /* * Check header style on scroll */ function checkHeaderStyleOnScroll(){ "use strict"; if($j('[data-q_header_style]').length > 0 && $j('header').hasClass('header_style_on_scroll')){ //var offset = $j('header.page_header').height(); var default_header_style = ''; if($j('header.page_header').hasClass('light')){ default_header_style = 'light'; }else if($j('header.page_header').hasClass('dark')){ default_header_style = 'dark'; }else{ default_header_style = header_style_admin; } var paspartu_top_add = $j('body').hasClass('paspartu_on_top_fixed') ? Math.round($window_width*paspartu_width) : 0; var paspartu_bottom_add = $j('body').hasClass('paspartu_on_bottom_fixed') ? Math.round($window_width*paspartu_width) : 0; $j('.full_width_inner > .wpb_row.section, .full_width_inner > .parallax_section_holder, .container_inner > .wpb_row.section, .container_inner > .parallax_section_holder, .portfolio_single > .wpb_row.section').waypoint( function(direction) { if(direction === 'down') { //retrieve section object from waypoint object var sectionObject = $j(this)[0].adapter.$element; if (sectionObject.data("q_header_style") !== undefined) { var header_style = sectionObject.data("q_header_style"); $j('header').removeClass('dark light').addClass(header_style); } else { $j('header').removeClass('dark light').addClass(default_header_style); } } }, { offset: 0 + paspartu_top_add}); //'title' class is added in selector because default header style is not set when there is title on the page and page is scrolled back to the top $j('.title, .full_width_inner > .wpb_row.section, .full_width_inner > .parallax_section_holder, .container_inner > .wpb_row.section, .container_inner > .parallax_section_holder, .portfolio_single > .wpb_row.section, .q_slider').waypoint( function(direction) { if(direction === 'up') { //retrieve section object from waypoint object var sectionObject = $j(this)[0].adapter.$element; if (sectionObject.data("q_header_style") !== undefined) { var header_style = sectionObject.data("q_header_style"); $j('header').removeClass('dark light').addClass(header_style); } else { $j('header').removeClass('dark light').addClass(default_header_style); } } }, { offset: function(){ //retrieve section object from waypoint object var sectionObject = $j(this)[0].adapter.$element; return -sectionObject.outerHeight() + paspartu_bottom_add; } }); } } /* ** Image Gallery Slider with no space initialization */ function initImageGallerySliderNoSpace(){ if($j('.qode_image_gallery_no_space').length){ $j('.qode_image_gallery_no_space').each(function(){ $j(this).animate({'opacity': 1},1000); $j(this).find('.qode_image_gallery_holder').lemmonSlider({infinite: true}); }); //disable click on non active image $j('.qode_image_gallery_no_space').on('click', 'li:not(.active) a', function() { if(window.innerWidth>800){ return false; } else { return true; } }); } } /* ** Vertical Split Slider */ function initVerticalSplitSlider(){ "use strict"; if($j('html').hasClass('vertical_split_screen_initalized')){ $j('html').removeClass('vertical_split_screen_initalized'); $j.fn.multiscroll.destroy(); //this has to be added due to elementor duplicating navigation $j('#multiscroll-nav').remove(); } if($j('.vertical_split_slider').length) { var default_header_style = ''; if ($j('header.page_header').hasClass('light')) { default_header_style = 'light'; } else if ($j('header.page_header').hasClass('dark')) { default_header_style = 'dark'; } else { default_header_style = header_style_admin; } var data_disable_header_skin_change = $j('.vertical_split_slider').data('disable-header-skin-change'); $j('.vertical_split_slider').height($window_height).animate({opacity:1},300); $j('.vertical_split_slider').multiscroll({ scrollingSpeed: 500, navigation: true, afterRender: function(){ checkVerticalSplitSectionsForHeaderStyle($j('.ms-right .ms-section:last-child').data('header_style'), default_header_style, data_disable_header_skin_change); $j('html').addClass('vertical_split_screen_initalized'); initButtonHover(); // this function need to be initialized after initVerticalSplitSlider var contactForm7 = $j('div.wpcf7 > form'); if (contactForm7.length) { contactForm7.each(function(){ var thisForm = $j(this); thisForm.find('.wpcf7-submit').off().on('click', function(e){ e.preventDefault(); wpcf7.submit(thisForm); }); }); } if ($j('body').hasClass('vss_responsive_adv')){ //prepare html for smaller screens - start // var vertical_split_slider_responsive = $j("
      "); $j(".vertical_split_slider").after(vertical_split_slider_responsive); var left_side = $j('.vertical_split_slider .ms-left > div'); var right_side = $j('.vertical_split_slider .ms-right > div'); for(var i = 0; i < left_side.length; i++){ vertical_split_slider_responsive.append($j(left_side[i]).clone(true)); vertical_split_slider_responsive.append($j(right_side[left_side.length-1-i]).clone(true)); } if ($j('.vertical_split_slider_responsive .qode_google_map').length) { $j('.vertical_split_slider_responsive .qode_google_map').each(function () { var map = $j(this); map.empty(); var num = Math.floor((Math.random() * 100000) + 1); map.attr('id', 'map_canvas_' + num); map.data('unique-id', num); }); } if($j('.vertical_split_slider_responsive .counter.random').length){ initCounter(); } } initProgressBars(); initCountdown(); showGoogleMap(); initAccordion(); initAccordionContentLink(); qodeInitAccordions(); }, onLeave: function(index, nextIndex, direction){ checkVerticalSplitSectionsForHeaderStyle($j($j('.ms-right .ms-section')[$j(".ms-right .ms-section").length-nextIndex]).data('header_style'), default_header_style, data_disable_header_skin_change); } }); if ($j('body').hasClass('vss_responsive_adv')){ var windowSize = 768; if($j('body').hasClass('vss_width_1000')) windowSize = 1000; if($j('body').hasClass('vss_width_600')) windowSize = 600; if($window_width < windowSize){ $j.fn.multiscroll.destroy(); $j('html,body').css('height', 'auto').css('overflow', 'auto'); }else{ $j.fn.multiscroll.build(); $j('html,body').css('height', '100%').css('overflow', 'hidden'); } $j(window).resize(function() { if($window_width < windowSize){ $j.fn.multiscroll.destroy(); $j('html,body').css('height', 'auto').css('overflow', 'auto'); }else{ $j.fn.multiscroll.build(); $j('html,body').css('height', '100%').css('overflow', 'hidden'); } }); } }else{ if(!$j('.full_screen_holder').length) { //because this is not necessary on pages if there are full screen sections $j('html,body').css('height', 'auto').css('overflow', 'auto'); } } } /* ** Check slides on load and slide change for header style changing */ function checkVerticalSplitSectionsForHeaderStyle(section_header_style, default_header_style, data_disable_header_skin_change){ "use strict"; if(section_header_style != ""){ if(data_disable_header_skin_change == 'no'){$j('header.page_header').removeClass('dark light').addClass(section_header_style)}; $j('#multiscroll-nav').removeClass('dark light').addClass(section_header_style); }else{ if(data_disable_header_skin_change == 'no'){$j('header.page_header').removeClass('dark light').addClass(default_header_style)}; $j('#multiscroll-nav').removeClass('dark light').addClass(default_header_style); } } /* ** Show Google Map */ function showGoogleMap(){ "use strict"; if($j('.qode_google_map').length){ $j('.qode_google_map').each(function(){ var snazzyMapStyle = false; var snazzyMapCode = ''; if(typeof $j(this).data('snazzy-map-style') !== 'undefined' && $j(this).data('snazzy-map-style') === 'yes') { snazzyMapStyle = true; var snazzyMapHolder = $j(this).parent().find('.qode-snazzy-map'), snazzyMapCodes = snazzyMapHolder.val(); if( snazzyMapHolder.length && snazzyMapCodes.length ) { snazzyMapCode = JSON.parse( snazzyMapCodes.replace(/`{`/g, '[').replace(/`}`/g, ']').replace(/``/g, '"').replace(/`/g, '') ); } } var custom_map_style; if(typeof $j(this).data('custom-map-style') !== 'undefined') { custom_map_style = $j(this).data('custom-map-style'); } var color_overlay; if(typeof $j(this).data('color-overlay') !== 'undefined' && $j(this).data('color-overlay') !== false) { color_overlay = $j(this).data('color-overlay'); } var saturation; if(typeof $j(this).data('saturation') !== 'undefined' && $j(this).data('saturation') !== false) { saturation = $j(this).data('saturation'); } var lightness; if(typeof $j(this).data('lightness') !== 'undefined' && $j(this).data('lightness') !== false) { lightness = $j(this).data('lightness'); } var zoom; if(typeof $j(this).data('zoom') !== 'undefined' && $j(this).data('zoom') !== false) { zoom = $j(this).data('zoom'); } var pin; if(typeof $j(this).data('pin') !== 'undefined' && $j(this).data('pin') !== false) { pin = $j(this).data('pin'); } var map_height; if(typeof $j(this).data('map-height') !== 'undefined' && $j(this).data('map-height') !== false) { map_height = $j(this).data('map-height'); } var unique_id; if(typeof $j(this).data('unique-id') !== 'undefined' && $j(this).data('unique-id') !== false) { unique_id = $j(this).data('unique-id'); } var google_maps_scroll_wheel; if(typeof $j(this).data('google-maps-scroll-wheel') !== 'undefined') { google_maps_scroll_wheel = $j(this).data('google-maps-scroll-wheel'); } var addresses; if(typeof $j(this).data('addresses') !== 'undefined' && $j(this).data('addresses') !== false) { addresses = $j(this).data('addresses'); } var map = "map_"+ unique_id; var geocoder = "geocoder_"+ unique_id; var holderId = "map_canvas_"+ unique_id; initializeGoogleMap(snazzyMapStyle, snazzyMapCode, custom_map_style, color_overlay, saturation, lightness, google_maps_scroll_wheel, zoom, holderId, map_height, pin, map, geocoder, addresses) }); } } /* ** Init Google Map */ function initializeGoogleMap(snazzyMapStyle, snazzyMapCode, custom_map_style, color, saturation, lightness, wheel, zoom, holderId, height, pin, map, geocoder, data){ "use strict"; if (typeof google != "undefined") { var mapStyles = []; if (snazzyMapStyle && snazzyMapCode.length) { mapStyles = snazzyMapCode; } else { mapStyles = [ { stylers: [ {hue: color}, {saturation: saturation}, {lightness: lightness}, {gamma: 1} ] } ]; } var google_map_type_id; if (snazzyMapStyle || custom_map_style) { google_map_type_id = 'qode_style' } else { google_map_type_id = google.maps.MapTypeId.ROADMAP } var qodeMapType = new google.maps.StyledMapType(mapStyles, {name: "Qode Google Map"}); geocoder = new google.maps.Geocoder(); var latlng = new google.maps.LatLng(-34.397, 150.644); var myOptions = { zoom: zoom, scrollwheel: wheel, center: latlng, zoomControl: true, zoomControlOptions: { style: google.maps.ZoomControlStyle.SMALL, position: google.maps.ControlPosition.RIGHT_CENTER }, scaleControl: false, scaleControlOptions: { position: google.maps.ControlPosition.LEFT_CENTER }, streetViewControl: false, streetViewControlOptions: { position: google.maps.ControlPosition.LEFT_CENTER }, panControl: false, panControlOptions: { position: google.maps.ControlPosition.LEFT_CENTER }, mapTypeControl: false, mapTypeControlOptions: { mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'qode_style'], style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_CENTER }, mapTypeId: google_map_type_id }; map = new google.maps.Map(document.getElementById(holderId), myOptions); map.mapTypes.set('qode_style', qodeMapType); var index; for (index = 0; index < data.length; ++index) { initializeGoogleAddress(data[index], pin, map, geocoder); } var holder_element = document.getElementById(holderId); holder_element.style.height = height; if (!isNaN(height)) { height = height + 'px'; } } } /* ** Init Google Map Addresses */ function initializeGoogleAddress(data, pin, map, geocoder){ "use strict"; if (data === '') return; var contentString = '
      '+ '
      '+ '
      '+ '
      '+ '

      '+data+'

      '+ '
      '+ '
      '; var infowindow = new google.maps.InfoWindow({ content: contentString }); geocoder.geocode( { 'address': data}, function(results, status) { if (status === google.maps.GeocoderStatus.OK) { map.setCenter(results[0].geometry.location); var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location, icon: pin, title: data['store_title'] }); google.maps.event.addListener(marker, 'click', function() { infowindow.open(map,marker); }); google.maps.event.addDomListener(window, 'resize', function() { map.setCenter(results[0].geometry.location); }); } }); }; /* ** Init Horizontal Marquee - Start */ function initHorizontalMarquee() { "use strict"; var marquees = $j('.qode-horizontal-marquee'); marquees.each(function() { var handleResize = function() { marqueeW = marquee.width(); innerW = 0; inner.find('> .qode-hm-item').css('margin', 0); marquee.height(Math.min($window_height, dataMarqueeH)); inner.find('> .qode-hm-item').each(function() { $j(this).css('max-width', marqueeW); innerW += $j(this).outerWidth() + dataSpacing; }); innerW -= dataSpacing; inner.width(innerW).css('left',0); inner.find('> .qode-hm-item').css('margin-right', dataSpacing+'px'); }; var dragStart, lastPosition; var handleDragStart = function(event) { event = typeof event.originalEvent !== 'undefined' ? event.originalEvent : event; event = event.type == 'touchstart' ? event.touches[0] : event; dragStart = { x: event.clientX, y: event.clientY }; lastPosition = parseInt(inner.css('left'),10); inner.addClass('qode-dragged'); }; var handleDragStop = function(event) { inner.removeClass('qode-dragged'); }; var handleDrag = function(event) { event = typeof event.originalEvent !== 'undefined' ? event.originalEvent : event; var type = event.type; event = type == 'touchmove' ? event.touches[0] : event; var pos = { x: event.clientX, y: event.clientY }; if (type == 'touchmove' /*&& Math.abs(pos.x - dragStart.x) > 50 */|| type == 'mousemove' && inner.is('.qode-dragged')) { inner.css({ 'left': Math.max(-innerW + marqueeW, Math.min(lastPosition + (pos.x - dragStart.x), 0)) + 'px' }); } }; var marquee = $j(this); var dataSpacing = typeof marquee.data('spacing') !== 'undefined' ? marquee.data('spacing') : 0; var dataMarqueeH = typeof marquee.data('height') !== 'undefined' ? marquee.data('height') : 0; var inner = marquee.find('.qode-horizontal-marquee-inner'); var innerW, marqueeW; handleResize(); $j(window).resize(handleResize); inner.find('img').on('dragstart', function(event) { event.preventDefault(); }); //exclude drag feature if marquee loop behavior is set if (!marquee.hasClass('qode-loop')) { inner.on('mousedown touchstart', handleDragStart); inner.on('mousemove touchmove', handleDrag); inner.on('mouseup touchend mouseleave', handleDragStop); } }); } /* ** Init Horizontal Marquee - End */ /* * Horizontal Marquee Loop functionality - Start */ function qodeHorizontalMarqueeLoop() { var marquees = $j('.qode-horizontal-marquee.qode-loop'); if (marquees.length) { marquees.each(function(){ var marquee = $j(this); //clone content holder for loop effect marquee.find('.qode-horizontal-marquee-inner').clone().appendTo(marquee); var marqueeElements = marquee.find('.qode-horizontal-marquee-inner'), originalItem = marqueeElements.first(), auxItem = marqueeElements.last(); var qodeMarqueeInit = function () { var delta = 1, //pixel movement speedCoeff = 1, // below 1 to slow down, above 1 to speed up currentPos, offsetCorrection = marquee.data('spacing') !== '' ? marquee.data('spacing') : 0, //add item spacing to calculations to preserve whitespace marqueeWidth; var marqueeReset = function() { marqueeWidth = originalItem.width() + offsetCorrection; currentPos = 0; originalItem.css({ 'left': 0 }); auxItem.css({ 'width': marqueeWidth, //same width as the original marquee element 'left': marqueeWidth //set to the right of the original marquee element }); } marqueeReset(); qodeRequestAnimationFrame(); //show marquee item one by one on shortcode initialization if (marquee.hasClass('qode-appear-fx')) { marquee.addClass('qode-appeared'); } marqueeElements.each(function(i){ var marqueeElement = $j(this); //movement loop var qodeMarqueeSequence = function() { currentPos -= delta; //reset marquee element if (marqueeElement.position().left <= -marqueeWidth) { marqueeElement.css('left', parseInt(marqueeWidth - delta)); currentPos = 0; } //move marquee element marqueeElement.css({ 'transform': 'translate3d('+speedCoeff*currentPos+'px,0,0)' }); //fix overlap issue if (Math.abs(originalItem.position().left - auxItem.position().left) < marqueeWidth - 1) { marqueeReset(); } //repeat requestNextAnimationFrame(qodeMarqueeSequence); }; //start loop qodeMarqueeSequence(); }); //reset marquee on resize end $j(window).resize(function(){ setTimeout(function(){ marqueeReset(); }, 200); }); }; //init marquee.waitForImages(function(){ qodeMarqueeInit(); }); }); } } /* * Horizontal Marquee Loop functionality - End */ /* ** Init Text Marquee - Start */ function initTextMarquee() { "use strict"; var textMarquees = $j('.qode-text-marquee'); if (textMarquees.length) { textMarquees.each(function() { var textMarquee = $j(this); if ( !textMarquee.hasClass('qode-text-marquee-initialized')){ //two titles for marquee scroll effect if (!$j('html').hasClass('touch')) { textMarquee.find('.qode-text-marquee-wrapper').clone().appendTo(textMarquee); } var titleWrapper = textMarquee.find('.qode-text-marquee-wrapper'), marqueeTitle = textMarquee.find('.qode-text-marquee-title'); //symmetrical spacings for marquee scroll effect if (!$j('html').hasClass('touch')) { titleWrapper.each(function () { var currentTitleWrapper = $j(this), title = currentTitleWrapper.find('.qode-text-marquee-title'), text = title.html().split(' '), len = text.length, result = []; for (var i = 0; i < len; i++) { result[i] = '' + text[i] + ''; } title.html(result.join('')); title.find('.qode-inner-text').css({ "display": "inline-block", "margin-right": "40px" }); }); } //stretch calcs marqueeTitle.stretch(); titleWrapper.eq(1).addClass('qode-marquee-additional-title'); marqueeTitle.css('visibility', 'visible'); //stretch recalcs var stretchRecalcs = function () { marqueeTitle.unwrap('.stretch--resizer'); marqueeTitle.unwrap('.stretch--handle'); marqueeTitle.stretch(); } //marquee scroll effect on non touch devices if (!$j('html').hasClass('touch')) { qodeRequestAnimationFrame(); var firstTitleWrapper = titleWrapper.first(), firstTitleWrapperOffset = firstTitleWrapper.offset().left, lastTitleWrapper = titleWrapper.last(), reset = false; lastTitleWrapper.offset({left: firstTitleWrapperOffset - $j(window).width()}); titleWrapper.each(function () { var title = $j(this), offset = title.offset().left, currentPos = 0, delta = 2; var qodeMarqueeText = function () { reset = false; currentPos += delta; if (title.offset().left > $j(window).width()) { currentPos = -($j(window).width() + offset); //reset } title.css('transform', 'translate3d(' + currentPos + 'px,0,0)'); requestAnimFrame(qodeMarqueeText); //reset $j(window).resize(function () { if (!reset) { stretchRecalcs(); currentPos = 0; lastTitleWrapper.offset({left: -marqueeTitle.first().width()}); reset = true; } }); } qodeMarqueeText(); }); } else { //touch recalcs if device orientation changes $j(window).resize(function () { stretchRecalcs(); }); } textMarquee.addClass('qode-text-marquee-initialized'); } }); } } /* ** Init Text Marquee - End */ /* * Request Animation Frame shim - Start */ function qodeRequestAnimationFrame() { if (!$j('html').hasClass('touch') && !window.requestAnimFrame) { window.requestAnimFrame = (function(){ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(/* function */ callback, /* DOMElement */ element){ window.setTimeout(callback, 1000 / 60); }; })(); } } /* * Request Animation Frame shim - Start */ /* * Expanding Images shortcode - Start */ function initExpandingImages() { var expandingImagesShortcodes = $j('.qode-expanding-images'); if (expandingImagesShortcodes.length) { expandingImagesShortcodes.each(function(){ var expandingImagesShortcode = $j(this), IEver = getIEversion(); if (IEver > 0) { expandingImagesShortcode.addClass('qode-ie-specific'); } if (!$j('html').hasClass('touch')) { var expanding_skrollr = skrollr.init({ edgeStrategy: 'set', smoothScrolling: false, forceHeight: false }); expanding_skrollr.refresh(); } }); } } /* * Expanding Images shortcode - End */ /* * Item Showcase shortcode - Start */ function initItemShowcase() { var itemShowcase = $j('.qode-item-showcase'); if (itemShowcase.length) { itemShowcase.each(function(){ var thisItemShowcase = $j(this), leftItems = thisItemShowcase.find('.qode-item-left'), rightItems = thisItemShowcase.find('.qode-item-right'), itemImage = thisItemShowcase.find('.qode-item-image'); //logic leftItems.wrapAll( "
      "); rightItems.wrapAll( "
      "); thisItemShowcase.find('.qode-item-showcase-holder').append(""); var itemLines = $j('.qode-item-line'); if (!$j('html').hasClass('touch')) { thisItemShowcase.animate({opacity:1},200); setTimeout(function(){ thisItemShowcase.appear(function(){ itemImage.addClass('qode-appeared'); itemLines.each(function(){ var itemLine = $j(this), holder = itemLine.closest('.qode-item-showcase-holder'), height = holder.height() - holder.find('.qode-item').last().height(); itemLine.css('height', height); itemLine.css('opacity', 1); }); thisItemShowcase.on('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(e) { if($window_width > 1200) { itemAppear('.qode-holder-left .qode-item'); itemAppear('.qode-holder-right .qode-item'); } else { itemAppear('.qode-item'); } }); }); },100); //appear animation trigger function itemAppear(itemCSSClass) { thisItemShowcase.find(itemCSSClass).each(function(i){ var thisListItem = $j(this); setTimeout(function(){ thisListItem.addClass('qode-appeared'); }, i*150); }); } } else { itemLines.each(function(){ var itemLine = $j(this), holder = itemLine.closest('.qode-item-showcase-holder'), height = holder.height() - holder.find('.qode-item').last().height(); itemLine.css('height', height); itemLine.css('opacity', 1); }); } }); } } /* * Item Showcase shortcode - End */ /* * Call To Action Section shortcode - Start */ var qodeCTASection = function() { "use strict"; var ctaSections = $j('.qode-cta-section'); var ctaSectionAnimation = function() { ctaSections.each(function(){ var ctaSection = $j(this), ctaImage = ctaSection.find('img'), ctaText = ctaSection.find('.qode-cta-section-text-wrapper'); if (!$j('html').hasClass('touch') && ctaSection.hasClass('qode-cta-appear-effect')) { var ctaAppear = function(ctaItem) { ctaItem.appear(function(){ setTimeout(function(){ ctaItem.addClass('qode-appeared'); },30); }, {accX: 0, accY: -($window_height / 3)}); } ctaAppear(ctaImage); ctaAppear(ctaText); } }); } return { init: function(){ if (ctaSections.length) { ctaSectionAnimation(); } } }; } /* * Call To Action Section shortcode - End */ /* ** Init Preview Slider - Start */ function initPreviewSlider() { "use strict"; var sliders = $j('.qode-preview-slider'); sliders.each(function() { var slider = $j(this); var main_slider = slider.find('.qode-presl-main-slider'); var small_slider_holder = slider.find('.qode-presl-small-slider-holder'); var small_slider = small_slider_holder.find('.qode-presl-small-slider'); var slide_timeout = 5000; var slide_transition = 700; main_slider.find('.qode-presl-link.small').each(function(i) { $j('
    • ') .appendTo(small_slider.find('> .slides')) .find('.qode-presl-main-item-inner') .append($j(this)); }); main_slider.flexslider({ animation: "slide", animationSpeed: slide_transition, slideshow: true, slideshowSpeed: slide_timeout, useCSS: true, touch: true, autostart: false, directionNav: true, controlNav: true, prevText: '', //'', nextText: '', //'', start: function(slider) { slider.find('.qode-presl-main-item').css({ 'opacity': '1', 'filter': 'alpha(opacity=100)' }).find('img').addClass('visible'); }, before: function(slider) { var target = slider.animatingTo; var current = slider.currentSlide; if (target==0) { slider.find('.slides li:first-child').next().next().clone().appendTo(slider.find('.slides')).removeClass('clone').addClass('clone_end'); } else if (target==slider.count-1) { slider.find('.slides li:last-child').prev().prev().clone().appendTo(slider.find('.slides')).removeClass('clone').addClass('clone_start'); } if (target==0 && current==slider.count-1 && slider.direction=='next') { small_slider.flexslider('next'); } else if (target==slider.count-1 && current==0 && slider.direction=='prev') { small_slider.flexslider('prev'); } else { small_slider.find('.flex-control-nav a').eq(target).trigger("click"); } slider.find('.flex-direction-nav').addClass('moving'); }, after: function(slider) { slider.removeClass('control-initiated direction-initiated'); slider.find('.clone_start, .clone_end').remove(); slider.find('.flex-direction-nav').removeClass('moving'); } }); small_slider.flexslider({ animation: "slide", animationSpeed: slide_transition, animationLoop: true, useCSS: true, touch: false, slideshow: false, directionNav: false, controlNav: true, start: function(slider) { slider.find('img').addClass('visible'); slider.closest('.qode-presl-small-slider-holder').find('.qode-presl-phone').addClass('visible'); } }); }); } /* ** Init Preview Slider - End */ var getIEversion = function() { var rv = -1; if (navigator.appName == 'Microsoft Internet Explorer') { var ua = navigator.userAgent; var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); if (re.exec(ua) != null) rv = parseFloat( RegExp.$1 ); } else if (navigator.appName == 'Netscape') { var ua = navigator.userAgent; var re = new RegExp("Trident/.*rv:([0-9]{1,}[\.0-9]{0,})"); if (re.exec(ua) != null) rv = parseFloat( RegExp.$1 ); } return rv; }; /* ** Init In-Device Slider - Start */ function initInDeviceSlider() { "use strict"; var sliders = $j('.qode-in-device-slider'); sliders.each(function() { var slider = $j(this).find('.qode-ids-slider'); var navigation = slider.data('navigation') == 'yes' ? true : false; var auto_start = slider.data('auto-start') == 'yes' ? true : false; var slide_timeout = auto_start ? slider.data('timeout') : 0; var is_in_marquee = slider.closest('.qode-horizontal-marquee').length ? true : false; var IEver = getIEversion(); if (IEver > 0) { slider.addClass('qode-ids-ie-specific'); } slider.flexslider({ animation: "slide", animationSpeed: 700, animationLoop: true, useCSS: true, touch: !is_in_marquee, slideshow: auto_start, slideshowSpeed: slide_timeout, directionNav: navigation, controlNav: false, prevText: '', nextText: '', start: function(slider) { slider.find('img').addClass('visible'); slider.closest('.qode-ids-slider-holder').find('.qode-ids-frame').addClass('visible'); if (slider.is('.qode-ids-titles-on-hover')) { slider.hover( function() { $j(this).find('.qode-ids-link').addClass('hovered'); }, function() { $j(this).find('.qode-ids-link').removeClass('hovered'); } ); } } }); if (is_in_marquee) { var dragStart, clickable = false; var handleDragStart = function(event) { event = typeof event.originalEvent !== 'undefined' ? event.originalEvent : event; event = event.type == 'touchstart' ? event.touches[0] : event; dragStart = { x: event.clientX, y: event.clientY }; }; var handleDragStop = function(event) { event = typeof event.originalEvent !== 'undefined' ? event.originalEvent : event; event = event.type == 'touchend' ? event.changedTouches[0] : event; var dragEnd = { x: event.clientX, y: event.clientY }; if (Math.abs(dragEnd.x - dragStart.x) < 10) { clickable = true; } }; var handleClick = function(event) { if (clickable) { clickable = false; } else { event.preventDefault(); } }; slider.find('.qode-ids-link') .on('dragstart', function(event) { event.preventDefault(); }) .on('click', handleClick) .on('mousedown touchstart', handleDragStart) .on('mouseup touchend', handleDragStop); } }); } /* ** Init In-Device Slider - End */ function checkSVG(element) { "use strict"; var el = element.find('.active .qode_slide-svg-holder'); var drawing_enabled = el.data('svg-drawing'); if (drawing_enabled === 'yes') { drawSVG(el); } } /** * Function for drawing slider svgs. Based on Codrops article 'SVG Drawing Animation' */ function drawSVG(svg){ "use strict"; var svgs = Array.prototype.slice.call( svg.find('svg') ), svgArr = [], resizeTimeout; // the svgs already shown... svgs.forEach( function( el, i ) { var svg = new SVGEl( el ); svgArr[i] = svg; setTimeout(function( el ) { return function() { svg.render(); }; }( el ), 0 );//0ms pause before drawing } ); } var docElem = window.document.documentElement; window.requestAnimFrame = function(){ return ( window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(/* function */ callback){ window.setTimeout(callback, 1000 / 60); } ); }(); window.cancelAnimFrame = function(){ return ( window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame || function(id){ window.clearTimeout(id); } ); }(); function SVGEl( el ) { this.el = el; var frameRate = $j(this.el).closest('.qode_slide-svg-holder').data('svg-frames'); this.image = this.el.previousElementSibling; this.current_frame = 0; this.total_frames = frameRate;//number of frames defines speed of drawing this.path = []; this.length = []; this.handle = 0; this.init(); } SVGEl.prototype.init = function() { var self = this; [].slice.call( this.el.querySelectorAll( 'path' ) ).forEach( function( path, i ) { self.path[i] = path; var l = self.path[i].getTotalLength(); self.length[i] = l; self.path[i].style.strokeDasharray = l + ' ' + l; self.path[i].style.strokeDashoffset = l; } ); }; SVGEl.prototype.render = function() { if( this.rendered ) return; this.rendered = true; this.draw(); }; SVGEl.prototype.draw = function() { var self = this, progress = this.current_frame/this.total_frames; if (progress > 1) { window.cancelAnimFrame(this.handle); } else { this.current_frame++; for(var j=0, len = this.path.length; j 0) { var skrollr_title = skrollr.init({ edgeStrategy: 'set', smoothScrolling: false, forceHeight: false }); skrollr_title.refresh(); } }; function initElementsHolderResponsiveStyle(){ var elementsHolder = $j('.q_elements_holder'); if(elementsHolder.length){ elementsHolder.each(function() { var thisElementsHolder = $j(this), elementsHolderItem = thisElementsHolder.children('.q_elements_item'), style = '', responsiveStyle = ''; elementsHolderItem.each(function() { var thisItem = $j(this), itemClass = '', largeLaptop = '', smallLaptop = '', ipadLandscape = '', ipadPortrait = '', mobileLandscape = '', mobilePortrait = ''; if (typeof thisItem.data('item-class') !== 'undefined' && thisItem.data('item-class') !== false) { itemClass = thisItem.data('item-class'); } if (typeof thisItem.data('1280-1440') !== 'undefined' && thisItem.data('1280-1440') !== false) { largeLaptop = thisItem.data('1280-1440'); } if (typeof thisItem.data('1024-1280') !== 'undefined' && thisItem.data('1024-1280') !== false) { smallLaptop = thisItem.data('1024-1280'); } if (typeof thisItem.data('768-1024') !== 'undefined' && thisItem.data('768-1024') !== false) { ipadLandscape = thisItem.data('768-1024'); } if (typeof thisItem.data('600-768') !== 'undefined' && thisItem.data('600-768') !== false) { ipadPortrait = thisItem.data('600-768'); } if (typeof thisItem.data('480-600') !== 'undefined' && thisItem.data('480-600') !== false) { mobileLandscape = thisItem.data('480-600'); } if (typeof thisItem.data('480') !== 'undefined' && thisItem.data('480') !== false) { mobilePortrait = thisItem.data('480'); } if(largeLaptop.length || smallLaptop.length || ipadLandscape.length || ipadPortrait.length || mobileLandscape.length || mobilePortrait.length) { if(largeLaptop.length) { responsiveStyle += "@media only screen and (min-width: 1280px) and (max-width: 1440px) {.q_elements_item_content."+itemClass+" { padding: "+largeLaptop+" !important; } }"; } if(smallLaptop.length) { responsiveStyle += "@media only screen and (min-width: 1024px) and (max-width: 1280px) {.q_elements_item_content."+itemClass+" { padding: "+smallLaptop+" !important; } }"; } if(ipadLandscape.length) { responsiveStyle += "@media only screen and (min-width: 768px) and (max-width: 1024px) {.q_elements_item_content."+itemClass+" { padding: "+ipadLandscape+" !important; } }"; } if(ipadPortrait.length) { responsiveStyle += "@media only screen and (min-width: 680px) and (max-width: 768px) {.q_elements_item_content."+itemClass+" { padding: "+ipadPortrait+" !important; } }"; } if(mobileLandscape.length) { responsiveStyle += "@media only screen and (min-width: 480px) and (max-width: 680px) {.q_elements_item_content."+itemClass+" { padding: "+mobileLandscape+" !important; } }"; } if(mobilePortrait.length) { responsiveStyle += "@media only screen and (max-width: 480px) {.q_elements_item_content."+itemClass+" { padding: "+mobilePortrait+" !important; } }"; } } /*if (typeof qodef.modules.common.qodefOwlSlider === "function") { // if owl function exist var owl = thisItem.find('.qodef-owl-slider'); if (owl.length) { // if owl is in elements holder setTimeout(function () { owl.trigger('refresh.owl.carousel'); // reinit owl }, 100); } }*/ }); if(responsiveStyle.length) { style = ''; } if(style.length) { $j('head').append(style); } }); } } function initQodeElementAnimationSkrollr() { "use strict"; if($j('.no-touch .carousel').length === 0) { var elementItemAnimation = $j('.no-touch .q_elements_holder > .q_elements_item'); elementItemAnimation.each(function(){ if((typeof($j(this).data('animation')) !== 'undefined' || typeof($j('.title_outer').data('animation')) !== 'undefined') && $j(this).data('animation') === 'yes') { var skr = skrollr.init({ edgeStrategy: 'set', smoothScrolling: false, forceHeight: false }); skr.refresh(); } }); } }; function initIconShortcodeHover() { "use strict"; if($j('.qode_icon_shortcode').length) { $j('.qode_icon_shortcode').each(function() { //check if icon type is circle of square if(typeof $j(this).data('type') !== 'undefined' && ['circle', 'square'].indexOf($j(this).data('type')) != -1) { if(typeof $j(this).data('hover-bg-color') !== 'undefined') { if($j(this).data('type') == 'circle') { var elementToHover = $j(this).find('i').first(); var hoverBgColor = $j(this).data('hover-bg-color'); var initialStyle = elementToHover.attr('style'); $j(this).hover(function() { elementToHover.attr('style', initialStyle + 'color: ' + hoverBgColor + '!important'); }, function() { elementToHover.attr('style', initialStyle); }); } else { var hoverBgColor = $j(this).data('hover-bg-color'); var initialBgColor = $j(this).css('background-color'); $j(this).hover(function() { $j(this).css('background-color', hoverBgColor); }, function() { $j(this).css('background-color', initialBgColor); }); } } } if(typeof $j(this).data('hover-icon-color') !== 'undefined') { var hoverColor = $j(this).data('hover-icon-color'); var initialColor = $j(this).find('.qode_icon_element ').css('color'); $j(this).hover(function() { $j(this).find('.qode_icon_element ').css('color', hoverColor); }, function() { $j(this).find('.qode_icon_element ').css('color', initialColor); }); } }); } } /** * Object that represents icon shortcode * @returns {{init: Function}} function that initializes icon's functionality */ var qodeIcon = function() { //get all icons on page var icons = $j('.qode-icon-holder'); /** * Function that triggers icon hover color functionality */ var iconHoverColor = function(icon) { if(typeof icon.data('hover-color') !== 'undefined') { var changeIconColor = function(event) { event.data.icon.css('color', event.data.color); }; var iconElement = icon.find('.qode-icon-element'); var hoverColor = icon.data('hover-color'); var originalColor = iconElement.css('color'); if(hoverColor !== '') { if(icon.parents('.qode-start-icon-hover').length){ icon.parents('.qode-start-icon-hover').on('mouseenter', {icon: iconElement, color: hoverColor}, changeIconColor); icon.parents('.qode-start-icon-hover').on('mouseleave', {icon: iconElement, color: originalColor}, changeIconColor); } else { icon.on('mouseenter', {icon: iconElement, color: hoverColor}, changeIconColor); icon.on('mouseleave', {icon: iconElement, color: originalColor}, changeIconColor); } } } }; /** * Function that triggers icon holder background color hover functionality */ var iconHolderBackgroundHover = function(icon) { if(typeof icon.data('hover-background-color') !== 'undefined') { var changeIconBgColor = function(event) { event.data.icon.css('background-color', event.data.color); }; var hoverBackgroundColor = icon.data('hover-background-color'); var originalBackgroundColor = icon.css('background-color'); if(hoverBackgroundColor !== '') { if(icon.parents('.qode-start-icon-hover').length){ icon.parents('.qode-start-icon-hover').on('mouseenter', {icon: icon, color: hoverBackgroundColor}, changeIconBgColor); icon.parents('.qode-start-icon-hover').on('mouseleave', {icon: icon, color: originalBackgroundColor}, changeIconBgColor); } else { icon.on('mouseenter', {icon: icon, color: hoverBackgroundColor}, changeIconBgColor); icon.on('mouseleave', {icon: icon, color: originalBackgroundColor}, changeIconBgColor); } } } }; return { init: function() { if(icons.length) { icons.each(function() { iconHoverColor($j(this)); iconHolderBackgroundHover($j(this)); }); } } }; }; function initIconWithTextHover() { "use strict"; if($j('.qode_iwt_icon_holder').length) { $j('.qode_iwt_icon_holder').each(function() { if(typeof $j(this).data('icon-hover-bg-color') !== 'undefined') { var hoverBgColor = $j(this).data('icon-hover-bg-color'); var initialBgColor = $j(this).css('background-color'); $j(this).hover(function() { $j(this).css('background-color', hoverBgColor); }, function() { $j(this).css('background-color', initialBgColor); }); } if(typeof $j(this).data('icon-hover-color') !== 'undefined') { var elementToChange = $j(this).find('.qode_iwt_icon_element'); var hoverColor = $j(this).data('icon-hover-color'); var initialColor = elementToChange.css('color'); $j(this).hover(function() { elementToChange.css('color', hoverColor); }, function() { elementToChange.css('color', initialColor); }); } }); } } function initLoadNextPostOnBottom(){ "use strict"; if($j('.blog_vertical_loop').length) { var header_addition; var normal_header_addition; var paspartu_add = $j('body').hasClass('paspartu_enabled') ? Math.round($window_width*paspartu_width) : 0; if($j('header.page_header').hasClass('transparent')) { normal_header_addition = 0; }else{ normal_header_addition = header_height; } var click = true; var $container = $j('.blog_vertical_loop .blog_holder'); $j(document).on('click','.blog_vertical_loop_button a',function(e){ e.preventDefault(); if(click){ click = false; var $this = $j(this); var link = $this.attr('href'); var $content = '.blog_vertical_loop .blog_holder'; var $anchor = '.blog_vertical_loop_button_holder a'; var $next_href = $j($anchor).attr('href'); //check for mobile header if($window_width < 1000){ header_addition = $j('header.page_header').height(); }else{ header_addition = normal_header_addition; } var scrollTop = $j(window).scrollTop(), elementOffset = $this.closest('article').offset().top, distance = (elementOffset - scrollTop) - header_addition - paspartu_add; $container.find('article:eq(1)').addClass('fade_out'); $this.closest('article').addClass('move_up').removeClass('next_post').css('transform', 'translateY(-' + distance + 'px)'); setTimeout(function () { $j(window).scrollTop(0); $container.find('article:eq(0)').remove(); $container.find('article:eq(0)').addClass('previous_post'); $this.closest('article').removeAttr('style').removeClass('move_up'); }, 450); $j.get(link + '', function (data) { var $new_content = $j(data).find('article').addClass('next_post'); $next_href = $j($anchor, data).attr('href'); $container.append($j($new_content)); click = true; }); } else{ return false; } }); $j(document).on('click','.blog_vertical_loop_back_button a',function(e){ e.preventDefault(); if(click){ click = false; var $this = $j(this); var link = $this.attr('href'); var $content = '.blog_vertical_loop .blog_holder'; var $anchor = '.blog_vertical_loop_button_holder.prev_post a'; var $prev_href = $j($anchor).attr('href'); $container.find('article:eq(0)').removeClass('fade_out').addClass('fade_in'); $this.closest('article').addClass('move_up').css('transform', 'translateY(' + $window_height + 'px)'); setTimeout(function () { $container.find('article:last-child').remove(); $container.find('article:eq(0)').removeClass('previous_post fade_in'); $this.closest('article').addClass('next_post').removeAttr('style').removeClass('move_up'); $j.get(link + '', function (data) { var $new_content = $j(data).find('article').removeClass('next_post').addClass('previous_post'); //by default, posts have next_post class $prev_href = $j($anchor, data).attr('href'); $container.prepend($j($new_content)); click = true; }); }, 450); }else{ return false; } }); //load previous post on page load $j.get($j('.blog_vertical_loop_button_holder .last_page a').attr('href') + '', function (data) { var $new_content = $j(data).find('article').removeClass('next_post').addClass('previous_post'); //by default, posts have next_post class $container.prepend($j($new_content)); }); //load next post on page load $j.get($j('.blog_vertical_loop_button a').attr('href') + '', function (data) { var $new_content = $j(data).find('article').addClass('next_post'); $container.append($j($new_content)); }); } } /* Parallax Layers plugin */ (function ( $ ) { "use strict"; $.fn.extend({ mouseParallax: function(options) { var defaults = { moveFactor: 1.5, targetContainer: this }; var options = $.extend(defaults, options); return this.each(function() { var o = options; var layer_elements = $(o.targetContainer).find('.image, .paralax_layers_content_holder'); layer_elements.each(function(i){ $(this).css('z-index',i); }); var mouseXStart; var mouseYStart; mouseXStart = $(o.targetContainer).offset().left; mouseYStart = $(o.targetContainer).offset().top; $(o.targetContainer).on('mouseenter',function(e){ mouseXStart = e.pageX - $(this).offset().left; mouseYStart = e.pageY - $(this).offset().top; }); $(o.targetContainer).on('mousemove', function(e){ var mouseX0 = $(this).offset().left + mouseXStart; var mouseY0 = $(this).offset().top + mouseYStart; var mouseX = e.pageX - mouseX0; var mouseY = e.pageY - mouseY0; layer_elements.each(function(i){ $(this).css({ marginLeft : -mouseX / 100 * o.moveFactor*(i+1), marginTop : -mouseY / 100 * o.moveFactor*(i+1) },100); }); }); var config = { interval: 0, over: function(){}, timeout: 500, out: function(){ layer_elements.each(function(i){ $(this).stop().animate({ marginLeft: 0, marginTop: 0 },300); }); } }; $(o.targetContainer).hoverIntent(config); }); } }); } (jQuery) ); /** * Initialize parallax layers function */ function setParallaxLayersHeight($this, $def_height){ "use strict"; var parallax_layers_height = $def_height; var responsive_breakpoint_set = [1600,1300,1000,768,567,320]; if($window_width > responsive_breakpoint_set[0]){ parallax_layers_height = $def_height; }else if($window_width > responsive_breakpoint_set[1]){ parallax_layers_height = $def_height * 0.75; }else if($window_width > responsive_breakpoint_set[2]){ parallax_layers_height = $def_height * 0.6; }else if($window_width > responsive_breakpoint_set[3]){ parallax_layers_height = $def_height * 0.55; }else if($window_width <= responsive_breakpoint_set[3]){ parallax_layers_height = $def_height * 0.45; } $this.css({'height': (parallax_layers_height) + 'px'}); } function parallaxLayers(){ "use strict"; if($j('.qode_parallax_layers').length){ $j(".qode_parallax_layers").each(function(){ var $this = $j(this); if($j(this).hasClass('full_screen_height')){ $this.height($window_height); $j(window).resize(function () { $this.height($window_height); }); }else{ var $def_height = $j(this).data('height'); setParallaxLayersHeight($this, $def_height); $j(window).resize(function () { setParallaxLayersHeight($this, $def_height); }); } var $parallax_layers_holder = $this.find('.qode_parallax_layers_holder'); var counter = 0; var limit = $this.find(".image").length; $this.find(".image").each(function() { var $this = $j(this); if($this.css("background-image") != "" && $this.css("background-image") != "none") { var bg_url = $this.attr('style'); bg_url = bg_url.match(/url\(["']?([^'")]+)['"]?\)/); bg_url = bg_url ? bg_url[1] : ""; if (bg_url) { var backImg = new Image(); backImg.src = bg_url; $j(backImg).on('load', function(){ counter++; if(counter == limit){ $parallax_layers_holder.removeClass('preload_parallax_layers'); if($j('html').hasClass('no-touch')){$parallax_layers_holder.mouseParallax()}; } }); } } }); }); } } /* ** This function reinit dropDown after wpml filter replace menu after our ajax is finished */ function initDropDownAfterWPMLReplaceMenu() { "use strict"; if(qode_body.hasClass('qode-wpml-enabled') && qode_body.hasClass('qode-page-transition-enabled')){ // configuration of the observer: var config = { attributes: true, childList: true, characterData: true }; if($j('nav.main_menu').length) { var target = document.querySelector('.main_menu');// create an observer instance var observer = new MutationObserver(function(mutations) { initDropDownMenu(); initInsideMobileMenu(); }); observer.observe(target, config); } if($j('nav.vertical_menu').length) { var targetVertical = document.querySelector('.vertical_menu');// create an observer instance var observerVertical = new MutationObserver(function(mutations) { initVerticalMenu(); initInsideMobileMenu(); }); observerVertical.observe(targetVertical, config); } if($j('nav.popup_menu').length) { var targetPopup = document.querySelector('nav.popup_menu');// create an observer instance var observerPopup = new MutationObserver(function(mutations) { initPopupMenuItemsOpening(); }); observerPopup.observe(targetPopup, config); } } } /* ** Init flexslider for portfolio single */ function initContentSlider(){ "use strict"; $j('.qode_content_slider').each(function(){ var $this = $j(this); var interval = 8000; if(typeof $this.data('interval') !== 'undefined' && $this.data('interval') !== false) { interval = parseFloat($this.data('interval')) * 1000; } var directionNav = false; if(typeof $this.data('direction') !== 'undefined') { directionNav = $this.data('direction'); } var controlNav = false; if(typeof $this.data('control') !== 'undefined'){ controlNav = $this.data('control'); } var pauseOnHoverAction = false; if(typeof $this.data('pause-on-hover') !== 'undefined'){ pauseOnHoverAction = $this.data('pause-on-hover'); } var enableDrag = false; if(typeof $this.data('drag') !== 'undefined'){ enableDrag = $this.data('drag'); } var slideshow = true; if(interval === 0) { slideshow = false; } var animation = 'slide'; if(typeof $this.data('flex_fx') !== 'undefined' && $this.data('flex_fx') !== false) { animation = $this.data('flex_fx'); } var smoothHeight = false; if($this.find('.qode-lazy-image').length) { smoothHeight = true; } $this.flexslider({ selector: '.qode_content_slider_inner > .qode_content_slider_item', animationLoop: true, controlNav: controlNav, directionNav: directionNav, useCSS: false, pauseOnAction: pauseOnHoverAction, pauseOnHover: pauseOnHoverAction, slideshow: slideshow, animation: animation, prevText: "
      ", nextText: "
      ", animationSpeed: 600, slideshowSpeed: interval, touch: true, smoothHeight: smoothHeight, start: function() { lazyReload($this); }, after: function() { lazyReload($this); } }); var lazyReload = function(slider) { if($this.find('.qode-lazy-image').length) { qodeLazyImages(); } } $this.find('.flex-direction-nav a').on('click', function(e){ e.preventDefault(); e.stopImmediatePropagation(); e.stopPropagation(); }); if(enableDrag) { $this.swipe({ swipeLeft: function () { $this.flexslider('next'); }, swipeRight: function () { $this.flexslider('prev'); }, threshold: 20 }); } if ($this.hasClass('control_nav_justified')) { var justifyBullets = function(slider) { var bullets = $this.find('ol'); bullets.addClass('qode-type1-gradient-left-to-right-after'); if ($window_width > 1440) { bullets.css('max-width',qode_grid_width); } else { bullets.css('max-width', Math.round($this.outerWidth()*0.8)); } var listItems = bullets.find('li'), listItemsWidth = listItems.outerWidth(), listWidth = parseInt(bullets.css('max-width')), remainingWidth = listWidth - listItemsWidth*listItems.length, space = (Math.floor(remainingWidth / listItems.length)); listItems.css('margin-right', space); listItems.last().css('margin-right', 0); } justifyBullets($this); $j(window).resize(function(){ justifyBullets($this); }); } }); } /* ** Init sticky sidebar widget */ function qodeInitStickyWidget() { var stickyWidgets = $j('.qode-widget-sticky-sidebar'); if ( stickyWidgets.length && $window_width > 1000 ) { var header = $j('header.page_header'); sticky_amount = getScrollAmountForStickyHeader(); stickyWidgets.each(function(){ var widget = $j(this), parent = '.full_section_inner, .section_inner, .two_columns_75_25, .two_columns_25_75, .two_columns_66_33, .two_columns_33_66, .elementor-row', stickyHeight = 0, widgetOffset = widget.offset().top; if (widget.parent('aside.sidebar').length) { var sidebar = widget.parents('aside.sidebar'); } else if (widget.parents('.wpb_widgetised_column').length) { var sidebar = widget.parents('.wpb_widgetised_column'); widget.closest('.wpb_column').css('position','static'); } else if(widget.parents('.elementor-widget.elementor-widget-sidebar').length) { var sidebar = widget.parents('.elementor-widget.elementor-widget-sidebar'); } var sidebarOffset = sidebar.offset().top; if(sticky_amount < sidebarOffset && (header.hasClass('stick') || header.hasClass('stick_with_left_right_menu'))){ stickyHeight = min_header_height_sticky; }else if(header.hasClass('fixed')){ stickyHeight = min_header_height_scroll + content_menu_top_add; }else if(header.hasClass('fixed_top_header')){ stickyHeight = header_top_height; }else if(header.hasClass('fixed_hiding')){ stickyHeight = min_header_height_fixed_hidden + 40; //2*20 for logo margin }else if(qode_window < 1000 || $j('.vertical_menu_enabled').length > 0){ //for mobile and verical header stickyHeight = 0; }else{ stickyHeight = 0; } var offset = -(widgetOffset-sidebarOffset-stickyHeight-10); //10 is to push down from browser top edge sidebar.stick_in_parent({ parent: parent, sticky_class : 'qode-sticky-sidebar', inner_scrolling : false, offset_top: offset }).on("sticky_kit:bottom", function() { //check if sticky sidebar have hit the bottom and use that class for pull it down when sticky header appears sidebar.addClass('qode-sticky-sidebar-on-bottom'); }).on("sticky_kit:unbottom", function() { sidebar.removeClass('qode-sticky-sidebar-on-bottom'); }); $j(window).scroll(function(){ if ($window_width >= 1000) { if (sticky_amount > sidebarOffset && header.hasClass('sticky') && sidebar.hasClass('qode-sticky-sidebar') && !sidebar.hasClass('qode-sticky-sidebar-on-bottom')) { sidebar.css('-webkit-transform', 'translateY('+min_header_height_sticky+'px)'); sidebar.css('transform', 'translateY('+min_header_height_sticky+'px)'); } else { sidebar.css('-webkit-transform', 'translateY(0px)'); sidebar.css('transform', 'translateY(0px)'); } } }); }); } } function qodeBlogGalleryAnimation() { var blogGalleries = $j('.blog_holder.blog_gallery'); if (blogGalleries.length) { blogGalleries.each(function(){ var blogGallery = $j(this), articles = blogGallery.find('article'); articles.each(function(){ var article = $j(this), excerpt = article.find('.post_excerpt'), excerptHeight = parseInt(excerpt.outerHeight(true)), category = article.find('.post_category'), title = article.find('.entry_title'); category.css({'transform':'translateY('+excerptHeight+'px)'}); title.css({'transform':'translateY('+excerptHeight+'px)'}); article.mouseenter(function(){ category.css({'transform':'translateY(0px)'}); title.css({'transform':'translateY(0px)'}); excerpt.css({'visibility':'visible','opacity':'1'}); }); article.mouseleave(function(){ category.css({'transform':'translateY('+excerptHeight+'px)'}); title.css({'transform':'translateY('+excerptHeight+'px)'}); excerpt.css({'visibility':'hidden', 'opacity':'0'}); }); }); }); } } /** * Loads images that are set to be 'lazy' */ function qodeLazyImages() { $j.fn.preloader = function (action, callback) { if (!!action && action == 'destroy') { this.find('.qode-lazy-preloader').remove(); } else { var block = $j('
      '); $j('').appendTo(block); block.appendTo(this); if(typeof callback == 'function') callback(); } return this; }; $j('.qode-lazy-image[data-image][data-lazy="true"]:not(.lazyLoading)').each(function(i, object) { object = $j(object); if(object.attr('data-ratio')) { object.height(object.width()*object.data('ratio')); } var rect = object[0].getBoundingClientRect(), vh = ($window_height || document.documentElement.clientHeight), vw = ($window_width || document.documentElement.clientWidth), oh = object.outerHeight(), ow = object.outerWidth(); if( ( rect.top !=0 || rect.right !=0 || rect.bottom !=0 || rect.left !=0 ) && ( rect.top >= 0 || rect.top + oh >= 0 ) && ( rect.bottom >=0 && rect.bottom - oh - vh <= 0 ) && ( rect.left >= 0 || rect.left + ow >= 0 ) && ( rect.right >=0 && rect.right - ow - vw <= 0 ) ) { var preloader = null; if(object.prop('tagName') == 'IMG') { preloader = object.parent(); } else { preloader = object; } if(!!preloader) { preloader.preloader('init'); } object.addClass('lazyLoading'); var imageObj = new Image(); $j(imageObj).on('load', function() { preloader.preloader('destroy'); object .removeAttr('data-image') .removeData('image') .removeAttr('data-lazy') .removeData('lazy') .removeClass('lazyLoading'); switch(object.prop('tagName')) { case 'IMG': object.attr('src', $j(this).attr('src')); object.height('auto'); break; case 'DIV': default: object.css('background-image', 'url(' + $j(this).attr('src') + ')'); break; } }).attr('src', object.data('image')); } }); } /** * Cards Slider shortcode */ var qodeCardsSlider = function () { var handleMovement = function (slides, slider, curSlideId, newSlideId, newSlide, centerSlider) { slider.data('card-slide', newSlideId).attr('data-card-slide', newSlideId); slider.find('.qode-card-slider').css('margin-left', centerSlider ? (-newSlide.position().left + $j(slider).outerWidth() / 2 - newSlide.outerWidth() / 2) : -newSlide.position().left); setTimeout(function(){ qodeLazyImages(); },500); //500 is duration of margin animation var direction = curSlideId < newSlideId ? 1 : -1; if (direction > 0 && newSlideId == slides.length) { slider.find('.button[data-direction="next"]').addClass('hidden'); } else { slider.find('.button[data-direction="next"]').removeClass('hidden'); } if (direction < 0 && newSlideId == 1) { slider.find('.button[data-direction="prev"]').addClass('hidden'); } else { slider.find('.button[data-direction="prev"]').removeClass('hidden'); } } var setSliderToCenter = function(slider,activeMiddleSlide,centerSlider){ slider.each(function (i, slider) { var slides = $j(slider).find('.qode-card-slider > .slide'), dots = $j(slider).find('.dot'), center = Math.round(slides.length / 2) - 1; if(activeMiddleSlide) { if (dots.length > 0) { $j(dots[center]).trigger("click"); } else { handleMovement(slides,$j(slider),1,center,$j(slides[center]),centerSlider); } $j(slider).data('card-slide', center + 1).attr('data-card-slide', center + 1); $j(slider).find('.button').removeClass('hidden'); }else{ if (dots.length > 0) { $j(dots[0]).trigger("click"); } else { handleMovement(slides,$j(slider),1,1,$j(slides[0]),centerSlider); } } }) } //set max width of slides var maxWidthOfSlides = function (slides,slider,autoheight) { slider.find('.qode-card-slider').width(99999); slides.each(function(){ $j(this).css('max-width',slider.outerWidth()); //if(autoheight == true) { // $j(this).find('img').css('height', 'auto'); //} }); } //initialize card headers var initCardHeaders = function() { var headers = $j('.cards'); headers.each(function () { var header = $j(this); var cards = header.find('.card'); cards.each(function() { var card = $j(this); card.on('click', function () { if (!cards.last().is(card)) { card.detach(); card.insertAfter(cards.last()); cards = header.find('.card'); } return false; }) }); }); } //initialize card headers hover animation var initCardsHeadersHoverAnimation = function(){ var headers = $j('.cards'); headers.each(function () { var header = $j(this); var cards = header.find('.card').get().reverse(); header.appear(function () { $j(cards).each(function (i) { var card = $j(this); setTimeout(function () { card.addClass('hovered'); setTimeout(function () { card.removeClass('hovered'); }, 600); }, 200 * i); }); }, {accX: 0, accY: -($window_height / 3)}); }); } //initialize card panes changing var initCardPanes = function() { $j('.qode-cards-holder .card').each(function (i, card) { $j(card).on('click', function () { var pane = $j('.'+$j(card).data('value')); pane.closest('.qode-card-panes').find('.pane').removeClass('active'); pane.addClass('active'); qodeLazyImages(); return false; }) }); $j('.qode-cards-holder').each(function(i, holder){ $j(holder).find('.qode-card-panes .pane').last().addClass('active'); //set last slider as active //replace cards headers in right place if($j(holder).find('.qode-card-panes .pane .card').length) { $j(holder).find('.qode-card-panes .pane .card').each(function (i, card) { $j(card).detach(); $j(holder).find('.qode-cards-header').append($j(card)); }); }else{ $j(holder).find('.qode-cards-header').remove(); } }); } //set height of slider var setHeightOfSlider = function(){ $j('.qode-card-panes').each(function() { var $this = $j(this); var maxHeight = -1; var element_height = $this.find('.pane').height(); maxHeight = maxHeight > element_height ? maxHeight : element_height; $this.height(maxHeight); }); } //set swipe functionality on all sliders var setSwipeFunctionality = function(slider){ slider.swipe({ swipeLeft: function () { slider.find('.button[data-direction="next"]').trigger("click"); }, swipeRight: function () { slider.find('.button[data-direction="prev"]').trigger("click"); }, threshold: 20 }); } //initialize sliders in every pane var initiateSliders = function() { $j('.qode-card-slider-holder').each(function (i, slider) { var slides = $j(slider).find('.qode-card-slider > .slide'), activeMiddleSlide = $j(slider).data('active-middle-slide'), centerSlider = $j(slider).data('center'); //handle navigation arros click $j(slider).find('.button').each(function (i, button) { $j(button).on('click', function () { var direction = $j(button).data('direction') == 'prev' ? -1 : 1, curSlideId = $j(slider).data('card-slide'), newSlideId = $j(slider).data('card-slide') + direction, newSlide = $j(slider).find('.slide[data-card-slide="' + newSlideId + '"]'); if (newSlide.length) { handleMovement(slides, $j(slider), curSlideId, newSlideId, newSlide, centerSlider); $j(slider).find('.dot').removeClass('active').filter('[data-card-slide="' + newSlideId + '"]').addClass('active'); } return false; }); }); //handle navigation bullets click $j(slider).find('.dot').each(function (i, dot) { $j(dot).on('click', function () { $j(slider).find('.dot').removeClass('active'); $j(dot).addClass('active'); var curSlideId = $j(slider).data('card-slide'), newSlideId = $j(dot).data('card-slide'), newSlide = $j(slider).find('.slide[data-card-slide="' + newSlideId + '"]'); if (newSlide.length) { handleMovement(slides, $j(slider), curSlideId, newSlideId, newSlide, centerSlider); } return false; }); }); /** 1. **/ maxWidthOfSlides(slides, $j(slider), false); /** 2. **/ setSliderToCenter($j(slider), activeMiddleSlide, centerSlider); /** 3. **/ setSwipeFunctionality($j(slider)); $j(window).resize(function () { maxWidthOfSlides(slides, $j(slider), true); setSliderToCenter($j(slider), activeMiddleSlide, centerSlider); setHeightOfSlider(); }); }); } return { init: function(){ if ($j('.qode-card-slider-holder').length) { initiateSliders(); setHeightOfSlider(); initCardPanes(); initCardHeaders(); } }, load: function(){ if ($j('.qode-card-slider-holder').length) { setHeightOfSlider(); initCardsHeadersHoverAnimation(); } } }; } /** * Cards Gallery shortcode */ function qodeCardsGallery() { if ($j('.qode-cards-gallery-holder').length) { $j('.qode-cards-gallery-holder').each(function(){ var gallery = $j(this); var cards = gallery.find('.card'); var side = gallery.data('side'); var marginValue; switch (side){ case 'left': marginValue = '0 0 0 20%'; break; case 'right': marginValue = '0 20% 0 0'; break; case 'top': marginValue = '20% 0 0 0'; break; case 'bottom': marginValue = '0 0 20% 0'; break; } cards.each(function() { var card = $j(this); card.on('click', function () { if (!cards.last().is(card)) { card.addClass('out').animate({ opacity: 0, margin: marginValue },200,function(){ card.detach(); card.insertAfter(cards.last()).animate({ opacity: 1, margin: '0' },500,function(){ card.removeClass('out'); }); cards = gallery.find('.card'); }); return false; } }); }); }); } } /** * Init Elliptical slider shortcode */ function qodeInitEllipticalSlider(){ var ellipticalSliders = $j('.qode-elliptical-slider'); if(ellipticalSliders.length){ ellipticalSliders.each(function(){ var thisEllipticalSlider = $j(this); var animationSelector = $j('.qode-elliptical-slider > .qode-elliptical-slider-slides'); var interval = 5000; var controlNav = true; var directionNav = false; var animationSpeed = 600; var autoplay = false; if(typeof animationSelector.data('animation-speed') !== 'undefined' && animationSelector.data('animation-speed') !== false) { animationSpeed = animationSelector.data('animation-speed'); } if(animationSelector.data('autoplay') == 'yes') { autoplay = true; } thisEllipticalSlider.flexslider({ selector: ".qode-elliptical-slider-slides > .qode-elliptical-slide", animationLoop: true, controlNav: controlNav, directionNav: directionNav, useCSS: false, pauseOnAction: true, pauseOnHover: true, slideshow: autoplay, animationSpeed: animationSpeed, slideshowSpeed: interval, touch: true }); }); } } /** * Init Pricing calculator shortcode */ function qodeInitPricingCalculator(){ var pricingCalculators = $j('.qode-pricing-calculator'); if(pricingCalculators.length){ pricingCalculators.each(function(){ var pricingCalculator = $j(this); var pricingCalculatorItems = $j(this).find('.qode-pricing-calculator-item'); var totalPrice = 0; pricingCalculatorItems.each(function(){ var pricingCalculatorItem = $j(this); var itemPrice = pricingCalculatorItem.data('price'); var itemInput = pricingCalculatorItem.find('input'); if(itemInput.prop('checked')){ totalPrice += itemPrice; } pricingCalculatorItem.on('change', function(e){ if(itemInput.prop('checked')) { totalPrice += itemPrice; } else { totalPrice -= itemPrice; } pricingCalculator.find('.qode-pricing-calculator-total-price').text(totalPrice); }); }); }); } } /** * Init Sliding Image Holder */ function qodeSlidingImageHolder() { var slidingImageHolder = $j('.qode-sliding-image-holder'); if (slidingImageHolder.length) { slidingImageHolder.each(function(){ var thisSlidingImageHolder = $j(this); //infinite scroll effect if (!$j('html').hasClass('touch')) { qodeRequestAnimationFrame(); var images = thisSlidingImageHolder.find('.qode-sliding-image-background-image'), imageWidth = Math.round(images.width()); if (imageWidth == 0){ imageWidth = 1920; } thisSlidingImageHolder.find('.qode-aux-background-image').css('left', imageWidth); //set to the right of initial image images.each(function(i){ var image = $j(this), currentPos = 0, delta = 1; var qodeInfiniteScrollEffect = function() { currentPos -= delta; if (Math.round(image.offset().left) <= -imageWidth) { image.css('left', parseInt(imageWidth - 2*delta)); currentPos = 0; } image.css('transform','translate3d('+currentPos+'px,0,0)'); requestNextAnimationFrame(qodeInfiniteScrollEffect); } $j(window).on('load', function(){ qodeInfiniteScrollEffect(); $j('html').addClass('qode-sliding-image-holder-initialized') }); if( ! $j('html').hasClass('qode-sliding-image-holder-initialized') ) { qodeInfiniteScrollEffect(); } }); } }); } } function qodeRequestAnimationFrame() { window.requestNextAnimationFrame = (function () { var originalWebkitRequestAnimationFrame = undefined, wrapper = undefined, callback = undefined, geckoVersion = 0, userAgent = navigator.userAgent, index = 0, self = this; // Workaround for Chrome 10 bug where Chrome // does not pass the time to the animation function if (window.webkitRequestAnimationFrame) { // Define the wrapper wrapper = function (time) { if (time === undefined) { time = +new Date(); } self.callback(time); }; // Make the switch originalWebkitRequestAnimationFrame = window.webkitRequestAnimationFrame; window.webkitRequestAnimationFrame = function (callback, element) { self.callback = callback; // Browser calls the wrapper and wrapper calls the callback originalWebkitRequestAnimationFrame(wrapper, element); } } // Workaround for Gecko 2.0, which has a bug in // mozRequestAnimationFrame() that restricts animations // to 30-40 fps. if (window.mozRequestAnimationFrame) { // Check the Gecko version. Gecko is used by browsers // other than Firefox. Gecko 2.0 corresponds to // Firefox 4.0. index = userAgent.indexOf('rv:'); if (userAgent.indexOf('Gecko') != -1) { geckoVersion = userAgent.substr(index + 3, 3); if (geckoVersion === '2.0') { // Forces the return statement to fall through // to the setTimeout() function. window.mozRequestAnimationFrame = undefined; } } } return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback, element) { var start, finish; window.setTimeout( function () { start = +new Date(); callback(start); finish = +new Date(); self.timeout = 1000 / 60 - (finish - start); }, self.timeout); }; } ) (); } function qodePageTransitionEffect() { var loader = $j('body.qode-page-loading-effect-enabled > .qode-page-loading-effect-holder'); if (loader.length) { loader.fadeOut(500); $j(window).bind("pageshow", function(event) { if (event.originalEvent.persisted) { loader.fadeOut(500); } }); $j('a').on('click', function(e) { var a = $j(this); if ( e.which == 1 && // check if the left mouse button has been pressed a.attr('href').indexOf(window.location.host) >= 0 && // check if the link is to the same domain (typeof a.data('rel') === 'undefined') && //Not pretty photo link (typeof a.attr('rel') === 'undefined') && //Not VC pretty photo link !a.hasClass('qode-like') && //Not like link !a.parents('.blog_load_more_button') && //Not load more !a.parents('.qode-single-product-images') && //Not product single image (typeof a.attr('target') === 'undefined' || a.attr('target') === '_self') && // check if the link opens in the same window (a.attr('href').split('#')[0] !== window.location.href.split('#')[0]) // check if it is an anchor aiming for a different page ) { e.preventDefault(); loader.addClass('qode-hide-spinner'); loader.fadeIn(500, function() { window.location = a.attr('href'); }); } }); } } function qodeInitAccordions(){ "use strict"; var accordion = $j('.qode-accordion-holder'); if(accordion.length){ accordion.each(function(){ var thisAccordion = $j(this); if(thisAccordion.hasClass('qode-accordion')){ thisAccordion.accordion({ animate: "easeInOutQuint", collapsible: true, active: 0, icons: "", heightStyle: "content", }); } if(thisAccordion.hasClass('qode-toggle')){ var toggleAccordion = $j(this); var toggleAccordionTitle = toggleAccordion.find('.qode-title-holder'); var toggleAccordionContent = toggleAccordionTitle.next(); toggleAccordion.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 = $j(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(300); }); }); } }); } } /* ** Interactive Icon Showcase */ function qodeInitInteractiveIconShowcase () { var interactiveShowcase = $j('.qode-int-icon-showcase'), noAnimationOnTouch = $j('.no_animation_on_touch'); if (interactiveShowcase.length){ interactiveShowcase.each(function () { var thisShowcase = $j(this), iconHolders = thisShowcase.find('.qode-showcase-item-holder'), thisIcons = thisShowcase.find('.qode-showcase-icon'), thisContent = thisShowcase.find('.qode-showcase-content'), thisFirstItem = thisShowcase.find('.qode-showcase-item-holder:first-child'), thisActiveItem = thisShowcase.find('.qode-showcase-item-holder.qode-showcase-active'), isInitialized = false, isPaused = false, currentItem, itemInterval = 3000, numberOfItems = iconHolders.length; if(typeof thisShowcase.data('interval') !== 'undefined' && thisShowcase.data('interval') !== false) { itemInterval = thisShowcase.data('interval'); } if (!noAnimationOnTouch.length) { //appear thisShowcase.appear(function(){ setTimeout(function(){ thisShowcase.addClass('qode-appeared'); if (!thisActiveItem.length) { // setTimeout(function(){ isInitialized = true; thisFirstItem.addClass('qode-showcase-active'); if (thisShowcase.hasClass('qode-autoplay')) { showcaseLoop(); thisShowcase.hover(function (e) { isPaused = true; },function (e) { isPaused = false; }); } // },2500); } },30); },{accX: 0, accY: -200}); } else { thisFirstItem.addClass('qode-showcase-active'); isInitialized = true; } //hover actions thisIcons.each(function(){ var thisIcon = $j(this), thisHolder = thisIcon.parent(); thisIcon.mouseenter(function(){ if (isInitialized == true) { thisHolder.siblings().removeClass('qode-showcase-active qode-current'); thisHolder.addClass('qode-showcase-active qode-current'); currentItem = thisShowcase.find('.qode-current').index(); //reset current loop item to latest hovered item } }); }); //loop through the items function showcaseLoop() { currentItem = 0; //start from the first item, index = 0 var loop = setInterval(function(){ if (!isPaused) { iconHolders.removeClass('qode-showcase-active qode-current'); if(currentItem == numberOfItems -1){ currentItem = 0; }else{ currentItem++; } iconHolders.eq(currentItem).addClass('qode-showcase-active'); } }, itemInterval); } }); } } function qodeInitSendContactForm(){ "use strict"; var forms = $j('.qode-contact-form-contact-template'); if(forms.length){ forms.each(function(){ var form = $j(this); form.on( 'submit', function(e) { e.preventDefault(); var sendMail = true; form.find('.contact-error').remove(); form.parent().find('.contact-success').remove(); form.find('.requiredField').each(function() { var inputField = $j(this); if(jQuery.trim(inputField.val()) == '' || jQuery.trim(inputField.val()) == jQuery.trim(inputField.attr('placeholder'))){ inputField.parent().append(''+ form.data('required-message') +''); inputField.addClass('inputError'); sendMail = false; } else { if(inputField.hasClass('email')) { //if hasClass('email') var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,6})?$/; if(!emailReg.test(jQuery.trim(inputField.val()))){ inputField.parent().append(''+ form.data('wrong-email-message') +''); inputField.addClass('inputError'); sendMail = false; } } } }); if(sendMail){ var form_data = form.serialize(); var ajaxData = { action: 'bridge_core_send_contact_page_form', form_data : form_data, contact_page_nonce: form.find('#bridge_qode_contact_page_nonce').val() }; $j.ajax({ type: 'POST', data: ajaxData, url: QodeAdminAjax.ajaxurl, success: function (data) { var response = JSON.parse(data); if(response.status == 'success'){ form.before('

      ' + response.message + '

      '); form.hide(); } else { form.before('

      ' + response.message + '

      '); } } }); } }); }); } }function qodeRecaptchaCallback(){ "use strict"; var element = $j('#qode-captcha-element-holder'); if(element.length) { grecaptcha.render('qode-captcha-element-holder', { 'sitekey': element.data('sitekey') }); } } /* * Animate Workflow shortcode */ function qodeWorkflow() { var workflowShortcodes = $j('.qode-workflow'); if (workflowShortcodes.length) { workflowShortcodes.each(function () { var workflowShortcode = $j(this); if (workflowShortcode.hasClass('qode-workflow-animate')) { var workflowItems = workflowShortcode.find('.qode-workflow-item'); workflowShortcode.appear(function () { workflowShortcode.addClass('qode-appeared'); setTimeout(function () { workflowItems.each(function (i) { var workflowItem = $j(this); setTimeout(function () { workflowItem.addClass('qode-appeared'); }, 350 * i); }); }, 350); }, {accX: 0, accY: -($window_height / 3)}); } }); } } /** * Initializes load more data params * @param container with defined data params * return array */ function getLoadMoreData(container){ var dataList = container.data(), returnValue = {}; for (var property in dataList) { if (dataList.hasOwnProperty(property)) { if (typeof dataList[property] !== 'undefined' && dataList[property] !== false) { returnValue[property] = dataList[property]; } } } return returnValue; } /** * Sets load more data params for ajax function * @param container with defined data params * return array */ function setLoadMoreAjaxData(container, action){ var returnValue = { action: action }; for (var property in container) { if (container.hasOwnProperty(property)) { if (typeof container[property] !== 'undefined' && container[property] !== false) { returnValue[property] = container[property]; } } } return returnValue; } /** * Init Owl Carousel */ function qodeOwlSlider() { var sliders = $j('.qode-owl-slider'); if (sliders.length) { sliders.each(function(){ var slider = $j(this), slideItemsNumber = slider.children().length, numberOfItems = 1, loop = true, autoplay = true, autoplayHoverPause = true, sliderSpeed = 5000, sliderSpeedAnimation = 600, margin = 0, responsiveMargin = 0, stagePadding = 0, stagePaddingEnabled = false, center = false, autoWidth = false, animateInClass = false, // keyframe css animation animateOut = false, // keyframe css animation navigation = true, pagination = false, sliderIsPortfolio = !!slider.hasClass('qode-pl-is-slider'), sliderDataHolder = sliderIsPortfolio ? slider.parent() : slider; // this is condition for portfolio slider if (typeof slider.data('number-of-items') !== 'undefined' && slider.data('number-of-items') !== false && !sliderIsPortfolio) { numberOfItems = slider.data('number-of-items'); } if (typeof sliderDataHolder.data('number-of-columns') !== 'undefined' && sliderDataHolder.data('number-of-columns') !== false && sliderIsPortfolio) { numberOfItems = sliderDataHolder.data('number-of-columns'); } if (sliderDataHolder.data('enable-loop') === 'no') { loop = false; } if (sliderDataHolder.data('enable-autoplay') === 'no') { autoplay = false; } if (sliderDataHolder.data('enable-autoplay-hover-pause') === 'no') { autoplayHoverPause = false; } if (typeof sliderDataHolder.data('slider-speed') !== 'undefined' && sliderDataHolder.data('slider-speed') !== false) { sliderSpeed = sliderDataHolder.data('slider-speed'); } if (typeof sliderDataHolder.data('slider-speed-animation') !== 'undefined' && sliderDataHolder.data('slider-speed-animation') !== false) { sliderSpeedAnimation = sliderDataHolder.data('slider-speed-animation'); } if (typeof sliderDataHolder.data('slider-margin') !== 'undefined' && sliderDataHolder.data('slider-margin') !== false) { margin = sliderDataHolder.data('slider-margin'); } if(slider.parent().hasClass('qode-huge-space')) { margin = 60; } else if (slider.parent().hasClass('qode-large-space')) { margin = 50; } else if (slider.parent().hasClass('qode-medium-space')) { margin = 40; } else if(slider.parent().hasClass('qode-normal-space')) { margin = 30; } else if (slider.parent().hasClass('qode-small-space')) { margin = 20; } else if (slider.parent().hasClass('qode-tiny-space')) { margin = 10; } if (sliderDataHolder.data('slider-padding') === 'yes') { stagePaddingEnabled = true; stagePadding = parseInt(slider.outerWidth() * 0.28); margin = 50; } if (sliderDataHolder.data('enable-center') === 'yes') { center = true; } if (sliderDataHolder.data('enable-auto-width') === 'yes') { autoWidth = true; } if (typeof sliderDataHolder.data('slider-animate-in') !== 'undefined' && sliderDataHolder.data('slider-animate-in') !== false) { animateInClass = sliderDataHolder.data('slider-animate-in'); } if (typeof sliderDataHolder.data('slider-animate-out') !== 'undefined' && sliderDataHolder.data('slider-animate-out') !== false) { animateOut = sliderDataHolder.data('slider-animate-out'); } if (sliderDataHolder.data('enable-navigation') === 'no') { navigation = false; } if (sliderDataHolder.data('enable-pagination') === 'yes') { pagination = true; } if(navigation && pagination) { slider.addClass('qode-slider-has-both-nav'); } if (slideItemsNumber <= 1) { loop = false; autoplay = false; navigation = false; pagination = false; } var responsiveNumberOfItems1 = 1, responsiveNumberOfItems2 = 2, responsiveNumberOfItems3 = 3, responsiveNumberOfItems4 = numberOfItems; if (numberOfItems < 3) { responsiveNumberOfItems2 = numberOfItems; responsiveNumberOfItems3 = numberOfItems; } if (numberOfItems > 4) { responsiveNumberOfItems4 = 4; } if (stagePaddingEnabled || margin > 0) { responsiveMargin = 20; } slider.owlCarousel({ items: numberOfItems, loop: loop, autoplay: autoplay, autoplayHoverPause: autoplayHoverPause, autoplayTimeout: sliderSpeed, smartSpeed: sliderSpeedAnimation, margin: margin, stagePadding: stagePadding, center: center, autoWidth: autoWidth, animateInClass: animateInClass, animateOut: animateOut, dots: pagination, nav: navigation, navText: [ '', '' ], responsive: { 0: { items: responsiveNumberOfItems1, margin: responsiveMargin, stagePadding: 0, center: false, autoWidth: false }, 681: { items: responsiveNumberOfItems2 }, 769: { items: responsiveNumberOfItems3 }, 1025: { items: responsiveNumberOfItems4 }, 1281: { items: numberOfItems } }, onInitialize: function () { slider.css('visibility', 'visible'); }, onChanged: function () { if(slider.parent().length && slider.parent().hasClass('qode-image-behavior-lightbox')){ prettyPhoto(); } } }); }); } } /** * Scrolling Image Shortcode */ function qodeScrollingImage() { var scrollingImageShortcodes = $j('.qode-scrolling-image-holder'); if (scrollingImageShortcodes.length) { scrollingImageShortcodes.each(function(){ var scrollingImageShortcode = $j(this), scrollingImageContentHolder = scrollingImageShortcode.find('.qode-si-content-holder'), scrollingFrame = scrollingImageShortcode.find('.qode-si-frame'), scrollingFrameHeight, scrollingImage = scrollingImageShortcode.find('.qode-si-image'), scrollingImageHeight, delta, timing, scrollable = false; var sizing = function() { scrollingFrameHeight = scrollingFrame.height(); scrollingImageHeight = scrollingImage.height(); delta = Math.round(scrollingImageHeight - scrollingFrameHeight); timing = Math.round(scrollingImageHeight/scrollingFrameHeight)*2; if (scrollingImageHeight > scrollingFrameHeight) { scrollable = true; } } var scrollAnimation = function() { //scroll animation on hover scrollingImageContentHolder.mouseenter(function(){ scrollingImage.css('transition-duration',timing+'s'); //transition duration set in relation to image height scrollingImage.css('transform', 'translate3d(0px, -'+delta+'px, 0px)'); }); //scroll animation reset scrollingImageContentHolder.mouseleave(function(){ if (scrollable) { scrollingImage.css('transition-duration', Math.min(timing/3, 3) +'s'); scrollingImage.css('transform', 'translate3d(0px, 0px, 0px)'); } }); }; //init scrollingImageShortcode.waitForImages(function(){ scrollingImageShortcode.css('visibility', 'visible'); sizing(); scrollAnimation(); }); $j(window).resize(function(){ sizing(); }); }); } } /* * Defines Animation End event */ function animationEventEnd(){ var el = document.createElement("animationDetector"); var animations = { "animation" : "animationend", "OAnimation" : "oAnimationEnd", "MozAnimation" : "animationend", "WebkitAnimation": "webkitAnimationEnd" } for (var t in animations){ if (el.style[t] !== undefined){ return animations[t]; } } } /* * Defines Transition End event */ function transitionEventEnd() { var el = document.createElement('transitionDetector'), transEndEventNames = { 'WebkitTransition' : 'webkitTransitionEnd',// Saf 6, Android Browser 'MozTransition' : 'transitionend', // only for FF < 15 'transition' : 'transitionend' // IE10, Opera, Chrome, FF 15+, Saf 7+ }; for(var t in transEndEventNames){ if( el.style[t] !== undefined ){ return transEndEventNames[t]; } } } function qodeCustomFontTypeOut() { var qodeTyped = $j('.qode-cf-typed'); if (qodeTyped.length) { qodeTyped.each(function () { //vars var thisTyped = $j(this), typedWrap = thisTyped.parent('.qode-cf-typed-wrap'), customFontHolder = typedWrap.parent('.custom_font_holder'), str = [], strings = thisTyped.find('.qode-cf-typed'); if (strings.length) { strings.each(function () { str.push($j(this).text()); }); } customFontHolder.appear(function () { thisTyped.typed({ strings: str, typeSpeed: 90, backDelay: 700, loop: true, contentType: 'text', loopCount: false, cursorChar: '_' }); }, {accX: 0, accY: 200}); }); } } function qodeContactPageAcceptance(){ var contact_page_form = $j('.qode-contact-form-contact-template'), acceptance = contact_page_form.find('.contact_form_acceptance .contact_form_acceptance_value'), submitButton = contact_page_form.find('.contact_form_button'); if(acceptance.length){ acceptance.each(function(){ var thisSelector = $j(this); submitButton.attr('disabled','disabled'); thisSelector.change(function(){ if (thisSelector.is(':checked')){ submitButton.removeAttr('disabled'); } else{ submitButton.attr('disabled','disabled'); } }); }) } } function qodePanelArea(){ var panel = $j('.qode-panel-area'), panelOpener = $j('a.qode_panel_area_opener'), panelClose = $j('.qode-close-panel'), wrapper = $j('.wrapper'); var disableScroll = function () { if( typeof smoothScrollListener !== 'undefined' ) { window.removeEventListener('mousewheel', smoothScrollListener, {passive:false}); window.removeEventListener('DOMMouseScroll', smoothScrollListener, {passive:false}); } }; var enableScroll = function () { if( typeof smoothScrollListener !== 'undefined' ) { window.addEventListener('mousewheel', smoothScrollListener, {passive:false}); window.addEventListener('DOMMouseScroll', smoothScrollListener, {passive:false}); } }; if( panel.outerHeight() >= $window_height ){ panel.height($window_height); } panel.niceScroll({ scrollspeed: 30, mousescrollstep: 20, cursorwidth: 0, cursorborder: 0, cursorborderradius: 0, cursorcolor: "transparent", autohidemode: false, horizrailenabled: false }); var closePanel = function() { if (qode_body.hasClass('qode-panel-area-opened')) { qode_body.removeClass('qode-panel-area-opened'); } } var openPanel = function() { if (!qode_body.hasClass('qode-panel-area-opened')) { qode_body.addClass('qode-panel-area-opened'); } } panelOpener.on( 'click', function(e) { e.preventDefault(); e.stopPropagation(); if( qode_body.hasClass('qode-panel-area-opened') ){ closePanel(); } else{ openPanel(); } }); panelClose.on( 'click', function(e) { e.preventDefault(); closePanel(); }); wrapper.on('click', function(e){ if( qode_body.hasClass('qode-panel-area-opened') ){ closePanel(); } }); } (function($) { 'use strict'; var elementorGlobal = {}; qode.modules.elementorGlobal = elementorGlobal; elementorGlobal.qodeInitElementorGlobal = qodeInitElementorGlobal; elementorGlobal.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorGlobal(); } function qodeInitElementorGlobal(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/global', function() { initParallax(); initElementorParallaxFX(); initFullScreenTemplate(); qodeInitStickyWidget(); } ); }); } function initElementorParallaxFX(){ var parallaxSection = $('.parallax_section_holder'); if( parallaxSection.length ){ parallaxSection.each(function(){ var parallaxElement = $(this), parallaxSpeedHolder = parallaxElement.find('.qode-parallax-helper-holder'), parallaxSpeed = 1; if( parallaxSpeedHolder.length && typeof parallaxSpeedHolder.data('speed') !== 'undefined' && parallaxSpeedHolder.data('speed') !== '' ){ parallaxSpeed = parallaxSpeedHolder.data('speed'); } parallaxElement.parallax("50%", parallaxSpeed * 0.4); }) } } })(jQuery); (function($) { 'use strict'; var elementorAction = {}; qode.modules.elementorAction = elementorAction; elementorAction.qodeInitElementorAction = qodeInitElementorAction; elementorAction.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorAction(); } function qodeInitElementorAction(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_action.default', function() { initButtonHover(); } ); }); $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/global', function() { initParallax(); initElementorParallaxFX(); initFullScreenTemplate(); } ); }); } function initElementorParallaxFX(){ var parallaxSection = $('.parallax_section_holder'); if( parallaxSection.length ){ parallaxSection.each(function(){ var parallaxElement = $(this), parallaxSpeedHolder = parallaxElement.find('.qode-parallax-helper-holder'), parallaxSpeed = 1; if( parallaxSpeedHolder.length && typeof parallaxSpeedHolder.data('speed') !== 'undefined' && parallaxSpeedHolder.data('speed') !== '' ){ parallaxSpeed = parallaxSpeedHolder.data('speed'); } parallaxElement.parallax("50%", parallaxSpeed * 0.4); }) } } })(jQuery); (function($) { 'use strict'; var elementorAnimationHolder = {}; qode.modules.elementorAnimationHolder = elementorAnimationHolder; elementorAnimationHolder.qodeInitElementorAnimationHolder = qodeInitElementorAnimationHolder; elementorAnimationHolder.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorAnimationHolder(); } function qodeInitElementorAnimationHolder(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_animation_holder.default', function() { initElementsAnimation(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorButton = {}; qode.modules.elementorButton = elementorButton; elementorButton.qodeInitElementorButton = qodeInitElementorButton; elementorButton.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorButton(); } function qodeInitElementorButton(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_button.default', function() { initButtonHover(); initEnlargeButton(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorBlogSlider = {}; qode.modules.elementorBlogSlider = elementorBlogSlider; elementorBlogSlider.qodeInitElementorBlogSlider = qodeInitElementorBlogSlider; elementorBlogSlider.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorBlogSlider(); } function qodeInitElementorBlogSlider(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_blog_slider.default', function() { initBlogSlider(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorCarousel = {}; qode.modules.elementorCarousel = elementorCarousel; elementorCarousel.qodeInitElementorCarousel = qodeInitElementorCarousel; elementorCarousel.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorCarousel(); } function qodeInitElementorCarousel(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_carousel.default', function() { initQodeCarousel(); calculateHeights(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorContentSlider = {}; qode.modules.elementorContentSlider = elementorContentSlider; elementorContentSlider.qodeInitElementorContentSlider = qodeInitElementorContentSlider; elementorContentSlider.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorContentSlider(); } function qodeInitElementorContentSlider(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_content_slider.default', function() { initContentSlider(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorCountdown = {}; qode.modules.elementorCountdown = elementorCountdown; elementorCountdown.qodeInitElementorCountdown = qodeInitElementorCountdown; elementorCountdown.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorCountdown(); } function qodeInitElementorCountdown(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_countdown.default', function() { initCountdown(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorCounter = {}; qode.modules.elementorCounter = elementorCounter; elementorCounter.qodeInitElementorCounter = qodeInitElementorCounter; elementorCounter.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorCounter(); } function qodeInitElementorCounter(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_counter.default', function() { initToCounter(); initCounter(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorCoverBoxes = {}; qode.modules.elementorCoverBoxes = elementorCoverBoxes; elementorCoverBoxes.qodeInitElementorCoverBoxes = qodeInitElementorCoverBoxes; elementorCoverBoxes.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorCoverBoxes(); } function qodeInitElementorCoverBoxes(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_cover_boxes.default', function() { initCoverBoxes(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorCustomFont = {}; qode.modules.elementorCustomFont = elementorCustomFont; elementorCustomFont.qodeInitElementorCustomFont = qodeInitElementorCustomFont; elementorCustomFont.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorCustomFont(); } function qodeInitElementorCustomFont(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_custom_font.default', function() { qodeCustomFontTypeOut(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorExpandingImages = {}; qode.modules.elementorExpandingImages = elementorExpandingImages; elementorExpandingImages.qodeInitElementorExpandingImages = qodeInitElementorExpandingImages; elementorExpandingImages.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorExpandingImages(); } function qodeInitElementorExpandingImages(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_expanding_images.default', function() { initExpandingImages(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorFullscreenSections = {}; qode.modules.elementorFullscreenSections = elementorFullscreenSections; elementorFullscreenSections.qodeInitElementorFullscreenSections = qodeInitElementorFullscreenSections; elementorFullscreenSections.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorFullscreenSections(); } function qodeInitElementorFullscreenSections(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_fullscreen_sections.default', function() { initFullScreenTemplate(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorGoogleMap = {}; qode.modules.elementorGoogleMap = elementorGoogleMap; elementorGoogleMap.qodeInitElementorGoogleMap = qodeInitElementorGoogleMap; elementorGoogleMap.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorGoogleMap(); } function qodeInitElementorGoogleMap(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_google_map.default', function() { showGoogleMap(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorHorizontalMarquee = {}; qode.modules.elementorHorizontalMarquee = elementorHorizontalMarquee; elementorHorizontalMarquee.qodeInitElementorHorizontalMarquee = qodeInitElementorHorizontalMarquee; elementorHorizontalMarquee.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorHorizontalMarquee(); } function qodeInitElementorHorizontalMarquee(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_horizontal_marquee.default', function() { initHorizontalMarquee(); qodeHorizontalMarqueeLoop(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorIcon = {}; qode.modules.elementorIcon = elementorIcon; elementorIcon.qodeInitElementorIcon = qodeInitElementorIcon; elementorIcon.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorIcon(); } function qodeInitElementorIcon(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_icon.default', function() { initIconShortcodeHover(); initIconWithTextAnimation(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorIconText = {}; qode.modules.elementorIconText = elementorIconText; elementorIconText.qodeInitElementorIconText = qodeInitElementorIconText; elementorIconText.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorIconText(); } function qodeInitElementorIconText(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_icon_text.default', function() { initIconWithTextHover(); initIconShortcodeHover(); initIconWithTextAnimation(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorImageGallery = {}; qode.modules.elementorImageGallery = elementorImageGallery; elementorImageGallery.qodeInitElementorImageGallery = qodeInitElementorImageGallery; elementorImageGallery.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorImageGallery(); } function qodeInitElementorImageGallery(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_image_gallery.default', function() { initFlexSlider(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorImageHover = {}; qode.modules.elementorImageHover = elementorImageHover; elementorImageHover.qodeInitElementorImageHover = qodeInitElementorImageHover; elementorImageHover.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorImageHover(); } function qodeInitElementorImageHover(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_image_hover.default', function() { initImageHover(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorImageSliderNoSpace = {}; qode.modules.elementorImageSliderNoSpace = elementorImageSliderNoSpace; elementorImageSliderNoSpace.qodeInitElementorImageSliderNoSpace = qodeInitElementorImageSliderNoSpace; elementorImageSliderNoSpace.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorImageSliderNoSpace(); } function qodeInitElementorImageSliderNoSpace(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_image_slider_no_space.default', function() { initImageGallerySliderNoSpace() } ); }); } })(jQuery); (function($) { 'use strict'; var elementorInDeviceSlider = {}; qode.modules.elementorInDeviceSlider = elementorInDeviceSlider; elementorInDeviceSlider.qodeInitElementorInDeviceSlider = qodeInitElementorInDeviceSlider; elementorInDeviceSlider.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorInDeviceSlider(); } function qodeInitElementorInDeviceSlider(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_in_device_slider.default', function() { initInDeviceSlider(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorMasonryBlog = {}; qode.modules.elementorMasonryBlog = elementorMasonryBlog; elementorMasonryBlog.qodeInitElementorMasonryBlog = qodeInitElementorMasonryBlog; elementorMasonryBlog.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorMasonryBlog(); } function qodeInitElementorMasonryBlog(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_masonry_blog.default', function() { initQBlog(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorMasonryGallery = {}; qode.modules.elementorMasonryGallery = elementorMasonryGallery; elementorMasonryGallery.qodeInitElementorMasonryGallery = qodeInitElementorMasonryGallery; elementorMasonryGallery.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorMasonryGallery(); } function qodeInitElementorMasonryGallery(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_masonry_gallery.default', function() { initMasonryGallery(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorMessage = {}; qode.modules.elementorMessage = elementorMessage; elementorMessage.qodeInitElementorMessage = qodeInitElementorMessage; elementorMessage.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorMessage(); } function qodeInitElementorMessage(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_message.default', function() { initMessages(); initMessageHeight(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorOldAccordion = {}; qode.modules.elementorOldAccordion = elementorOldAccordion; elementorOldAccordion.qodeInitElementorOldAccordion = qodeInitElementorOldAccordion; elementorOldAccordion.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorOldAccordion(); } function qodeInitElementorOldAccordion(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_old_accordion.default', function() { initAccordion() } ); }); } })(jQuery); (function($) { 'use strict'; var elementorOldTab = {}; qode.modules.elementorOldTab = elementorOldTab; elementorOldTab.qodeInitElementorOldTab = qodeInitElementorOldTab; elementorOldTab.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorOldTab(); } function qodeInitElementorOldTab(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_old_tab.default', function() { initTabs(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorParallaxLayers = {}; qode.modules.elementorParallaxLayers = elementorParallaxLayers; elementorParallaxLayers.qodeInitElementorParallaxLayers = qodeInitElementorParallaxLayers; elementorParallaxLayers.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorParallaxLayers(); } function qodeInitElementorParallaxLayers(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_parallax_layers.default', function() { parallaxLayers(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorPieChart = {}; qode.modules.elementorPieChart = elementorPieChart; elementorPieChart.qodeInitElementorPieChart = qodeInitElementorPieChart; elementorPieChart.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorPieChart(); } function qodeInitElementorPieChart(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_pie_chart.default', function() { initPieChart(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorPieChartWithIcon = {}; qode.modules.elementorPieChartWithIcon = elementorPieChartWithIcon; elementorPieChartWithIcon.qodeInitElementorPieChartWithIcon = qodeInitElementorPieChartWithIcon; elementorPieChartWithIcon.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorPieChartWithIcon(); } function qodeInitElementorPieChartWithIcon(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_pie_chart_with_icon.default', function() { initPieChartWithIcon(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorPortfolioList = {}; qode.modules.elementorPortfolioList = elementorPortfolioList; elementorPortfolioList.qodeInitElementorPortfolioList = qodeInitElementorPortfolioList; elementorPortfolioList.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorPortfolioList(); } function qodeInitElementorPortfolioList(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_portfolio_list.default', function() { initPortfolio(); initPortfolioZIndex(); initPortfolioJustifiedGallery(); initPortfolioMasonryFilter(); initPortfolioMasonry(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorPortfolioSlider = {}; qode.modules.elementorPortfolioSlider = elementorPortfolioSlider; elementorPortfolioSlider.qodeInitElementorPortfolioSlider = qodeInitElementorPortfolioSlider; elementorPortfolioSlider.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorPortfolioSlider(); } function qodeInitElementorPortfolioSlider(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_portfolio_slider.default', function() { initPortfolioSlider(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorPreviewSlider = {}; qode.modules.elementorPreviewSlider = elementorPreviewSlider; elementorPreviewSlider.qodeInitElementorPreviewSlider = qodeInitElementorPreviewSlider; elementorPreviewSlider.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorPreviewSlider(); } function qodeInitElementorPreviewSlider(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_preview_slider.default', function() { initPreviewSlider(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorProductListElegant = {}; qode.modules.elementorProductListElegant = elementorProductListElegant; elementorProductListElegant.qodeInitElementorProductListElegant = qodeInitElementorProductListElegant; elementorProductListElegant.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorProductListElegant(); } function qodeInitElementorProductListElegant(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_product_list_elegant.default', function() { initEnlargeButton(); } ); }); } })(jQuery); (function($) { 'use strict'; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeElementorInitProductListPinterest(); } /* ** Testimonials */ function qodeElementorInitProductListPinterest(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_product_list_masonry.default', function() { qodeInitProductListMasonryPinterestShortcode(); } ); }); } })(jQuery); (function($) { 'use strict'; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeElementorInitProductListPinterest(); } /* ** Testimonials */ function qodeElementorInitProductListPinterest(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_product_list_pinterest.default', function() { qodeInitProductListMasonryPinterestShortcode(); } ); }); } })(jQuery); (function($) { 'use strict'; $(window).on('load', qodeOnWindowLoad ) ; /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeElementorInitProgressBar(); } /* ** Testimonials */ function qodeElementorInitProgressBar(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_progress_bar.default', function() { initProgressBars(); } ); }); } })(jQuery); (function($) { 'use strict'; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeElementorInitProgressBarIcon(); } /* ** Progress Bars Icons */ function qodeElementorInitProgressBarIcon(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_progress_bar_icon.default', function() { initProgressBarsIcon(); } ); }); } })(jQuery); (function($) { 'use strict'; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeElementorInitProgressBarVertical(); } /* ** Testimonials */ function qodeElementorInitProgressBarVertical(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_progress_bar_vertical.default', function() { initProgressBarsVertical(); } ); }); } })(jQuery); (function($) { 'use strict'; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeElementorInitSocialIcons(); } /* ** Testimonials */ function qodeElementorInitSocialIcons(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_social_icons.default', function() { initSocialIconHover(); } ); }); } })(jQuery); (function($) { 'use strict'; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitTestimonials(); } /* ** Testimonials */ function qodeInitTestimonials(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_testimonials.default', function() { initTestimonials(); } ); }); } })(jQuery); (function($) { 'use strict'; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitTestimonialsCarousel(); } /* ** TestimonialsCarousel */ function qodeInitTestimonialsCarousel(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_testimonials_carousel.default', function() { initTestimonialsCarousel(); } ); }); } })(jQuery); (function($) { 'use strict'; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitTextMarque(); } function qodeInitTextMarque(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_text_marquee.default', function() { initTextMarquee(); } ); }); } })(jQuery); (function($) { 'use strict'; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitUnorderedListAnimation(); } /* ** Init Unordered List shortcode */ function qodeInitUnorderedListAnimation(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_unordered_list.default', function() { initListAnimation(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorVerticalSplitSlider = {}; qode.modules.elementorVerticalSplitSlider = elementorVerticalSplitSlider; elementorVerticalSplitSlider.qodeInitElementorVerticalSplitSlider = qodeInitElementorVerticalSplitSlider; elementorVerticalSplitSlider.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorVerticalSplitSlider(); } function qodeInitElementorVerticalSplitSlider(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_vertical_split_slider.default', function() { initVerticalSplitSlider(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorAccordion = {}; qode.modules.elementorAccordion = elementorAccordion; elementorAccordion.qodeInitElementorAccordion = qodeInitElementorAccordion; elementorAccordion.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorAccordion(); } function qodeInitElementorAccordion(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_accordion.default', function() { qodeInitAccordions(); } ); }); } })(jQuery); (function($) { 'use strict'; var imageGallery = {}; qode.modules.imageGallery = imageGallery; imageGallery.qodeInitAdvancedImageGalleryMasonry = qodeInitAdvancedImageGalleryMasonry; imageGallery.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitAdvancedImageGalleryMasonry(); } /* ** Init Image Gallery shortcode - Masonry layout */ function qodeInitAdvancedImageGalleryMasonry(){ var holder = $('.qode-advanced-image-gallery.qode-aig-masonry-type'); if(holder.length){ holder.each(function(){ var thisHolder = $(this), masonry = thisHolder.find('.qode-aig-masonry'), size = thisHolder.find('.qode-aig-grid-sizer').width(); qodeResizeAdvancedImageGalleryMasonryItems(size, thisHolder); masonry.waitForImages(function() { masonry.isotope({ layoutMode: 'packery', itemSelector: '.qode-aig-image', percentPosition: true, packery: { gutter: '.qode-aig-grid-gutter', columnWidth: '.qode-aig-grid-sizer' } }); setTimeout(function() { masonry.isotope('layout'); initParallax(); }, 800); masonry.css('opacity', '1'); }); }); } } /** * Init Resize Portfolio Items */ function qodeResizeAdvancedImageGalleryMasonryItems(size,container){ if(container.hasClass('qode-aig-images-fixed')) { var padding = parseInt(container.find('.qode-aig-image').css('padding-left')), defaultMasonryItem = container.find('.qode-aig-default-masonry-item'), largeWidthMasonryItem = container.find('.qode-aig-large-width-masonry-item'), largeHeightMasonryItem = container.find('.qode-aig-large-height-masonry-item'), largeWidthHeightMasonryItem = container.find('.qode-aig-large-masonry-item'); if (qode.windowWidth > 680) { defaultMasonryItem.css('height', size - 2 * padding); largeHeightMasonryItem.css('height', Math.round(2 * size) - 2 * padding); largeWidthHeightMasonryItem.css('height', Math.round(2 * size) - 2 * padding); largeWidthMasonryItem.css('height', size - 2 * padding); } else { defaultMasonryItem.css('height', size - 2 * padding); largeHeightMasonryItem.css('height', size*2 - 2 * padding); largeWidthHeightMasonryItem.css('height', size - 2 * padding); largeWidthMasonryItem.css('height', Math.floor(size / 2) - 2 * padding); } } } })(jQuery); (function($) { 'use strict'; var elementorImageGallery = {}; qode.modules.elementorImageGallery = elementorImageGallery; elementorImageGallery.qodeInitElementorAdvancedImageGalleryMasonry = qodeInitElementorAdvancedImageGalleryMasonry; elementorImageGallery.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorAdvancedImageGalleryMasonry(); } function qodeInitElementorAdvancedImageGalleryMasonry(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_advanced_image_gallery.default', function() { qodeOwlSlider(); qode.modules.imageGallery.qodeInitAdvancedImageGalleryMasonry(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorAdvancedTabs = {}; qode.modules.elementorAdvancedTabs = elementorAdvancedTabs; elementorAdvancedTabs.qodeInitElementorAdvancedTabs = qodeInitElementorAdvancedTabs; elementorAdvancedTabs.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorAdvancedTabs(); } function qodeInitElementorAdvancedTabs(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_tabs.default', function() { qodeInitAdvancedTabs(); qodeInitAdvancedTabsIcons(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorBlogCarouselTitled = {}; qode.modules.elementorBlogCarouselTitled = elementorBlogCarouselTitled; elementorBlogCarouselTitled.qodeInitElementorBlogCarouselTitled = qodeInitElementorBlogCarouselTitled; elementorBlogCarouselTitled.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorBlogCarouselTitled(); } function qodeInitElementorBlogCarouselTitled(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_blog_carousel_titled.default', function() { qodeInitBlogCarouselTitled(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorButtonV2 = {}; qode.modules.elementorButtonV2 = elementorButtonV2; elementorButtonV2.qodeInitElementorButtonV2 = qodeInitElementorButtonV2; elementorButtonV2.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorButtonV2(); } function qodeInitElementorButtonV2(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_button_v2.default', function() { qodeV2Button().init(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorCallToActionSection = {}; qode.modules.elementorCallToActionSection = elementorCallToActionSection; elementorCallToActionSection.qodeInitElementorCallToActionSection = qodeInitElementorCallToActionSection; elementorCallToActionSection.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorCallToActionSection(); } function qodeInitElementorCallToActionSection(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_call_to_action_section.default', function() { qodeCTASection().init(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorCardsGallery = {}; qode.modules.elementorCardsGallery = elementorCardsGallery; elementorCardsGallery.qodeInitElementorCardsGallery = qodeInitElementorCardsGallery; elementorCardsGallery.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorCardsGallery(); } function qodeInitElementorCardsGallery(){ $j(window).on('elementor/frontend/init', function () { qodeCardsGallery(); elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_cards_gallery.default', function() { qodeCardsGallery(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorCardsSlider = {}; qode.modules.elementorCardsSlider = elementorCardsSlider; elementorCardsSlider.qodeInitElementorCardsSlider = qodeInitElementorCardsSlider; elementorCardsSlider.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorCardsSlider(); } /* ** */ function qodeInitElementorCardsSlider(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_cards_slider.default', function() { qodeCardsSlider().init(); } ); }); } })(jQuery); (function($) { 'use strict'; var comparisonSlider = {}; qode.modules.comparisonSlider = comparisonSlider; comparisonSlider.qodeInitComparisonSlider = qodeInitComparisonSlider; comparisonSlider.qodeOnWindowLoad = qodeOnWindowLoad; $(document).ready(qodeOnWindowLoad); /* All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitComparisonSlider(); } function qodeInitComparisonSlider() { var cmpSliders = $j('.qode-comparison-slider'); if (cmpSliders.length) { cmpSliders.each(function (i) { var cmpSlider = $j(this); var orientation = cmpSlider.data('orientation'); var offset = cmpSlider.data('offset') / 100; cmpSlider.waitForImages(function () { cmpSlider.css('visibility', 'visible'); cmpSlider.twentytwenty({ default_offset_pct: 1.1, orientation: orientation }); }); cmpSlider.appear(function () { setTimeout(function () { var height = cmpSlider.height(), width = cmpSlider.width(), pixelHeight = height * offset, //target value pixelWidth = width * offset, //target value handle = cmpSlider.find('.twentytwenty-handle'), image = cmpSlider.find('img:first-of-type'), transitionTime = 700, transitionEasing = 'cubic-bezier(0.645, 0.045, 0.355, 1)', transitionDelay = 100; var position = function () { if (orientation == 'horizontal') { handle.css({ 'left': +pixelWidth + 1 + 'px' }); image.css({ 'clip': 'rect(0px ' + pixelWidth + 'px ' + height + 'px 0px)' }); } else { handle.css({ 'top': +pixelHeight + 1 + 'px' }); image.css({ 'clip': 'rect(0px ' + width + 'px ' + pixelHeight + 'px 0px)' }); } } image.css('transition', 'all ' + transitionTime + 'ms ' + transitionEasing + ' ' + transitionDelay + 'ms'); handle.css('transition', 'all ' + transitionTime + 'ms ' + transitionEasing + ' ' + transitionDelay + 'ms'); position(); setTimeout(function () { image.css('transition', 'none'); handle.css('transition', 'none'); }, transitionTime); $j(window).resize(function () { height = cmpSlider.height(); width = cmpSlider.width(); pixelHeight = height * offset; //target value pixelWidth = width * offset; //target value position(); }); }, 100); //necessary for calcs }, {accX: 0, accY: -200}); }); } } })(jQuery); (function($) { 'use strict'; var elementorComparisonSlider = {}; qode.modules.elementorComparisonSlider = elementorComparisonSlider; elementorComparisonSlider.qodeInitElementorComparisonSlider = qodeInitElementorComparisonSlider; elementorComparisonSlider.qodeOnWindowLoad = qodeOnWindowLoad; $(document).ready(qodeOnWindowLoad); /* All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorComparisonSlider(); } function qodeInitElementorComparisonSlider() { $(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_comparison_slider.default', function() { qode.modules.imageGallery.qodeInitAdvancedImageGalleryMasonry(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorContentMenu = {}; qode.modules.elementorContentMenu = elementorContentMenu; elementorContentMenu.qodeInitElementorContentMenu = qodeInitElementorContentMenu; elementorContentMenu.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorContentMenu(); } function qodeInitElementorContentMenu(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_content_menu.default', function() { createContentMenu(); createSelectContentMenu(); contentMenuPosition(); contentMenuCheckLastSection(); contentMenuScrollTo(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorEllipticalSlider = {}; qode.modules.elementorEllipticalSlider = elementorEllipticalSlider; elementorEllipticalSlider.qodeInitElementorEllipticalSlider = qodeInitElementorEllipticalSlider; elementorEllipticalSlider.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad ); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorEllipticalSlider(); } function qodeInitElementorEllipticalSlider(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_elliptical_slider.default', function() { qodeInitEllipticalSlider(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorExpendableSection = {}; qode.modules.elementorExpendableSection = elementorExpendableSection; elementorExpendableSection.qodeInitElementorExpendableSection = qodeInitElementorExpendableSection; elementorExpendableSection.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorExpendableSection(); } function qodeInitElementorExpendableSection(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_expendable_section.default', function() { initMoreFacts(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorHorizontalTimeline = {}; qode.modules.elementorHorizontalTimeline = elementorHorizontalTimeline; elementorHorizontalTimeline.qodeInitElementorHorizontalTimeline = qodeInitElementorHorizontalTimeline; elementorHorizontalTimeline.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorHorizontalTimeline(); } function qodeInitElementorHorizontalTimeline(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_horizontal_timeline.default', function() { qode.modules.timeline.qodeInitHorizontalTimeline(); } ); }); } })(jQuery); (function($) { 'use strict'; var timeline = {}; qode.modules.timeline = timeline; timeline.qodeInitHorizontalTimeline = qodeInitHorizontalTimeline; timeline.qodeOnDocumentReady = qodeOnDocumentReady; $(document).ready(qodeOnDocumentReady); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnDocumentReady() { qodeInitHorizontalTimeline(); } function qodeInitHorizontalTimeline() { var timelines = $('.qode-horizontal-timeline'); var eventsMinDistance = 120; if(qode.windowWidth > 680 && qode.windowWidth <= 1024) { eventsMinDistance = 60; } else if (qode.windowWidth < 680) { eventsMinDistance = 105; } if(timelines.length) { timelines.each(function() { var timeline = $(this), timelineComponents = {}; //cache timeline components timelineComponents['timelineWrapper'] = timeline.find('.qode-events-wrapper'); timelineComponents['eventsWrapper'] = timelineComponents['timelineWrapper'].children('.qode-events'); timelineComponents['fillingLine'] = timelineComponents['eventsWrapper'].children('.qode-filling-line'); timelineComponents['timelineEvents'] = timelineComponents['eventsWrapper'].find('a'); timelineComponents['timelineDates'] = parseDate(timelineComponents['timelineEvents']); timelineComponents['eventsMinLapse'] = minLapse(timelineComponents['timelineDates']); timelineComponents['timelineNavigation'] = timeline.find('.qode-timeline-navigation'); timelineComponents['eventsContent'] = timeline.children('.qode-events-content'); timelineComponents['eventsWrapper'].find('ol li:first-child a').addClass('selected'); timelineComponents['eventsContent'].find('ol li:first-child').addClass('selected'); //assign a left postion to the single events along the timeline setDatePosition(timelineComponents, eventsMinDistance, timeline); //assign a width to the timeline var timelineTotWidth = setTimelineWidth(timelineComponents, eventsMinDistance, timeline); //the timeline has been initialize - show it timeline.addClass('loaded'); //detect click on the next arrow timelineComponents['timelineNavigation'].on('click', '.qode-next', function(event){ event.preventDefault(); updateSlide(timelineComponents, timelineTotWidth, 'next'); }); //detect click on the prev arrow timelineComponents['timelineNavigation'].on('click', '.qode-prev', function(event){ event.preventDefault(); updateSlide(timelineComponents, timelineTotWidth, 'prev'); }); //detect click on the a single event - show new event content timelineComponents['eventsWrapper'].on('click', 'a', function(event){ event.preventDefault(); timelineComponents['timelineEvents'].removeClass('selected'); $(this).addClass('selected'); updateOlderEvents($(this)); updateFilling($(this), timelineComponents['fillingLine'], timelineTotWidth); updateVisibleContent($(this), timelineComponents['eventsContent']); }); //on swipe, show next/prev event content timelineComponents['eventsContent'].on('swipeleft', function(){ var mq = checkMQ(); ( mq == 'mobile' ) && showNewContent(timelineComponents, timelineTotWidth, 'next'); }); timelineComponents['eventsContent'].on('swiperight', function(){ var mq = checkMQ(); ( mq == 'mobile' ) && showNewContent(timelineComponents, timelineTotWidth, 'prev'); }); //keyboard navigation $(document).keyup(function(event){ if(event.which === '37' && elementInViewport(timeline.get(0)) ) { showNewContent(timelineComponents, timelineTotWidth, 'prev'); } else if( event.which === '39' && elementInViewport(timeline.get(0))) { showNewContent(timelineComponents, timelineTotWidth, 'next'); } }); }); } function updateSlide(timelineComponents, timelineTotWidth, string) { //retrieve translateX value of timelineComponents['eventsWrapper'] var translateValue = getTranslateValue(timelineComponents['eventsWrapper']), wrapperWidth = Number(timelineComponents['timelineWrapper'].css('width').replace('px', '')); //translate the timeline to the left('next')/right('prev') (string === 'next') ? translateTimeline(timelineComponents, translateValue - wrapperWidth + eventsMinDistance, wrapperWidth - timelineTotWidth) : translateTimeline(timelineComponents, translateValue + wrapperWidth - eventsMinDistance); } function showNewContent(timelineComponents, timelineTotWidth, string) { //go from one event to the next/previous one var visibleContent = timelineComponents['eventsContent'].find('.selected'), newContent = ( string === 'next' ) ? visibleContent.next() : visibleContent.prev(); if ( newContent.length > 0 ) { //if there's a next/prev event - show it var selectedDate = timelineComponents['eventsWrapper'].find('.selected'), newEvent = ( string === 'next' ) ? selectedDate.parent('li').next('li').children('a') : selectedDate.parent('li').prev('li').children('a'); updateFilling(newEvent, timelineComponents['fillingLine'], timelineTotWidth); updateVisibleContent(newEvent, timelineComponents['eventsContent']); newEvent.addClass('selected'); selectedDate.removeClass('selected'); updateOlderEvents(newEvent); updateTimelinePosition(string, newEvent, timelineComponents); } } function updateTimelinePosition(string, event, timelineComponents) { //translate timeline to the left/right according to the position of the selected event var eventStyle = window.getComputedStyle(event.get(0), null), eventLeft = Number(eventStyle.getPropertyValue("left").replace('px', '')), timelineWidth = Number(timelineComponents['timelineWrapper'].css('width').replace('px', '')), timelineTotWidth = Number(timelineComponents['eventsWrapper'].css('width').replace('px', '')); var timelineTranslate = getTranslateValue(timelineComponents['eventsWrapper']); if( (string === 'next' && eventLeft > timelineWidth - timelineTranslate) || (string == 'prev' && eventLeft < - timelineTranslate) ) { translateTimeline(timelineComponents, - eventLeft + timelineWidth/2, timelineWidth - timelineTotWidth); } } function translateTimeline(timelineComponents, value, totWidth) { var eventsWrapper = timelineComponents['eventsWrapper'].get(0); value = (value > 0) ? 0 : value; //only negative translate value value = ( typeof totWidth !== 'undefined' && value < totWidth ) ? totWidth : value; //do not translate more than timeline width setTransformValue(eventsWrapper, 'translateX', value+'px'); //update navigation arrows visibility (value === 0 ) ? timelineComponents['timelineNavigation'].find('.qode-prev').addClass('inactive') : timelineComponents['timelineNavigation'].find('.qode-prev').removeClass('inactive'); (value === totWidth ) ? timelineComponents['timelineNavigation'].find('.qode-next').addClass('inactive') : timelineComponents['timelineNavigation'].find('.qode-next').removeClass('inactive'); } function disableTranslateTimeline(timelineComponents) { timelineComponents['timelineNavigation'].find('.qode-prev').addClass('inactive'); timelineComponents['timelineNavigation'].find('.qode-next').addClass('inactive'); } function updateFilling(selectedEvent, filling, totWidth) { //change .filling-line length according to the selected event var eventStyle = window.getComputedStyle(selectedEvent.get(0), null), eventLeft = eventStyle.getPropertyValue("left"), eventWidth = eventStyle.getPropertyValue("width"); eventLeft = Number(eventLeft.replace('px', '')) + Number(eventWidth.replace('px', ''))/2; var scaleValue = eventLeft/totWidth; setTransformValue(filling.get(0), 'scaleX', scaleValue); } function setDatePosition(timelineComponents, min, timeline) { var shorten = false; for (var i = 0; i < timelineComponents['timelineDates'].length; i++) { var distance = daydiff(timelineComponents['timelineDates'][0], timelineComponents['timelineDates'][i]), distanceNorm = Math.round(distance/timelineComponents['eventsMinLapse']) + 1; /* 24 is width of circles placed in link :after element */ timelineComponents['timelineEvents'].eq(i).css('left', distanceNorm*min-24+'px'); /* 80 is width of 2*40 margins on qode-events-wrapper */ if(distanceNorm*min < timeline.outerWidth() - 80) { shorten = true; } else { shorten = false; } } if(shorten) { disableTranslateTimeline(timelineComponents); /* 80 is width of 2*40 margins on qode-events-wrapper, 24 is width of circles placed in link :after element */ var minDistance = (timeline.outerWidth() - 80 - (timelineComponents['timelineDates'].length - 1) * 24) / (timelineComponents['timelineDates'].length + 1); for (var i = 0; i < timelineComponents['timelineDates'].length; i++) { timelineComponents['timelineEvents'].eq(i).css('left', (i+1)*minDistance+'px'); } } } function setTimelineWidth(timelineComponents, width, timeline) { var timeSpan = daydiff(timelineComponents['timelineDates'][0], timelineComponents['timelineDates'][timelineComponents['timelineDates'].length-1]), timeSpanNorm = timeSpan/timelineComponents['eventsMinLapse'], timeSpanNorm = Math.round(timeSpanNorm) + 2, totalWidth = timeSpanNorm*width; /* 80 is width of 2*40 margins on qode-events-wrapper */ if(totalWidth < timeline.outerWidth() - 80) { totalWidth = timeline.outerWidth() - 80; } timelineComponents['eventsWrapper'].css('width', totalWidth+"px"); updateFilling(timelineComponents['eventsWrapper'].find('a.selected'), timelineComponents['fillingLine'], totalWidth); updateTimelinePosition('next', timelineComponents['eventsWrapper'].find('a.selected'), timelineComponents); return totalWidth; } function updateVisibleContent(event, eventsContent) { var eventDate = event.data('date'), visibleContent = eventsContent.find('.selected'), selectedContent = eventsContent.find('[data-date="'+ eventDate +'"]'), selectedContentHeight = selectedContent.height(); if (selectedContent.index() > visibleContent.index()) { var classEnetering = 'selected qode-enter-right', classLeaving = 'qode-leave-left'; } else { var classEnetering = 'selected qode-enter-left', classLeaving = 'qode-leave-right'; } selectedContent.attr('class', classEnetering); visibleContent.attr('class', classLeaving).one('webkitAnimationEnd oanimationend msAnimationEnd animationend', function(){ visibleContent.removeClass('qode-leave-right qode-leave-left'); selectedContent.removeClass('qode-enter-left qode-enter-right'); }); eventsContent.css('height', selectedContentHeight+'px'); } function updateOlderEvents(event) { event.parent('li').prevAll('li').children('a').addClass('older-event').end().end().nextAll('li').children('a').removeClass('older-event'); } function getTranslateValue(timeline) { var timelineStyle = window.getComputedStyle(timeline.get(0), null), timelineTranslate = timelineStyle.getPropertyValue("-webkit-transform") || timelineStyle.getPropertyValue("-moz-transform") || timelineStyle.getPropertyValue("-ms-transform") || timelineStyle.getPropertyValue("-o-transform") || timelineStyle.getPropertyValue("transform"); if( timelineTranslate.indexOf('(') >= 0 ) { var timelineTranslate = timelineTranslate.split('(')[1]; timelineTranslate = timelineTranslate.split(')')[0]; timelineTranslate = timelineTranslate.split(','); var translateValue = timelineTranslate[4]; } else { var translateValue = 0; } return Number(translateValue); } function setTransformValue(element, property, value) { element.style["-webkit-transform"] = property+"("+value+")"; element.style["-moz-transform"] = property+"("+value+")"; element.style["-ms-transform"] = property+"("+value+")"; element.style["-o-transform"] = property+"("+value+")"; element.style["transform"] = property+"("+value+")"; } //based on http://stackoverflow.com/questions/542938/how-do-i-get-the-number-of-days-between-two-dates-in-javascript function parseDate(events) { var dateArrays = []; events.each(function(){ var singleDate = $(this), dateComp = singleDate.data('date').split('T'); if( dateComp.length > 1 ) { //both DD/MM/YEAR and time are provided var dayComp = dateComp[0].split('/'), timeComp = dateComp[1].split(':'); } else if( dateComp[0].indexOf(':') >=0 ) { //only time is provide var dayComp = ["2000", "0", "0"], timeComp = dateComp[0].split(':'); } else { //only DD/MM/YEAR var dayComp = dateComp[0].split('/'), timeComp = ["0", "0"]; } var newDate = new Date(dayComp[2], dayComp[1]-1, dayComp[0], timeComp[0], timeComp[1]); dateArrays.push(newDate); }); return dateArrays; } function daydiff(first, second) { return Math.round((second-first)); } function minLapse(dates) { //determine the minimum distance among events var dateDistances = []; for (var i = 1; i < dates.length; i++) { var distance = daydiff(dates[i-1], dates[i]); dateDistances.push(distance); } return Math.min.apply(null, dateDistances); } /* How to tell if a DOM element is visible in the current viewport? http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport */ function elementInViewport(el) { var top = el.offsetTop; var left = el.offsetLeft; var width = el.offsetWidth; var height = el.offsetHeight; while(el.offsetParent) { el = el.offsetParent; top += el.offsetTop; left += el.offsetLeft; } return ( top < (window.pageYOffset + window.innerHeight) && left < (window.pageXOffset + window.innerWidth) && (top + height) > window.pageYOffset && (left + width) > window.pageXOffset ); } function checkMQ() { //check if mobile or desktop device return window.getComputedStyle(document.querySelector('.qode-horizontal-timeline'), '::before').getPropertyValue('content').replace(/'/g, "").replace(/"/g, ""); } } })(jQuery); (function($) { 'use strict'; var elementorInfoCardWithIcon = {}; qode.modules.elementorInfoCardWithIcon = elementorInfoCardWithIcon; elementorInfoCardWithIcon.qodeInitElementorInfoCardWithIcon = qodeInitElementorInfoCardWithIcon; elementorInfoCardWithIcon.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorInfoCardWithIcon(); } function qodeInitElementorInfoCardWithIcon(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_info_card_with_icon.default', function() { qodeIcon().init(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorInteractiveIconShowcase = {}; qode.modules.elementorInteractiveIconShowcase = elementorInteractiveIconShowcase; elementorInteractiveIconShowcase.qodeInitElementorInteractiveIconShowcase = qodeInitElementorInteractiveIconShowcase; elementorInteractiveIconShowcase.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorInteractiveIconShowcase(); } function qodeInitElementorInteractiveIconShowcase(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_interactive_icon_showcase.default', function() { qodeInitInteractiveIconShowcase(); } ); }); } })(jQuery); (function ($) { 'use strict'; var interactiveLinks = {}; qode.modules.interactiveLinks = interactiveLinks; interactiveLinks.qodeInteractiveLinks = qodeInteractiveLinks; interactiveLinks.qodeOnDocumentReady = qodeOnDocumentReady; interactiveLinks.qodeOnWindowLoad = qodeOnWindowLoad; $(document).ready(qodeOnDocumentReady); $(window).on('load', qodeOnWindowLoad); /* All functions to be called on $(document).ready() should be in this function */ function qodeOnDocumentReady() { qodeInteractiveLinks(); } /* All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeElementorInteractiveLinks(); } function qodeInteractiveLinks() { var holders = $('.qode-interactive-links'); if (holders.length) { holders.each(function () { var thisHolder = $(this), links = thisHolder.find('.qode-il-titles-holder .qode-il-link'), images = thisHolder.find('.qode-il-image'); if( links.length ){ links.eq(0).addClass('qode-active'); images.eq(0).addClass('qode-active'); links.each(function(){ var thisLink = $(this); thisLink.on('mouseenter', function(){ if( ! thisLink.hasClass('qode-active') ) { var index = thisLink.data('index'); images.removeClass('qode-active'); links.removeClass('qode-active'); thisLink.addClass('qode-active'); images.eq(index).addClass('qode-active'); } }) }) } }); } } function qodeElementorInteractiveLinks(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/qode_interactive_links.default', function() { qodeInteractiveLinks(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorInteractiveProjectList = {}; qode.modules.elementorInteractiveProjectList = elementorInteractiveProjectList; elementorInteractiveProjectList.qodeInitElementorInteractiveProjectList = qodeInitElementorInteractiveProjectList; elementorInteractiveProjectList.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorInteractiveProjectList(); } function qodeInitElementorInteractiveProjectList(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_interactive_project_list.default', function() { qode.modules.interactiveProjectList.qodeInitInteractiveProjectList(); qode.modules.interactiveProjectList.qodeInitPortfolioInteractiveLinkShowcase(); } ); }); } })(jQuery); (function($) { 'use strict'; var interactiveProjectList = {}; qode.modules.interactiveProjectList = interactiveProjectList; interactiveProjectList.qodeInitInteractiveProjectList = qodeInitPortfolioInteractiveItemShowcase; interactiveProjectList.qodeInitPortfolioInteractiveLinkShowcase = qodeInitPortfolioInteractiveLinkShowcase; interactiveProjectList.qodeOnDocumentReady = qodeOnDocumentReady; $(document).ready(qodeOnDocumentReady); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnDocumentReady() { qodeInitPortfolioInteractiveItemShowcase(); qodeInitPortfolioInteractiveLinkShowcase(); qodeOutlineTextAnimation(); } function qodeInitPortfolioInteractiveItemShowcase() { var projectList = $('.qode-interactive-project-list'); if (projectList.length) { projectList.each(function () { var holder = $(this), item = holder.find('.qode-ipl-item'), backgroundImagesHolder = holder.find('.qode-ipl-right'), backgroundImages = backgroundImagesHolder.find('.qode-ipl-image'), indexCounterImg = 0, indexCounterItem = 0; backgroundImages.each(function() { $(this).attr('img-index', indexCounterImg); $(this).data('img-index', indexCounterImg); indexCounterImg++; }); item.each(function() { $(this).attr('data-index', indexCounterItem); $(this).data('data-index', indexCounterItem); indexCounterItem++; }); item.each(function () { var thisItem = $(this), thisTitle = thisItem.find('.qode-ipl-title:not(.qode-ipl-responsive-title)'), thisLink = thisItem.find('.qode-pli-link'); thisItem.find(thisLink).appendTo(thisTitle); }); item.on('mouseenter', function () { var currentIndex = $(this).data('data-index'); backgroundImages.css('opacity', 0); backgroundImagesHolder.find('.qode-ipl-image[img-index="'+ currentIndex +'"]').css('opacity', 1); }).on('mouseleave', function () { }); }); } } function qodeInitPortfolioInteractiveLinkShowcase() { var interactiveLinkShowcase = $('.qode-interactive-project-list'); if (interactiveLinkShowcase.length) { interactiveLinkShowcase.each(function () { var thisInteractiveLinkShowcase = $(this), singleImage = thisInteractiveLinkShowcase.find('.qode-ipl-right .qode-ipl-image'), singleLink = thisInteractiveLinkShowcase.find('.qode-ipl-left .qode-ipl-item'); singleImage.eq(0).addClass('qode-active'); singleLink.eq(0).addClass('qode-active'); thisInteractiveLinkShowcase.find('.qode-ipl-left .qode-ipl-item[data-index="0"]').addClass('qode-active'); singleLink.children().on('touchstart mouseenter', function () { var thisLink = $(this).parent(), index = parseInt(thisLink.data('index'), 10); singleImage.removeClass('qode-active').eq(index).addClass('qode-active'); singleLink.removeClass('qode-active'); thisInteractiveLinkShowcase.find('.qode-ipl-left .qode-ipl-item[data-index="' + index + '"]').addClass('qode-active'); }); }); } } function qodeOutlineTextAnimation() { var interactiveShowcase = $('.qode-interactive-project-list'); if (interactiveShowcase.length) { interactiveShowcase.each(function () { var thisShowcase = $(this); thisShowcase.find('.qode-ipl-item').each(function () { var thisItemTitle = $(this).find('.qode-ipl-title:not(.qode-ipl-responsive-title)'); var thisItemText = thisItemTitle.text(); thisItemTitle.attr('data-title', thisItemText); }); }); } } })(jQuery); (function($) { 'use strict'; var elementorInterestRateCalculator = {}; qode.modules.elementorInterestRateCalculator = elementorInterestRateCalculator; elementorInterestRateCalculator.qodeInitElementorInterestRateCalculator = qodeInitElementorInterestRateCalculator; elementorInterestRateCalculator.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorInterestRateCalculator(); } function qodeInitElementorInterestRateCalculator(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_interest_rate_calculator.default', function() { qode.modules.interestRateCalculator.qodeInitInterestRateCalculator(); } ); }); } })(jQuery); (function($) { 'use strict'; var interestRateCalculator = {}; qode.modules.interestRateCalculator = interestRateCalculator; interestRateCalculator.qodeInitInterestRateCalculator = qodeInitInterestRateCalculator; interestRateCalculator.qodeOnWindowLoad = qodeOnWindowLoad; $(document).ready(qodeOnWindowLoad); /* All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitInterestRateCalculator(); } function qodeInitInterestRateCalculator(){ qodeInitRangeSlider(); } function qodeInitRangeSlider(){ var holder = $('.qode-irc-holder'); if(holder.length){ holder.each(function(){ var holder1 = $(this); var slider = holder1.find('.irc-range-slider'); var interestRate; if(holder1.data('rate')!=''){ interestRate = parseFloat(holder1.data('rate')); } // Rangeslider initialization slider.rangeslider({ polyfill: false, onInit: function(position, value) { if(holder1.data('active-color')!=''){ var activeColor = holder1.data('active-color'); holder1.find('.rangeslider__fill').css('background-color',activeColor); holder1.find('.rangeslider__handle').css('background-color',activeColor); } qodeInterestRateCalculate(holder1, interestRate); }, onSlide: function(position, value) { qodeInterestRateCalculate(holder1, interestRate); } }); }) } } function qodeInterestRateCalculate(holder, interestRate){ var loanSlider = holder.find('.irc-range-slider-loan'); var periodSlider = holder.find('.irc-range-slider-period'); var borrowHolder = holder.find('.qode-irc-borrow-row .qode-irc-value'); var interestHolder = holder.find('.qode-irc-interest-row .qode-irc-value'); var totalHolder = holder.find('.qode-irc-total-row .qode-irc-value'); var currentLoanHolder = holder.find('.qode-irc-slider-loan-value.irc-current .irc-current-value'); var currentPeriodHolder = holder.find('.qode-irc-slider-period-value.irc-current .irc-current-value'); var loanValue, periodValue, interest, borrow, total; loanValue = parseFloat(loanSlider.val()); periodValue = parseFloat(periodSlider.val()); interest = loanValue * interestRate / 100; total = loanValue + interest; if(periodValue != 0){ borrow = total / periodValue; } borrowHolder.html(Math.round(borrow*100)/100); interestHolder.html(Math.round(interest*100)/100); totalHolder.html(Math.round(total*100)/100); currentLoanHolder.html(loanValue); currentPeriodHolder.html(periodValue); } })(jQuery); (function($) { 'use strict'; var elementorPortfolioCarousel = {}; qode.modules.elementorPortfolioCarousel = elementorPortfolioCarousel; elementorPortfolioCarousel.qodeInitElementorPortfolioCarousel = qodeInitElementorPortfolioCarousel; elementorPortfolioCarousel.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorPortfolioCarousel(); } function qodeInitElementorPortfolioCarousel(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_portfolio_carousel.default', function() { qode.modules.portfolioCarousel.qodePortfolioCarousel(); qode.modules.portfolioCarousel.qodeInitPortfolioCarouselCustomCursor(); } ); }); } })(jQuery); (function ($) { 'use strict'; var invertedPortfolioSlider = {}; qode.modules.invertedPortfolioSlider = invertedPortfolioSlider; invertedPortfolioSlider.qodeInvertedPortfolioSlider = qodeInvertedPortfolioSlider; invertedPortfolioSlider.qodeOnDocumentReady = qodeOnDocumentReady; $(document).ready(qodeOnDocumentReady); /* All functions to be called on $(document).ready() should be in this function */ function qodeOnDocumentReady() { qodeInvertedPortfolioSlider(); } function qodeInvertedPortfolioSlider() { var holder = $j('.qode-inverted-portfolio-slider'); if (holder.length) { holder.each(function () { var sliderOptions = typeof $j(this).data('options') !== 'undefined' ? $j(this).data('options') : {}, autoplay = sliderOptions.autoplay !== undefined && sliderOptions.autoplay !== '' ? sliderOptions.autoplay : true, mousewheel = sliderOptions.mousewheel !== undefined && sliderOptions.mousewheel !== '' ? sliderOptions.mousewheel : false, speed = sliderOptions.speed !== undefined && sliderOptions.speed !== '' ? parseInt(sliderOptions.speed, 10) : 5000, speedAnimation = sliderOptions.speedAnimation !== undefined && sliderOptions.speedAnimation !== '' ? parseInt(sliderOptions.speedAnimation, 10) : 800, loop = sliderOptions.loop !== undefined && sliderOptions.loop !== '' ? sliderOptions.loop : true, drag = sliderOptions.enableDrag !== undefined && sliderOptions.enableDrag !== '' && sliderOptions.enableDrag == 'yes' ? 1 : 0, slidesPerView = sliderOptions.slidesPerView !== undefined && sliderOptions.slidesPerView !== '' ? sliderOptions.slidesPerView : 'auto', grabCursor = drag == '0' ? false : true; if (autoplay === true) { autoplay = { delay: speed, disableOnInteraction: false }; } var mySwiper = new Swiper ('.swiper-container', { slideEffect: 'fade', loop: loop, slidesPerView: slidesPerView, centeredSlides: false, autoplay: autoplay, spaceBetween: 0, mousewheel: mousewheel, speed: speedAnimation, touchRatio: drag, grabCursor: grabCursor, navigation: { nextEl: '.qode-ips-button-next', prevEl: '.qode-ips-button-prev', }, }) }) } } })(jQuery); (function($) { 'use strict'; var elementorItemShowcase = {}; qode.modules.elementorItemShowcase = elementorItemShowcase; elementorItemShowcase.qodeInitElementorItemShowcase = qodeInitElementorItemShowcase; elementorItemShowcase.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorItemShowcase(); } function qodeInitElementorItemShowcase(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_item_showcase.default', function() { qodeLazyImages(); initItemShowcase(); } ); }); } })(jQuery); (function($) { 'use strict'; var multiDeviceShowcase = {}; qode.modules.multiDeviceShowcase = multiDeviceShowcase; multiDeviceShowcase.qodeInitMultiDeviceShowcase = qodeInitMultiDeviceShowcase; multiDeviceShowcase.qodeOnDocumentReady = qodeOnDocumentReady; $(document).ready(qodeOnDocumentReady); /* ** All functions to be called on $(document).ready() should be in this function */ function qodeOnDocumentReady() { qodeInitMultiDeviceShowcase(); } /* ** Init Multi-Device Showcase shortcode */ function qodeInitMultiDeviceShowcase(){ var mds = $('#qode-multi-device-showcase'); if (mds.length) { var shortcodeHeight = mds.height(), shortcodeOffset = mds.offset().top, shortcodeArea = shortcodeHeight - shortcodeOffset, laptopSlider = $('#qode-mds-laptop-slider'), laptopSlides = laptopSlider.find('.qode-mds-slide'), tabletSlider = $('#qode-mds-tablet-slider'), tabletSlides = tabletSlider.find('.qode-mds-slide'), phoneSlider = $('#qode-mds-phone-slider'), phoneSlides = phoneSlider.find('.qode-mds-slide'), spinner = $("#qode-mds-spinner"), prepped = false, //slides given active class initialized = false, //first scroll done readyToScroll = false; //flag for one scroll effect //fullscreen calcs var fullscreenCalcs = function() { var heightVal = $window_height - mds.offset().top; mds.css('height', heightVal); } //fix sizes to prevent flicker on slide animation var fixSizes = function(slider) { var slidesInnerHolders = slider.find('.qode-mds-slides-inner'); slidesInnerHolders.each(function(){ var slidesInnerHolder = $(this), heightVal = Math.round(slidesInnerHolder.parent().height() - 1), widthVal = Math.round(slidesInnerHolder.parent().width() - 1); slidesInnerHolder.css({ 'height': heightVal, 'width': widthVal }); }); } //set active classes for first slides var prepSlides = function(slides, slider, numberOfSliders, sliderIndex) { slides.first().addClass('qode-active qode-mds-no-animation'); if (!prepped && (sliderIndex == numberOfSliders)) { prepped = true; $(document).trigger('qodeMDSSlidePrepped'); } } //slideshow loop var nextSlide = function(slides) { if (slides.filter('.qode-active').next().index() > 0) { slides.removeClass('qode-remove qode-mds-no-animation'); slides.filter('.qode-active').removeClass('qode-active').addClass('qode-remove'); slides.filter('.qode-remove').next().addClass('qode-active'); } else { slides.removeClass('qode-active qode-remove qode-mds-no-animation'); slides.last().addClass('qode-remove'); slides.first().addClass('qode-active'); } } var initDeviceSliders = function() { var sliders = laptopSlider.add(tabletSlider).add(phoneSlider), numberOfSliders = sliders.length, startDelay = mds.data('start-delay'), //slideshow start delay slideInterval = mds.data('slide-interval'); //slideshow repeat interval sliders.each(function(i){ var slider = $(this), slides = slider.find('.qode-mds-slide'), numberOfSlides = slides.length; prepSlides(slides, slider, numberOfSliders, i+1); }); qodeRequestAnimationFrame(); //init raf shim mds.addClass('qode-mds-animating'); //slideshow ready //to upgrade: not to require all sliders for slideshow //to upgrade: if one image set in slider, no slideshow var slideSequence = function() { //laptop, tablet, phone - all visible OR laptop visible only if (tabletSlider.is(':visible') && phoneSlider.is(':visible')) { //laptop slide nextSlide(laptopSlides); laptopSlider.one(qode.animationEnd, function(){ //tablet slide nextSlide(tabletSlides); tabletSlider.one(qode.animationEnd, function(){ //phone slide nextSlide(phoneSlides); phoneSlider.one(qode.animationEnd, function(){ //repeat setTimeout(function(){ requestAnimFrame(slideSequence); }, slideInterval); }); }); }); } else { //laptop slide nextSlide(laptopSlides); laptopSlider.one(qode.animationEnd, function(){ //repeat setTimeout(function(){ requestAnimFrame(slideSequence); }, slideInterval); }); } } //slideshow sequence start setTimeout(function(){ slideSequence(); }, startDelay); } //loading appear animation fx on non-touch devices var appearAnimation = function() { if (mds.hasClass('qode-mds-appear-effect') && !$('html').hasClass('touch')) { var deviceHolders = mds.find('.qode-mds-device-holder'), contentHolder = mds.find('.qode-mds-content-holder'); mds.addClass('qode-mds-loading'); spinner.fadeOut(300, function(){ deviceHolders.addClass('qode-show-device'); mds.one(qode.transitionEnd, function(){ contentHolder.addClass('qode-show-item'); contentHolder.last().one(qode.transitionEnd, function(){ if (!readyToScroll) { readyToScroll = true; $(document).trigger('qodeMDSReadyToScroll'); } }); }); }); } else { spinner.fadeOut(300); if (!readyToScroll) { readyToScroll = true; $(document).trigger('qodeMDSReadyToScroll'); } } } //mds scroll initialized var mdsScrollStart = function() { if (!initialized) { initialized = true; //if filter present blink fix if page scrolled initially if ($('.qode-demos-filter-holder').length) { $('.qode-demos-filter-holder').css('visibility','visible'); } } } //perform one scroll effect var scrollWheelBehavior = function() { if (mds.hasClass('qode-mds-one-scroll-to-content') && !$('html').hasClass('touch')) { var shortcode = mds, scrollingForward = false, pageJump = false, reInitOneScroll = false, normalScroll = true, fixScroll = false; var scrollHandler = function() { if ($(window).scrollTop() < shortcodeArea) { normalScroll = false; } var qScrollTo = function() { mdsScrollStart(); pageJump = true; $('html, body').stop(true).animate({ scrollTop: shortcodeArea }, 1000, 'easeInOutQuint', function() { fixScroll = true; if (fixScroll) { $(window).scrollTop(shortcodeArea); } $(window).scroll(function(){ if (fixScroll) { $(window).scrollTop(shortcodeArea); } }); normalScroll = true; reInitOneScroll = false; setTimeout(function(){ pageJump = false; fixScroll = false; $(document).trigger('qodeMDSScrolled'); }, 200); }); } //update values $(window).scroll(function(){ if ($scroll < shortcodeArea) { reInitOneScroll = true; if (scrollingForward) { normalScroll = false; } } }); //wheel handle window.addEventListener('wheel', function(event) { if ($scroll < shortcodeArea) { var wheelScroll = event.deltaY; if (wheelScroll > 0) { scrollingForward = true; } else { scrollingForward = false; } if (!pageJump && !normalScroll) { if (scrollingForward) { event.preventDefault(); qScrollTo(); } } else { if (!normalScroll) { event.preventDefault(); } if (normalScroll && !scrollingForward && reInitOneScroll) { pageJump = false; normalScroll = false; event.preventDefault(); } } } if (pageJump) { event.preventDefault(); } }); //scrollbar click $(document).on('mousedown', function(event){ if(($(window).outerWidth() <= event.pageX) && ($scroll <= shortcodeArea)) { event.preventDefault(); qScrollTo(); } }); } //prevent mousewheel scroll window.addEventListener('wheel', function (event) { if (!readyToScroll || !initialized) { event.preventDefault(); } }); //prevent scrollbar scroll window.addEventListener('scroll', function () { if (!readyToScroll || !initialized) { $(window).scrollTop(shortcodeOffset); } }) //init scroll handler $(document).on('qodeMDSReadyToScroll', function(){ scrollHandler(); }); } } //btn click, works on touch as well var scrollBtnBehavior = function() { if (mds.hasClass('qode-mds-btn-scroll-below')) { var shortcode = mds, btn = mds.find('.qode-mds-button-holder .qbutton'); btn.on('click', function(event) { event.preventDefault(); if (readyToScroll) { mdsScrollStart(); $('html, body').stop().animate({ scrollTop: shortcodeArea }, 1000, 'easeInOutQuint', function() { $(document).trigger('qodeMDSScrolled'); }); } return false; }); } } //update shortcode height and offset var updateCoordinates = function() { shortcodeHeight = mds.height(); shortcodeOffset = mds.offset().top; shortcodeArea = shortcodeHeight - shortcodeOffset; } //initialization scrollWheelBehavior(); scrollBtnBehavior(); mds.imagesLoaded({background: true}, function() { fullscreenCalcs(); initDeviceSliders(); }); $(document).on('qodeMDSSlidePrepped', function(){ appearAnimation(); }); $(window).on('load', function(){ fixSizes(laptopSlider); }); $(window).scroll(function(){ updateCoordinates(); }); $(window).resize(function(){ fullscreenCalcs(); updateCoordinates(); fixSizes(laptopSlider); }); } } })(jQuery); (function($) { 'use strict'; var elementorNumberedCarousel = {}; qode.modules.elementorNumberedCarousel = elementorNumberedCarousel; elementorNumberedCarousel.qodeInitElementorNumberedCarousel = qodeInitElementorNumberedCarousel; elementorNumberedCarousel.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorNumberedCarousel(); } function qodeInitElementorNumberedCarousel(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_numbered_carousel.default', function() { qode.modules.numberedCarousel.qodeNumberedCarousel().init(); } ); }); } })(jQuery); (function ($) { 'use strict'; var numberedCarousel = {}; qode.modules.numberedCarousel = numberedCarousel; numberedCarousel.qodeNumberedCarousel = qodeNumberedCarousel; numberedCarousel.qodeOnDocumentReady = qodeOnDocumentReady; $(document).ready(qodeOnDocumentReady); /* All functions to be called on $(document).ready() should be in this function */ function qodeOnDocumentReady() { qodeNumberedCarousel().init(); } /** * Init Numbered Carousel Shortcode */ function qodeNumberedCarousel() { //initial setup var setup = function (carousel) { var swiper = new Swiper(carousel, { speed: 800, centeredSlides: true, slidesPerView: 'auto', allowTouchMove: false, init: false }); var holder = carousel.closest('.qode-numbered-carousel'), bgItems = holder.find('.qode-nc-bg-item'), indicators = holder.find('.qode-nc-indicator'), gridTrigger = holder.find('.qode-nc-grid-line:last-child'), ieFallback = qode_body.hasClass('qode-ms-explorer'); swiper.on('init', function () { holder.data('items', bgItems.length); iterate(holder, carousel, bgItems, indicators, carousel.find('.swiper-wrapper')); changeActiveSlide(holder, swiper); //initial animation carousel .addClass('qode-show') .one(qode.transitionEnd, function () { holder.addClass('qode-initialized'); gridTrigger.one(qode.transitionEnd, function () { holder.data('idle', true); }); ieFallback && holder.data('idle', true); }); }); swiper.on('slideChangeTransitionEnd', function () { iterate(holder, carousel, bgItems, indicators, carousel.find('.swiper-wrapper')); //wait for last item to unmask holder.removeClass('qode-mask'); gridTrigger.one(qode.transitionEnd, function () { holder.data('idle', true); }); ieFallback && holder.data('idle', true); }); //initialize swiper carousel.waitForImages(swiper.init()); } //toggle on every slide iteration var iterate = function (holder, carousel, bgItems, indicators, wrapper) { setActiveIndex(holder, carousel); changeActiveItem(holder, bgItems); changeActiveItem(holder, indicators); !qode_body.hasClass('qode-ms-explorer') && roundTransformVal(wrapper); } //fix swiper calcs for center layout type var roundTransformVal = function (wrapper) { var val = Math.round(wrapper.css('transform').split(',')[4]); wrapper.css('transform', 'matrix(1, 0, 0, 1, ' + val + ', 0)'); } //sets active index to holder element var setActiveIndex = function (holder, carousel) { var activeIndex = carousel.find('.swiper-slide-active').data('index'); holder.data('active-index', activeIndex); } //change css class var changeClass = function (holder, cssClass) { holder .removeClass('qode-next qode-prev') .addClass(cssClass); } //declarative item change - bg item, indicators var changeActiveItem = function (holder, items) { var activeItem = items.filter(function () { return $(this).data("index") == holder.data('active-index') }); items.removeClass('qode-active'); activeItem.addClass('qode-active'); } //declarative slide change var changeActiveSlide = function (holder, swiper) { var delay = 500, speed = 800; var slideTo = function (holder, swiper, direction) { changeClass(holder, 'qode-' + direction); holder.data('idle', false); holder.addClass('qode-mask'); if (direction == 'next') { setTimeout(function () { swiper.slideNext(speed); }, delay); } else { //fade before transition holder.addClass('qode-fade-prev-content'); setTimeout(function () { holder.removeClass('qode-fade-prev-content'); swiper.slidePrev(speed); }, delay * 1.5); } } var clickHandler = function (e) { var item = $(e.currentTarget); if (item.hasClass('swiper-slide-next')) { holder.data('idle') && slideTo(holder, swiper, 'next'); } else if (item.hasClass('swiper-slide-prev')) { holder.data('idle') && slideTo(holder, swiper, 'prev'); } } var wheelHandler = function (e) { if (holder.data('idle')) { var direction = e.deltaY > 0 ? 'next' : 'prev', activeIndex = holder.data('active-index'); if (direction == 'next' && activeIndex < holder.data('items') || direction == 'prev' && activeIndex > 1) { slideTo(holder, swiper, direction); } } } var touchStart = function (e) { holder.data('touch-start', parseInt(e.changedTouches[0].clientX)); } var touchMove = function (e) { holder.data('touch-move', parseInt(e.changedTouches[0].clientX)); var delta = holder.data('touch-move') - holder.data('touch-start'); if (holder.data('idle')) { var direction = delta < 0 ? 'next' : 'prev', activeIndex = holder.data('active-index'); if (direction == 'next' && activeIndex < holder.data('items') || direction == 'prev' && activeIndex > 1) { slideTo(holder, swiper, direction); } } } holder.on('click', '.swiper-slide', clickHandler); if (holder.hasClass('qode-change-on-scroll')) { holder[0].addEventListener('wheel', wheelHandler); Modernizr.touch && holder[0].addEventListener('touchstart', touchStart); Modernizr.touch && holder[0].addEventListener('touchmove', touchMove); } } return { init: function () { var carousels = $('.qode-numbered-carousel'); if (carousels.length) { carousels.each(function () { var carousel = $(this).find('.swiper-container'); setup(carousel); }); } } } } })(jQuery); (function($) { 'use strict'; var elementorPortfolioCarousel = {}; qode.modules.elementorPortfolioCarousel = elementorPortfolioCarousel; elementorPortfolioCarousel.qodeInitElementorPortfolioCarousel = qodeInitElementorPortfolioCarousel; elementorPortfolioCarousel.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorPortfolioCarousel(); } function qodeInitElementorPortfolioCarousel(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_portfolio_carousel.default', function() { qode.modules.portfolioCarousel.qodePortfolioCarousel(); qode.modules.portfolioCarousel.qodeInitPortfolioCarouselCustomCursor(); } ); }); } })(jQuery); (function ($) { 'use strict'; var portfolioCarousel = {}; qode.modules.portfolioCarousel = portfolioCarousel; portfolioCarousel.qodePortfolioCarousel = qodePortfolioCarousel; portfolioCarousel.qodeInitPortfolioCarouselCustomCursor = qodeInitPortfolioCarouselCustomCursor; portfolioCarousel.qodeOnDocumentReady = qodeOnDocumentReady; $(document).ready(qodeOnDocumentReady); $(window).on('load', qodeOnWindowLoad); function qodeOnWindowLoad() { qodeInitPortfolioCarouselCustomCursor(); } /* All functions to be called on $(document).ready() should be in this function */ function qodeOnDocumentReady() { qodePortfolioCarousel(); } function qodePortfolioCarousel() { var holder = $j('.qode-portfolio-carousel'); if (holder.length) { holder.each(function () { var sliderOptions = typeof $j(this).data('options') !== 'undefined' ? $j(this).data('options') : {}, autoplay = sliderOptions.autoplay !== undefined && sliderOptions.autoplay !== '' ? sliderOptions.autoplay : true, mousewheel = sliderOptions.mousewheel !== undefined && sliderOptions.mousewheel !== '' ? sliderOptions.mousewheel : false, speed = sliderOptions.speed !== undefined && sliderOptions.speed !== '' ? parseInt(sliderOptions.speed, 10) : 5000, speedAnimation = sliderOptions.speedAnimation !== undefined && sliderOptions.speedAnimation !== '' ? parseInt(sliderOptions.speedAnimation, 10) : 800, loop = sliderOptions.loop !== undefined && sliderOptions.loop !== '' ? sliderOptions.loop : true, loopedSlides = 2, slidesPerView = sliderOptions.slidesPerView !== undefined && sliderOptions.slidesPerView !== '' ? sliderOptions.slidesPerView : 'auto', pagination = $j(this).find('.swiper-pagination'); if (autoplay === true) { autoplay = { delay: speed, disableOnInteraction: false }; } var mySwiper = new Swiper ('.swiper-container', { direction: 'horizontal', loop: loop, loopedSlides: loopedSlides, slidesPerView: slidesPerView, centeredSlides: false, autoplay: autoplay, spaceBetween: 0, mousewheel: mousewheel, speed: speedAnimation }) }) } } function qodeInitPortfolioCarouselCustomCursor() { var portCarousel = $('.qode-portfolio-carousel'), customCursor = $('.qode-pc-custom-cursor'); portCarousel.each(function () { var thisPortCarousel = $(this); //info element position thisPortCarousel.on('mousemove', function (e) { customCursor.css({ top: e.clientY - 65, left: e.clientX - 65 }); }); //show/hide info element thisPortCarousel.find('.qode-portfolio-carousel-item').on('mouseenter', function () { if (!customCursor.hasClass('qode-is-active')) { customCursor.addClass('qode-is-active'); } }).on('mouseleave', function () { if (customCursor.hasClass('qode-is-active')) { customCursor.removeClass('qode-is-active'); } }); //check if info element is below or above the targeted portfolio list $(window).scroll(function(){ if (customCursor.hasClass('qode-is-active')) { if (customCursor.offset().top < thisPortCarousel.offset().top || customCursor.offset().top > thisPortCarousel.offset().top + thisPortCarousel.outerHeight()) { customCursor.removeClass('qode-is-active'); } } }); }); } })(jQuery); (function($) { 'use strict'; var elementorPortfolioListStacked = {}; qode.modules.elementorPortfolioListStacked = elementorPortfolioListStacked; elementorPortfolioListStacked.qodeInitElementorPortfolioListStacked = qodeInitElementorPortfolioListStacked; elementorPortfolioListStacked.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorPortfolioListStacked(); } function qodeInitElementorPortfolioListStacked(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_portfolio_list_stacked.default', function() { qode.modules.ptfListStacked.qodeInitPortfolioListStacked().init(); } ); }); } })(jQuery); (function ($) { 'use strict'; var ptfListStacked = {}; qode.modules.ptfListStacked = ptfListStacked; ptfListStacked.qodeOnWindowLoad = qodeOnWindowLoad; ptfListStacked.qodeOnWindowResize = qodeOnWindowResize; ptfListStacked.qodeInitPortfolioListStacked = qodeInitPortfolioListStacked; $(window).on('load', qodeOnWindowLoad); $(window).resize(qodeOnWindowResize); /* All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitPortfolioListStacked().init(); } /* All functions to be called on $(window).resize() should be in this function */ function qodeOnWindowResize() { qodeInitPortfolioListStacked().resize(); } /** * Initializes portfolio list stacked */ function qodeInitPortfolioListStacked() { var holder = $('#qode-portfolio-list-stacked'); if (holder.length) { //items holder.items = holder.find('.qode-pls-item'); holder.total = holder.items.length; holder.textItems = holder.find('.qode-pls-text-item'); holder.imgs = holder.find('img'); holder.info = $('#qode-pls-info'); holder.endOfScrollVisible = false; holder.endOfScroll = holder.find('.qode-pls-end-of-scroll'); //state holder.activeIndex = 0; holder.activeText = holder.textItems.first(); holder.direction = null; //move holder.deltaY = 0; //tilt holder.tilt = 30; holder.tX = 0; holder.tY = 0; //item move holder.items.each(function () { $(this).data('move', 0); $(this).data('buffer', 0); }); } var setIndexes = function () { holder.items.each(function () { var item = $(this); item.css({ 'z-index': holder.total - item.data('index') }); }) } var setWidth = function () { var c = 1; if (qode.windowWidth <= 1440 && qode.windowWidth > 1024) c = 0.65; if (qode.windowWidth <= 1024 && qode.windowWidth > 768) c = 0.5; if (qode.windowWidth <= 768 && qode.windowWidth > 414) c = 0.4; if (qode.windowWidth <= 414 && qode.windowWidth > 320) c = 0.25; if (qode.windowWidth <= 320) c = .2; holder.items.each(function () { var el = $(this), w = (el.find('img')[0].naturalWidth / Math.min(qode.windowWidth, 1920) * 100).toFixed(2), h = (el.find('img')[0].naturalHeight / Math.min(qode.windowHeight, 1080) * 100).toFixed(2); var css = { 'width': w * c + '%', 'height': h * c + '%' }; el.css(css); }) }; var positionItems = function () { holder.items.each(function () { var item = $(this), inner = item.find('.qode-pls-item-inner'), x = qode.windowWidth >= 1200 ? parseInt(item.data('x')) : parseInt(item.data('x')) * .88, y = qode.windowWidth > 1024 ? parseInt(item.data('y')) : parseInt(item.data('y')) + 20; var offsets = { 'top': (y || 50) + '%', 'left': (x || 50) + '%', } item.css(offsets); inner.css('transform', 'translateX(' + parseInt(isNaN(x) ? -50 : 0) + '%) translateY(' + parseInt(isNaN(y) ? -50 : 0) + '%)'); }); }; var offScreen = function (item) { return item.offset().top <= -item.height() * 0.97 } var showEndOfScroll = function () { holder.endOfScrollVisible = true; holder.endOfScroll.addClass('qode-visible'); holder.addClass('qode-eos'); }; var hideEndOfScroll = function () { holder.endOfScrollVisible = false; holder.endOfScroll.removeClass('qode-visible'); holder.removeClass('qode-eos'); }; var getActiveItem = function () { holder.items.removeClass('qode-active'); return holder.items.filter(function () { return $(this).data('index') == holder.activeIndex }); }; var setActiveText = function () { holder.textItems.removeClass('qode-active'); holder.activeText = holder.textItems.filter(function () { return $(this).data('index') == holder.activeIndex }).addClass('qode-active'); }; var movement = function () { var activeItem = holder.items.filter(function () { return $(this).data('index') == holder.activeIndex }); if (holder.direction == 'next' && offScreen(activeItem.find('img'))) { holder.activeIndex++; if (holder.activeIndex == holder.total) holder.deltaY = 0; holder.activeIndex = Math.min(holder.activeIndex, holder.total - 1); activeItem = getActiveItem(); } else if (holder.direction == 'prev') { if (activeItem.data('move') == 0) { holder.endOfScrollVisible && hideEndOfScroll(); holder.activeIndex--; holder.activeIndex = Math.max(holder.activeIndex, 0); activeItem = getActiveItem(); } } !holder.endOfScrollVisible && holder.direction == 'next' && holder.activeIndex == holder.total - 1 && Math.abs(activeItem.data('move')) > activeItem.find('img').height() * 0.1 && showEndOfScroll(); holder.activeText.data('index') !== holder.activeIndex && setActiveText(); activeItem .addClass('qode-active') .data('move', Math.min(activeItem.data('move') + holder.deltaY, 0)) .css('transform', 'translate3d(0,' + Math.round(activeItem.data('move') - activeItem.data('buffer') * 0.2) + 'px,0)') .data('buffer', Math.abs(activeItem.data('move'))); }; var tiltImages = function () { holder.items.each(function (i) { var img = $(this).find('img'), valX = Math.round(holder.tX * holder.tilt * (i + 1)), valY = Math.round(holder.tY * holder.tilt * (i + 1)); img.css('transform', 'translateX(' + valX + 'px) translateY(' + valY + 'px)'); }); }; var mouseWheel = function (e) { holder.direction = -e.deltaY < 0 ? 'next' : 'prev'; holder.deltaY = -e.deltaY; if (Math.abs(holder.deltaY) == 3) holder.deltaY = holder.deltaY * 10; //ffox requestAnimationFrame(movement); }; var mouseMove = function (e) { holder.tX = 0.5 - e.screenX / qode.windowWidth; holder.tY = 0.5 - e.screenY / qode.windowHeight; requestAnimationFrame(tiltImages); }; var touchStart = function (e) { holder.data('y-start', parseInt(e.changedTouches[0].clientY)); }; var touchMove = function (e) { holder.data('y-end', parseInt(e.changedTouches[0].clientY)); holder.deltaY = holder.data('y-end') - holder.data('y-start'); holder.direction = holder.deltaY < 0 ? 'next' : 'prev'; holder.deltaY = Math.min(Math.max(holder.deltaY, -20), 100); requestAnimationFrame(movement); }; var fixedInfo = function (e) { var moveInfo = function (x, y) { holder.info.css({ 'transform': 'translate3d(' + x + 'px, ' + y + 'px, 0)' }); }; var handleMove = function (e) { var x = e.clientX, y = e.clientY; requestAnimationFrame(function () { moveInfo(x, y); }); }; var changeInfo = function (e) { var index = $(e.currentTarget).closest(holder.items).data('index'); if (holder.info.data('active') !== index) { var activeItem = holder.textItems.filter(function () { return $(this).data('index') == index }), titleText = activeItem.find('.qode-pls-title-holder').html(); holder.info .data('active', index) .addClass('qode-show'); holder.info .find('.qode-pls-title-holder') .html(titleText); } //custom $('.qode-page-header').css('pointer-events', 'none'); }; var hideInfo = function (e) { holder.info .data('active', null) .removeClass('qode-show'); //custom $('.qode-page-header').css('pointer-events', 'auto'); }; holder.on('mousemove', handleMove); holder.on('mousemove', 'img', changeInfo); holder.on('mouseleave', 'img', hideInfo) }; return { init: function () { if (holder.length) { $('html').addClass('qode-overflow'); holder.items.first().addClass('qode-active'); holder.textItems.first().addClass('qode-active'); setWidth(); positionItems(); setIndexes(); holder.waitForImages(function () { holder.addClass('qode-loaded'); //scroll support if (!Modernizr.touch) { document.body.addEventListener('wheel', mouseWheel); document.body.addEventListener('mousemove', mouseMove); fixedInfo(); } //touch support if (Modernizr.touch) { holder[0].addEventListener('touchstart', touchStart); holder[0].addEventListener('touchmove', touchMove); } }) } }, resize: function () { if (holder.length) { positionItems(); setWidth(); } } }; } })(jQuery); (function($) { 'use strict'; var elementorPortfolioProjectSlider = {}; qode.modules.elementorPortfolioProjectSlider = elementorPortfolioProjectSlider; elementorPortfolioProjectSlider.qodeInitElementorPortfolioProjectSlider = qodeInitElementorPortfolioProjectSlider; elementorPortfolioProjectSlider.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorPortfolioProjectSlider(); } function qodeInitElementorPortfolioProjectSlider(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_portfolio_project_slider.default', function() { qode.modules.portfolioProjectSlider.qodePortfolioProjectSlider(); } ); }); } })(jQuery); (function ($) { 'use strict'; var portfolioProjectSlider = {}; qode.modules.portfolioProjectSlider = portfolioProjectSlider; portfolioProjectSlider.qodePortfolioProjectSlider = qodePortfolioProjectSlider; portfolioProjectSlider.qodeOnDocumentReady = qodeOnDocumentReady; $(document).ready(qodeOnDocumentReady); /* All functions to be called on $(document).ready() should be in this function */ function qodeOnDocumentReady() { qodePortfolioProjectSlider(); } function qodePortfolioProjectSlider() { var holder = $j('.qode-portfolio-project-slider'); if (holder.length) { qode_body.addClass('qode-with-portfolio-project-slider'); holder.each(function () { var sliderOptions = typeof $j(this).data('options') !== 'undefined' ? $j(this).data('options') : {}, autoplay = sliderOptions.autoplay !== undefined && sliderOptions.autoplay !== '' ? sliderOptions.autoplay : true, mousewheel = sliderOptions.mousewheel !== undefined && sliderOptions.mousewheel !== '' ? sliderOptions.mousewheel : false, speed = sliderOptions.speed !== undefined && sliderOptions.speed !== '' ? parseInt(sliderOptions.speed, 10) : 5000, speedAnimation = sliderOptions.speedAnimation !== undefined && sliderOptions.speedAnimation !== '' ? parseInt(sliderOptions.speedAnimation, 10) : 800, loop = sliderOptions.loop !== undefined && sliderOptions.loop !== '' ? sliderOptions.loop : true, loopedSlides = 2, pagination = $j(this).find('.swiper-pagination'); if (autoplay === true) { autoplay = { delay: speed, disableOnInteraction: false }; } var mySwiper = new Swiper ('.swiper-container', { direction: 'horizontal', loop: loop, loopedSlides: loopedSlides, slidesPerView: 1.2, centeredSlides: false, autoplay: autoplay, spaceBetween: 0, mousewheel: mousewheel, speed: speedAnimation, pagination: { el: pagination, clickable: true, renderBullet: function (index, className) { var temp = (index + 1) < 10 ? 0 : ''; return '' + temp + (index + 1) + ''; } }, breakpoints: { // when window width is >= 1 1: { slidesPerView: 1 }, // when window width is <= 480px 480: { slidesPerView: 1 }, // when window width is <= 680px 680: { slidesPerView: 1 }, // when window width is <= 768px 768: { slidesPerView: 1 }, // when window width is <= 1024px 1024: { slidesPerView: 1.15 }, // when window width is <= 1366px 1366: { slidesPerView: 1.2 }, // when window width is <= 1440px 1440: { slidesPerView: 1.2 } } }) }) } } })(jQuery); (function($) { 'use strict'; var elementorPricingCalculator = {}; qode.modules.elementorPricingCalculator = elementorPricingCalculator; elementorPricingCalculator.qodeInitElementorPricingCalculator = qodeInitElementorPricingCalculator; elementorPricingCalculator.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorPricingCalculator(); } function qodeInitElementorPricingCalculator(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_pricing_calculator.default', function() { qodeInitPricingCalculator(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorScrollingImage = {}; qode.modules.elementorScrollingImage = elementorScrollingImage; elementorScrollingImage.qodeInitElementorScrollingImage = qodeInitElementorScrollingImage; elementorScrollingImage.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorScrollingImage(); } function qodeInitElementorScrollingImage(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_scrolling_image.default', function() { qodeScrollingImage(); } ); }); } })(jQuery); (function($) { 'use strict'; var elementorSlidingImageHolder = {}; qode.modules.elementorSlidingImageHolder = elementorSlidingImageHolder; elementorSlidingImageHolder.qodeInitElementorSlidingImageHolder = qodeInitElementorSlidingImageHolder; elementorSlidingImageHolder.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorSlidingImageHolder(); } function qodeInitElementorSlidingImageHolder(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_sliding_image_holder.default', function() { qodeSlidingImageHolder(); } ); }); } })(jQuery); (function($) { 'use strict'; $(document).ready(function(){ qodeInitSplitScrollingSection(); }); /* ** Split Scrolling Section */ function qodeInitSplitScrollingSection() {} })(jQuery); (function($) { 'use strict'; var elementorPortfolioCarousel = {}; qode.modules.elementorPortfolioCarousel = elementorPortfolioCarousel; elementorPortfolioCarousel.qodeInitElementorPortfolioCarousel = qodeInitElementorPortfolioCarousel; elementorPortfolioCarousel.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorPortfolioCarousel(); } function qodeInitElementorPortfolioCarousel(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_portfolio_carousel.default', function() { qode.modules.portfolioCarousel.qodePortfolioCarousel(); qode.modules.portfolioCarousel.qodeInitPortfolioCarouselCustomCursor(); } ); }); } })(jQuery); (function ($) { 'use strict'; var verticalPortfolioSlider = {}; qode.modules.verticalPortfolioSlider = verticalPortfolioSlider; verticalPortfolioSlider.qodeVerticalPortfolioSlider = qodeVerticalPortfolioSlider; verticalPortfolioSlider.qodeOnDocumentReady = qodeOnDocumentReady; $(document).ready(qodeOnDocumentReady); /* All functions to be called on $(document).ready() should be in this function */ function qodeOnDocumentReady() { qodeVerticalPortfolioSlider(); } function qodeVerticalPortfolioSlider() { var holder = $j('.qode-vertical-portfolio-slider'); if (holder.length) { holder.each(function () { var sliderOptions = typeof $j(this).data('options') !== 'undefined' ? $j(this).data('options') : {}, autoplay = sliderOptions.autoplay !== undefined && sliderOptions.autoplay !== '' ? sliderOptions.autoplay : true, mousewheel = sliderOptions.mousewheel !== undefined && sliderOptions.mousewheel !== '' ? sliderOptions.mousewheel : false, speed = sliderOptions.speed !== undefined && sliderOptions.speed !== '' ? parseInt(sliderOptions.speed, 10) : 5000, speedAnimation = sliderOptions.speedAnimation !== undefined && sliderOptions.speedAnimation !== '' ? parseInt(sliderOptions.speedAnimation, 10) : 800, loop = sliderOptions.loop !== undefined && sliderOptions.loop !== '' ? sliderOptions.loop : true; if (autoplay === true) { autoplay = { delay: speed, disableOnInteraction: false }; } var mySwiper = new Swiper (holder, { direction: 'vertical', slideEffect: 'fade', mousewheelControl: true, slidesPerView: '1', sliderScroll: true, speed: speedAnimation, loop: loop, autoplay: autoplay, pagination: { el: '.swiper-pagination', clickable: true, renderBullet: function (index, className) { return '' + (index + 1) + ''; }, }, }) if( mousewheel ) { var scrollStart = false; holder.on('wheel', function (e) { e.preventDefault(); if (!scrollStart) { scrollStart = true; var delta = e.originalEvent.deltaY; if (delta > 0) { holder[0].swiper.slideNext(); } else { holder[0].swiper.slidePrev(); } setTimeout(function () { scrollStart = false; }, 2000); } }); } }) } } })(jQuery); (function($) { 'use strict'; var elementorWorkflow = {}; qode.modules.elementorWorkflow = elementorWorkflow; elementorWorkflow.qodeInitElementorWorkflow = qodeInitElementorWorkflow; elementorWorkflow.qodeOnWindowLoad = qodeOnWindowLoad; $(window).on('load', qodeOnWindowLoad); /* ** All functions to be called on $(window).load() should be in this function */ function qodeOnWindowLoad() { qodeInitElementorWorkflow(); } function qodeInitElementorWorkflow(){ $j(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction( 'frontend/element_ready/bridge_workflow.default', function() { qodeWorkflow(); } ); }); } })(jQuery);