var breeze_prefetch = {"local_url":"https://bidbat.com","ignore_remote_prefetch":"1","ignore_list":["wp-admin","wp-login.php"]};
//# sourceURL=breeze-prefetch-js-extra
Skip to contentCase Studies
Here are some of our past projects to show you the skills and expertise of our VAs.
Work Smarter. Our Pros Will Handle the Rest.
Our friendly client reps are just a click away. Tell us what’s on your mind – this could be the start of something big!
https://bidbat.com/wp-includes/js/jquery/jquery.min.js
https://bidbat.com/wp-includes/js/jquery/jquery-migrate.min.js
https://bidbat.com/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js
window.addEventListener('load', function() {
const blurElements = document.querySelectorAll('.parallax-scroll');
// Clear zone settings - desktop and mobile
const blurSettings = {
desktop: {
clearZone: 300, // Center - 300px clear zone
maxBlur: 5
},
mobile: {
clearZone: 250, // Mobile center 150px clear zone
maxBlur: 3
}
};
const isMobile = window.innerWidth <= 768;
const currentSettings = isMobile ? blurSettings.mobile : blurSettings.desktop;
function updateBlur() {
const scrollY = window.pageYOffset;
const windowHeight = window.innerHeight;
const viewportCenter = scrollY + windowHeight / 2;
blurElements.forEach(element => {
const rect = element.getBoundingClientRect();
const elementTop = rect.top + scrollY;
const elementHeight = rect.height;
const elementCenter = elementTop + elementHeight / 2;
const distanceFromCenter = Math.abs(viewportCenter - elementCenter);
let blur = 0;
if (distanceFromCenter > currentSettings.clearZone) {
const blurDistance = distanceFromCenter - currentSettings.clearZone;
const blurProgress = Math.min(1, blurDistance / currentSettings.clearZone);
blur = blurProgress * currentSettings.maxBlur;
}
element.style.filter = `blur(${blur}px)`;
});
}
let isScrolling = false;
function handleScroll() {
if (!isScrolling) {
requestAnimationFrame(() => {
updateBlur();
isScrolling = false;
});
isScrolling = true;
}
}
window.addEventListener('scroll', handleScroll, { passive: true });
updateBlur();
});
document.addEventListener("DOMContentLoaded", function () {
if (typeof jQuery !== "undefined") {
jQuery(function ($) {
$(window).scroll(function () {
var scrollTop = $(window).scrollTop();
if (scrollTop > 100) {
$(".header-wrapper").addClass("fixed");
} else {
$(".header-wrapper").removeClass("fixed");
}
});
});
} else {
console.log("jQuery is not loaded!");
}
});
// Function to add new logos dynamically with SVG
function addNewLogo(logoName, svgContent = null) {
const marqueeWrapper = document.querySelector('.marquee-wrapper');
const existingLogos = document.querySelectorAll('.marquee-item');
const logoCount = existingLogos.length / 2; // Divide by 2 because of duplication
// Default SVG content if none provided
const defaultSvg = `
<svg class="logo" viewBox="0 0 140 60" fill="currentColor">
<rect x="15" y="20" width="20" height="20" rx="3" fill="currentColor"/>
<text x="45" y="25" font-family="Arial" font-size="12" font-weight="bold">${logoName}</text>
<text x="45" y="38" font-family="Arial" font-size="6">Brand Logo</text>
</svg>
`;
// Create new logo element
const newLogoHtml = `
<div class="marquee-item">
${svgContent || defaultSvg}
</div>
`;
// Add to both sets (original and duplicate)
const middleIndex = Math.floor(existingLogos.length / 2);
existingLogos[middleIndex - 1].insertAdjacentHTML('afterend', newLogoHtml);
existingLogos[existingLogos.length - 1].insertAdjacentHTML('afterend', newLogoHtml);
// Update animation width
const newLogoCount = logoCount + 1;
const itemWidth = window.innerWidth <= 480 ? 120 : window.innerWidth <= 768 ? 150 : 200;
marqueeWrapper.style.width = `calc(${itemWidth}px * ${newLogoCount * 2})`;
// Update animation
updateAnimation(newLogoCount, itemWidth);
}
// Function to add logo with custom SVG
function addCustomSVGLogo(svgContent) {
const marqueeWrapper = document.querySelector('.marquee-wrapper');
const existingLogos = document.querySelectorAll('.marquee-item');
const logoCount = existingLogos.length / 2;
const newLogoHtml = `
<div class="marquee-item">
${svgContent}
</div>
`;
const middleIndex = Math.floor(existingLogos.length / 2);
existingLogos[middleIndex - 1].insertAdjacentHTML('afterend', newLogoHtml);
existingLogos[existingLogos.length - 1].insertAdjacentHTML('afterend', newLogoHtml);
const newLogoCount = logoCount + 1;
const itemWidth = window.innerWidth <= 480 ? 120 : window.innerWidth <= 768 ? 150 : 200;
marqueeWrapper.style.width = `calc(${itemWidth}px * ${newLogoCount * 2})`;
updateAnimation(newLogoCount, itemWidth);
}
function updateAnimation(logoCount, itemWidth) {
const styleSheet = document.styleSheets[0];
const keyframeRule = Array.from(styleSheet.cssRules).find(rule =>
rule.type === CSSRule.KEYFRAMES_RULE && rule.name === 'scroll'
);
if (keyframeRule) {
styleSheet.deleteRule(Array.from(styleSheet.cssRules).indexOf(keyframeRule));
}
const newKeyframe = `
@keyframes scroll {
0% { transform: translateX(0); }
100% { transform: translateX(-${itemWidth * logoCount}px); }
}
`;
styleSheet.insertRule(newKeyframe, styleSheet.cssRules.length);
}
// Example: Add new logo after 5 seconds
// setTimeout(() => {
// addNewLogo('Microsoft');
// }, 5000);
// Handle responsive changes
window.addEventListener('resize', () => {
const logoCount = document.querySelectorAll('.marquee-item').length / 2;
const itemWidth = window.innerWidth <= 480 ? 120 : window.innerWidth <= 768 ? 150 : 200;
document.querySelector('.marquee-wrapper').style.width = `calc(${itemWidth}px * ${logoCount * 2})`;
updateAnimation(logoCount, itemWidth);
});
// Add interactive click effect
const container = document.querySelector('.custom-icon-container');
container.addEventListener('click', function() {
// Create ripple effect on click
const ripple = document.createElement('div');
ripple.style.position = 'absolute';
ripple.style.width = '100%';
ripple.style.height = '100%';
ripple.style.borderRadius = '50%';
ripple.style.border = '3px solid rgba(255, 75, 51, 0.8)';
ripple.style.animation = 'ripple 0.6s ease-out';
ripple.style.pointerEvents = 'none';
this.appendChild(ripple);
setTimeout(() => {
ripple.remove();
}, 600);
});
document.addEventListener("DOMContentLoaded", function () {
const btn = document.getElementById("schedule-demo");btn.addEventListener("click", function (e) {
e.preventDefault(); // prevent page reload
Calendly.initPopupWidget({
url: 'https://calendly.com/bidbatva/bidbat',
prefill: {},
pageSettings: {
backgroundColor: 'ffffff',
hideEventTypeDetails: false,
hideLandingPageDetails: false,
primaryColor: '0073e6',
textColor: '000000'
}
});
return false;
});
});
const lazyloadRunObserver = () => {
const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` );
const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => {
entries.forEach( ( entry ) => {
if ( entry.isIntersecting ) {
let lazyloadBackground = entry.target;
if( lazyloadBackground ) {
lazyloadBackground.classList.add( 'e-lazyloaded' );
}
lazyloadBackgroundObserver.unobserve( entry.target );
}
});
}, { rootMargin: '200px 0px 200px 0px' } );
lazyloadBackgrounds.forEach( ( lazyloadBackground ) => {
lazyloadBackgroundObserver.observe( lazyloadBackground );
} );
};
const events = [
'DOMContentLoaded',
'elementor/lazyload/observe',
];
events.forEach( ( event ) => {
document.addEventListener( event, lazyloadRunObserver );
} );
var wpilFrontend = {"ajaxUrl":"/wp-admin/admin-ajax.php","postId":"3240","postType":"post","openInternalInNewTab":"0","openExternalInNewTab":"0","disableClicks":"0","openLinksWithJS":"0","trackAllElementClicks":"0","clicksI18n":{"imageNoText":"Image in link: No Text","imageText":"Image Title: ","noText":"No Anchor Text Found"}};
//# sourceURL=wpil-frontend-script-js-extra
https://bidbat.com/wp-content/plugins/link-whisper/js/frontend.min.js
https://bidbat.com/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js
https://bidbat.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js
https://bidbat.com/wp-includes/js/jquery/ui/core.min.js
var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Share on Facebook","shareOnTwitter":"Share on Twitter","pinIt":"Pin it","download":"Download","downloadImage":"Download image","fullscreen":"Fullscreen","zoom":"Zoom","share":"Share","playVideo":"Play Video","previous":"Previous","next":"Next","close":"Close","a11yCarouselPrevSlideMessage":"Previous slide","a11yCarouselNextSlideMessage":"Next slide","a11yCarouselFirstSlideMessage":"This is the first slide","a11yCarouselLastSlideMessage":"This is the last slide","a11yCarouselPaginationBulletMessage":"Go to slide"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":576,"lg":992,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Mobile Portrait","value":575,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":767,"default_value":880,"direction":"max","is_enabled":true},"tablet":{"label":"Tablet Portrait","value":991,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1199,"default_value":1200,"direction":"max","is_enabled":true},"laptop":{"label":"Laptop","value":1300,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"hasCustomBreakpoints":true},"version":"3.30.3","is_static":false,"experimentalFeatures":{"e_font_icon_svg":true,"additional_custom_breakpoints":true,"container":true,"e_optimized_markup":true,"theme_builder_v2":true,"nested-elements":true,"e_element_cache":true,"home_screen":true,"global_classes_should_enforce_capabilities":true,"cloud-library":true,"e_opt_in_v4_page":true,"mega-menu":true},"urls":{"assets":"https:\/\/bidbat.com\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/bidbat.com\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/bidbat.com\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"83e59ee1fa"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"active_breakpoints":["viewport_mobile","viewport_mobile_extra","viewport_tablet","viewport_tablet_extra"],"viewport_mobile":575,"viewport_mobile_extra":767,"viewport_tablet":991,"viewport_tablet_extra":1199,"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description"},"post":{"id":3240,"title":"Case%20Studies%20-%20BidBat","excerpt":"","featuredImage":false}};
//# sourceURL=elementor-frontend-js-before
https://bidbat.com/wp-content/plugins/elementor/assets/js/frontend.min.js
https://bidbat.com/wp-content/plugins/elementor-pro/assets/lib/smartmenus/jquery.smartmenus.min.js
https://bidbat.com/wp-includes/js/imagesloaded.min.js
https://bidbat.com/wp-content/plugins/elementor-pro/assets/js/webpack-pro.runtime.min.js
https://bidbat.com/wp-includes/js/dist/hooks.min.js
https://bidbat.com/wp-includes/js/dist/i18n.min.js
wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
//# sourceURL=wp-i18n-js-after
var ElementorProFrontendConfig = {"ajaxurl":"https:\/\/bidbat.com\/wp-admin\/admin-ajax.php","nonce":"645e2e39e5","urls":{"assets":"https:\/\/bidbat.com\/wp-content\/plugins\/elementor-pro\/assets\/","rest":"https:\/\/bidbat.com\/wp-json\/"},"settings":{"lazy_load_background_images":true},"popup":{"hasPopUps":true},"shareButtonsNetworks":{"facebook":{"title":"Facebook","has_counter":true},"twitter":{"title":"Twitter"},"linkedin":{"title":"LinkedIn","has_counter":true},"pinterest":{"title":"Pinterest","has_counter":true},"reddit":{"title":"Reddit","has_counter":true},"vk":{"title":"VK","has_counter":true},"odnoklassniki":{"title":"OK","has_counter":true},"tumblr":{"title":"Tumblr"},"digg":{"title":"Digg"},"skype":{"title":"Skype"},"stumbleupon":{"title":"StumbleUpon","has_counter":true},"mix":{"title":"Mix"},"telegram":{"title":"Telegram"},"pocket":{"title":"Pocket","has_counter":true},"xing":{"title":"XING","has_counter":true},"whatsapp":{"title":"WhatsApp"},"email":{"title":"Email"},"print":{"title":"Print"},"x-twitter":{"title":"X"},"threads":{"title":"Threads"}},"facebook_sdk":{"lang":"en_US","app_id":""},"lottie":{"defaultAnimationUrl":"https:\/\/bidbat.com\/wp-content\/plugins\/elementor-pro\/modules\/lottie\/assets\/animations\/default.json"}};
//# sourceURL=elementor-pro-frontend-js-before
https://bidbat.com/wp-content/plugins/elementor-pro/assets/js/frontend.min.js
https://bidbat.com/wp-content/plugins/elementor-pro/assets/js/elements-handlers.min.js
document.addEventListener('DOMContentLoaded', function() {
// Get elements
const toggleSwitch = document.getElementById('toggleSwitch');
const toggleLabelLeft = document.querySelector('.toggle-label-left');
const toggleLabelRight = document.querySelector('.toggle-label-right');
const hourlyElements = document.querySelectorAll('.hourly');
const monthlyElements = document.querySelectorAll('.monthly');
let isMonthly = false;// Toggle switch functionality
toggleSwitch.addEventListener('click', function() {
isMonthly = !isMonthly;
if (isMonthly) {
// Switch to monthly
toggleSwitch.classList.add('active');
toggleLabelLeft.classList.remove('active');
toggleLabelRight.classList.add('active');
// Show/hide price elements
hourlyElements.forEach(el => el.style.display = 'none');
monthlyElements.forEach(el => el.style.display = 'inline');
} else {
// Switch to hourly
toggleSwitch.classList.remove('active');
toggleLabelLeft.classList.add('active');
toggleLabelRight.classList.remove('active');
// Show/hide price elements
hourlyElements.forEach(el => el.style.display = 'inline');
monthlyElements.forEach(el => el.style.display = 'none');
}
});// Category Tab Switching
const categoryTabs = document.querySelectorAll('.category-tab');
const pricingContents = document.querySelectorAll('.pricing-content');categoryTabs.forEach(tab => {
tab.addEventListener('click', function() {
const category = this.getAttribute('data-category');
// Update active tab
categoryTabs.forEach(t => t.classList.remove('active'));
this.classList.add('active');// Show corresponding content
pricingContents.forEach(content => {
if (content.getAttribute('data-category') === category) {
content.classList.add('active');
} else {
content.classList.remove('active');
}
});
});
});// Select Package Button Actions
const selectBtns = document.querySelectorAll('.select-btn');
selectBtns.forEach(btn => {
btn.addEventListener('click', function() {
alert('Package selected! Redirecting to checkout...');
// Add your checkout logic here
});
});
});
jQuery(document).ready(function($) {
function addReadMore() {
$('.review-wrap h4').each(function() {
if ($(this).next('.read-more-btn').length > 0) {
return; // Already processed, skip
}
var $content = $(this);
var maxLines = 4;
var lineHeight = parseInt($content.css('line-height'));
var maxHeight = lineHeight * maxLines;
var actualHeight = $content[0].scrollHeight;
if (actualHeight > maxHeight) {
$content.css({
'max-height': maxHeight + 'px',
'overflow': 'hidden',
'position': 'relative'
});
$content.after('<span class="read-more-btn" style="color: #FF4B33; cursor: pointer; font-weight: 600; display: inline-block; margin-top: 10px;">Read More</span>');
$content.next('.read-more-btn').on('click', function() {
if ($content.css('max-height') !== 'none') {
$content.css('max-height', 'none');
$(this).text('Read Less');
} else {
$content.css('max-height', maxHeight + 'px');
$(this).text('Read More');
}
});
}
});
}addReadMore();
setTimeout(function() {
addReadMore();
}, 500);
$(document).on('click', '.swiper-button-next, .swiper-button-prev, .elementor-swiper-button', function() {
setTimeout(function() {
addReadMore();
}, 300);
});$(document).on('click', '.swiper-pagination-bullet', function() {
setTimeout(function() {
addReadMore();
}, 300);
});
});
gsap.registerPlugin(ScrollTrigger);document.querySelectorAll(".heading-container .heading-animation").forEach((heading) => {
const split = new SplitType(heading, {
types: "words, chars",
});gsap.timeline({
scrollTrigger: {
trigger: heading.closest(".heading-container"),
start: "top 68%",
end: "+=60%",
scrub: 0.5,
},
}).to(split.chars, {
color: "#071D3B",
stagger: 0.1,
duration: 0.3,
ease: "none",
});
});
//reveal
gsap.utils.toArray('.jsimg, .jscontent, .jsblock').forEach((element, index) => {
gsap.to(element, {
clipPath: 'inset(0% 0% 0% 0%)',
duration: 1.8,
ease: "power3.out",
delay: index * 0.15,
scrollTrigger: {
trigger: element,
start: 'top 80%'
}
});
});