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 2653 2654 return; // Don't send to backend if client validation fails 2655 } 2656 // Create and show thought chain container 2657 const thoughtChainContainer = createThoughtChainContainer(); 2658 const targetElement = document.getElementById('ContactFormbox'); 2659 if (targetElement) { 2660 targetElement.insertBefore(thoughtChainContainer, targetElement.firstChild); 2661 } 2662 // For non-qualifying companies, perform agent validation with sendChat 2663 await fetchToken(); 2664 sendChat(formData); 2665 } 2666 }); 2667 2668 function extractDomain(email) { 2669 // Extract the domain part after @ 2670 const atIndex = email.indexOf('@'); 2671 if (atIndex === -1) return email || 'Unknown'; 2672 2673 const domain = email.substring(atIndex + 1); 2674 if (!domain) return 'Unknown'; 2675
2676 // Get the first part before the first dot (company name) 2677 const firstDot = domain.indexOf('.'); 2678 if (firstDot === -1) return domain; 2679 2680 const companyName = domain.substring(0, firstDot); 2681 return companyName || domain || 'Unknown'; 2682 } 2683 2684 function createThoughtChainContainer() { 2685 const container = document.createElement('div'); 2686 container.className = 'thought-chain-container show'; 2687 container.id = 'thoughtChainContainer'; 2688 container.innerHTML = ` 2689 <div class="thought-chain-title"> 2690 <span class="loading-dots"> 2691 <span class="loading-dot"></span> 2692 <span class="loading-dot"></span> 2693 <span class="loading-dot"></span> 2694 </span> 2695 </div> 2696 <div class="agent-thought-process" id="agentThoughtProcess" style="display: none;"> 2697 <div class="agent-thought-header" onclick="toggleAgentThoughtProcess()"> 2698 <img style="width:16px;" src="https://hireez.com/wp-content/uploads/Chatbot/EZ-agent-logo.svg" alt="hireez" class="hireez-logo"> 2699 <span class="agent-thought-title">Agent thought process (<span id="thoughtCount">0</span> messages)</span> 2700 <span class="agent-thought-toggle"><img src="https://explore.hireez.com/hubfs/arrow-gray.svg" alt="toggle arrow"></span> 2701 </div> 2702 <div class="agent-thought-content" id="agentThoughtContent"> 2703 <div id="thoughtSteps"></div> 2704 </div> 2705 </div> 2706 <div id="analysisResults"></div> 2707 `; 2708 return container; 2709 } 2710 2711 function displayThoughtStep(step, index) { 2712 const thoughtSteps = document.getElementById('thoughtSteps'); 2713 if (!thoughtSteps) return; 2714 2715 const stepElement = document.createElement('div'); 2716 stepElement.className = 'thought-step'; 2717 stepElement.innerHTML = ` 2718 <div class="thought-step-header" onclick="toggleThoughtStep(this)"> 2719 <div> 2720 <div class="thought-step-title">${index + 1}. ${step.step_name}</div> 2721 <div class="thought-step-description">${step.description}</div> 2722 </div> 2723 <div class="thought-step-toggle"><img src="https://explore.hireez.com/hubfs/arrow-gray.svg" alt="toggle arrow"></div> 2724 </div> 2725 <div class="thought-step-content"> 2726 <div>${step.content}</div> 2727 <div class="thought-step-timestamp"> 2728 ${step.timestamp ? new Date(step.timestamp).toLocaleTimeString() : ''} 2729 </div> 2730 </div> 2731 `; 2732 2733 thoughtSteps.appendChild(stepElement); 2734 updateThoughtProcessCount(); 2735 } 2736 2737 function displayRealtimeThoughtStep(step) { 2738 const thoughtSteps = document.getElementById('thoughtSteps'); 2739 if (!thoughtSteps) return; 2740 2741 // Count existing steps to get index 2742 const existingSteps = thoughtSteps.children.length; 2743 2744 const stepElement = document.createElement('div'); 2745 stepElement.className = 'thought-step'; 2746 2747 stepElement.innerHTML = ` 2748 <div class="thought-step-header" onclick="toggleThoughtStep(this)"> 2749 <div> 2750 <div class="thought-step-title"> 2751 ${existingSteps + 1}. ${step.step_name} 2752 </div> 2753 <div class="thought-step-description">${step.description}</div> 2754 </div> 2755 <div class="thought-step-toggle"><img src="https://explore.hireez.com/hubfs/arrow-gray.svg" alt="toggle arrow"></div> 2756 </div> 2757 <div class="thought-step-content"> 2758 <div>${step.content}</div> 2759 <div class="thought-step-timestamp"> 2760 ${step.timestamp ? new Date(step.timestamp).toLocaleTimeString() : ''} 2761 </div> 2762 </div> 2763 `; 2764 2765 thoughtSteps.appendChild(stepElement); 2766 updateThoughtProcessCount(); 2767 2768 // Scroll to show the new step 2769 stepElement.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); 2770 } 2771 2772 function updateThoughtStepStatus(stepIndex, status) { 2773 const thoughtSteps = document.getElementById('thoughtSteps'); 2774 if (!thoughtSteps) return; 2775 2776 const stepElement = thoughtSteps.children[stepIndex]; 2777 if (stepElement) { 2778 const titleElement = stepElement.querySelector('.thought-step-title'); 2779 if (titleElement) { 2780 // Remove existing status icons 2781 titleElement.innerHTML = titleElement.innerHTML.replace(/(ð|â |â ï¸|â)/g, ''); 2782 2783 // Add new status icon 2784 if (status === 'completed') { 2785 titleElement.innerHTML += '<span style="color: #28a745; margin-left: 8px;">â </span>'; 2786 titleElement.style.color = '#28a745'; 2787 } else if (status === 'warning') { 2788 titleElement.innerHTML += '<span style="color: #ff9800; margin-left: 8px;">â ï¸</span>'; 2789 titleElement.style.color = '#ff9800'; 2790 } else if (status === 'error') { 2791 titleElement.innerHTML += '<span style="color: #dc3545; margin-left: 8px;">â</span>'; 2792 titleElement.style.color = '#dc3545'; 2793 } 2794 } 2795 } 2796 } 2797 2798 function toggleThoughtStep(header) { 2799 const content = header.nextElementSibling; 2800 const toggle = header.querySelector('.thought-step-toggle'); 2801 2802 if (content.classList.contains('collapsed')) { 2803 content.classList.remove('collapsed'); 2804 toggle.classList.remove('collapsed'); 2805 } else { 2806 content.classList.add('collapsed'); 2807 toggle.classList.add('collapsed'); 2808 } 2809 } 2810 2811 function toggleAgentThoughtProcess() { 2812 const content = document.getElementById('agentThoughtContent'); 2813 const toggle = document.querySelector('.agent-thought-toggle'); 2814 2815 if (!content || !toggle) return; 2816 2817 if (content.classList.contains('collapsed')) { 2818 content.classList.remove('collapsed'); 2819 toggle.classList.remove('collapsed'); 2820 } else { 2821 content.classList.add('collapsed'); 2822 toggle.classList.add('collapsed'); 2823 } 2824 } 2825 2826 function updateThoughtProcessCount() { 2827 const thoughtSteps = document.getElementById('thoughtSteps'); 2828 const countElement = document.getElementById('thoughtCount'); 2829 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2830 2831 if (thoughtSteps && countElement) { 2832 const stepCount = thoughtSteps.children.length; 2833 countElement.textContent = stepCount; 2834 2835 // Show/hide agent thought process based on step count 2836 if (agentThoughtProcess) { 2837 if (stepCount > 0) { 2838 // Show and expand when there are steps 2839 agentThoughtProcess.style.display = 'block'; 2840 const agentThoughtContent = document.getElementById('agentThoughtContent'); 2841 const toggle = document.querySelector('.agent-thought-toggle'); 2842 2843 if (agentThoughtContent && toggle) { 2844 agentThoughtContent.classList.remove('collapsed'); 2845 toggle.classList.remove('collapsed'); 2846 } 2847 } else { 2848 // Hide when no steps 2849 agentThoughtProcess.style.display = 'none'; 2850 } 2851 } 2852 } 2853 } 2854 2855 async function displayAnalysisResults(data) { 2856 const analysisResults = document.getElementById('analysisResults'); 2857 if (!analysisResults) return; 2858 2859 // If validation passed, call ChiliPiper with special message 2860 if (data.overall_status === 'valid') { 2861 2862 2863 // Hide thought chain elements 2864 const thoughtChainTitle = document.querySelector('.thought-chain-title'); 2865 if (thoughtChainTitle) { 2866 thoughtChainTitle.style.display = 'none'; 2867 } 2868 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2869 if (agentThoughtProcess) { 2870 agentThoughtProcess.style.display = 'none'; 2871 } 2872 2873 const ipLoc = await checkIpLocation(); 2874 2875 const runAiScreening = shouldRunAiScreening(globalFormData, ipLoc); 2876 const showChiliPiperAfterValidation = shouldShowChiliPiperAfterValidation(globalFormData, ipLoc); 2877 2878 if (runAiScreening) { 2879 document.querySelector('.unit1 .hbspt-form').style.display = 'none'; 2880 mountSalesScreeningChat('ContactFormbox', { 2881 onScreeningCompleted: function (collected) { 2882 var ar = document.getElementById('analysisResults'); 2883 if (screeningBudgetQualifiesForChiliPiper(collected && collected.budget)) { 2884 setTimeout(function () { 2885 if (ar) showChiliPiperLoading(ar); 2886 callChiliPiper(); 2887 }, 5100); 2888 } else { 2889 setTimeout(function () { 2890 displaySuccessMessage(); 2891 }, 5100); 2892 } 2893 } 2894 }); 2895 } else if (showChiliPiperAfterValidation) { 2896 showChiliPiperLoading(analysisResults); 2897 await callChiliPiper(); 2898 } else { 2899 displaySuccessMessage(); 2900 } 2901 } else { 2902 // Hide thought chain elements 2903 const thoughtChainTitle = document.querySelector('.thought-chain-title'); 2904 if (thoughtChainTitle) { 2905 thoughtChainTitle.style.display = 'none'; 2906 } 2907 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2908 if (agentThoughtProcess) { 2909 agentThoughtProcess.style.display = 'none'; 2910 } 2911 // For validation that didn't pass, show standard success message 2912 displaySuccessMessage(); 2913 } 2914 2915 // Auto-collapse agent thought process after displaying results 2916 setTimeout(() => { 2917 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2918 if (agentThoughtProcess && agentThoughtProcess.style.display !== 'none') { 2919 toggleAgentThoughtProcess(); 2920 } 2921 }, 500); 2922 } 2923 2924 function displaySuccessMessage() { 2925 const analysisResults = document.getElementById('analysisResults'); 2926 if (!analysisResults) return; 2927 2928 analysisResults.innerHTML = ` 2929 <div class="success-message"> 2930 <div class="success-icon"> 2931 <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"> 2932 </div> 2933 <div class="success-title">
2933Thanks for contacting us!</div> 2934 <div class="success-subtitle">We'll reach out to you shortly.</div> 2935 </div> 2936 `; 2937 2938 // Auto-collapse agent thought process after displaying success message 2939 setTimeout(() => { 2940 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2941 if (agentThoughtProcess && agentThoughtProcess.style.display !== 'none') { 2942 toggleAgentThoughtProcess(); 2943 } 2944 }, 500); 2945 } 2946 2947 function displayChiliPiperSuccessMessage() { 2948 const analysisResults = document.getElementById('analysisResults'); 2949 if (!analysisResults) return; 2950 2951 analysisResults.innerHTML = ` 2952 <div class="success-message"> 2953 <div class="success-icon"> 2954 <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"> 2955 </div> 2956 <div class="success-title">Take the next step with hireEZ</div> 2957 <div class="success-subtitle">Select a time that fits your schedule</div> 2958 </div> 2959 `; 2960 2961 // Auto-collapse agent thought process after displaying success message 2962 setTimeout(() => { 2963 const agentThoughtProcess = document.getElementById('agentThoughtProcess'); 2964 if (agentThoughtProcess && agentThoughtProcess.style.display !== 'none') { 2965 toggleAgentThoughtProcess(); 2966 } 2967 }, 500); 2968 } 2969 2970 // Validation functions 2971 function validateEmail(email) { 2972 const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; 2973 if (!emailRegex.test(email)) { 2974 return { valid: false, message: 'Please enter a valid email format' }; 2975 } 2976 2977 // Check for free email domains 2978 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']; 2979 2980 2981 const domain = email.split('@')[1].toLowerCase(); 2982 if (freeEmailDomains.includes(domain)) { 2983 return { valid: false, message: 'Please enter a business email address (not personal email)' }; 2984 } 2985 2986 // Check for suspicious patterns 2987 const suspiciousPatterns = [ 2988 /^[a-z]{1,3}\.com$/, // Very short domains like sss.com 2989 /^test\d*\.com$/, // test domains 2990 /^demo\d*\.com$/, // demo domains 2991 /^\d+\.com$/, // numeric domains 2992 ]; 2993 2994 for (let pattern of suspiciousPatterns) { 2995 if (pattern.test(domain)) { 2996 return { valid: false, message: 'Please enter a valid business email domain' }; 2997 } 2998 } 2999 3000 // Check for known fake domains 3001 const fakeDomains = ['test.com', 'example.com', 'fake.com', 'dummy.com']; 3002 if (fakeDomains.includes(domain)) { 3003 return { valid: false, message: 'Please enter a real business email address' }; 3004 } 3005 3006 // Check for test emails in domain names 3007 if (domain.includes('test') || domain.includes('demo') || domain.includes('sample')) { 3008 return { valid: false, message: 'Please enter a real business email address (not test/demo email)' }; 3009 } 3010 3011 return { valid: true, message: '' }; 3012 } 3013 3014 function validateFullName(name) { 3015 if (!name || name.trim().length < 2) { 3016 return { valid: false, message: 'Please enter your full name (
3016at least 2 characters)' }; 3017 } 3018 3019 // Check for valid name characters (letters, spaces, hyphens, apostrophes) 3020 const nameRegex = /^[a-zA-Z\s\-'\.]+$/; 3021 if (!nameRegex.test(name)) { 3022 return { valid: false, message: 'Name can only contain letters, spaces, hyphens, and apostrophes' }; 3023 } 3024 3025 // Check for numbers 3026 if (/\d/.test(name)) { 3027 return { valid: false, message: 'Name cannot contain numbers' }; 3028 } 3029 3030 // Check for excessive special characters 3031 const specialCharCount = (name.match(/[^a-zA-Z\s]/g) || []).length; 3032 if (specialCharCount > 3) { 3033 return { valid: false, message: 'Name contains too many special characters' }; 3034 } 3035 3036 // Check for reasonable length 3037 if (name.trim().length > 100) { 3038 return { valid: false, message: 'Name is too long (maximum 100 characters)' }; 3039 } 3040 3041 // Check that it's not all special characters 3042 const letterCount = (name.match(/[a-zA-Z]/g) || []).length; 3043 if (letterCount < 2) { 3044 return { valid: false, message: 'Please enter a valid name with at least 2 letters' }; 3045 } 3046 3047 // Check for obvious test names 3048 const lowerName = name.toLowerCase().trim(); 3049 const testNames = ['test', 'demo', 'sample', 'fake', 'dummy', 'example', 'testing']; 3050 for (let testName of testNames) { 3051 if (lowerName.includes(testName)) { 3052 return { valid: false, message: 'Please enter your real name (not test/demo name)' }; 3053 } 3054 } 3055 3056 // Check for names that are too simple or suspicious 3057 const words = lowerName.split(/\s+/); 3058 if (words.length === 1 && words[0].length < 3) { 3059 return { valid: false, message: 'Please enter your full name (first and last name)' }; 3060 } 3061 3062 return { valid: true, message: '' }; 3063 } 3064 3065 3066 3067 function validateAllFormData(formData) { 3068 const validationResults = {}; 3069 const clarificationQuestions = []; 3070 const issues = []; 3071 3072 // Validate email 3073 const emailValidation = validateEmail(formData.email); 3074 validationResults.email = emailValidation; 3075 3076 // Validate full name 3077 const nameValidation = validateFullName(formData.full_name); 3078 validationResults.full_name = nameValidation; 3079 3080 // Generate consolidated clarification questions 3081 let emailHasIssues = !emailValidation.valid; 3082 let nameHasIssues = !nameValidation.valid; 3083 3084 // Check for cross-validation issues (test data patterns) 3085 const emailLocal = formData.email ? formData.email.split('@')[0].toLowerCase() : ''; 3086 const nameWords = formData.full_name ? formData.full_name.toLowerCase().split(/\s+/) : []; 3087 const bothContainTest = emailLocal.includes('test') && nameWords.some(word => word.includes('test')); 3088 3089 if (bothContainTest) { 3090 // Special case: both email and name contain test data 3091 clarificationQuestions.push("Your real business email address."); 3092 clarificationQuestions.push("Your real full name."); 3093 issues.push('cross_validation_test_data'); 3094 } else { 3095 // Handle email issues 3096 if (emailHasIssues) { 3097 if (emailValidation.message.includes('test') || emailValidation.message.includes('demo')) { 3098 clarificationQuestions.push("Please provide your real business email address."); 3099 } else if (emailValidation.message.includes('personal email')) { 3100 clarificationQuestions.push("Please provide a business email address."); 3101 } else { 3102 clarificationQuestions.push("Please provide a valid business email address."); 3103 } 3104 issues.push('email_validation'); 3105 } 3106 3107 // Handle name issues 3108 if (nameHasIssues) { 3109 if (nameValidation.message.includes('test') || nameValidation.message.includes('demo')) { 3110 clarificationQuestions.push("Please provide your real full name."); 3111 } else if (nameValidation.message.includes('numbers')) { 3112 clarificationQuestions.push("Please provide your real full name (names cannot contain numbers)."); 3113 } else if (nameValidation.message.includes('characters')) { 3114 clarificationQuestions.push("Please provide your full name using only letters, space
3114s, hyphens, and apostrophes."); 3115 } else { 3116 clarificationQuestions.push("Please provide your complete full name (first and last name)."); 3117 } 3118 issues.push('name_validation'); 3119 } 3120 } 3121 3122 return { 3123 isValid: clarificationQuestions.length === 0, 3124 validationResults, 3125 clarificationQuestions, 3126 issues 3127 }; 3128 } 3129 // Store the original form data for updates 3130 let originalFormData = null; 3131 3132 // Real-time streaming function using EventSource 3133 function sendChatStreaming(formData) { 3134 return new Promise((resolve, reject) => { 3135 const API_BASE = 'https://webchatbot.hireez.com/api/v1'; 3136 3137 // Use fetch to send form data and then connect to streaming endpoint 3138 fetch(`${API_BASE}/sales-agent/validate-form-streaming`, { 3139 method: 'POST', 3140 headers: { 3141 'Content-Type': 'application/json', 3142 }, 3143 body: JSON.stringify(formData) 3144 }) 3145 .then(response => { 3146 if (!response.ok) { 3147 throw new Error(`HTTP ${response.status}: ${response.statusText}`); 3148 } 3149 3150 // Hide loading indicator once stream starts 3151 const loadingDots = document.querySelector('.loading-dots'); 3152 if (loadingDots) { 3153 loadingDots.style.display = 'none'; 3154 } 3155 3156 const reader = response.body.getReader(); 3157 const decoder = new TextDecoder(); 3158 let buffer = ''; // Buffer to accumulate incomplete data 3159 3160 function processStream() { 3161 return reader.read().then(({ done, value }) => { 3162 if (done) { 3163 // Process any remaining data in buffer 3164 if (buffer.trim()) { 3165 processSSEMessages(buffer); 3166 } 3167 resolve(); 3168 return; 3169 } 3170 3171 // Accumulate data in buffer 3172 buffer += decoder.decode(value, { stream: true }); 3173 3174 // Process complete SSE messages (separated by double newlines) 3175 const messages = buffer.split(/\n\n/); 3176 3177 // Keep the last potentially incomplete message in buffer 3178 buffer = messages.pop() || ''; 3179 3180 // Process complete messages 3181 for (const message of messages) { 3182 processSSEMessages(message); 3183 } 3184 3185 return processStream(); 3186 }); 3187 } 3188 3189 function processSSEMessages(message) { 3190 const lines = message.split('\n'); 3191 let eventType = null; 3192 let dataLines = []; 3193 3194 for (const line of lines) { 3195 const trimmedLine = line.trim(); 3196 if (trimmedLine.startsWith('event:')) { 3197 // If we have a previous event with data, process it first 3198 if (eventType && dataLines.length > 0) { 3199 parseAndHandleEvent(eventType, dataLines.join('\n')); 3200 } 3201 eventType = trimmedLine.substring(6).trim(); 3202 dataLines = []; 3203 } else if (trimmedLine.startsWith('data:')) { 3204 dataLines.push(trimmedLine.substring(5).trim()); 3205 } 3206 } 3207 3208 // Process the last event in the message
3209 if (eventType && dataLines.length > 0) { 3210 parseAndHandleEvent(eventType, dataLines.join('\n')); 3211 } 3212 } 3213 3214 function parseAndHandleEvent(eventType, dataStr) { 3215 try { 3216 const eventData = JSON.parse(dataStr); 3217 handleStreamEvent(eventType, eventData); 3218 } catch (e) { 3219 console.error('Error parsing event data:', e, 'Data:', dataStr.substring(0, 200)); 3220 } 3221 } 3222 3223 return processStream(); 3224 }) 3225 .catch(error => { 3226 console.error('Streaming error:', error); 3227 3228 // Show timeout-specific error message 3229 if (error.message.includes('timeout') || error.message.includes('Timeout')) { 3230 displayTimeoutError(); 3231 } else { 3232 displayError(`Network error: ${error.message}`); 3233 } 3234 3235 reject(error); 3236 }); 3237 }); 3238 } 3239 3240 async function handleStreamEvent(eventType, data) { 3241 3242 switch (eventType) { 3243 case 'thought_step': 3244 displayRealtimeThoughtStep(data); 3245 break; 3246 3247 case 'final_result': 3248 // Hide loading indicator when final result arrives 3249 const loadingDots = document.querySelector('.loading-dots'); 3250 if (loadingDots) { 3251 loadingDots.style.display = 'none'; 3252 } 3253 3254 if (data.success) { 3255 await displayAnalysisResults(data.data); 3256 } else { 3257 displayError(data.message); 3258 } 3259 break; 3260 3261 case 'error': 3262 // Hide loading indicator on error 3263 const errorLoadingDots = document.querySelector('.loading-dots'); 3264 if (errorLoadingDots) { 3265 errorLoadingDots.style.display = 'none'; 3266 } 3267 displayError(data.message); 3268 break; 3269 } 3270 } 3271 3272 function displayTimeoutError() { 3273 const thoughtChainContainer = document.getElementById('thoughtChainContainer'); 3274 if (thoughtChainContainer) { 3275 thoughtChainContainer.innerHTML = ` 3276 <div class="thought-chain-title">â¡ Fast Response Mode</div> 3277 <div style="padding: 12px; background: #e1f5fe; border: 1px solid #01579b; border-radius: 4px; color: #01579b;"> 3278 <div style="font-weight: 600; margin-bottom: 4px;">Analysis completed using fast validation</div> 3279 <div style="font-size: 13px;"> 3280 The AI analysis took longer than expected, so we provided immediate results using our backup validation system. 3281 The results are still accurate and ready for your review. 3282 </div> 3283 </div> 3284 `; 3285 } 3286 } 3287 3288 function displayError(message) { 3289 const thoughtChainContainer = document.getElementById('thoughtChainContainer'); 3290 if (thoughtChainContainer) { 3291 thoughtChainContainer.innerHTML = ` 3292 <div class="thought-chain-title">â Analysis Error</div> 3293 <div style="padding: 12px; background: #f8d7da; border: 1px solid #f5c6cb; border-radius: 4px; color: #721c24;"> 3294 ${message} 3295 </div> 3296 `; 3297 } 3298 } 3299 3300 // const API_BASE = 'http://127.0.0.1:8001/api/v1'; 3301 const API_BASE = 'https://webchatbot.hireez.com/api/v1'; 3302 let authToken = null;
3303 let csrfToken = null; 3304 3305 async function fetchToken() { 3306 const res = await fetch(`${API_BASE}/auth/token`, { 3307 method: 'GET', 3308 credentials: 'include' 3309 }); 3310 const data = await res.json(); 3311 authToken = data.token + ':' + data.sig; 3312 csrfToken = data.csrf_token; 3313 } 3314 3315 async function sendChat(formData, retryCount = 0) { 3316 const MAX_RETRIES = 3; 3317 try { 3318 // Try the new streaming endpoint first 3319 await sendChatStreaming(formData); 3320 return; 3321 3322 } catch (streamError) { 3323// console.log('Streaming failed, falling back to regular endpoint:', streamError); 3324 3325 // Fallback to regular endpoint 3326 try { 3327 const res = await fetch(`${API_BASE}/sales-agent/validate-form`, { 3328 method: 'POST', 3329 headers: { 3330 'Content-Type': 'application/json', 3331 'X-Auth-Token': authToken, 3332 'X-CSRF-Token': csrfToken 3333 }, 3334 credentials: 'include', 3335 body: JSON.stringify(formData) 3336 }); 3337 3338 if (res.status === 401) { 3339 if (retryCount >= MAX_RETRIES) { 3340 throw new Error("Maximum authentication retries exceeded"); 3341 } 3342 await fetchToken(); 3343 return sendChat(formData, retryCount + 1); 3344 } 3345 3346 const responseData = await res.json(); 3347 3348 // Hide loading indicator 3349 const loadingDots = document.querySelector('.loading-dots'); 3350 if (loadingDots) { 3351 loadingDots.style.display = 'none'; 3352 } 3353 3354 // Display thought chain steps with animation (fallback mode) 3355 if (responseData.thought_chain && responseData.thought_chain.length > 0) { 3356 responseData.thought_chain.forEach((step, index) => { 3357 setTimeout(() => { 3358 displayThoughtStep(step, index); 3359 }, index * 300); 3360 }); 3361 3362 // Display final results after all steps 3363 setTimeout(async () => { 3364 await displayAnalysisResults(responseData.data); 3365 }, responseData.thought_chain.length * 300); 3366 } else { 3367 // Fallback if no thought chain 3368 await displayAnalysisResults(responseData.data); 3369 } 3370 3371 return responseData; 3372 } catch (error) { 3373 console.error("Request failed:", error); 3374 3375 // Hide loading and show error 3376 const thoughtChainContainer = document.getElementById('thoughtChainContainer'); 3377 if (thoughtChainContainer) { 3378 thoughtChainContainer.innerHTML = ` 3379 <div class="thought-chain-title">â Analysis Error</div> 3380 <div style="padding: 12px; background: #f8d7da; border: 1px solid #f5c6cb; border-radius: 4px; color: #721c24;"> 3381 Sorry, there was an error analyzing your information. Please try again or contact support. 3382 </div> 3383 `; 3384 } 3385 } 3386 } 3387 } 3388 3389</script>
3389 3390 3391 </div> 3392 3393 3394 </div> 3395 3396 </div> 3397 </div> 3398 </section> 3399 3400 3401 3402 <!-- ==== LOGO TICKER ==== --> 3403 <div class="ticker-wrap" id="ticker"> 3404 <!-- Begin partial --> 3405<style> 3406 .logo-out-box{ 3407 3408 max-width: 1280px; 3409 margin: 0 auto; 3410 position: relative; 3411 } 3412.logo-part-title { 3413 font-family: var(--font5); 3414 font-size: 14px; 3415 color: #737478; 3416 font-weight: 600; 3417 line-height: 21px; 3418 text-align: center; 3419 margin-bottom: 40px; 3420 text-transform: uppercase; 3421 } 3422 #logo_part, 3423 #logo_part2 { 3424 padding: 0; 3425 width: 100%; 3426 overflow: hidden 3427 } 3428 3429 #logo_part .cont, 3430 #logo_part2 .cont { 3431 position: relative; 3432 z-index: 10; 3433 width: 100%; 3434 max-width: none; 3435 margin: 0 auto 3436 } 3437 3438 #logo_part .cont::before, 3439 #logo_part2 .cont::before { 3440 content: ''; 3441 position: absolute; 3442 height: 100%; 3443 width: 100px; 3444 background: linear-gradient(90deg, #fff 9.85%, rgba(255, 255, 255, 0) 100%); 3445 z-index: 11; 3446 left: 0; 3447 top: 0 3448 } 3449 3450 #logo_part .cont::after, 3451 #logo_part2 .cont::after { 3452 content: ''; 3453 position: absolute; 3454 height: 100%; 3455 width: 100px; 3456 background: linear-gradient(270deg, #fff 9.85%, rgba(255, 255, 255, 0) 100%); 3457 z-index: 11; 3458 right: 0; 3459 top: 0 3460 } 3461 3462 #logo_part .cont .cont-title, 3463 #logo_part2 .cont .cont-title { 3464 color: var(--gray-600, #475467); 3465 text-align: center; 3466 font-size: 18px; 3467 font-style: normal; 3468 font-weight: 500; 3469 line-height: 27px 3470 } 3471 3472 #logo_part .cont .logo-box, 3473 #logo_part2 .cont .logo-box { 3474 overflow: hidden; 3475 display: flex; 3476 position: relative 3477 } 3478 3479 #logo_part .cont .logo-box .lazyload, 3480 #logo_part .cont .logo-box .lazyloading, 3481 #logo_part2 .cont .logo-box .lazyload, 3482 #logo_part2 .cont .logo-box .lazyloading { 3483 opacity: 1 3484 } 3485 3486 #logo_part .center-box, 3487 #logo_part2 .center-box { 3488 margin-top: 128px 3489 } 3490 3491 #logo_part .cont .logo-box .cont-img, 3492 #logo_part2 .cont .logo-box .cont-img { 3493 --imgHeight: 40px; 3494 display: flex; 3495 gap: 39px; 3496 height: var(--imgHeight); 3497 align-items: center; 3498 width: fit-content; 3499 padding-left: 39px 3500 } 3501 3502 #logo_part .cont .logo-box .cont-img .company-icon, 3503 #logo_part2 .cont .logo-box .cont-img .company-icon { 3504 height: var(--imgHeight); 3505 width: auto 3506 } 3507 3508 #logo_part .cont .logo-box .cont-img .company-icon.size-50, 3509 #logo_part2 .cont .logo-box .cont-img .company-icon.size-50 { 3510 height: calc(var(--imgHeight) * .5) 3511 } 3512 3513 #logo_part .cont .logo-box .cont-img .company-icon.size-60, 3514 #logo_part2 .cont .logo-box .cont-img .company-icon.size-60 { 3515 height: calc(var(--imgHeight) * .6) 3516 } 3517 3518 #logo_part .cont .logo-box .cont-img .company-icon.size-80, 3519 #logo_part2 .cont .logo-box .cont-img .company-icon.size-80 { 3520 height: calc(var(--imgHeight) * .8) 3521 } 3522 #new_logo_part .cont .logo-box .cont-img .company-icon.size-90 { 3523 height: calc(var(--imgHeight) * .9) 3524 } 3525 #new_logo_part .cont .logo-box .cont-img .company-icon.size-1of2 { 3526 height: calc(var(--imgHeight) * 1.2) 3527 } 3528 #logo_part .cont .logo-box.no-anim, 3529 #logo_part2 .cont .logo-box.no-anim { 3530 overflow: inherit 3531 } 3532 3533 #logo_part .cont .logo-box.no-anim .cont-img, 3534 #logo_part2 .cont .logo-box.no-anim .cont-img { 3535 justify-content: center; 3536 padding: 0; 3537 flex-wrap: wrap; 3538 } 3539 3540 #logo_part .btn-box, 3541 #logo_part2 .btn-box { 3542 position: relative; 3543 display: inline-block 3544 } 3545 3546 #logo_part .btn-box::before, 3547 #logo_part2 .btn-box::before { 3548 content: ''; 3549 position: absolute; 3550 width: 158px; 3551 height: 158px; 3552 background: #8da1ff; 3553 filter: blur(38px); 3554 opacity: .5; 3555 top: 50%; 3556 left: -10%; 3557 transform: translate(0, -50%) 3558 } 3559 3560 #logo_part .btn-box .bg, 3561 #logo_part2 .btn-box .bg { 3562 position: absolute; 3563 width: 100px; 3564 height: 100px; 3565 background: #96ffad; 3566 filter: blur(38px); 3567 opacity: .5; 3568 top: 50%; 3569 left: 50%; 3570 transform: translate(-50%, -50%) 3571 } 3572 3573 #logo_part .btn-box::after, 3574 #logo_part2 .btn-box::after { 3575 content: ''; 3576 position: absolute; 3577 width: 100px; 3578 height: 100px; 3579 background: #e496ff; 3580 filter: blur(38px); 3581 opacity: .5; 3582 top: 50%; 3583 right: -10%; 3584 transform: translate(0, -50%) 3585 } 3586 3587 #logo_part .btn-box .book-meeting, 3588 #logo_part2 .btn-box .book-meeting { 3589 position: relative; 3590 z-index: 10 3591 } 3592 3593 @media (max-width:1240px) { 3594 3595 #logo_part .cont .cont-title, 3596 #logo_part2 .cont .cont-title { 3597 font-size: 24px 3598 } 3599 3600 #logo_part .cont .logo-box.no-anim .cont-img, 3601 #logo_part2 .cont .logo-box.no-anim .cont-img { 3602 gap: 30px 40px 3603 } 3604 } 3605 @media (max-width:1080px) { 3606 #logo_part2 .cont .logo-box .cont-img { 3607 --imgHeight: 45px 3608 } 3609 } 3610</style> 3611<div class="logo-out-box"> 3612 <div class="logo-part-title">Trusted by leading talent teams</div> 3613 <div id="logo_part" class="unit-box"> 3614 <div class="cont"> 3615 <div class="logo-box no-anim"> 3616 <div class="cont-img"> 3617 3618 3619 <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"> 3620 3621 <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"> 3622 3623 <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"> 3624 3625 <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"> 3626 3627 <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"> 3628 3629 <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"> 3630 3631 <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"> 3632 3633 <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"> 3634 3635 <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"> 3636 3637 <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"> 3638 3639 <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"> 3640 3641 <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"> 3642 3643 <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"> 3644 3645 <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"> 3646 3647 <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"> 3648 3649 <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"> 3650 3651 <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"> 3652 3653 3654 3655 <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"> 3656 3657 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Flowserve-logo.svg" alt=" company icon" class="company-icon unlazyload"> 3658 3659 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/UCDavisHealth-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/Phoenix-Childrens-Hospital-logo.svg" alt=" company icon" class="company-icon unlazyload size-1of2"> 3662 3663 3664 <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"> 3665 3666 <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"> 3667 <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"> 3668 3669 <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"> 3670 3671 <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"> 3672 3673 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/LG-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/lpl-financial-logo.svg" alt=" company icon" class="company-icon unlazyload size-60"> 3676 3677 <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"> 3678 3679 <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"> 3680 3681 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Assurant-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/AARP-logo.svg" alt=" company icon" class="company-icon unlazyload size-90"> 3684 3685 <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"> 3686 3687 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/UCSF-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/hyatt_logo.png" alt=" company icon" class="company-icon unlazyload size-1of2"> 3690 3691 <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"> 3692 3693 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Guidehouse_logo.png" alt=" company icon" class="company-icon unlazyload"> 3694 3695 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Okta-000000.svg" alt="Okta company icon" class="company-icon unlazyload"> 3696 3697 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/DXC-logo.svg" alt=" company icon" class="company-icon unlazyload"> 3698 3699 <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"> 3700 3701 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/CDW-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/Accenture-logo.svg" alt=" company icon" class="company-icon unlazyload"> 3704 3705 <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"> 3706 3707 <img src="https://hireez.com/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Global-Payments.svg" alt=" company icon" class="company-icon unlazyload"> 3708 3709 <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"> 3710 3711 <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"> 3712 3713 <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"> 3714 3715 <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"> 3716 3717 <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"> 3718 3719 <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"> 3720 3721 <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"> 3722 3723 <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"> 3724 3725 <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"> 3726 3727 <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"> 3728 3729 <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"> 3730 3731 <img src="https://hireez.c
3731om/wp-content/uploads/hireEZ%202.0%20v2/company-logo/Tractor-Supply-Co-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/az-logo-full.svg" alt=" company icon" class="company-icon unlazyload size-60"> 3734 3735 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Pwc-colors.svg" alt="pwc company icon" class="company-icon unlazyload"> 3736 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/GeneralDynamics-727678.svg" alt="General Dynamics company icon" class="company-icon unlazyload size-80"> 3737 3738 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/HNTB-colors.svg" alt="HNTB company icon" class="company-icon unlazyload size-60"> 3739 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Funko-colors.svg" alt="Funko company icon" class="company-icon unlazyload size-80"> 3740 3741 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Enel-colors.svg" alt="Enel company icon" class="company-icon unlazyload size-80"> 3742 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/MTbank-colors.svg" alt="MTbank company icon" class="company-icon unlazyload size-60"> 3743 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Odyssey-colors.svg" alt="Odyssey company icon" class="company-icon unlazyload"> 3744 3745 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Booking-000000.svg" alt="Booking company icon" class="company-icon unlazyload size-60"> 3746 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Hilton-231f20.svg" alt="Hilton company icon" class="company-icon unlazyload"> 3747 3748 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/WilsonHCG-colors-new.svg" alt="Wilson company icon" class="company-icon unlazyload size-80"> 3749 3750 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/PowerToFly-000000.svg" alt="PowerToFly company icon" class="company-icon unlazyload size-50"> 3751 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/Viasat-000000.svg" alt="Viasat company icon" class="company-icon unlazyload "> 3752 </div> 3753 </div> 3754 </div> 3755
3755<script> 3756 (function () { 3757 var SlideLogosAnim = { 3758 init: function () { 3759 if ($('#logo_part .cont-img').eq(0).children().length > 6) { 3760 $('#logo_part .logo-box').removeClass('no-anim'); 3761 $('#logo_part .logo-box').append($('#logo_part .cont-img').eq(0).clone()); 3762 this.run(); 3763 } 3764 }, 3765 scrollLeft: 0, 3766 run: function () { 3767 const _this = this; 3768 function loopRun() { 3769 const boxW = $('#logo_part .cont-img').eq(0).innerWidth() 3770 _this.scrollLeft += 1; 3771 $('#logo_part .cont-img').eq(0).animate({ 'margin-left': `-${_this.scrollLeft}px` }, 10, function () { 3772 3773 if (_this.scrollLeft >= boxW) { 3774 _this.scrollLeft = 0; 3775 $(this).css({ 'margin-left': '0' }); 3776 $('#logo_part .logo-box').append($(this)); 3777 } 3778 loopRun() 3779 }) 3780 }; 3781 3782 loopRun(); 3783 } 3784 3785 } 3786 setTimeout(function () { 3787 SlideLogosAnim.init() 3788 }, 1000); 3789 })(); 3790 </script>
3790 3791 </div> 3792 </div> 3793<!-- End partial --> 3794 <!-- <div class="ticker-inner"> 3795 <div class="ticker-label">Trusted by plant & industrial TA teams at</div> 3796 <div class="ticker-viewport"> 3797 <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> 3798 </div> 3799 </div> --> 3800 </div> 3801 3802 <!-- ==== PROBLEM / SOLUTION ==== --> 3803 <div class="container-fluid"> 3804<div class="row-fluid-wrapper"> 3805<div class="row-fluid"> 3806<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 3807 3808<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 3809<div class="row-fluid "> 3810<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 3811 3812<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 3813<div class="row-fluid "> 3814<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 3815<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"> 3816 <div class="section-inner"> 3817 <div class="section-head reveal in"> 3818 <div class="section-kicker"> 3819 THE SHIFT 3820 </div> 3821 3822 <h2 class="section-h"> 3823 Recruiting has always been treated as a cost center. <em>That's the root problem.</em> 3824 </h2> 3825 3826 <div class="section-sub"> 3827 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. 3828 </div> 3829 </div> 3830 3831 <div class="problem-grid reveal in"> 3832 <div class="problem-col"> 3833 <div class="problem-col-label bad"> 3834 <span class="box"></span>The old question 3835 </div> 3836 3837 3838 <p class="card-title" style="font-size:17px;font-weight:500;line-height:1.35;margin:0 0 12px;color:var(--ink-1)"> 3839 "Why are we spending this much on recruiting?" 3840 </p> 3841 3842 3843 3844 <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)"> 3845 TA on defense. Headcount justified, budgets defended, costs scrutinized. The narrative is always how to spend less. 3846 </p> 3847 3848 3849 <ul class="problem-list"> 3850 3851 <li> 3852 <span class="mark">â</span> 3853 <span>Stack of point solutions you canât justify to the CFO</span> 3854 </li> 3855 3856 <li> 3857 <span class="mark">â</span> 3858 <span>Time-to-fill measured in days, not dollars</span> 3859 </li> 3860 3861 <li> 3862 <span class="mark">â</span> 3863 <span>Headcount frozen, req loads growing</span> 3864 </li> 3865 3866 <li>
3867 <span class="mark">â</span> 3868 <span>QBRs become a performance review of how many roles closed</span> 3869 </li> 3870 3871 </ul> 3872 </div> 3873 3874 <div class="problem-col good"> 3875 <div class="problem-col-label good"> 3876 <span class="box"></span>THE NEW QUESTION 3877 </div> 3878 3879 3880 <p class="card-title" style="font-size:17px;font-weight:500;line-height:1.35;margin:0 0 12px;color:var(--ink-1)"> 3881 "How much revenue is recruiting generating, <em>and how do we accelerate it?"</em> 3882 </p> 3883 3884 3885 3886 <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)"> 3887 TA on offense. Revenue protected, revenue at risk, revenue per recruiter. The narrative shifts from cost to contribution. 3888 </p> 3889 3890 3891 <ul class="problem-list"> 3892 3893 <li> 3894 <span class="mark">â</span> 3895 <span>Revenue impact quantified per open req, in real time</span> 3896 </li> 3897 3898 <li> 3899 <span class="mark">â</span> 3900 <span>Agentic AI multiplies team output. No new headcount.</span> 3901 </li> 3902 3903 <li> 3904 <span class="mark">â</span> 3905 <span>One action layer on top of the ATS you already run</span> 3906 </li> 3907 3908 <li> 3909 <span class="mark">â</span> 3910 <span>QBRs become a revenue story your CHRO can take to the CEO</span> 3911 </li> 3912 3913 </ul> 3914 </div> 3915 </div> 3916 </div> 3917</section></div> 3918 3919</div><!--end widget-span --> 3920</div><!--end row--> 3921</div><!--end row-wrapper --> 3922 3923</div><!--end widget-span --> 3924</div><!--end row--> 3925</div><!--end row-wrapper --> 3926 3927</div><!--end widget-span --> 3928</div> 3929</div> 3930</div> 3931 3932 <!-- ==== STATS ==== --> 3933 <div class="container-fluid"> 3934<div class="row-fluid-wrapper"> 3935<div class="row-fluid"> 3936<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 3937 3938<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 3939<div class="row-fluid "> 3940<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 3941 3942<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 3943<div class="row-fluid "> 3944<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 3945<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"> 3946 <div class="section-inner"> 3947 <div class="stats-head-row reveal"> 3948 <div> 3949 <div class="section-kicker">THE OUTCOMES</div> 3950 <h2 class="section-h">The numbers <em>that show up in the QBR. </em></h2> 3951 </div> 3952 3953 <div class="stats-source"> 3954 Every metric tied to revenue, cost, or capacity. Every metric defensible. Every metric pulled from real customer deployments. 3955 </div> 3956 </div> 3957 3958 <div class="stat-grid reveal" id="stat-grid" style="grid-template-columns: repeat(3, 1fr);"> 3959 3960 <div class="stat"> 3961 <div class="stat-num"> 3962 <span class="val">50%</span> 3963 </div> 3964 <div class="stat-label"> 3965 3966 <strong>reduction in time-to-fill on revenue-critical roles</strong> 3967 3968 3969 </div> 3970 </div> 3971 3972 <div class="stat"> 3973 <div class="stat-num"> 3974 <span class="val">60%+</span> 3975 </div> 3976 <div class="stat-label"> 3977 3978 <strong>reduction in total hiring cost per role</strong> 3979 3980 3981 </div> 3982 </div> 3983 3984 <div class="stat"> 3985 <div class="stat-num"> 3986 <span class="val">2x</span> 3987 </div> 3988 <div class="stat-label"> 3989 3990 <strong>recruiter capacity with agentic AI in the workflow</strong> 3991 3992 3993 </div> 3994 </div> 3995 3996 <div class="stat"> 3997 <div class="stat-num"> 3998 <span class="val">+38%</span> 3999 </div> 4000 <div class="stat-label"> 4001 4002 <strong>higher candidate response rate vs. LinkedIn alone</strong> 4003 4004 4005 </div> 4006 </div> 4007 4008 <div class="stat"> 4009 <div class="stat-num">
4010 <span class="val">7x</span> 4011 </div> 4012 <div class="stat-label"> 4013 4014 <strong>larger qualified candidate pool across 45+ platforms</strong> 4015 4016 4017 </div> 4018 </div> 4019 4020 <div class="stat"> 4021 <div class="stat-num"> 4022 <span class="val">4-6</span> 4023 </div> 4024 <div class="stat-label"> 4025 4026 <strong>point solutions consolidated into one action layer</strong> 4027 4028 4029 </div> 4030 </div> 4031 4032 </div> 4033 </div> 4034</section></div> 4035 4036</div><!--end widget-span --> 4037</div><!--end row--> 4038</div><!--end row-wrapper --> 4039 4040</div><!--end widget-span --> 4041</div><!--end row--> 4042</div><!--end row-wrapper --> 4043 4044</div><!--end widget-span --> 4045</div> 4046</div> 4047</div> 4048 4049 <!-- ==== HOW (PILLARS + PRODUCT FRAME) ==== --> 4050 <div class="container-fluid"> 4051<div class="row-fluid-wrapper"> 4052<div class="row-fluid"> 4053<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 4054 4055<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 4056<div class="row-fluid "> 4057<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 4058 4059<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 4060<div class="row-fluid "> 4061<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 4062<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"> 4063 <div class="section-inner"> 4064 <div class="section-head reveal in"> 4065 4066 <div class="section-kicker">WHAT hireEZ DELIVERS</div> 4067 4068 4069 4070 <h2 class="section-h"> 4071 Four shifts. <em>One platform.</em> 4072 </h2> 4073 4074 4075 4076 <div class="section-sub"> 4077 <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> 4078 </div> 4079 4080 </div> 4081 4082 4083 <div class="pillars reveal in pillars--count-4"> 4084 4085 <div class="pillar"> 4086 4087 <div class="pillar-num">01 · POSITIONING</div> 4088 4089 4090 4091 4092 4093 <h3>Recruiting is a revenue function.</h3> 4094 4095 4096 4097 <div class="pillar-body"> 4098 <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> 4099 </div> 4100 4101 4102 4103 <div class="pillar-metric"> 4104 4105 <span>From cost center to <em>Revenue engine</em></span> 4106 4107 4108 </div> 4109 4110 </div> 4111 4112 <div class="pillar"> 4113 4114 <div class="pillar-num">02 · PROOF</div> 4115 4116 4117 4118 4119 4120 <h3>Prove your teamâs impact.</h3> 4121 4122 4123 4124 <div class="pillar-body"> 4125 <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> 4126 </div> 4127 4128 4129 4130 <div class="pillar-metric"> 4131 4132 <span>Time-to-fill cut <em>50%</em></span> 4133 4134 4135 </div> 4136 4137 </div> 4138 4139 <div class="pillar"> 4140 4141 <div class="pillar-num">03 · LEVERAGE</div> 4142 4143 4144 4145 4146 4147 <h3>Do more with the team you have.</h3> 4148 4149 4150 4151 <div class="pillar-body"> 4152 <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> 4153 </div> 4154 4155 4156 4157 <div class="pillar-metric"> 4158
4159 <span>Recruiter capacity <em>2Ã</em></span> 4160 4161 4162 </div> 4163 4164 </div> 4165 4166 <div class="pillar"> 4167 4168 <div class="pillar-num">04 · ARCHITECTURE</div> 4169 4170 4171 4172 4173 4174 <h3>One brain, every ATS.</h3> 4175 4176 4177 4178 <div class="pillar-body"> 4179 <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> 4180 </div> 4181 4182 4183 4184 <div class="pillar-metric"> 4185 4186 <span>Native ATS integrations <em>50+</em></span> 4187 4188 4189 </div> 4190 4191 </div> 4192 4193 </div> 4194 4195 </div> 4196</section></div> 4197 4198</div><!--end widget-span --> 4199</div><!--end row--> 4200</div><!--end row-wrapper --> 4201 4202</div><!--end widget-span --> 4203</div><!--end row--> 4204</div><!--end row-wrapper --> 4205 4206</div><!--end widget-span --> 4207</div> 4208</div> 4209</div> 4210 4211 4212 <!-- ==== TESTIMONIAL ==== --> 4213 <div class="container-fluid"> 4214<div class="row-fluid-wrapper"> 4215<div class="row-fluid"> 4216<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 4217 4218<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 4219<div class="row-fluid "> 4220<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 4221 4222<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 4223<div class="row-fluid "> 4224<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 4225<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"> 4226 <img alt="" class="bg" src="https://hireez.com/wp-content/uploads/hireez-v5/homepage/color-bg.svg"> 4227 4228 <div class="testimonial-inner reveal"> 4229 4230 <div class="testimonial-quote"> 4231 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. 4232 </div> 4233 4234 4235 <div class="testimonial-meta"> 4236 4237 <div class="testimonial-name">Steve Melfi</div> 4238 4239 4240 4241 <div class="testimonial-role">Head of Global Talent Acquisition at Nordson Corporation</div> 4242 4243 4244 4245 <div class="testimonial-result"> 4246 4247 Qualified candidate increase 4248 4249 4250 <strong>2.5Ã</strong> 4251 4252 </div> 4253 4254 </div> 4255 </div> 4256</section></div> 4257 4258</div><!--end widget-span --> 4259</div><!--end row--> 4260</div><!--end row-wrapper --> 4261 4262</div><!--end widget-span --> 4263</div><!--end row--> 4264</div><!--end row-wrapper --> 4265 4266</div><!--end widget-span --> 4267</div> 4268</div> 4269</div> 4270 4271 <!-- ==== INTEGRATIONS ==== --> 4272 <div class="container-fluid"> 4273<div class="row-fluid-wrapper"> 4274<div class="row-fluid"> 4275<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 4276 4277<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 4278<div class="row-fluid "> 4279<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 4280 4281<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 4282<div class="row-fluid "> 4283<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 4284<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"> 4285 <div class="int-inner"> 4286 <div class="int-head reveal"> 4287 <div> 4288 4289 <div class="section-kicker">YOUR ATS, MADE INTELLIGENT</div> 4290 4291 4292 4293 <h2 class="section-h" style="font-size: clamp(28px, 3.2vw, 40px);"> 4294 <em>50+ native ATS integrations.</em>
4294 No rip-and-replace. 4295 </h2> 4296 4297 4298 </div> 4299 4300 4301 <div class="section-sub"> 4302 <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> 4303 </div> 4304 4305 </div> 4306 4307 <div class="int-grid reveal"> 4308 <div class="int-cell"> 4309 <div class="ats-logo"> 4310 <img src="https://hireez.com/wp-content/uploads/CompanyLogos/workday-colors.svg" alt="Workday Logo"> 4311 </div> 4312 <div class="name">Workday</div> 4313 </div> 4314 4315 <div class="int-cell"> 4316 <div class="ats-logo"> 4317 <img width="116" height="63" src="https://hireez.com/wp-content/uploads/Partners/SAP.svg" alt="SAP SuccessFactors Logo"> 4318 </div> 4319 <div class="name">SuccessFactors</div> 4320 </div> 4321 4322 <div class="int-cell"> 4323 <div class="ats-logo"> 4324 <img src="https://hireez.com/wp-content/uploads/2024/03/oracle-logo.svg" alt="oracle Logo"> 4325 </div> 4326 <div class="name">Oracle Taleo</div> 4327 </div> 4328 4329 <div class="int-cell"> 4330 <div class="ats-logo"> 4331 <img width="106" height="79" src="https://hireez.com/wp-content/uploads/Partners/icims-logo.svg" alt="ICIMS Logo"> 4332 </div> 4333 <div class="name">iCIMS</div> 4334 </div> 4335 4336 <div class="int-cell"> 4337 <div class="ats-logo"> 4338 <img width="120" height="27" src="https://hireez.com/wp-content/uploads/Partners/greenhouse.svg" alt="greenhouse Logo"> 4339 </div> 4340 <div class="name">Greenhouse</div> 4341 </div> 4342 4343 <div class="int-cell"> 4344 <div class="ats-logo"> 4345 <img width="200" height="100" src="https://hireez.com/wp-content/uploads/Partners/lever-only-logo.png" alt="Lever Logo" style="max-width:80%"> 4346 </div> 4347 <div class="name">Lever</div> 4348 </div> 4349 4350 <div class="int-cell"> 4351 <div class="ats-logo"> 4352 <img width="112" height="42" src="https://hireez.com/wp-content/uploads/2024/06/avature-logo-svg.svg" alt="Avature WebSources Logo"> 4353 </div> 4354 <div class="name">Avature</div> 4355 </div> 4356 4357 <div class="int-cell"> 4358 <div class="ats-logo"> 4359 <img width="113" height="41" src="https://hireez.com/wp-content/uploads/2021/11/phenom.png" alt="Phenom People Logo"> 4360 </div> 4361 <div class="name">Phenom</div> 4362 </div> 4363 4364 <div class="int-cell"> 4365 <div class="ats-logo"> 4366 <img width="129" height="35" src="https://hireez.com/wp-content/uploads/2024/06/Bitmap-logo-svg.svg" alt="Beamery Logo"> 4367 </div> 4368 <div class="name">Beamery</div> 4369 </div> 4370 4371 <div class="int-cell"> 4372 <div class="ats-logo"> 4373 <img width="114" height="37" src="https://hireez.com/wp-content/uploads/Partners/gem-logo.svg" style="max-width: 80%" alt="Gem Logo"> 4374 </div> 4375 <div class="name">Gem</div> 4376 </div> 4377 4378 <div class="int-cell"> 4379 <div class="ats-logo"> 4380 <img width="100" src="https://hireez.com/wp-content/uploads/CompanyLogos/ukg-partner-logo.png" alt="UKG Logo"> 4381 </div> 4382 <div class="name">UKG</div> 4383 </div> 4384 4385 <a href="https://hireez.com/partners-list/#KeyPartners" class="int-cell"> 4386 <div class="glyph" style="background:#64748B">+ 40</div> 4387 <div class="name">& 40 more</div> 4388 <div class="cat">View all</div> 4389 </a> 4390 </div> 4391 </div> 4392</section></div> 4393 4394</div><!--end widget-span --> 4395</div><!--end row--> 4396</div><!--end row-wrapper --> 4397 4398</div><!--end widget-span --> 4399</div><!--end row--> 4400</div><!--end row-wrapper --> 4401 4402</div><!--end widget-span --> 4403</div> 4404</div> 4405</div> 4406 4407 <!-- ==== NARRATIVE (Category Shift) ==== --> 4408 <div class="container-fluid"> 4409<div class="row-fluid-wrapper"> 4410<div class="row-fluid"> 4411<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 4412 4413<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 4414<div class="row-fluid "> 4415<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 4416 4417<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 4418<div class="row-fluid "> 4419<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 4420<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"> 4421 <div class="section-inner"> 4422 <div class="section-head reveal"> 4423 4424 <div class="section-kicker">WHERE TA TECH IS HEADING</div> 4425 4426 4427 4428 <h2 class="section-h"> 4429 4430 Sales did it with Salesforce. Marketing did it with HubSpot. <em>TA is next.</em> 4431 4432 4433 </h2> 4434 4435 4436 4437 <div class="section-sub"> 4438 <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> 4439 </div> 4440 4441 </div> 4442 4443 4444 <div class="narrative-grid reveal"> 4445 4446 <div class="narrative-step"> 4447 4448 <div class="label"> 4449
4450 <span class="n">1</span> 4451 4452 4453 Step 01 · STABLE 4454 4455 </div> 4456 4457 4458 4459 <h3>System of record</h3> 4460 4461 4462 4463 <div class="step-content"> 4464 <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> 4465 </div> 4466 4467 4468 4469 <div class="chips"> 4470 4471 4472 <span class="chip">Workday</span> 4473 4474 4475 4476 <span class="chip">Greenhouse</span> 4477 4478 4479 4480 <span class="chip">iCIMS</span> 4481 4482 4483 </div> 4484 4485 </div> 4486 4487 <div class="narrative-step"> 4488 4489 <div class="label"> 4490 4491 <span class="n">2</span> 4492 4493 4494 Step 02 · PAINFUL 4495 4496 </div> 4497 4498 4499 4500 <h3>Point-solution sprawl</h3> 4501 4502 4503 4504 <div class="step-content"> 4505 <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> 4506 </div> 4507 4508 4509 4510 <div class="chips"> 4511 4512 4513 <span class="chip">Sourcing</span> 4514 4515 4516 4517 <span class="chip">CRM</span> 4518 4519 4520 4521 <span class="chip">Scheduler</span> 4522 4523 4524 4525 <span class="chip">Analytics</span> 4526 4527 4528 4529 <span class="chip">+ more</span> 4530 4531 4532 </div> 4533 4534 </div> 4535 4536 <div class="narrative-step active"> 4537 4538 <div class="label"> 4539 4540 <span class="n">3</span> 4541 4542 4543 Step 03 · INEVITABLE 4544 4545 </div> 4546 4547 4548 4549 <h3>System of action</h3> 4550 4551 4552 4553 <div class="step-content"> 4554 <p>One execution layer. Agentic AI across the workflow. Unified data foundation. hireEZ. The question is who gets there first in your industry.</p> 4555 </div> 4556 4557 4558 4559 <div class="chips"> 4560 4561 4562 <span class="chip">hireEZ</span> 4563 4564 4565 4566 <span class="chip">One layer</span> 4567 4568 4569 4570 <span class="chip">Agentic AI</span> 4571 4572 4573 </div> 4574 4575 </div> 4576 4577 </div> 4578 4579 </div> 4580</section></div> 4581 4582</div><!--end widget-span --> 4583</div><!--end row--> 4584</div><!--end row-wrapper --> 4585 4586</div><!--end widget-span --> 4587</div><!--end row--> 4588</div><!--end row-wrapper --> 4589 4590</div><!--end widget-span --> 4591</div> 4592</div> 4593</div> 4594 4595 <!-- ==== FAQ ==== --> 4596 <div class="container-fluid"> 4597<div class="row-fluid-wrapper"> 4598<div class="row-fluid"> 4599<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 4600 4601<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 4602<div class="row-fluid "> 4603<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 4604 4605<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 4606<div class="row-fluid "> 4607<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 4608<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"> 4609 <div class="section-inner"> 4610 <div class="section-head reveal"> 4611 4612 <div class="section-kicker">THE OBJECTIONS, ANSWERED</div> 4613 4614 4615 4616 <h2 class="section-h"> 4617 4618 Questions we hear from <em>TA and staffing leaders.</em> 4619 4620 4621 </h2> 4622 4623 </div> 4624 4625 4626 <div class="faq-list reveal"> 4627 4628 <details class="faq-item" open> 4629 <summary class="faq-q"> 4630
4631 <span class="faq-q-text">Q1. We already have Workday, Greenhouse, or iCIMS. Do we need to replace it?</span> 4632 4633 <span class="faq-toggle">+</span> 4634 </summary> 4635 4636 4637 <div class="faq-a"> 4638 <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> 4639 </div> 4640 4641 </details> 4642 4643 <details class="faq-item"> 4644 <summary class="faq-q"> 4645 4646 <span class="faq-q-text">Q2. Does this work for staffing and RPO firms, or just corporate TA?</span> 4647 4648 <span class="faq-toggle">+</span> 4649 </summary> 4650 4651 4652 <div class="faq-a"> 4653 <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> 4654 </div> 4655 4656 </details> 4657 4658 <details class="faq-item"> 4659 <summary class="faq-q"> 4660 4661 <span class="faq-q-text">Q3. How is this different from LinkedIn Recruiter?</span> 4662 4663 <span class="faq-toggle">+</span> 4664 </summary> 4665 4666 4667 <div class="faq-a"> 4668 <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> 4669 </div> 4670 4671 </details> 4672 4673 <details class="faq-item"> 4674 <summary class="faq-q"> 4675 4676 <span class="faq-q-text">Q4. How is this different from other AI recruiting tools?</span> 4677 4678 <span class="faq-toggle">+</span> 4679 </summary> 4680 4681 4682 <div class="faq-a"> 4683 <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> 4684 </div> 4685 4686 </details> 4687 4688 <details class="faq-item"> 4689 <summary class="faq-q"> 4690 4691 <span class="faq-q-text">Q5. What about compliance and data security?</span> 4692 4693 <span class="faq-toggle">+</span> 4694 </summary> 4695 4696 4697 <div class="faq-a"> 4698 <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> 4699 </div> 4700 4701 </details> 4702 4703 <details class="faq-item"> 4704 <summary class="faq-q"> 4705 4706 <span class="faq-q-text">Q6. How long does implementation take?</span> 4707 4708 <span class="faq-toggle">+</span> 4709 </summary> 4710 4711 4712 <div class="faq-a"> 4713 <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> 4714 </div> 4715 4716 </details> 4717 4718 <details class="faq-item"> 4719 <summary class="faq-q"> 4720
4721 <span class="faq-q-text">Q7. What does pricing look like?</span> 4722 4723 <span class="faq-toggle">+</span> 4724 </summary> 4725 4726 4727 <div class="faq-a"> 4728 <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> 4729 </div> 4730 4731 </details> 4732 4733 </div> 4734 4735 </div> 4736</section></div> 4737 4738</div><!--end widget-span --> 4739</div><!--end row--> 4740</div><!--end row-wrapper --> 4741 4742</div><!--end widget-span --> 4743</div><!--end row--> 4744</div><!--end row-wrapper --> 4745 4746</div><!--end widget-span --> 4747</div> 4748</div> 4749</div> 4750 4751 <!-- ==== CTA demo ==== --> 4752 <div class="container-fluid"> 4753<div class="row-fluid-wrapper"> 4754<div class="row-fluid"> 4755<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 4756 4757<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section"> 4758<div class="row-fluid "> 4759<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 4760 4761<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 4762<div class="row-fluid "> 4763<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 4764<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"> 4765 <img alt="" class="bg" src="https://hireez.com/wp-content/uploads/hireez-v5/homepage/color-bg.svg"> 4766 4767 <div class="final-cta-inner reveal"> 4768 <div> 4769 4770 <h2> 4771 See the revenue impact on your own open reqs <em>before you sign anything.</em> 4772 </h2> 4773 4774 4775 4776 <div class="final-cta-actions"> 4777 <a href="#hero" class="book-meeting"> 4778 Book my demo 4779 </a> 4780 </div> 4781 4782 </div> 4783 4784 4785 <ul class="final-list"> 4786 4787 <li> 4788 <span class="num">01</span> 4789 4790 <span>Verification on your own open reqs</span> 4791 4792 </li> 4793 4794 <li> 4795 <span class="num">02</span> 4796 4797 <span>Revenue-impact dashboard live in the demo</span> 4798 4799 </li> 4800 4801 <li> 4802 <span class="num">03</span> 4803 4804 <span>Built on top of the ATS you already run</span> 4805 4806 </li> 4807 4808 </ul> 4809 4810 </div> 4811</section></div> 4812 4813</div><!--end widget-span --> 4814</div><!--end row--> 4815</div><!--end row-wrapper --> 4816 4817</div><!--end widget-span --> 4818</div><!--end row--> 4819</div><!--end row-wrapper --> 4820 4821</div><!--end widget-span --> 4822</div> 4823</div> 4824</div> 4825 4826
4826<script> 4827 4828 // Reveal on scroll 4829 const io = new IntersectionObserver((entries) => { 4830 entries.forEach(e => { if (e.isIntersecting) { e.target.classList.add('in'); io.unobserve(e.target); } }); 4831 }, { threshold: 0.12, rootMargin: '0px 0px -40px 0px' }); 4832 document.querySelectorAll('.reveal').forEach(el => io.observe(el)); 4833 4834 // Ticker content 4835// const logos = ['TE Connectivity', 'AECOM', 'Honda', 'Samsara', 'Lyft', 'Zoom', 'Intapp', 'Fidelity', 'Cielo', 'Toyota MFG', 'Honeywell', 'Siemens', 'Raytheon', 'GE Aviation', 'Emerson']; 4836// const track = document.getElementById('ticker-track'); 4837// const renderTicker = (show) => { 4838// track.parentElement.parentElement.style.display = show ? '' : 'none'; 4839// track.innerHTML = ''; 4840// const list = [...logos, ...logos]; // duplicate for seamless loop 4841// list.forEach(name => { 4842// const el = document.createElement('div'); 4843// el.className = 'ticker-item'; 4844// el.textContent = name; 4845// track.appendChild(el); 4846// }); 4847// }; 4848// renderTicker(true); 4849 4850 // Animated stat counters 4851// const animateStats = () => { 4852// document.querySelectorAll('.stat-num').forEach(el => { 4853// const target = parseFloat(el.dataset.target); 4854// const valEl = el.querySelector('.val'); 4855// if (!valEl) return; 4856// const duration = 1400; 4857// const start = performance.now(); 4858// const step = (t) => { 4859// const p = Math.min(1, (t - start) / duration); 4860// const eased = 1 - Math.pow(1 - p, 3); 4861// const prefix = el.dataset.prefix || ''; 4862// const suffix = el.dataset.suffix || ''; 4863// valEl.textContent = prefix + Math.round(target * eased) + suffix; 4864// if (p < 1) requestAnimationFrame(step); 4865// }; 4866// requestAnimationFrame(step); 4867// }); 4868// }; 4869// let statsAnimated = false; 4870// const statObserver = new IntersectionObserver((entries) => { 4871// entries.forEach(e => { 4872// if (e.isIntersecting && !statsAnimated) { statsAnimated = true; animateStats(); } 4873// }); 4874// }, { threshold: 0.4 }); 4875// statObserver.observe(document.getElementById('stat-grid')); 4876 4877 /* ============ FORM ============ */ 4878 4879 4880 4881 </script>
4881 4882 4883 <div id="hiretual-foot"></div> 4884 4885 4886 4887<!-- HubSpot performance collection script -->
4888<script defer src="/hs/hsstatic/content-cwv-embed/static-1.1293/embed.js"></script>
vendor: 1 bytes, line 4888
4888
4889<script src="https://explore.hireez.com/hubfs/hub_generated/template_assets/1/184880748806/1739951298420/template_tool-fn.min.js"></script>
vendor: 1 bytes, line 4889
4889
4890<script> 4891var hsVars = hsVars || {}; hsVars['language'] = 'en'; 4892</script>
4892 4893
4894<script src="/hs/hsstatic/cos-i18n/static-1.53/bundles/project.js"></script>
4894 4895 4896<!-- Start of HubSpot Analytics Code -->
4897<script type="text/javascript"> 4898var _hsq = _hsq || []; 4899_hsq.push(["setContentType", "landing-page"]); 4900_hsq.push(["setCanonicalUrl", "https:\/\/explore.hireez.com\/contact-sales"]); 4901_hsq.push(["setPageId", "184166149671"]); 4902_hsq.push(["setContentMetadata", { 4903 "contentPageId": 184166149671, 4904 "legacyPageId": "184166149671", 4905 "contentFolderId": null, 4906 "contentGroupId": null, 4907 "abTestId": null, 4908 "languageVariantId": 184166149671, 4909 "languageCode": "en", 4910 4911 4912}]); 4913</script>
4913 4914
4915<script type="text/javascript" id="hs-script-loader" async defer src="/hs/scriptloader/47343634.js"></script>
4915 4916<!-- End of HubSpot Analytics Code --> 4917 4918
4919<script type="text/javascript"> 4920var hsVars = { 4921 render_id: "1607d8a1-5f95-4784-8ebc-4a3b0edf73b8", 4922 ticks: 1790746188126, 4923 page_id: 184166149671, 4924 4925 content_group_id: 0, 4926 portal_id: 47343634, 4927 app_hs_base_url: "https://app-na2.hubspot.com", 4928 cp_hs_base_url: "https://cp-na2.hubspot.com", 4929 language: "en", 4930 analytics_page_type: "landing-page", 4931 scp_content_type: "", 4932 4933 analytics_page_id: "184166149671", 4934 category_id: 1, 4935 folder_id: 0, 4936 is_hubspot_user: false 4937} 4938</script>
4938 4939 4940
4941<script defer src="/hs/hsstatic/HubspotToolsMenu/static-1.640/js/index.js"></script>
4941 4942 4943 4944 4945 4946 4947 4948 4949</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.