PageSourceSearch

https://bioenvasoseuropa.com/wp-content/themes/pivot/style/js/scripts.js?ver=6.9.10

js bioenvasoseuropa.com collected 2026-10-09 23:12:23 UTC 20,146 bytes, 556 lines download raw bytes

1/*-----------------------------------------------------------------------------------*/
2/*	CUSTOM FUNCTIONS
3/*-----------------------------------------------------------------------------------*/
4(function(e){"use strict";e.fn.fitVids=function(t){var n={customSelector:null,ignore:null};if(!document.getElementById("fit-vids-style")){var r=document.head||document.getElementsByTagName("head")[0];var i=".fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}";var s=document.createElement("div");s.innerHTML='<p>x</p><style id="fit-vids-style">'+i+"</style>";r.appendChild(s.childNodes[1])}if(t){e.extend(n,t)}return this.each(function(){var t=["iframe[src*='player.vimeo.com']","iframe[src*='youtube.com']","iframe[src*='youtube-nocookie.com']","iframe[src*='kickstarter.com'][src*='video.html']","object","embed"];if(n.customSelector){t.push(n.customSelector)}var r=".fitvidsignore";if(n.ignore){r=r+", "+n.ignore}var i=e(this).find(t.join(","));i=i.not("object object");i=i.not(r);i.each(function(){var t=e(this);if(t.parents(r).length>0){return}if(this.tagName.toLowerCase()==="embed"&&t.parent("object").length||t.parent(".fluid-width-video-wrapper").length){return}if(!t.css("height")&&!t.css("width")&&(isNaN(t.attr("height"))||isNaN(t.attr("width")))){t.attr("height",9);t.attr("width",16)}var n=this.tagName.toLowerCase()==="object"||t.attr("height")&&!isNaN(parseInt(t.attr("height"),10))?parseInt(t.attr("height"),10):t.height(),i=!isNaN(parseInt(t.attr("width"),10))?parseInt(t.attr("width"),10):t.width(),s=n/i;if(!t.attr("id")){var o="fitvid"+Math.floor(Math.random()*999999);t.attr("id",o)}t.wrap('<div class="fluid-width-video-wrapper"></div>').parent(".fluid-width-video-wrapper").css("padding-top",s*100+"%");t.removeAttr("height").removeAttr("width")})})}})(window.jQuery||window.Zepto);
5function eborAlignVertical(){
6	jQuery('.ebor-align-vertical').each(function(){
7		var that = jQuery(this);
8		var height = that.height();
9		var parentHeight = that.parents('.row').height();
10		var padAmount = (parentHeight / 2) - (height/2);
11		that.css('padding-top', padAmount);
12	});
13}
14function alignVertical(){
15		jQuery('.align-vertical').each(function(){
16			var that = jQuery(this);
17			var height = that.height();
18			var parentHeight = that.parent().height();
19			var padAmount = (parentHeight / 2) - (height/2);
20			that.css('padding-top', padAmount);
21		});
22}
23function alignBottom(){
24	jQuery('.align-bottom').each(function(){
25		var that = jQuery(this);
26		var height = that.height();
27		var parentHeight = that.parent().height();
28		var padAmount = (parentHeight) - (height) - 32;
29		that.css('padding-top', padAmount);
30	});
31}
32// Youtube Background Handling
33function onYouTubeIframeAPIReady(){
34	jQuery(window).load(function(){
35		jQuery('.youtube-bg iframe').each(function(index){
36		    jQuery(this).attr('id', 'yt-'+index);
37		    var player = new YT.Player(jQuery(this).attr('id'), {
38		        playerVars : {
39		            'loop' : 1
40		        },
41		        events: {
42		            'onReady': function(){
43		                player.mute();
44		                player.playVideo();    
45		            }
46		        }
47		    });
48		});
49	});
50};
51function handleTweets(tweets){
52    var x = tweets.length,
53    	  n = 0,
54    	  element = document.getElementById('tweets'),
55    	  html = '<ul class="slides">';
56    	  
57    while(n < x) {
58      html += '<li>' + tweets[n] + '</li>';
59      n++;
60    }
61    html += '</ul>';
62    element.innerHTML = html;
63    if(jQuery('#tweets').length){
64    	setTimeout(function(){
65    		jQuery('#tweets').flexslider({ directionNav: false, controlNav: false });
66    	}, 100);
67    }
68}
69jQuery.fn.setAllToMaxHeight = function(){
70	return this.css({ 'height' : '' }).height( Math.max.apply(this, jQuery.map( this , function(e){ return jQuery(e).height() }) ) );
71}
72/*-----------------------------------------------------------------------------------*/
73/*	NAV BASE LINK
74/*-----------------------------------------------------------------------------------*/
75jQuery(document).ready(function($) {
76
77	jQuery('a.js-activated').not('a.js-activated[href^="#"]').click(function(){
78		var url = $(this).attr('href');
79		window.location.href = url;
80		return true;
81	});
82		
83});
84/*-----------------------------------------------------------------------------------*/
85/*	DOCUMENT READY JS
86/*-----------------------------------------------------------------------------------*/
87jQuery(document).ready(function(){
88	
89	var fixIg = function () {
90    jQuery('iframe[src*="instagram.com"]').responsiveInstagram();
91	  };
92	  jQuery(document).on('ready', function () {
93	    fixIg();
94	  });
95	  jQuery(window).on('load resize',function () {
96	    fixIg();
97  	})
98	
99	onYouTubeIframeAPIReady();
100	
101	jQuery('.post-password-form').addClass('photo-form-wrapper').find('label:has(input)').each(function(){
102		var text = jQuery(this).text(),
103			input = jQuery('input', this),
104			parent = jQuery(this).parent();
105		input.attr('placeholder', text);
106		input.prependTo(parent);
107		jQuery(this).remove();
108	});
109	
110	/**
111	 * Add lightbox to all linked images
112	 */
113	jQuery("a[href$='jpg'], a[href$='jpeg'], a[href$='gif'], a[href$='png']").each(function(){
114		jQuery(this).addClass('lightbox-link-mrv').attr('data-lightbox', 'true');
115	});
116	
117	/**
118	 * Adjust header type if there isn't a page header set
119	 */
120	if(!( 
121		jQuery('.main-container > .row > .aq-block').eq(0).hasClass('aq-block-aq_page_header_block') 
122		|| jQuery('.main-container > .row > .aq-block').eq(0).hasClass('aq-block-aq_revslider_block') 
123		|| jQuery('.main-container > .row > .aq-block').eq(0).hasClass('aq-block-aq_masterslider_block') 
124		|| jQuery('.main-container > section').eq(0).hasClass('fullscreen-element') 
125		|| jQuery('.main-container > section').eq(0).hasClass('hero-slider')
126		|| jQuery('.main-container > header').eq(0).hasClass('title') 
127		|| jQuery('.main-container > header').eq(0).hasClass('page-header') 
128		|| jQuery('.main-container > .vc_row > .vc_column_container > .wpb_wrapper > div').eq(0).hasClass('aq-block-aq_page_header_block')
129		|| jQuery('.main-container > .vc_row > .vc_column_container > .wpb_wrapper > div').eq(0).hasClass('avt_masterslider_el')
130		|| jQuery('.main-container > .vc_row > .vc_column_container > .wpb_wrapper > div').eq(0).hasClass('wpb_revslider_element')
131		|| jQuery('.main-container > .vc_row > .vc_column_container > .vc_column-inner > .wpb_wrapper > div').eq(0).hasClass('aq-block-aq_page_header_block')
132		|| jQuery('.main-container > .vc_row > .vc_column_container > .vc_column-inner > .wpb_wrapper > div').eq(0).hasClass('avt_masterslider_el')
133		|| jQuery('.main-container > .vc_row > .vc_column_container > .vc_column-inner > .wpb_wrapper > div').eq(0).hasClass('wpb_revslider_element')
134	)){
135		jQuery('nav.top-bar').removeClass('overlay-bar');
136	} else {
137		if( 
138			jQuery('.main-container > .row > .aq-block').eq(0).hasClass('aq-block-aq_revslider_block') 
139			|| jQuery('.main-container > .row > .aq-block').eq(0).hasClass('aq-block-aq_masterslider_block') 
140		){
141			//nothing
142		} else {
143			var currentPad = parseInt(jQuery('.ebor-pad-me').eq(0).css('padding-top'));
144			var newPad = currentPad + jQuery('.overlay-bar, .contained-bar').outerHeight() - 48;
145			if(currentPad > 0){
146				jQuery('.ebor-pad-me').eq(0).css('padding-top', newPad);
147			} else if(jQuery('.ebor-pad-me').eq(0).hasClass('hero-slider')){
148				var height = parseInt(jQuery('.hero-slider .slides li:first-child').outerHeight());
149				var newHeight = height + jQuery('.overlay-bar, .contained-bar').outerHeight();
150				jQuery('.hero-slider .slides li').css('height', newHeight);
151			}
152		}
153	}
154	
155	/**
156	 * Quick cleanup for mega menus
157	 */
158	jQuery('.subnav-fullwidth').unwrap().unwrap();
159	
160	/**
161	 * Add arrows to the sidebar
162	 */
163	jQuery('.sidebar-widget ul li:not(:has(img)) > a').append('<i class="icon arrow_right"></i>');
164	
165	/**
166	 * Fitvids
167	 * This makes responsive iframes
168	 */
169	jQuery('.article-body iframe').wrap('<div class="fitvids" />');
170	jQuery(".fitvids").fitVids();
171	
172	/**
173	 * WP-Login.php stuff
174	 */
175	if( jQuery('body').hasClass('login') ){
176		jQuery('#login-css, #buttons-css, link[href*="load-styles.php"]').remove();
177		jQuery('label:has(input)').not(':has(input[type="checkbox"])').each(function(){
178			var text = jQuery(this).text(),
179				input = jQuery('input', this),
180				parent = jQuery(this).parent();
181			input.attr('placeholder', text);
182			input.appendTo(parent);
183			jQuery(this).remove();
184		});
185	}
186	
187	// Nav Sticky
188	jQuery(window).scroll(function(){
189		if( jQuery(window).scrollTop() > 500 && !jQuery('.mobile-toggle').is(":visible")){
190			jQuery('.top-bar').addClass('nav-sticky');
191		}else{
192			jQuery('.top-bar').removeClass('nav-sticky');
193		}
194	});
195	
196	// Offscreen Nav
197	jQuery('.offscreen-toggle').click(function(){
198		jQuery('.main-container, .footer-container').toggleClass('reveal-nav');
199		jQuery('.offscreen-container').toggleClass('reveal-nav');
200		jQuery('.offscreen-menu .container').toggleClass('reveal-nav');
201	});
202	
203	jQuery('.main-container').click(function(){
204		if(jQuery(this).hasClass('reveal-nav')){
205			jQuery('.main-container').toggleClass('reveal-nav');
206			jQuery('.offscreen-container').toggleClass('reveal-nav');
207			jQuery('.offscreen-menu .container').toggleClass('reveal-nav');
208		}
209	});
210	
211	jQuery('.offscreen-container .menu a').click(function(){
212		jQuery('.offscreen-toggle').trigger('click');
213	});
214	
215	// Detect logo dimensions and add correct class
216	var logoImage = jQuery('.top-bar .logo:first-of-type');
217	
218	var theImage = new Image();
219	theImage.src = logoImage.attr("src");
220	
221	var logoWidth = theImage.width;
222	var logoHeight = theImage.height;
223	var logoRatio = logoWidth / logoHeight;
224	
225	if(logoRatio > 2.8){
226		jQuery('.top-bar .logo').addClass('logo-wide');
227	}
228	
229	if(logoRatio < 2){
230		jQuery('.top-bar .logo').addClass('logo-square');
231	}
232	
233	/**
234	 * One page nav scroll
235	 */
236	if(!( jQuery('body').hasClass('login') )){
237		var headerOffset = parseInt(wp_data.header_offset);
238		if( jQuery('body').hasClass('admin-bar') )
239			headerOffset = headerOffset + 32;
240		jQuery('.nav-container a[href^="#"], a.btn[href^="#"]').not('.nav-container a[href="#"], a[href="#"], .wpb_accordion a, .wpb_tabs a, .wpb_tour a, .vc_tta a').smoothScroll({
241			offset: -headerOffset, 
242			speed: 801
243		});
244	}
245	
246	// Mobile Toggle
247	jQuery('.mobile-toggle').click(function(){
248		jQuery('nav').toggleClass('open-nav');
249	});
250	
251	// Fullscreen nav toggle
252	jQuery('.fullscreen-nav-toggle').click(function(){
253		if(!jQuery('.fullscreen-nav-container').hasClass('show-fullscreen-nav')){
254			jQuery('.fullscreen-nav-container').addClass('show-fullscreen-nav');
255			setTimeout(function(){
256				jQuery('.fullscreen-nav-container').addClass('fade-fullscreen-nav');
257			},100);
258			jQuery(this).addClass('toggle-icon');
259		}else{
260			jQuery(this).removeClass('toggle-icon');
261				jQuery('.fullscreen-nav-container').removeClass('fade-fullscreen-nav');
262			setTimeout(function(){
263				
264				jQuery('.fullscreen-nav-container').removeClass('show-fullscreen-nav');
265			},500);
266		}
267	});	
268	
269	jQuery('.fullscreen-nav-container .menu li a').click(function(){
270		jQuery('.fullscreen-nav-toggle').removeClass('toggle-icon');
271			jQuery('.fullscreen-nav-container').removeClass('fade-fullscreen-nav');
272		setTimeout(function(){
273			jQuery('.fullscreen-nav-container').removeClass('show-fullscreen-nav');
274		},500);
275	});
276	
277	/**
278	 * Margin first section for top bar
279	 */
280	if(!( jQuery('nav').hasClass('overlay-bar') || jQuery('nav').hasClass('contained-bar') )){
281		jQuery('.main-container').first().css('margin-top', jQuery('nav').outerHeight());
282	}
283	jQuery(window).resize(function(){
284		if(!( jQuery('nav').hasClass('overlay-bar') || jQuery('nav').hasClass('contained-bar') )){
285			jQuery('.main-container').first().css('margin-top', jQuery('nav').outerHeight());
286		}
287	});
288	
289	// Fullwidth Subnavs
290	
291	// Position Fullwidth Subnavs fullwidth correctly
292    jQuery('.subnav-fullwidth').each(function () {
293        jQuery(this).css('width', jQuery('.container').width());
294        var offset = jQuery(this).closest('.has-dropdown').offset();
295        offset = offset.left;
296        var containerOffset = jQuery(window).width() - jQuery('.container').outerWidth();
297        containerOffset = containerOffset /2;
298        offset = offset - containerOffset - 15;
299        jQuery(this).css('left', -offset);
300    });
301
302    jQuery(window).resize(function () {
303        jQuery('.subnav-fullwidth').each(function () {
304            jQuery(this).css('width', jQuery('.container').width());
305			var offset = jQuery(this).closest('.has-dropdown').offset();
306			offset = offset.left;
307			var containerOffset = jQuery(window).width() - jQuery('.container').outerWidth();
308			containerOffset = containerOffset /2;
309			offset = offset - containerOffset - 15;
310			jQuery(this).css('left', -offset);
311        });
312    });
313	
314	// Scroll Reveal
315	if (!(/Android|iPhone|iPad|iPod|BlackBerry|Windows Phone/i).test(navigator.userAgent || navigator.vendor || window.opera)) {
316       window.scrollReveal = new scrollReveal();
317    }else{
318    	jQuery('body').addClass('pointer');
319    }
320
321	// Slider Initializations
322	jQuery('.hero-slider').flexslider({});
323	jQuery('.image-slider').flexslider({ animation: "slide"});
324	jQuery('.testimonials-slider').flexslider({ directionNav: false });
325	
326	// Slide Sizes
327	jQuery('.slider-fullscreen .slides li').each(function(){
328		jQuery(this).css('height', jQuery(window).height());
329	});
330	
331	jQuery('.fullscreen-element').each(function(){
332		jQuery(this).css('height', jQuery(window).height());
333	});
334
335
336	// Feature Selector
337	jQuery('.selector-tabs li').click(function(){
338		jQuery(this).parent('.selector-tabs').children('li').removeClass('active');
339		jQuery(this).addClass('active');
340		
341		var activeTab = jQuery(this).index() + 1;
342		
343		jQuery(this).closest('.feature-selector').find('.selector-content').children('li').removeClass('active');
344		jQuery(this).closest('.feature-selector').find('.selector-content').children('li:nth-child('+activeTab+')').addClass('active');
345	});
346	
347	// Append .background-image-holder <img>'s as CSS backgrounds
348	jQuery('.background-image-holder').each(function(){
349		var imgSrc= jQuery(this).children('img').attr('src');
350		jQuery(this).css('background', 'url("' + imgSrc + '")');
351    	jQuery(this).children('img').hide();
352        jQuery(this).css('background-position', '50% 0%');
353	});
354	
355	// Accordion
356	jQuery('.accordion li').click(function(){
357		jQuery(this).parent('.accordion').children('li').removeClass('active');
358		jQuery(this).addClass('active');
359	});
360	
361	jQuery('.expanding-ul li').click(function(){
362		jQuery('.expanding-ul li').removeClass('active');
363		jQuery(this).addClass('active');
364	});
365	
366	/************** Parallax Scripts **************/
367
368    var isFirefox = typeof InstallTrigger !== 'undefined';
369    var isIE = /*@cc_on!@*/ false || !!document.documentMode;
370    var isChrome = !!window.chrome;
371    var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
372    var prefix;
373
374    if (isFirefox) {
375        prefix = '-moz-';
376    } else if (isIE) {
377
378    } else if (isChrome || isSafari) {
379        prefix = '-webkit-';
380    }
381
382    jQuery('.main-container section:first-child').addClass('first-child');
383
384    jQuery('.parallax-background').each(function () {
385
386        if (jQuery(this).closest('section').hasClass('first-child') && !jQuery(this).closest('section').hasClass('slider-fullscreen')) {
387            jQuery(this).attr('data-top', prefix + 'transform: translate3d(0px,0px, 0px)');
388            jQuery(this).attr('data-top-bottom', prefix + 'transform: translate3d(0px,200px, 0px)');
389
390        } else {
391
392            jQuery(this).attr('data-bottom-top', prefix + 'transform: translate3d(0px,-100px, 0px)');
393            jQuery(this).attr('data-center', prefix + 'transform: translate3d(0px,0px, 0px)');
394            jQuery(this).attr('data-top-bottom', prefix + 'transform: translate3d(0px,100px, 0px)');
395
396        }
397
398    });
399    
400    if (!(/Android|iPhone|iPad|iPod|BlackBerry|Windows Phone/i).test(navigator.userAgent || navigator.vendor || window.opera)) {
401        skrollr.init({
402            forceHeight: false
403        });
404    }
405    
406    // Map Holder Overlay
407	jQuery('.map-holder').click(function(){
408		jQuery(this).addClass('on');
409	});
410	
411	jQuery(window).scroll(function(){
412		if(jQuery('.map-holder').hasClass('on')){
413			jQuery('.map-holder').removeClass('on');
414		}
415	});
416	
417	// Map Details Holder
418	jQuery('.details-holder').each(function(){
419		jQuery(this).css('height', jQuery(this).width());
420	});
421	
422	jQuery('.details-holder').mouseenter(function(){
423		jQuery(this).closest('.map-overlay').addClass('fade-overlay');
424	}).mouseleave(function(){jQuery(this).closest('.map-overlay').removeClass('fade-overlay');});;
425	
426	// Countdown
427	jQuery('.countdown').each(function(){
428		jQuery(this).countdown({until: new Date(jQuery(this).attr('data-date'))});
429	});
430	
431	// Twitter Feed
432	if(jQuery('#tweets').length){
433		
434		var TweetConfig = {
435			"id": jQuery('#tweets').attr('data-widget-id'),
436			"domId": '',
437			"maxTweets": 5,
438			"enableLinks": true,
439			"showUser": true,
440			"showTime": true,
441			"dateFunction": '',
442			"showRetweet": false,
443			"customCallback": handleTweets
444		};
445		
446		twitterFetcher.fetch(TweetConfig);
447		
448	}
449	
450	jQuery('.project').on('touchstart', function(){
451		jQuery(this).trigger('hover');
452	});
453
454});
455/*-----------------------------------------------------------------------------------*/
456/*	WINDOW LOADED JS
457/*-----------------------------------------------------------------------------------*/
458jQuery(window).load(function(){
459	
460	eborAlignVertical();
461	
462	jQuery(window).resize(function(){
463		jQuery('.feature-box').setAllToMaxHeight();
464		eborAlignVertical();
465	});
466	
467	jQuery('.feature-box').setAllToMaxHeight();
468		
469	// Align Elements Vertically
470	alignVertical();
471	alignBottom();
472	
473	jQuery(window).resize(function(){
474		alignVertical();
475		alignBottom();
476	});
477	
478	/**
479	 * Isotope Blog
480	 */
481	jQuery('.blog-masonry-container').isotope({
482		itemSelector: '.blog-masonry-item',
483		layoutMode: 'masonry'
484	});
485	
486	// Isotope Projects
487	jQuery('.projects-container').isotope({
488	  itemSelector: '.project',
489	  layoutMode: 'fitRows'
490	});
491	
492	jQuery('.filters li').click(function() {
493	  var current = jQuery(this);
494	  
495	  current.siblings('li').removeClass('active');
496	  current.addClass('active');
497	  
498	  var filterValue = current.attr('data-filter');
499	  var container = current.closest('.projects-wrapper').find('.projects-container');
500	  container.isotope({ filter: filterValue });
501	});
502	
503	// Isotope contained feature boxes
504	jQuery('.contained-features-wrapper').isotope({
505	  itemSelector: '.no-pad',
506	  layoutMode: 'masonry',
507	  masonry: {
508		  gutter: 0
509		}
510	});
511	
512	// Instagram Feed
513	if( jQuery('.instafeed').length && wp_data.access_token && wp_data.client_id ){
514		jQuery.fn.spectragram.accessData = {
515			accessToken: wp_data.access_token,
516			clientID: wp_data.client_id
517		};	
518		jQuery('.instafeed').each(function () {
519			var method = ( jQuery(this).attr('data-method') ) ? jQuery(this).attr('data-method') : 'getUserFeed';
520	        jQuery(this).children('ul').spectragram( method, {
521	            query: jQuery(this).attr('data-user-name')
522	        });
523	    });
524	}
525    
526    /**
527     * Remove Preloader
528     */
529    jQuery('.loader').css('opacity', 0);
530    setTimeout(function(){
531    	jQuery('.loader').hide();
532    	/**
533    	 * Trigger window resize to perfect Isotope
534    	 */
535    	jQuery('.filters li.active').trigger('click');
536    	jQuery(window).trigger('resize');
537    }, 600);
538    
539    /**
540     * Masterslider stuff
541     */
542    jQuery('.ebor-parallax-background .ms-slide-bgcont').each(function(){
543    	jQuery(this).css({
544    		'background' : 'url("' + jQuery(this).children('img').attr('src') + '")',
545    		'background-position' : '50% 0%',
546    		'width' : '110%',
547    		'height' : '110%'
548    	}).addClass('ebor-background').children('img').hide();
549    	jQuery(this).parents('.ebor-parallax-background').mousemove(function( event ) {
550    		jQuery(this).find('.ebor-background').css('transform', 'translate(' + -event.pageX /18 + 'px,' + -event.pageY /18+ 'px)');
551    	});
552    });
553    
554    jQuery(window).trigger('resize');
555    
556});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.