(function($, window, document){ "use strict"; var $window=$(window), $body=$('body'), $offCanvasEl=$('#slide-out-widget-area'), $offCanvasBG=$('#slide-out-widget-area-bg'), $headerOuterEl=$('#header-outer'), $headerSecondaryEl=$('#header-secondary-outer'), $searchButtonEl=$('#header-outer #search-btn a'), $wpAdminBar=$('#wpadminbar'), $loadingScreenEl=$('#ajax-loading-screen'), $bodyBorderTop=$('.body-border-top'), $pageHeaderBG=$('#page-header-bg'), $bodyBorderWidth=($('.body-border-right').length > 0) ? $('.body-border-right').width():0, $logoHeight=($headerOuterEl.is('[data-logo-height]')) ? parseInt($headerOuterEl.attr('data-logo-height')):30, headerPadding=($headerOuterEl.is('[data-padding]')) ? parseInt($headerOuterEl.attr('data-padding')):28, logoShrinkNum=($headerOuterEl.is('[data-shrink-num]')) ? $headerOuterEl.attr('data-shrink-num'):6, condenseHeaderLayout=($headerOuterEl.is('[data-condense="true"]')) ? true:false, usingLogoImage=($headerOuterEl.is('[data-using-logo="1"]')) ? true:false, headerResize=($headerOuterEl.is('[data-header-resize="1"]')) ? true:false, headerHideUntilNeeded=($body.is('[data-hhun]')) ? $body.attr('data-hhun'):'', $animationEasing=($body.is('[data-cae]')) ? $body.attr('data-cae'):'easeOutCubic', $animationDuration=($body.is('[data-cad]')) ? $body.attr('data-cad'):'650', $portfolio_containers=[], $svgIcons=[], $nectarCustomSliderRotate=[], $flickitySliders=[], $fsProjectSliderArr=[], $wooFlickityCarousels=[], $liquidBG_EL=[], $testimonialSliders=[], $mouseParallaxScenes=[], $nectarMasonryBlogs=[], $standAnimatedColTimeout=[], $animatedSVGIconTimeout=[], $projectCarouselSliderArr=[], $tabbedClickCount=0, $fullscreenSelector='', $bodyBorderHeaderColorMatch=false, nectarBoxRoll={ animating: 'false', perspect: 'not-rolled' }, $nectarFullPage={ $usingFullScreenRows: false }, $svgResizeTimeout, $bodyBorderSizeToRemove; if($bodyBorderTop.length > 0){ if($bodyBorderTop.css('background-color')=='#ffffff'&&$body.attr('data-header-color')=='light' || $bodyBorderTop.css('background-color')=='rgb(255, 255, 255)'&&$body.attr('data-header-color')=='light' || $bodyBorderTop.css('background-color')==$headerOuterEl.attr('data-user-set-bg')){ $bodyBorderHeaderColorMatch=true; }} var nectarDOMInfo={ usingMobileBrowser: (navigator.userAgent.match(/(Android|iPod|iPhone|iPad|BlackBerry|IEMobile|Opera Mini)/)) ? true:false, usingFrontEndEditor: (typeof window.vc_iframe==='undefined') ? false:true, getWindowSize: function(){ nectarDOMInfo.winH=window.innerHeight; nectarDOMInfo.winW=window.innerWidth; nectarDOMInfo.adminBarHeight=($wpAdminBar.length > 0) ? $wpAdminBar.height():0; nectarDOMInfo.secondaryHeaderHeight=($headerSecondaryEl.length > 0&&$headerSecondaryEl.css('display')!='none') ? $headerSecondaryEl.outerHeight():0; }, scrollTop: 0, scrollPosMouse: function(){ return $window.scrollTop(); }, scrollPosRAF: function(){ nectarDOMInfo.scrollTop=$window.scrollTop(); requestAnimationFrame(nectarDOMInfo.scrollPosRAF); }, bindEvents: function(){ if(!nectarDOMInfo.usingMobileBrowser){ $window.on('scroll', function(){ nectarDOMInfo.scrollTop=nectarDOMInfo.scrollPosMouse(); }); }else{ requestAnimationFrame(nectarDOMInfo.scrollPosRAF); } $window.on('resize', nectarDOMInfo.getWindowSize); }, init: function(){ $wpAdminBar=$('#wpadminbar'); this.getWindowSize(); this.scrollTop=this.scrollPosMouse(); this.bindEvents(); }}; function smartResizeInit(){ fullWidthContentColumns(); parallaxRowsBGCals(); headerSpace(); OCM_overflowState(); showOnLeftSubMenu(); } function resizeInit(){ fullWidthSections(); fullWidthContentColumns(); addOrRemoveSF(); responsiveVideoIframes(); if(!nectarDOMInfo.usingMobileBrowser){ parallaxRowsBGCals(); }} function flexsliderInit(){ $('.flex-gallery').each(function (){ if(!$().flexslider){ return; } var $that=$(this); imagesLoaded($(this), function (){ $that.flexslider({ animation: 'fade', smoothHeight: false, animationSpeed: 500, useCSS: false, touch: true }); $('.flex-gallery .flex-direction-nav li a.flex-next').html(''); $('.flex-gallery .flex-direction-nav li a.flex-prev').html(''); }); }); } function flickityInit(){ if($('.nectar-flickity:not(.masonry)').length==0){ return false; } $flickitySliders=[]; $('.nectar-flickity:not(.masonry)').each(function (i){ $(this).removeClass(function (index, className){ return (className.match(/(^|\s)instance-\S+/g)||[]).join(' '); }); $(this).addClass('instance-' + i); var $freeScrollBool=($(this).is('[data-free-scroll]')&&$(this).attr('data-free-scroll')=='true') ? true:false, $groupCellsBool=true, $flickContainBool=true, $flcikAttr=0.025, $paginationBool=false, $nextPrevArrowBool=true, $flickCellAlign='center'; if($(this).is('[data-format="fixed_text_content_fullwidth"]')){ $flickCellAlign='left'; $groupCellsBool=false; $flickContainBool=false; $flcikAttr=0.02; } if($freeScrollBool==true){ $groupCellsBool=false; } if($(this).attr('data-controls').length > 0 && $(this).attr('data-controls')=='next_prev_arrows'){ $paginationBool=false; $nextPrevArrowBool=true; }else{ $paginationBool=true; $nextPrevArrowBool=false; } if($(this).attr('data-controls').length > 0 && $(this).attr('data-controls')=='none'){ $paginationBool=false; $nextPrevArrowBool=false; } var $flickity_autoplay=false; if($(this).is('[data-autoplay]') && $(this).attr('data-autoplay')=='true'){ $flickity_autoplay=true; if($(this).is('[data-autoplay-dur]') && $(this).attr('data-autoplay-dur').length > 0){ if(parseInt($(this).attr('data-autoplay-dur')) > 100 && parseInt($(this).attr('data-autoplay-dur')) < 30000){ $flickity_autoplay=parseInt($(this).attr('data-autoplay-dur')); }} } var $that=$(this); var $frontEndEditorDrag=($('body.vc_editor').length > 0) ? false:true; var $frontEndEditorPause=($('body.vc_editor').length > 0) ? true:false; $flickitySliders[i]=new Flickity('.nectar-flickity.instance-' + i, { contain: $flickContainBool, draggable: $frontEndEditorDrag, lazyLoad: false, imagesLoaded: true, percentPosition: true, cellAlign: $flickCellAlign, groupCells: $groupCellsBool, prevNextButtons: $nextPrevArrowBool, freeScroll: $freeScrollBool, pageDots: $paginationBool, resize: true, selectedAttraction: $flcikAttr, autoPlay: $flickity_autoplay, pauseAutoPlayOnHover: $frontEndEditorPause, setGallerySize: true, wrapAround: true, accessibility: false, arrowShape: { x0: 20, x1: 70, y1: 30, x2: 70, y2: 25, x3: 70 }}); if($(this).is('[data-format="fixed_text_content_fullwidth"]')&&!nectarDOMInfo.usingFrontEndEditor){ var $onMobileBrowser=nectarDOMInfo.usingMobileBrowser; $flickitySliders[i].on('scroll', function (){ if($onMobileBrowser){ return; } var $flkSlideWidth=$that.find('.cell').outerWidth() + 25, $leftHeaderSize=($('body[data-header-format="left-header"]').length > 0&&$window.width() > 1000) ? 275:0, $extraWindowSpace=(($window.width() + $leftHeaderSize) - $that.parents('.main-content').width()) / 2; $extraWindowSpace +=parseInt($that.css('margin-left')) + 2; $flickitySliders[i].slides.forEach(function (slide, j){ var $scaleAmt=1, $translateXAmt=0, $rotateAmt=0, $slideZIndex=10, $opacityAmt=1, $slideOffset=$(slide.cells[0].element).offset().left, flkInstanceSlide=$('.nectar-flickity.instance-' + i + ' .cell:nth-child(' + (j + 1) + ')'); if($slideOffset - $extraWindowSpace < 0 && $slideOffset - $extraWindowSpace > $flkSlideWidth * -1){ $scaleAmt=1 + (($slideOffset - $extraWindowSpace) / 1500); $opacityAmt=1 + (($slideOffset - $extraWindowSpace + 70) / 550); $translateXAmt=(($slideOffset - $extraWindowSpace)) * -1; $rotateAmt=(($slideOffset - $extraWindowSpace) / 25) * -1; }else{ $scaleAmt=1; $opacityAmt=1; $translateXAmt=0; $rotateAmt=0; } if($slideOffset + 5 - $extraWindowSpace < 0 && $slideOffset - $extraWindowSpace > $flkSlideWidth * -1){ $slideZIndex=5; }else{ $slideZIndex=10; } flkInstanceSlide.css({ 'z-index': $slideZIndex }); flkInstanceSlide.find('.inner-wrap-outer').css({ 'transform': 'perspective(800px) translateX(' + $translateXAmt + 'px) rotateY(' + $rotateAmt + 'deg) translateZ(0)', 'opacity': $opacityAmt }); flkInstanceSlide.find('.inner-wrap').css({ 'transform': 'scale(' + $scaleAmt + ') translateZ(0)' }); }); }); } var $removeHiddenTimeout; $flickitySliders[i].on('dragStart', function (){ clearTimeout($removeHiddenTimeout); $that.addClass('is-dragging'); $that .find('.flickity-prev-next-button') .addClass('hidden'); }); $flickitySliders[i].on('dragEnd', function (){ $that.removeClass('is-dragging'); $removeHiddenTimeout=setTimeout(function (){ $that .find('.flickity-prev-next-button') .removeClass('hidden'); }, 600); }); $('.flickity-prev-next-button').on('click', function (){ clearTimeout($removeHiddenTimeout); $(this).parents('.nectar-flickity') .find('.flickity-prev-next-button') .addClass('hidden'); $removeHiddenTimeout=setTimeout(function (){ $that .find('.flickity-prev-next-button') .removeClass('hidden'); }, 600); }); if($that.hasClass('nectar-carousel')){ imagesLoaded($that, function (){ nectarCarouselFlkEH($that); }); }}); var $usingNectarCarouselFlk=($('.nectar-carousel.nectar-flickity:not(.masonry)').length > 0) ? true:false; if($usingNectarCarouselFlk){ $window.on('resize',setNectarCarouselFlkEH); }} function setNectarCarouselFlkEH(){ $('.nectar-carousel.nectar-flickity:not(.masonry)').each(function (){ nectarCarouselFlkEH($(this)); }); } function nectarCarouselFlkEH($slider_instance){ var $tallestSlideCol=0; $slider_instance .find('.flickity-slider > .cell') .css('height', 'auto'); $slider_instance.find('.flickity-slider > .cell').each(function (){ if($(this).height() > $tallestSlideCol){ $tallestSlideCol=$(this).height(); }}); if($tallestSlideCol < 10){ $tallestSlideCol='auto'; } $slider_instance .find('.flickity-slider > .cell') .css('height', $tallestSlideCol + 'px'); } function twentytwentyInit(){ $('.twentytwenty-container').each(function (){ var $that=$(this); if($that.find('.twentytwenty-handle').length==0){ $(this).imagesLoaded(function (){ $that.twentytwenty(); }); }}); } function initSF(){ addOrRemoveSF(); if($('body[data-header-format="left-header"]').length==0){ var $disableHI; if(!($('#header-outer[data-megamenu-rt="1"]').length > 0 && $('#header-outer[data-transparent-header="true"]').length > 0)){ $disableHI=true; }else{ $disableHI=false; } $(".sf-menu:not(.buttons)").superfish({ delay: 650, speed: 'fast', disableHI: $disableHI, speedOut: 'fast', animation: { opacity: 'show' }}); $('#header-outer .sf-menu.buttons li.menu-item').on('mouseover',function(){ $(this).addClass('sfHover'); }); $('#header-outer .sf-menu.buttons li.menu-item').on('mouseleave',function(){ var $that=$(this); if($that.is('.menu-item-has-children')){ setTimeout(function (){ if(!$that.is(':hover')){ $that.removeClass('sfHover'); }}, 200); }else{ $that.removeClass('sfHover'); }}); $('#header-secondary-outer li.megamenu, .sf-menu.buttons li.megamenu').removeClass('megamenu'); $('#header-outer .sf-menu > li:not(.megamenu) > ul > li > ul').each(function (){ if($(this).offset().left + $(this).outerWidth() > $window.width()){ $(this).addClass('on-left-side'); $(this).find('ul').addClass('on-left-side'); }}); $('body:not([data-header-format="left-header"]) header#top nav > ul > li.megamenu > ul > li > ul > li:has("> ul")').addClass('has-ul'); if($('body[data-megamenu-width="full-width"]').length > 0&&$('ul.sub-menu').length > 0){ megamenuFullwidth(); $window.on('smartresize', megamenuFullwidth); $('header#top nav > ul > li.megamenu > .sub-menu').css('box-sizing', 'content-box'); } $('header#top nav > ul.sf-menu > li.menu-item').on('mouseenter', function (){ $(this).addClass('menu-item-over'); }); $('header#top nav > ul.sf-menu > li.menu-item').on('mouseleave', function (){ $(this).removeClass('menu-item-over'); }); $('header#top nav .megamenu .sub-menu a.sf-with-ul .sf-sub-indicator, header#top .megamenu .sub-menu a .sf-sub-indicator').remove(); $('header#top nav > ul > li.megamenu > ul.sub-menu > li > a').each(function (){ if($(this).text()=='-'||$(this).text()=='–'||$(this).parent().hasClass('hide-title')){ $(this).remove(); }}); } if(nectarDOMInfo.usingMobileBrowser&&$('#header-outer[data-remove-fixed="1"]').length==0){ $body.attr('data-hhun', '0'); }} function megamenuFullwidth(){ var $windowWidth=$window.width(); var $headerContainerWidth=$('header#top > .container').width(); $('header#top nav > ul > li.megamenu > .sub-menu').css({ 'padding-left': ($windowWidth - $headerContainerWidth) / 2 + 'px', 'padding-right': ($windowWidth + 2 - $headerContainerWidth) / 2 + 'px', 'width': $headerContainerWidth, 'left': '-' + ($windowWidth - $headerContainerWidth) / 2 + 'px' }); } function addOrRemoveSF(){ if(nectarDOMInfo.winW < 1000&&$body.attr('data-responsive')=='1'){ $body.addClass('mobile'); $('header#top nav').css('display', 'none'); }else{ $body.removeClass('mobile'); $('header#top nav').css('display', ''); $('.slide-out-widget-area-toggle #toggle-nav .lines-button').removeClass('close'); }} function showOnLeftSubMenu(){ $('#header-outer .sf-menu > li:not(.megamenu) > ul > li > ul').each(function (){ $(this).removeClass('on-left-side'); if($(this).offset().left + $(this).outerWidth() > $window.width()){ $(this).addClass('on-left-side'); $(this).find('ul').addClass('on-left-side'); }else{ $(this).removeClass('on-left-side'); $(this).find('ul').removeClass('on-left-side'); }}); } function standardCarouselInit(){ if($('.carousel').length==0){ return; } if(typeof SalientRecentProjectsCarousel!=='undefined'){ $('ul.carousel.portfolio-items').each(function (i){ $projectCarouselSliderArr[i]=new SalientRecentProjectsCarousel($(this)); }); } $('ul.carousel:not(".clients"):not(.portfolio-items)').each(function (){ var $that=$(this), maxCols=($(this).parents('.carousel-wrap').attr('data-full-width')=='true') ? 'auto':3, scrollNum=($(this).parents('.carousel-wrap').attr('data-full-width')=='true') ? 'auto':'', colWidth=($(this).parents('.carousel-wrap').attr('data-full-width')=='true') ? 500:453, $autoplayBool=($(this).attr('data-autorotate')=='true') ? true:false, $themeSkin=true, $themeSkin2=true; var scrollSpeed, easing; if($('body.ascend').length > 0&&$(this).parents('.carousel-wrap').attr('data-full-width')!='true' || $('body.material').length > 0&&$(this).parents('.carousel-wrap').attr('data-full-width')!='true'){ if($(this).find('li').length % 3===0){ $themeSkin=true; $themeSkin2=true; }else{ $themeSkin=false; $themeSkin2=true; }}else{ $themeSkin=true; $themeSkin2=true; } scrollSpeed=(parseInt($(this).attr('data-scroll-speed'))) ? parseInt($(this).attr('data-scroll-speed')):700; easing=($(this).is('[data-easing]')) ? $(this).attr('data-easing'):'linear'; var $element=$that; if($that.find('img').length==0){ $element=$body; } imagesLoaded($element, function (){ $that.carouFredSel({ circular: $themeSkin, infinite: $themeSkin2, height: 'auto', responsive: true, items: { width: colWidth, visible: { min: 1, max: maxCols }}, swipe: { onTouch: true, onMouse: true, options: { excludedElements: "button, input, select, textarea, .noSwipe", tap: function (event, target){ if($(target).attr('href') && !$(target).is('[target="_blank"]') && !$(target).is('[rel^="prettyPhoto"]') && !$(target).is('.magnific-popup') && !$(target).is('.magnific')){ window.open($(target).attr('href'), '_self'); }} }, onBefore: function (){ $that.find('.work-item').trigger('mouseleave'); $that.find('.work-item .work-info a').trigger('mouseup'); }}, scroll: { items: scrollNum, easing: easing, duration: scrollSpeed, onBefore: function (){ if($('body.ascend').length > 0&&$that.parents('.carousel-wrap').attr('data-full-width')!='true' || $('body.material').length > 0&&$that.parents('.carousel-wrap').attr('data-full-width')!='true'){ $that.parents('.carousel-wrap') .find('.item-count .total') .html(Math.ceil($that.find('> li').length / $that.triggerHandler("currentVisible").length)); }}, onAfter: function (){ if($('body.ascend').length > 0&&$that.parents('.carousel-wrap').attr('data-full-width')!='true' || $('body.material').length > 0&&$that.parents('.carousel-wrap').attr('data-full-width')!='true'){ $that.parents('.carousel-wrap') .find('.item-count .current') .html($that.triggerHandler('currentPage') + 1); $that.parents('.carousel-wrap') .find('.item-count .total') .html(Math.ceil($that.find('> li').length / $that.triggerHandler("currentVisible").length)); }} }, prev: { button: function (){ return $that.parents('.carousel-wrap').find('.carousel-prev'); }}, next: { button: function (){ return $that.parents('.carousel-wrap').find('.carousel-next'); }}, auto: { play: $autoplayBool }}, { transition: true }).animate({ 'opacity': 1 }, 1300); $that .parents('.carousel-wrap') .wrap('