(function($){ var $et_pb_post_fullwidth = $( '.single.et_pb_pagebuilder_layout.et_full_width_page' ), et_is_mobile_device = navigator.userAgent.match( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/ ), et_is_ipad = navigator.userAgent.match( /iPad/ ), $et_container = $( '.container' ), et_container_width = $et_container.width(), et_is_fixed_nav = $( 'body' ).hasClass( 'et_fixed_nav' ), et_is_vertical_fixed_nav = $( 'body' ).hasClass( 'et_vertical_fixed' ), et_is_rtl = $( 'body' ).hasClass( 'rtl' ), et_hide_nav = $( 'body' ).hasClass( 'et_hide_nav' ), et_header_style_left = $( 'body' ).hasClass( 'et_header_style_left' ), et_vertical_navigation = $( 'body' ).hasClass( 'et_vertical_nav' ), $top_header = $('#top-header'), $main_header = $('#main-header'), $main_container_wrapper = $( '#page-container' ), $et_transparent_nav = $( '.et_transparent_nav' ), $et_main_content_first_row = $( '#main-content .container:first-child' ), $et_main_content_first_row_meta_wrapper = $et_main_content_first_row.find('.et_post_meta_wrapper:first'), $et_main_content_first_row_meta_wrapper_title = $et_main_content_first_row_meta_wrapper.find( 'h1' ), $et_main_content_first_row_content = $et_main_content_first_row.find('.entry-content:first'), $et_single_post = $( 'body.single-post' ), $et_window = $(window), etRecalculateOffset = false, et_header_height, et_header_modifier, et_header_offset, et_primary_header_top, $et_vertical_nav = $('.et_vertical_nav'), $et_header_style_split = $('.et_header_style_split'), $et_top_navigation = $('#et-top-navigation'), $logo = $('#logo'), $et_pb_first_row = $( 'body.et_pb_pagebuilder_layout .et_pb_section:first-child' ); $(document).ready( function(){ var $et_top_menu = $( 'ul.nav' ), $et_search_icon = $( '#et_search_icon' ), et_parent_menu_longpress_limit = 300, et_parent_menu_longpress_start, et_parent_menu_click = true; $et_top_menu.find( 'li' ).hover( function() { if ( ! $(this).closest( 'li.mega-menu' ).length || $(this).hasClass( 'mega-menu' ) ) { $(this).addClass( 'et-show-dropdown' ); $(this).removeClass( 'et-hover' ).addClass( 'et-hover' ); } }, function() { var $this_el = $(this); $this_el.removeClass( 'et-show-dropdown' ); setTimeout( function() { if ( ! $this_el.hasClass( 'et-show-dropdown' ) ) { $this_el.removeClass( 'et-hover' ); } }, 200 ); } ); // Dropdown menu adjustment for touch screen $et_top_menu.find('.menu-item-has-children > a').on( 'touchstart', function(){ et_parent_menu_longpress_start = new Date().getTime(); } ).on( 'touchend', function(){ var et_parent_menu_longpress_end = new Date().getTime() if ( et_parent_menu_longpress_end >= et_parent_menu_longpress_start + et_parent_menu_longpress_limit ) { et_parent_menu_click = true; } else { et_parent_menu_click = false; // Close sub-menu if toggled var $et_parent_menu = $(this).parent('li'); if ( $et_parent_menu.hasClass( 'et-hover') ) { $et_parent_menu.trigger( 'mouseleave' ); } else { $et_parent_menu.trigger( 'mouseenter' ); } } et_parent_menu_longpress_start = 0; } ).click(function() { if ( et_parent_menu_click ) { return true; } return false; } ); $et_top_menu.find( 'li.mega-menu' ).each(function(){ var $li_mega_menu = $(this), $li_mega_menu_item = $li_mega_menu.children( 'ul' ).children( 'li' ), li_mega_menu_item_count = $li_mega_menu_item.length; if ( li_mega_menu_item_count < 4 ) { $li_mega_menu.addClass( 'mega-menu-parent mega-menu-parent-' + li_mega_menu_item_count ); } }); if ( $et_header_style_split.length && $et_vertical_nav.length < 1 ) { function et_header_menu_split(){ var $logo_container = $( '#main-header > .container > .logo_container' ), $logo_container_splitted = $('.centered-inline-logo-wrap > .logo_container'), et_top_navigation_li_size = $et_top_navigation.children('nav').children('ul').children('li').size(), et_top_navigation_li_break_index = Math.round( et_top_navigation_li_size / 2 ) - 1; if ( $et_window.width() > 980 && $logo_container.length ) { $('
  • ').insertAfter($et_top_navigation.find('nav > ul >li:nth('+et_top_navigation_li_break_index+')') ); $logo_container.appendTo( $et_top_navigation.find('.centered-inline-logo-wrap') ); } if ( $et_window.width() <= 980 && $logo_container_splitted.length ) { $logo_container_splitted.prependTo('#main-header > .container'); $('#main-header .centered-inline-logo-wrap').remove(); } } et_header_menu_split(); $(window).resize(function(){ et_header_menu_split(); }); } if ( $('ul.et_disable_top_tier').length ) { $("ul.et_disable_top_tier > li > ul").prev('a').attr('href','#'); } if ( $( '.et_vertical_nav' ).length ) { if ( $( '#main-header' ).height() < $( '#et-top-navigation' ).height() ) { $( '#main-header' ).height( $( '#et-top-navigation' ).height() + $( '#logo' ).height() + 100 ); } } window.et_calculate_header_values = function() { var $top_header = $( '#top-header' ), secondary_nav_height = $top_header.length && $top_header.is( ':visible' ) ? $top_header.innerHeight() : 0, admin_bar_height = $( '#wpadminbar' ).length ? $( '#wpadminbar' ).innerHeight() : 0; et_header_height = $( '#main-header' ).innerHeight() + secondary_nav_height, et_header_modifier = et_header_height <= 90 ? et_header_height - 29 : et_header_height - 56, et_header_offset = et_header_modifier + admin_bar_height; et_primary_header_top = secondary_nav_height + admin_bar_height; } var $comment_form = $('#commentform'); et_pb_form_placeholders_init( $comment_form ); $comment_form.submit(function(){ et_pb_remove_placeholder_text( $comment_form ); }); et_duplicate_menu( $('#et-top-navigation ul.nav'), $('#et-top-navigation .mobile_nav'), 'mobile_menu', 'et_mobile_menu' ); if ( $( '#et-secondary-nav' ).length ) { $('#et-top-navigation #mobile_menu').append( $( '#et-secondary-nav' ).clone().html() ); } function et_change_primary_nav_position( delay ) { setTimeout( function() { var $body = $('body'), $wpadminbar = $( '#wpadminbar' ), $top_header = $( '#top-header' ), et_primary_header_top = 0; if ( $wpadminbar.length ) { et_primary_header_top += $wpadminbar.innerHeight(); } if ( $top_header.length ) { et_primary_header_top += $top_header.innerHeight(); } if ( ! $body.hasClass( 'et_vertical_nav' ) && ( $body.hasClass( 'et_fixed_nav' ) ) ) { $('#main-header').css( 'top', et_primary_header_top ); } }, delay ); } function et_hide_nav_transofrm( ) { var $body = $( 'body' ), $body_height = $( document ).height(), $viewport_height = $( window ).height() + et_header_height + 200; if ( $body.hasClass( 'et_hide_nav' ) || $body.hasClass( 'et_hide_nav_disabled' ) && ( $body.hasClass( 'et_fixed_nav' ) ) ) { if ( $body_height > $viewport_height ) { if ( $body.hasClass( 'et_hide_nav_disabled' ) ) { $body.addClass( 'et_hide_nav' ); $body.removeClass( 'et_hide_nav_disabled' ); } $('#main-header').css( 'transform', 'translateY(-' + et_header_height +'px)' ); $('#top-header').css( 'transform', 'translateY(-' + et_header_height +'px)' ); } else { $('#main-header').css( { 'transform': 'translateY(0)', 'opacity': '1' } ); $('#top-header').css( { 'transform': 'translateY(0)', 'opacity': '1' } ); $body.removeClass( 'et_hide_nav' ); $body.addClass( 'et_hide_nav_disabled' ); } } } function et_fix_page_container_position(){ var et_window_width = $et_window.width(), $top_header = $( '#top-header' ), secondary_nav_height = $top_header.length && $top_header.is( ':visible' ) ? $top_header.innerHeight() : 0; // Set data-height-onload for header if the page is loaded on large screen // If the page is loaded from small screen, rely on data-height-onload printed on the markup, // prevent window resizing issue from small to large if ( et_window_width > 980 && ! $main_header.attr( 'data-height-loaded' ) ){ $main_header.attr({ 'data-height-onload' : $main_header.height(), 'data-height-loaded' : true }); } // Use on page load calculation for large screen. Use on the fly calculation for small screen (980px below) if ( et_window_width <= 980 ) { var header_height = $main_header.innerHeight() + secondary_nav_height - 1; // If transparent is detected, #main-content .container's padding-top needs to be added to header_height // And NOT a pagebuilder page if ( $et_transparent_nav.length && ! $et_pb_first_row.length ) { header_height += 58; } } else { // Get header height from header attribute var header_height = parseInt( $main_header.attr( 'data-height-onload' ) ) + secondary_nav_height; // Non page builder page needs to be added by #main-content .container's fixed height if ( $et_transparent_nav.length && ! $et_vertical_nav.length && $et_main_content_first_row.length ) { header_height += 58; } } // Specific adjustment required for transparent nav + not vertical nav if ( $et_transparent_nav.length && ! $et_vertical_nav.length ){ // Add class for first row for custom section padding purpose $et_pb_first_row.addClass( 'et_pb_section_first' ); // List of conditionals var is_pb = $et_pb_first_row.length, is_post_pb = is_pb && $et_single_post.length, is_post_pb_full_layout_has_title = $et_pb_post_fullwidth.length && $et_main_content_first_row_meta_wrapper_title.length, is_post_pb_full_layout_no_title = $et_pb_post_fullwidth.length && 0 === $et_main_content_first_row_meta_wrapper_title.length, is_pb_fullwidth_section_first = $et_pb_first_row.is( '.et_pb_fullwidth_section' ), is_no_pb_mobile = et_window_width <= 980 && $et_main_content_first_row.length; if ( is_post_pb && ! ( is_post_pb_full_layout_no_title && is_pb_fullwidth_section_first ) ) { /* Desktop / Mobile + Single Post */ /* * EXCEPT for fullwidth layout + fullwidth section ( at the first row ). * It is basically the same as page + fullwidth section with few quirk. * Instead of duplicating the conditional for each module, it'll be simpler to negate * fullwidth layout + fullwidth section in is_post_pb and rely it to is_pb_fullwidth_section_first */ // Remove main content's inline padding to styling to prevent looping padding-top calculation $et_main_content_first_row.css({ 'paddingTop' : '' }); if ( et_window_width < 980 ) { header_height += 40; } if ( is_pb_fullwidth_section_first ) { // If the first section is fullwidth, restore the padding-top modified area at first section $et_pb_first_row.css({ 'paddingTop' : '0', }); } if ( is_post_pb_full_layout_has_title ) { // Add header height to post meta wrapper as padding top $et_main_content_first_row_meta_wrapper.css({ 'paddingTop' : header_height }); } else if ( is_post_pb_full_layout_no_title ) { $et_pb_first_row.css({ 'paddingTop' : header_height }); } else { // Add header height to first row content as padding top $et_main_content_first_row.css({ 'paddingTop' : header_height }); } } else if ( is_pb_fullwidth_section_first ){ /* Desktop / Mobile + Pagebuilder + Fullwidth Section */ var $et_pb_first_row_first_module = $et_pb_first_row.children( '.et_pb_module:first' ); // Quirks: If this is post with fullwidth layout + no title + fullwidth section at first row, // Remove the added height at line 2656 if ( is_post_pb_full_layout_no_title && is_pb_fullwidth_section_first && et_window_width > 980 ) { header_height = header_height - 58; } if ( $et_pb_first_row_first_module.is( '.et_pb_slider' ) ) { /* Desktop / Mobile + Pagebuilder + Fullwidth slider */ var $et_pb_first_row_first_module_slide_image = $et_pb_first_row_first_module.find( '.et_pb_slide_image' ), $et_pb_first_row_first_module_slide = $et_pb_first_row_first_module.find( '.et_pb_slide' ), $et_pb_first_row_first_module_slide_container = $et_pb_first_row_first_module.find( '.et_pb_slide .et_pb_container' ), et_pb_slide_image_margin_top = 0 - ( parseInt( $et_pb_first_row_first_module_slide_image.height() ) / 2 ), et_pb_slide_container_height = 0, $et_pb_first_row_first_module_slider_arrow = $et_pb_first_row_first_module.find( '.et-pb-slider-arrows a'), et_pb_first_row_slider_arrow_height = $et_pb_first_row_first_module_slider_arrow.height(); // Adding padding top to each slide so the transparency become useful $et_pb_first_row_first_module_slide.css({ 'paddingTop' : header_height, }); // delete container's min-height $et_pb_first_row_first_module_slide_container.css({ 'min-height' : '' }); // Adjusting slider's image, considering additional top padding of slideshow $et_pb_first_row_first_module_slide_image.css({ 'marginTop' : et_pb_slide_image_margin_top }); // Adjusting slider's arrow, considering additional top padding of slideshow $et_pb_first_row_first_module_slider_arrow.css({ 'marginTop' : ( ( header_height / 2 ) - ( et_pb_first_row_slider_arrow_height / 2 ) ) }); // Looping the slide and get the highest height of slide et_pb_first_row_slide_container_height_new = 0 $et_pb_first_row_first_module.find( '.et_pb_slide' ).each( function(){ var $et_pb_first_row_first_module_slide_item = $(this), $et_pb_first_row_first_module_slide_container = $et_pb_first_row_first_module_slide_item.find( '.et_pb_container' ); // Make sure that the slide is visible to calculate correct height $et_pb_first_row_first_module_slide_item.show(); // Remove existing inline css to make sure that it calculates the height $et_pb_first_row_first_module_slide_container.css({ 'min-height' : '' }); var et_pb_first_row_slide_container_height = $et_pb_first_row_first_module_slide_container.innerHeight(); if ( et_pb_first_row_slide_container_height_new < et_pb_first_row_slide_container_height ){ et_pb_first_row_slide_container_height_new = et_pb_first_row_slide_container_height; } // Hide the slide back if it isn't active slide if ( $et_pb_first_row_first_module_slide_item.is( ':not(".et-pb-active-slide")' ) ){ $et_pb_first_row_first_module_slide_item.hide(); } }); // Setting appropriate min-height, considering additional top padding of slideshow $et_pb_first_row_first_module_slide_container.css({ 'min-height' : et_pb_first_row_slide_container_height_new }); } else if ( $et_pb_first_row_first_module.is( '.et_pb_fullwidth_header' ) ) { /* Desktop / Mobile + Pagebuilder + Fullwidth header */ // Remove existing inline stylesheet to prevent looping padding $et_pb_first_row_first_module.removeAttr( 'style' ); // Get paddingTop from stylesheet var et_pb_first_row_first_module_fullwidth_header_padding_top = parseInt( $et_pb_first_row_first_module.css( 'paddingTop' ) ); // Implement stylesheet's padding-top + header_height $et_pb_first_row_first_module.css({ 'paddingTop' : ( header_height + et_pb_first_row_first_module_fullwidth_header_padding_top ) } ); } else if ( $et_pb_first_row_first_module.is( '.et_pb_fullwidth_portfolio' ) ) { /* Desktop / Mobile + Pagebuilder + Fullwidth Portfolio */ $et_pb_first_row_first_module.css({ 'paddingTop' : header_height }); } else if ( $et_pb_first_row_first_module.is( '.et_pb_map_container' ) ) { /* Desktop / Mobile + Pagebuilder + Fullwidth Map */ var $et_pb_first_row_map = $et_pb_first_row_first_module.find( '.et_pb_map' ); // Remove existing inline height to prevent looping height calculation $et_pb_first_row_map.css({ 'height' : '' }); // Implement map height + header height $et_pb_first_row_first_module.find('.et_pb_map').css({ 'height' : header_height + parseInt( $et_pb_first_row_map.css( 'height' ) ) }); // Adding specific class to mark the map as first row section element $et_pb_first_row_first_module.addClass( 'et_beneath_transparent_nav' ); } else if ( $et_pb_first_row_first_module.is( '.et_pb_fullwidth_menu' ) ) { /* Desktop / Mobile + Pagebuilder + Fullwidth Menu */ $et_pb_first_row_first_module.css({ 'marginTop' : header_height }); } else if ( $et_pb_first_row_first_module.is( '.et_pb_fullwidth_code' ) ) { /* Desktop / Mobile + Pagebuilder + Fullwidth code */ var $et_pb_first_row_first_module_code = $et_pb_first_row_first_module; $et_pb_first_row_first_module_code.css({ 'paddingTop' : '' }); var et_pb_first_row_first_module_code_padding_top = parseInt( $et_pb_first_row_first_module_code.css( 'paddingTop' ) ); $et_pb_first_row_first_module_code.css({ 'paddingTop' : header_height + et_pb_first_row_first_module_code_padding_top }); } else if ( $et_pb_first_row_first_module.is( '.et_pb_post_title' ) ) { /* Desktop / Mobile + Pagebuilder + Fullwidth Post Title */ var $et_pb_first_row_first_module_title = $et_pb_first_row_first_module; $et_pb_first_row_first_module_title.css({ 'paddingTop' : header_height + 50 }); } } else if ( is_pb ) { /* Desktop / Mobile + Pagebuilder + Regular section */ // Remove first row's inline padding top styling to prevent looping padding-top calculation $et_pb_first_row.css({ 'paddingTop' : '' }); // Pagebuilder ignores #main-content .container's fixed height and uses its row's padding // Anticipate the use of custom section padding. et_pb_first_row_padding_top = header_height + parseInt( $et_pb_first_row.css( 'paddingBottom' ) ); // Implementing padding-top + header_height $et_pb_first_row.css({ 'paddingTop' : et_pb_first_row_padding_top }); } else if ( is_no_pb_mobile ) { // Mobile + not pagebuilder $et_main_content_first_row.css({ 'paddingTop' : header_height }); } else { $('#main-content .container:first-child').css({ 'paddingTop' : header_height }); } // Set #page-container's padding-top to zero after inline styling first row's content has been added if ( ! $('#et_fix_page_container_position').length ){ $( '