1<!-- 2 3--><!doctype html><html lang="en-US"><head> 4 <meta charset="utf-8"> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>Contact Sales | AI-Powered Talent Acquisition Platform | hireEZ</title> 8 <meta name="description" content="Hire top talent in less time. Streamline your recruiting process with our comprehensive talent acquisition platform. Hire smarter and faster. Contact hireEZ today!"> 9 <!-- Facebook Meta Tags --> 10 <meta property="og:type" content="website"> 11 12 <!-- Twitter Meta Tags --> 13 <meta name="twitter:card" content="summary_large_image"> 14 <meta property="twitter:domain" content="explore.hireez.com"> 15 16 <!-- Facebook --> 17 <meta property="og:image" content="https://hireez.com/wp-content/uploads/2025/03/hireEZ_Agentic_AI.jpg"> 18 <!-- Twitter --> 19 <meta name="twitter:image" content="https://hireez.com/wp-content/uploads/2025/03/hireEZ_Agentic_AI.jpg"> 20 21 22 23 24 <link rel="icon" href="https://hireez.com/wp-content/uploads/2022/01/cropped-hireEZ-Logo-Mark-1-32x32.png"> 25<!-- Global header code insertion position --> 26 <meta name="viewport" content="width=device-width, initial-scale=1"> 27 28 29 <meta property="og:description" content="Hire top talent in less time. Streamline your recruiting process with our comprehensive talent acquisition platform. Hire smarter and faster. Contact hireEZ today!"> 30 <meta property="og:title" content="Contact Sales | AI-Powered Talent Acquisition Platform | hireEZ"> 31 <meta name="twitter:description" content="Hire top talent in less time. Streamline your recruiting process with our comprehensive talent acquisition platform. Hire smarter and faster. Contact hireEZ today!"> 32 <meta name="twitter:title" content="Contact Sales | AI-Powered Talent Acquisition Platform | hireEZ"> 33 34 35 36 37 <style> 38a.cta_button{-moz-box-sizing:content-box !important;-webkit-box-sizing:content-box !important;box-sizing:content-box !important;vertical-align:middle}.hs-breadcrumb-menu{list-style-type:none;margin:0px 0px 0px 0px;padding:0px 0px 0px 0px}.hs-breadcrumb-menu-item{float:left;padding:10px 0px 10px 10px}.hs-breadcrumb-menu-divider:before{content:'âº';padding-left:10px}.hs-featured-image-link{border:0}.hs-featured-image{float:right;margin:0 0 20px 20px;max-width:50%}@media (max-width: 568px){.hs-featured-image{float:none;margin:0;width:100%;max-width:100%}}.hs-screen-reader-text{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px} 39</style> 40 41<link rel="stylesheet" href="https://explore.hireez.com/hubfs/hub_generated/template_assets/1/184688827402/1739410567291/template_form-common.min.css"> 42<link rel="stylesheet" href="https://explore.hireez.com/hubfs/hub_generated/module_assets/1/339614526153/1779695715014/module_Hero_of_industry_contact_sales.min.css"> 43<link rel="stylesheet" href="https://explore.hireez.com/hubfs/hub_generated/module_assets/1/339664996049/1779259676313/module_Compare_of_industry_contact_sales.min.css"> 44<link rel="stylesheet" href="https://explore.hireez.com/hubfs/hub_generated/module_assets/1/339662176954/1779260436811/module_stats_of_industry_contact_sales.min.css"> 45<link rel="stylesheet" href="https://explore.hireez.com/hubfs/hub_generated/module_assets/1/345967634137/1779259638831/module_Big_pillars_of_industry_contact_sales.min.css"> 46<link rel="stylesheet" href="https://explore.hireez.com/hubfs/hub_generated/module_assets/1/345967825594/1779259786494/module_Testimonial_of_industry_contact_sales.min.css"> 47<link rel="stylesheet" href="https://explore.hireez.com/hubfs/hub_generated/module_assets/1/345967826650/1779259607054/module_ATS_integrations_of_industry_contact_sales.min.css"> 48<link rel="stylesheet" href="https://explore.hireez.com/hubfs/hub_generated/module_assets/1/346005001926/1779259761677/module_Steps_pillar_of_industry_contact_sales.min.css"> 49<link rel="stylesheet" href="https://explore.hireez.com/hubfs/hub_generated/module_assets/1/3460052
4900622/1779697078450/module_FAQ_of_industry_contact_sales.min.css"> 50<link rel="stylesheet" href="https://explore.hireez.com/hubfs/hub_generated/module_assets/1/346078626512/1779259696870/module_CTA_demo_of_industry_contact_sales.min.css"> 51 52 53 54 <link rel="canonical" href="https://explore.hireez.com/contact-sales"> 55 56<!-- Google Consent Mode -->
57<script data-cookieconsent="ignore"> 58 window.dataLayer = window.dataLayer || []; 59 function gtag() {dataLayer.push(arguments)} 60// Default settings 61gtag('consent', 'default', { 62 'ad_personalization': 'denied', 63 'ad_storage': 'denied', 64 'ad_user_data': 'denied', 65 'analytics_storage': 'denied', 66 'functionality_storage': 'denied', 67 'personalization_storage': 'denied', 68 'security_storage': 'granted', 69 'wait_for_update': 500, 70}); 71 // US settings 72gtag('consent', 'default', { 73 'ad_personalization': 'granted', 74 'ad_storage': 'granted', 75 'ad_user_data': 'granted', 76 'analytics_storage': 'granted', 77 'functionality_storage': 'granted', 78 'personalization_storage': 'granted', 79 'security_storage': 'granted', 80 'region': [ 81 'US' 82 ], 83 'wait_for_update': 500, 84}); 85gtag('set', 'ads_data_redaction', true); 86gtag('set', 'url_passthrough', true); 87</script>
87 88<!-- End Google Consent Mode--> 89 90 <!-- Google Tag Manager --> 91
91<script data-cookieconsent="ignore">
vendor: 329 bytes, lines 91-92
91(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 92 })(window,document,'script','dataLayer','
92GTM-NSNSKFX
vendor: 3 bytes, line 92
92');
92</script>
92 93 <!-- End Google Tag Manager --> 94 95 <!-- Cookiebot CMP--> 96
96<script id="Cookiebot" src="https://cdn.hireez.com/cookiebot/2.97.0-ez/uc.js" data-cbid="32d07ffb-a131-48b4-8506-c3867b8aa503" data-blockingmode="auto" data-georegions="{'region':'US','cbid':'af7a9454-e7f5-4d82-8727-8eace88df2a2'}" type="text/javascript"></script>
96 97 <!-- End Cookiebot CMP --> 98<!-- cookiebot --> 99
100<script data-cookieconsent="ignore"> 101 function syncCookiebotConsentToGoogle() { 102 if (typeof gtag !== 'function' || !window.Cookiebot || !Cookiebot.consent) return; 103 var c = Cookiebot.consent; 104 gtag('consent', 'update', { 105 'ad_personalization': c.marketing ? 'granted' : 'denied', 106 'ad_storage': c.marketing ? 'granted' : 'denied', 107 'ad_user_data': c.marketing ? 'granted' : 'denied', 108 'analytics_storage': c.statistics ? 'granted' : 'denied', 109 'functionality_storage': c.preferences ? 'granted' : 'denied', 110 'personalization_storage': c.preferences ? 'granted' : 'denied' 111 }); 112 window.dataLayer = window.dataLayer || []; 113 window.dataLayer.push({'event': 'cookie_consent_update'}); 114 } 115 window.addEventListener('CookiebotOnAccept', function () { 116 console.log('CookiebotOnAccept'); 117 syncCookiebotConsentToGoogle(); 118 }); 119 window.addEventListener('CookiebotOnDecline', function () { 120 console.log('CookiebotOnDecline'); 121 syncCookiebotConsentToGoogle(); 122 }); 123 window.addEventListener('CookiebotOnConsentReady', function () { 124 console.log('CookiebotOnConsentReady'); 125 syncCookiebotConsentToGoogle(); 126 }); 127</script>
127 128 <style> 129 /* cy cookiebot style inital */ 130 131 #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonAccept, #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonAccept, #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll{background-color: #000!important;} 132 /* cy cookiebot style inital end */ 133 </style> 134<style id="NotCaCookieStyle"> 135 /* cookiebot style start */ 136 div#CybotCookiebotDialog { position: fixed; bottom: 30px; top: initial; transform: none; left: 0; right: 0; max-width: none; width: 100%; display: flex; align-items: center; justify-content: center; background-color: transparent; box-shadow: none; overflow: initial; display: none } div#CybotCookiebotDialog.CybotCookiebotDialogActive.show { display: flex !important } @media (max-width:1260px) { div#CybotCookiebotDialog { bottom: 0 } } div#CybotCookiebotDialog * { letter-spacing: 0 } div#CybotCookiebotDialog[data-template=popup] { transform: none; top: initial } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper { flex-direction: row; align-items: center; justify-content: space-between; max-width: 1260px; background-color: #fff; border-radius: 12px; box-shadow: 0 12px 48px 0 rgba(7, 7, 7, .15); padding: 19px 30px; box-sizing: border-box; gap: 1.88rem; } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogBodyContentTitle, div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogHeader, div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogNav { display: none } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent #CybotCookiebotDialogBody { max-width: 721px } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent #CybotCookiebotDialogBody .CybotCookiebotScrollContainer { padding: 0; border-bottom: 0 } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent #CybotCookiebotDialogBody .CybotCookiebotScrollContainer #CybotCookiebotDialogBodyContent { padding: 0 } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent #CybotCookiebotDialogBody .CybotCookiebotScrollContainer #CybotCookiebotDialogBodyContent #CybotCookiebotDialogBodyContentText { color: #475467; font-family: Manrope; font-size: 16px; font-style: normal; font-weight: 400; line-height: normal } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent #CybotCookiebotDialogBody .CybotCookiebotScrollContainer #CybotCookiebotDialogBodyContent #CybotCookiebotDialogBodyContentText * { font: inherit; color: inherit } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent #CybotCookiebotDialogBody .CybotCookiebotScrollContainer #CybotCookiebotDialogBodyContent #CybotCookiebotDialogBodyContentText a { font-weight: 800; color: #356eff; text-decoration: 1px underline #356eff } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter { width: auto; padding: 0; min-width: 443px; --btnPadding: 7px 20px 9px; --btnFontfamily: 'Poppins'; --btnFontSize: 14px; --btnFontWeight: 400 } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogPoweredByText { display: none } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonsWrapper { display: flex; gap: 12px } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonDecline, div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize, div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection { color: #000; text-align: center; font-family: var(--btnFontfamily); font-size: var(--btnFontSize); font-style: normal; font-weight: var(--btnFontWeight); line-height: normal; padding: var(--btnPadding); border-radius: 6.956px; border: 1px solid #000; margin: 0; width: auto; height: 40px } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonDecline .CybotCookiebotDialogArrow, div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize .CybotCookiebotDialogArrow, div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection .CybotCookiebotDialogArrow { display: none } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll { width: auto; height: 40px; padding: var(--btnPadding); border-radius: 6.956px; background: #000; color: var(--bg-white, #fff); text-align: center; font-family: var(--btnFontfamily); font-size: var(--btnFontSize); font-style: normal; font-weight: var(--btnFontWeight); line-height: normal; border: none } div#CybotCookiebotDialog.customize-type { bottom: 10vh } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper { box-shadow: 0 12px 48px 0 rgba(7, 7, 7, .15); flex-direction: column; max-width: 640px; max-height: 80vh; padding: 0; gap: 0 } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent { padding: 30px 30px 0 } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .customize-type-box1 { display: flex; flex-direction: column; gap: 20px } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .customize-type-box1 .box-title { color: var(--Gray-900, #101828); font-family: "Cal Sans"; font-size: 24px; font-style: normal; font-weight: 600; line-height: normal } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .customize-type-box1 .box-desc { color: var(--Gray-600, #475467); font-family: Manrope; font-size: 16px; font-style: normal; font-weight: 400; line-height: normal } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer { padding: 0 } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard { padding: 40px 0 } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogBodyLevelButtonSlider { opacity: 1; background-color: #d9d9d9 } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard input:checked+.CybotCookiebotDialogBodyLevelButtonSlider { background-color: #bae5f1; border: 1px solid #19a7ce; background: rgba(25, 167, 206, .3); box-sizing: border-box } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard input:checked+.CybotCookiebotDialogBodyLevelButtonSlider::before { background-color: #19a7ce; bottom: 3px;
136 transform: translateX(25px) } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard #CybotCookiebotDialogDetailBodyContentCookieContainerNecessaryCard .CybotCookiebotDialogBodyLevelButtonSliderWrapper { position: relative } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard #CybotCookiebotDialogDetailBodyContentCookieContainerNecessaryCard .CybotCookiebotDialogBodyLevelButtonSliderWrapper::before { position: absolute; content: 'Always Active'; top: 0; right: 0; white-space: nowrap; color: #19a7ce; font-family: Manrope; font-size: 20px; font-weight: 400 } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard #CybotCookiebotDialogDetailBodyContentCookieContainerNecessaryCard .CybotCookiebotDialogBodyLevelButtonSliderWrapper form { display: none } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieContainerButton::before, div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentIABv2Tab::before { content: ""; transform: none; border: 0; height: 100%; top: 13px; border-top: 2px solid #101828; font-size: 24px; font-weight: 400; margin-right: 10px; font-family: Manrope; color: inherit; line-height: 1; width: 16px } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieContainerButton.CybotCookiebotDialogCollapsed::before, div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentIABv2Tab.CybotCookiebotDialogCollapsed::before { content: "+"; transform: none; border: 0; height: 100%; top: -3px; font-size: 32px; font-weight: 400; margin-right: 10px; color: #101828; line-height: 1; width: 16px } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieTypeIntro { color: var(--Gray-600, #475467); font-family: Manrope; font-size: 16px; font-style: normal; font-weight: 400; line-height: normal } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieInfoTitle { color: #101828; font-family: Manrope; font-size: 18px; font-style: normal; font-weight: 600; line-height: normal } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieInfoDescription { color: #475467; font-family: Manrope; font-size: 16px; font-style: normal; font-weight: 400; line-height: normal } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieInfoFooterContent { display: block; width: 100%; color: #475467 } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieInfoFooterContent b { color: #101828 } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieTypeIntro { padding-left: 0 } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieTypeTableContainer { margin: 20px 0 0; padding: 0 } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieTypeTableContainer .CybotCookiebotDialogDetailBodyContentCookieTabContent { border: 1px solid rgba(0, 0, 0, .3); border-radius: 12px; overflow: hidden } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieTypeTableContainer .CybotCookiebotDialogDetailBodyContentCookieTabContent .CybotCookiebotDialogDetailBodyContentCookieGroup { margin: 0; border: 0; background: 0 0; border-radius: 0; padding: 22px 0 } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieTypeTableContainer .CybotCookiebotDialogDetailBodyContentCookieTabContent .CybotCookiebotDialogDetailBodyContentCookieGroup.open { padding-bottom: 0 } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieTypeTableContainer .CybotCookiebotDialogDetailBodyContentCookieTabContent .CybotCookiebotDialogDetailBodyContentCookieGroup>* { padding: 0 20px } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieTypeTableContainer .CybotCookiebotDialogDetailBodyContentCookieTabContent .CybotCookiebotDialogDetailBodyContentCookieGroup:nth-child(n+2) { border-top: 1px solid rgba(0, 0, 0, .3) } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieTypeTableContainer .CybotCookiebotDialogDetailBodyContentCookieTabContent .CybotCookiebotDialogDetailBodyContentCookieGroup .CybotCookiebotDialogDetailBodyContentCookieLink { color: #475467; font-family: Manrope; font-size: 16px; font-style: normal; font-weight: 400; line-height: normal; text-decoration-line: underline !important; margin-top: 12.5px } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieTypeTableContainer .CybotCookiebotDialogDetailBodyContentCookieTabContent .CybotCookiebotDialogDetailBodyContentCookieGroup .CybotCookiebotDialogDetailBodyContentCookieLink .CybotExternalLinkArrow { opacity: .7; width: 16px; height: 16px } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieTypeTableContainer .CybotCookiebotDialogDetailBodyContentCookieTabContent .CybotCookiebotDialogDetailBodyContentCookieGroup .CybotCookiebotDialogDetailBodyContentCookieInfo.CybotCookiebotDialogShow { border-radius: 0; border: 0; border-top: 1px solid rgba(171, 171, 171, .15); margin: 0; padding: 20px } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieTypeTableContainer .CybotCookiebotDialogDetailBodyContentCookieTabContent .CybotCookiebotDialogDetailBodyContentCookieGroup .CybotCookiebotDialogDetailBodyContentCookieInfo.CybotCookiebotDialogShow::before { display: none } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieTypeTableContainer .CybotCookiebotDialogDetailBodyContentCookieTabContent .CybotCookiebotDialogDetailBodyContentCookieGroup .CybotCookiebotDialogDetailBodyContentCookieInfo.CybotCookiebotDialogShow:first-of-type { margin-top: 20px } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard #CybotCookiebotDialogDetailBodyContentCookieContainerUnclassified, div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieContainerButton label, div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CookieCard .CybotCookiebotDialogDetailBodyContentCookieProvider { color: var(--Gray-900, #101828); font-family: Manrope; font-size: 20px; font-style: normal; font-weight: 600; line-height: normal } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer #CybotCookiebotDialogDetailBodyContentCookieContainerTypes { padding: 0 } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer .CybotCookiebotScrollbarContainer { display: none } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer #CybotCookiebotDialogDetailBody #CybotCookiebotDialogDetailBulkConsent { margin: 0 0 20px } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer #CybotCookiebotDialogDetailBody #CybotCookiebotDialogDetailBulkConsent::before { display: none } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer #CybotCookiebotDialogDetailBody #CybotCookiebotDialogDetailBulkConsent a { color: #468bda } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer #CybotCookiebotDialogDetailBody .CybotCookiebotDialogDetailBodyContentCookieInfoCount, div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer #CybotCookiebotDialogDetailBody .CybotCookiebotDialogDetailBulkConsentCount { padding: 0 12px; color: #7d7d7d; font-feature-settings: 'clig' off, 'liga' off; font-family: Manrope; font-size: 16px; font-style: normal; font-weight: 600; line-height: normal; text-transform: capitalize; background-color: #eaeaea } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer #CybotCookiebotDialogDetailBody .CybotCookiebotDialogDetailBodyContentCookieProvider::after { border-width: 1px; border-left: 0; border-bottom: 0 } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent #CybotCookiebotDialogDetailFooter { display: none } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent .CybotCookiebotFader { display: none } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter { width: 100%; max-width: none; padding: 30px 30px 30px; box-shadow: 0 12px 48px rgba(7, 7, 7, .15); border-top: 1px solid rgba(0, 0, 0, .3) } div#CybotCookiebotDialog.customize-type .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonsWrapper { justify-content: center } #CookiebotWidget { display: block !important; } @media (max-width:1080px) { #CybotCookiebotDialogBody .CybotCookiebotScrollContainer{ max-height: none; } .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonsWrapper{ margin-bottom: 1rem; flex-direction: column; } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogTabContent #CybotCookiebotDialogBody .CybotCookiebotScrollContainer #CybotCookiebotDialogBodyContent #CybotCookiebotDialogBodyContentText{ font-size: 1rem; } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll, div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonDecline, div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize, div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection{ font-size: 1rem; height: auto; } div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper{ flex-direction: column; padding: 1rem; } } 137 /* end cookie */ 138 </style> 139 <!-- cookie bot for california --> 140 <!-- cookie bot for california --> 141
141<script> 142 window.addEventListener('load', function () { 143 const cybotCookiebotDialogEle = document.getElementById("CybotCookiebotDialog"); 144 if(cybotCookiebotDialogEle){ 145 cybotCookiebotDialogEle.classList.add('show') 146 } 147 const script = document.getElementById('Cookiebot'); 148 const cybotCookiebotDialogBodyButtonDeclineEle = document.getElementById('CybotCookiebotDialogBodyButtonDecline') 149 if(cybotCookiebotDialogBodyButtonDeclineEle && cybotCookiebotDialogBodyButtonDeclineEle.classList.contains('CybotCookiebotDialogHide')) { 150 const cybotCookiebotDialog = document.getElementById('CybotCookiebotDialog'); 151 if (cybotCookiebotDialog) { 152 cybotCookiebotDialog.style.display = 'flex!important'; 153 } 154 return 155 } else { // California 156 let styleCa = document.createElement('style'); 157 styleCa.id = "CookieStyleCa"; 158 styleCa.innerHTML = `#CookiebotWidget { display: block !important; } div#CybotCookiebotDialog *{font-family: Poppins, arial, sans-serif;}div#CybotCookiebotDialog{display:flex;color:#000;display:none;opacity:1;width:100%;height:200px;background:transparent;position:fixed;z-index:10000000;top:initial!important;left:0!important;bottom:0;max-width:100%;max-height:100%;transition:none;transform:translateX(0);transform:translate(0,0)!important;align-items:center;--botBtnColor:#ffc021;box-shadow:none;}div#CybotCookiebotDialog.showdetail{height:600px;}div#CybotCookiebotDialogTabContent{width:60%}div#CybotCookiebotDialog #CybotCookiebotDialogHeader,div#CybotCookiebotDialog #CybotCookiebotDialogNav,div#CybotCookiebotDialog #CybotCookiebotDialogPoweredByText,div#CybotCookiebotDialog .CybotCookiebotFader{display:none}div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper{width:100%;max-height:90%;min-width:500px;max-width:1260px;background:#fff;border-radius:8px;margin:0 auto;padding:20px 30px 20px;position: fixed;left: 50%;transform: translateX(-50%);bottom: 30px;box-shadow: 0 22px 28px rgba(0, 0, 0, .3);flex-direction: row;}div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper .CybotCookiebotScrollContainer{border-bottom:0;padding:0;min-height:0}div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper .CybotCookiebotScrollContainer #CybotCookiebotDialogBodyContent{padding:0}div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper .CybotCookiebotScrollContainer #CybotCookiebotDialogBodyContentTitle{margin-bottom:15px;font-family:Poppins, arial, sans-serif;font-style:normal;font-weight:600;font-size:20px;line-height:29px;text-transform:capitalize;color:#000}div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper .CybotCookiebotScrollContainer #CybotCookiebotDialogBodyContentText{font-family:Poppins, arial, sans-serif;font-style:normal;font-weight:400;font-size:16px;line-height:22px;color:#4e4e57}div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper .CybotCookiebotScrollContainer #CybotCookiebotDialogBodyContentText *{font:inherit;color:inherit}div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper .CybotCookiebotScrollContainer #CybotCookiebotDialogBodyContentText a{text-decoration:1px underline solid!important}div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper #CybotCookiebotDialogFooter{padding:0}div#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper{display:flex;justify-content:flex-end;flex-direction:row;column-gap:30px;margin-top:5px}@media (max-width:750px){div#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper{flex-direction:column-reverse}}div#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper #CybotCookiebotDialogBodyButtonAccept,div#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll{flex:1;border-radius:8px;height:56px;font-family:Poppins, arial, sans-serif;font-style:normal;font-weight:500;font-size:14px;line-height:16px;text-transform:capitalize;color:#fff;background-color:#000;padding:0;min-height:40px;width:initial}div#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper #CybotCookiebotDialogBodyButtonDecline,div#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper #CybotCookiebotDialogBodyLevelButtonCustomize,div#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection{flex:1;border:none;font-family:Poppins, arial, sans-serif;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:#4e4e57;margin:0;min-height:40px;padding:0}div#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper #CybotCookiebotDialogBodyButtonDecline .CybotCookiebotDialogArrow,div#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper #CybotCookiebotDialogBodyLevelButtonCustomize .CybotCookiebotDialogArrow,div#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection .CybotCookiebotDialogArrow{display:none}.californiaCookieName #CybotCookiebotDialogBodyButtonsWrapper{flex-direction:initial!important;flex-wrap:wrap!important}.californiaCookieName #CybotCookiebotDialogBodyButtonDecline{width:100%;height:40px!important;order:3;font-size:12px!important;color:#7d7d7d!important;min-height:initial!important;height:initial!important;margin-top:20px!important;text-decoration-line:underline!important}.californiaCookieName #CybotCookiebotDialogBodyLevelButtonCustomize{order:1;display:block!important;width:46%!important;height:40px!important;flex:initial!important;color:#000!important;font-size:14px!important;margin:0 auto!important;border-radius:8px!important;border:1px solid #00154d!important;min-height:56px}.californiaCookieName #CybotCookiebotDialogBodyButtonAccept{order:2;height:40px!important;flex:initial!important;width:46%!important}.californiaCookieName #CybotCookiebotDialogNav .CybotCookiebotDialogNavItems{display:none!important}.californiaCookieName #CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive{color:green!important}.californiaCookieName .CybotCookiebotDialogDetailBodyContentCookieLink{color:#4e4e57!important;font-size:16px!important;font-weight:400!important;text-decoration-line:underline!important}.californiaCookieName #CybotCookiebotDialogDetailBodyContentCookieContainerTypes{padding:0!important}.californiaCookieName #CybotCookiebotDialogDetailBodyContentCookieContainerTypes .CybotCookiebotDialogDetailBodyContentCookieInfo{border-radius:4px;background:#f0f0f0;border:none}.californiaCookieName .CybotCookiebotScrollContainer.CybotCookiebotDialogActive{border:1px solid #b2b2b2;border-bottom:1px solid #d6d6d6!important}.californiaCookieName #CybotCookiebotDialogTabContent .CybotCookiebotDialogDetailBulkConsentCount{height:24px;line-height:24px;padding:0 10px;color:#7d7d7d;font-size:16px;border-radius:12px;background:#eaeaea}.californiaCookieName #CybotCookiebotDialogDetailBodyContentCookieContainer{display:flex;align-items:initial}.californiaCookieName#CybotCookiebotDialog .CookieCard{padding-bottom:0;padding:0 10px 30px!important;min-height:500px;margin-bottom:0!important;border-bottom:1px solid #b2b2b2!important}.californiaCookieName .cookie-tabs-wrap{width:183px;flex:none;margin-right:20px;border-right:1px solid #b2b2b2;min-height:500px;border-bottom:1px solid #b2b2b2}.californiaCookieName .cookie-tabs-wrap>li{height:56px;line-height:56px;border-bottom:1px solid #b2b2b2;background:#eaeaea!important;padding:0 20px!important;cursor:pointer}.californiaCookieName .cookie-tabs-wrap>li.active{background-color:#fff!important;position:relative}.californiaCookieName .cookie-tabs-wrap>li.active::before{content:"";position:absolute;
158left:0;top:0;width:3px;height:100%;background-color:#000;z-index:5}.californiaCookieName .cookie-tabs-wrap>li.active::after{content:"";position:absolute;right:-1px;top:0;width:1px;height:100%;background-color:#fff;z-index:5}.californiaCookieName#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper .hide{display:none!important}.californiaCookieName#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper .show{display:block!important}.californiaCookieName #CybotCookiebotDialogDetailBulkConsent{margin-top:30px}.customize-type-box1{margin-bottom: 15px !important;}.customize-type-box1 .box-title{font-weight: 600;font-size: 20px !important;line-height: 29px;text-transform: capitalize; color: #000;} @media screen and (min-width:1280px){.californiaCookieName #CybotCookiebotDialogDetailBodyContentCookieContainerTypes .CybotCookiebotDialogDetailBodyContentCookieTypeTableContainer{margin-left:1em!important}.californiaCookieName#CybotCookiebotDialog .CookieCard .CybotCookiebotDialogDetailBodyContentCookieTypeIntro{padding-left:1em!important} } @media (max-width:1260px) { div#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper { bottom: 0 } }#CybotCookiebotDialogFooter{width:40%!important;} .showdetail div#CybotCookiebotDialogTabContent{width:100%!important} .showdetail #CybotCookiebotDialogFooter{width:100%!important;} .showdetail .CybotCookiebotDialogContentWrapper{flex-direction: column!important;}@media (max-width:1080px) {.CybotCookiebotDialogContentWrapper{flex-direction: column!important;}#CybotCookiebotDialogFooter{width:100%!important;} div#CybotCookiebotDialogTabContent{width:100%!important;}div#CybotCookiebotDialog.showdetail{height:75%;} div#CybotCookiebotDialog{height: 270px!important;}}`; 159 document.body.append(styleCa); 160 document.getElementById('NotCaCookieStyle').remove(); 161 if(cybotCookiebotDialogEle){ 162 cybotCookiebotDialogEle.classList.add('californiaCookieName') 163 } 164 // modify btn text 165 const cybotCookiebotDialogBodyLevelButtonCustomizeBtn = document.getElementById('CybotCookiebotDialogBodyLevelButtonCustomize') 166 if(cybotCookiebotDialogBodyLevelButtonCustomizeBtn){ 167 cybotCookiebotDialogBodyLevelButtonCustomizeBtn.innerText = 'Check Details'; 168 } 169 //add customize tabs 170 const cookieContainerHeaderElements = document.getElementsByClassName("CybotCookiebotDialogDetailBodyContentCookieContainerHeader"); 171 172 for (let i = 0; i < cookieContainerHeaderElements.length; i++) { 173 cookieContainerHeaderElements[i].style.display = "none"; 174 } 175 176 var tabHtml = `<ul class="cookie-tabs-wrap"> 177 <li class="cookie-tabs-item">Necessary</li> 178 <li class="cookie-tabs-item">Preferences</li> 179 <li class="cookie-tabs-item">Statistics</li> 180 <li class="cookie-tabs-item">Marketing</li> 181 <li class="cookie-tabs-item">Unclassfied</li> 182 </ul>` 183 184 const cybotCookiebotDialogDetailBodyContentCookieContainer= document.getElementById('CybotCookiebotDialogDetailBodyContentCookieContainer') 185 if(cybotCookiebotDialogDetailBodyContentCookieContainer){ 186 cybotCookiebotDialogDetailBodyContentCookieContainer.insertAdjacentHTML('afterbegin', tabHtml); 187 } 188 const cookieCardEle = document.getElementsByClassName("CookieCard"); 189 190 for (let i = 0; i < cookieCardEle.length; i++) { 191 cookieCardEle[i].style.display = "none"; 192 } 193 const tabButtons = document.querySelectorAll('.cookie-tabs-wrap .cookie-tabs-item'); 194 const tabBtnArray = Array.from(tabButtons); 195 tabBtnArray.forEach(button => { 196 button.addEventListener("click",function(){ 197 const index = [...tabButtons].indexOf(this); 198 // add active 199 tabButtons.forEach(btn => { 200 btn.classList.remove('active'); 201 }); 202 this.classList.add('active'); 203 204 // show current card 205 const cards = document.querySelectorAll('.CookieCard'); 206 cards.forEach(card => { 207 card.style.display = 'none'; 208 }); 209 cards[index].style.display = 'block'; 210 211 // update current card classname 212 const activeCard = cards[index]; 213 activeCard.querySelector('.CollapseCard').classList.remove('CybotCookiebotDialogHide'); 214 215 activeCard.querySelector('.CybotCookiebotDialogDetailBodyContentCookieTypeIntro').classList.remove('CybotCookiebotDialogHide'); 216 217 // update other cards classname 218 cards.forEach((card, i) => { 219 if (i !== index) { 220 const collapseCard = card.querySelector('.CollapseCard'); 221 const cookieIntro = card.querySelector('.CybotCookiebotDialogDetailBodyContentCookieTypeIntro'); 222 223 if (collapseCard) { 224 collapseCard.classList.add('CybotCookiebotDialogHide'); 225 } 226 227 if (cookieIntro) { 228 cookieIntro.classList.add('CybotCookiebotDialogHide'); 229 } 230 231 } 232 }) 233 }) 234 }) 235 // trigger first tab click 236 const firstTab = document.querySelector('.cookie-tabs-wrap .cookie-tabs-item'); 237 if(firstTab){ 238 firstTab.click(); 239 } 240 241 // click details 242 const cybotCookiebotDialogBodyLevelButtonCustomizeEle = document.getElementById("CybotCookiebotDialogBodyLevelButtonCustomize"); 243 if(cybotCookiebotDialogBodyLevelButtonCustomizeEle){ 244 cybotCookiebotDialogBodyLevelButtonCustomizeEle.addEventListener('click', function () { 245 var backHtml = '<div id="CybotCookiebotDialogBackButton" style="font-size: 16px;color:#000;font-weight: 600;cursor: pointer;">< Back</div>' 246 const customizeBtn = document.getElementById('CybotCookiebotDialogBodyLevelButtonCustomize'); 247 const declineBtn = document.getElementById('CybotCookiebotDialogBodyButtonDecline'); 248 const backBtn = document.getElementById('CybotCookiebotDialogBackButton'); 249 const buttonsWrapper = document.getElementById('CybotCookiebotDialogBodyButtonsWrapper'); 250 251 const cybotCookiebotDialog = document.getElementById('CybotCookiebotDialog'); 252 if (cybotCookiebotDialog) { 253 cybotCookiebotDialog.classList.add('showdetail'); 254 } 255 256 customizeBtn.classList.add('hide'); 257 258 declineBtn.style.display = 'none'; 259 260 if (!backBtn) { 261 buttonsWrapper.insertAdjacentHTML('afterbegin', backHtml); 262 } 263 document.getElementById('CybotCookiebotDialogBodyButtonsWrapper').style.justifyContent = 'space-between'; 264 document.getElementById('CybotCookiebotDialogBodyButtonsWrapper').style.flexWrap = 'wrap'; 265 document.getElementById('CybotCookiebotDialogBodyButtonsWrapper').style.alignItems = 'center'; 266 }) 267 } 268 // click back 269 const customizeBtn = document.getElementById('CybotCookiebotDialogBodyLevelButtonCustomize'); 270 const declineBtn = document.getElementById('CybotCookiebotDialogBodyButtonDecline'); 271 const backBtn1 = document.getElementById('CybotCookiebotDialogBackButton'); 272 const dialogBody = document.getElementById('CybotCookiebotDialogBody'); 273 const scrollContainers = document.querySelectorAll('#CybotCookiebotDialogBody .CybotCookiebotScrollContainer'); 274 const tabContainers = document.querySelectorAll('#CybotCookiebotDialogTabContent .CybotCookiebotScrollContainer'); 275 276 document.addEventListener('click', (e) => { 277 if(e.target.id === 'CybotCookiebotDialogBackButton') { 278 if(customizeBtn){ 279 customizeBtn.classList.remove('hide'); 280 } 281 if(dialogBody){ 282 dialogBody.classList.remove('CybotCookiebotDialogHide'); 283 } 284 285 const cybotCookiebotDialog = document.getElementById('CybotCookiebotDialog'); 286 if (cybotCookiebotDialog) { 287 cybotCookiebotDialog.classList.remove('showdetail'); 288 } 289 290 declineBtn.style.display = '';
291 scrollContainers.forEach(item => { 292 item.classList.remove('CybotCookiebotDialogHide'); 293 }); 294 295 if(tabContainers){ 296 tabContainers[1].classList.remove('CybotCookiebotDialogActive'); 297 tabContainers[1].classList.add('CybotCookiebotDialogHide'); 298 } 299 300 const customizeTypeBox = document.querySelector('.customize-type-box1'); 301 if (customizeTypeBox) { 302 customizeTypeBox.remove(); 303 } 304 305 document.getElementById('CybotCookiebotDialogBackButton').remove(); 306 307 } 308 }) 309 } 310 }) 311 </script>
311 312 <!-- end cookie bot for california --> 313
313<script> 314 let cookieLoadMoreInitialized = false; 315 316 function listenCookiebotLoad () { 317 if ( document.getElementById('CybotCookiebotDialog') ) { 318 document.getElementById('CybotCookiebotDialog').classList.add('show'); 319 320 if (!cookieLoadMoreInitialized) { 321 addCookieLoadMore(); 322 cookieLoadMoreInitialized = true; 323 } 324 325 } else { 326 setTimeout(() => { 327 listenCookiebotLoad(); 328 }, 100); 329 } 330 } 331 332 function addCookieLoadMore() { 333 const customizeBtn = document.getElementById('CybotCookiebotDialogBodyLevelButtonCustomize'); 334 if (!customizeBtn) return; 335 336 if (customizeBtn.dataset.cookieLoadMoreAttached) return; 337 338 customizeBtn.onclick = function() { 339 document.querySelector('#CybotCookiebotDialog').classList.add('customize-type'); 340 341 const existingBox = document.querySelector('.customize-type-box1'); 342 if (!existingBox) { 343 let s = document.createElement('div'); 344 s.classList.add('customize-type-box1'); 345 s.innerHTML = ` 346 <div class="box-title">Cookies & Similar Technology</div> 347 <div class="box-desc">This website uses cookies to make the website work properly and to provide the most relevant products and services for our customers and site visitors. For more information, please check our <a href="https://app.hireez.com/policies/cookiepolicy" target="_blank" style="">Cookie Policy</a>.</div> 348 `; 349 document.querySelector('#CybotCookiebotDialogTabContent').prepend(s); 350 } 351 } 352 353 customizeBtn.dataset.cookieLoadMoreAttached = 'true'; 354 } 355 listenCookiebotLoad(); 356 357 window.addEventListener('CookiebotOnDialogInit', function() { 358 setTimeout(() => { 359 listenCookiebotLoad(); 360 }, 100); 361 }) 362 </script>
362 363 <!-- end cookiebot -->
364<script src="https://hireez.com/wp-content/uploads/LP/common/headtop.js"></script>
364 365<link rel="stylesheet" type="text/css" href="https://hireez.com/wp-content/uploads/fontfiles/hireezfont.css"> 366<link href="https://fonts.googleapis.com/css2?family=Inter:[email protected]&family=Manrope:[email protected]&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet"> 367<!-- End Font File-->
368<script src="https://explore.hireez.com/hubfs/marked.min.js"></script>
vendor: 1 bytes, line 368
368
369<script src="https://hireez.com/wp-content/uploads/hireEZ.jQuery.js"></script>
vendor: 1 bytes, line 369
369
370<script src="https://hireez.com/wp-content/uploads/LP/common/lp-index.js?v0920"></script>
370 371<link rel="stylesheet" type="text/css" href="https://hireez.com/wp-content/uploads/LP/common/lp-index.css?v0920"> 372 373<!-- viewport -->
374<script> 375 window.$ = jQuery; 376 if (window.screen.width <= 750) { 377 const scale = window.screen.width / 750; 378 document.querySelector('meta[name="viewport"]').setAttribute('content', `width=device-width,initial-scale=${scale},maximum-scale=${scale},user-scalable=no`); 379 } 380</script>
380 381<!-- End viewport --> 382<meta property="og:url" content="https://explore.hireez.com/contact-sales"> 383<meta name="twitter:card" content="summary"> 384<meta http-equiv="content-language" content="en"> 385 386 387 388 389 390<!-- OpenAI Ads pixel (ChatGPT Ads) -->
391<script type="text/plain" data-cookieconsent="marketing"> 392(function(w,d,s,u){if(w.oaiq)return;var q=function(){q.q.push(arguments);};q.q=[];w.oaiq=q;var js=d.createElement(s);js.async=true;js.src=u;var f=d.getElementsByTagName(s)[0];f.parentNode.insertBefore(js,f);})(window,document,"script","https://bzrcdn.openai.com/sdk/oaiq.min.js"); 393oaiq("init",{pixelId:"Q2SnFoqw3G9PsP2d5ayQfh"}); 394</script>
394 395<!-- OpenAI Ads: Demo Request Form Submit conversion (fires lead_created on HubSpot form 638f7100 success) -->
396<script type="text/plain" data-cookieconsent="marketing"> 397window.addEventListener("message",function(e){if(e.data&&e.data.type==="hsFormCallback"&&e.data.eventName==="onFormSubmitted"&&e.data.id==="638f7100-104f-49d9-9ae1-0b9948e1797b"&&window.oaiq){oaiq("measure","lead_created",{type:"customer_action"},{event_id:"demo_"+Date.now()+"_"+Math.floor(Math.random()*1e6)});}}); 398</script>
398 399 400 401 402 <meta name="generator" content="HubSpot"></head> 403 404 <body data-cc-id="cc-1" style=" background-color: rgb(255, 255, 255);"> 405 406 <!-- Google Tag Manager (noscript) -->
vendor: 81 bytes, lines 406-408
406 407 <noscript> 408 <iframe src="https://www.googletagmanager.com/ns.html?id=
408GTM-NSNSKFX
vendor: 92 bytes, lines 408-410
408" height="0" width="0" style="display:none;visibility:hidden"></iframe> 409 </noscript> 410
410<!-- End Google Tag Manager (noscript) --> 411 <div id="hiretual-banner"></div> 412 <div id="hiretual-nav"></div> 413 414 415<style> 416 :root { 417 /* hireEZ homepage palette â light, soft, gradient accents */ 418 --ink: #3c3c3c; 419 /* near-black navy for body text */ 420 --ink-2: #2D3142; 421 --ink-3: #5B6073; 422 /* secondary copy */ 423 --ink-4: #8A90A4; 424 /* tertiary / monospace */ 425 426 --paper: #FFFFFF; 427 --paper-2: #FAFAFC; 428 /* very subtle panel */ 429 --paper-3: #F4F5F9; 430 /* slightly deeper panel */ 431 432 --rule: rgba(26, 29, 46, 0.08); 433 --rule-2: rgba(26, 29, 46, 0.14); 434 435 /* Signature hireEZ gradient: coral â pink â purple â blue */ 436 --g-coral: #FF7A7A; 437 --g-pink: #E86AA8; 438 --g-purple: #9B6FE0; 439 --g-blue: #6CB6F0; 440 441 --grad-text: linear-gradient(90deg, #79A9F0 2.06%, #CD7EA6 31.52%, #E7A66F 68.26%); 442 --grad-soft: linear-gradient(120deg, #FFE4E1 0%, #FCE0EE 25%, #EBE0F9 55%, #DEEBFB 85%, #FFF4E0 100%); 443 --grad-vert: linear-gradient(90deg, #FFF 0%, #FFF3D6 40%, #FFDBDB 75%, #FFCAFB 100%); 444 445 /* hireEZ logo yellow (EZ wordmark only) */ 446 --ez-yellow: #F5A623; 447 448 /* Ambient hero blobs */ 449 --blob-peach: #FFE4DC; 450 --blob-pink: #FBD9EA; 451 --blob-lav: #E8DCFB; 452 --blob-sky: #DCEAFB; 453 454 --mono: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif; 455 --display: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif; 456 --body: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif; 457 } 458 459 * { 460 box-sizing: border-box; 461 margin: 0; 462 padding: 0; 463 } 464 465 html { 466 scroll-behavior: smooth; 467 } 468 469 body { 470 background: var(--paper); 471 color: var(--ink); 472 font-family: var(--body); 473 font-size: 16px; 474 line-height: 1.55; 475 font-feature-settings: "ss01"; 476 -webkit-font-smoothing: antialiased; 477 overflow-x: hidden; 478 } 479.ticker-wrap { 480 background: #fff; 481 border-top: 1px solid var(--rule); 482 border-bottom: 1px solid var(--rule); 483 padding: 28px 0; 484 overflow: hidden; 485 position: relative; 486} 487 /* Utility â gradient text */ 488 .grad-text { 489 background: var(--grad-text); 490 -webkit-background-clip: text; 491 background-clip: text; 492 -webkit-text-fill-color: transparent; 493 color: transparent; 494 } 495 .hero { 496 position: relative; 497 padding: 100px 32px 120px; 498 overflow: hidden; 499 /* background: var(--grad-vert); */ 500 } 501 502 .hero .bg { 503 position: absolute; 504 left: 0; 505 top: 0; 506 width: 100%; 507 pointer-events: none; 508 z-index: 0; 509 } 510 511 .hero-inner { 512 max-width: 1280px; 513 margin: 0 auto; 514 position: relative; 515 z-index: 2; 516 display: grid; 517 grid-template-columns: 1.15fr 1fr; 518 gap: 56px; 519 align-items: start; 520 } 521 522 .hero[data-layout="centered"] .hero-inner { 523 grid-template-columns: 1fr; 524 max-width: 900px; 525 text-align: center; 526 } 527 /* ========== ANNOUNCEMENT BAR ========== */ 528 .announce { 529 background: var(--paper-3); 530 color: var(--ink-3); 531 padding: 10px 32px; 532 font-family: var(--mono); 533 font-size: 11px; 534 letter-spacing: 0.08em; 535 text-transform: uppercase; 536 text-align: center; 537 border-bottom: 1px solid var(--rule); 538 position: relative; 539 } 540 541 .announce-dot { 542 display: inline-block; 543 width: 6px; 544 height: 6px; 545 border-radius: 50%; 546 background: linear-gradient(90deg, var(--g-pink), var(--g-purple)); 547 margin-right: 10px; 548 vertical-align: middle; 549 animation: pulse 2s infinite; 550 } 551 552 @keyframes pulse { 553 0% { 554 box-shadow: 0 0 0 0 rgba(155, 111, 224, 0.5); 555 } 556 557 70% { 558 box-shadow: 0 0 0 8px rgba(155, 111, 224, 0); 559 } 560 561 100% { 562 box-shadow: 0 0 0 0 rgba(155, 111, 224, 0); 563 } 564 } 565 566 .announce em { 567 font-style: normal; 568 font-weight: 600; 569 background: var(--grad-text); 570 -webkit-background-clip: text; 571 background-clip: text; 572 -webkit-text-fill-color: transparent; 573 } 574 575 576 577 /* ========== HERO ========== */ 578 579 580 581 /* Primary CTA â gradient outlined pill (matches hireEZ "Book a demo") */ 582 .btn-primary { 583 padding: 14px 28px; 584 background: #fff; 585 color: var(--ink); 586 font-family: var(--body); 587 font-weight: 500; 588 font-size: 15px; 589 border-radius: 100px; 590 cursor: pointer; 591 text-decoration: none; 592 display: inline-flex; 593 align-items: center; 594 gap: 10px; 595 transition: transform 0.15s, box-shadow 0.2s; 596 border: 1.5px solid transparent; 597 background: 598 linear-gradient(#fff, #fff) padding-box, 599 var(--grad-text) border-box; 600 box-shadow: 0 4px 14px -4px rgba(155, 111, 224, 0.15); 601 } 602 603 .btn-primary:hover { 604 transform: translateY(-1px); 605 box-shadow: 0 10px 24px -4px rgba(155, 111, 224, 0.3); 606 } 607 608 .btn-primary .arrow { 609 transition: transform 0.2s; 610 } 611 612 .btn-primary:hover .arrow { 613 transform: translateX(3px); 614 } 615 616 /* Solid variant â gradient fill */ 617 .btn-solid { 618 padding: 14px 28px; 619 background: var(--grad-text); 620 color: #fff; 621 border: none; 622 font-family: var(--body); 623 font-weight: 500; 624 font-size: 15px; 625 border-radius: 100px; 626 cursor: pointer; 627 text-decoration: none; 628 display: inline-flex; 629 align-items: center; 630 gap: 10px; 631 transition: transform 0.15s, box-shadow 0.2s, filter 0.15s; 632 box-shadow: 0 10px 24px -8px rgba(155, 111, 224, 0.5); 633 } 634 635 .btn-solid:hover { 636 transform: translateY(-1px); 637 filter: brightness(1.05); 638 } 639 640 .btn-solid .arrow { 641 transition: transform 0.2s; 642 } 643 644 .btn-solid:hover .arrow { 645 transform: translateX(3px); 646 } 647 648 .btn-ghost { 649 padding: 14px 22px; 650 background: transparent; 651 color: var(--ink); 652 border: 1px solid var(--rule-2); 653 font-family: var(--body); 654 font-weight: 500; 655 font-size: 15px; 656 border-radius: 100px; 657 cursor: pointer; 658 text-decoration: none; 659 display: inline-flex; 660 align-items: center; 661 gap: 10px; 662 transition: border-color 0.15s, color 0.15s; 663 } 664 665 .btn-ghost:hover { 666 border-color: var(--g-purple); 667 color: var(--g-purple); 668 } 669 670 .hero-proof { 671 display: flex; 672 align-items: center; 673 gap: 14px; 674 font-family: var(--mono); 675 font-size: 12px; 676 color: var(--ink-4); 677 letter-spacing: 0.04em; 678 flex-wrap: wrap; 679 } 680 681 .hero-proof .avatars { 682 display: flex; 683 } 684 685 .hero-proof .avatar { 686 width: 30px; 687 height: 30px; 688 border-radius: 50%; 689 border: 2px solid #fff; 690 margin-left: -8px; 691 display: inline-flex; 692 align-items: center; 693 justify-content: center; 694 color: #fff; 695 font-family: var(--body); 696 font-size: 10px; 697 font-weight: 600; 698 letter-spacing: 0.02em; 699 } 700 701 .hero-proof .avatar:nth-child(1) { 702 background: linear-gradient(135deg, #FF9A8B, #FF7A7A); 703 margin-left: 0; 704 } 705 706 .hero-proof .avatar:nth-child(2) { 707 background: linear-gradient(135deg, #F0A3C8, #E86AA8); 708 } 709 710 .hero-proof .avatar:nth-child(3) { 711 background: linear-gradient(135deg, #B499E8, #9B6FE0); 712 } 713 714 .hero-proof .avatar:nth-child(4) { 715 background: linear-gradient(135deg, #8BC5EE, #6CB6F0); 716 } 717 718 /* ====== HERO FORM ====== */ 719 .hero-form-wrap { 720 position: relative; 721 } 722 723 .form-card { 724 background: #fff; 725 color: var(--ink); 726 padding: 20px; 727 border-radius: 16px; 728 box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); 729 position: relative; 730 overflow: hidden; 731 } 732 733 .form-card::before { 734 content: ""; 735 position: absolute; 736 top: 0; 737 left: 0; 738 right: 0; 739 height: 3px; 740 background: var(--grad-text); 741 } 742 743 .form-card-badge { 744 position: absolute; 745 top: 18px; 746 right: 18px; 747 background: linear-gradient(90deg, rgba(255, 122, 122, 0.12), rgba(108, 182, 240, 0.12)); 748 color: var(--g-purple); 749 font-family: var(--mono); 750 font-size: 10px; 751 letter-spacing: 0.14em; 752 padding: 5px 12px; 753 border-radius: 100px; 754 text-transform: uppercase; 755 border: 1px solid rgba(155, 111, 224, 0.25); 756 font-weight: 600; 757 } 758 759 .form-label { 760 font-family: var(--mono); 761 font-size: 11px; 762 text-transform: uppercase; 763 letter-spacing: 0.15em; 764 color: var(--g-purple); 765 margin-bottom: 10px; 766 display: flex; 767 align-items: center; 768 gap: 10px; 769 font-weight: 600; 770 } 771 772 .form-label::before { 773 content: ""; 774 width: 18px; 775 height: 1px; 776 background: currentColor; 777 opacity: 0.6; 778 } 779 780 .form-title { 781 font-family: var(--display); 782 font-size: 24px; 783 line-height: 1.15; 784 margin-bottom: 10px; 785 letter-spacing: -0.02em; 786 font-weight: 600; 787 color: var(--ink); 788 } 789 790 .form-sub { 791 font-size: 14px; 792 color: var(--ink-3); 793 margin-bottom: 24px; 794 line-height: 1.5; 795 } 796 797 .form-field { 798 margin-bottom: 12px; 799 position: relative; 800 } 801 802 .form-field label { 803 font-size: 11px; 804 color: var(--ink-2); 805 display: block; 806 margin-bottom: 6px; 807 font-weight: 600; 808 font-family: var(--mono); 809 letter-spacing: 0.05em; 810 text-transform: uppercase; 811 } 812 813 .form-field input, 814 .form-field select { 815 width: 100%; 816 padding: 11px 14px; 817 border: 1px solid var(--rule-2); 818 background: #fff; 819 font-family: var(--body); 820 font-size: 14px; 821 border-radius: 8px; 822 color: var(--ink); 823 transition: border-color 0.15s, box-shadow 0.15s; 824 } 825 826 .form-field input:focus, 827 .form-field select:focus { 828 outline: none; 829 border-color: var(--g-purple); 830 box-shadow: 0 0 0 3px rgba(155, 111, 224, 0.12); 831 } 832 833 .form-field.error input, 834 .form-field.error select { 835 border-color: #DC2626; 836 box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.08); 837 } 838 839 .form-field .err-msg { 840 font-size: 11px; 841 color: #DC2626; 842 margin-top: 4px; 843 display: none; 844 font-family: var(--mono); 845 letter-spacing: 0.02em; 846 } 847 848 .form-field.error .err-msg { 849 display: block; 850 } 851 852 .form-row { 853 display: grid; 854 grid-template-columns: 1fr 1fr; 855 gap: 10px; 856 } 857 858 .form-submit { 859 width: 100%; 860 padding: 14px; 861 background: var(--grad-text); 862 color: #fff; 863 border: none; 864 font-family: var(--body); 865 font-weight: 500; 866 font-size: 15px; 867 margin-top: 16px; 868 cursor: pointer; 869 border-radius: 100px; 870 transition: filter 0.15s, transform 0.15s, box-shadow 0.2s; 871 display: inline-flex; 872 align-items: center; 873 justify-content: center; 874 gap: 8px; 875 box-shadow: 0 8px 20px -8px rgba(155, 111, 224, 0.5); 876 } 877 878 .form-submit:hover { 879 filter: brightness(1.05); 880 transform: translateY(-1px); 881 box-shadow: 0 12px 28px -8px rgba(155, 111, 224, 0.6); 882 } 883 884 .form-submit:disabled { 885 opacity: 0.6;
886 cursor: not-allowed; 887 transform: none; 888 } 889 890 .form-submit .arrow { 891 transition: transform 0.2s; 892 } 893 894 .form-submit:hover .arrow { 895 transform: translateX(3px); 896 } 897 898 .form-trust { 899 margin-top: 12px; 900 font-size: 11px; 901 color: var(--ink-4); 902 text-align: center; 903 font-family: var(--mono); 904 letter-spacing: 0.04em; 905 } 906 907 .form-trust strong { 908 background: var(--grad-text); 909 -webkit-background-clip: text; 910 background-clip: text; 911 -webkit-text-fill-color: transparent; 912 font-weight: 600; 913 } 914 915 /* Success state */ 916 917 918 /* ========== SECTION SHARED ========== */ 919 920 921 /* ========== STATS BAND ========== */ 922 923 924 925 926 /* ========== NARRATIVE (category shift) ========== */ 927 928 929 /* ========== TESTIMONIAL ========== */ 930 931 932 /* ========== INTEGRATIONS ========== */ 933 934 935 /* ========== FINAL CTA ========== */ 936 937.section { 938 padding: 120px 32px; 939 position: relative; 940 background: #fff; 941 color: var(--ink); 942 } 943 944 .section-inner { 945 max-width: 1280px; 946 margin: 0 auto; 947 } 948 949 /* Soft tinted sections */ 950 .section.tint-warm { 951 background: linear-gradient(180deg, #fff 0%, #FFF5F0 50%, #FDEBF2 100%); 952 } 953 954 .section.tint-cool { 955 background: linear-gradient(180deg, #fff 0%, #F2EEFB 50%, #E8F0FB 100%); 956 } 957 958 .section.tint-soft { 959 background: var(--grad-vert); 960 } 961 962 .section-head { 963 max-width: 820px; 964 margin-bottom: 64px; 965 } 966 967 .section-kicker { 968 font-family: var(--mono); 969 font-size: 11px; 970 text-transform: uppercase; 971 letter-spacing: 0.2em; 972 color: var(--g-purple); 973 margin-bottom: 20px; 974 display: flex; 975 align-items: center; 976 gap: 12px; 977 font-weight: 600; 978 } 979 980 .section-kicker::before { 981 content: ""; 982 width: 32px; 983 height: 1px; 984 background: currentColor; 985 opacity: 0.6; 986 } 987 988 989 .section-sub { 990 font-size: 18px; 991 line-height: 1.6; 992 color: var(--ink-3); 993 max-width: 720px; 994 text-wrap: pretty; 995 } 996 997 /* ========== RESPONSIVE ========== */ 998 @media (max-width: 1000px) { 999 .hero-inner { 1000 grid-template-columns: 1fr; 1001 gap: 40px; 1002 } 1003 1004 .problem-grid, 1005 .stat-grid, 1006 .pillars, 1007 .narrative-grid, 1008 .int-grid, 1009 .final-cta-inner, 1010 .testimonial-inner, 1011 .footer-inner, 1012 .int-head { 1013 grid-template-columns: 1fr !important; 1014 } 1015 1016 .int-grid { 1017 grid-template-columns: repeat(3, 1fr) !important; 1018 } 1019 1020 .nav-links { 1021 display: none; 1022 } 1023 1024 .pf-body { 1025 grid-template-columns: 1fr; 1026 } 1027 1028 .pf-side { 1029 display: none; 1030 } 1031 1032 .pf-search { 1033 min-width: 0; 1034 } 1035 } 1036</style> 1037 1038 1039 1040 <!-- ==== ANNOUNCEMENT ==== --> 1041 <!-- <div class="announce"> 1042 <span class="announce-dot"></span> 1043 New report · <em>The 2026 Manufacturing Talent Index</em> â read what 340 plant TA leaders said â 1044</div> --> 1045 1046 1047 <!-- ==== HERO ==== --> 1048 <section class="hero unit1" id="hero" data-layout="split"> 1049 <img alt="" class="bg" src="https://hireez.com/wp-content/uploads/hireez-v5/homepage/color-bg.svg"> 1050 <div class="hero-inner"> 1051 <div class="container-fluid"> 1052<div class="row-fluid-wrapper"> 1053<div class="row-fluid"> 1054<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 1055 1056<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 1057<div class="row-fluid "> 1058<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 1059 1060<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 1061<div class="row-fluid "> 1062<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 1063<div id="hs_cos_wrapper_widget_1779693135917" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><div> 1064 1065 <div class="hero-kicker">FOR TALENT ACQUISITION LEADERS</div> 1066 1067 1068 <h1 id="hero-h1"> 1069 1070 1071 Your ATS records what happened. <em>hireEZ drives what happens next.</em> 1072 1073 </h1> 1074 1075 1076 <div class="hero-sub" id="hero-sub"> 1077 The agentic AI action layer that repositions recruiting from cost center to revenue function. One platform on top of any ATS. Sourcing, screening, engagement, scheduling, and the analytics to prove the revenue impact of every hire. 1078 </div> 1079 1080 1081 1082 <div class="hero-pills"> 1083 1084
1085 <span class="hero-pill"> 1086 <span class="dot"></span>Revenue impact, quantified per req 1087 </span> 1088 1089 1090 1091 <span class="hero-pill"> 1092 <span class="dot"></span>2à recruiter capacity 1093 </span> 1094 1095 1096 1097 <span class="hero-pill"> 1098 <span class="dot"></span>50+ ATS integrations 1099 </span> 1100 1101 1102 </div> 1103 1104 1105 1106 <div class="hero-proof"> 1107 <span>70+ Fortune 500 customers · 1B+ candidate profiles · Deployed in weeks</span> 1108 </div> 1109 1110 </div></div> 1111 1112</div><!--end widget-span --> 1113</div><!--end row--> 1114</div><!--end row-wrapper --> 1115 1116</div><!--end widget-span --> 1117</div><!--end row--> 1118</div><!--end row-wrapper --> 1119 1120</div><!--end widget-span --> 1121</div> 1122</div> 1123</div> 1124 <!-- FORM --> 1125 <div class="hero-form-wrap" id="demo"> 1126 <div class="form-card"> 1127 <div class="form-label">Book a demo</div> 1128 <div class="form-title"> 1129 <div class="container-fluid"> 1130<div class="row-fluid-wrapper"> 1131<div class="row-fluid"> 1132<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 1133 1134<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 1135<div class="row-fluid "> 1136<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 1137 1138<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 1139<div class="row-fluid "> 1140<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 1141<div id="hs_cos_wrapper_widget_1779692973374" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><span id="hs_cos_wrapper_widget_1779692973374_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="text"></span></div> 1142 1143</div><!--end widget-span --> 1144</div><!--end row--> 1145</div><!--end row-wrapper --> 1146 1147</div><!--end widget-span --> 1148</div><!--end row--> 1149</div><!--end row-wrapper --> 1150 1151</div><!--end widget-span --> 1152</div> 1153</div> 1154</div> 1155 </div> 1156 <div id="ContactFormbox"> 1157 1158 1159 <style> 1160 #ContactFormbox { 1161 position: relative; 1162 max-width: 560px; 1163 min-height: 500px; 1164 border-radius: 16px; 1165 1166 padding: 40px 0px 0px; 1167 overflow: hidden; 1168 } 1169 div.chilipiper-popup { 1170 z-index: 99999999 1171 } 1172 form .hs-firstname{ 1173 width: 48%; 1174 display: inline-block; 1175 margin-right: 4%; 1176 vertical-align: top; 1177 } 1178 form .hs-lastname{ 1179 width: 48%; 1180 display: inline-block; 1181 } 1182 .hbspt-form .form-title{ 1183 display:none; 1184 } 1185 1186 .hs-submit{ 1187 margin-bottom: 40px; 1188 } 1189 @media (max-width:1080px) { 1190 .form-title{ 1191 font-size: 32px; 1192 } 1193 .hs-form label{ 1194 font-size: 24px; 1195 } 1196 .hs-input{ 1197 font-size: 22px; 1198 height: 64px; 1199 } 1200 form .hs-firstname,form .hs-lastname{ 1201 width: 100%; 1202 margin-right: 0; 1203 } 1204 .hs-form-field{ 1205 margin-bottom: 36px; 1206 } 1207 .hs-submit input{ 1208 font-size: 24px; 1209 height: 64px; 1210 } 1211 } 1212 1213 #agentStatus{ 1214 font-size: 18px; 1215 } 1216 1217 .agent-thought-process { 1218 margin: 15px 0; 1219 background: #f8f9fa; 1220 border: 1px solid #e9ecef; 1221 border-radius: 8px; 1222 overflow: hidden; 1223 } 1224 1225 .agent-thought-header { 1226 padding: 12px 16px; 1227 background: #f1f3f4; 1228 border-bottom: 1px solid #e9ecef; 1229 cursor: pointer; 1230 display: flex; 1231 align-items: center; 1232 gap: 8px; 1233 user-select: none; 1234 transition: background-color 0.2s; 1235 } 1236 1237 .agent-thought-header:hover { 1238 background: #e8eaed; 1239 } 1240 1241 .agent-thought-icon { 1242 font-size: 14px; 1243 } 1244 1245 .agent-thought-title { 1246 flex: 1; 1247 font-size: 14px; 1248 font-weight: 500; 1249 color: #5f6368; 1250 } 1251 1252 .agent-thought-toggle { 1253 font-size: 12px; 1254 color: #5f6368; 1255 transition: transform 0.2s; 1256 } 1257 .agent-thought-toggle img{ 1258 display:block; 1259 width: 16px; 1260 } 1261 .agent-thought-toggle.collapsed { 1262 transform: rotate(-90deg); 1263 } 1264 .agent-thought-content { 1265 max-height: 400px; 1266 overflow-y: auto; 1267 transition: max-height 0.3s ease-out, opacity 0.3s ease-out; 1268 } 1269 1270 .agent-thought-content.collapsed { 1271 max-height: 0; 1272 opacity: 0; 1273 overflow: hidden; 1274 } 1275 .agent-thought-content::-webkit-scrollbar {
1276 width: 8px; 1277 border-radius: 8px 1278 } 1279 1280 .agent-thought-content::-webkit-scrollbar-thumb { 1281 border-radius: 8px; 1282 background: #b1b2b5; 1283 border: 3px solid transparent; 1284 background-clip: content-box 1285 } 1286 1287 .agent-thought-content::-webkit-scrollbar-track { 1288 border-radius: 8px; 1289 background-clip: content-box; 1290 cursor: pointer 1291 } 1292 .thought-step { 1293 border-bottom: 1px solid #e9ecef; 1294 background: white; 1295 } 1296 .thought-step-toggle.collapsed { 1297 transform: rotate(-90deg); 1298 } 1299 .thought-step:last-child { 1300 border-bottom: none; 1301 } 1302 1303 .thought-step-header { 1304 padding: 12px 16px; 1305 cursor: pointer; 1306 display: flex; 1307 justify-content: space-between; 1308 align-items: flex-start; 1309 background: #f8f9fa; 1310 transition: background-color 0.2s; 1311 } 1312 1313 .thought-step-header:hover { 1314 background: #f8f9fa; 1315 } 1316 1317 .thought-step-title { 1318 font-size: 13px; 1319 font-weight: 500; 1320 color: #565759; 1321 margin-bottom: 4px; 1322 } 1323 1324 .thought-step-description { 1325 font-size: 12px; 1326 color: #5f6368; 1327 line-height: 1.4; 1328 } 1329 1330 .thought-step-toggle { 1331 font-size: 12px; 1332 color: #5f6368; 1333 margin-left: 8px; 1334 transition: transform 0.2s; 1335 } 1336 1337 .thought-step-content { 1338 padding: 8px 16px 12px 16px; 1339 border-top: 1px dashed #f1f3f4; 1340 font-size: 13px; 1341 color: #555; 1342 background: #f8f9fa; 1343 transition: max-height 0.3s ease-out, opacity 0.3s ease-out; 1344 } 1345 .thought-step-content::-webkit-scrollbar {
1346 width: 6px; 1347 border-radius: 8px; 1348 } 1349 1350 .thought-step-content::-webkit-scrollbar-thumb { 1351 border-radius: 8px; 1352 background: #b1b2b5; 1353 border: 3px solid transparent; 1354 background-clip: content-box; 1355 } 1356 1357 .thought-step-content.collapsed { 1358 max-height: 0; 1359 opacity: 0; 1360 overflow: hidden; 1361 padding-top: 0; 1362 padding-bottom: 0; 1363 } 1364 1365 .thought-step-timestamp { 1366 display:none; 1367 font-size: 11px; 1368 color: #9aa0a6; 1369 margin-top: 8px; 1370 } 1371 1372 .loading-dots { 1373 display: inline-flex; 1374 gap: 4px; 1375 margin-left: 8px; 1376 } 1377 1378 .loading-dot { 1379 width: 4px; 1380 height: 4px; 1381 background: #707072; 1382 border-radius: 50%; 1383 animation: loading 1.4s infinite ease-in-out both; 1384 } 1385 1386 .loading-dot:nth-child(1) { animation-delay: -0.32s; } 1387 .loading-dot:nth-child(2) { animation-delay: -0.16s; } 1388 1389 @keyframes loading { 1390 0%, 80%, 100% { transform: scale(0); } 1391 40% { transform: scale(1); } 1392 } 1393 1394 .analysis-results { 1395 margin-top: 16px; 1396 padding: 0; 1397 background: white; 1398 border-radius: 6px; 1399 border: 1px solid #e0e0e0; 1400 } 1401 1402 .analysis-results .result-title { 1403 font-weight: 600; 1404 color: #333; 1405 margin-bottom: 8px; 1406 font-size: 18px; 1407 padding: 10px 16px; 1408 border-bottom: 1px solid #e0e0e0; 1409 } 1410 .analysis-results .result-status{ 1411 padding: 14px 16px 30px; 1412 display: flex; 1413 justify-content: space-between; 1414 align-items: center; 1415 } 1416 .confidence-score { 1417 display: flex; 1418 align-items: center; 1419 gap: 8px; 1420 margin-top: 8px; 1421 } 1422 1423 .confidence-bar { 1424 flex: 1; 1425 height: 4px; 1426 background: #e0e0e0; 1427 border-radius: 2px; 1428 overflow: hidden; 1429 } 1430 1431 .confidence-fill { 1432 height: 100%; 1433 background: #356eff; 1434 transition: width 0.3s ease; 1435 } 1436 1437 1438 .clarification-form { 1439 padding: 16px; 1440 background: #fefefe; 1441 border-radius: 8px; 1442 } 1443 1444 .clarification-question { 1445 margin-bottom: 16px; 1446 padding-bottom: 12px; 1447 border-bottom: 1px solid #f0f0f0; 1448 } 1449 1450 .clarification-question:last-child { 1451 border-bottom: none; 1452 margin-bottom: 0; 1453 } 1454 1455 .clarification-input { 1456 width: 100%; 1457 padding: 10px 12px; 1458 border: 1px solid #ddd; 1459 border-radius: 6px; 1460 font-size: 14px; 1461 transition: border-color 0.2s ease; 1462 } 1463 1464 .clarification-input:focus { 1465 outline: none; 1466/* border-color: #356eff; 1467 box-shadow: 0 0 0 2px rgba(92, 107, 220, 0.1); */ 1468 } 1469 1470 .clarification-submit-btn { 1471 background-clip: padding-box, border-box; 1472 background-image: linear-gradient(90deg, #fff, #fff), linear-gradient(90deg, #e66155, #b162d8, #588efa, #54b6ce); 1473 background-origin: padding-box, border-box; 1474 border: 2px solid transparent; 1475 border-radius: 35px; 1476 color: #3c4043; 1477 cursor: pointer; 1478 font-family: var(--font5); 1479 font-size: 18px; 1480 font-weight: 500; 1481 height: 47px; 1482 line-height: 27px; 1483 position: relative; 1484 text-align: center; 1485 width: 100%; 1486 z-index: 2; 1487 } 1488 1489 .clarification-submit-btn:hover { 1490 box-shadow: 0px 0px 34px 0px #A7A7A740; 1491 } 1492 1493 .clarification-submit-btn:disabled { 1494 background: #ccc; 1495 cursor: not-allowed; 1496 transform: none; 1497 box-shadow: none; 1498 } 1499 1500 .success-message { 1501 text-align: center; 1502 padding: 32px 16px; 1503 } 1504 1505 .success-title { 1506 color: #3c3c3c; 1507 text-align: center; 1508 font-family: Poppins; 1509 font-size: 22px; 1510 font-style: normal; 1511 font-weight: 600; 1512 line-height: 1.5; 1513 } 1514 1515 .success-subtitle { 1516 color: #3c3c3c; 1517 font-family: Poppins; 1518 font-size: 20px; 1519 font-style: normal; 1520 font-weight: 400; 1521 line-height: 1.5; 1522 text-align: center; 1523 margin: 20px auto; 1524 width: 100%; 1525 } 1526 1527 .success-description { 1528 color: #6c757d; 1529 font-size: 14px; 1530 line-height: 1.4; 1531 } 1532 1533 .field-error { 1534 color: #dc3545; 1535 font-size: 12px; 1536 margin-top: 4px; 1537 font-weight: 500; 1538 animation: errorSlideIn 0.3s ease-out; 1539 } 1540 1541 @keyframes errorSlideIn { 1542 from { 1543 opacity: 0; 1544 transform: translateY(-5px); 1545 } 1546 to { 1547 opacity: 1; 1548 transform: translateY(0); 1549 } 1550 } 1551 1552 .clarification-input.error { 1553 border-color: #dc3545 !important; 1554 box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.1) !important; 1555 } 1556 1557 .clarification-input.valid { 1558 border-color: #28a745 !important; 1559 box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.1) !important; 1560 } 1561 1562 .general-error-message { 1563 background: #f8d7da; 1564 color: #721c24; 1565 padding: 12px; 1566 border-radius: 6px; 1567 border: 1px solid #f5c6cb; 1568 margin: 12px 0; 1569 font-size: 14px; 1570 font-weight: 500; 1571 animation: errorSlideIn 0.3s ease-out; 1572 } 1573 /* Status pill styles */ 1574 .status-pill { 1575 display: inline-flex; 1576 align-items: center; 1577 gap: 6px; 1578 padding: 6px 12px; 1579 border-radius: 20px; 1580 font-size: 13px; 1581 font-weight: 500; 1582 text-transform: capitalize; 1583 } 1584 1585 .status-pill.valid { 1586 background-color: #d4f4dd; 1587 color: #1e7e34; 1588 border: 1px solid #c3e6cb; 1589 } 1590
1591 .status-pill.invalid, 1592 .status-pill.needs_clarification { 1593 background-color: #f8d7da; 1594 color: #721c24; 1595 border: 1px solid #f5c6cb; 1596 } 1597 1598 .status-icon { 1599 width: 12px; 1600 height: 12px; 1601 border-radius: 50%; 1602 display: inline-block; 1603 position: relative; 1604 } 1605 1606 .status-icon.valid { 1607 background-color: #28a745; 1608 } 1609 1610 .status-icon.invalid, 1611 .status-icon.needs_clarification { 1612 background-color: #dc3545; 1613 } 1614 1615 .status-icon::after { 1616 content: ''; 1617 position: absolute; 1618 top: 50%; 1619 left: 50%; 1620 transform: translate(-50%, -50%); 1621 color: white; 1622 font-size: 8px; 1623 font-weight: bold; 1624 } 1625 1626 .status-icon.valid::after { 1627 content: 'â'; 1628 } 1629 1630 .status-icon.invalid::after, 1631 .status-icon.needs_clarification::after { 1632 content: 'â'; 1633 } 1634 #ContactFormbox .chilipiper-frame{ 1635 min-height: 635px; 1636 min-width: 94% !important; 1637 margin: 0 auto 40px; 1638 display: block; 1639 } 1640 .hide-chilipiper .chilipiper-popup, 1641 .hide-chilipiper .chilipiper-frame, 1642 .hide-chilipiper div[id*="chilipiper"] { 1643 display: none !important; 1644 visibility: hidden !important; 1645 opacity: 0 !important; 1646 } 1647 .chilipiper-loading { 1648 display: flex; 1649 align-items: center; 1650 justify-content: center; 1651 padding: 20px; 1652 font-size: 14px; 1653 color: #333; 1654 } 1655 1656 .chilipiper-loading .loading-text { 1657 font-weight: 500; 1658 color: #333; 1659 } 1660 1661 .chilipiper-loading .loading-dots { 1662 margin-left: 6px; 1663 } 1664 1665/* screening */ 1666 .sales-screening-chat{ 1667 --bg-page: #f5f6f8; 1668 --bg-card: #fff; 1669 --border: #e2e6ea; 1670 --primary: #1a73e8; 1671 --primary-hover: #1557b0; 1672 --user-bubble: #1a73e8; 1673 --bot-bubble: #F7F7F7; 1674 --text: #3c3c3c; 1675 --text-secondary: #5f6368; 1676 --shadow: 0 1px 3px rgba(0,0,0,.08); 1677 --radius: 12px; 1678 --radius-sm: 8px; 1679 } 1680 .sales-screening-chat{ 1681 width: 100%; 1682 height: 100%; 1683 min-height: 630px; 1684 background: #f7f8fa; 1685/* padding-bottom: 250px; */ 1686 display: flex; 1687 justify-content: space-between; 1688 flex-direction: column; 1689 display:none; 1690/* z-index: 100000; */ 1691/* transform: translateX(100%); 1692 transition: transform 0.6s; */ 1693 1694 } 1695 .sales-screening-chat.show{ 1696 display:flex; 1697 border: 1px solid #eee; 1698 border-radius: 12px; 1699 overflow: hidden; 1700 } 1701 button.sales-screening-reopen-btn { 1702 display: block; 1703 width: 100%; 1704 max-width: 100%; 1705 margin: 12px 0 0; 1706 padding: 12px 18px; 1707 border: none; 1708 border-radius: 8px; 1709 background: #1a73e8; 1710 color: #fff; 1711 font-size: 15px; 1712 font-weight: 600; 1713 cursor: pointer; 1714 transition: background 0.15s ease; 1715 } 1716 button.sales-screening-reopen-btn:hover { 1717 background: #1557b0; 1718 } 1719 .sales-screening-chat .close-button { 1720 position: absolute; 1721 top: 17px; 1722 right: 20px; 1723 z-index: 2; 1724 width: .875rem; 1725 height: .875rem; 1726 background: url(https://hireez.com/wp-content/uploads/Chatbot/close_small.svg) no-repeat center center; 1727 background-size: 100% 100%; 1728 cursor: pointer; 1729 transition: transform 0.3s; 1730 } 1731 1732 .sales-screening-chat .close-button:hover { 1733 transform: rotate(90deg); 1734 } 1735 .sales-screening-chat .progress-bar { 1736 padding: 0 16px 20px; 1737 background: #f8f9fa; 1738 border-bottom: 1px solid var(--border); 1739 font-size: 0.8rem; 1740 color: var(--text-secondary); 1741 display: flex; 1742 align-items: center; 1743 gap: 8px; 1744 flex-wrap: wrap; 1745 } 1746 .sales-screening-chat .progress-bar .label { 1747 font-weight: 500; 1748 color: var(--text); 1749 } 1750 .sales-screening-chat .progress-dot { 1751 display: inline-flex; 1752 align-items: center; 1753 gap: 4px; 1754 } 1755 .sales-screening-chat .progress-dot.done { 1756 color: #0f9d58; 1757 } 1758 .sales-screening-chat .progress-dot.done::before { 1759 content: "â"; 1760 font-weight: bold; 1761 }
1762 .sales-screening-chat .progress-dot.pending::before { 1763 content: "â"; 1764 color: var(--text-secondary); 1765 } 1766 1767 .sales-screening-chat .messages { 1768 flex: 1 1 auto; 1769 overflow-y: auto; 1770 padding: 16px 16px 2rem; 1771/* min-height: 380px; */ 1772 max-height: 450px; 1773 display: flex; 1774 flex-direction: column; 1775 gap: 1rem; 1776 } 1777 .sales-screening-chat .messages::-webkit-scrollbar { 1778 width: 8px; 1779 height: 8px; 1780 } 1781 .sales-screening-chat .messages::-webkit-scrollbar-track { 1782 background: transparent; 1783 } 1784 .sales-screening-chat .messages::-webkit-scrollbar-thumb { 1785 background: #c5c5c5; 1786 border-radius: 4px; 1787 } 1788 1789 .sales-screening-chat .msg { 1790 max-width: 92%; 1791 padding: 10px 14px; 1792 border-radius: var(--radius-sm); 1793 line-height: 1.5; 1794 word-break: break-word; 1795 /* white-space: pre-wrap; */ 1796 } 1797 .sales-screening-chat .bot-message-header { 1798 display: flex; 1799 align-items: center; 1800 gap: 8px; 1801 margin-bottom: 10px; 1802 } 1803 .sales-screening-chat .chatbot-ez-icon { 1804 position: relative; 1805 background: #FEC020; 1806 border-radius: 8px; 1807 width: 1.25rem; 1808 height: 1.25rem; 1809 display: flex; 1810 align-items: center; 1811 justify-content: center; 1812 flex: none; 1813 background: url(https://hireez.com/wp-content/uploads/Chatbot/EZ-agent-logo.svg) no-repeat center center; 1814 background-size: 100% 100%; 1815 } 1816 .sales-screening-chat .bot-header-text { 1817 font-family: Poppins; 1818 font-weight: 400; 1819 font-size: .75rem; 1820 line-height: 1.5; 1821 letter-spacing: 0%; 1822 vertical-align: middle; 1823 color: #6F777B; 1824 } 1825 .sales-screening-chat .first-msg-text{ 1826 display:block; 1827 padding-left: 6px; 1828 } 1829 .sales-screening-chat .msg.bot { 1830 align-self: flex-start; 1831 background: #fff; 1832 color: var(--text); 1833 border-bottom-left-radius: 4px; 1834 } 1835 .sales-screening-chat .msg.user { 1836 align-self: flex-end; 1837 background: #DCE7FF; 1838 color: #3c3c3c; 1839 border-bottom-right-radius: 4px; 1840 } 1841 .sales-screening-chat .msg .time { 1842 font-size: 0.7rem; 1843 opacity: 0.8; 1844 margin-top: 4px; 1845 } 1846 .sales-screening-chat .msg.user .time { 1847 text-align: right; 1848 } 1849 .sales-screening-chat .screening-chat-input-wrap { 1850 flex: 0 0 auto; 1851 display: flex; 1852 flex-direction: column; 1853 padding: 0.5rem 1rem 1rem; 1854 background: #fff; 1855 border-top: 1px solid #e2e6ea; 1856 box-shadow: 0px 0px 54px 0px #B2BEFF40; 1857 border-bottom-left-radius: 17px; 1858 border-bottom-right-radius: 17px; 1859 } 1860 .sales-screening-chat .input-row { 1861 position: relative; 1862 width: 98%; 1863/* position: absolute; 1864 left: 50%; 1865 bottom: 0; 1866 transform: translateX(-50%); */ 1867 display: flex; 1868 padding-right: 50px; 1869 padding-left: 10px; 1870 border: 1px solid var(--border); 1871 background: var(--bg-card); 1872 border-radius: var(--radius-sm); 1873 gap: 10px; 1874 align-items: center; 1875 } 1876 .sales-screening-chat .input-row textarea { 1877 flex: 1; 1878 min-height: 46px; 1879 max-height: 120px; 1880 padding: 10px 14px; 1881 font-family: var(--font); 1882 font-size: 15px; 1883 resize: none; 1884 outline: none; 1885 border: none; 1886 transition: border-color 0.2s; 1887 } 1888 .sales-screening-chat .input-row textarea:focus { 1889 border-color: var(--primary); 1890 } 1891 .sales-screening-chat .input-row textarea::placeholder { 1892 color: var(--text-secondary); 1893 } 1894 .sales-screening-chat .btn-send { 1895 position: absolute; 1896 right: 16px; 1897 top: 50%; 1898 transform: translateY(-50%); 1899 width: 1.125rem; 1900 height: 1.125rem; 1901 margin-left: 10px; 1902 background: url(https://hireez.com/wp-content/uploads/Chatbot/send-icon.svg) no-repeat center center; 1903 background-size: 100% 100%; 1904 border: none; 1905 cursor: pointer; 1906 transition: background 0.2s; 1907 } 1908 .sales-screening-chat .btn-send:hover:not(:disabled) { 1909 transform: scale3d(0.9, 0.9, 0.9); 1910 } 1911 .sales-screening-chat .btn-send:disabled { 1912 opacity: 0.6;
1913 cursor: not-allowed; 1914 } 1915 .sales-screening-chat .loading { 1916 align-self: flex-start; 1917 padding: 10px 14px; 1918 background: var(--bot-bubble); 1919 border-radius: var(--radius-sm); 1920 color: var(--text-secondary); 1921 font-size: 0.9rem; 1922 } 1923 .sales-screening-chat .loading::after { 1924 font-size: 1.75rem; 1925 color: #787878; 1926 content: ""; 1927 animation: dots 1.2s steps(4, end) infinite; 1928 } 1929 @keyframes dots { 1930 0%, 20% { content: "."; } 1931 40% { content: ".."; } 1932 60%, 100% { content: "..."; } 1933 } 1934 1935 .sales-screening-chat .error-msg { 1936 align-self: center; 1937 padding: 8px 12px; 1938 background: #ffebee; 1939 color: #c62828; 1940 border-radius: var(--radius-sm); 1941 font-size: 0.85rem; 1942 } 1943 1944 .sales-screening-chat .reply-options { 1945 width: 100%; 1946 align-self: flex-end; 1947 padding: 4px 10px 10px; 1948 display: flex; 1949 flex-wrap: wrap; 1950 justify-content: flex-end; 1951 gap: 8px; 1952 align-items: center; 1953 } 1954 .sales-screening-chat .reply-options.hidden { 1955 display: none; 1956 } 1957 .sales-screening-chat .reply-options .opt-btn { 1958 padding: 8px 14px; 1959 background: var(--bg-card); 1960 border: 1px solid var(--primary); 1961 border-radius: var(--radius-sm); 1962 font-family: var(--font); 1963 font-size: 14px; 1964 color: var(--text); 1965 cursor: pointer; 1966 transition: border-color 0.2s, background 0.2s; 1967 } 1968 .sales-screening-chat .reply-options .opt-btn:hover { 1969 border-color: var(--primary); 1970 background: #e8f0fe; 1971 } 1972</style>
1973<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/embed/v2.js"></script>
vendor: 1 bytes, line 1973
1973
1974<script id="chilipiper-concierge" src="https://hireez.chilipiper.com/concierge-js/cjs/concierge.js" crossorigin="anonymous" type="text/javascript"></script>
1974 1975
1976<script> 1977 var companySize, emplyeeNum; 1978 1979 // Global variable to store form data for ChiliPiper 1980 var globalFormData = null; 1981 1982 var CUSTOM_IP_COUNTRY_INPUT_ID = 'custom_ip_country-638f7100-104f-49d9-9ae1-0b9948e1797b'; 1983 var cachedIpCountryValue = ''; 1984 function fillCustomIpCountryInput(value) { 1985 var el = document.getElementById(CUSTOM_IP_COUNTRY_INPUT_ID); 1986 if (el && value != null && value !== '') el.value = value; 1987 } 1988 (function fetchAndFillIpLocationOnLoad() { 1989 fetch('https://ipapi.co/json/', { method: 'GET' }) 1990 .then(function (resp) { return resp.ok ? resp.json() : null; }) 1991 .then(function (data) { 1992 if (data && !data.error) { 1993 var value = (data.country_name || data.country_code || '').toString().trim(); 1994 cachedIpCountryValue = value; 1995 fillCustomIpCountryInput(value); 1996 } 1997 }) 1998 .catch(function (e) { console.warn('ipapi.co fetch on load failed:', e); }); 1999 })(); 2000 2001 /** 2002 * showChiliPiperLoading: show ChiliPiper loading indicator, and use MutationObserver to listen to ChiliPiper loading 2003 * when ChiliPiper starts rendering, automatically hide custom loading 2004 * @param {HTMLElement} container - the container element to insert the loading 2005 * @returns {HTMLElement} - the loading element, for manual control 2006 */ 2007 function showChiliPiperLoading(container) { 2008 const loadingContainer = document.createElement('div'); 2009 loadingContainer.className = 'chilipiper-loading'; 2010 loadingContainer.innerHTML = ` 2011 <span class="loading-text">Loading Calendar</span> 2012 <span class="loading-dots"> 2013 <span class="loading-dot"></span> 2014 <span class="loading-dot"></span> 2015 <span class="loading-dot"></span> 2016 </span> 2017 `; 2018 2019 if (container) { 2020 container.appendChild(loadingContainer); 2021 } 2022 2023 const startTime = Date.now(); 2024 const minDisplayTime = 500; 2025 2026 // use MutationObserver to listen to ChiliPiper loading 2027 const observer = new MutationObserver((mutations) => { 2028 // detect ChiliPiper's PageLayoutContainer element 2029 const chilipiperContainer = document.querySelector('[data-test-id="PageLayoutContainer"]'); 2030 2031 if (chilipiperContainer) { 2032 if (loadingContainer) { 2033 loadingContainer.style.display = 'none'; 2034 document.querySelector('.unit1 .hbspt-form').style.display = 'none'; 2035 } 2036 2037 observer.disconnect(); 2038 } 2039 }); 2040 2041 2042 setTimeout(() => { 2043 observer.observe(document.body, { 2044 childList: true, 2045 subtree: true 2046 }); 2047 }, 100); 2048 2049 // set timeout protection, 8 seconds later automatically disconnect the observer and hide the loading 2050 setTimeout(() => { 2051 observer.disconnect(); 2052 if (loadingContainer) { 2053 loadingContainer.style.display = 'none'; 2054 document.querySelector('.unit1 .hbspt-form').style.display = 'none'; 2055 } 2056 }, 8000); 2057 2058 return loadingContainer; 2059 } 2060 2061 /** 2062 * Get visitor's public IP and country (best from frontend for company networks). 2063 * Prefer browser request to ipapi.co so we see the real public IP; fallback to backend. 2064 * @returns {Promise<{is_india: boolean, country_code?: string, country_name?: string}>} 2065 */ 2066 async function checkIpLocation() { 2067 const empty = { is_india: false, country_code: null, country_name: null }; 2068 try { 2069 // Request from browser so we get visitor's public IP (works behind company proxy) 2070 const resp = await fetch('https://ipapi.co/json/', { method: 'GET' }); 2071 if (resp.ok) { 2072 const data = await resp.json(); 2073 if (data && !data.error) { 2074 const code = (data.country_code || data.country || '').toString().trim().toUpperCase(); 2075 const name = (data.country_name || '').toString().trim() || null; 2076 return { is_india: code === 'IN', country_code: code || null, country_name: name }; 2077 } 2078 } 2079 } catch (e) { 2080 console.warn('ipapi.co IP check failed:', e); 2081 } 2082 return empty; 2083} 2084 2085function normalizeSelectValue(value) { 2086 return (value || '').toString().trim(); 2087} 2088 2089function getUsLocationStatus(loc) { 2090 if (!loc || typeof loc !== 'object') return 'unknown'; 2091 var code = (loc.country_code || '').toString().trim().toUpperCase(); 2092 if (code) return code === 'US' ? 'us' : 'non_us'; 2093 2094 var name = (loc.country_name || '').toString().trim().toLowerCase(); 2095 if (!name) return 'unknown'; 2096 var isUsName = 2097 name === 'united states' || 2098 name === 'united states of america' || 2099 name === 'usa' || 2100 name === 'u.s.' || 2101 name === 'u.s.a.'; 2102 return isUsName ? 'us' : 'non_us'; 2103} 2104 2105function shouldRunAiScreening(formDataForCheck, ipLoc) {
2106 var employeeValue = normalizeSelectValue(formDataForCheck && formDataForCheck.employeeNum); 2107 var companyValue = normalizeSelectValue(formDataForCheck && formDataForCheck.companySize); 2108 var isEmployeeBucketMatched = employeeValue === '1-24'; 2109 var isCompanyBucketMatched = companyValue === '1-299'; 2110 var isNonUs = getUsLocationStatus(ipLoc) === 'non_us'; 2111 2112 // Only run AI screening when a small-size bucket is matched and visitor IP is clearly non-US. 2113 return (isEmployeeBucketMatched || isCompanyBucketMatched) && isNonUs; 2114 } 2115 2116 function shouldShowChiliPiperAfterValidation(formDataForCheck, ipLoc) { 2117 var employeeValue = normalizeSelectValue(formDataForCheck && formDataForCheck.employeeNum); 2118 var companyValue = normalizeSelectValue(formDataForCheck && formDataForCheck.companySize); 2119 var isEmployeeMidBucketMatched = employeeValue === '25-100'; 2120 var isCompanyMidBucketMatched = companyValue === '300-999'; 2121 var isEmployeeSmbBucketMatched = employeeValue === '1-24'; 2122 var isCompanySmbBucketMatched = companyValue === '1-299'; 2123 var isUs = getUsLocationStatus(ipLoc) === 'us'; 2124 2125 // Trigger if either condition is met: 2126 // 1) mid-size bucket (25-100 employees OR 300-999 company size), OR 2127 // 2) US SMB traffic (US + 1-24 employees OR 1-299 company size). 2128 return ( 2129 isEmployeeMidBucketMatched || 2130 isCompanyMidBucketMatched || 2131 (isUs && (isEmployeeSmbBucketMatched || isCompanySmbBucketMatched)) 2132 ); 2133 } 2134 2135 /** 2136 * Budget: preset tiers from sales_screening_questions.json, or free text with amounts ⥠$5k. 2137 */ 2138 function screeningBudgetQualifiesForChiliPiper(budget) { 2139 if (!budget || typeof budget !== 'string') return false; 2140 var v = budget.trim(); 2141 if (v === 'less_5k') return false; 2142 if (v === '5k_15k' || v === '$15k+') return true; 2143 var amounts = screeningExtractBudgetAmountsUsd(v); 2144 if (!amounts.length) return false; 2145 var maxAmt = amounts.reduce(function (a, b) { return Math.max(a, b); }, 0); 2146 return maxAmt >= 5000; 2147 } 2148 2149 function screeningExtractBudgetAmountsUsd(s) { 2150 var amounts = []; 2151 function pushNum(str, mult) { 2152 var n = parseFloat(String(str).replace(/,/g, '')); 2153 if (!isNaN(n)) amounts.push(n * mult); 2154 } 2155 var m; 2156 var reK = /(?:\$|usd\s*)?\s*([\d,]+(?:\.\d+)?)\s*k\b/gi; 2157 while ((m = reK.exec(s)) !== null) pushNum(m[1], 1000); 2158 var reTh = /(?:\$|usd\s*)?\s*([\d,]+(?:\.\d+)?)\s*thousand\b/gi; 2159 while ((m = reTh.exec(s)) !== null) pushNum(m[1], 1000); 2160 var reMil = /(?:\$|usd\s*)?\s*([\d,]+(?:\.\d+)?)\s*million\b/gi; 2161 while ((m = reMil.exec(s)) !== null) pushNum(m[1], 1000000); 2162 var reDollar = /\$\s*([\d,]+(?:\.\d+)?)\b/gi; 2163 while ((m = reDollar.exec(s)) !== null) { 2164 var n = parseFloat(m[1].replace(/,/g, '')); 2165 if (!isNaN(n) && n >= 100) amounts.push(n); 2166 } 2167 var reUsdWords = /([\d,]+(?:\.\d+)?)\s*(?:usd|dollars?)\b/gi; 2168 while ((m = reUsdWords.exec(s)) !== null) { 2169 var n2 = parseFloat(m[1].replace(/,/g, '')); 2170 if (!isNaN(n2) && n2 >= 100) amounts.push(n2); 2171 } 2172 return amounts; 2173 } 2174 2175 /** 2176 *Mount the sales screening chat UI to the specified containerï¼and bind the API. Can be called multiple times at ChiliPiper success, or other times. 2177 * @param {HTMLElement|string} mountTarget - container element, or element id (e.g. 'ContactFormbox'), or CSS selector string 2178 * @param { apiBase?: string, getEmail?: function(): string, onScreeningCompleted?: function(collected: Object): void } [options] - apiBase defaults to the same page API_BASEï¼email defaults to globalFormData.emailï¼only call onScreeningCompleted when **all_answered**ï¼all questions answeredï¼ï¼ 2179 */ 2180 function mountSalesScreeningChat(mountTarget, options) { 2181 options = options || {}; 2182 var box = typeof mountTarget === 'string' 2183 ? (document.getElementById(mountTarget) || document.querySelector(mountTarget)) 2184 : mountTarget; 2185 if (!box) return null; 2186 2187 var apiBase = options.apiBase; 2188 if (apiBase == null) { 2189 try { 2190 apiBase = API_BASE; 2191 } catch (e) { 2192 apiBase = null; 2193 } 2194 } 2195 if (apiBase == null) apiBase = 'https://webchatbot.hireez.com/api/v1'; 2196 2197 var FIRST_QUESTION_GREETING = "ð¯ Almost there â let's get you set up <br>To match you with the right specialist, we just need a few quick details (Less than 30 seconds).<br>"; 2198 2199 function escapeHtml(str) { 2200 if (str == null) return ''; 2201 return String(str) 2202 .replace(/&/g, '&') 2203 .replace(/</g, '<') 2204 .replace(/>/g, '>') 2205 .replace(/"/g, '"'); 2206 } 2207 2208 function resolveEmail() { 2209 if (typeof options.getEmail === 'function') { 2210 var e = options.getEmail(); 2211 return e || undefined; 2212 } 2213 if (globalFormData && globalFormData.email) return globalFormData.email; 2214 return undefined; 2215 } 2216 2217 var wrap = document.createElement('div'); 2218 wrap.innerHTML = '<main class="chat-card sales-screening-chat">' + 2219 '<div class="messages">' + 2220 '<div class="msg bot first-bot-message">' + 2221 '<div class="bot-message-header"><span class="chatbot-ez-icon"></span><span class="bot-header-text">hireEZ</span></div>' + 2222 '<span class="first-msg-text">' + FIRST_QUESTION_GREETING + '</span>' + 2223 '<div class="time"></div>' + 2224 '</div>' + 2225 '</div>' + 2226 '<div class="screening-chat-input-wrap">' + 2227 '<div class="reply-options hidden"></div>' + 2228 '<div class="input-row">' + 2229 '<textarea class="screening-chat-input" placeholder="Type your reply..." rows="1"></textarea>' + 2230 '<button type="button" class="btn-send screening-chat-send"></button>' + 2231 '</div>' + 2232 '</div>' + 2233 '</main>'; 2234 var main = wrap.firstElementChild; 2235 if (!main) return null; 2236 box.appendChild(main); 2237 2238 main.classList.add('show'); 2239 var closeBtn = main.querySelector('.close-button'); 2240 if (closeBtn) { 2241 closeBtn.setAttribute('role', 'button'); 2242 closeBtn.setAttribute('tabindex', '0'); 2243 closeBtn.setAttribute('aria-label', 'Close'); 2244 function closeChat() { 2245 main.classList.remove('show'); 2246 } 2247 closeBtn.addEventListener('click', closeChat); 2248 closeBtn.addEventListener('keydown', function (ev) { 2249 if (ev.key === 'Enter' || ev.key === ' ') { 2250 ev.preventDefault(); 2251 closeChat(); 2252 } 2253 }); 2254 } 2255 2256 var CHAT_URL = apiBase + '/sales-agent/screening/chat'; 2257 var QUESTIONS_URL = apiBase + '/sales-agent/screening/questions'; 2258 2259 var messagesEl = main.querySelector('.messages'); 2260 var inputEl = main.querySelector('.screening-chat-input'); 2261 var btnSend = main.querySelector('.screening-chat-send'); 2262// var progressBar = main.querySelector('.progress-bar'); 2263 var inputRow = main.querySelector('.input-row'); 2264 var inputRowWrap = main.querySelector('.screening-chat-input-wrap'); 2265 var replyOptionsEl = main.querySelector('.reply-options'); 2266 2267 if (!messagesEl || !inputEl || !btnSend || !inputRow || !replyOptionsEl || !inputRowWrap) { 2268 return main; 2269 } 2270 2271 var convId = null; 2272 var collected = {}; 2273 var other_texts = {}; 2274 var completed = false;
2275 var questionOptionsById = {}; 2276 2277 function appendMessage(role, text, isPlaceholder) { 2278 var div = document.createElement('div'); 2279 div.className = 'msg ' + role; 2280 if (role === 'bot') { 2281 var header = document.createElement('div'); 2282 header.className = 'bot-message-header'; 2283 header.innerHTML = '<span class="chatbot-ez-icon"></span><span class="bot-header-text">hireEZ</span>'; 2284 div.appendChild(header); 2285 var body = document.createElement('div'); 2286 body.className = 'bot-message-body'; 2287 body.innerHTML = (text || '').replace(/\n/g, '<br>'); 2288 div.appendChild(body); 2289 } else if (role === 'user') { 2290 div.innerHTML = (text || '').replace(/\n/g, '<br>'); 2291 } 2292 if (isPlaceholder) div.setAttribute('data-placeholder', '1'); 2293 messagesEl.appendChild(div); 2294 messagesEl.scrollTop = messagesEl.scrollHeight; 2295 return div; 2296 } 2297 2298 function removePlaceholder() { 2299 var el = messagesEl.querySelector('.msg[data-placeholder="1"]'); 2300 if (el) el.remove(); 2301 } 2302 2303 2304 2305 function setCompleted(completedVal) { 2306 completed = !!completedVal; 2307 if (completed) { 2308 main.setAttribute('data-screening-completed', '1'); 2309 inputRowWrap.style.display = 'none'; 2310 var reopenRm = document.querySelector('.sales-screening-reopen-btn'); 2311 if (reopenRm) reopenRm.remove(); 2312 if (typeof options.onScreeningCompleted === 'function') { 2313 try { 2314 options.onScreeningCompleted(Object.assign({}, collected)); 2315 } catch (e) { 2316 console.error('onScreeningCompleted', e); 2317 } 2318 } 2319 setTimeout(function () { 2320 main.classList.remove('show'); 2321 }, 5000); 2322 } 2323 } 2324 2325 function showError(msg) { 2326 var el = document.createElement('div'); 2327 el.className = 'error-msg'; 2328 el.textContent = msg || '请æ±å¤±è´¥ï¼è¯·éè¯'; 2329 messagesEl.appendChild(el); 2330 messagesEl.scrollTop = messagesEl.scrollHeight; 2331 setTimeout(function () { el.remove(); }, 4000); 2332 } 2333 2334 function setReplyOptions(opts) { 2335 replyOptionsEl.innerHTML = ''; 2336 if (!opts || opts.length === 0) { 2337 replyOptionsEl.classList.add('hidden'); 2338 return; 2339 } 2340 replyOptionsEl.classList.remove('hidden'); 2341 opts.forEach(function (opt) { 2342 var label = opt.label || opt.value || ''; 2343 if (!label) return; 2344 var btn = document.createElement('button'); 2345 btn.type = 'button'; 2346 btn.className = 'opt-btn'; 2347 btn.textContent = label; 2348 btn.addEventListener('click', function () { 2349 sendMessage(label); 2350 }); 2351 replyOptionsEl.appendChild(btn); 2352 }); 2353 } 2354 2355 function normalizeOptionList(opts) { 2356 if (!opts || !opts.length) return []; 2357 return opts.map(function (opt) { 2358 return { 2359 label: (opt && (opt.label || opt.value)) || '', 2360 value: (opt && (opt.value || opt.label)) || '' 2361 }; 2362 }).filter(function (opt) { 2363 return !!opt.label; 2364 }); 2365 } 2366 2367 function resolveReplyOptions(data) { 2368 if ( 2369 data && 2370 data.waiting_for_question_id && 2371 questionOptionsById[data.waiting_for_question_id] && 2372 questionOptionsById[data.waiting_for_question_id].length 2373 ) { 2374 return questionOptionsById[data.waiting_for_question_id]; 2375 } 2376 return normalizeOptionList(data && data.reply_options); 2377 } 2378 2379 async function sendMessage(textOrEmpty) { 2380 var text = (typeof textOrEmpty === 'string' ? textOrEmpty : (inputEl.value || '')).trim(); 2381 if (!text || completed) return; 2382 2383 inputEl.value = ''; 2384 setReplyOptions([]); 2385 appendMessage('user', text); 2386 var placeholder = appendMessage('bot', '', true); 2387 placeholder.className = 'msg bot loading'; 2388 btnSend.disabled = true; 2389 2390 try { 2391 var body = { 2392 message: text, 2393 collected: collected, 2394 other_texts: other_texts 2395 }; 2396 if (convId) body.conv_id = convId; 2397 var em = resolveEmail(); 2398 if (em) body.email = em; 2399 2400 var res = await fetch(CHAT_URL, { 2401 method: 'POST', 2402 headers: { 'Content-Type': 'application/json' }, 2403 body: JSON.stringify(body) 2404 }); 2405 2406 var data = await res.json().catch(function () { return {}; }); 2407 2408 removePlaceholder(); 2409 2410 if (!res.ok) { 2411 showError(data.detail || 'Request failed ' + res.status); 2412 btnSend.disabled = false;
2413 return; 2414 } 2415 2416 convId = data.conv_id || convId; 2417 if (data.collected && typeof data.collected === 'object') { 2418 collected = data.collected; 2419// setProgress(collected); 2420 } 2421 if (data.other_texts && typeof data.other_texts === 'object') { 2422 other_texts = data.other_texts; 2423 } 2424 if (data.all_answered) setCompleted(true); 2425 2426 appendMessage('bot', data.reply || ''); 2427 setReplyOptions(resolveReplyOptions(data)); 2428 } catch (err) { 2429 removePlaceholder(); 2430 showError(err.message || 'Network error'); 2431 } 2432 2433 btnSend.disabled = false; 2434 } 2435 2436 btnSend.addEventListener('click', function () { sendMessage(); }); 2437 inputEl.addEventListener('keydown', function (e) { 2438 if (e.key === 'Enter' && !e.shiftKey) { 2439 e.preventDefault(); 2440 sendMessage(); 2441 } 2442 }); 2443 2444 2445 function initFirstMessageAndOptions() { 2446 fetch(QUESTIONS_URL).then(function (r) { return r.json(); }).then(function (data) { 2447 var questions = (data && data.questions) || []; 2448 questionOptionsById = {}; 2449 questions.forEach(function (q) { 2450 if (!q || !q.id) return; 2451 questionOptionsById[q.id] = normalizeOptionList(q.options); 2452 }); 2453 var first = data.questions && data.questions[0]; 2454 var firstEl = main.querySelector('.first-bot-message'); 2455 if (firstEl) { 2456 var textEl = firstEl.querySelector('.first-msg-text'); 2457 if (textEl && first && first.text) { 2458 textEl.innerHTML = FIRST_QUESTION_GREETING + escapeHtml(first.text).replace(/\n/g, '<br>'); 2459 } 2460 } 2461 if (first && first.options && first.options.length) { 2462 setReplyOptions(first.options); 2463 } 2464 }).catch(function () { }); 2465 } 2466 initFirstMessageAndOptions(); 2467 2468 return main; 2469 } 2470 // Function to call ChiliPiper with current form data (no IP check inside) 2471 async function callChiliPiper() { 2472 try { 2473 if (!globalFormData) { 2474 displaySuccessMessage(); 2475 return; 2476 } 2477 const loc = await checkIpLocation(); 2478 const nameParts = globalFormData.full_name.split(' '); 2479 const firstName = nameParts[0] || ''; 2480 const lastName = nameParts.slice(1).join(' ') || ''; 2481 2482 const leadData = { 2483 'Email': globalFormData.email, 2484 'First Name': firstName, 2485 'Last Name': lastName, 2486 'Company': globalFormData.company_name, 2487 'Phone': globalFormData.phone, 2488 'Hiring Responsibility': globalFormData.hiringType, 2489 'Company Size': globalFormData.companySize, 2490 'Employees Num': globalFormData.employeeNum, 2491 'IP Country': loc.country_name || '', 2492 }; 2493 2494// console.log('Calling ChiliPiper with deploy API format:', leadData); 2495 2496 return new Promise((resolve, reject) => { 2497 ChiliPiper.submit("hireez", "contact-sales", { 2498 trigger: 'ThirdPartyForm', 2499 domElement: "#ContactFormbox", 2500 lead: leadData, 2501 onSuccess: function () { 2502// console.log('ChiliPiper calendar loaded successfully'); 2503 resolve(); 2504 }, 2505 onRouted: function () { 2506// console.log('ChiliPiper routing completed'); 2507 resolve(); 2508 }, 2509 onError: function (error) { 2510 console.error('ChiliPiper submission error:', error); 2511 document.body.classList.add('hide-chilipiper'); 2512 displaySuccessMessage(); 2513 resolve(); 2514 } 2515 }); 2516 }); 2517 } catch (error) { 2518 console.error('ChiliPiper submission error:', error); 2519 displaySuccessMessage(); 2520 } 2521 } 2522 2523 hbspt.forms.create({ 2524 portalId: "47343634", 2525 formId: "638f7100-104f-49d9-9ae1-0b9948e1797b", 2526 onFormReady: function ($form) { 2527 var formTitle = `<div class="form-title">Contact sales</div>`; 2528 $form.prepend(formTitle); 2529 if (cachedIpCountryValue) fillCustomIpCountryInput(cachedIpCountryValue); 2530 var hdyhauField = $form[0] 2531 ? $form[0].querySelector('.hs_how_did_you_hear_about_us') 2532 : document.querySelector('.hs_how_did_you_hear_about_us'); 2533 if (hdyhauField) { 2534 hdyhauField.style.display = 'none'; 2535 } 2536 }, 2537 onFormSubmit: async function (data) { 2538 if( document.querySelector('.unit1 .support-text')){ 2539 document.querySelector('.unit1 .support-text').style.display = 'none'; 2540 } 2541 if( document.querySelector('.unit1 .form-title')){ 2542 document.querySelector('.unit1 .form-title').style.display = 'none'; 2543 } 2544 2545 document.querySelector('.unit1 .hbspt-form').style.visibility = 'hidden'; 2546 const formdata = data["0"]; 2547 2548 var hiringType = document.getElementById('le__c-638f7100-104f-49d9-9ae1-0b9948e1797b').value; 2549 2550 if (!hiringType || hiringType.trim() === '') { 2551 const thoughtChainContainer = createThoughtChainContainer(); 2552 const targetElement = document.getElementById('ContactFormbox'); 2553 if (targetElement) { 2554 targetElement.insertBefore(thoughtChainContainer, targetElement.firstChild); 2555 } 2556 const thoughtChainTitle = document.querySelector('.thought-chain-title'); 2557 if (thoughtChainTitle) thoughtChainTitle.style.display = 'none'; 2558 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2559 if (agentThoughtProcess) agentThoughtProcess.style.display = 'none'; 2560 2561 displaySuccessMessage(); 2562 return; 2563 } 2564 var companySizeValue = ''; 2565 var employeeNumValue = ''; 2566 2567 if (hiringType == 'Corporate') { 2568 companySizeValue = document.getElementById('company_
2568size_dropdown-638f7100-104f-49d9-9ae1-0b9948e1797b').value; 2569 } 2570 else { 2571 employeeNumValue = document.getElementById('numemployees-638f7100-104f-49d9-9ae1-0b9948e1797b').value; 2572 } 2573 var emailValue = document.getElementById('email-638f7100-104f-49d9-9ae1-0b9948e1797b').value; 2574 var extractedCompany = extractDomain(emailValue); 2575 var formData = { 2576 'full_name': document.getElementById('firstname-638f7100-104f-49d9-9ae1-0b9948e1797b').value + ' ' + document.getElementById('lastname-638f7100-104f-49d9-9ae1-0b9948e1797b').value, 2577 'email': emailValue, 2578 'company_name': extractedCompany && extractedCompany.trim() ? extractedCompany.trim() : 'Unknown Company' 2579 } 2580 2581 // Save to global variable for ChiliPiper usage 2582 globalFormData = { 2583 ...formData, 2584 companySize: companySizeValue, 2585 phone: document.getElementById('phone-638f7100-104f-49d9-9ae1-0b9948e1797b').value, 2586 employeeNum: employeeNumValue, 2587 hiringType: document.getElementById('le__c-638f7100-104f-49d9-9ae1-0b9948e1797b').value 2588 }; 2589 2590 // Store original form data globally for clarification updates 2591 originalFormData = formData; 2592 2593 // Check if user qualifies for direct ChiliPiper call (skip sendChat) 2594 const qualifiesForDirectChiliPiper = 2595 globalFormData.companySize == '1000-5000' || 2596 globalFormData.companySize == '5000+' || 2597 globalFormData.employeeNum == '100+'; 2598 2599 if (qualifiesForDirectChiliPiper) { 2600 // Create thought chain container to hold success message 2601 const thoughtChainContainer = createThoughtChainContainer(); 2602 const targetElement = document.getElementById('ContactFormbox'); 2603 if (targetElement) { 2604 targetElement.insertBefore(thoughtChainContainer, targetElement.firstChild); 2605 } 2606 2607 // Hide thought chain elements 2608 const thoughtChainTitle = document.querySelector('.thought-chain-title'); 2609 if (thoughtChainTitle) { 2610 thoughtChainTitle.style.display = 'none'; 2611 } 2612 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2613 if (agentThoughtProcess) { 2614 agentThoughtProcess.style.display = 'none'; 2615 } 2616 2617 // const analysisResults = document.getElementById('analysisResults'); 2618 showChiliPiperLoading(analysisResults); 2619 // Call ChiliPiper 2620 await callChiliPiper(); 2621 2622 2623 return; 2624 } 2625 2626 // For non-qualifying companies, perform 2627 // ation 2628 // Perform initial comprehensive validation 2629 const initialValidation = validateAllFormData(formData); 2630 2631 // If there are client-side validation issues, show success message directly 2632 if (!initialValidation.isValid) { 2633 2634 // Create thought chain container to hold success message 2635 const thoughtChainContainer = createThoughtChainContainer(); 2636 const targetElement = document.getElementById('ContactFormbox'); 2637 if (targetElement) { 2638 targetElement.insertBefore(thoughtChainContainer, targetElement.firstChild); 2639 } 2640 // Hide thought chain elements 2641 const thoughtChainTitle = document.querySelector('.thought-chain-title'); 2642 if (thoughtChainTitle) { 2643 thoughtChainTitle.style.display = 'none'; 2644 } 2645 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2646 if (agentThoughtProcess) { 2647 agentThoughtProcess.style.display = 'none'; 2648 } 2649 2650 // Call displaySuccessMessage function 2651 displaySuccessMessage(); 2652 redirectToPricingPage(); 2653 2654 2655 return; // Don't send to backend if client validation fails 2656 } 2657 // Create and show thought chain container 2658 const thoughtChainContainer = createThoughtChainContainer(); 2659 const targetElement = document.getElementById('ContactFormbox'); 2660 if (targetElement) { 2661 targetElement.insertBefore(thoughtChainContainer, targetElement.firstChild); 2662 } 2663 // For non-qualifying companies, perform agent validation with sendChat 2664 await fetchToken(); 2665 sendChat(formData); 2666 } 2667 }); 2668 2669 function redirectToPricingPage() { 2670 // If company size is 1-299, redirect to pricing page after 1.5 seconds 2671 if (globalFormData.companySize === '1-299') { 2672 setTimeout(() => { 2673 const emailValue = encodeURIComponent(globalFormData.email); 2674 window.location.href = `https://app.hireez.com/pricing/growth?email=${emailValue}`; 2675 }, 1500); 2676 } 2677 } 2678 2679 function extractDomain(email) { 2680 // Extract the domain part after @ 2681 const atIndex = email.indexOf('@'); 2682 if (atIndex === -1) return email || 'Unknown'; 2683 2684 const domain = email.substring(atIndex + 1); 2685 if (!domain) return 'Unknown'; 2686
2687 // Get the first part before the first dot (company name) 2688 const firstDot = domain.indexOf('.'); 2689 if (firstDot === -1) return domain; 2690 2691 const companyName = domain.substring(0, firstDot); 2692 return companyName || domain || 'Unknown'; 2693 } 2694 2695 function createThoughtChainContainer() { 2696 const container = document.createElement('div'); 2697 container.className = 'thought-chain-container show'; 2698 container.id = 'thoughtChainContainer'; 2699 container.innerHTML = ` 2700 <div class="thought-chain-title"> 2701 <span class="loading-dots"> 2702 <span class="loading-dot"></span> 2703 <span class="loading-dot"></span> 2704 <span class="loading-dot"></span> 2705 </span> 2706 </div> 2707 <div class="agent-thought-process" id="agentThoughtProcess" style="display: none;"> 2708 <div class="agent-thought-header" onclick="toggleAgentThoughtProcess()"> 2709 <img style="width:16px;" src="https://hireez.com/wp-content/uploads/Chatbot/EZ-agent-logo.svg" alt="hireez" class="hireez-logo"> 2710 <span class="agent-thought-title">Agent thought process (<span id="thoughtCount">0</span> messages)</span> 2711 <span class="agent-thought-toggle"><img src="https://explore.hireez.com/hubfs/arrow-gray.svg" alt="toggle arrow"></span> 2712 </div> 2713 <div class="agent-thought-content" id="agentThoughtContent"> 2714 <div id="thoughtSteps"></div> 2715 </div> 2716 </div> 2717 <div id="analysisResults"></div> 2718 `; 2719 return container; 2720 } 2721 2722 function displayThoughtStep(step, index) { 2723 const thoughtSteps = document.getElementById('thoughtSteps'); 2724 if (!thoughtSteps) return; 2725 2726 const stepElement = document.createElement('div'); 2727 stepElement.className = 'thought-step'; 2728 stepElement.innerHTML = ` 2729 <div class="thought-step-header" onclick="toggleThoughtStep(this)"> 2730 <div> 2731 <div class="thought-step-title">${index + 1}. ${step.step_name}</div> 2732 <div class="thought-step-description">${step.description}</div> 2733 </div> 2734 <div class="thought-step-toggle"><img src="https://explore.hireez.com/hubfs/arrow-gray.svg" alt="toggle arrow"></div> 2735 </div> 2736 <div class="thought-step-content"> 2737 <div>${step.content}</div> 2738 <div class="thought-step-timestamp"> 2739 ${step.timestamp ? new Date(step.timestamp).toLocaleTimeString() : ''} 2740 </div> 2741 </div> 2742 `; 2743 2744 thoughtSteps.appendChild(stepElement); 2745 updateThoughtProcessCount(); 2746 } 2747 2748 function displayRealtimeThoughtStep(step) { 2749 const thoughtSteps = document.getElementById('thoughtSteps'); 2750 if (!thoughtSteps) return; 2751 2752 // Count existing steps to get index 2753 const existingSteps = thoughtSteps.children.length; 2754 2755 const stepElement = document.createElement('div'); 2756 stepElement.className = 'thought-step'; 2757 2758 stepElement.innerHTML = ` 2759 <div class="thought-step-header" onclick="toggleThoughtStep(this)"> 2760 <div> 2761 <div class="thought-step-title"> 2762 ${existingSteps + 1}. ${step.step_name} 2763 </div> 2764 <div class="thought-step-description">${step.description}</div> 2765 </div> 2766 <div class="thought-step-toggle"><img src="https://explore.hireez.com/hubfs/arrow-gray.svg" alt="toggle arrow"></div> 2767 </div> 2768 <div class="thought-step-content"> 2769 <div>${step.content}</div> 2770 <div class="thought-step-timestamp"> 2771 ${step.timestamp ? new Date(step.timestamp).toLocaleTimeString() : ''} 2772 </div> 2773 </div> 2774 `; 2775 2776 thoughtSteps.appendChild(stepElement); 2777 updateThoughtProcessCount(); 2778 2779 // Scroll to show the new step 2780 stepElement.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); 2781 } 2782 2783 function updateThoughtStepStatus(stepIndex, status) { 2784 const thoughtSteps = document.getElementById('thoughtSteps'); 2785 if (!thoughtSteps) return; 2786 2787 const stepElement = thoughtSteps.children[stepIndex]; 2788 if (stepElement) { 2789 const titleElement = stepElement.querySelector('.thought-step-title'); 2790 if (titleElement) { 2791 // Remove existing status icons 2792 titleElement.innerHTML = titleElement.innerHTML.replace(/(ð|â |â ï¸|â)/g, ''); 2793 2794 // Add new status icon 2795 if (status === 'completed') { 2796 titleElement.innerHTML += '<span style="color: #28a745; margin-left: 8px;">â </span>'; 2797 titleElement.style.color = '#28a745'; 2798 } else if (status === 'warning') { 2799 titleElement.innerHTML += '<span style="color: #ff9800; margin-left: 8px;">â ï¸</span>'; 2800 titleElement.style.color = '#ff9800'; 2801 } else if (status === 'error') { 2802 titleElement.innerHTML += '<span style="color: #dc3545; margin-left: 8px;">â</span>'; 2803 titleElement.style.color = '#dc3545'; 2804 } 2805 } 2806 } 2807 } 2808 2809 function toggleThoughtStep(header) { 2810 const content = header.nextElementSibling; 2811 const toggle = header.querySelector('.thought-step-toggle'); 2812 2813 if (content.classList.contains('collapsed')) { 2814 content.classList.remove('collapsed'); 2815 toggle.classList.remove('collapsed'); 2816 } else { 2817 content.classList.add('collapsed'); 2818 toggle.classList.add('collapsed'); 2819 } 2820 } 2821 2822 function toggleAgentThoughtProcess() { 2823 const content = document.getElementById('agentThoughtContent'); 2824 const toggle = document.querySelector('.agent-thought-toggle'); 2825 2826 if (!content || !toggle) return; 2827 2828 if (content.classList.contains('collapsed')) { 2829 content.classList.remove('collapsed'); 2830 toggle.classList.remove('collapsed'); 2831 } else { 2832 content.classList.add('collapsed'); 2833 toggle.classList.add('collapsed'); 2834 } 2835 } 2836 2837 function updateThoughtProcessCount() { 2838 const thoughtSteps = document.getElementById('thoughtSteps'); 2839 const countElement = document.getElementById('thoughtCount'); 2840 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2841 2842 if (thoughtSteps && countElement) { 2843 const stepCount = thoughtSteps.children.length; 2844 countElement.textContent = stepCount; 2845 2846 // Show/hide agent thought process based on step count 2847 if (agentThoughtProcess) { 2848 if (stepCount > 0) { 2849 // Show and expand when there are steps 2850 agentThoughtProcess.style.display = 'block'; 2851 const agentThoughtContent = document.getElementById('agentThoughtContent'); 2852 const toggle = document.querySelector('.agent-thought-toggle'); 2853 2854 if (agentThoughtContent && toggle) { 2855 agentThoughtContent.classList.remove('collapsed'); 2856 toggle.classList.remove('collapsed'); 2857 } 2858 } else { 2859 // Hide when no steps 2860 agentThoughtProcess.style.display = 'none'; 2861 } 2862 } 2863 } 2864 } 2865 2866 async function displayAnalysisResults(data) { 2867 const analysisResults = document.getElementById('analysisResults'); 2868 if (!analysisResults) return; 2869 2870 // If validation passed, call ChiliPiper with special message 2871 if (data.overall_status === 'valid') { 2872 2873 2874 // Hide thought chain elements 2875 const thoughtChainTitle = document.querySelector('.thought-chain-title'); 2876 if (thoughtChainTitle) { 2877 thoughtChainTitle.style.display = 'none'; 2878 } 2879 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2880 if (agentThoughtProcess) { 2881 agentThoughtProcess.style.display = 'none'; 2882 } 2883 2884 const ipLoc = await checkIpLocation(); 2885 2886 const runAiScreening = shouldRunAiScreening(globalFormData, ipLoc); 2887 const showChiliPiperAfterValidation = shouldShowChiliPiperAfterValidation(globalFormData, ipLoc); 2888 2889 if (runAiScreening) { 2890 document.querySelector('.unit1 .hbspt-form').style.display = 'none'; 2891 mountSalesScreeningChat('ContactFormbox', { 2892 onScreeningCompleted: function (collected) { 2893 var ar = document.getElementById('analysisResults'); 2894 if (screeningBudgetQualifiesForChiliPiper(collected && collected.budget)) { 2895 setTimeout(function () { 2896 if (ar) showChiliPiperLoading(ar); 2897 callChiliPiper(); 2898 }, 5100); 2899 } else { 2900 setTimeout(function () { 2901 displaySuccessMessage(); 2902 redirectToPricingPage(); 2903 }, 5100); 2904 } 2905 } 2906 }); 2907 } else if (showChiliPiperAfterValidation) { 2908 showChiliPiperLoading(analysisResults); 2909 await callChiliPiper(); 2910 } else { 2911 displaySuccessMessage(); 2912 redirectToPricingPage(); 2913 } 2914 } else { 2915 // Hide thought chain elements 2916 const thoughtChainTitle = document.querySelector('.thought-chain-title'); 2917 if (thoughtChainTitle) { 2918 thoughtChainTitle.style.display = 'none'; 2919 } 2920 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2921 if (agentThoughtProcess) { 2922 agentThoughtProcess.style.display = 'none'; 2923 } 2924 // For validation that didn't pass, show standard success message 2925 displaySuccessMessage(); 2926 redirectToPricingPage(); 2927 } 2928 2929 // Auto-collapse agent thought process after displaying results 2930 setTimeout(() => { 2931 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2932 if (agentThoughtProcess && agentThoughtProcess.style.display !== 'none') { 2933 toggleAgentThoughtProcess(); 2934 } 2935 }, 500); 2936 } 2937 2938 function displaySuccessMessage() { 2939 const analysisResults = document.getElementById('analysisResults'); 2940 if (!analysisResults) return; 2941 2942 analysisResults.innerHTML = ` 2943 <div class="success-message"> 2944 <div class="success-icon"> 2945 <img src="https://47343634.fs1.hubspotusercontent-na1.net/hubfs/47343634/contact-sales/jira_3776_form4_icon.svg" style="width: 60px; height: auto; margin-bottom: 40px; max-width: 100%; margin-left: auto; margin-right: auto; display: block;" alt="" width="60" height="60"> 2946 </div> 2947 <div class="success-title">
2947Thanks for contacting us!</div> 2948 <div class="success-subtitle">We'll reach out to you shortly.</div> 2949 </div> 2950 `; 2951 2952 // Auto-collapse agent thought process after displaying success message 2953 setTimeout(() => { 2954 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2955 if (agentThoughtProcess && agentThoughtProcess.style.display !== 'none') { 2956 toggleAgentThoughtProcess(); 2957 } 2958 }, 500); 2959 } 2960 2961 function displayChiliPiperSuccessMessage() { 2962 const analysisResults = document.getElementById('analysisResults'); 2963 if (!analysisResults) return; 2964 2965 analysisResults.innerHTML = ` 2966 <div class="success-message"> 2967 <div class="success-icon"> 2968 <img src="https://47343634.fs1.hubspotusercontent-na1.net/hubfs/47343634/contact-sales/jira_3776_form4_icon.svg" style="width: 60px; height: auto; margin-bottom: 40px; max-width: 100%; margin-left: auto; margin-right: auto; display: block;" alt="" width="60" height="60"> 2969 </div> 2970 <div class="success-title">Take the next step with hireEZ</div> 2971 <div class="success-subtitle">Select a time that fits your schedule</div> 2972 </div> 2973 `; 2974 2975 // Auto-collapse agent thought process after displaying success message 2976 setTimeout(() => { 2977 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2978 if (agentThoughtProcess && agentThoughtProcess.style.display !== 'none') { 2979 toggleAgentThoughtProcess(); 2980 } 2981 }, 500); 2982 } 2983 2984 // Validation functions 2985 function validateEmail(email) { 2986 const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; 2987 if (!emailRegex.test(email)) { 2988 return { valid: false, message: 'Please enter a valid email format' }; 2989 } 2990 2991 // Check for free email domains 2992 const freeEmailDomains = ['gmail.com', 'yahoo.com', 'yahoo.net', 'gma.com', 'gail.com', 'yahu.com', 'alo.net', 'relay.walmart.com', 'work.com', 'book.com', 'yahul.com', 'email.net', '360.com', 'rocketmail.net', 'alo.com', 'set.com', 'blizzard.com', 'yho.com', 'aquaflow.com', 'nol.com', 'ail.com', 'yaoo.com', 'company.com', 'domain.com', 'business.com', 'htmail.com', 'gmail.com.cn.au', 'nol.com', 'yoo.com', 'qualys.com', 'google.com', 'fbook.com', 'yyahoo.com', 'gil.com', 'yhoo.com', 'ggmail.com', 'yahaoo.com', 'explore.com', 'yayoo.com', 'gam.com']; 2993 2994 2995 const domain = email.split('@')[1].toLowerCase(); 2996 if (freeEmailDomains.includes(domain)) { 2997 return { valid: false, message: 'Please enter a business email address (not personal email)' }; 2998 } 2999 3000 // Check for suspicious patterns 3001 const suspiciousPatterns = [ 3002 /^[a-z]{1,3}\.com$/, // Very short domains like sss.com 3003 /^test\d*\.com$/, // test domains 3004 /^demo\d*\.com$/, // demo domains 3005 /^\d+\.com$/, // numeric domains 3006 ]; 3007 3008 for (let pattern of suspiciousPatterns) { 3009 if (pattern.test(domain)) { 3010 return { valid: false, message: 'Please enter a valid business email domain' }; 3011 } 3012 } 3013 3014 // Check for known fake domains 3015 const fakeDomains = ['test.com', 'example.com', 'fake.com', 'dummy.com']; 3016 if (fakeDomains.includes(domain)) { 3017 return { valid: false, message: 'Please enter a real business email address' }; 3018 } 3019 3020 // Check for test emails in domain names 3021 if (domain.includes('test') || domain.includes('demo') || domain.includes('sample')) { 3022 return { valid: false, message: 'Please enter a real business email address (not test/demo email)' }; 3023 } 3024 3025 return { valid: true, message: '' }; 3026 } 3027 3028 function validateFullName(name) { 3029 if (!name || name.trim().length < 2) { 3030 return { valid: false, message: 'Please enter your full name (
3030at least 2 characters)' }; 3031 } 3032 3033 // Check for valid name characters (letters, spaces, hyphens, apostrophes) 3034 const nameRegex = /^[a-zA-Z\s\-'\.]+$/; 3035 if (!nameRegex.test(name)) { 3036 return { valid: false, message: 'Name can only contain letters, spaces, hyphens, and apostrophes' }; 3037 } 3038 3039 // Check for numbers 3040 if (/\d/.test(name)) { 3041 return { valid: false, message: 'Name cannot contain numbers' }; 3042 } 3043 3044 // Check for excessive special characters 3045 const specialCharCount = (name.match(/[^a-zA-Z\s]/g) || []).length; 3046 if (specialCharCount > 3) { 3047 return { valid: false, message: 'Name contains too many special characters' }; 3048 } 3049 3050 // Check for reasonable length 3051 if (name.trim().length > 100) { 3052 return { valid: false, message: 'Name is too long (maximum 100 characters)' }; 3053 } 3054 3055 // Check that it's not all special characters 3056 const letterCount = (name.match(/[a-zA-Z]/g) || []).length; 3057 if (letterCount < 2) { 3058 return { valid: false, message: 'Please enter a valid name with at least 2 letters' }; 3059 } 3060 3061 // Check for obvious test names 3062 const lowerName = name.toLowerCase().trim(); 3063 const testNames = ['test', 'demo', 'sample', 'fake', 'dummy', 'example', 'testing']; 3064 for (let testName of testNames) { 3065 if (lowerName.includes(testName)) { 3066 return { valid: false, message: 'Please enter your real name (not test/demo name)' }; 3067 } 3068 } 3069 3070 // Check for names that are too simple or suspicious 3071 const words = lowerName.split(/\s+/); 3072 if (words.length === 1 && words[0].length < 3) { 3073 return { valid: false, message: 'Please enter your full name (first and last name)' }; 3074 } 3075 3076 return { valid: true, message: '' }; 3077 } 3078 3079 3080 3081 function validateAllFormData(formData) { 3082 const validationResults = {}; 3083 const clarificationQuestions = []; 3084 const issues = []; 3085 3086 // Validate email 3087 const emailValidation = validateEmail(formData.email); 3088 validationResults.email = emailValidation; 3089 3090 // Validate full name 3091 const nameValidation = validateFullName(formData.full_name); 3092 validationResults.full_name = nameValidation; 3093 3094 // Generate consolidated clarification questions 3095 let emailHasIssues = !emailValidation.valid; 3096 let nameHasIssues = !nameValidation.valid; 3097 3098 // Check for cross-validation issues (test data patterns) 3099 const emailLocal = formData.email ? formData.email.split('@')[0].toLowerCase() : ''; 3100 const nameWords = formData.full_name ? formData.full_name.toLowerCase().split(/\s+/) : []; 3101 const bothContainTest = emailLocal.includes('test') && nameWords.some(word => word.includes('test')); 3102 3103 if (bothContainTest) { 3104 // Special case: both email and name contain test data 3105 clarificationQuestions.push("Your real business email address."); 3106 clarificationQuestions.push("Your real full name."); 3107 issues.push('cross_validation_test_data'); 3108 } else { 3109 // Handle email issues 3110 if (emailHasIssues) { 3111 if (emailValidation.message.includes('test') || emailValidation.message.includes('demo')) { 3112 clarificationQuestions.push("Please provide your real business email address."); 3113 } else if (emailValidation.message.includes('personal email')) { 3114 clarificationQuestions.push("Please provide a business email address."); 3115 } else { 3116 clarificationQuestions.push("Please provide a valid business email address."); 3117 } 3118 issues.push('email_validation'); 3119 } 3120 3121 // Handle name issues 3122 if (nameHasIssues) { 3123 if (nameValidation.message.includes('test') || nameValidation.message.includes('demo')) { 3124 clarificationQuestions.push("Please provide your real full name."); 3125 } else if (nameValidation.message.includes('numbers')) { 3126 clarificationQuestions.push("Please provide your real full name (names cannot contain numbers)."); 3127 } else if (nameValidation.message.includes('characters')) { 3128 clarificationQuestions.push("Please provide your full name using only letters, space
3128s, hyphens, and apostrophes."); 3129 } else { 3130 clarificationQuestions.push("Please provide your complete full name (first and last name)."); 3131 } 3132 issues.push('name_validation'); 3133 } 3134 } 3135 3136 return { 3137 isValid: clarificationQuestions.length === 0, 3138 validationResults, 3139 clarificationQuestions, 3140 issues 3141 }; 3142 } 3143 // Store the original form data for updates 3144 let originalFormData = null; 3145 3146 // Real-time streaming function using EventSource 3147 function sendChatStreaming(formData) { 3148 return new Promise((resolve, reject) => { 3149 const API_BASE = 'https://webchatbot.hireez.com/api/v1'; 3150 3151 // Use fetch to send form data and then connect to streaming endpoint 3152 fetch(`${API_BASE}/sales-agent/validate-form-streaming`, { 3153 method: 'POST', 3154 headers: { 3155 'Content-Type': 'application/json', 3156 }, 3157 body: JSON.stringify(formData) 3158 }) 3159 .then(response => { 3160 if (!response.ok) { 3161 throw new Error(`HTTP ${response.status}: ${response.statusText}`); 3162 } 3163 3164 // Hide loading indicator once stream starts 3165 const loadingDots = document.querySelector('.loading-dots'); 3166 if (loadingDots) { 3167 loadingDots.style.display = 'none'; 3168 } 3169 3170 const reader = response.body.getReader(); 3171 const decoder = new TextDecoder(); 3172 let buffer = ''; // Buffer to accumulate incomplete data 3173 3174 function processStream() { 3175 return reader.read().then(({ done, value }) => { 3176 if (done) { 3177 // Process any remaining data in buffer 3178 if (buffer.trim()) { 3179 processSSEMessages(buffer); 3180 } 3181 resolve(); 3182 return; 3183 } 3184 3185 // Accumulate data in buffer 3186 buffer += decoder.decode(value, { stream: true }); 3187 3188 // Process complete SSE messages (separated by double newlines) 3189 const messages = buffer.split(/\n\n/); 3190 3191 // Keep the last potentially incomplete message in buffer 3192 buffer = messages.pop() || ''; 3193 3194 // Process complete messages 3195 for (const message of messages) { 3196 processSSEMessages(message); 3197 } 3198 3199 return processStream(); 3200 }); 3201 } 3202 3203 function processSSEMessages(message) { 3204 const lines = message.split('\n'); 3205 let eventType = null; 3206 let dataLines = []; 3207 3208 for (const line of lines) { 3209 const trimmedLine = line.trim(); 3210 if (trimmedLine.startsWith('event:')) { 3211 // If we have a previous event with data, process it first 3212 if (eventType && dataLines.length > 0) { 3213 parseAndHandleEvent(eventType, dataLines.join('\n')); 3214 } 3215 eventType = trimmedLine.substring(6).trim(); 3216 dataLines = []; 3217 } else if (trimmedLine.startsWith('data:')) { 3218 dataLines.push(trimmedLine.substring(5).trim()); 3219 } 3220 } 3221 3222 // Process the last event in the message
3223 if (eventType && dataLines.length > 0) { 3224 parseAndHandleEvent(eventType, dataLines.join('\n')); 3225 } 3226 } 3227 3228 function parseAndHandleEvent(eventType, dataStr) { 3229 try { 3230 const eventData = JSON.parse(dataStr); 3231 handleStreamEvent(eventType, eventData); 3232 } catch (e) { 3233 console.error('Error parsing event data:', e, 'Data:', dataStr.substring(0, 200)); 3234 } 3235 } 3236 3237 return processStream(); 3238 }) 3239 .catch(error => { 3240 console.error('Streaming error:', error); 3241 3242 // Show timeout-specific error message 3243 if (error.message.includes('timeout') || error.message.includes('Timeout')) { 3244 displayTimeoutError(); 3245 } else { 3246 displayError(`Network error: ${error.message}`); 3247 } 3248 3249 reject(error); 3250 }); 3251 }); 3252 } 3253 3254 async function handleStreamEvent(eventType, data) { 3255 3256 switch (eventType) { 3257 case 'thought_step': 3258 displayRealtimeThoughtStep(data); 3259 break; 3260 3261 case 'final_result': 3262 // Hide loading indicator when final result arrives 3263 const loadingDots = document.querySelector('.loading-dots'); 3264 if (loadingDots) { 3265 loadingDots.style.display = 'none'; 3266 } 3267 3268 if (data.success) { 3269 await displayAnalysisResults(data.data); 3270 } else { 3271 displayError(data.message); 3272 } 3273 break; 3274 3275 case 'error': 3276 // Hide loading indicator on error 3277 const errorLoadingDots = document.querySelector('.loading-dots'); 3278 if (errorLoadingDots) { 3279 errorLoadingDots.style.display = 'none'; 3280 } 3281 displayError(data.message); 3282 break; 3283 } 3284 } 3285 3286 function displayTimeoutError() { 3287 const thoughtChainContainer = document.getElementById('thoughtChainContainer'); 3288 if (thoughtChainContainer) { 3289 thoughtChainContainer.innerHTML = ` 3290 <div class="thought-chain-title">â¡ Fast Response Mode</div> 3291 <div style="padding: 12px; background: #e1f5fe; border: 1px solid #01579b; border-radius: 4px; color: #01579b;"> 3292 <div style="font-weight: 600; margin-bottom: 4px;">Analysis completed using fast validation</div> 3293 <div style="font-size: 13px;"> 3294 The AI analysis took longer than expected, so we provided immediate results using our backup validation system. 3295 The results are still accurate and ready for your review. 3296 </div> 3297 </div> 3298 `; 3299 } 3300 } 3301 3302 function displayError(message) { 3303 const thoughtChainContainer = document.getElementById('thoughtChainContainer'); 3304 if (thoughtChainContainer) { 3305 thoughtChainContainer.innerHTML = ` 3306 <div class="thought-chain-title">â Analysis Error</div> 3307 <div style="padding: 12px; background: #f8d7da; border: 1px solid #f5c6cb; border-radius: 4px; color: #721c24;"> 3308 ${message} 3309 </div> 3310 `; 3311 } 3312 } 3313 3314 // const API_BASE = 'http://127.0.0.1:8001/api/v1'; 3315 const API_BASE = 'https://webchatbot.hireez.com/api/v1'; 3316 let authToken = null;
3317 let csrfToken = null; 3318 3319 async function fetchToken() { 3320 const res = await fetch(`${API_BASE}/auth/token`, { 3321 method: 'GET', 3322 credentials: 'include' 3323 }); 3324 const data = await res.json(); 3325 authToken = data.token + ':' + data.sig; 3326 csrfToken = data.csrf_token; 3327 } 3328 3329 async function sendChat(formData, retryCount = 0) { 3330 const MAX_RETRIES = 3; 3331 try { 3332 // Try the new streaming endpoint first 3333 await sendChatStreaming(formData); 3334 return; 3335 3336 } catch (streamError) { 3337// console.log('Streaming failed, falling back to regular endpoint:', streamError); 3338 3339 // Fallback to regular endpoint 3340 try { 3341 const res = await fetch(`${API_BASE}/sales-agent/validate-form`, { 3342 method: 'POST', 3343 headers: { 3344 'Content-Type': 'application/json', 3345 'X-Auth-Token': authToken, 3346 'X-CSRF-Token': csrfToken 3347 }, 3348 credentials: 'include', 3349 body: JSON.stringify(formData) 3350 }); 3351 3352 if (res.status === 401) { 3353 if (retryCount >= MAX_RETRIES) { 3354 throw new Error("Maximum authentication retries exceeded"); 3355 } 3356 await fetchToken(); 3357 return sendChat(formData, retryCount + 1); 3358 } 3359 3360 const responseData = await res.json(); 3361 3362 // Hide loading indicator 3363 const loadingDots = document.querySelector('.loading-dots'); 3364 if (loadingDots) { 3365 loadingDots.style.display = 'none'; 3366 } 3367 3368 // Display thought chain steps with animation (fallback mode) 3369 if (responseData.thought_chain && responseData.thought_chain.length > 0) { 3370 responseData.thought_chain.forEach((step, index) => { 3371 setTimeout(() => { 3372 displayThoughtStep(step, index); 3373 }, index * 300); 3374 }); 3375 3376 // Display final results after all steps 3377 setTimeout(async () => { 3378 await displayAnalysisResults(responseData.data); 3379 }, responseData.thought_chain.length * 300); 3380 } else { 3381 // Fallback if no thought chain 3382 await displayAnalysisResults(responseData.data); 3383 } 3384 3385 return responseData; 3386 } catch (error) { 3387 console.error("Request failed:", error); 3388 3389 // Hide loading and show error 3390 const thoughtChainContainer = document.getElementById('thoughtChainContainer'); 3391 if (thoughtChainContainer) { 3392 thoughtChainContainer.innerHTML = ` 3393 <div class="thought-chain-title">â Analysis Error</div> 3394 <div style="padding: 12px; background: #f8d7da; border: 1px solid #f5c6cb; border-radius: 4px; color: #721c24;"> 3395 Sorry, there was an error analyzing your information. Please try again or contact support. 3396 </div> 3397 `; 3398 } 3399 } 3400 } 3401 } 3402 3403</script>
3403 3404 3405 </div> 3406 3407 3408 </div> 3409 3410 </div> 3411 </div> 3412 </section> 3413 3414 3415 3416 <!-- ==== LOGO TICKER ==== --> 3417 <div class="ticker-wrap" id="ticker"> 3418 <!-- Begin partial --> 3419<style> 3420 .logo-out-box{ 3421 3422 max-width: 1280px; 3423 margin: 0 auto; 3424 position: relative; 3425 } 3426.logo-part-title { 3427 font-family: var(--font5); 3428 font-size: 14px; 3429 color: #737478; 3430 font-weight: 600; 3431 line-height: 21px; 3432 text-align: center; 3433 margin-bottom: 40px; 3434 text-transform: uppercase; 3435 } 3436 #logo_part, 3437 #logo_part2 { 3438 padding: 0; 3439 width: 100%; 3440 overflow: hidden 3441 } 3442 3443 #logo_part .cont, 3444 #logo_part2 .cont { 3445 position: relative; 3446 z-index: 10; 3447 width: 100%; 3448 max-width: none; 3449 margin: 0 auto 3450 } 3451 3452 #logo_part .cont::before, 3453 #logo_part2 .cont::before { 3454 content: ''; 3455 position: absolute; 3456 height: 100%; 3457 width: 100px; 3458 background: linear-gradient(90deg, #fff 9.85%, rgba(255, 255, 255, 0) 100%); 3459 z-index: 11; 3460 left: 0; 3461 top: 0 3462 } 3463 3464 #logo_part .cont::after, 3465 #logo_part2 .cont::after { 3466 content: ''; 3467 position: absolute; 3468 height: 100%; 3469 width: 100px; 3470 background: linear-gradient(270deg, #fff 9.85%, rgba(255, 255, 255, 0) 100%); 3471 z-index: 11; 3472 right: 0; 3473 top: 0 3474 } 3475 3476 #logo_part .cont .cont-title, 3477 #logo_part2 .cont .cont-title { 3478 color: var(--gray-600, #475467); 3479 text-align: center; 3480 font-size: 18px; 3481 font-style: normal; 3482 font-weight: 500; 3483 line-height: 27px 3484 } 3485 3486 #logo_part .cont .logo-box, 3487 #logo_part2 .cont .logo-box { 3488 overflow: hidden; 3489 display: flex; 3490 position: relative 3491 } 3492 3493 #logo_part .cont .logo-box .lazyload, 3494 #logo_part .cont .logo-box .lazyloading, 3495 #logo_part2 .cont .logo-box .lazyload, 3496 #logo_part2 .cont .logo-box .lazyloading { 3497 opacity: 1 3498 } 3499 3500 #logo_part .center-box, 3501 #logo_part2 .center-box { 3502 margin-top: 128px 3503 } 3504 3505 #logo_part .cont .logo-box .cont-img, 3506 #logo_part2 .cont .logo-box .cont-img { 3507 --imgHeight: 40px; 3508 display: flex; 3509 gap: 39px; 3510 height: var(--imgHeight); 3511 align-items: center; 3512 width: fit-content; 3513 padding-left: 39px 3514 } 3515 3516 #logo_part .cont .logo-box .cont-img .company-icon, 3517 #logo_part2 .cont .logo-box .cont-img .company-icon { 3518 height: var(--imgHeight); 3519 width: auto 3520 } 3521 3522 #logo_part .cont .logo-box .cont-img .company-icon.size-50, 3523 #logo_part2 .cont .logo-box .cont-img .company-icon.size-50 { 3524 height: calc(var(--imgHeight) * .5) 3525 } 3526 3527 #logo_part .cont .logo-box .cont-img .company-icon.size-60, 3528 #logo_part2 .cont .logo-box .cont-img .company-icon.size-60 { 3529 height: calc(var(--imgHeight) * .6) 3530 } 3531 3532 #logo_part .cont .logo-box .cont-img .company-icon.size-80, 3533 #logo_part2 .cont .logo-box .cont-img .company-icon.size-80 { 3534 height: calc(var(--imgHeight) * .8) 3535 } 3536 #new_logo_part .cont .logo-box .cont-img .company-icon.size-90 { 3537 height: calc(var(--imgHeight) * .9) 3538 } 3539 #new_logo_part .cont .logo-box .cont-img .company-icon.size-1of2 { 3540 height: calc(var(--imgHeight) * 1.2) 3541 } 3542 #logo_part .cont .logo-box.no-anim, 3543 #logo_part2 .cont .logo-box.no-anim { 3544 overflow: inherit 3545 } 3546 3547 #logo_part .cont .logo-box.no-anim .cont-img, 3548 #logo_part2 .cont .logo-box.no-anim .cont-img { 3549 justify-content: center; 3550 padding: 0; 3551 flex-wrap: wrap; 3552 } 3553 3554 #logo_part .btn-box, 3555 #logo_part2 .btn-box { 3556 position: relative; 3557 display: inline-block 3558 } 3559 3560 #logo_part .btn-box::before, 3561 #logo_part2 .btn-box::before { 3562 content: ''; 3563 position: absolute; 3564 width: 158px; 3565 height: 158px; 3566 background: #8da1ff; 3567 filter: blur(38px); 3568 opacity: .5; 3569 top: 50%; 3570 left: -10%; 3571 transform: translate(0, -50%) 3572 } 3573 3574 #logo_part .btn-box .bg, 3575 #logo_part2 .btn-box .bg { 3576 position: absolute; 3577 width: 100px; 3578 height: 100px; 3579 background: #96ffad; 3580 filter: blur(38px); 3581 opacity: .5; 3582 top: 50%; 3583 left: 50%; 3584 transform: translate(-50%, -50%) 3585 } 3586 3587 #logo_part .btn-box::after, 3588 #logo_part2 .btn-box::after { 3589 content: ''; 3590 position: absolute; 3591 width: 100px; 3592 height: 100px; 3593 background: #e496ff; 3594 filter: blur(38px); 3595 opacity: .5; 3596 top: 50%; 3597 right: -10%; 3598 transform: translate(0, -50%) 3599 } 3600 3601 #logo_part .btn-box .book-meeting, 3602 #logo_part2 .btn-box .book-meeting { 3603 position: relative; 3604 z-index: 10 3605 } 3606 3607 @media (max-width:1240px) { 3608 3609 #logo_part .cont .cont-title, 3610 #logo_part2 .cont .cont-title { 3611 font-size: 24px 3612 } 3613 3614 #logo_part .cont .logo-box.no-anim .cont-img, 3615 #logo_part2 .cont .logo-box.no-anim .cont-img { 3616 gap: 30px 40px 3617 } 3618 } 3619 @media (max-width:1080px) { 3620 #logo_part2 .cont .logo-box .cont-img { 3621 --imgHeight: 45px 3622 } 3623 } 3624</style> 3625<div class="logo-out-box"> 3626 <div class="logo-part-title">Trusted by leading talent teams</div> 3627 <div id="logo_part" class="unit-box"> 3628 <div class="cont"> 3629 <div class="logo-box no-anim"> 3630 <div class="cont-img"> 3631 3632 3633 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/zoom-logo.svg" alt="zoom company icon" class="company-icon unlazyload size-50"> 3634 3635 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Fortinet-logo.svg" alt="Fortinet company icon" class="company-icon unlazyload"> 3636 3637 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Wayfair-logo-gray.svg" alt="Wayfair company icon" class="company-icon unlazyload size-80"> 3638 3639 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/nice-logo.svg" alt="Nice company icon" class="company-icon unlazyload size-60"> 3640 3641 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Lyft-logo-gray.svg" alt="Lyft company icon" class="company-icon unlazyload size-90"> 3642 3643 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/hashicorp-logo.png" alt="HashiCorp company icon" class="company-icon unlazyload size-1of6"> 3644 3645 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Samsara_logo.png" alt="Samsara company icon" class="company-icon unlazyload"> 3646 3647 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/service-experts-logo.png?" alt="Service Experts company icon" class="company-icon unlazyload"> 3648 3649 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Postman-logo.svg" alt="Postman company icon" class="company-icon unlazyload"> 3650 3651 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Grab_logo.svg" alt="Grab company icon" class="company-icon unlazyload size-80"> 3652 3653 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/MGM%20Resorts-logo.svg" alt="MGM Resorts company icon" class="company-icon unlazyload"> 3654 3655 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/regeneron-logo.svg" alt=" company icon" class="company-icon unlazyload size-50"> 3656 3657 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Veeva_Systems_Logo.svg" alt=" company icon" class="company-icon unlazyload size-60"> 3658 3659 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Siemens_Healthineers_logo.svg" alt=" company icon" class="company-icon unlazyload"> 3660 3661 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Compass-Group-USA-logo.png" alt=" company icon" class="company-icon unlazyload size-1of2"> 3662 3663 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/UberFreight_black.svg" alt=" company icon" class="company-icon unlazyload size-60"> 3664 3665 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/KLA-logo.svg" alt=" company icon" class="company-icon unlazyload size-80"> 3666 3667 3668 3669 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Wunderman-Thompson-logo.svg" alt=" company icon" class="company-icon unlazyload"> 3670 3671 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Flowserve-logo.svg" alt=" company icon" class="company-icon unlazyload"> 3672 3673 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/UCDavisHealth-logo.svg" alt=" company icon" class="company-icon unlazyload"> 3674 3675 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Phoenix-Childrens-Hospital-logo.svg" alt=" company icon" class="company-icon unlazyload size-1of2"> 3676 3677 3678 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Dexcom-logo.svg" alt=" company icon" class="company-icon unlazyload size-60"> 3679 3680 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/carefirst-logo.svg" alt=" company icon" class="company-icon unlazyload size-60"> 3681 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/AmeriHealth-Caritas-logo.svg" alt=" company icon" class="company-icon unlazyload"> 3682 3683 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Honey-Baked-Ham-logo.svg" alt=" company icon" class="company-icon unlazyload"> 3684 3685 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Williams_Sonoma_logo.svg" alt=" company icon" class="company-icon unlazyload size-80"> 3686 3687 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/LG-logo.svg" alt=" company icon" class="company-icon unlazyload"> 3688 3689 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/lpl-financial-logo.svg" alt=" company icon" class="company-icon unlazyload size-60"> 3690 3691 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/aramco-logo.png" alt=" company icon" class="company-icon unlazyload size-80"> 3692 3693 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/ServiceMaster-Logo.svg" alt=" company icon" class="company-icon unlazyload size-80"> 3694 3695 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Assurant-logo.svg" alt=" company icon" class="company-icon unlazyload"> 3696 3697 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/AARP-logo.svg" alt=" company icon" class="company-icon unlazyload size-90"> 3698 3699 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Insight-Global-logo.png" alt=" company icon" class="company-icon unlazyload"> 3700 3701 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/UCSF-logo.svg" alt=" company icon" class="company-icon unlazyload"> 3702 3703 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/hyatt_logo.png" alt=" company icon" class="company-icon unlazyload size-1of2"> 3704 3705 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/NextEra-Energy-Resources-logo.png" alt=" company icon" class="company-icon unlazyload"> 3706 3707 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Guidehouse_logo.png" alt=" company icon" class="company-icon unlazyload"> 3708 3709 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Okta-000000.svg" alt="Okta company icon" class="company-icon unlazyload"> 3710 3711 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/DXC-logo.svg" alt=" company icon" class="company-icon unlazyload"> 3712 3713 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Jacobs-logo.svg" alt=" company icon" class="company-icon unlazyload size-60"> 3714 3715 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/CDW-logo.svg" alt=" company icon" class="company-icon unlazyload"> 3716 3717 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Accenture-logo.svg" alt=" company icon" class="company-icon unlazyload"> 3718 3719 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Northrop-Grumman-IT-logo.svg" alt=" company icon" class="company-icon unlazyload size-80"> 3720 3721 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Global-Payments.svg" alt=" company icon" class="company-icon unlazyload"> 3722 3723 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Frdelity-logo.svg" alt=" company icon" class="company-icon unlazyload size-80"> 3724 3725 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Merrill-Lynch-logo.png" alt=" company icon" class="company-icon unlazyload"> 3726 3727 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/visalogo.svg" alt=" company icon" class="company-icon unlazyload size-60"> 3728 3729 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Mastercard-logo.svg" alt=" company icon" class="company-icon unlazyload size-60"> 3730 3731 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/bcbs-logo.svg" alt=" company icon" class="company-icon unlazyload size-80"> 3732 3733 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Aetna_Logo_ss_Violet_RGB_Coated.svg" alt=" company icon" class="company-icon unlazyload size-60"> 3734 3735 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Humana-logo.svg" alt=" company icon" class="company-icon unlazyload size-60"> 3736 3737 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Centene-logo.svg" alt=" company icon" class="company-icon unlazyload size-80"> 3738 3739 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Anthem-logo.svg" alt=" company icon" class="company-icon unlazyload size-1of2"> 3740 3741 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Kaiser-Permanente-logo.svg" alt=" company icon" class="company-icon unlazyload size-80"> 3742 3743 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Providence-Health-logo.svg" alt=" company icon" class="company-icon unlazyload size-80"> 3744 3745 <img src="https://hireez.c
3745om/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Tractor-Supply-Co-logo.svg" alt=" company icon" class="company-icon unlazyload size-80"> 3746 3747 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/az-logo-full.svg" alt=" company icon" class="company-icon unlazyload size-60"> 3748 3749 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Pwc-colors.svg" alt="pwc company icon" class="company-icon unlazyload"> 3750 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/GeneralDynamics-727678.svg" alt="General Dynamics company icon" class="company-icon unlazyload size-80"> 3751 3752 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/HNTB-colors.svg" alt="HNTB company icon" class="company-icon unlazyload size-60"> 3753 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Funko-colors.svg" alt="Funko company icon" class="company-icon unlazyload size-80"> 3754 3755 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Enel-colors.svg" alt="Enel company icon" class="company-icon unlazyload size-80"> 3756 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/MTbank-colors.svg" alt="MTbank company icon" class="company-icon unlazyload size-60"> 3757 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Odyssey-colors.svg" alt="Odyssey company icon" class="company-icon unlazyload"> 3758 3759 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Booking-000000.svg" alt="Booking company icon" class="company-icon unlazyload size-60"> 3760 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Hilton-231f20.svg" alt="Hilton company icon" class="company-icon unlazyload"> 3761 3762 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/WilsonHCG-colors-new.svg" alt="Wilson company icon" class="company-icon unlazyload size-80"> 3763 3764 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/PowerToFly-000000.svg" alt="PowerToFly company icon" class="company-icon unlazyload size-50"> 3765 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Viasat-000000.svg" alt="Viasat company icon" class="company-icon unlazyload "> 3766 </div> 3767 </div> 3768 </div> 3769
3769<script> 3770 (function () { 3771 var SlideLogosAnim = { 3772 init: function () { 3773 if ($('#logo_part .cont-img').eq(0).children().length > 6) { 3774 $('#logo_part .logo-box').removeClass('no-anim'); 3775 $('#logo_part .logo-box').append($('#logo_part .cont-img').eq(0).clone()); 3776 this.run(); 3777 } 3778 }, 3779 scrollLeft: 0, 3780 run: function () { 3781 const _this = this; 3782 function loopRun() { 3783 const boxW = $('#logo_part .cont-img').eq(0).innerWidth() 3784 _this.scrollLeft += 1; 3785 $('#logo_part .cont-img').eq(0).animate({ 'margin-left': `-${_this.scrollLeft}px` }, 10, function () { 3786 3787 if (_this.scrollLeft >= boxW) { 3788 _this.scrollLeft = 0; 3789 $(this).css({ 'margin-left': '0' }); 3790 $('#logo_part .logo-box').append($(this)); 3791 } 3792 loopRun() 3793 }) 3794 }; 3795 3796 loopRun(); 3797 } 3798 3799 } 3800 setTimeout(function () { 3801 SlideLogosAnim.init() 3802 }, 1000); 3803 })(); 3804 </script>
3804 3805 </div> 3806 </div> 3807<!-- End partial --> 3808 <!-- <div class="ticker-inner"> 3809 <div class="ticker-label">Trusted by plant & industrial TA teams at</div> 3810 <div class="ticker-viewport"> 3811 <div class="ticker-track" id="ticker-track"><div class="ticker-item">TE Connectivity</div><div class="ticker-item">AECOM</div><div class="ticker-item">Honda</div><div class="ticker-item">Samsara</div><div class="ticker-item">Lyft</div><div class="ticker-item">Zoom</div><div class="ticker-item">Intapp</div><div class="ticker-item">Fidelity</div><div class="ticker-item">Cielo</div><div class="ticker-item">Toyota MFG</div><div class="ticker-item">Honeywell</div><div class="ticker-item">Siemens</div><div class="ticker-item">Raytheon</div><div class="ticker-item">GE Aviation</div><div class="ticker-item">Emerson</div><div class="ticker-item">TE Connectivity</div><div class="ticker-item">AECOM</div><div class="ticker-item">Honda</div><div class="ticker-item">Samsara</div><div class="ticker-item">Lyft</div><div class="ticker-item">Zoom</div><div class="ticker-item">Intapp</div><div class="ticker-item">Fidelity</div><div class="ticker-item">Cielo</div><div class="ticker-item">Toyota MFG</div><div class="ticker-item">Honeywell</div><div class="ticker-item">Siemens</div><div class="ticker-item">Raytheon</div><div class="ticker-item">GE Aviation</div><div class="ticker-item">Emerson</div></div> 3812 </div> 3813 </div> --> 3814 </div> 3815 3816 <!-- ==== PROBLEM / SOLUTION ==== --> 3817 <div class="container-fluid"> 3818<div class="row-fluid-wrapper"> 3819<div class="row-fluid"> 3820<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 3821 3822<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 3823<div class="row-fluid "> 3824<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 3825 3826<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 3827<div class="row-fluid "> 3828<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 3829<div id="hs_cos_wrapper_widget_1779693081512" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section class="section tint-warm" id="problem"> 3830 <div class="section-inner"> 3831 <div class="section-head reveal in"> 3832 <div class="section-kicker"> 3833 THE SHIFT 3834 </div> 3835 3836 <h2 class="section-h"> 3837 Recruiting has always been treated as a cost center. <em>That's the root problem.</em> 3838 </h2> 3839 3840 <div class="section-sub"> 3841 When the C-suite sees TA as expense, every budget cycle is a defensive battle. But every unfilled role has a revenue cost. Most organizations just never calculate it. hireEZ exists to give TA and staffing leaders the platform and the data to flip the conversation. 3842 </div> 3843 </div> 3844 3845 <div class="problem-grid reveal in"> 3846 <div class="problem-col"> 3847 <div class="problem-col-label bad"> 3848 <span class="box"></span>The old question 3849 </div> 3850 3851 3852 <p class="card-title" style="font-size:17px;font-weight:500;line-height:1.35;margin:0 0 12px;color:var(--ink-1)"> 3853 "Why are we spending this much on recruiting?" 3854 </p> 3855 3856 3857 3858 <p style="font-size:13.5px;line-height:1.65;color:var(--ink-3);margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid var(--rule)"> 3859 TA on defense. Headcount justified, budgets defended, costs scrutinized. The narrative is always how to spend less. 3860 </p> 3861 3862 3863 <ul class="problem-list"> 3864 3865 <li> 3866 <span class="mark">â</span> 3867 <span>Stack of point solutions you canât justify to the CFO</span> 3868 </li> 3869 3870 <li> 3871 <span class="mark">â</span> 3872 <span>Time-to-fill measured in days, not dollars</span> 3873 </li> 3874 3875 <li> 3876 <span class="mark">â</span> 3877 <span>Headcount frozen, req loads growing</span> 3878 </li> 3879 3880 <li>
3881 <span class="mark">â</span> 3882 <span>QBRs become a performance review of how many roles closed</span> 3883 </li> 3884 3885 </ul> 3886 </div> 3887 3888 <div class="problem-col good"> 3889 <div class="problem-col-label good"> 3890 <span class="box"></span>THE NEW QUESTION 3891 </div> 3892 3893 3894 <p class="card-title" style="font-size:17px;font-weight:500;line-height:1.35;margin:0 0 12px;color:var(--ink-1)"> 3895 "How much revenue is recruiting generating, <em>and how do we accelerate it?"</em> 3896 </p> 3897 3898 3899 3900 <p style="font-size:13.5px;line-height:1.65;color:var(--ink-3);margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid var(--rule)"> 3901 TA on offense. Revenue protected, revenue at risk, revenue per recruiter. The narrative shifts from cost to contribution. 3902 </p> 3903 3904 3905 <ul class="problem-list"> 3906 3907 <li> 3908 <span class="mark">â</span> 3909 <span>Revenue impact quantified per open req, in real time</span> 3910 </li> 3911 3912 <li> 3913 <span class="mark">â</span> 3914 <span>Agentic AI multiplies team output. No new headcount.</span> 3915 </li> 3916 3917 <li> 3918 <span class="mark">â</span> 3919 <span>One action layer on top of the ATS you already run</span> 3920 </li> 3921 3922 <li> 3923 <span class="mark">â</span> 3924 <span>QBRs become a revenue story your CHRO can take to the CEO</span> 3925 </li> 3926 3927 </ul> 3928 </div> 3929 </div> 3930 </div> 3931</section></div> 3932 3933</div><!--end widget-span --> 3934</div><!--end row--> 3935</div><!--end row-wrapper --> 3936 3937</div><!--end widget-span --> 3938</div><!--end row--> 3939</div><!--end row-wrapper --> 3940 3941</div><!--end widget-span --> 3942</div> 3943</div> 3944</div> 3945 3946 <!-- ==== STATS ==== --> 3947 <div class="container-fluid"> 3948<div class="row-fluid-wrapper"> 3949<div class="row-fluid"> 3950<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 3951 3952<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 3953<div class="row-fluid "> 3954<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 3955 3956<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 3957<div class="row-fluid "> 3958<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 3959<div id="hs_cos_wrapper_widget_1779693408785" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section class="section tint-cool" id="stats"> 3960 <div class="section-inner"> 3961 <div class="stats-head-row reveal"> 3962 <div> 3963 <div class="section-kicker">THE OUTCOMES</div> 3964 <h2 class="section-h">The numbers <em>that show up in the QBR. </em></h2> 3965 </div> 3966 3967 <div class="stats-source"> 3968 Every metric tied to revenue, cost, or capacity. Every metric defensible. Every metric pulled from real customer deployments. 3969 </div> 3970 </div> 3971 3972 <div class="stat-grid reveal" id="stat-grid" style="grid-template-columns: repeat(3, 1fr);"> 3973 3974 <div class="stat"> 3975 <div class="stat-num"> 3976 <span class="val">50%</span> 3977 </div> 3978 <div class="stat-label"> 3979 3980 <strong>reduction in time-to-fill on revenue-critical roles</strong> 3981 3982 3983 </div> 3984 </div> 3985 3986 <div class="stat"> 3987 <div class="stat-num"> 3988 <span class="val">60%+</span> 3989 </div> 3990 <div class="stat-label"> 3991 3992 <strong>reduction in total hiring cost per role</strong> 3993 3994 3995 </div> 3996 </div> 3997 3998 <div class="stat"> 3999 <div class="stat-num"> 4000 <span class="val">2x</span> 4001 </div> 4002 <div class="stat-label"> 4003 4004 <strong>recruiter capacity with agentic AI in the workflow</strong> 4005 4006 4007 </div> 4008 </div> 4009 4010 <div class="stat"> 4011 <div class="stat-num"> 4012 <span class="val">+38%</span> 4013 </div> 4014 <div class="stat-label"> 4015 4016 <strong>higher candidate response rate vs. LinkedIn alone</strong> 4017 4018 4019 </div> 4020 </div> 4021 4022 <div class="stat"> 4023 <div class="stat-num">
4024 <span class="val">7x</span> 4025 </div> 4026 <div class="stat-label"> 4027 4028 <strong>larger qualified candidate pool across 45+ platforms</strong> 4029 4030 4031 </div> 4032 </div> 4033 4034 <div class="stat"> 4035 <div class="stat-num"> 4036 <span class="val">4-6</span> 4037 </div> 4038 <div class="stat-label"> 4039 4040 <strong>point solutions consolidated into one action layer</strong> 4041 4042 4043 </div> 4044 </div> 4045 4046 </div> 4047 </div> 4048</section></div> 4049 4050</div><!--end widget-span --> 4051</div><!--end row--> 4052</div><!--end row-wrapper --> 4053 4054</div><!--end widget-span --> 4055</div><!--end row--> 4056</div><!--end row-wrapper --> 4057 4058</div><!--end widget-span --> 4059</div> 4060</div> 4061</div> 4062 4063 <!-- ==== HOW (PILLARS + PRODUCT FRAME) ==== --> 4064 <div class="container-fluid"> 4065<div class="row-fluid-wrapper"> 4066<div class="row-fluid"> 4067<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 4068 4069<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 4070<div class="row-fluid "> 4071<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 4072 4073<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 4074<div class="row-fluid "> 4075<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 4076<div id="hs_cos_wrapper_widget_1779693600394" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section class="section" id="how"> 4077 <div class="section-inner"> 4078 <div class="section-head reveal in"> 4079 4080 <div class="section-kicker">WHAT hireEZ DELIVERS</div> 4081 4082 4083 4084 <h2 class="section-h"> 4085 Four shifts. <em>One platform.</em> 4086 </h2> 4087 4088 4089 4090 <div class="section-sub"> 4091 <p>Built around the four shifts that turn TA from cost center to revenue engine. Every pillar maps to a specific change in how your team operates, gets measured, and gets paid attention to.<br><br></p> 4092 </div> 4093 4094 </div> 4095 4096 4097 <div class="pillars reveal in pillars--count-4"> 4098 4099 <div class="pillar"> 4100 4101 <div class="pillar-num">01 · POSITIONING</div> 4102 4103 4104 4105 4106 4107 <h3>Recruiting is a revenue function.</h3> 4108 4109 4110 4111 <div class="pillar-body"> 4112 <p>hireEZ's analytics layer automatically calculates revenue at risk per open req, revenue protected per fill, and headcount cost avoided. Your TA leader walks into the QBR with the data, not the defense. Your CHRO walks into the C-suite with a revenue story, not a cost report.</p> 4113 </div> 4114 4115 4116 4117 <div class="pillar-metric"> 4118 4119 <span>From cost center to <em>Revenue engine</em></span> 4120 4121 4122 </div> 4123 4124 </div> 4125 4126 <div class="pillar"> 4127 4128 <div class="pillar-num">02 · PROOF</div> 4129 4130 4131 4132 4133 4134 <h3>Prove your teamâs impact.</h3> 4135 4136 4137 4138 <div class="pillar-body"> 4139 <p>QBR-ready dashboards. Industry-benchmarked time-to-fill. Revenue-impact reporting built to survive C-suite scrutiny. The metrics your CHRO and CFO can read in 30 seconds and act on in five minutes.</p> 4140 </div> 4141 4142 4143 4144 <div class="pillar-metric"> 4145 4146 <span>Time-to-fill cut <em>50%</em></span> 4147 4148 4149 </div> 4150 4151 </div> 4152 4153 <div class="pillar"> 4154 4155 <div class="pillar-num">03 · LEVERAGE</div> 4156 4157 4158 4159 4160 4161 <h3>Do more with the team you have.</h3> 4162 4163 4164 4165 <div class="pillar-body"> 4166 <p>Agentic AI handles sourcing, screening, scheduling, and outreach. Each recruiter handles roughly twice the req load they could handle before. For staffing and RPO, that translates directly to two additional placements per recruiter per month. No new headcount required.</p> 4167 </div> 4168 4169 4170 4171 <div class="pillar-metric"> 4172
4173 <span>Recruiter capacity <em>2Ã</em></span> 4174 4175 4176 </div> 4177 4178 </div> 4179 4180 <div class="pillar"> 4181 4182 <div class="pillar-num">04 · ARCHITECTURE</div> 4183 4184 4185 4186 4187 4188 <h3>One brain, every ATS.</h3> 4189 4190 4191 4192 <div class="pillar-body"> 4193 <p>hireEZ is the action layer that sits on top of Workday, Greenhouse, iCIMS, Lever, SuccessFactors, and 45 more. The ATS is the filing cabinet. hireEZ is the recruiting brain. No rip-and-replace. Deployed in weeks.</p> 4194 </div> 4195 4196 4197 4198 <div class="pillar-metric"> 4199 4200 <span>Native ATS integrations <em>50+</em></span> 4201 4202 4203 </div> 4204 4205 </div> 4206 4207 </div> 4208 4209 </div> 4210</section></div> 4211 4212</div><!--end widget-span --> 4213</div><!--end row--> 4214</div><!--end row-wrapper --> 4215 4216</div><!--end widget-span --> 4217</div><!--end row--> 4218</div><!--end row-wrapper --> 4219 4220</div><!--end widget-span --> 4221</div> 4222</div> 4223</div> 4224 4225 4226 <!-- ==== TESTIMONIAL ==== --> 4227 <div class="container-fluid"> 4228<div class="row-fluid-wrapper"> 4229<div class="row-fluid"> 4230<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 4231 4232<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 4233<div class="row-fluid "> 4234<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 4235 4236<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 4237<div class="row-fluid "> 4238<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 4239<div id="hs_cos_wrapper_widget_1779693886737" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section class="testimonial" id="customers"> 4240 <img alt="" class="bg" src="https://hireez.com/wp-content/uploads/hireez-v5/homepage/color-bg.svg"> 4241 4242 <div class="testimonial-inner reveal"> 4243 4244 <div class="testimonial-quote"> 4245 I don't need to go out and buy another software. If I want to add something, I just build off of hireEZ. It does the work for you. 4246 </div> 4247 4248 4249 <div class="testimonial-meta"> 4250 4251 <div class="testimonial-name">Steve Melfi</div> 4252 4253 4254 4255 <div class="testimonial-role">Head of Global Talent Acquisition at Nordson Corporation</div> 4256 4257 4258 4259 <div class="testimonial-result"> 4260 4261 Qualified candidate increase 4262 4263 4264 <strong>2.5Ã</strong> 4265 4266 </div> 4267 4268 </div> 4269 </div> 4270</section></div> 4271 4272</div><!--end widget-span --> 4273</div><!--end row--> 4274</div><!--end row-wrapper --> 4275 4276</div><!--end widget-span --> 4277</div><!--end row--> 4278</div><!--end row-wrapper --> 4279 4280</div><!--end widget-span --> 4281</div> 4282</div> 4283</div> 4284 4285 <!-- ==== INTEGRATIONS ==== --> 4286 <div class="container-fluid"> 4287<div class="row-fluid-wrapper"> 4288<div class="row-fluid"> 4289<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 4290 4291<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 4292<div class="row-fluid "> 4293<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 4294 4295<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 4296<div class="row-fluid "> 4297<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 4298<div id="hs_cos_wrapper_widget_1779693901217" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section class="integrations" id="integrations"> 4299 <div class="int-inner"> 4300 <div class="int-head reveal"> 4301 <div> 4302 4303 <div class="section-kicker">YOUR ATS, MADE INTELLIGENT</div> 4304 4305 4306 4307 <h2 class="section-h" style="font-size: clamp(28px, 3.2vw, 40px);"> 4308 <em>50+ native ATS integrations.</em>
4308 No rip-and-replace. 4309 </h2> 4310 4311 4312 </div> 4313 4314 4315 <div class="section-sub"> 4316 <p>hireEZ is the system of action that sits on top of your system of record. SSO/SAML, SOC 2 Type II, full audit trails from day one. The ATS your team already runs stays the ATS your team already runs.</p> 4317 </div> 4318 4319 </div> 4320 4321 <div class="int-grid reveal"> 4322 <div class="int-cell"> 4323 <div class="ats-logo"> 4324 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/workday-colors.svg" alt="Workday Logo"> 4325 </div> 4326 <div class="name">Workday</div> 4327 </div> 4328 4329 <div class="int-cell"> 4330 <div class="ats-logo"> 4331 <img width="116" height="63" src="https://hireez.com/wp-content/uploads/Partners/SAP.svg" alt="SAP SuccessFactors Logo"> 4332 </div> 4333 <div class="name">SuccessFactors</div> 4334 </div> 4335 4336 <div class="int-cell"> 4337 <div class="ats-logo"> 4338 <img src="https://hireez.com/wp-content/uploads/2024/03/oracle-logo.svg" alt="oracle Logo"> 4339 </div> 4340 <div class="name">Oracle Taleo</div> 4341 </div> 4342 4343 <div class="int-cell"> 4344 <div class="ats-logo"> 4345 <img width="106" height="79" src="https://hireez.com/wp-content/uploads/Partners/icims-logo.svg" alt="ICIMS Logo"> 4346 </div> 4347 <div class="name">iCIMS</div> 4348 </div> 4349 4350 <div class="int-cell"> 4351 <div class="ats-logo"> 4352 <img width="120" height="27" src="https://hireez.com/wp-content/uploads/Partners/greenhouse.svg" alt="greenhouse Logo"> 4353 </div> 4354 <div class="name">Greenhouse</div> 4355 </div> 4356 4357 <div class="int-cell"> 4358 <div class="ats-logo"> 4359 <img width="200" height="100" src="https://hireez.com/wp-content/uploads/Partners/lever-only-logo.png" alt="Lever Logo" style="max-width:80%"> 4360 </div> 4361 <div class="name">Lever</div> 4362 </div> 4363 4364 <div class="int-cell"> 4365 <div class="ats-logo"> 4366 <img width="112" height="42" src="https://hireez.com/wp-content/uploads/2024/06/avature-logo-svg.svg" alt="Avature WebSources Logo"> 4367 </div> 4368 <div class="name">Avature</div> 4369 </div> 4370 4371 <div class="int-cell"> 4372 <div class="ats-logo"> 4373 <img width="113" height="41" src="https://hireez.com/wp-content/uploads/2021/11/phenom.png" alt="Phenom People Logo"> 4374 </div> 4375 <div class="name">Phenom</div> 4376 </div> 4377 4378 <div class="int-cell"> 4379 <div class="ats-logo"> 4380 <img width="129" height="35" src="https://hireez.com/wp-content/uploads/2024/06/Bitmap-logo-svg.svg" alt="Beamery Logo"> 4381 </div> 4382 <div class="name">Beamery</div> 4383 </div> 4384 4385 <div class="int-cell"> 4386 <div class="ats-logo"> 4387 <img width="114" height="37" src="https://hireez.com/wp-content/uploads/Partners/gem-logo.svg" style="max-width: 80%" alt="Gem Logo"> 4388 </div> 4389 <div class="name">Gem</div> 4390 </div> 4391 4392 <div class="int-cell"> 4393 <div class="ats-logo"> 4394 <img width="100" src="https://hireez.com/wp-content/uploads/CompanyLogos/ukg-partner-logo.png" alt="UKG Logo"> 4395 </div> 4396 <div class="name">UKG</div> 4397 </div> 4398 4399 <a href="https://hireez.com/partners-list/#KeyPartners" class="int-cell"> 4400 <div class="glyph" style="background:#64748B">+ 40</div> 4401 <div class="name">& 40 more</div> 4402 <div class="cat">View all</div> 4403 </a> 4404 </div> 4405 </div> 4406</section></div> 4407 4408</div><!--end widget-span --> 4409</div><!--end row--> 4410</div><!--end row-wrapper --> 4411 4412</div><!--end widget-span --> 4413</div><!--end row--> 4414</div><!--end row-wrapper --> 4415 4416</div><!--end widget-span --> 4417</div> 4418</div> 4419</div> 4420 4421 <!-- ==== NARRATIVE (Category Shift) ==== --> 4422 <div class="container-fluid"> 4423<div class="row-fluid-wrapper"> 4424<div class="row-fluid"> 4425<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 4426 4427<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 4428<div class="row-fluid "> 4429<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 4430 4431<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 4432<div class="row-fluid "> 4433<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 4434<div id="hs_cos_wrapper_widget_1779693948286" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section class="section light"> 4435 <div class="section-inner"> 4436 <div class="section-head reveal"> 4437 4438 <div class="section-kicker">WHERE TA TECH IS HEADING</div> 4439 4440 4441 4442 <h2 class="section-h"> 4443 4444 Sales did it with Salesforce. Marketing did it with HubSpot. <em>TA is next.</em> 4445 4446 4447 </h2> 4448 4449 4450 4451 <div class="section-sub"> 4452 <p>Every enterprise function followed the same arc. System of record gets adopted. Point solutions sprawl on top. Eventually one action layer consolidates the mess and runs the workflow. Talent acquisition is on the third step. The companies that move early gain a structural advantage on hiring speed, cost, and AI compounding. The ones that wait spend three years managing integration debt between tools that are already becoming obsolete.</p> 4453 </div> 4454 4455 </div> 4456 4457 4458 <div class="narrative-grid reveal"> 4459 4460 <div class="narrative-step"> 4461 4462 <div class="label"> 4463
4464 <span class="n">1</span> 4465 4466 4467 Step 01 · STABLE 4468 4469 </div> 4470 4471 4472 4473 <h3>System of record</h3> 4474 4475 4476 4477 <div class="step-content"> 4478 <p>Your ATS stores the data. Workday, Greenhouse, iCIMS, Lever, SuccessFactors. It records what happened. Itâs compliant, itâs stable, and itâs going nowhere.</p> 4479 </div> 4480 4481 4482 4483 <div class="chips"> 4484 4485 4486 <span class="chip">Workday</span> 4487 4488 4489 4490 <span class="chip">Greenhouse</span> 4491 4492 4493 4494 <span class="chip">iCIMS</span> 4495 4496 4497 </div> 4498 4499 </div> 4500 4501 <div class="narrative-step"> 4502 4503 <div class="label"> 4504 4505 <span class="n">2</span> 4506 4507 4508 Step 02 · PAINFUL 4509 4510 </div> 4511 4512 4513 4514 <h3>Point-solution sprawl</h3> 4515 4516 4517 4518 <div class="step-content"> 4519 <p>Sourcing, CRM, scheduling, analytics, outreach. Five to ten bolt-ons stacked on top of the ATS. None of them talk to each other. The stack you have right now.</p> 4520 </div> 4521 4522 4523 4524 <div class="chips"> 4525 4526 4527 <span class="chip">Sourcing</span> 4528 4529 4530 4531 <span class="chip">CRM</span> 4532 4533 4534 4535 <span class="chip">Scheduler</span> 4536 4537 4538 4539 <span class="chip">Analytics</span> 4540 4541 4542 4543 <span class="chip">+ more</span> 4544 4545 4546 </div> 4547 4548 </div> 4549 4550 <div class="narrative-step active"> 4551 4552 <div class="label"> 4553 4554 <span class="n">3</span> 4555 4556 4557 Step 03 · INEVITABLE 4558 4559 </div> 4560 4561 4562 4563 <h3>System of action</h3> 4564 4565 4566 4567 <div class="step-content"> 4568 <p>One execution layer. Agentic AI across the workflow. Unified data foundation. hireEZ. The question is who gets there first in your industry.</p> 4569 </div> 4570 4571 4572 4573 <div class="chips"> 4574 4575 4576 <span class="chip">hireEZ</span> 4577 4578 4579 4580 <span class="chip">One layer</span> 4581 4582 4583 4584 <span class="chip">Agentic AI</span> 4585 4586 4587 </div> 4588 4589 </div> 4590 4591 </div> 4592 4593 </div> 4594</section></div> 4595 4596</div><!--end widget-span --> 4597</div><!--end row--> 4598</div><!--end row-wrapper --> 4599 4600</div><!--end widget-span --> 4601</div><!--end row--> 4602</div><!--end row-wrapper --> 4603 4604</div><!--end widget-span --> 4605</div> 4606</div> 4607</div> 4608 4609 <!-- ==== FAQ ==== --> 4610 <div class="container-fluid"> 4611<div class="row-fluid-wrapper"> 4612<div class="row-fluid"> 4613<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 4614 4615<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 4616<div class="row-fluid "> 4617<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 4618 4619<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 4620<div class="row-fluid "> 4621<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 4622<div id="hs_cos_wrapper_widget_1779694144808" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section class="section light" id="faq"> 4623 <div class="section-inner"> 4624 <div class="section-head reveal"> 4625 4626 <div class="section-kicker">THE OBJECTIONS, ANSWERED</div> 4627 4628 4629 4630 <h2 class="section-h"> 4631 4632 Questions we hear from <em>TA and staffing leaders.</em> 4633 4634 4635 </h2> 4636 4637 </div> 4638 4639 4640 <div class="faq-list reveal"> 4641 4642 <details class="faq-item" open> 4643 <summary class="faq-q"> 4644
4645 <span class="faq-q-text">Q1. We already have Workday, Greenhouse, or iCIMS. Do we need to replace it?</span> 4646 4647 <span class="faq-toggle">+</span> 4648 </summary> 4649 4650 4651 <div class="faq-a"> 4652 <p>No. hireEZ is the system of action that sits on top of your ATS. Your system of record stays your system of record. We have 50+ native integrations and a dedicated integrations team. Most customers are live end-to-end in 4 to 6 weeks.</p> 4653 </div> 4654 4655 </details> 4656 4657 <details class="faq-item"> 4658 <summary class="faq-q"> 4659 4660 <span class="faq-q-text">Q2. Does this work for staffing and RPO firms, or just corporate TA?</span> 4661 4662 <span class="faq-toggle">+</span> 4663 </summary> 4664 4665 4666 <div class="faq-a"> 4667 <p>Both, and the platform is the same. Corporate TA leaders use hireEZ for revenue protection: quantify revenue at risk per open req, cut time-to-fill on critical roles, consolidate the stack. Staffing and RPO leaders use it for revenue acceleration: more placements per recruiter, higher margin per placement, real-time visibility into revenue per head.</p> 4668 </div> 4669 4670 </details> 4671 4672 <details class="faq-item"> 4673 <summary class="faq-q"> 4674 4675 <span class="faq-q-text">Q3. How is this different from LinkedIn Recruiter?</span> 4676 4677 <span class="faq-toggle">+</span> 4678 </summary> 4679 4680 4681 <div class="faq-a"> 4682 <p>LinkedIn is one sourcing channel. hireEZ is a unified action layer. Source across 45+ platforms, screen with agentic AI, run outreach and scheduling automatically, and surface the revenue impact of every hire in a single dashboard. Most customers cut 50 to 60% of their LinkedIn Recruiter seats in year one while expanding total qualified reach.</p> 4683 </div> 4684 4685 </details> 4686 4687 <details class="faq-item"> 4688 <summary class="faq-q"> 4689 4690 <span class="faq-q-text">Q4. How is this different from other AI recruiting tools?</span> 4691 4692 <span class="faq-toggle">+</span> 4693 </summary> 4694 4695 4696 <div class="faq-a"> 4697 <p>Most AI recruiting tools add intelligence to one slice of the workflow. Sourcing only, or scheduling only, or screening only. hireEZ is the action layer across the entire recruiting lifecycle. Sourcing, CRM, screening, outreach, scheduling, and analytics, all unified on top of your ATS. One brain. One data foundation. Every action measurable against revenue.</p> 4698 </div> 4699 4700 </details> 4701 4702 <details class="faq-item"> 4703 <summary class="faq-q"> 4704 4705 <span class="faq-q-text">Q5. What about compliance and data security?</span> 4706 4707 <span class="faq-toggle">+</span> 4708 </summary> 4709 4710 4711 <div class="faq-a"> 4712 <p>SOC 2 Type II. SSO/SAML. Full audit trails on every AI-suggested action. EEOC-safe sourcing logic reviewed by outside counsel. Deployed into regulated environments across financial services, healthcare, defense, and government for 6+ years.</p> 4713 </div> 4714 4715 </details> 4716 4717 <details class="faq-item"> 4718 <summary class="faq-q"> 4719 4720 <span class="faq-q-text">Q6. How long does implementation take?</span> 4721 4722 <span class="faq-toggle">+</span> 4723 </summary> 4724 4725 4726 <div class="faq-a"> 4727 <p>Weeks, not quarters. Standard ATS integration runs 2 to 3 weeks. Team onboarding happens in parallel. Most customers see their first hire attributed to hireEZ inside 60 days.</p> 4728 </div> 4729 4730 </details> 4731 4732 <details class="faq-item"> 4733 <summary class="faq-q"> 4734
4735 <span class="faq-q-text">Q7. What does pricing look like?</span> 4736 4737 <span class="faq-toggle">+</span> 4738 </summary> 4739 4740 4741 <div class="faq-a"> 4742 <p>Seat-based, with enterprise tiers including dedicated CSM and custom integrations. For most customers, hireEZ replaces 4 to 6 line items on the recruiting budget. The all-in cost typically comes in below what the retired tools plus LinkedIn seat reduction free up.</p> 4743 </div> 4744 4745 </details> 4746 4747 </div> 4748 4749 </div> 4750</section></div> 4751 4752</div><!--end widget-span --> 4753</div><!--end row--> 4754</div><!--end row-wrapper --> 4755 4756</div><!--end widget-span --> 4757</div><!--end row--> 4758</div><!--end row-wrapper --> 4759 4760</div><!--end widget-span --> 4761</div> 4762</div> 4763</div> 4764 4765 <!-- ==== CTA demo ==== --> 4766 <div class="container-fluid"> 4767<div class="row-fluid-wrapper"> 4768<div class="row-fluid"> 4769<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 4770 4771<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 4772<div class="row-fluid "> 4773<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 4774 4775<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 4776<div class="row-fluid "> 4777<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 4778<div id="hs_cos_wrapper_widget_1779694305709" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section class="final-cta" id="final"> 4779 <img alt="" class="bg" src="https://hireez.com/wp-content/uploads/hireez-v5/homepage/color-bg.svg"> 4780 4781 <div class="final-cta-inner reveal"> 4782 <div> 4783 4784 <h2> 4785 See the revenue impact on your own open reqs <em>before you sign anything.</em> 4786 </h2> 4787 4788 4789 4790 <div class="final-cta-actions"> 4791 <a href="#hero" class="book-meeting"> 4792 Book my demo 4793 </a> 4794 </div> 4795 4796 </div> 4797 4798 4799 <ul class="final-list"> 4800 4801 <li> 4802 <span class="num">01</span> 4803 4804 <span>Verification on your own open reqs</span> 4805 4806 </li> 4807 4808 <li> 4809 <span class="num">02</span> 4810 4811 <span>Revenue-impact dashboard live in the demo</span> 4812 4813 </li> 4814 4815 <li> 4816 <span class="num">03</span> 4817 4818 <span>Built on top of the ATS you already run</span> 4819 4820 </li> 4821 4822 </ul> 4823 4824 </div> 4825</section></div> 4826 4827</div><!--end widget-span --> 4828</div><!--end row--> 4829</div><!--end row-wrapper --> 4830 4831</div><!--end widget-span --> 4832</div><!--end row--> 4833</div><!--end row-wrapper --> 4834 4835</div><!--end widget-span --> 4836</div> 4837</div> 4838</div> 4839 4840
4840<script> 4841 4842 // Reveal on scroll 4843 const io = new IntersectionObserver((entries) => { 4844 entries.forEach(e => { if (e.isIntersecting) { e.target.classList.add('in'); io.unobserve(e.target); } }); 4845 }, { threshold: 0.12, rootMargin: '0px 0px -40px 0px' }); 4846 document.querySelectorAll('.reveal').forEach(el => io.observe(el)); 4847 4848 // Ticker content 4849// const logos = ['TE Connectivity', 'AECOM', 'Honda', 'Samsara', 'Lyft', 'Zoom', 'Intapp', 'Fidelity', 'Cielo', 'Toyota MFG', 'Honeywell', 'Siemens', 'Raytheon', 'GE Aviation', 'Emerson']; 4850// const track = document.getElementById('ticker-track'); 4851// const renderTicker = (show) => { 4852// track.parentElement.parentElement.style.display = show ? '' : 'none'; 4853// track.innerHTML = ''; 4854// const list = [...logos, ...logos]; // duplicate for seamless loop 4855// list.forEach(name => { 4856// const el = document.createElement('div'); 4857// el.className = 'ticker-item'; 4858// el.textContent = name; 4859// track.appendChild(el); 4860// }); 4861// }; 4862// renderTicker(true); 4863 4864 // Animated stat counters 4865// const animateStats = () => { 4866// document.querySelectorAll('.stat-num').forEach(el => { 4867// const target = parseFloat(el.dataset.target); 4868// const valEl = el.querySelector('.val'); 4869// if (!valEl) return; 4870// const duration = 1400; 4871// const start = performance.now(); 4872// const step = (t) => { 4873// const p = Math.min(1, (t - start) / duration); 4874// const eased = 1 - Math.pow(1 - p, 3); 4875// const prefix = el.dataset.prefix || ''; 4876// const suffix = el.dataset.suffix || ''; 4877// valEl.textContent = prefix + Math.round(target * eased) + suffix; 4878// if (p < 1) requestAnimationFrame(step); 4879// }; 4880// requestAnimationFrame(step); 4881// }); 4882// }; 4883// let statsAnimated = false; 4884// const statObserver = new IntersectionObserver((entries) => { 4885// entries.forEach(e => { 4886// if (e.isIntersecting && !statsAnimated) { statsAnimated = true; animateStats(); } 4887// }); 4888// }, { threshold: 0.4 }); 4889// statObserver.observe(document.getElementById('stat-grid')); 4890 4891 /* ============ FORM ============ */ 4892 4893 4894 4895 </script>
4895 4896 4897 <div id="hiretual-foot"></div> 4898 4899 4900 4901<!-- HubSpot performance collection script -->
4902<script defer src="/hs/hsstatic/content-cwv-embed/static-1.1293/embed.js"></script>
vendor: 1 bytes, line 4902
4902
4903<script src="https://explore.hireez.com/hubfs/hub_generated/template_assets/1/184880748806/1739951298420/template_tool-fn.min.js"></script>
vendor: 1 bytes, line 4903
4903
4904<script> 4905var hsVars = hsVars || {}; hsVars['language'] = 'en'; 4906</script>
4906 4907
4908<script src="/hs/hsstatic/cos-i18n/static-1.53/bundles/project.js"></script>
4908 4909 4910<!-- Start of HubSpot Analytics Code -->
4911<script type="text/javascript"> 4912var _hsq = _hsq || []; 4913_hsq.push(["setContentType", "landing-page"]); 4914_hsq.push(["setCanonicalUrl", "https:\/\/explore.hireez.com\/contact-sales"]); 4915_hsq.push(["setPageId", "184166149671"]); 4916_hsq.push(["setContentMetadata", { 4917 "contentPageId": 184166149671, 4918 "legacyPageId": "184166149671", 4919 "contentFolderId": null, 4920 "contentGroupId": null, 4921 "abTestId": null, 4922 "languageVariantId": 184166149671, 4923 "languageCode": "en", 4924 4925 4926}]); 4927</script>
4927 4928
4929<script type="text/javascript" id="hs-script-loader" async defer src="/hs/scriptloader/47343634.js"></script>
4929 4930<!-- End of HubSpot Analytics Code --> 4931 4932
4933<script type="text/javascript"> 4934var hsVars = { 4935 render_id: "00b8d03a-4fce-4931-b7b4-3a8217f2edaf", 4936 ticks: 1790106460587, 4937 page_id: 184166149671, 4938 4939 content_group_id: 0, 4940 portal_id: 47343634, 4941 app_hs_base_url: "https://app-na2.hubspot.com", 4942 cp_hs_base_url: "https://cp-na2.hubspot.com", 4943 language: "en", 4944 analytics_page_type: "landing-page", 4945 scp_content_type: "", 4946 4947 analytics_page_id: "184166149671", 4948 category_id: 1, 4949 folder_id: 0, 4950 is_hubspot_user: false 4951} 4952</script>
4952 4953 4954
4955<script defer src="/hs/hsstatic/HubspotToolsMenu/static-1.640/js/index.js"></script>
4955 4956 4957 4958 4959 4960 4961 4962 4963</body></html>
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.