(function($) { "use strict"; /* --------------------------------------------------------------------------- * Global vars * --------------------------------------------------------------------------- */ var scrollticker; // Scroll Timer | don't need to set this in every scroll var rtl = $('body').hasClass('rtl'); var simple = $('body').hasClass('style-simple'); var top_bar_top = '61px'; var header_H = 0; var mobile_init_W = (window.mfn.mobile_init) ? window.mfn.mobile_init : 1240; var lightbox_attr = false; /* --------------------------------------------------------------------------- * Lightbox | Magnific Popup * --------------------------------------------------------------------------- */ if (!window.mfn_lightbox.disable) { if (!(window.mfn_lightbox.disableMobile && (window.innerWidth < 768))) { lightbox_attr = { title: window.mfn_lightbox.title ? window.mfn_lightbox.title : false, }; } } /* --------------------------------------------------------------------------- * Admin Bar & WooCommerce Store Notice * --------------------------------------------------------------------------- */ function adminBarH() { var height = 0; // WP adminbar if ($('body').hasClass('admin-bar')) { height += $('#wpadminbar').innerHeight(); } // WC demo store if ($('body').hasClass('woocommerce-demo-store')) { height += $('body > p.demo_store').innerHeight(); } return height; } /* --------------------------------------------------------------------------- * Header | Sticky * --------------------------------------------------------------------------- */ function mfn_sticky() { if ($('body').hasClass('sticky-header')) { if (!($('body').hasClass('header-creative') && window.innerWidth >= 768)) { var start_y = header_H; var window_y = $(window).scrollTop(); if (window_y > start_y) { if (!($('#Top_bar').hasClass('is-sticky'))) { $('.header_placeholder').css('height', $('#Top_bar').height()); $('#Top_bar') .addClass('is-sticky') .css('top', -60) .animate({ 'top': adminBarH() + 'px' }, 300); // Header width mfn_header(); } } else { if ($('#Top_bar').hasClass('is-sticky')) { $('.header_placeholder').css('height', 0); $('#Top_bar') .removeClass('is-sticky') .css('top', top_bar_top); // Retina Logo - max height sticky_logo(); // Header width mfn_header(); } } mfn_mobile_sticky(); } } } /* --------------------------------------------------------------------------- * Header | Sticky | Retina Logo - max height * --------------------------------------------------------------------------- */ function sticky_logo() { // ! retina display if (!window.devicePixelRatio > 1) { return false; } var parent = $('#Top_bar #logo'); // ! retina logo set if (!parent.hasClass('retina')) { return false; } var el = $('img.logo-main', parent); var height = el.data('height'); if ($('body').hasClass('logo-overflow')) { // do nothing } else if (height > parent.data('height')) { height = parent.data('height'); } el.css('max-height', height + 'px'); } /* --------------------------------------------------------------------------- * Header | Sticky | Height * --------------------------------------------------------------------------- */ function mfn_stickyH() { if ($('body').hasClass('header-below')) { // header below slider header_H = $('.mfn-main-slider').innerHeight() + $('#Top_bar').innerHeight(); } else { // default header_H = $('#Top_bar').innerHeight() + $('#Action_bar').innerHeight(); } } /* --------------------------------------------------------------------------- * Header | Sticky | Mobile * --------------------------------------------------------------------------- */ function mfn_mobile_sticky() { if ($('body').hasClass('mobile-sticky') && ($(window).width() < 768)) { var windowH = $(window).height(); var offset = adminBarH() + $('#Top_bar .logo').height(); if ((!$('#Top_bar').hasClass('is-sticky')) && $('#Action_bar').is(':visible')) { offset += $('#Action_bar').height(); } var menuH = windowH - offset; if (menuH < 176) { menuH = 176; } $('#Top_bar #menu').css('max-height', menuH + 'px'); } } /* --------------------------------------------------------------------------- * Header | Top bar left | Width * --------------------------------------------------------------------------- */ function mfn_header() { var rightW = $('.top_bar_right').innerWidth(); if (rightW && !$('body').hasClass('header-plain')) { rightW += 10; } var parentW = $('#Top_bar .one').innerWidth(); var leftW = parentW - rightW; $('.top_bar_left, .menu > li > ul.mfn-megamenu').css('width', leftW); } /* --------------------------------------------------------------------------- * FIX | Header | Sticky | Height * --------------------------------------------------------------------------- */ function fixStickyHeaderH() { var stickyH = 0; // FIX | sticky top bar height var topBar = $('.sticky-header #Top_bar'); if (topBar.hasClass('is-sticky')) { stickyH = $('.sticky-header #Top_bar').innerHeight(); } else { topBar.addClass('is-sticky'); stickyH = $('.sticky-header #Top_bar').innerHeight(); topBar.removeClass('is-sticky'); } // FIX | responsive if ($(window).width() < mobile_init_W) { if ($(window).width() < 768) { // mobile if (!$('body').hasClass('mobile-sticky')) { stickyH = 0; } } else { // tablet if (!$('body').hasClass('tablet-sticky')) { stickyH = 0; } } } else { // desktop // FIX | header creative if ($('body').hasClass('header-creative')) { stickyH = 0; } } return stickyH; } /* --------------------------------------------------------------------------- * Sidebar | Height * --------------------------------------------------------------------------- */ function mfn_sidebar() { if ($('.with_aside .four.columns').length) { var maxH = $('#Content .sections_group').outerHeight(); $('.with_aside .four.columns .widget-area').each(function() { $(this).css('min-height', 0); if ($(this).height() > maxH) { maxH = $(this).height(); } }); $('.with_aside .four.columns .widget-area').css('min-height', maxH + 'px'); } } /* --------------------------------------------------------------------------- * Section | Full Screen * --------------------------------------------------------------------------- */ function mfn_sectionH() { var windowH = $(window).height(); // FIX | next/prev section var offset = 0; if ($('.section.full-screen:not(.hide-desktop)').length > 1) { offset = 5; } $('.section.full-screen').each(function() { var section = $(this); var wrapper = $('.section_wrapper', section); section .css('padding', 0) .css('min-height', windowH + offset); var padding = (windowH + offset - wrapper.height()) / 2; if (padding < 50) padding = 50; wrapper .css('padding-top', padding + 10) // 20 = column margin-bottom / 2 .css('padding-bottom', padding - 10); }); } /* --------------------------------------------------------------------------- * Equal Height | Wraps * --------------------------------------------------------------------------- */ function mfn_equalH_wrap() { $('.section.equal-height-wrap .section_wrapper').each(function() { var maxH = 0; $('> .wrap', $(this)).each(function() { $(this).css('height', 'auto'); if ($(this).innerHeight() > maxH) { maxH = $(this).innerHeight(); } }); $('> .wrap', $(this)).css('height', maxH + 'px'); }); } /* --------------------------------------------------------------------------- * Equal Height | Items * --------------------------------------------------------------------------- */ function mfn_equalH() { $('.section.equal-height .mcb-wrap-inner').each(function() { var maxH = 0; $('> .column', $(this)).each(function() { $(this).css('height', 'auto'); if ($(this).height() > maxH) { maxH = $(this).height(); } }); $('> .column', $(this)).css('height', maxH + 'px'); }); } /* --------------------------------------------------------------------------- * Into | Full Screen * --------------------------------------------------------------------------- */ function mfn_introH() { var windowH = $(window).height() - $('#Header_wrapper').height() - adminBarH(); $('#Intro.full-screen').each(function() { var el = $(this); var inner = $('.intro-inner', el); el.css('padding', 0).css('min-height', windowH); var padding = (windowH - inner.height()) / 2; inner.css('padding-top', padding).css('padding-bottom', padding); }); } /* --------------------------------------------------------------------------- * Footer | Sliding | Height * --------------------------------------------------------------------------- */ function mfn_footer() { // Fixed, Sliding if ($('.footer-fixed #Footer, .footer-sliding #Footer').length) { var footerH = $('#Footer').height() - 1; $('#Content').css('margin-bottom', footerH + 'px'); } // Stick to bottom if ($('.footer-stick #Footer').length) { var headerFooterH = $('#Header_wrapper').height() + $('#Footer').height(); var documentH = $(document).height() - adminBarH(); if ((documentH <= $(window).height()) && (headerFooterH <= $(window).height())) { $('#Footer').addClass('is-sticky'); } else { $('#Footer').removeClass('is-sticky'); } } } /* --------------------------------------------------------------------------- * Back To Top | Sticky / Show on scroll * --------------------------------------------------------------------------- */ function backToTopSticky() { if ($('#back_to_top.sticky.scroll').length) { var el = $('#back_to_top.sticky.scroll'); // Clear Timeout if one is pending if (scrollticker) { window.clearTimeout(scrollticker); scrollticker = null; } el.addClass('focus'); // Set Timeout scrollticker = window.setTimeout(function() { el.removeClass('focus'); }, 1500); // Timeout in msec } } /* --------------------------------------------------------------------------- * # Hash smooth navigation * --------------------------------------------------------------------------- */ function hashNav() { // # window.location.hash var hash = window.location.hash; if (hash) { // FIX | Master Slider if (hash.indexOf("&") > -1 || hash.indexOf("/") > -1) { return false; } // Contact Form 7 in popup if (hash.indexOf("wpcf7") > -1) { cf7popup(hash); } if ($(hash).length) { var tabsHeaderH = $(hash).siblings('.ui-tabs-nav').innerHeight(); $('html, body').animate({ scrollTop: $(hash).offset().top - fixStickyHeaderH() - tabsHeaderH - adminBarH() }, 500); } } } /* --------------------------------------------------------------------------- * One Page | Scroll Active * --------------------------------------------------------------------------- */ function onePageActive() { if ($('body').hasClass('one-page')) { var stickyH = $('.sticky-header #Top_bar').innerHeight(); var windowT = $(window).scrollTop(); var start = windowT + stickyH + adminBarH() + 1; var first = false; $('div[data-id]').each(function() { if ($(this).visible(true)) { if (!first) { first = $(this); } else if (($(this).offset().top < start) && ($(this).offset().top > first.offset().top)) { first = $(this); } } if (first) { var newActive = first.attr('data-id'); var active = '[data-hash="' + newActive + '"]'; if (newActive) { var menu = $('#menu'); menu.find('li').removeClass('current-menu-item current-menu-parent current-menu-ancestor current_page_item current_page_parent current_page_ancestor'); $(active, menu) .closest('li').addClass('current-menu-item') .closest('.menu > li').addClass('current-menu-item'); } } }); } } /* --------------------------------------------------------------------------- * Contact Form 7 | Popup * --------------------------------------------------------------------------- */ function cf7popup(hash) { if (hash && $(hash).length) { var id = $(hash).closest('.popup-content').attr('id'); $('a.popup-link[href="#' + id + '"]:not(.once)') .addClass('once') .click(); } } /* --------------------------------------------------------------------------- * Zoom Box | Vertical Align * --------------------------------------------------------------------------- */ function zoomBoxVerticalAlign() { $('.zoom_box').each(function() { var el = $(this); var elH = el.height(); var desc = el.find('.desc_wrap'); var descH = desc.height(); var padding = (elH - descH) / 2; desc.css('padding-top', padding + 'px'); }); } /* -------------------------------------------------------------------------------------------------------------------------- * * $( document ).ready * * ----------------------------------------------------------------------------------------------------------------------- */ $(document).ready(function() { /* --------------------------------------------------------------------------- * Top Bar * --------------------------------------------------------------------------- */ $('#Top_bar').removeClass('loading'); top_bar_top = parseInt($('#Top_bar').css('top'), 10); if (top_bar_top < 0) top_bar_top = 61; top_bar_top = top_bar_top + 'px'; /* --------------------------------------------------------------------------- * Menu | Overlay * --------------------------------------------------------------------------- */ $('.overlay-menu-toggle').click(function(e) { e.preventDefault(); $(this).toggleClass('focus'); $('#Overlay').stop(true, true).fadeToggle(500); var menuH = $('#Overlay nav').height() / 2; $('#Overlay nav').css('margin-top', '-' + menuH + 'px'); }); /* --------------------------------------------------------------------------- * Menu | Responsive | button * --------------------------------------------------------------------------- */ $('.responsive-menu-toggle').on('click', function(e) { e.preventDefault(); var el = $(this); var menu = $('#Top_bar #menu'); var menuWrap = menu.closest('.top_bar_left'); el.toggleClass('active'); // sticky menu button if (el.hasClass('is-sticky') && el.hasClass('active') && (window.innerWidth < 768)) { var top = 0; if (menuWrap.length) { top = menuWrap.offset().top - adminBarH(); } $('body,html').animate({ scrollTop: top }, 200); } menu.stop(true, true).slideToggle(200); }); /* --------------------------------------------------------------------------- * Menu | Responsive | Side Slide * --------------------------------------------------------------------------- */ function sideSlide() { var slide = $('#Side_slide'); var overlay = $('#body_overlay'); var ss_mobile_init_W = mobile_init_W; var pos = 'right'; var shift_slide = -slide.data('width'); var shift_body = shift_slide / 2; // constructor ---------- var constructor = function() { if (!slide.hasClass('enabled')) { $('nav#menu').detach().appendTo('#Side_slide .menu_wrapper'); slide.addClass('enabled'); } }; // destructor ---------- var destructor = function() { if (slide.hasClass('enabled')) { close(); $('nav#menu').detach().prependTo('#Top_bar .menu_wrapper'); slide.removeClass('enabled'); } }; // reload ---------- var reload = function() { if ((window.innerWidth < ss_mobile_init_W)) { constructor(); } else { destructor(); } }; // init ---------- var init = function() { if (slide.hasClass('left')) { pos = 'left'; } // responsive off if ($('body').hasClass('responsive-off')) { ss_mobile_init_W = 0; } // header simple if ($('body').hasClass('header-simple')) { ss_mobile_init_W = 9999; } reload(); }; // reset to default ---------- var reset = function(time) { $('.lang-active.active', slide).removeClass('active').children('i').attr('class', 'icon-down-open-mini'); $('.lang-wrapper', slide).fadeOut(0); $('.icon.search.active', slide).removeClass('active'); $('.search-wrapper', slide).fadeOut(0); $('.menu_wrapper, .social', slide).fadeIn(time); }; // menu button ---------- var button = function() { // show if (pos == 'left') { slide.animate({ 'left': 0 }, 300); $('body').animate({ 'right': shift_body }, 300); } else { slide.animate({ 'right': 0 }, 300); $('body').animate({ 'left': shift_body }, 300); } overlay.fadeIn(300); // reset reset(0); }; // close ---------- var close = function() { if (pos == 'left') { slide.animate({ 'left': shift_slide }, 300); $('body').animate({ 'right': 0 }, 300); } else { slide.animate({ 'right': shift_slide }, 300); $('body').animate({ 'left': 0 }, 300); } overlay.fadeOut(300); // if page contains revolution slider, trigger resize if( $( '.rev_slider' ).length ){ setTimeout( function(){ $(window).trigger( 'resize' ); }, 300 ); } }; // search ---------- $('.icon.search', slide).on('click', function(e) { e.preventDefault(); var el = $(this); if (el.hasClass('active')) { $('.search-wrapper', slide).fadeOut(0); $('.menu_wrapper, .social', slide).fadeIn(300); } else { $('.search-wrapper', slide).fadeIn(300); $('.menu_wrapper, .social', slide).fadeOut(0); $('.lang-active.active', slide).removeClass('active').children('i').attr('class', 'icon-down-open-mini'); $('.lang-wrapper', slide).fadeOut(0); } el.toggleClass('active'); }); // search form submit ---------- $('a.submit', slide).on('click', function(e) { e.preventDefault(); $('#side-form').submit(); }); // lang menu ---------- $('.lang-active', slide).on('click', function(e) { e.preventDefault(); var el = $(this); if (el.hasClass('active')) { $('.lang-wrapper', slide).fadeOut(0); $('.menu_wrapper, .social', slide).fadeIn(300); el.children('i').attr('class', 'icon-down-open-mini'); } else { $('.lang-wrapper', slide).fadeIn(300); $('.menu_wrapper, .social', slide).fadeOut(0); el.children('i').attr('class', 'icon-up-open-mini'); $('.icon.search.active', slide).removeClass('active'); $('.search-wrapper', slide).fadeOut(0); } el.toggleClass('active'); }); // init, click, debouncedresize ---------- // init init(); // click | menu button $('.responsive-menu-toggle').off('click'); $('.responsive-menu-toggle').on('click', function(e) { e.preventDefault(); button(); }); // click | close overlay.on('click', function(e) { close(); }); $('.close', slide).on('click', function(e) { e.preventDefault(); close(); }); // click | below search or languages menu $(slide).on('click', function(e) { if ($(e.target).is(slide)) { reset(300); } }); // debouncedresize $(window).on('debouncedresize', reload); } if ($('body').hasClass('mobile-side-slide')) { sideSlide(); } /* --------------------------------------------------------------------------- * Gallery | WordPress Gallery * --------------------------------------------------------------------------- */ // Content $('.sections_group .gallery').each(function() { var el = $(this); var id = el.attr('id'); $('> br', el).remove(); $('.gallery-icon > a', el) .wrap('
') .prepend('
') .children('img') .css('height', 'auto') .css('width', '100%'); // Link | Media File if (el.hasClass('file')) { $('.gallery-icon a', el).attr('rel', 'prettyphoto[' + id + ']'); } // Masonry if (el.hasClass('masonry')) { el.isotope({ itemSelector: '.gallery-item', layoutMode: 'masonry', isOriginLeft: rtl ? false : true }); } }); // Widget $('.widget_media_gallery .gallery').each(function() { var el = $(this); var id = el.attr('id'); // Link | Media File $('.gallery-icon a', el).attr('rel', 'prettyphoto[widget-' + id + ']'); }); /* --------------------------------------------------------------------------- * Lightbox | PrettyPhoto * --------------------------------------------------------------------------- */ $('a[rel^="prettyphoto[portfolio]"]').each(function() { var el = $(this); var parent = el.closest('.column'); var index = $('.column').index(parent); el.attr('rel', 'prettyphoto[portfolio-' + index + ']'); }); /* --------------------------------------------------------------------------- * Lightbox | Magnific Popup * with prettyPhoto backward compatibility * --------------------------------------------------------------------------- */ function lightbox() { var galleries = []; // init ----------- var init = function() { if (lightbox_attr) { compatibility(); set_type(); constructor(); } }; // backward compatibility for prettyPhoto ---------- var compatibility = function() { $('a[rel^="prettyphoto"], a.prettyphoto, a[rel^="prettyphoto"]').each(function() { var el = $(this); var rel = el.attr('rel'); if (rel) { rel = rel.replace('prettyphoto', 'lightbox'); } else { rel = 'lightbox'; } // Visual Composer prettyPhoto var data_rel = el.attr('data-rel'); if (data_rel) { rel = data_rel.replace('prettyPhoto', 'lightbox'); el.removeAttr('data-rel'); } el.removeClass('prettyphoto').attr('rel', rel); }); }; // check if item is a part of gallery ---------- var is_gallery = function(rel) { if (!rel) { return false; } var reg_exp = /\[(?:.*)\]/; var gallery = reg_exp.exec(rel); if (gallery) { gallery = gallery[0]; gallery = gallery.replace('[', '').replace(']', ''); return gallery; } return false; }; // set array of names of galleries ---------- var set_gallery = function(gallery) { if (galleries.indexOf(gallery) == -1) { galleries.push(gallery); return true; } return false; }; // get file type by link ---------- var get_type = function(src) { if (src.match(/youtube\.com\/watch/i) || src.match(/youtu\.be/i)) { return 'iframe'; } else if (src.match(/vimeo\.com/i)) { return 'iframe'; } else if (src.match(/\biframe=true\b/i)) { return 'ajax'; } else if (src.match(/\bajax=true\b/i)) { return 'ajax'; } else if (src.substr(0, 1) == '#') { return 'inline'; } else { return 'image'; } }; // set file type ---------- var set_type = function() { $('a[rel^="lightbox"]').each(function() { var el = $(this); var href = el.attr('href'); var rel = el.attr('rel'); if (href) { // gallery var gallery = is_gallery(rel); if (gallery) { el.attr('data-type', 'gallery'); set_gallery(gallery); return true; } el.attr('data-type', get_type(href)); // iframe paremeters if (get_type(href) == 'iframe') { el.attr('href', href.replace('&rel=0', '')); } } }); }; // constructor ---------- var constructor = function() { var attr = { autoFocusLast: false, removalDelay: 160, image: { titleSrc: function(item) { var img = item.el.closest('.image_wrapper').find('img').first(); if (lightbox_attr.title && img.length) { return img.attr('alt'); } else { return false; } } } }; // image $('a[rel^="lightbox"][data-type="image"]').magnificPopup({ autoFocusLast: attr.autoFocusLast, removalDelay: attr.removalDelay, type: 'image', image: attr.image }); // iframe | video $('a[rel^="lightbox"][data-type="iframe"]').magnificPopup({ autoFocusLast: attr.autoFocusLast, removalDelay: attr.removalDelay, type: 'iframe', iframe: { patterns: { youtube: { index: 'youtube.com/', id: 'v=', src: '//www.youtube.com/embed/%id%?autoplay=1&rel=0' } } } }); // inline $('a[rel^="lightbox"][data-type="inline"]').magnificPopup({ autoFocusLast: attr.autoFocusLast, type: 'inline', midClick: true, callbacks: { open: function() { $('.mfp-content').children().addClass('mfp-inline'); }, beforeClose: function() { $('.mfp-content').children().removeClass('mfp-inline'); } } }); // gallery for (var i = 0, len = galleries.length; i < len; i++) { var gallery = '[' + galleries[i] + ']'; gallery = 'a[rel^="lightbox' + gallery + '"]:visible'; $(gallery).magnificPopup({ autoFocusLast: attr.autoFocusLast, removalDelay: attr.removalDelay, type: 'image', image: attr.image, gallery: { enabled: true, tCounter: '%curr% / %total%' // markup of counter } }); } }; // reload ---------- var reload = function() { $('a[rel^="lightbox"]').unbind('click'); constructor(); } // Visual Composer prettyPhoto | unbind ---------- var unbindPretty = function() { if (lightbox_attr) { $('a[data-rel^="prettyPhoto"], a[rel^="lightbox"]').each(function() { $(this).unbind('click.prettyphoto'); }); } } // init ---------- init(); // onload ---------- $(window).on('load', unbindPretty); $(document).on('isotope:arrange', reload); } lightbox(); /* --------------------------------------------------------------------------- * Menu | mfnMenu * --------------------------------------------------------------------------- */ function mainMenu() { var mm_mobile_init_W = mobile_init_W; if ($('body').hasClass('header-simple') || $('#Header_creative.dropdown').length) { mm_mobile_init_W = 9999; } $('#menu > ul.menu').mfnMenu({ addLast: true, arrows: true, mobileInit: mm_mobile_init_W, responsive: window.mfn.responsive }); $('#secondary-menu > ul.secondary-menu').mfnMenu({ mobileInit: mm_mobile_init_W, responsive: window.mfn.responsive }); } mainMenu(); /* --------------------------------------------------------------------------- * Menu | NOT One Page | .scroll item * Works with .scroll class * Since 4.8 replaced with: Page Options > One Page | function: onePageMenu() * --------------------------------------------------------------------------- */ function onePageScroll() { if (!$('body').hasClass('one-page')) { var menu = $('#menu'); if (menu.find('li.scroll').length > 1) { menu.find('li.current-menu-item:not(:first)').removeClass('current-menu-item currenet-menu-parent current-menu-ancestor current-page-ancestor current_page_item current_page_parent current_page_ancestor'); // menu item click menu.find('a').click(function() { $(this).closest('li').siblings('li').removeClass('current-menu-item currenet-menu-parent current-menu-ancestor current-page-ancestor current_page_item current_page_parent current_page_ancestor'); $(this).closest('li').addClass('current-menu-item'); }); } } } onePageScroll(); /* --------------------------------------------------------------------------- * Menu | One Page | Active on Scroll & Click * --------------------------------------------------------------------------- */ function onePageMenu() { if ($('body').hasClass('one-page')) { var menu = $('#menu'); // add attr [data-hash] & [data-id] ---------- $('a[href]', menu).each(function() { var url = $(this).attr('href'); if (url && url.split('#')[1]) { // data-hash var hash = '#' + url.split('#')[1]; if (hash && $(hash).length) { // check if element with specified ID exists $(this).attr('data-hash', hash); $(hash).attr('data-id', hash); } // Visual Composer var vcHash = '#' + url.split('#')[1]; var vcClass = '.vc_row.' + url.split('#')[1]; if (vcClass && $(vcClass).length) { // check if element with specified Class exists $(this).attr('data-hash', vcHash); $(vcClass).attr('data-id', vcHash); } } }); // active ---------- var hash; var activeSelector = '.menu > li.current-menu-item, .menu > li.current-menu-parent, .menu > li.current-menu-ancestor, .menu > li.current-page-ancestor, .menu > li.current_page_item, .menu > li.current_page_parent, .menu > li.current_page_ancestor'; var activeClasses = 'current-menu-item current-menu-parent current-menu-ancestor current-page-ancestor current_page_item current_page_parent current_page_ancestor'; if ($(activeSelector, menu).length) { // remove duplicated $(activeSelector, menu) .not(':first').removeClass(activeClasses); // remove if 1st link to section & section is not visible hash = $(activeSelector, menu).find('a[data-hash]').attr('data-hash'); if (hash) { hash = '[data-id="' + hash + '"]'; if ($(hash).length && $(hash).visible(true)) { // do nothing } else { $(activeSelector, menu).removeClass('current-menu-item current-menu-parent current-menu-ancestor current-page-ancestor current_page_item current_page_parent current_page_ancestor') .closest('.menu > li').removeClass('current-menu-item current-menu-parent current-menu-ancestor current-page-ancestor current_page_item current_page_parent current_page_ancestor'); } } else { // do nothing } } else { // add to first if none is active var first = $('.menu:first-child > li:first-child', menu); var firstA = first.children('a'); if (firstA.attr('data-hash')) { hash = firstA.attr('data-hash'); hash = '[data-id="' + hash + '"]'; if ($(hash).length && ($(hash).offset().top == adminBarH())) { first.addClass('current-menu-item'); } } } // click ---------- $('#menu a[data-hash]').click(function(e) { e.preventDefault(); // only with: body.one-page // active menu.find('li').removeClass('current-menu-item'); $(this) .closest('li').addClass('current-menu-item') .closest('.menu > li').addClass('current-menu-item'); var hash = $(this).attr('data-hash'); hash = '[data-id="' + hash + '"]'; // mobile - sticky header - close menu if (window.innerWidth < 768) { $('.responsive-menu-toggle').removeClass('active'); $('#Top_bar #menu').hide(); } // offset var headerFixedAbH = $('.header-fixed.ab-show #Action_bar').innerHeight(); var tabsHeaderH = $(hash).siblings('.ui-tabs-nav').innerHeight(); var offset = headerFixedAbH + tabsHeaderH + adminBarH(); // sticky height var stickyH = fixStickyHeaderH(); // FIX | Header below | 1st section if ($('body').hasClass('header-below') && $('#Content').length) { if ($(hash).offset().top < ($('#Content').offset().top + 60)) { stickyH = -1; } } // animate scroll $('html, body').animate({ scrollTop: $(hash).offset().top - offset - stickyH }, 500); }); } } onePageMenu(); /* --------------------------------------------------------------------------- * Header | Creative * --------------------------------------------------------------------------- */ var cHeader = 'body:not( .header-open ) #Header_creative'; var cHeaderEl = $(cHeader); var cHeaderCurrnet; function creativeHeader() { $('.creative-menu-toggle').click(function(e) { e.preventDefault(); cHeaderEl.addClass('active'); $('.creative-menu-toggle, .creative-social', cHeaderEl).fadeOut(500); $('#Action_bar', cHeaderEl).fadeIn(500); }); } creativeHeader(); $(document).on('mouseenter', cHeader, function() { cHeaderCurrnet = 1; }); $(document).on('mouseleave', cHeader, function() { cHeaderCurrnet = null; setTimeout(function() { if (!cHeaderCurrnet) { cHeaderEl.removeClass('active'); $('.creative-menu-toggle, .creative-social', cHeaderEl).fadeIn(500); $('#Action_bar', cHeaderEl).fadeOut(500); } }, 1000); }); // Fix: Header Creative & Mobile Sticky | On Resize > 768 px function creativeHeaderFix() { if ($('body').hasClass('header-creative') && window.innerWidth >= 768) { if ($('#Top_bar').hasClass('is-sticky')) { $('#Top_bar').removeClass('is-sticky'); } } } /* --------------------------------------------------------------------------- * Header | Search * --------------------------------------------------------------------------- */ $("#search_button:not(.has-input), #Top_bar .icon_close").click(function(e) { e.preventDefault(); $('#Top_bar .search_wrapper').fadeToggle() .find('.field').focus(); }); /* --------------------------------------------------------------------------- * WPML | Language switcher in the WP Menu * --------------------------------------------------------------------------- */ function mfn_wpml() { $('#menu .menu-item-language:not(.menu-item-language-current)').each(function() { var el = $(this).children('a'); if (!el.children('span:not(.icl_lang_sel_bracket)').length) { el.wrapInner(''); } }); $('#menu span.icl_lang_sel_bracket').each(function() { var el = $(this); el.replaceWith(el.html()); }); } mfn_wpml(); /* --------------------------------------------------------------------------- * Breadcrumbs | Remove last item link * --------------------------------------------------------------------------- */ function breadcrumbsRemoveLastLink() { var el = $('.breadcrumbs.no-link').find('li').last(); var text = el.text(); el.html(text); } breadcrumbsRemoveLastLink(); /* --------------------------------------------------------------------------- * Downcount * --------------------------------------------------------------------------- */ $('.downcount').each(function() { var el = $(this); el.downCount({ date: el.attr('data-date'), offset: el.attr('data-offset') }); }); /* --------------------------------------------------------------------------- * Hover | on Touch | .tooltip, .hover_box * --------------------------------------------------------------------------- */ $('.tooltip, .hover_box') .bind('touchstart', function() { $(this).toggleClass('hover'); }) .bind('touchend', function() { $(this).removeClass('hover'); }); /* --------------------------------------------------------------------------- * Popup | Contact Form | Button * --------------------------------------------------------------------------- */ $("#popup_contact > a.button").click(function(e) { e.preventDefault(); $(this).parent().toggleClass('focus'); }); /* --------------------------------------------------------------------------- * Scroll | niceScroll for Header Creative * --------------------------------------------------------------------------- */ if( ( '#Header_creative.scroll' ).length && window.innerWidth >= 1240 ) { $( '#Header_creative.scroll' ).niceScroll({ autohidemode: false, cursorborder: 0, cursorborderradius: 5, cursorcolor: '#222222', cursorwidth: 0, horizrailenabled: false, mousescrollstep: 40, scrollspeed: 60 }); } /* --------------------------------------------------------------------------- * Black & White * --------------------------------------------------------------------------- */ function mfn_greyscale() { $('.greyscale .image_wrapper > a, .greyscale .image_wrapper_tiles, .greyscale.portfolio-photo a, .greyscale .client_wrapper .gs-wrapper').has('img').BlackAndWhite({ hoverEffect: false, intensity: 1 // opacity: 0, 0.1, ... 1 }); } mfn_greyscale(); /* --------------------------------------------------------------------------- * Sliding Top * --------------------------------------------------------------------------- */ $('.sliding-top-control').click(function(e) { e.preventDefault(); $('#Sliding-top .widgets_wrapper').slideToggle(); $('#Sliding-top').toggleClass('active'); }); /* --------------------------------------------------------------------------- * Alert * --------------------------------------------------------------------------- */ $(this).on('click', '.alert .close', function(e) { e.preventDefault(); $(this).closest('.alert').hide(300); }); /* --------------------------------------------------------------------------- * Button | mark buttons with icon & label * --------------------------------------------------------------------------- */ $('a.button_js').each(function() { var btn = $(this); if (btn.find('.button_icon').length && btn.find('.button_label').length) { btn.addClass('kill_the_icon'); } }); /* --------------------------------------------------------------------------- * Navigation Arrows | Sticky * --------------------------------------------------------------------------- */ $('.fixed-nav').appendTo('body'); /* --------------------------------------------------------------------------- * Feature List * --------------------------------------------------------------------------- */ $('.feature_list').each(function() { var col = $(this).attr('data-col') ? $(this).attr('data-col') : 4; $(this).find('li:nth-child(' + col + 'n):not(:last-child)').after('
'); }); /* --------------------------------------------------------------------------- * IE Fixes * --------------------------------------------------------------------------- */ function checkIE() { // IE 9 var ua = window.navigator.userAgent; var msie = ua.indexOf("MSIE "); if (msie > 0 && parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))) == 9) { $("body").addClass("ie"); } } checkIE(); /* --------------------------------------------------------------------------- * Parallax * --------------------------------------------------------------------------- */ var ua = navigator.userAgent, isMobileWebkit = /WebKit/.test(ua) && /Mobile/.test(ua); if (!isMobileWebkit && window.innerWidth >= 768) { if (window.mfn.parallax == 'stellar') { // Stellar $.stellar({ horizontalScrolling: false, responsive: true }); } else { // Enllax $(window).enllax(); } } else { $('div[data-enllax-ratio], div[data-stellar-ratio]').css('background-attachment', 'scroll'); } /* --------------------------------------------------------------------------- * Load More | Ajax * --------------------------------------------------------------------------- */ $('.pager_load_more').click(function(e) { e.preventDefault(); var el = $(this); var pager = el.closest('.pager_lm'); var href = el.attr('href'); // index | for many items on the page var index = $('.lm_wrapper').index(el.closest('.isotope_wrapper').find('.lm_wrapper')); el.fadeOut(50); pager.addClass('loading'); $.get(href, function(data) { // content var content = $('.lm_wrapper:eq(' + index + ')', data).wrapInner('').html(); if ($('.lm_wrapper:eq(' + index + ')').hasClass('isotope')) { // isotope $('.lm_wrapper:eq(' + index + ')').append($(content)).isotope('reloadItems').isotope({ sortBy: 'original-order' }); } else { // default $(content).hide().appendTo('.lm_wrapper:eq(' + index + ')').fadeIn(1000); } // next page link href = $('.lm_wrapper:eq(' + index + ')', data).next().find('.pager_load_more').attr('href'); pager.removeClass('loading'); if (href) { el.fadeIn(); el.attr('href', href); } // refresh some staff ------------------------------- mfn_greyscale(); mfn_jPlayer(); lightbox(); // isotope fix: second resize $('.lm_wrapper.isotope').imagesLoaded().progress(function() { $('.lm_wrapper.isotope').isotope('layout'); }); }); }); /* --------------------------------------------------------------------------- * Filters | Blog & Portfolio * --------------------------------------------------------------------------- */ $('.filters_buttons .open').click(function(e) { e.preventDefault(); var type = $(this).closest('li').attr('class'); $('.filters_wrapper').show(200); $('.filters_wrapper ul.' + type).show(200); $('.filters_wrapper ul:not(.' + type + ')').hide(); }); $('.filters_wrapper .close a').click(function(e) { e.preventDefault(); $('.filters_wrapper').hide(200); }); /* --------------------------------------------------------------------------- * Portfolio List | Next v / Prev ^ buttons * --------------------------------------------------------------------------- */ $('.portfolio_next_js').click(function(e) { e.preventDefault(); var item = $(this).closest('.portfolio-item').next(); if (item.length) { $('html, body').animate({ scrollTop: item.offset().top - fixStickyHeaderH() }, 500); } }); $('.portfolio_prev_js').click(function(e) { e.preventDefault(); var item = $(this).closest('.portfolio-item').prev(); if (item.length) { $('html, body').animate({ scrollTop: item.offset().top - fixStickyHeaderH() }, 500); } }); /* --------------------------------------------------------------------------- * Link | Smooth Scroll | .scroll * --------------------------------------------------------------------------- */ $('.scroll > a, a.scroll').click(function(e) { // prevent default if link directs to the current page var urlL = location.href.replace(/\/#.*|#.*/, ''); var urlT = this.href.replace(/\/#.*|#.*/, ''); if (urlL == urlT) e.preventDefault(); var hash = this.hash; // offset var headerFixedAbH = $('.header-fixed.ab-show #Action_bar').innerHeight(); var tabsHeaderH = $(hash).siblings('.ui-tabs-nav').innerHeight(); var offset = headerFixedAbH + tabsHeaderH + adminBarH(); // animate scroll if (hash && $(hash).length) { $('html, body').animate({ scrollTop: $(hash).offset().top - offset - fixStickyHeaderH() }, 500); } }); /* --------------------------------------------------------------------------- * Tabs * --------------------------------------------------------------------------- */ $('.jq-tabs').tabs(); /* --------------------------------------------------------------------------- * Accordion & FAQ * --------------------------------------------------------------------------- */ $('.mfn-acc').each(function() { var el = $(this); if (el.hasClass('openAll')) { // show all ----------- el.find('.question') .addClass("active") .children(".answer") .show(); } else { // show one ----------- var active_tab = el.attr('data-active-tab'); if (el.hasClass('open1st')) active_tab = 1; if (active_tab) { el.find('.question').eq(active_tab - 1) .addClass("active") .children(".answer") .show(); } } }); $('.mfn-acc .question > .title').click(function() { if ($(this).parent().hasClass("active")) { $(this).parent().removeClass("active").children(".answer").slideToggle(100); } else { if (!$(this).closest('.mfn-acc').hasClass('toggle')) { $(this).parents(".mfn-acc").children().each(function() { if ($(this).hasClass("active")) { $(this).removeClass("active").children(".answer").slideToggle(100); } }); } $(this).parent().addClass("active"); $(this).next(".answer").slideToggle(100); } setTimeout(function() { $(window).trigger('resize'); }, 50); }); // Visual Composer | Accordion | Sidebar height $('.wpb_wrapper .vc_tta-panel-title').on('click', 'a', function() { setTimeout(function() { $(window).trigger('resize'); }, 50); }); /* --------------------------------------------------------------------------- * Helper * --------------------------------------------------------------------------- */ $('.helper .link.toggle').click(function(e) { e.preventDefault(); var el = $(this); var id = el.attr('data-rel'); var parent = el.closest('.helper'); if (el.hasClass('active')) { el.removeClass('active'); parent.find('.helper_content > .item-' + id).removeClass('active').slideUp(200); } else { parent.find('.links > .link.active').removeClass('active'); parent.find('.helper_content > .item.active').slideUp(200); el.addClass('active'); parent.find('.helper_content > .item-' + id).addClass('active').slideDown(200); } setTimeout(function() { $(window).trigger('resize'); }, 50); }); /* --------------------------------------------------------------------------- * HTML5 Video | jPlayer * --------------------------------------------------------------------------- */ function mfn_jPlayer() { $('.mfn-jplayer').each(function() { var m4v = $(this).attr('data-m4v'); var poster = $(this).attr('data-img'); var swfPath = $(this).attr('data-swf'); var cssSelectorAncestor = '#' + $(this).closest('.mfn-jcontainer').attr('id'); $(this).jPlayer({ ready: function() { $(this).jPlayer('setMedia', { m4v: m4v, poster: poster }); }, play: function() { // To avoid both jPlayers playing together. $(this).jPlayer('pauseOthers'); }, size: { cssClass: 'jp-video-360p', width: '100%', height: '360px' }, swfPath: swfPath, supplied: 'm4v', cssSelectorAncestor: cssSelectorAncestor, wmode: 'opaque' }); }); } mfn_jPlayer(); /* --------------------------------------------------------------------------- * Love * --------------------------------------------------------------------------- */ $('.mfn-love').click(function() { var el = $(this); if (el.hasClass('loved')) { return false; } el.addClass('loved'); var post = { action: 'mfn_love', post_id: el.attr('data-id') }; $.post(window.mfn_ajax, post, function(data) { el.find('.label').html(data); }); return false; }); /* --------------------------------------------------------------------------- * Go to top * --------------------------------------------------------------------------- */ $('#back_to_top').click(function() { $('body,html').animate({ scrollTop: 0 }, 500); return false; }); /* --------------------------------------------------------------------------- * Section | Next v / Prev ^ arrows * --------------------------------------------------------------------------- */ $('.section .section-nav').click(function() { var el = $(this); var section = el.closest('.section'); if (el.hasClass('prev')) { // Previous Section ------------- if (section.prev().length) { $('html, body').animate({ scrollTop: section.prev().offset().top }, 500); } } else { // Next Section ----------------- if (section.next().length) { $('html, body').animate({ scrollTop: section.next().offset().top }, 500); } } }); /* --------------------------------------------------------------------------- * Intro | Scroll v arrow * --------------------------------------------------------------------------- */ $('#Intro .intro-next').click(function() { var intro = $(this).closest('#Intro'); if (intro.next().length) { $('html, body').animate({ scrollTop: intro.next().offset().top - fixStickyHeaderH() - adminBarH() }, 500); } }); /* --------------------------------------------------------------------------- * Widget | Muffin Menu | Hover on click * --------------------------------------------------------------------------- */ $('.widget_mfn_menu ul.submenus-click').each(function() { var el = $(this); $('a', el).click(function(e) { var li = $(this).closest('li'); if (li.hasClass('hover') || !li.hasClass('menu-item-has-children')) { // link click } else { e.preventDefault(); li.siblings('li').removeClass('hover') .find('li').removeClass('hover'); $(this).closest('li').addClass('hover'); } }); }); /* --------------------------------------------------------------------------- * WooCommerce | Add to cart * --------------------------------------------------------------------------- */ function addToCart() { $('body').on('click', '.add_to_cart_button', function() { $(this) .closest('.product') .addClass('adding-to-cart') .removeClass('added-to-cart'); }); $('body').bind('added_to_cart', function() { $('.adding-to-cart') .removeClass('adding-to-cart') .addClass('added-to-cart'); }); } addToCart(); /* --------------------------------------------------------------------------- * Ajax | Complete * --------------------------------------------------------------------------- */ $(document).ajaxComplete(function() { setTimeout(function() { $(window).trigger('resize'); }, 100); }); /* --------------------------------------------------------------------------- * Isotope * --------------------------------------------------------------------------- */ // Isotope | Fiters ---------- function isotopeFilter(domEl, isoWrapper) { var filter = domEl.attr('data-rel'); isoWrapper.isotope({ filter: filter }); setTimeout(function() { $(window).trigger('resize'); }, 50); } // Isotope | Fiters | Click ---------- $('.isotope-filters .filters_wrapper').find('li:not(.close) a').click(function(e) { e.preventDefault(); var isoWrapper = $('.isotope'); var filters = $(this).closest('.isotope-filters'); var parent = filters.attr('data-parent'); if (parent) { parent = filters.closest('.' + parent); isoWrapper = parent.find('.isotope').first(); } filters.find('li').removeClass('current-cat'); $(this).closest('li').addClass('current-cat'); isotopeFilter($(this), isoWrapper); setTimeout(function() { $(document).trigger('isotope:arrange'); }, 500); }); // Isotope | Fiters | Reset ---------- $('.isotope-filters .filters_buttons').find('li.reset a').click(function(e) { e.preventDefault(); $('.isotope-filters .filters_wrapper').find('li').removeClass('current-cat'); isotopeFilter($(this), $('.isotope')); }); /* -------------------------------------------------------------------------------------------------------------------------- * * $( window ).resize | Debouncedresize * * ----------------------------------------------------------------------------------------------------------------------- */ $(window).bind('debouncedresize', function() { // Isotope | Relayout $('.masonry.isotope').isotope(); $('.masonry.gallery').isotope('layout'); // Sliding Footer | Height mfn_footer(); // Header Width mfn_header(); // Sidebar Height mfn_sidebar(); // Full Screen Section mfn_sectionH(); // Full Screen Intro mfn_introH(); // Zoom Box | Vertical Align zoomBoxVerticalAlign(); // Equal | Height mfn_equalH_wrap(); mfn_equalH(); // Header Creative & Mobile Sticky creativeHeaderFix(); }); /* -------------------------------------------------------------------------------------------------------------------------- * * document.ready | Init * * ----------------------------------------------------------------------------------------------------------------------- */ mfnSliderBlog(); mfnSliderClients(); mfnSliderOffer(); mfnSliderOfferThumb(); mfnSliderShop(); sliderPortfolio(); sliderSlider(); sliderTestimonials(); // Sidebar | Height mfn_sidebar(); // Sliding Footer | Height mfn_footer(); // Header | Width mfn_header(); // Full Screen Section mfn_sectionH(); // Navigation | Hash hashNav(); // Full Screen Intro mfn_introH(); // Equal | Height mfn_equalH_wrap(); mfn_equalH(); }); /* -------------------------------------------------------------------------------------------------------------------------- * * $( window ).scroll * * ----------------------------------------------------------------------------------------------------------------------- */ $(window).scroll(function() { // Header | Sticky mfn_sticky(); // Back to top | Sticky backToTopSticky(); // One Page | Scroll | Active Section onePageActive(); }); /* -------------------------------------------------------------------------------------------------------------------------- * * $( window ).load * * ----------------------------------------------------------------------------------------------------------------------- */ $(window).load(function() { /* --------------------------------------------------------------------------- * Retina Logo * --------------------------------------------------------------------------- */ function retinaLogo() { if (window.devicePixelRatio > 1) { var el = ''; var src = ''; var height = ''; var parent = $('#Top_bar #logo'); var parentH = parent.data('height'); var maxH = { sticky: { init: 35, no_padding: 60, overflow: 110 }, mobile: { mini: 50, mini_no_padding: 60 }, mobile_sticky: { init: 50, no_padding: 60, overflow: 80 } }; $('#Top_bar #logo img').each(function(index) { el = $(this); src = el.data('retina'); height = el.height(); // main ----- if (el.hasClass('logo-main')) { if ($('body').hasClass('logo-overflow')) { // do nothing } else if (height > parentH) { height = parentH; } } // sticky ----- if (el.hasClass('logo-sticky')) { if ($('body').hasClass('logo-overflow')) { if (height > maxH.sticky.overflow) { height = maxH.sticky.overflow; } } else if ($('body').hasClass('logo-no-sticky-padding')) { if (height > maxH.sticky.no_padding) { height = maxH.sticky.no_padding; } } else if (height > maxH.sticky.init) { height = maxH.sticky.init; } } // mobile ----- if (el.hasClass('logo-mobile')) { if ($('body').hasClass('mobile-header-mini')) { if (parent.data('padding') > 0) { if (height > maxH.mobile.mini) { height = maxH.mobile.mini; } } else { if (height > maxH.mobile.mini_no_padding) { height = maxH.mobile.mini_no_padding; } } } } // mobile-sticky ----- if (el.hasClass('logo-mobile-sticky')) { if ($('body').hasClass('logo-no-sticky-padding')) { if (height > maxH.mobile_sticky.no_padding) { height = maxH.mobile_sticky.no_padding; } } else if (height > maxH.mobile_sticky.init) { height = maxH.mobile_sticky.init; } } // SET if (src) { el.parent().addClass('retina'); el.attr('src', src).css('max-height', height + 'px'); } }); } } retinaLogo(); /* --------------------------------------------------------------------------- * Isotope * --------------------------------------------------------------------------- */ // Portfolio - Isotope $('.blog_wrapper .isotope:not( .masonry ), .portfolio_wrapper .isotope:not( .masonry-flat, .masonry-hover, .masonry-minimal )').isotope({ itemSelector: '.isotope-item', layoutMode: 'fitRows', isOriginLeft: rtl ? false : true }); // Portfolio - Masonry Flat $('.portfolio_wrapper .masonry-flat').isotope({ itemSelector: '.isotope-item', percentPosition: true, masonry: { columnWidth: 1 }, isOriginLeft: rtl ? false : true }); // Blog & Portfolio - Masonry $('.isotope.masonry, .isotope.masonry-hover, .isotope.masonry-minimal').isotope({ itemSelector: '.isotope-item', layoutMode: 'masonry', isOriginLeft: rtl ? false : true }); // Portfolio | Active Category function portfolioActive() { var el = $('.isotope-filters .filters_wrapper'); var active = el.attr('data-cat'); if (active) { el.find('li.' + active).addClass('current-cat'); $('.isotope').isotope({ filter: '.category-' + active }); } } portfolioActive(); /* --------------------------------------------------------------------------- * Chart * --------------------------------------------------------------------------- */ $('.chart').waypoint({ offset: '100%', triggerOnce: true, handler: function() { var el = $(this.element).length ? $(this.element) : $(this); var lineW = simple ? 4 : 8; el.easyPieChart({ animate: 1000, lineCap: 'circle', lineWidth: lineW, size: 140, scaleColor: false, trackColor: '#f8f8f8' }); if (typeof this.destroy !== 'undefined' && $.isFunction(this.destroy)) { this.destroy(); } } }); /* --------------------------------------------------------------------------- * Skills * --------------------------------------------------------------------------- */ $('.bars_list').waypoint({ offset: '100%', triggerOnce: true, handler: function() { var el = $(this.element).length ? $(this.element) : $(this); el.addClass('hover'); if (typeof this.destroy !== 'undefined' && $.isFunction(this.destroy)) { this.destroy(); } } }); /* --------------------------------------------------------------------------- * Progress Icons * --------------------------------------------------------------------------- */ $('.progress_icons').waypoint({ offset: '100%', triggerOnce: true, handler: function() { var el = $(this.element).length ? $(this.element) : $(this); var active = el.attr('data-active'); var color = el.attr('data-color'); var icon = el.find('.progress_icon'); var timeout = 200; // timeout in milliseconds icon.each(function(i) { if (i < active) { var time = (i + 1) * timeout; setTimeout(function() { $(icon[i]) .addClass('themebg') .css('background-color', color); }, time); } }); if (typeof this.destroy !== 'undefined' && $.isFunction(this.destroy)) { this.destroy(); } } }); /* --------------------------------------------------------------------------- * Animate Math | Counter, Quick Fact, etc. * --------------------------------------------------------------------------- */ $('.animate-math .number').waypoint({ offset: '100%', triggerOnce: true, handler: function() { var el = $(this.element).length ? $(this.element) : $(this); var duration = Math.floor((Math.random() * 1000) + 1000); var to = el.attr('data-to'); $({ property: 0 }).animate({ property: to }, { duration: duration, easing: 'linear', step: function() { el.text(Math.floor(this.property)); }, complete: function() { el.text(this.property); } }); if (typeof this.destroy !== 'undefined' && $.isFunction(this.destroy)) { this.destroy(); } } }); /* --------------------------------------------------------------------------- * Before After | TwentyTwenty * --------------------------------------------------------------------------- */ $('.before_after.twentytwenty-container').twentytwenty(); /* -------------------------------------------------------------------------------------------------------------------------- * * window.load | Init * * ----------------------------------------------------------------------------------------------------------------------- */ // Header | Sticky mfn_stickyH(); mfn_sticky(); mfn_mobile_sticky(); // Full Screen Section mfn_sectionH(); // Navigation | Hash hashNav(); // Full Screen Intro mfn_introH(); // FIX | Revolution Slider Width & Height OnLoad $(window).trigger('resize'); // Sidebar | Height setTimeout(function() { mfn_sidebar(); }, 10); }); /* -------------------------------------------------------------------------------------------------------------------------- * * $( document ).mouseup * * ----------------------------------------------------------------------------------------------------------------------- */ $(document).mouseup(function(e) { // Widget | Muffin Menu | Hover on click if ($(".widget_mfn_menu ul.submenus-click").length) { if ($(".widget_mfn_menu ul.submenus-click").has(e.target).length === 0) { $('.widget_mfn_menu ul.submenus-click li').removeClass('hover'); } } }); /* -------------------------------------------------------------------------------------------------------------------------- * * Sliders configuration * * ----------------------------------------------------------------------------------------------------------------------- */ // Slick Slider | Auto responsive ----------------------------------------- function slickAutoResponsive(slider, max, size) { if (!max) max = 5; if (!size) size = 380; var width = slider.width(); var count = Math.ceil(width / size); if (count < 1) count = 1; if (count > max) count = max; return count; } // --- Offer Thumb ----------------------------------------------------------------- function mfnSliderOfferThumb() { var pager = function(el, i) { var img = $(el.$slides[i]).children('.thumbnail').html(); return '' + img + ''; }; $('.offer_thumb_ul').each(function() { var slider = $(this); slider.slick({ cssEase: 'ease-out', arrows: false, dots: true, infinite: true, touchThreshold: 10, speed: 300, adaptiveHeight: true, appendDots: slider.siblings('.slider_pagination'), customPaging: pager, rtl: rtl ? true : false, autoplay: window.mfn_sliders.offer ? true : false, autoplaySpeed: window.mfn_sliders.offer ? window.mfn_sliders.offer : 5000, slidesToShow: 1, slidesToScroll: 1 }); }); } // --- Offer ----------------------------------------------------------------- function mfnSliderOffer() { $('.offer_ul').each(function() { var slider = $(this); slider.slick({ cssEase: 'ease-out', dots: false, infinite: true, touchThreshold: 10, speed: 300, prevArrow: '', nextArrow: '', adaptiveHeight: true, //customPaging : pager, rtl: rtl ? true : false, autoplay: window.mfn_sliders.offer ? true : false, autoplaySpeed: window.mfn_sliders.offer ? window.mfn_sliders.offer : 5000, slidesToShow: 1, slidesToScroll: 1 }); // Pagination | Show (css) slider.siblings('.slider_pagination').addClass('show'); // Pager | Set slide number after change slider.on('afterChange', function(event, slick, currentSlide, nextSlide) { slider.siblings('.slider_pagination').find('.current').text(currentSlide + 1); }); }); } // --- Shop ------------------------------------------------------------------ function mfnSliderShop() { var pager = function(el, i) { return '' + i + ''; }; $('.shop_slider_ul').each(function() { var slider = $(this); var slidesToShow = 4; var count = slider.closest('.shop_slider').data('count'); if (slidesToShow > count) { slidesToShow = count; if (slidesToShow < 1) { slidesToShow = 1; } } slider.slick({ cssEase: 'ease-out', dots: true, infinite: true, touchThreshold: 10, speed: 300, prevArrow: '', nextArrow: '', appendArrows: slider.siblings('.blog_slider_header'), appendDots: slider.siblings('.slider_pager'), customPaging: pager, rtl: rtl ? true : false, autoplay: window.mfn_sliders.shop ? true : false, autoplaySpeed: window.mfn_sliders.shop ? window.mfn_sliders.shop : 5000, slidesToShow: slickAutoResponsive(slider, slidesToShow), slidesToScroll: slickAutoResponsive(slider, slidesToShow) }); // Bind | debouncedresize $(window).bind('debouncedresize', function() { slider.slick('slickSetOption', 'slidesToShow', slickAutoResponsive(slider, slidesToShow), false); slider.slick('slickSetOption', 'slidesToScroll', slickAutoResponsive(slider, slidesToShow), true); }); }); } // --- Blog ------------------------------------------------------------------ function mfnSliderBlog() { var pager = function(el, i) { return '' + i + ''; }; $('.blog_slider_ul').each(function() { var slider = $(this); var slidesToShow = 4; var count = slider.closest('.blog_slider').data('count'); if (slidesToShow > count) { slidesToShow = count; if (slidesToShow < 1) { slidesToShow = 1; } } slider.slick({ cssEase: 'ease-out', dots: true, infinite: true, touchThreshold: 10, speed: 300, prevArrow: '', nextArrow: '', appendArrows: slider.siblings('.blog_slider_header'), appendDots: slider.siblings('.slider_pager'), customPaging: pager, rtl: rtl ? true : false, autoplay: window.mfn_sliders.blog ? true : false, autoplaySpeed: window.mfn_sliders.blog ? window.mfn_sliders.blog : 5000, slidesToShow: slickAutoResponsive(slider, slidesToShow), slidesToScroll: slickAutoResponsive(slider, slidesToShow) }); // Bind | debouncedresize $(window).bind('debouncedresize', function() { slider.slick('slickSetOption', 'slidesToShow', slickAutoResponsive(slider, slidesToShow), false); slider.slick('slickSetOption', 'slidesToScroll', slickAutoResponsive(slider, slidesToShow), true); }); }); } // --- Clients ------------------------------------------------------------------ function mfnSliderClients() { $('.clients_slider_ul').each(function() { var slider = $(this); slider.slick({ cssEase: 'ease-out', dots: false, infinite: true, touchThreshold: 10, speed: 300, prevArrow: '', nextArrow: '', appendArrows: slider.siblings('.clients_slider_header'), rtl: rtl ? true : false, autoplay: window.mfn_sliders.clients ? true : false, autoplaySpeed: window.mfn_sliders.clients ? window.mfn_sliders.clients : 5000, slidesToShow: slickAutoResponsive(slider, 4), slidesToScroll: slickAutoResponsive(slider, 4) }); // Bind | debouncedresize $(window).bind('debouncedresize', function() { slider.slick('slickSetOption', 'slidesToShow', slickAutoResponsive(slider, 4), false); slider.slick('slickSetOption', 'slidesToScroll', slickAutoResponsive(slider, 4), true); }); }); } // --- Portfolio ------------------------------------------------------------- function sliderPortfolio() { $('.portfolio_slider_ul').each(function() { var slider = $(this); var size = 380; var scroll = 5; if (slider.closest('.portfolio_slider').data('size')) { size = slider.closest('.portfolio_slider').data('size'); } if (slider.closest('.portfolio_slider').data('size')) { scroll = slider.closest('.portfolio_slider').data('scroll'); } slider.slick({ cssEase: 'ease-out', dots: false, infinite: true, touchThreshold: 10, speed: 300, prevArrow: '', nextArrow: '', rtl: rtl ? true : false, autoplay: window.mfn_sliders.portfolio ? true : false, autoplaySpeed: window.mfn_sliders.portfolio ? window.mfn_sliders.portfolio : 5000, slidesToShow: slickAutoResponsive(slider, 5, size), slidesToScroll: slickAutoResponsive(slider, scroll, size) }); // Bind | debouncedresize $(window).bind('debouncedresize', function() { slider.slick('slickSetOption', 'slidesToShow', slickAutoResponsive(slider, 5, size), false); slider.slick('slickSetOption', 'slidesToScroll', slickAutoResponsive(slider, scroll, size), true); }); }); } // --- Slider ---------------------------------------------------------------- function sliderSlider() { var pager = function(el, i) { return '' + i + ''; }; $('.content_slider_ul').each(function() { var slider = $(this); var count = 1; var centerMode = false; if (slider.closest('.content_slider').hasClass('carousel')) { count = slickAutoResponsive(slider); $(window).bind('debouncedresize', function() { slider.slick('slickSetOption', 'slidesToShow', slickAutoResponsive(slider), false); slider.slick('slickSetOption', 'slidesToScroll', slickAutoResponsive(slider), true); }); } if (slider.closest('.content_slider').hasClass('center')) { centerMode = true; } slider.slick({ cssEase: 'cubic-bezier(.4,0,.2,1)', dots: true, infinite: true, touchThreshold: 10, speed: 300, centerMode: centerMode, centerPadding: '20%', prevArrow: '', nextArrow: '', adaptiveHeight: true, appendDots: slider.siblings('.slider_pager'), customPaging: pager, rtl: rtl ? true : false, autoplay: window.mfn_sliders.slider ? true : false, autoplaySpeed: window.mfn_sliders.slider ? window.mfn_sliders.slider : 5000, slidesToShow: count, slidesToScroll: count }); // Lightbox | disable on dragstart var clickEvent = false; slider.on('dragstart', '.slick-slide a[rel="lightbox"]', function(event) { if (lightbox_attr) { var events = $(this).data('events'); clickEvent = events.click[0]; $(this).addClass('unbind-click').unbind('click'); } }); // Lightbox | enable after change slider.on('afterChange', function(event, slick, currentSlide, nextSlide) { if (lightbox_attr) { $('a.unbind-click[rel="lightbox"]', slider).removeClass('unbind-click').bind('click', clickEvent); } }); }); } // --- Testimonials ---------------------------------------------------------------- function sliderTestimonials() { var pager = function(el, i) { var img = $(el.$slides[i]).find('.single-photo-img').html(); return '' + img + ''; }; $('.testimonials_slider_ul').each(function() { var slider = $(this); slider.slick({ cssEase: 'ease-out', dots: true, infinite: true, touchThreshold: 10, speed: 300, prevArrow: '', nextArrow: '', adaptiveHeight: true, appendDots: slider.siblings('.slider_pager'), customPaging: pager, rtl: rtl ? true : false, autoplay: window.mfn_sliders.testimonials ? true : false, autoplaySpeed: window.mfn_sliders.testimonials ? window.mfn_sliders.testimonials : 5000, slidesToShow: 1, slidesToScroll: 1 }); }); } })(jQuery);