1<!DOCTYPE html> 2<html lang="en-US"> 3<head> 4<meta charset="UTF-8"> 5<meta name="viewport" content="width=device-width, initial-scale=1"> 6<title>About Us – Asure Software</title> 7<meta name='robots' content='max-image-preview:large' /> 8<!-- Google tag (gtag.js) consent mode dataLayer added by Site Kit -->
9<script id="google_gtagjs-js-consent-mode-data-layer"> 10window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);} 11gtag('consent', 'default', {"ad_personalization":"denied","ad_storage":"denied","ad_user_data":"denied","analytics_storage":"denied","functionality_storage":"denied","security_storage":"denied","personalization_storage":"denied","region":["AT","BE","BG","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GB","GR","HR","HU","IE","IS","IT","LI","LT","LU","LV","MT","NL","NO","PL","PT","RO","SE","SI","SK"],"wait_for_update":500}); 12window._googlesitekitConsentCategoryMap = {"statistics":["analytics_storage"],"marketing":["ad_storage","ad_user_data","ad_personalization"],"functional":["functionality_storage","security_storage"],"preferences":["personalization_storage"]}; 13window._googlesitekitConsents = {"ad_personalization":"denied","ad_storage":"denied","ad_user_data":"denied","analytics_storage":"denied","functionality_storage":"denied","security_storage":"denied","personalization_storage":"denied","region":["AT","BE","BG","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GB","GR","HR","HU","IE","IS","IT","LI","LT","LU","LV","MT","NL","NO","PL","PT","RO","SE","SI","SK"],"wait_for_update":500}; 14</script>
14 15<!-- End Google tag (gtag.js) consent mode dataLayer added by Site Kit --> 16<link rel='dns-prefetch' href='//js.hs-scripts.com' /> 17<link rel='dns-prefetch' href='//www.googletagmanager.com' /> 18<link rel='dns-prefetch' href='//fonts.googleapis.com' /> 19<link rel="alternate" type="application/rss+xml" title="Asure Software » Feed" href="https://www.asuresoftware.com/feed/" /> 20<link rel="alternate" type="application/rss+xml" title="Asure Software » Comments Feed" href="https://www.asuresoftware.com/comments/feed/" /> 21<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.asuresoftware.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.asuresoftware.com%2Fabout-us%2F" /> 22<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.asuresoftware.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.asuresoftware.com%2Fabout-us%2F&format=xml" /> 23<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin><style id="wp-img-auto-sizes-contain-inline-css"> 24img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 25/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 26</style> 27<style id="classic-theme-styles-inline-css"> 28/*! This file is auto-generated */ 29.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 30/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 31</style> 32 33<style id="global-styles-inline-css"> 34:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
34--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
34.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 35/*# sourceURL=global-styles-inline-css */ 36</style> 37 38<link rel='stylesheet' id='cmplz-general-css' href='https://www.asuresoftware.com/wp-content/plugins/complianz-gdpr-premium/assets/css/cookieblocker.min.css?ver=1776453734' media='all' /> 39<link rel='stylesheet' id='tcm-frontend-css' href='https://www.asuresoftware.com/wp-content/plugins/asure-tc-manager/assets/css/frontend.css?ver=3.0.3' media='all' /> 40<link rel='stylesheet' id='bricks-frontend-css' href='https://www.asuresoftware.com/wp-content/themes/bricks/assets/css/frontend-layer.min.css?ver=1779117399' media='all' /> 41<style id="bricks-frontend-inline-css"> 42body .tox.tox-silver-sink.tox-tinymce-aux, body .tox.tox-tinymce-aux, body .tox-shadowhost { z-index: 10001; } 43/*# sourceURL=bricks-frontend-inline-css */ 44</style> 45<link rel='stylesheet' id='bricks-ionicons-css' href='https://www.asuresoftware.com/wp-content/themes/bricks/assets/css/libs/ionicons-layer.min.css?ver=1779117399' media='all' /> 46<link rel='stylesheet' id='bricks-themify-icons-css' href='https://www.asuresoftware.com/wp-content/themes/bricks/assets/css/libs/themify-icons-layer.min.css?ver=1779117399' media='all' /> 47<link rel='stylesheet' id='bricks-style-manager-css' href='https://www.asuresoftware.com/wp-content/uploads/bricks/css/style-manager.min.css?ver=1783003115' media='all' /> 48<style id="bricks-frontend-inline-inline-css"> 49:root {--asure-green: #7FBC42;--asure-neutral: #ADAFB2;--asure-neutral-dark: #717073;--asure-red: #E92A32;--asure-solution-blue: #068FBE;--asure-support-blue: #47C3D3;--asure-ultra-blue: #213265;--asure-yellow: #FDBE5D;--btn-gradient: linear-gradient(135deg, #068FBE 15.38%, #0A80AF 34.62%, #0F71A1 54.33%, #213265 100%);;--color-dark: var(--asure-ultra-blue);--color-primary: var(--asure-solution-blue);--color-primary-light: var(--asure-support-blue);--color-success: var(--asure-green);--color-warning: var(--asure-yellow);--container-padding: clamp(20px, 5vw, 40px);--container-width: 1280px;--duration-fast: 150ms;--duration-medium: 300ms;--duration-slow: 500ms;--duration-slower: 800ms;--ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);--ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);--font-body: 'DM Sans', sans-serif;--font-display: 'Plus Jakarta Sans', 'DM Sans', sans-serif;--font-size-5xl: clamp(42px, 6vw, 72px);--font-size-5xl-lh: clamp(3.0625rem, 2.8656rem + 0.6849vw, 3.6875rem);--font-size-md: clamp(0.875rem, 0.8356rem + 0.137vw, 1rem);--font-size-md-fs: clamp(0.875rem, 0.8356rem + 0.137vw, 1rem);--font-size-md-lh: clamp(1.475rem, 1.4356rem + 0.137vw, 1.6rem);--font-size-sm: clamp(0.875rem, 0.8356rem + 0.137vw, 1rem);--font-size-sm-fs: clamp(0.875rem, 0.8356rem + 0.137vw, 1rem);--font-size-sm-lh: clamp(1.3125rem, 1.2731rem + 0.137vw, 1.4375rem);--font-size-sm-lh: clamp(1.3125rem, 1.2731rem + 0.137vw, 1.4375rem);--font-size-xs: clamp(0.8125rem, 0.7731rem + 0.137vw, 0.9375rem);--font-size-xs-lh: clamp(1.21875rem, 1.1794rem + 0.137vw, 1.34375rem);--gradient-green: linear-gradient(90deg, #55A406 34.13%, #4A8C08 100%);;--h1-fs: clamp(2.375rem, 2.0993rem + 0.9589vw, 3.25rem);--h1-lh: clamp(2.875rem, 2.5796rem + 1.0274vw, 3.8125rem);--h3-fs: clamp(2rem, 1.8818rem + 0.411vw, 2.375rem);--h3-lh: clamp(2.45rem, 2.3318rem + 0.411vw, 2.825rem);--h3-resources-fs: clamp(1.125rem, 1.0856rem + 0.137vw, 1.25rem);
49--h3-resources-lh: clamp(1.6875rem, 1.6481rem + 0.137vw, 1.8125rem);--h5-fs: clamp(1rem, 0.9606rem + 0.137vw, 1.125rem);--h5-lh: clamp(1.5rem, 1.4606rem + 0.137vw, 1.625rem);--pre-title: clamp(0.75rem, 0.7106rem + 0.137vw, 0.875rem);--pre-title-le: 1.32px;--pre-title-lh: clamp(0.94375rem, 0.9044rem + 0.137vw, 1.06875rem);--radius-2xl: 32px;--radius-full: 9999px;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--radius-xl: 24px;--section-gap: clamp(80px, 12vw, 140px);--shadow-2xl: 0 25px 50px -12px rgba(0,0,0,0.25);--shadow-btn-blue: 0px 4px 15px rgba(6, 143, 190, 0.3);--shadow-btn-blue-hv: 0 8px 25px #068fbe66;--shadow-card: 0 4px 24px rgba(33, 50, 101, 0.08);--shadow-glow: 0 0 60px rgba(6, 143, 190, 0.3);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);--shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);--shadow-sm: 0 1px 2px rgba(0,0,0,0.05);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);--slate-100: #F1F5F9;--slate-200: #E2E8F0;--slate-300: #CBD5E1;--slate-400: #94A3B8;--slate-50: #F8FAFC;--slate-500: #717073;--slate-600: #475569;--slate-700: #334155;--slate-800: #1E293B;--slate-900: #0F172A;--font-size-lg-fs: clamp(1.00rem, calc(0.971rem + 0.128vw), 1.13rem);--font-size-lg-lh: clamp(1.56rem, calc(1.534rem + 0.128vw), 1.69rem);--font-size-4xl: clamp(1.875rem, 1.7568rem + 0.411vw, 2.25rem);--font-size-4xl-lh: clamp(2.5rem, 2.437rem + 0.2192vw, 2.7rem);--hero-display-h1: clamp(42px, 6vw, 72px);;}html, body{ overflow-x: hidden !important;}p:last-child{ margin-bottom: 0;}h1,h2,h3,h4,h5,h6{ margin:0;}.icon-box-green-left .icon, .icon-box-green-top-left .icon{ background: linear-gradient(90deg, #55A406 34.13%, #4A8C08 100%);}.icon-box-blue-top-left .icon{ background: linear-gradient(180deg, #FFFFFF 12.25%, #F1F5F9 73.96%);}.icon-box-blue-top-left h5{ margin-bottom: 8px;}.quote-text strong{ background: linear-gradient(135deg, #068FBE 15.38%, #0A80AF 34.62%, #0F71A1 54.33%, #213265 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-weight: 500; font-size: clamp(1.625rem, 1.5462rem + 0.274vw, 1.875rem); line-height: clamp(2.25rem, 2.1712rem + 0.274vw, 2.5rem);}.featured-posts .swiper-slide{ background: #071B38; border-radius: 16px; overflow: hidden;}.featured-posts .swiper-slide .image:after{ background: linear-gradient(180deg, rgba(33, 50, 101, 0) 1.92%, rgba(33, 50, 101, 0.7) 66.35%) !important;} .brx-boxed {max-width: 1248px} .brx-boxed #brx-header.brx-sticky {max-width: 1248px; margin-left: auto; margin-right: auto} html {background-color: var(--slate-50)} body {background: none}:where(:root) .bricks-color-primary {color: var(--asure-solution-blue)}:where(:root) .bricks-background-primary {background-color: var(--asure-solution-blue)}:where(:root) .bricks-color-secondary {color: var(--asure-support-blue)}:where(:root) .bricks-background-secondary {background-color: var(--asure-support-blue)}:where(:root) .bricks-color-success {color: var(--color-success)}:where(:root) .bricks-background-success {background-color: var(--color-success)}:where(:root) .bricks-color-warning {color: var(--color-warning)}:where(:root) .bricks-background-warning {background-color: var(--color-warning)}:where(:root) .bricks-color-dark {color: var(--color-dark)}:where(:root) .bricks-background-dark {background-color: var(--color-dark)}:where(:root) .bricks-color-light {color: var(--color-primary-light)}:where(:root) .bricks-background-light {background-color: var(--color-primary-light)}:where(:root) .bricks-color-danger {color: var(--asure-red)}:where(:root) .bricks-background-danger {background-color: var(--asure-red)}:where(:root) .bricks-color-muted {color: var(--asure-neutral)}:where(:root) .bricks-background-muted {background-color: var(--asure-neutral)}:where(:root) * {border-color: var(--slate-200)} .brxe-text * + p, .brxe-post-content:not([data-source=bricks]) * + p, body:not(.woocommerce-checkout) [class*=woocommerce] * + p:not(.brxe-woocommerce-account-form-edit-account *) {margin-block-start: 15px} html {font-size: 100%} body {font-size: var(--font-size-md-fs); line-height: var(--font-size-md-lh); font-family: "DM Sans"} h1, h2, h3, h4, h5, h6 {font-variation-settings: var(--font-display); font-family: "DM Sans"} h5 {font-size: var(--h5-fs); line-height: var(--h5-lh); color: var(--slate-800)} .brxe-section {padding-top: 80px; padding-right: 50px; padding-bottom: 80px; padding-left: 50px; column-gap: 20px; row-gap: 20px; margin-right: auto; margin-left: auto} .brxe-container {column-gap: 20px; row-gap: 20px; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; width: var(--container-width)}
49 .woocommerce main.site-main {width: var(--container-width)} #brx-content.wordpress {width: var(--container-width)} .bricks-button {color: #ffffff; font-size: var(--font-size-sm-fs); text-align: center; line-height: var(--font-size-sm-lh); font-weight: 600; border-style: none; border-radius: var(--radius-sm); padding-top: 12px; padding-right: 24px; padding-bottom: 12px; padding-left: 24px; transition: all .15s ease-in-out} .bricks-button.sm {padding-top: 8px; padding-right: 20px; padding-bottom: 8px; padding-left: 20px} .bricks-button.md {padding-top: 12px; padding-right: 24px; padding-bottom: 12px; padding-left: 24px} .bricks-button.lg {padding-top: 16px; padding-right: 32px; padding-bottom: 16px; padding-left: 32px} :root .bricks-button[class*="primary"] {border-style: none; border-color: rgba(0, 0, 0, 0); border-radius: var(--radius-sm); box-shadow: 0px 4px 15px 0px rgba(6, 143, 190, 0.3)} :root .bricks-button[class*="primary"]:hover {box-shadow: 0 8px 25px 0 rgba(6, 143, 190, 0.4)} :root .bricks-button[class*="secondary"] {border: 2px solid var(--slate-200); border-radius: var(--radius-sm); color: var(--slate-700); box-shadow: 0 0 0 0 transparent} :root .bricks-button[class*="secondary"]:not(.outline) {background-color: var(--bricks-color-gavqbo)} :root .bricks-button[class*="secondary"]:hover {color: var(--asure-solution-blue); border-color: var(--asure-solution-blue); box-shadow: 0 0 0 0 transparent} :root .bricks-button[class*="light"]:not(.bricks-lightbox) {color: var(--asure-solution-blue); border-style: none; box-shadow: 0 0 0 0 transparent} :root .bricks-button[class*="light"]:not(.outline):not(.bricks-lightbox) {background-color: rgba(0, 0, 0, 0)} :root .bricks-button[class*="light"]:not(.outline):not(.bricks-lightbox):hover {background-color: rgba(6, 143, 190, 0.08)} :root .bricks-button[class*="light"]:not(.bricks-lightbox):active {border-style: none} :root .bricks-button[class*="light"]:not(.bricks-lightbox):focus {border-style: none} :root .bricks-button[class*="dark"] {color: var(--slate-700); border: 2px solid var(--slate-200)} :root .bricks-button[class*="dark"]:not(.outline) {background-color: var(--bricks-color-ondmah)} :root .bricks-button[class*="dark"]:not(.outline):hover {background-color: var(--bricks-color-jkmdli)} :root .bricks-button[class*="dark"]:hover {border-color: var(--bricks-color-jkmdli); color: var(--bricks-color-ondmah)}.brxe-nav-menu .bricks-nav-menu {flex-direction: column}.brxe-nav-menu .bricks-nav-menu > li > a {font-size: var(--font-size-md-fs); font-weight: 400; line-height: var(--font-size-md-lh)}.brxe-nav-menu .bricks-nav-menu > li > .brx-submenu-toggle {font-size: var(--font-size-md-fs); font-weight: 400; line-height: var(--font-size-md-lh)}@media (max-width: 991px) { .brxe-section {padding-top: 50px; padding-right: 30px; padding-bottom: 50px; padding-left: 30px}}@media (max-width: 767px) { .brxe-section {padding-right: 20px; padding-left: 20px}}h1,h2,h3,h4,h5,h6, ul, ol, li, figure, blockquote {margin: 0;}:root {--bricks-color-f9d00f: #f5f5f5;--bricks-color-76f251: #e0e0e0;--bricks-color-34da0c: #9e9e9e;--bricks-color-c3d844: #616161;--bricks-color-d943d7: #424242;--bricks-color-23d821: #212121;--bricks-color-43350e: #ffeb3b;--bricks-color-8e7ff0: #ffc107;--bricks-color-753761: #ff9800;--bricks-color-4322bb: #ff5722;--bricks-color-44b6ff: #f44336;--bricks-color-abc101: #9c27b0;--bricks-color-6bba8f: #2196f3;--bricks-color-0f5f12: #03a9f4;--bricks-color-73b8f7: #81D4FA;--bricks-color-e87397: #4caf50;--bricks-color-251269: #8bc34a;--bricks-color-08919a: #cddc39;--bricks-color-iizuwu: rgba(6, 143, 190, 0.3);--bricks-color-xtjwfq: rgba(6, 143, 190, 0.4);--bricks-color-gavqbo: #ffffff;--bricks-color-egomok: rgba(0, 0, 0, 0);--bricks-color-weiepc: rgba(6, 143, 190, 0.08);--bricks-color-jkmdli: #068fbe;--bricks-color-zkwama: #0a80af;--bricks-color-czuboq: #0f71a1;--bricks-color-gvvncb: #213265;--bricks-color-ondmah: #ffffff;--slate-500: #213265;--bricks-color-ikigsd: #717073;--asure-ultra-blue: #213265;--bricks-color-tfggts: #e92a32;--bricks-color-domngg: #fdbe5d;}:root[data-brx-theme="dark"] {--bricks-color-f9d00f: #f5f5f5;--bricks-color-76f251: #e0e0e0;--bricks-color-34da0c: #9e9e9e;--bricks-color-c3d844: #616161;--bricks-color-d943d7: #424242;--bricks-color-23d821: #212121;--bricks-color-43350e: #ffeb3b;--bricks-color-8e7ff0: #ffc107;--bricks-color-753761: #ff9800;--bricks-color-4322bb: #ff5722;--bricks-color-44b6ff: #f44336;--bricks-color-abc101: #9c27b0;--bricks-color-6bba8f: #2196f3;--bricks-color-0f5f12: #03a9f4;--bricks-color-73b8f7: #81D4FA;--bricks-color-e87397: #4caf50;--bricks-color-251269: #8bc34a;--bricks-color-08919a: #cddc39;--bricks-color-iizuwu: rgba(6, 143, 190, 0.3);--bricks-color-xtjwfq: rgba(6, 143, 190, 0.4);--bricks-color-gavqbo: #ffffff;--bricks-color-egomok: rgba(0, 0, 0, 0);--bricks-color-weiepc: rgba(6, 143, 190, 0.08);--bricks-color-jkmdli: #068fbe;--bricks-color-zkwama: #0a80af;--bricks-color-czuboq: #0f71a1;--bricks-color-gvvncb: #213265;--bricks-color-ondmah: #ffffff;--slate-500: #213265;--bricks-color-ikigsd: #717073;--asure-ultra-blue: #213265;--bricks-color-tfggts: #e92a32;--bricks-color-domngg: #fdbe5d;}#brxe-eawedf {padding-top: 15px; padding-bottom: 15px; align-items: center}#brxe-eawedf { position: relative;}#brxe-3dd0e5 {margin-bottom: 0}#brxe-397498 {padding-top: 20px; padding-bottom: 0}#brxe-wlaupt {z-index: 0; min-width: 100%}#brxe-xegjqe {padding-top: 0; padding-bottom: 0}.brxe-popup-244975 .brx-popup-content {max-width: 950px; border-radius: 16px}#brxe-282a82 {font-size: 20px; position: absolute; top: 20px; right: 20px; z-index: 1; cursor: pointer; color: var(--slate-800); fill: var(--slate-800)}#brxe-d751c9 {justify-content: space-around; width: 100%}#brxe-905256 {position: relative; background-color: var(--bricks-color-ondmah)}.brxe-popup-244937 .brx-popup-content {max-width: 750px; border-radius: 16px}#brxe-3ca3de {font-size: 20px; position: absolute; top: 20px; right: 20px; z-index: 1; cursor: pointer; color: var(--bricks-color-ondmah); fill: var(--bricks-color-ondmah)}#brxe-a9b6be {justify-content: space-around; width: 100%}#brxe-913b15 {position: relative; background-color: #068fbe}.brxe-popup-244444 .brx-popup-content {max-width: 750px; border-radius: 16px}#brxe-f8f7fd {font-size: 20px; position: absolute; top: 20px; right: 20px; z-index: 1; cursor: pointer}#brxe-5d4e79 {justify-content: space-around; width: 100%}#brxe-342a31 {position: relative}.brxe-popup-244398 .brx-popup-content {max-width: 750px; border-radius: 16px}#brxe-svazww {font-size: 20px; position: absolute; top: 20px; right: 20px; z-index: 1; cursor: pointer}#brxe-ylwekh {justify-content: space-around; width: 100%}#brxe-zoucrm {position: relative}.brx-header-right #brx-header, .brx-header-left #brx-header {width: var(--mobile-menu-width)}.brx-header-right #brx-content, .brx-header-right #brx-footer {margin-right: var(--mobile-menu-width)}.brx-header-left #brx-content, .brx-header-left #brx-footer {margin-left: var(--mobile-menu-width)} 50/*# sourceURL=bricks-frontend-inline-inline-css */ 51</style> 52<link rel='stylesheet' id='bricks-google-fonts-css' href='https://fonts.googleapis.com/css2?family=DM+Sans: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' media='all' />
53<script id="jquery-core-js" src="https://www.asuresoftware.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 53
53
54<script id="jquery-migrate-js" src="https://www.asuresoftware.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
54 55 56<!-- Google tag (gtag.js) snippet added by Site Kit --> 57<!-- Google Analytics snippet added by Site Kit -->
vendor: 80 bytes, lines 57-58
57 58<script id="google_gtagjs-js" src="https://www.googletagmanager.com/gtag/js?id=
58GT-WB2QSMG
vendor: 18 bytes, line 58
58" async></script>
59<script id="google_gtagjs-js-after"> 60window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);} 61gtag("set","linker",{"domains":["www.asuresoftware.com"]}); 62gtag("js", new Date()); 63gtag("set", "developer_id.dZTNiMT", true); 64gtag("config", "GT-WB2QSMG"); 65 window._googlesitekit = window._googlesitekit || {}; window._googlesitekit.throttledEvents = []; window._googlesitekit.gtagEvent = (name, data) => { var key = JSON.stringify( { name, data } ); if ( !! window._googlesitekit.throttledEvents[ key ] ) { return; } window._googlesitekit.throttledEvents[ key ] = true; setTimeout( () => { delete window._googlesitekit.throttledEvents[ key ]; }, 5 ); gtag( "event", name, { ...data, event_source: "site-kit" } ); }; 66//# sourceURL=google_gtagjs-js-after 67</script>
vendor: 1 bytes, line 67
67
68<script id="bricks-dl-mode-js-after"> 69(function() { 70 let savedTheme = localStorage.getItem("brx_mode"); 71 let defaultMode = "light"; 72 let currentTheme = savedTheme || defaultMode; 73 74 if (currentTheme === "auto") { 75 let prefersDarkScheme = window.matchMedia("(prefers-color-scheme: dark)").matches; 76 document.documentElement.dataset.brxTheme = prefersDarkScheme ? "dark" : "light"; 77 } else { 78 document.documentElement.dataset.brxTheme = currentTheme; 79 } 80 })(); 81//# sourceURL=bricks-dl-mode-js-after 82</script>
82 83<link rel="https://api.w.org/" href="https://www.asuresoftware.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.asuresoftware.com/wp-json/wp/v2/pages/246358" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.asuresoftware.com/xmlrpc.php?rsd" /> 84<link rel="canonical" href="https://www.asuresoftware.com/about-us/" /> 85<link rel='shortlink' href='https://www.asuresoftware.com/?p=246358' /> 86<meta name="generator" content="Site Kit by Google 1.189.0" /> <!-- DO NOT COPY THIS SNIPPET! Start of Page Analytics Tracking for HubSpot WordPress plugin v11.3.75--> 87
87<script class="hsq-set-content-id" data-content-id="standard-page"> 88 var _hsq = _hsq || []; 89 _hsq.push(["setContentType", "standard-page"]); 90 </script>
90 91 <!-- DO NOT COPY THIS SNIPPET! End of Page Analytics Tracking for HubSpot WordPress plugin --> 92 <style>/* CSS added by WP Meta and Date Remover*/.wp-block-post-author__name{display:none !important;} .wp-block-post-date{display:none !important;} .entry-meta {display:none !important;} .home .entry-meta { display: none; } .entry-footer {display:none !important;} .home .entry-footer { display: none; }</style> <style>.cmplz-hidden { 93 display: none !important; 94 }</style><link rel="llms-sitemap" href="https://www.asuresoftware.com/llms.txt" /> 95 96<!-- Google Tag Manager snippet added by Site Kit -->
97<script>
vendor: 420 bytes, lines 97-106
97 98 ( function( w, d, s, l, i ) { 99 w[l] = w[l] || []; 100 w[l].push( {'gtm.start': new Date().getTime(), event: 'gtm.js'} ); 101 var f = d.getElementsByTagName( s )[0], 102 j = d.createElement( s ), dl = l != 'dataLayer' ? '&l=' + l : ''; 103 j.async = true; 104 j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 105 f.parentNode.insertBefore( j, f ); 106 } )( window, document, 'script', 'dataLayer', '
106GTM-MRQMP9BW
vendor: 9 bytes, lines 106-107
106' ); 107
108</script>
108 109 110<!-- End Google Tag Manager snippet added by Site Kit --> 111<link rel="icon" href="https://www.asuresoftware.com/wp-content/uploads/2026/03/cropped-images-32x32.png" sizes="32x32" /> 112<link rel="icon" href="https://www.asuresoftware.com/wp-content/uploads/2026/03/cropped-images-192x192.png" sizes="192x192" /> 113<link rel="apple-touch-icon" href="https://www.asuresoftware.com/wp-content/uploads/2026/03/cropped-images-180x180.png" /> 114<meta name="msapplication-TileImage" content="https://www.asuresoftware.com/wp-content/uploads/2026/03/cropped-images-270x270.png" /> 115 116<meta property="og:url" content="https://www.asuresoftware.com/about-us/" /> 117<meta property="og:site_name" content="Asure Software" /> 118<meta property="og:title" content="About Us" /> 119<meta property="og:type" content="website" /> 120</head> 121 122<body data-cmplz=1 class="wp-singular page-template-default page page-id-246358 wp-theme-bricks brx-body bricks-is-frontend wp-embed-responsive"> <!-- Google Tag Manager (noscript) snippet added by Site Kit -->
vendor: 74 bytes, lines 122-124
122 123 <noscript> 124 <iframe src="https://www.googletagmanager.com/ns.html?id=
124GTM-MRQMP9BW
vendor: 88 bytes, lines 124-126
124" height="0" width="0" style="display:none;visibility:hidden"></iframe> 125 </noscript> 126
126<!-- End Google Tag Manager (noscript) snippet added by Site Kit --> 127 <a class="skip-link" href="#brx-content">Skip to main content</a> 128 129 <a class="skip-link" href="#brx-footer">Skip to footer</a> 130 <header id="brx-header"><div id="brxe-eawedf" class="brxe-container"><div id="brxe-crhgiu" data-script-id="crhgiu" class="brxe-code"><!-- ============================================ 131 ASURE MEGA MENU â HTML Markup 132 Bricks Builder Code Element â HTML field 133 ============================================ --> 134 135<nav class="ae-megamenu" role="navigation" aria-label="Main navigation"> 136 137 <!-- ââ Desktop Navigation Bar ââ --> 138 <div class="ae-megamenu__bar"> 139 140 <!-- Logo --> 141 <a href="https://www.asuresoftware.com/" class="ae-megamenu__logo" aria-label="Asure Software home"> 142 <img src="https://www.asuresoftware.com/wp-content/uploads/2026/03/Asure-Software-Logo-SVG-1.svg" alt="Asure Software" draggable="false"> 143 </a> 144 145 <!-- Nav Triggers --> 146 <div class="ae-megamenu__triggers"> 147 <button class="ae-megamenu__trigger" data-panel="solutions" aria-expanded="false" aria-controls="panel-solutions"> 148 Solutions 149 <svg class="ae-megamenu__trigger-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg> 150 </button> 151 152 <button class="ae-megamenu__trigger" data-panel="how-it-works" aria-expanded="false" aria-controls="panel-how-it-works"> 153 How It Works 154 <svg class="ae-megamenu__trigger-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg> 155 </button> 156 157 <button class="ae-megamenu__trigger" data-panel="partners" aria-expanded="false" aria-controls="panel-partners"> 158 Partners 159 <svg class="ae-megamenu__trigger-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg> 160 </button> 161 162 <button class="ae-megamenu__trigger" data-panel="resources" aria-expanded="false" aria-controls="panel-resources"> 163 Resources 164 <svg class="ae-megamenu__trigger-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg> 165 </button> 166 167 <button class="ae-megamenu__trigger" data-panel="company" aria-expanded="false" aria-controls="panel-company"> 168 Company 169 <svg class="ae-megamenu__trigger-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg> 170 </button> 171 </div> 172 173 <!-- CTA Buttons --> 174 <div class="ae-megamenu__cta"> 175 <a data-hs-form="pricing" aria-haspopup="dialog" href="/pricing/" class="ae-megamenu__cta-btn ae-megamenu__cta-btn--primary">Get Pricing</a> 176 <a href="https://www.asuresoftware.com/pricing-plans/" class="ae-megamenu__cta-btn ae-megamenu__cta-btn--secondary">View Plans</a> 177 </div> 178 179 </div> 180 181 <!-- ââ Dropdown Panels ââ --> 182 <div class="ae-megamenu__panels"> 183 184 <!-- âââ SOLUTIONS PANEL (3 equal columns) âââ --> 185 <div class="ae-megamenu__panel" id="panel-solutions" role="region" aria-labelledby="trigger-solutions" aria-hidden="true"> 186 <div class="ae-megamenu__panel-inner"> 187 <div class="ae-megamenu__panel-grid ae-megamenu__panel-grid--3col"> 188 189 <!-- Col 1: Payroll & HR --> 190 <div class="ae-megamenu__col"> 191 <div class="ae-megamenu__col-header">Payroll & HR</div> 192 193 <a href="https://asuresoftware.com/solutions-hub/payroll-and-hr/" class="ae-megamenu__link"> 194 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="2" y="5" width="20" height="14" rx="2"/><path d="M2 10h20"/></svg> 195 <div class="ae-megamenu__link-text">
196 <span class="ae-megamenu__link-title">Payroll & HR</span> 197 <span class="ae-megamenu__link-desc">Payroll processing and HR management</span> 198 </div> 199 </a> 200 201 <a href="https://asuresoftware.com/solutions-hub/time-attendance/" class="ae-megamenu__link"> 202 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></svg> 203 <div class="ae-megamenu__link-text"> 204 <span class="ae-megamenu__link-title">Time & Attendance</span> 205 <span class="ae-megamenu__link-desc">Track hours and accruals</span> 206 </div> 207 </a> 208 209 <a href="https://asuresoftware.com/solutions-hub/recruiting/" class="ae-megamenu__link"> 210 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><line x1="19" y1="8" x2="19" y2="14"/><line x1="22" y1="11" x2="16" y2="11"/></svg> 211 <div class="ae-megamenu__link-text"> 212 <span class="ae-megamenu__link-title">Recruiting</span> 213 <span class="ae-megamenu__link-desc">Find and hire employees</span> 214 </div> 215 </a> 216 </div> 217 218 <!-- Col 2: Benefits & Compliance --> 219 <div class="ae-megamenu__col"> 220 <div class="ae-megamenu__col-header">Benefits & Compliance</div> 221 222 <a href="https://asuresoftware.com/solutions-hub/benefits-administration/" class="ae-megamenu__link"> 223 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 12l2 2 4-4"/><path d="M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0z"/></svg> 224 <div class="ae-megamenu__link-text"> 225 <span class="ae-megamenu__link-title">Benefits Administration</span> 226 <span class="ae-megamenu__link-desc">Benefits compliance and administration</span> 227 </div> 228 </a> 229 230 <a href="https://asuresoftware.com/solutions-hub/health-benefits/" class="ae-megamenu__link"> 231 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"/></svg> 232 <div class="ae-megamenu__link-text"> 233 <span class="ae-megamenu__link-title">Health Insurance</span> 234 <span class="ae-megamenu__link-desc">Competitive employee plans</span> 235 </div> 236 </a> 237 238 <a href="https://asuresoftware.com/solutions-hub/401k-plans/" class="ae-megamenu__link"> 239 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"/><polyline points="16 7 22 7 22 13"/></svg> 240 <div class="ae-megamenu__link-text"> 241 <span class="ae-megamenu__link-title">401(k) Plans</span> 242 <span class="ae-megamenu__link-desc">Retirement plans for employees</span> 243 </div> 244 </a> 245 246 <a href="https://asuresoftware.com/solutions-hub/hr-experts/" class="ae-megamenu__link"> 247 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg> 248 <div class="ae-megamenu__link-text">
249 <span class="ae-megamenu__link-title">HR Compliance</span> 250 <span class="ae-megamenu__link-desc">HR expertise and compliance support</span> 251 </div> 252 </a> 253 254 <a href="https://asuresoftware.com/solutions-hub/asurepay/" class="ae-megamenu__link"> 255 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="1" y="4" width="22" height="16" rx="2" ry="2"/><line x1="1" y1="10" x2="23" y2="10"/></svg> 256 <div class="ae-megamenu__link-text"> 257 <span class="ae-megamenu__link-title">AsurePay</span> 258 <span class="ae-megamenu__link-desc">On-demand pay for employees</span> 259 </div> 260 </a> 261 </div> 262 263 <!-- Col 3: Tax & Treasury (Enterprise) --> 264 <div class="ae-megamenu__col ae-megamenu__col--enterprise"> 265 <div class="ae-megamenu__col-header">Enterprise Tax & Treasury</div> 266 267 <a href="https://asuresoftware.com/solutions-hub/payroll-tax-management/" class="ae-megamenu__link"> 268 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/></svg> 269 <div class="ae-megamenu__link-text"> 270 <span class="ae-megamenu__link-title">Payroll Tax Management</span> 271 <span class="ae-megamenu__link-desc">Automate filings and reduce penalties</span> 272 </div> 273 </a> 274 275 <a href="https://asuresoftware.com/solutions-hub/tax-portal/" class="ae-megamenu__link"> 276 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/></svg> 277 <div class="ae-megamenu__link-text"> 278 <span class="ae-megamenu__link-title">Tax Portal</span> 279 <span class="ae-megamenu__link-desc">Access and manage payroll tax documents</span> 280 </div> 281 </a> 282 283 <a href="https://asuresoftware.com/solutions-hub/treasury/" class="ae-megamenu__link"> 284 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="3" y1="22" x2="21" y2="22"/><path d="M6 18V8"/><path d="M10 18V4"/><path d="M14 18V8"/><path d="M18 18V6"/></svg> 285 <div class="ae-megamenu__link-text"> 286 <span class="ae-megamenu__link-title">Treasury</span> 287 <span class="ae-megamenu__link-desc">Cash flow and fund management</span> 288 </div> 289 </a> 290 </div> 291 292 </div> 293 </div> 294 </div> 295 296 <!-- âââ HOW IT WORKS PANEL (2 content + 1 promo) âââ --> 297 <div class="ae-megamenu__panel" id="panel-how-it-works" role="region" aria-labelledby="trigger-how-it-works" aria-hidden="true"> 298 <div class="ae-megamenu__panel-inner"> 299 <div class="ae-megamenu__panel-grid ae-megamenu__panel-grid--2-1"> 300 301 <!-- Col 1: Platform --> 302 <div class="ae-megamenu__col"> 303 <div class="ae-megamenu__col-header">Platform</div> 304 <div class="ae-megamenu__col-subtitle">One system for your business and your people.</div> 305 306 <a href="https://asuresoftware.com/asure-central/" class="ae-megamenu__link"> 307 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polygon points="12 2 2 7 12 12 22 7 12 2"/><polyline points="2 17 12 22 22 17"/><polyline points="2 12 12 17 22 12"/></svg> 308 <div class="ae-megamenu__link-text">
309 <span class="ae-megamenu__link-title">Asure Central</span> 310 <span class="ae-megamenu__link-desc">Your admin hub â manage payroll, HR, and every Asure solution you own from one login.</span> 311 </div> 312 </a> 313 314 <a href="https://asuresoftware.com/employee-experience/" class="ae-megamenu__link"> 315 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg> 316 <div class="ae-megamenu__link-text"> 317 <span class="ae-megamenu__link-title">Employee Center</span> 318 <span class="ae-megamenu__link-desc">Your team's hub â employees access pay, benefits, documents, and HR self-service in one place.</span> 319 </div> 320 </a> 321 </div> 322 323 <!-- Col 2: Service Model --> 324 <div class="ae-megamenu__col"> 325 <div class="ae-megamenu__col-header">
325Service Model</div> 326 <div class="ae-megamenu__col-subtitle">The only question left: who does the work?</div> 327 328 <a href="https://www.asuresoftware.com/solutions-hub/" class="ae-megamenu__link"> 329 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg> 330 <div class="ae-megamenu__link-text"> 331 <span class="ae-megamenu__link-title">Run It Yourself</span> 332 <span class="ae-megamenu__link-desc">Manage payroll and HR in-house using Asure Central. Full control, on your schedule, with the tools and support to get it right.</span> 333 </div> 334 </a> 335 336 <div class="ae-megamenu__separator">or</div> 337 338 <a href="https://asuresoftware.com/asureworks/" class="ae-megamenu__link"> 339 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 12l2 2 4-4"/><path d="M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0z"/></svg> 340 <div class="ae-megamenu__link-text"> 341 <span class="ae-megamenu__link-title">AsureWorks</span> 342 <span class="ae-megamenu__link-desc">Hand off payroll, HR, and compliance to Asure specialists. You stay focused on your business â we make sure everything runs accurately and on time.</span> 343 </div> 344 </a> 345 </div> 346 347 <!-- Col 3: Luna AI Promo --> 348 <div class="ae-megamenu__col ae-megamenu__col--promo"> 349 <a href="https://asuresoftware.com/luna-ai/" class="ae-megamenu__promo-card ae-megamenu__promo-card--luna"> 350 <div> 351 <img src="https://www.asuresoftware.com/wp-content/uploads/2026/03/luna-6a3a7aaf-1.png" alt="" class="ae-megamenu__luna-avatar" loading="lazy"> 352 <div class="ae-megamenu__promo-eyebrow">Luna AI</div> 353 <div class="ae-megamenu__promo-title">Automates the routine, answers the hard questions, keeps you compliant.</div> 354 <div class="ae-megamenu__promo-desc">Luna is embedded across Asure Central and the Employee Center â always on, available to you and your team, regardless of your service model.</div> 355 </div> 356 <span class="ae-megamenu__promo-cta"> 357 Learn more 358 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg> 359 </span> 360 </a> 361 </div> 362 363 </div> 364 </div> 365 </div> 366 367 <!-- âââ PARTNERS PANEL (2 content + 1 promo) âââ --> 368 <div class="ae-megamenu__panel" id="panel-partners" role="region" aria-labelledby="trigger-partners" aria-hidden="true"> 369 <div class="ae-megamenu__panel-inner"> 370 <div class="ae-megamenu__panel-grid ae-megamenu__panel-grid--2-1"> 371 372 <!-- Col 1: Partner Types --> 373 <div class="ae-megamenu__col"> 374 <div class="ae-megamenu__col-header">Partner Types</div> 375 376 <a href="https://asuresoftware.com/partners/cpas-accountants/" class="ae-megamenu__link"> 377 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="4" y="2" width="16" height="20" rx="2"/><line x1="8" y1="6" x2="16" y2="6"/><line x1="8" y1="10" x2="16" y2="10"/><line x1="8" y1="14" x2="12" y2="14"/></svg> 378 <div class="ae-megamenu__link-text"> 379 <span class="ae-megamenu__link-title">For CPAs & Accountants</span> 380 <span class="ae-megamenu__link-desc">Expand your service offering with payroll</span> 381 </div> 382 </a> 383 384 <a href="https://asuresoftware.com/partners/benefit-brokers/" class="ae-megamenu__link">
385 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"/></svg> 386 <div class="ae-megamenu__link-text"> 387 <span class="ae-megamenu__link-title">For Benefit Brokers</span> 388 <span class="ae-megamenu__link-desc">Integrated benefits administration</span> 389 </div> 390 </a> 391 392 <a href="https://asuresoftware.com/partners/banks/" class="ae-megamenu__link"> 393 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="3" y1="22" x2="21" y2="22"/><path d="M12 2 2 8h20z"/><path d="M5 8v10"/><path d="M19 8v10"/><path d="M9 8v10"/><path d="M15 8v10"/></svg> 394 <div class="ae-megamenu__link-text"> 395 <span class="ae-megamenu__link-title">For Banks</span> 396 <span class="ae-megamenu__link-desc">Embedded payroll for your customers</span> 397 </div> 398 </a> 399 400 <a href="https://asuresoftware.com/partners/hcm-platforms/" class="ae-megamenu__link"> 401 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg> 402 <div class="ae-megamenu__link-text"> 403 <span class="ae-megamenu__link-title">For HCM Platforms</span> 404 <span class="ae-megamenu__link-desc">
404White-label payroll infrastructure</span> 405 </div> 406 </a> 407 408 <a href="https://asuresoftware.com/partners/hr-tech-services/" class="ae-megamenu__link"> 409 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="4" y="4" width="16" height="16" rx="2"/><rect x="9" y="9" width="6" height="6"/><path d="M15 2v2"/><path d="M15 20v2"/><path d="M2 15h2"/><path d="M2 9h2"/><path d="M20 15h2"/><path d="M20 9h2"/><path d="M9 2v2"/><path d="M9 20v2"/></svg> 410 <div class="ae-megamenu__link-text"> 411 <span class="ae-megamenu__link-title">HR Tech Services</span> 412 <span class="ae-megamenu__link-desc">White-label payroll infrastructure</span> 413 </div> 414 </a> 415 </div> 416 417 <!-- Col 2: Partner Resources --> 418 <div class="ae-megamenu__col"> 419 <div class="ae-megamenu__col-header">Partner Resources</div> 420 421 <a href="https://asuresoftware.com/partner-marketplace/" class="ae-megamenu__link"> 422 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="8" cy="21" r="1"/><circle cx="19" cy="21" r="1"/><path d="M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"/></svg> 423 <div class="ae-megamenu__link-text"> 424 <span class="ae-megamenu__link-title">Partner Marketplace</span> 425 <span class="ae-megamenu__link-desc">Explore trusted partners and integrations</span> 426 </div> 427 </a> 428 429 <a href="https://asuresoftware.com/become-a-partner/" class="ae-megamenu__link"> 430 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><line x1="19" y1="8" x2="19" y2="14"/><line x1="22" y1="11" x2="16" y2="11"/></svg> 431 <div class="ae-megamenu__link-text"> 432 <span class="ae-megamenu__link-title">Become a Partner</span> 433 <span class="ae-megamenu__link-desc">Join our growing partner network</span> 434 </div> 435 </a> 436 </div> 437 438 <!-- Col 3: Partner Promo --> 439 <div class="ae-megamenu__col ae-megamenu__col--promo"> 440 <a href="https://asuresoftware.com/become-a-partner/" class="ae-megamenu__promo-card"> 441 <div> 442 <div class="ae-megamenu__promo-eyebrow">Partner Program</div> 443 <div class="ae-megamenu__promo-title">Grow Together</div> 444 <div class="ae-megamenu__promo-desc">Competitive revenue share, dedicated support, and co-marketing opportunities.</div> 445 </div> 446 <span class="ae-megamenu__promo-cta"> 447 Learn more 448 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg> 449 </span> 450 </a> 451 </div> 452 453 </div> 454 </div> 455 </div> 456 457 <!-- âââ RESOURCES PANEL (1 content + 1 promo) âââ --> 458 <div class="ae-megamenu__panel" id="panel-resources" role="region" aria-labelledby="trigger-resources" aria-hidden="true"> 459 <div class="ae-megamenu__panel-inner"> 460 <div class="ae-megamenu__panel-grid ae-megamenu__panel-grid--2col"> 461 462 <!-- Col 1: Learn --> 463 <div class="ae-megamenu__col"> 464 <div class="ae-megamenu__col-header">Learn</div> 465 466 <a href="https://asuresoftware.com/blog/" class="ae-megamenu__link"> 467 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></svg> 468 <div class="ae-megamenu__link-text">
469 <span class="ae-megamenu__link-title">Blog & Insights</span> 470 <span class="ae-megamenu__link-desc">HR trends, tips, and best practices</span> 471 </div> 472 </a> 473 474 <a href="https://asuresoftware.com/hr-legal-updates/" class="ae-megamenu__link"> 475 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg> 476 <div class="ae-megamenu__link-text"> 477 <span class="ae-megamenu__link-title">HR Legal Updates</span> 478 <span class="ae-megamenu__link-desc">Stay compliant with changing regulations</span> 479 </div> 480 </a> 481 482 <a href="https://asuresoftware.com/resources/" class="ae-megamenu__link"> 483 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg> 484 <div class="ae-megamenu__link-text"> 485 <span class="ae-megamenu__link-title">Guides & eBooks</span> 486 <span class="ae-megamenu__link-desc">In-depth resources for HR leaders</span> 487 </div> 488 </a> 489 490 <a href="https://www.asuresoftware.com/webinars" class="ae-megamenu__link"> 491 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polygon points="23 7 16 12 23 17 23 7"/><rect x="1" y="5" width="15" height="14" rx="2" ry="2"/></svg> 492 <div class="ae-megamenu__link-text"> 493 <span class="ae-megamenu__link-title">Webinars</span> 494 <span class="ae-megamenu__link-desc">Live and on-demand expert sessions</span> 495 </div> 496 </a> 497 498 <a href="https://asuresoftware.com/customer-testimonials/" class="ae-megamenu__link"> 499 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg> 500 <div class="ae-megamenu__link-text"> 501 <span class="ae-megamenu__link-title">Customer Testimonials</span> 502 <span class="ae-megamenu__link-desc">Hear from businesses that trust Asure</span> 503 </div> 504 </a> 505 </div> 506 507 <!-- Col 2: Promo --> 508 <div class="ae-megamenu__col ae-megamenu__col--promo"> 509 <a href="https://offers.asuresoftware.com/hubfs/E-Books/Ultimate%20Payroll%20Handbook_Asure%20eBook.pdf" class="ae-megamenu__promo-card"> 510 <div> 511 <div class="ae-megamenu__promo-eyebrow">Free eBook</div> 512 <div class="ae-megamenu__promo-title">Ultimate Payroll Handbook</div> 513 <div class="ae-megamenu__promo-desc">Your complete guide to running payroll with confidence.</div> 514 </div> 515 <span class="ae-megamenu__promo-cta"> 516 Download now 517 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg> 518 </span> 519 </a> 520 </div> 521 522 </div> 523 </div> 524 </div> 525 526 <!-- âââ COMPANY PANEL (1 content + 1 promo) âââ --> 527 <div class="ae-megamenu__panel" id="panel-company" role="region" aria-labelledby="trigger-company" aria-hidden="true"> 528 <div class="ae-megamenu__panel-inner"> 529 <div class="ae-megamenu__panel-grid ae-megamenu__panel-grid--2col"> 530 531 <!-- Col 1: About Asure --> 532 <div class="ae-megamenu__col"> 533 <div class="ae-megamenu__col-header">About Asure</div> 534 535 <a href="https://asuresoftware.com/about-us" class="ae-megamenu__link">
536 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg> 537 <div class="ae-megamenu__link-text"> 538 <span class="ae-megamenu__link-title">About Us</span> 539 <span class="ae-megamenu__link-desc">Our mission, values, and story</span> 540 </div> 541 </a> 542 543 <a href="https://asuresoftware.com/careers" class="ae-megamenu__link"> 544 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="2" y="7" width="20" height="14" rx="2" ry="2"/><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"/></svg> 545 <div class="ae-megamenu__link-text"> 546 <span class="ae-megamenu__link-title">Careers</span> 547 <span class="ae-megamenu__link-desc">Join our growing team</span> 548 </div> 549 </a> 550 551 <a href="https://investor.asuresoftware.com/" class="ae-megamenu__link"> 552 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/></svg> 553 <div class="ae-megamenu__link-text"> 554 <span class="ae-megamenu__link-title">Investors</span> 555 <span class="ae-megamenu__link-desc">Financial information and reports</span> 556 </div> 557 </a> 558 559 <a href="https://asuresoftware.com/contact/" class="ae-megamenu__link"> 560 <svg class="ae-megamenu__link-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/><polyline points="22,6 12,13 2,6"/></svg> 561 <div class="ae-megamenu__link-text"> 562 <span class="ae-megamenu__link-title">Contact</span> 563 <span class="ae-megamenu__link-desc">Get in touch with our team</span> 564 </div> 565 </a> 566 </div> 567 568 <!-- Col 2: Careers Promo --> 569 <div class="ae-megamenu__col ae-megamenu__col--promo"> 570 <a href="https://asuresoftware.com/careers" class="ae-megamenu__promo-card"> 571 <div> 572 <div class="ae-megamenu__promo-eyebrow">Join Us</div> 573 <div class="ae-megamenu__promo-title">Build the Future of HR</div> 574 <div class="ae-megamenu__promo-desc">We're looking for passionate people to help businesses thrive.</div> 575 </div> 576 <span class="ae-megamenu__promo-cta"> 577 See open positions 578 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg> 579 </span> 580 </a> 581 </div> 582 583 </div> 584 </div> 585 </div> 586 587 </div> 588 589 <!-- ââ Desktop Backdrop ââ --> 590 <div class="ae-megamenu__backdrop" aria-hidden="true"></div> 591 592 <!-- ââ Mobile Toggle ââ --> 593 <button class="ae-megamenu__mobile-toggle" aria-expanded="false" aria-controls="megamenu-mobile-drawer" aria-label="Open navigation menu"> 594 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="4" y1="6" x2="20" y2="6"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="18" x2="20" y2="18"/></svg> 595 </button> 596 597 <!-- ââ Mobile Drawer ââ --> 598 <div class="ae-megamenu__mobile-drawer" id="megamenu-mobile-drawer" aria-hidden="true"> 599 600 <div class="ae-megamenu__mobile-header"> 601 <img src="https://asuresoftware.com/wp-content/uploads/2026/03/ASUR-84aeb2b7.png" alt="Asure Software" class="ae-megamenu__mobile-logo"> 602 <button class="ae-megamenu__mobile-close" aria-label="Close navigation menu"> 603 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg> 604 </button> 605 </div> 606 607 <div class="ae-megamenu__mobile-nav"> 608 609 <!-- Solutions Accordion --> 610 <div class="ae-megamenu__mobile-group"> 611 <button class="ae-megamenu__mobile-trigger" aria-expanded="false"> 612 Solutions 613 <svg class="ae-megamenu__mobile-trigger-chevron" viewB
613ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg> 614 </button> 615 <div class="ae-megamenu__mobile-content" aria-hidden="true"> 616 <div class="ae-megamenu__mobile-section-label">Payroll & HR</div> 617 <a href="https://asuresoftware.com/solutions-hub/payroll-and-hr/" class="ae-megamenu__mobile-link">Payroll & HR</a> 618 <a href="https://asuresoftware.com/solutions-hub/time-attendance/" class="ae-megamenu__mobile-link">Time & Attendance</a> 619 <a href="https://asuresoftware.com/solutions-hub/recruiting/" class="ae-megamenu__mobile-link">Recruiting</a> 620 <div class="ae-megamenu__mobile-section-label">Benefits & Compliance</div> 621 <a href="https://asuresoftware.com/solutions-hub/benefits-administration/" class="ae-megamenu__mobile-link">Benefits Administration</a> 622 <a href="https://asuresoftware.com/solutions-hub/health-benefits/" class="ae-megamenu__mobile-link">Health Insurance</a> 623 <a href="https://asuresoftware.com/solutions-hub/401k-plans/" class="ae-megamenu__mobile-link">401(k) Plans</a> 624 <a href="https://asuresoftware.com/solutions-hub/hr-experts/" class="ae-megamenu__mobile-link">HR Compliance</a> 625 <a href="https://asuresoftware.com/solutions-hub/asurepay/" class="ae-megamenu__mobile-link">AsurePay</a> 626 <div class="ae-megamenu__mobile-section-label ae-megamenu__mobile-section-label--enterprise">Enterprise Tax & Treasury</div> 627 <a href="https://asuresoftware.com/solutions-hub/payroll-tax-management/" class="ae-megamenu__mobile-link">Payroll Tax Management</a> 628 <a href="https://asuresoftware.com/solutions-hub/tax-portal/" class="ae-megamenu__mobile-link">Tax Portal</a> 629 <a href="https://asuresoftware.com/solutions-hub/treasury/" class="ae-megamenu__mobile-link">Treasury</a> 630 </div> 631 </div> 632 633 <!-- How It Works Accordion --> 634 <div class="ae-megamenu__mobile-group"> 635 <button class="ae-megamenu__mobile-trigger" aria-expanded="false"> 636 How It Works 637 <svg class="ae-megamenu__mobile-trigger-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg> 638 </button> 639 <div class="ae-megamenu__mobile-content" aria-hidden="true"> 640 <a href="https://asuresoftware.com/asure-central/" class="ae-megamenu__mobile-link">Asure Central</a> 641 <a href="https://asuresoftware.com/employee-experience/" class="ae-megamenu__mobile-link">Employee Center</a> 642 <a href="https://asuresoftware.com/asureworks/" class="ae-megamenu__mobile-link">AsureWorks</a> 643 <a href="https://asuresoftware.com/luna-ai/" class="ae-megamenu__mobile-promo"> 644 <div class="ae-megamenu__mobile-promo-title">Luna AI</div> 645 <div class="ae-megamenu__mobile-promo-desc">AI assistant for payroll and HR</div> 646 </a> 647 </div> 648 </div> 649 650 <!-- Partners Accordion --> 651 <div class="ae-megamenu__mobile-group"> 652 <button class="ae-megamenu__mobile-trigger" aria-expanded="false"> 653 Partners 654 <svg class="ae-megamenu__mobile-trigger-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg> 655 </button> 656 <div class="ae-megamenu__mobile-content" aria-hidden="true"> 657 <a href="https://asuresoftware.com/partners/cpas-accountants/" class="ae-megamenu__mobile-link">For CPAs & Accountants</a> 658 <a href="https://asuresoftware.com/partners/benefit-brokers/" class="ae-megamenu__mobile-link">For Benefit Brokers</a> 659 <a href="https://asuresoftware.com/partners/banks/" class="ae-megamenu__mobile-link">For Banks</a> 660 <a href="https://asuresoftware.com/partners/hcm-platforms/" class="ae-megamenu__mobile-link">For HCM Platforms</a> 661 <a href="https://asuresoftware.com/partners/hr-tech-services/" class="ae-megamenu__mobile-link">
661HR Tech Services</a> 662 <a href="https://asuresoftware.com/partner-marketplace/" class="ae-megamenu__mobile-link">Partner Marketplace</a> 663 <a href="https://asuresoftware.com/become-a-partner/" class="ae-megamenu__mobile-link">Become a Partner</a> 664 </div> 665 </div> 666 667 <!-- Resources Accordion --> 668 <div class="ae-megamenu__mobile-group"> 669 <button class="ae-megamenu__mobile-trigger" aria-expanded="false"> 670 Resources 671 <svg class="ae-megamenu__mobile-trigger-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg> 672 </button> 673 <div class="ae-megamenu__mobile-content" aria-hidden="true"> 674 <a href="https://asuresoftware.com/blog/" class="ae-megamenu__mobile-link">Blog & Insights</a> 675 <a href="https://asuresoftware.com/hr-legal-updates/" class="ae-megamenu__mobile-link">HR Legal Updates</a> 676 <a href="https://asuresoftware.com/resources/" class="ae-megamenu__mobile-link">Guides & eBooks</a> 677 <a href="https://asuresoftware.com/events/" class="ae-megamenu__mobile-link">Events</a> 678 <a href="https://www.asuresoftware.com/webinars" class="ae-megamenu__mobile-link">Webinars</a> 679 <a href="https://asuresoftware.com/customer-testimonials/" class="ae-megamenu__mobile-link">Customer Testimonials</a> 680 </div> 681 </div> 682 683 <!-- Company Accordion --> 684 <div class="ae-megamenu__mobile-group"> 685 <button class="ae-megamenu__mobile-trigger" aria-expanded="false"> 686 Company 687 <svg class="ae-megamenu__mobile-trigger-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg> 688 </button> 689 <div class="ae-megamenu__mobile-content" aria-hidden="true"> 690 <a href="https://asuresoftware.com/about-us" class="ae-megamenu__mobile-link">About Us</a> 691 <a href="https://asuresoftware.com/careers" class="ae-megamenu__mobile-link">Careers</a> 692 <a href="https://investor.asuresoftware.com/" class="ae-megamenu__mobile-link">Investors</a> 693 <a href="https://asuresoftware.com/contact/" class="ae-megamenu__mobile-link">Contact</a> 694 </div> 695 </div> 696 697 </div> 698 699 <!-- Mobile CTA Buttons --> 700 <div class="ae-megamenu__mobile-cta"> 701 <a href="https://asuresoftware.com/get-pricing/" class="ae-megamenu__mobile-cta-btn ae-megamenu__mobile-cta-btn--primary">Get Pricing</a> 702 <a href="https://asuresoftware.com/view-plans/" class="ae-megamenu__mobile-cta-btn ae-megamenu__mobile-cta-btn--secondary">View Plans</a> 703 </div> 704 705 </div> 706 707 <!-- ââ Mobile Backdrop ââ --> 708 <div class="ae-megamenu__mobile-backdrop" aria-hidden="true"></div> 709 710</nav> 711<style> /* ============================================== 712 ASURE MEGA MENU â Scoped Styles 713 Bricks Builder Code Element â CSS field 714 ============================================== */ 715 716 /* ââ Reset & Scoped Variables ââ */ 717 .ae-megamenu *, 718 .ae-megamenu *::before, 719 .ae-megamenu *::after { 720 box-sizing: border-box; 721 margin: 0; 722 padding: 0; 723 } 724 725 .ae-megamenu { 726 --mm-max-width: 1280px; 727 --mm-panel-pad-x: 2.5rem; 728 --mm-panel-pad-y: 2rem; 729 --mm-col-gap: 2.5rem; 730 --mm-item-pad: 0.5rem 0.625rem; 731 --mm-item-radius: 8px; 732 --mm-icon-size: 22px; 733 --mm-backdrop: rgba(15, 23, 42, 0.25); 734 --mm-shadow: 0 20px 60px rgba(33, 50, 101, 0.12), 0 1px 3px rgba(0, 0, 0, 0.06); 735 --mm-promo-bg: linear-gradient(135deg, #213265 0%, #068FBE 100%); 736 --mm-bar-height: 48px; 737 738 position: relative; 739 font-family: var(--font-primary, var(--font-display, 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif)); 740 -webkit-font-smoothing: antialiased; 741 -moz-osx-font-smoothing: grayscale; 742 } 743 744 /* ââ Top-Level Bar ââ */ 745 .ae-megamenu__bar { 746 display: flex; 747 align-items: center; 748 height: var(--mm-bar-height); 749 position: relative; 750 z-index: 1000; 751 } 752 753 /* Logo */ 754 .ae-megamenu__logo { 755 flex-shrink: 0; 756 display: flex; 757 align-items: center; 758 margin-right: 2rem; 759 } 760 761 .ae-megamenu__logo img { 762 height: 40px; 763 width: auto; 764 display: block; 765 } 766 767 /* Triggers wrapper */ 768 .ae-megamenu__triggers { 769 display: flex; 770 align-items: center; 771 justify-content: center; 772 flex: 1; 773 height: 100%; 774 } 775 776 /* CTA Buttons */ 777 .ae-megamenu__cta { 778 display: flex; 779 align-items: center; 780 flex-shrink: 0; 781 margin-left: 2rem; 782 } 783 784 .ae-megamenu__cta-btn { 785 display: inline-flex; 786 align-items: center; 787 justify-content: center; 788 padding: 0.5rem 1.25rem; 789 border-radius: 6px; 790 font-family: inherit; 791 font-size: 14px; 792 font-weight: 600; 793 text-decoration: none; 794 white-space: nowrap; 795 cursor: pointer; 796 transition: background 150ms cubic-bezier(0.16, 1, 0.3, 1), 797 transform 150ms cubic-bezier(0.16, 1, 0.3, 1); 798 } 799 800 .ae-megamenu__cta-btn--primary { 801 background: var(--color-brand-primary, #068FBE); 802 color: #fff; 803 border: 1.5px solid var(--color-brand-primary, #068FBE); 804 margin-right: 0.5rem; 805 } 806 807 .ae-megamenu__cta-btn--primary:hover { 808 background: #0580aa; 809 } 810 811 .ae-megamenu__cta-btn--secondary { 812 background: transparent; 813 color: var(--color-text, #213265); 814 border: 1.5px solid var(--color-border-strong, #CBD5E1); 815 } 816 817 .ae-megamenu__cta-btn--secondary:hover { 818 background: var(--color-bg-alt, #F1F5F9); 819 } 820 821 .ae-megamenu__cta-btn:focus-visible { 822 outline: 2px solid var(--color-brand-primary, #068FBE); 823 outline-offset: 2px; 824 border-radius: 6px; 825 } 826 827 .ae-megamenu__trigger { 828 position: relative; 829 display: inline-flex; 830 align-items: center; 831 gap: 0.35rem; 832 height: 100%; 833 padding: 0 1rem; 834 border: none; 835 background: none; 836 font-family: inherit; 837 font-size: 15px; 838 font-weight: 500; 839 color: var(--color-text, #213265); 840 cursor: pointer; 841 white-space: nowrap; 842 transition: color 150ms cubic-bezier(0.16, 1, 0.3, 1); 843 -webkit-user-select: none; 844 -moz-user-select: none; 845 user-select: none; 846 } 847 848 .ae-megamenu__trigger:hover, 849 .ae-megamenu__trigger[aria-expanded="true"] { 850 color: var(--color-brand-primary, #068FBE); 851 } 852 853 .ae-megamenu__trigger::after { 854 content: ''; 855 position: absolute; 856 bottom: 0; 857 left: 1rem; 858 right: 1rem; 859 height: 2px; 860 background: var(--color-brand-primary, #068FBE); 861 border-radius: 1px; 862 transform: scaleX(0); 863 transform-origin: center; 864 transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1); 865 } 866 867 .ae-megamenu__trigger[aria-expanded="true"]::after { 868 transform: scaleX(1); 869 } 870 871 .ae-megamenu__trigger-chevron { 872 width: 12px; 873 height: 12px; 874 flex-shrink: 0; 875 transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1); 876 } 877 878 .ae-megamenu__trigger[aria-expanded="true"] .ae-megamenu__trigger-chevron { 879 transform: rotate(180deg); 880 } 881 882 /* Focus ring */ 883 .ae-megamenu__trigger:focus-visible { 884 outline: 2px solid var(--color-brand-primary, #068FBE); 885 outline-offset: -2px; 886 border-radius: 4px; 887 } 888 889 /* ââ Backdrop ââ */ 890 .ae-megamenu__backdrop { 891 position: fixed; 892 inset: 0; 893 background: var(--mm-backdrop); 894 -webkit-backdrop-filter: blur(4px); 895 backdrop-filter: blur(4px); 896 z-index: 998; 897 opacity: 0; 898 visibility: hidden; 899 transition: opacity 300ms cubic-bezier(0.16, 1, 0.3, 1), 900 visibility 0s linear 300ms; 901 } 902 903 .ae-megamenu__backdrop.is-visible { 904 opacity: 1; 905 visibility: visible; 906 transition-delay: 0s; 907 } 908 909 /* ââ Panel Container ââ */ 910 .ae-megamenu__panels { 911 position: absolute; 912 top: 100%; 913 left: 0; 914 width: 100%; 915 z-index: 999; 916 pointer-events: none; /* pass-through when no panel is open */ 917 } 918 919 /* Enable pointer events when a panel is open */ 920 .ae-megamenu__panel.is-open { 921 pointer-events: auto; 922 } 923 924 /* ââ Individual Panel ââ */ 925 .ae-megamenu__panel { 926 width: 100%; 927 background: var(--color-surface, #ffffff); 928 border-top: 1px solid var(--color-border, #E2E8F0); 929 box-shadow: var(--mm-shadow); 930 opacity: 0; 931 visibility: hidden; 932 transform: translateY(-8px); 933 transition: opacity 300ms cubic-bezier(0.16, 1, 0.3, 1), 934 transform 300ms cubic-bezier(0.16, 1, 0.3, 1), 935 visibility 0s linear 300ms; 936 /* Panels stack on top of each other via absolute positioning */ 937 position: absolute; 938 top: 0; 939 left: 0; 940 } 941 942 .ae-megamenu__panel.is-open { 943 opacity: 1; 944 visibility: visible; 945 transform: translateY(0); 946 transition-delay: 0s; 947 } 948 949 .ae-megamenu__panel-inner { 950 padding: var(--mm-panel-pad-y) var(--mm-panel-pad-x); 951 } 952 953 /* ââ Panel Grid ââ */ 954 .ae-megamenu__panel-grid { 955 display: grid; 956 gap: var(--mm-col-gap); 957 } 958 959 .ae-megamenu__panel-grid--3col { 960 grid-template-columns: repeat(3, 1fr); 961 } 962 963 .ae-megamenu__panel-grid--2col { 964 grid-template-columns: 1fr 1fr; 965 } 966 967 .ae-megamenu__panel-grid--2-1 { 968 grid-template-columns: 1fr 1fr minmax(260px, 1fr); 969 } 970 971 /* ââ Column ââ */ 972 .ae-megamenu__col { 973 display: flex; 974 flex-direction: column; 975 } 976 977 /* ââ Column Header (Eyebrow) ââ */ 978 .ae-megamenu__col-header { 979 font-size: 16px; 980 font-weight: 700; 981 letter-spacing: 0.1em; 982 text-transform: uppercase; 983 color: var(--slate-400, #ADAFB2); 984 padding: 0 0.625rem; 985 margin-bottom: 0.625rem; 986 } 987 988 /* Tighten gap when subtitle follows header */ 989 .ae-megamenu__col-header + .ae-megamenu__col-subtitle { 990 margin-top: -0.5rem; 991 } 992 993 /* ââ Column Subtitle ââ */ 994 .ae-megamenu__col-subtitle { 995 font-size: 13.5px; 996 font-weight: 400; 997 color: var(--color-text-muted, #717073); 998 line-height: 1.45; 999 padding: 0 0.625rem; 1000 margin-bottom: 0.75rem; 1001 min-height: 2.5em; /* keep subtitles same height so first links align */ 1002 } 1003 1004 /* ââ Wrapping descriptions (How It Works has longer copy) ââ */ 1005 #panel-how-it-works .ae-megamenu__link-desc { 1006 white-space: normal; 1007 } 1008 1009 /* ââ Divider between columns ââ */ 1010 .ae-megamenu__col + .ae-megamenu__col { 1011 border-left: 1px solid var(--color-border, #E2E8F0); 1012 padding-left: var(--mm-col-gap); 1013 } 1014 1015 .ae-megamenu__col--promo + .ae-megamenu__col, 1016 .ae-megamenu__col + .ae-megamenu__col--promo { 1017 border-left: none; 1018 padding-left: 0; 1019 } 1020 1021 /* ââ Enterprise Column (Tax & Treasury) ââ */ 1022 .ae-megamenu__col--enterprise {
1023 background: linear-gradient(135deg, rgba(127, 188, 66, 0.08) 0%, rgba(127, 188, 66, 0.04) 100%); 1024 border-left: none; 1025 padding: 1.25rem; 1026 border-radius: 10px; 1027 margin: -0.5rem 0; 1028 border: 1px solid rgba(127, 188, 66, 0.2); 1029 } 1030 1031 .ae-megamenu__col + .ae-megamenu__col--enterprise { 1032 border-left: none; 1033 padding-left: 1.25rem; 1034 } 1035 1036 .ae-megamenu__col--enterprise .ae-megamenu__col-header { 1037 color: #4a8c1e; 1038 } 1039 1040 .ae-megamenu__col--enterprise .ae-megamenu__link-icon { 1041 color: #5a9e28; 1042 } 1043 1044 .ae-megamenu__col--enterprise .ae-megamenu__link:hover, 1045 .ae-megamenu__col--enterprise .ae-megamenu__link:focus-visible { 1046 background: rgba(127, 188, 66, 0.1); 1047 } 1048 1049 /* ââ Nav Link Item ââ */ 1050 .ae-megamenu__link { 1051 display: flex; 1052 align-items: flex-start; 1053 gap: 0.75rem; 1054 padding: var(--mm-item-pad); 1055 border-radius: var(--mm-item-radius); 1056 text-decoration: none; 1057 color: inherit; 1058 transition: background 150ms cubic-bezier(0.16, 1, 0.3, 1); 1059 } 1060 1061 .ae-megamenu__link:hover, 1062 .ae-megamenu__link:focus-visible { 1063 background: var(--color-bg-alt, #F1F5F9); 1064 } 1065 1066 .ae-megamenu__link:focus-visible { 1067 outline: 2px solid var(--color-brand-primary, #068FBE); 1068 outline-offset: -2px; 1069 } 1070 1071 /* Icon */ 1072 .ae-megamenu__link-icon { 1073 flex-shrink: 0; 1074 width: var(--mm-icon-size); 1075 height: var(--mm-icon-size); 1076 color: var(--color-brand-primary, #068FBE); 1077 margin-top: 2px; 1078 transition: transform 150ms cubic-bezier(0.16, 1, 0.3, 1); 1079 } 1080 1081 .ae-megamenu__link:hover .ae-megamenu__link-icon { 1082 transform: translateX(2px); 1083 } 1084 1085 /* Text */ 1086 .ae-megamenu__link-text { 1087 display: flex; 1088 flex-direction: column; 1089 min-width: 0; 1090 } 1091 1092 .ae-megamenu__link-title { 1093 font-size: 16px; 1094 font-weight: 600; 1095 color: var(--color-text, #213265); 1096 line-height: 1.3; 1097 overflow: hidden; 1098 text-overflow: ellipsis; 1099 white-space: nowrap; 1100 } 1101 1102 .ae-megamenu__link-desc { 1103 font-size: 13.5px; 1104 font-weight: 400; 1105 color: var(--color-text-muted, #717073); 1106 line-height: 1.45;
1107 margin-top: 1px; 1108 overflow: hidden; 1109 text-overflow: ellipsis; 1110 white-space: nowrap; 1111 } 1112 1113 /* ââ Promo Card Column ââ */ 1114 .ae-megamenu__col--promo { 1115 display: flex; 1116 } 1117 1118 .ae-megamenu__promo-card { 1119 display: flex; 1120 flex-direction: column; 1121 justify-content: space-between; 1122 width: 100%; 1123 padding: 1.5rem; 1124 border-radius: 12px; 1125 background: var(--mm-promo-bg); 1126 color: #fff; 1127 text-decoration: none; 1128 overflow: hidden; 1129 position: relative; 1130 transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1), 1131 box-shadow 200ms cubic-bezier(0.16, 1, 0.3, 1); 1132 } 1133 1134 .ae-megamenu__promo-card:hover { 1135 transform: translateY(-2px); 1136 box-shadow: 0 8px 24px rgba(33, 50, 101, 0.25); 1137 } 1138 1139 .ae-megamenu__promo-card:focus-visible { 1140 outline: 2px solid #fff; 1141 outline-offset: -4px; 1142 } 1143 1144 .ae-megamenu__promo-eyebrow { 1145 font-size: 11px; 1146 font-weight: 700; 1147 letter-spacing: 0.12em; 1148 text-transform: uppercase; 1149 color: rgba(255, 255, 255, 0.7); 1150 margin-bottom: 0.5rem; 1151 } 1152 1153 .ae-megamenu__promo-title { 1154 font-size: 19px; 1155 font-weight: 700; 1156 line-height: 1.25; 1157 margin-bottom: 0.5rem; 1158 } 1159 1160 .ae-megamenu__promo-desc { 1161 font-size: 14px; 1162 font-weight: 400; 1163 line-height: 1.5; 1164 color: rgba(255, 255, 255, 0.85); 1165 margin-bottom: 1rem; 1166 } 1167 1168 .ae-megamenu__promo-cta { 1169 display: inline-flex; 1170 align-items: center; 1171 gap: 0.35rem; 1172 font-size: 14px; 1173 font-weight: 600; 1174 color: #fff; 1175 transition: gap 150ms cubic-bezier(0.16, 1, 0.3, 1); 1176 } 1177 1178 .ae-megamenu__promo-card:hover .ae-megamenu__promo-cta { 1179 gap: 0.55rem; 1180 } 1181 1182 .ae-megamenu__promo-cta svg { 1183 width: 14px; 1184 height: 14px; 1185 } 1186 1187 /* Decorative circle on promo */ 1188 .ae-megamenu__promo-card::before { 1189 content: ''; 1190 position: absolute; 1191 top: -30px; 1192 right: -30px; 1193 width: 120px; 1194 height: 120px; 1195 border-radius: 50%; 1196 background: rgba(255, 255, 255, 0.06); 1197 pointer-events: none; 1198 } 1199 1200 /* ââ Luna AI Card (special variant) ââ */ 1201 .ae-megamenu__promo-card--luna { 1202 background: linear-gradient(135deg, #93F4FF 0%, #47C3D3 100%); 1203 color: #213265; 1204 } 1205 1206 .ae-megamenu__promo-card--luna .ae-megamenu__promo-eyebrow { 1207 color: rgba(33, 50, 101, 0.6); 1208 font-size: 14px; 1209 letter-spacing: 0.05em; 1210 } 1211 1212 .ae-megamenu__promo-card--luna .ae-megamenu__promo-desc { 1213 color: rgba(33, 50, 101, 0.75); 1214 } 1215 1216 .ae-megamenu__promo-card--luna .ae-megamenu__promo-cta { 1217 color: #213265; 1218 } 1219 1220 .ae-megamenu__luna-avatar { 1221 width: 40px; 1222 height: 40px; 1223 border-radius: 50%; 1224 margin-bottom: 0.75rem; 1225 border: 2px solid rgba(255, 255, 255, 0.3); 1226 } 1227 1228 /* ââ "How It Works" separator ââ */ 1229 .ae-megamenu__separator { 1230 display: flex; 1231 align-items: center; 1232 gap: 0.75rem; 1233 padding: 0.5rem 0.625rem; 1234 font-size: 13px; 1235 font-weight: 500; 1236 color: var(--color-text-muted, #717073); 1237 } 1238 1239 .ae-megamenu__separator::before, 1240 .ae-megamenu__separator::after { 1241 content: ''; 1242 flex: 1; 1243 height: 1px; 1244 background: var(--color-border, #E2E8F0); 1245 } 1246 1247 /* ââ Mobile Toggle (hidden on desktop) ââ */ 1248 .ae-megamenu__mobile-toggle { 1249 display: none; 1250 align-items: center; 1251 justify-content: center; 1252 width: 40px; 1253 height: 40px; 1254 border: none; 1255 background: none; 1256 cursor: pointer; 1257 padding: 0; 1258 color: var(--color-text, #213265); 1259 } 1260 1261 .ae-megamenu__mobile-toggle:focus-visible { 1262 outline: 2px solid var(--color-brand-primary, #068FBE); 1263 outline-offset: 2px; 1264 border-radius: 4px; 1265 } 1266 1267 .ae-megamenu__mobile-toggle svg { 1268 width: 24px; 1269 height: 24px; 1270 } 1271 1272 /* ââ Mobile Drawer ââ */ 1273 .ae-megamenu__mobile-drawer { 1274 display: none; 1275 position: fixed; 1276 top: 0; 1277 right: 0; 1278 width: 100%; 1279 max-width: 380px; 1280 height: 100vh; 1281 height: 100dvh; 1282 background: var(--color-surface, #ffffff); 1283 z-index: 1001; 1284 transform: translateX(100%); 1285 transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1); 1286 overflow-y: auto; 1287 -webkit-overflow-scrolling: touch; 1288 overscroll-behavior: contain; 1289 } 1290 1291 .ae-megamenu__mobile-drawer.is-open { 1292 transform: translateX(0); 1293 } 1294 1295 .ae-megamenu__mobile-header { 1296 display: flex; 1297 align-items: center; 1298 justify-content: space-between; 1299 padding: 1rem 1.25rem; 1300 border-bottom: 1px solid var(--color-border, #E2E8F0); 1301 } 1302 1303 .ae-megamenu__mobile-logo { 1304 height: 28px; 1305 width: auto; 1306 } 1307 1308 .ae-megamenu__mobile-close { 1309 display: flex; 1310 align-items: center; 1311 justify-content: center; 1312 width: 36px; 1313 height: 36px; 1314 border: none; 1315 background: none; 1316 cursor: pointer; 1317 color: var(--color-text, #213265); 1318 border-radius: 8px; 1319 transition: background 150ms cubic-bezier(0.16, 1, 0.3, 1); 1320 } 1321 1322 .ae-megamenu__mobile-close:hover { 1323 background: var(--color-bg-alt, #F1F5F9); 1324 } 1325 1326 .ae-megamenu__mobile-close:focus-visible { 1327 outline: 2px solid var(--color-brand-primary, #068FBE); 1328 outline-offset: -2px; 1329 } 1330 1331 .ae-megamenu__mobile-close svg {
1332 width: 20px; 1333 height: 20px; 1334 } 1335 1336 /* Mobile Nav Groups */ 1337 .ae-megamenu__mobile-nav { 1338 padding: 0.5rem 0; 1339 } 1340 1341 .ae-megamenu__mobile-group { 1342 border-bottom: 1px solid var(--color-border, #E2E8F0); 1343 } 1344 1345 .ae-megamenu__mobile-trigger { 1346 display: flex; 1347 align-items: center; 1348 justify-content: space-between; 1349 width: 100%; 1350 padding: 0.875rem 1.25rem; 1351 border: none; 1352 background: none; 1353 font-family: inherit; 1354 font-size: 16px; 1355 font-weight: 600; 1356 color: var(--color-text, #213265); 1357 cursor: pointer; 1358 text-align: left; 1359 } 1360 1361 .ae-megamenu__mobile-trigger:focus-visible { 1362 outline: 2px solid var(--color-brand-primary, #068FBE); 1363 outline-offset: -2px; 1364 } 1365 1366 .ae-megamenu__mobile-trigger-chevron { 1367 width: 16px; 1368 height: 16px; 1369 flex-shrink: 0; 1370 color: var(--color-text-muted, #717073); 1371 transition: transform 250ms cubic-bezier(0.16, 1, 0.3, 1); 1372 } 1373 1374 .ae-megamenu__mobile-trigger[aria-expanded="true"] .ae-megamenu__mobile-trigger-chevron { 1375 transform: rotate(180deg); 1376 } 1377 1378 .ae-megamenu__mobile-content { 1379 max-height: 0; 1380 overflow: hidden; 1381 transition: max-height 350ms cubic-bezier(0.16, 1, 0.3, 1); 1382 } 1383 1384 .ae-megamenu__mobile-content.is-expanded { 1385 max-height: 600px; 1386 } 1387 1388 .ae-megamenu__mobile-section-label { 1389 font-size: 11px; 1390 font-weight: 700; 1391 letter-spacing: 0.1em; 1392 text-transform: uppercase; 1393 color: var(--color-text-muted, #717073); 1394 padding: 0.5rem 1.25rem 0.25rem 2.5rem; 1395 } 1396 1397 .ae-megamenu__mobile-section-label--enterprise { 1398 color: #4a8c1e; 1399 } 1400 1401 .ae-megamenu__mobile-link { 1402 display: flex; 1403 align-items: center; 1404 gap: 0.625rem; 1405 padding: 0.5rem 1.25rem 0.5rem 2.5rem; 1406 text-decoration: none; 1407 color: var(--color-text, #213265); 1408 font-size: 15px; 1409 font-weight: 400; 1410 transition: background 150ms cubic-bezier(0.16, 1, 0.3, 1); 1411 } 1412 1413 .ae-megamenu__mobile-link:hover, 1414 .ae-megamenu__mobile-link:focus-visible { 1415 background: var(--color-bg-alt, #F1F5F9); 1416 } 1417 1418 .ae-megamenu__mobile-link:focus-visible { 1419 outline: 2px solid var(--color-brand-primary, #068FBE); 1420 outline-offset: -2px; 1421 } 1422 1423 .ae-megamenu__mobile-link-icon { 1424 width: 18px; 1425 height: 18px; 1426 flex-shrink: 0; 1427 color: var(--color-brand-primary, #068FBE); 1428 } 1429 1430 .ae-megamenu__mobile-promo { 1431 margin: 0.75rem 1.25rem; 1432 padding: 1rem 1.25rem; 1433 border-radius: 10px; 1434 background: var(--mm-promo-bg); 1435 color: #fff; 1436 text-decoration: none; 1437 display: block; 1438 } 1439 1440 .ae-megamenu__mobile-promo-title { 1441 font-size: 15px; 1442 font-weight: 700; 1443 margin-bottom: 0.25rem; 1444 } 1445 1446 .ae-megamenu__mobile-promo-desc { 1447 font-size: 13px; 1448 color: rgba(255, 255, 255, 0.85); 1449 line-height: 1.4; 1450 } 1451 1452 /* ââ Mobile CTA Buttons ââ */ 1453 .ae-megamenu__mobile-cta { 1454 padding: 1rem 1.25rem; 1455 display: flex; 1456 flex-direction: column; 1457 } 1458 1459 .ae-megamenu__mobile-cta-btn + .ae-megamenu__mobile-cta-btn { 1460 margin-top: 0.5rem; 1461 } 1462 1463 .ae-megamenu__mobile-cta-btn { 1464 display: flex; 1465 align-items: center; 1466 justify-content: center; 1467 padding: 0.75rem 1rem; 1468 border-radius: 8px; 1469 font-family: inherit; 1470 font-size: 14px; 1471 font-weight: 600; 1472 text-decoration: none; 1473 text-align: center; 1474 transition: background 150ms cubic-bezier(0.16, 1, 0.3, 1), 1475 transform 150ms cubic-bezier(0.16, 1, 0.3, 1); 1476 } 1477 1478 .ae-megamenu__mobile-cta-btn--primary { 1479 background: var(--color-brand-primary, #068FBE); 1480 color: #fff; 1481 border: none; 1482 } 1483 1484 .ae-megamenu__mobile-cta-btn--primary:hover { 1485 background: #0580aa; 1486 } 1487 1488 .ae-megamenu__mobile-cta-btn--secondary { 1489 background: transparent; 1490 color: var(--color-text, #213265); 1491 border: 1.5px solid var(--color-border-strong, #CBD5E1); 1492 } 1493 1494 .ae-megamenu__mobile-cta-btn--secondary:hover { 1495 background: var(--color-bg-alt, #F1F5F9); 1496 } 1497 1498 /* ââ Mobile Backdrop ââ */ 1499 .ae-megamenu__mobile-backdrop { 1500 display: none; 1501 position: fixed; 1502 inset: 0; 1503 background: var(--mm-backdrop); 1504 -webkit-backdrop-filter: blur(4px); 1505 backdrop-filter: blur(4px); 1506 z-index: 1000; 1507 opacity: 0; 1508 visibility: hidden; 1509 transition: opacity 300ms cubic-bezier(0.16, 1, 0.3, 1), 1510 visibility 0s linear 300ms; 1511 } 1512 1513 .ae-megamenu__mobile-backdrop.is-visible { 1514 opacity: 1; 1515 visibility: visible; 1516 transition-delay: 0s; 1517 } 1518 1519 /* ââ Responsive: Narrow Desktop (992â1199px) ââ */ 1520 @media (min-width: 992px) and (max-width: 1199px) { 1521 .ae-megamenu { 1522 --mm-panel-pad-x: 1.5rem; 1523 --mm-panel-pad-y: 1.5rem; 1524 --mm-col-gap: 1.5rem; 1525 } 1526 1527 .ae-megamenu__logo { 1528 margin-right: 1rem; 1529 } 1530 1531 .ae-megamenu__cta { 1532 margin-left: 1rem; 1533 } 1534 1535 .ae-megamenu__trigger { 1536 font-size: 13px; 1537 padding: 0 0.5rem; 1538 } 1539 1540 .ae-megamenu__cta-btn { 1541 font-size: 13px; 1542 padding: 0.4rem 0.875rem; 1543 } 1544 1545 /* 3-col grids â 2-col on narrow desktop */ 1546 .ae-megamenu__panel-grid--3col { 1547 grid-template-columns: repeat(2, 1fr); 1548 } 1549 1550 /* 2+1 promo grid â stack promo below */ 1551 .ae-megamenu__panel-grid--2-1 { 1552 grid-template-columns: 1fr 1fr; 1553 } 1554 1555 .ae-megamenu__panel-grid--2-1 .ae-megamenu__col--promo { 1556 grid-column: 1 / -1; 1557 } 1558 1559 .ae-megamenu__panel-grid--2-1 .ae-megamenu__col--promo .ae-megamenu__promo-card { 1560 flex-direction: row; 1561 align-items: center; 1562 } 1563 1564 /* Remove left-border on wrapped cols */ 1565 .ae-megamenu__panel-grid--3col .ae-megamenu__col:nth-child(3) { 1566 border-left: none; 1567 padding-left: 0; 1568 border-top: 1px solid var(--color-border, #E2E8F0); 1569 padding-top: var(--mm-col-gap); 1570 grid-column: 1 / -1; 1571 } 1572 1573 .ae-megamenu__promo-title { 1574 font-size: 16px; 1575 } 1576 1577 .ae-megamenu__promo-desc { 1578 font-size: 12px; 1579 } 1580 } 1581 1582 /* ââ Reduced Motion ââ */ 1583 @media (prefers-reduced-motion: reduce) { 1584 .ae-megamenu__panel, 1585 .ae-megamenu__backdrop, 1586 .ae-megamenu__mobile-drawer, 1587 .ae-megamenu__mobile-backdrop, 1588 .ae-megamenu__mobile-content, 1589 .ae-megamenu__trigger::after, 1590 .ae-megamenu__trigger-chevron, 1591 .ae-megamenu__link, 1592 .ae-megamenu__link-icon, 1593 .ae-megamenu__promo-card, 1594 .ae-megamenu__promo-cta, 1595 .ae-megamenu__mobile-trigger-chevron { 1596 transition-duration: 0.01ms !important; 1597 } 1598 } 1599 1600 /* ââ Responsive: Tablet & Mobile ââ */ 1601 @media (max-width: 991px) { 1602 .ae-megamenu__bar { 1603 justify-content: space-between; 1604 } 1605 1606 .ae-megamenu__triggers, 1607 .ae-megamenu__cta { 1608 display: none; 1609 } 1610 1611 .ae-megamenu__panels, 1612 .ae-megamenu__backdrop { 1613 display: none; 1614 } 1615 1616 .ae-megamenu__mobile-toggle { 1617 display: flex; 1618 } 1619 1620 .ae-megamenu__mobile-drawer, 1621 .ae-megamenu__mobile-backdrop { 1622 display: block; 1623 } 1624 } 1625 1626 /* ââ Small phones (â¤400px) ââ */ 1627 @media (max-width: 400px) { 1628 .ae-megamenu__mobile-drawer { 1629 max-width: 100%; 1630 } 1631 1632 .ae-megamenu__mobile-trigger { 1633 font-size: 14px; 1634 padding: 0.75rem 1rem; 1635 } 1636 1637 .ae-megamenu__mobile-link { 1638 padding-left: 2rem; 1639 font-size: 13.5px; 1640 } 1641 1642 .ae-megamenu__mobile-section-label { 1643 padding-left: 2rem; 1644 } 1645 1646 .ae-megamenu__mobile-cta { 1647 padding: 0.75rem 1rem; 1648 } 1649 } 1650 1651 /* ââ Desktop: ensure mobile elements hidden ââ */ 1652 @media (min-width: 992px) { 1653 .ae-megamenu__mobile-toggle, 1654 .ae-megamenu__mobile-drawer, 1655 .ae-megamenu__mobile-backdrop { 1656 display: none !important; 1657 } 1658 } 1659</style>
1659<script>/* ============================================== 1660 ASURE MEGA MENU â JavaScript 1661 Bricks Builder Code Element â JS field 1662 ============================================== */ 1663 1664(function initAeMegaMenu() { 1665 'use strict'; 1666 1667 var root = document.querySelector('.ae-megamenu'); 1668 if (!root) return; 1669 1670 // ââ DOM References ââ 1671 var bar = root.querySelector('.ae-megamenu__bar'); 1672 var triggers = root.querySelectorAll('.ae-megamenu__trigger'); 1673 var panelsWrap = root.querySelector('.ae-megamenu__panels'); 1674 var panels = root.querySelectorAll('.ae-megamenu__panel'); 1675 var backdrop = root.querySelector('.ae-megamenu__backdrop'); 1676 var mobileToggle = root.querySelector('.ae-megamenu__mobile-toggle'); 1677 var mobileDrawer = root.querySelector('.ae-megamenu__mobile-drawer'); 1678 var mobileClose = root.querySelector('.ae-megamenu__mobile-close'); 1679 var mobileBackdrop = root.querySelector('.ae-megamenu__mobile-backdrop'); 1680 var mobileTriggers = root.querySelectorAll('.ae-megamenu__mobile-trigger'); 1681 1682 // ââ State ââ 1683 var activePanel = null; 1684 var activeTrigger = null; 1685 var closeTimer = null; 1686 var clickLocked = false; // true = opened via click, stays until explicit dismiss 1687 var CLOSE_DELAY = 300; 1688 var MOBILE_BREAKPOINT = 991; 1689 1690 // ââ Utility: Convert NodeList to Array (cross-browser) ââ 1691 function toArray(nl) { 1692 var arr = []; 1693 for (var i = 0; i < nl.length; i++) arr.push(nl[i]); 1694 return arr; 1695 } 1696 1697 var triggerArr = toArray(triggers); 1698 1699 // ââââââââââââââââââââââââââââââââââââââââââââââ 1700 // DESKTOP: OPEN / CLOSE 1701 // ââââââââââââââââââââââââââââââââââââââââââââââ 1702 1703 function openPanel(trigger) { 1704 var panelId = trigger.getAttribute('data-panel'); 1705 var panel = root.querySelector('#panel-' + panelId); 1706 if (!panel) return; 1707 1708 // Close current if different 1709 if (activePanel && activePanel !== panel) { 1710 closePanelElement(activePanel, activeTrigger); 1711 } 1712 1713 trigger.setAttribute('aria-expanded', 'true'); 1714 panel.classList.add('is-open'); 1715 panel.setAttribute('aria-hidden', 'false'); 1716 backdrop.classList.add('is-visible'); 1717 1718 activePanel = panel; 1719 activeTrigger = trigger; 1720 } 1721 1722 function closePanelElement(panel, trigger) { 1723 if (!panel) return; 1724 if (trigger) trigger.setAttribute('aria-expanded', 'false'); 1725 panel.classList.remove('is-open'); 1726 panel.setAttribute('aria-hidden', 'true'); 1727 } 1728 1729 function closeAllPanels() { 1730 clearTimeout(closeTimer); 1731 if (activePanel) { 1732 closePanelElement(activePanel, activeTrigger); 1733 activePanel = null; 1734 activeTrigger = null; 1735 } 1736 backdrop.classList.remove('is-visible'); 1737 clickLocked = false; 1738 } 1739 1740 function scheduleClose() { 1741 clearTimeout(closeTimer); 1742 closeTimer = setTimeout(function() { 1743 closeAllPanels(); 1744 }, CLOSE_DELAY); 1745 } 1746 1747 function cancelClose() { 1748 clearTimeout(closeTimer); 1749 } 1750 1751 // ââââââââââââââââââââââââââââââââââââââââââââââ 1752 // DESKTOP: HOVER on the ENTIRE nav zone 1753 // ââââââââââââââââââââââââââââââââââââââââââââââ
1754 // We listen on the root .ae-megamenu so the mouse can travel 1755 // freely between trigger bar and panel without gaps killing the menu. 1756 1757 root.addEventListener('mouseleave', function() { 1758 if (clickLocked) return; // clicked open â don't close on hover-out 1759 if (activePanel) scheduleClose(); 1760 }); 1761 1762 root.addEventListener('mouseenter', function() { 1763 cancelClose(); 1764 }); 1765 1766 // Individual triggers: open the correct panel on hover 1767 // Always switches panels â even when click-locked 1768 triggerArr.forEach(function(trigger) { 1769 trigger.addEventListener('mouseenter', function() { 1770 cancelClose(); 1771 openPanel(trigger); 1772 }); 1773 }); 1774 1775 // Panels area: keep alive while hovering 1776 panelsWrap.addEventListener('mouseenter', function() { 1777 cancelClose(); 1778 }); 1779 1780 // ââââââââââââââââââââââââââââââââââââââââââââââ 1781 // DESKTOP: CLICK (toggles + locks) 1782 // ââââââââââââââââââââââââââââââââââââââââââââââ 1783 1784 triggerArr.forEach(function(trigger) { 1785 trigger.addEventListener('click', function(e) { 1786 e.preventDefault(); 1787 cancelClose(); 1788 1789 var panelId = trigger.getAttribute('data-panel'); 1790 var panel = root.querySelector('#panel-' + panelId); 1791 1792 // If clicking the same trigger that's already open â close 1793 if (activePanel === panel) { 1794 closeAllPanels(); 1795 return; 1796 } 1797 1798 // Open and lock 1799 openPanel(trigger); 1800 clickLocked = true; 1801 }); 1802 }); 1803 1804 // ââââââââââââââââââââââââââââââââââââââââââââââ 1805 // DESKTOP: CLICK OUTSIDE 1806 // ââââââââââââââââââââââââââââââââââââââââââââââ 1807 1808 document.addEventListener('mousedown', function(e) { 1809 if (!activePanel) return; 1810 // Check if click is inside the megamenu (bar, panels, or backdrop) 1811 if (root.contains(e.target)) return; 1812 closeAllPanels(); 1813 }); 1814 1815 // Backdrop click 1816 backdrop.addEventListener('click', function() { 1817 closeAllPanels(); 1818 }); 1819 1820 // ââââââââââââââââââââââââââââââââââââââââââââââ 1821 // DESKTOP: KEYBOARD 1822 // ââââââââââââââââââââââââââââââââââââââââââââââ 1823 1824 bar.addEventListener('keydown', function(e) { 1825 var key = e.key; 1826 var currentIndex = triggerArr.indexOf(document.activeElement); 1827 1828 switch (key) { 1829 case 'ArrowRight': 1830 e.preventDefault(); 1831 var nextIdx = (currentIndex + 1) % triggerArr.length; 1832 triggerArr[nextIdx].focus(); 1833 if (activePanel) openPanel(triggerArr[nextIdx]); 1834 break; 1835 1836 case 'ArrowLeft': 1837 e.preventDefault(); 1838 var prevIdx = (currentIndex - 1 + triggerArr.length) % triggerArr.length; 1839 triggerArr[prevIdx].focus(); 1840 if (activePanel) openPanel(triggerArr[prevIdx]); 1841 break; 1842 1843 case 'ArrowDown': 1844 e.preventDefault(); 1845 if (!activePanel && currentIndex >= 0) { 1846 openPanel(triggerArr[currentIndex]); 1847 clickLocked = true; 1848 } 1849 if (activePanel) { 1850 var firstLink = activePanel.querySelector('.ae-megamenu__link'); 1851 if (firstLink) firstLink.focus(); 1852 } 1853 break; 1854 1855 case 'Escape': 1856 if (activePanel) { 1857 var returnTrigger = activeTrigger; 1858 closeAllPanels(); 1859 if (returnTrigger) returnTrigger.focus(); 1860 } 1861 break; 1862 } 1863 }); 1864 1865 // Arrow navigation within panels 1866 toArray(panels).forEach(function(panel) { 1867 panel.addEventListener('keydown', function(e) { 1868 if (e.key === 'Escape') { 1869 var returnTrigger = activeTrigger; 1870 closeAllPanels(); 1871 if (returnTrigger) returnTrigger.focus(); 1872 return; 1873 } 1874 1875 if (e.key !== 'ArrowDown' && e.key !== 'ArrowUp') return; 1876 1877 var links = toArray(panel.querySelectorAll('.ae-megamenu__link, .ae-megamenu__promo-card')); 1878 var currentIdx = links.indexOf(document.activeElement); 1879 if (currentIdx === -1) return; 1880 1881 e.preventDefault(); 1882 1883 if (e.key === 'ArrowDown') { 1884 var next = currentIdx + 1; 1885 if (next < links.length) { 1886 links[next].focus(); 1887 } 1888 } else if (e.key === 'ArrowUp') { 1889 if (currentIdx === 0) { 1890 if (activeTrigger) activeTrigger.focus(); 1891 } else { 1892 links[currentIdx - 1].focus(); 1893 } 1894 } 1895 }); 1896 }); 1897 1898 1899 // ââââââââââââââââââââââââââââââââââââââââââââââ 1900 // MOBILE BEHAVIOR 1901 // ââââââââââââââââââââââââââââââââââââââââââââââ 1902 1903 var isMobileOpen = false;
1904 1905 function openMobileDrawer() { 1906 isMobileOpen = true; 1907 mobileDrawer.classList.add('is-open'); 1908 mobileDrawer.setAttribute('aria-hidden', 'false'); 1909 mobileBackdrop.classList.add('is-visible'); 1910 mobileToggle.setAttribute('aria-expanded', 'true'); 1911 document.documentElement.style.overflow = 'hidden'; 1912 1913 requestAnimationFrame(function() { 1914 mobileClose.focus(); 1915 }); 1916 1917 document.addEventListener('keydown', mobileFocusTrap); 1918 } 1919 1920 function closeMobileDrawer() { 1921 isMobileOpen = false; 1922 mobileDrawer.classList.remove('is-open'); 1923 mobileDrawer.setAttribute('aria-hidden', 'true'); 1924 mobileBackdrop.classList.remove('is-visible'); 1925 mobileToggle.setAttribute('aria-expanded', 'false'); 1926 document.documentElement.style.overflow = ''; 1927 1928 mobileToggle.focus(); 1929 document.removeEventListener('keydown', mobileFocusTrap); 1930 } 1931 1932 function mobileFocusTrap(e) { 1933 if (e.key !== 'Tab') { 1934 if (e.key === 'Escape') closeMobileDrawer(); 1935 return; 1936 } 1937 1938 var focusable = toArray(mobileDrawer.querySelectorAll( 1939 'button, a[href], input, select, textarea, [tabindex]:not([tabindex="-1"])' 1940 )).filter(function(el) { 1941 return el.offsetParent !== null; 1942 }); 1943 1944 if (focusable.length === 0) return; 1945 1946 var first = focusable[0]; 1947 var last = focusable[focusable.length - 1]; 1948 1949 if (e.shiftKey) { 1950 if (document.activeElement === first) { 1951 e.preventDefault(); 1952 last.focus(); 1953 } 1954 } else { 1955 if (document.activeElement === last) { 1956 e.preventDefault(); 1957 first.focus(); 1958 } 1959 } 1960 } 1961 1962 mobileToggle.addEventListener('click', function() { 1963 if (isMobileOpen) closeMobileDrawer(); 1964 else openMobileDrawer(); 1965 }); 1966 1967 mobileClose.addEventListener('click', closeMobileDrawer); 1968 mobileBackdrop.addEventListener('click', closeMobileDrawer); 1969 1970 // ââ Mobile Accordion (exclusive) ââ 1971 toArray(mobileTriggers).forEach(function(trigger) { 1972 trigger.addEventListener('click', function() { 1973 var content = trigger.nextElementSibling; 1974 var isExpanded = trigger.getAttribute('aria-expanded') === 'true'; 1975 1976 toArray(mobileTriggers).forEach(function(other) { 1977 if (other !== trigger) { 1978 other.setAttribute('aria-expanded', 'false'); 1979 var otherContent = other.nextElementSibling; 1980 if (otherContent) { 1981 otherContent.classList.remove('is-expanded'); 1982 otherContent.setAttribute('aria-hidden', 'true'); 1983 } 1984 } 1985 }); 1986 1987 if (isExpanded) { 1988 trigger.setAttribute('aria-expanded', 'false'); 1989 content.classList.remove('is-expanded'); 1990 content.setAttribute('aria-hidden', 'true'); 1991 } else { 1992 trigger.setAttribute('aria-expanded', 'true'); 1993 content.classList.add('is-expanded'); 1994 content.setAttribute('aria-hidden', 'false'); 1995 } 1996 }); 1997 }); 1998 1999 2000 // ââââââââââââââââââââââââââââââââââââââââââââââ 2001 // RESIZE HANDLER 2002 // ââââââââââââââââââââââââââââââââââââââââââââââ 2003 2004 var resizeTimer = null; 2005 2006 window.addEventListener('resize', function() { 2007 clearTimeout(resizeTimer); 2008 resizeTimer = setTimeout(function() { 2009 var w = window.innerWidth; 2010 if (w > MOBILE_BREAKPOINT) { 2011 if (isMobileOpen) closeMobileDrawer(); 2012 } else { 2013 if (activePanel) closeAllPanels(); 2014 } 2015 }, 150); 2016 }); 2017 2018})(); 2019</script>
2019</div></div></header><main id="brx-content"><section id="brxe-397498" class="brxe-section"><div id="brxe-232763" class="brxe-container"><div id="brxe-3dd0e5" data-script-id="3dd0e5" class="brxe-code"> <div class="asure-embed"> 2020 2021 <!-- Hero --> 2022 <section class="ae-hero" id="top"> 2023 <div class="ae-container"> 2024 <div class="ae-hero__grid ae-reveal"> 2025 <div class="ae-hero__content"> 2026 <div class="ae-eyebrow">About Asure</div> 2027 <h1 class="ae-hero__title">Nurturing Growth</h1> 2028 <p class="ae-hero__subtitle">Asure helps businesses develop Human Capital to get to the next level, stay compliant, and allocate their time, money and technology toward growth.</p> 2029 <div class="ae-hero__ctas"> 2030 <a href="/contact/" class="ae-btn ae-btn--primary"> 2031 Get in Touch 2032 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg> 2033 </a> 2034 </div> 2035 <p class="ae-hero__micro">Asure’s leadership and dedication has enabled the company to help more than 100,000 growing businesses stay compliant, pay employees, and get the most from their Human Capital.</p> 2036 <div class="ae-signal-pills" aria-label="Company signals"> 2037 <span class="ae-signal-pill">NASDAQ: ASUR</span> 2038 <span class="ae-signal-pill">Austin, TX</span> 2039 <span class="ae-signal-pill">Payroll & HR Solutions</span> 2040 </div> 2041 </div> 2042 2043 <div class="ae-hero__sidebar"> 2044 <div class="ae-stats-grid" aria-label="Key company statistics"> 2045 <div class="ae-stat-card"> 2046 <span class="ae-stat-card__number">100K+</span> 2047 <span class="ae-stat-card__label">Growing businesses served</span> 2048 </div> 2049 <div class="ae-stat-card"> 2050 <span class="ae-stat-card__number">50</span> 2051 <span class="ae-stat-card__label">States & territories</span> 2052 </div> 2053 <div class="ae-stat-card"> 2054 <span class="ae-stat-card__number">40+</span> 2055 <span class="ae-stat-card__label">Years of evolution</span> 2056 </div> 2057 </div> 2058 </div> 2059 </div> 2060 </div> 2061 </section> 2062 2063 <!-- Who We Are --> 2064 <section class="ae-section ae-section--gray" id="who-we-are"> 2065 <div class="ae-container"> 2066 <div class="ae-section-header ae-reveal"> 2067 <div class="ae-eyebrow">Who We Are</div> 2068 <h2 class="ae-section-title">HCM Through the Lens of Entrepreneurs</h2> 2069 </div> 2070 2071 <div class="ae-split ae-reveal"> 2072 <div class="ae-split__content"> 2073 <div class="ae-split__body"> 2074 <p class="ae-lead">Asure sees Human Capital Management through the lens of entrepreneurs and executives with an owner’s mentality. We understand that business owners need to build great teams—but must also allocate financial capital in areas that drive growth, not bloated back-office functions.</p> 2075 <p class="ae-body">With headquarters in Austin, TX and offices throughout the United States, Asure provides HCM software and services in every state and territory. We build great HCM software that’s delivered via the cloud on a subscription basis—so it doesn’t require any IT overhead or a large capital purchase.</p> 2076 </div> 2077 </div> 2078 2079 <div class="ae-split__media"> 2080 <div class="ae-insight-stack ae-reveal-stagger"> 2081 <div class="ae-insight-card"> 2082 <span class="ae-insight-card__label">Our Vision</span> 2083 <p class="ae-insight-card__text">Be the most trusted Human Capital Management resource to entrepreneurs everywhere.</p> 2084 </div> 2085 <div class="ae-insight-card"> 2086 <span class="ae-insight-card__label">Our Mission</span> 2087 <p class="ae-insight-card__text">Provide Human Capital Management software and services that help companies grow, while nurturing a culture of growth around us.</p> 2088 </div> 2089 </div> 2090 </div> 2091 </div> 2092 </div> 2093 </section> 2094 2095 <!-- Mission Pillars --> 2096 <section class="ae-section" id="mission"> 2097 <div class="ae-container"> 2098 <div class="ae-section-header ae-reveal"> 2099 <div class="ae-eyebrow">Our Mission</div> 2100 <h2 class="ae-section-title">Nurturing Growth in Everything We Do</h2> 2101 <p class="ae-section-intro">Our mission isn’
2101t just about software. It’s about creating a culture of growth that extends to our customers, our employees, our communities, and our shareholders.</p> 2102 </div> 2103 2104 <div class="ae-card-grid ae-card-grid--4 ae-reveal-stagger"> 2105 <article class="ae-mission-card"> 2106 <div class="ae-mission-card__icon"> 2107 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg> 2108 </div> 2109 <h3>Customer Growth</h3> 2110 <p>Help customers grow by getting the most from their human capital.</p> 2111 </article> 2112 2113 <article class="ae-mission-card"> 2114 <div class="ae-mission-card__icon"> 2115 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"/><polyline points="17 6 23 6 23 12"/></svg> 2116 </div> 2117 <h3>Employee Growth</h3> 2118 <p>Help our employees grow personally and professionally.</p> 2119 </article> 2120 2121 <article class="ae-mission-card"> 2122 <div class="ae-mission-card__icon"> 2123 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg> 2124 </div> 2125 <h3>Community Growth</h3> 2126 <p>Grow relationships in our communities that inspire goodness.</p> 2127 </article> 2128 2129 <article class="ae-mission-card"> 2130 <div class="ae-mission-card__icon"> 2131 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="1" x2="12" y2="23"/><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg> 2132 </div> 2133 <h3>Shareholder Growth</h3> 2134 <p>Do all of these things in a way that grows shareholder value.</p> 2135 </article> 2136 </div> 2137 2138 <blockquote class="ae-quote ae-reveal"> 2139 <p>“Effective leadership means ensuring that transformation permeates every level of the company, not just the top.”</p> 2140 <cite><strong>Pat Goepel</strong> — Chairman & CEO, Asure Software</cite> 2141 </blockquote> 2142 </div> 2143 </section> 2144 2145 <!-- Our Values --> 2146 <section class="ae-section ae-section--gray" id="values"> 2147 <div class="ae-container"> 2148 <div class="ae-split ae-reveal"> 2149 <div class="ae-split__content"> 2150 <div class="ae-eyebrow">Our Values</div> 2151 <h2 class="ae-section-title">What Guides Us Every Day</h2> 2152 <div class="ae-split__body"> 2153 <p class="ae-body">Our core values shape how we build products, serve customers, and support each other. They aren’t just words on a wall—they’re how we operate.</p> 2154 </div> 2155 </div> 2156 <div class="ae-split__media"> 2157 <div class="ae-values-list"> 2158 <div class="ae-values-item"> 2159 <div class="ae-values-item__icon"> 2160 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 4 11.5 15.5 7.5 11.5"/><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"/></svg> 2161 </div> 2162 <div class="ae-values-item__text"> 2163 <strong>Embrace Change</strong> 2164 <span>Adaptability and forward-thinking in everything we build.</span> 2165 </div> 2166 </div> 2167 <div class="ae-values-item"> 2168 <div class="ae-values-item__icon"> 2169 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg> 2170 </div> 2171 <div class="ae-values-item__text"> 2172 <strong>Lead with Integrity</strong>
2173 <span>Ethical conduct, transparency, and trust at every level.</span> 2174 </div> 2175 </div> 2176 <div class="ae-values-item"> 2177 <div class="ae-values-item__icon"> 2178 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg> 2179 </div> 2180 <div class="ae-values-item__text"> 2181 <strong>Own the Outcome</strong> 2182 <span>Accountability and results-driven dedication.</span> 2183 </div> 2184 </div> 2185 <div class="ae-values-item"> 2186 <div class="ae-values-item__icon"> 2187 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg> 2188 </div> 2189 <div class="ae-values-item__text"> 2190 <strong>Deliver Awesome</strong> 2191 <span>Excellence through continuous improvement.</span> 2192 </div> 2193 </div> 2194 <div class="ae-values-item"> 2195 <div class="ae-values-item__icon"> 2196 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg> 2197 </div> 2198 <div class="ae-values-item__text"> 2199 <strong>Be a Good Human</strong> 2200 <span>Kindness, respect, and care in everything we do.</span> 2201 </div> 2202 </div> 2203 </div> 2204 </div> 2205 </div> 2206 </div> 2207 </section> 2208 2209 <!-- Leadership Team --> 2210 <section class="ae-section" id="leadership"> 2211 <div class="ae-container"> 2212 <div class="ae-section-header ae-reveal"> 2213 <div class="ae-eyebrow">Leadership</div> 2214 <h2 class="ae-section-title">Experienced Leaders Driving Growth</h2> 2215 <p class="ae-section-intro">Asure’s leadership team brings decades of experience in human capital management, technology, and building solutions that help businesses grow.</p> 2216 </div> 2217 2218 <div class="ae-card-grid ae-card-grid--leader ae-reveal-stagger"> 2219 2220 <div class="ae-leader-card"> 2221 <div class="ae-leader-left"> 2222 <div class="ae-leader-avatar"> 2223 <img src="https://asuresoftware.com/wp-content/uploads/2026/03/Pat-photoaidcom-cropped.png" alt="Pat Goepel" loading="lazy"> 2224 </div> 2225 <h3 class="ae-leader-name">Pat Goepel</h3> 2226 <p class="ae-leader-role">Chairman and Chief Executive Officer</p> 2227 </div> 2228 <div class="ae-leader-right"> 2229 <p class="ae-leader-bio">Pat Goepel leads Asure’s strategy and growth, focusing on building a platform that helps businesses manage payroll, HR, and compliance with confidence. He has spent his career scaling technology-enabled service companies and driving operational discipline, predictable revenue growth, and long-term value creation. Under his leadership, Asure has expanded its capabilities across payroll, HR, and financial services while strengthening the infrastructure required to support businesses at scale.</p> 2230 <p class="ae-leader-experience">Brings 30+ years of experience in HR, payroll, and outsourcing, with prior leadership roles at Fidelity Investments, Advantec, and Ceridian.</p> 2231 </div> 2232 </div> 2233 2234 <div class="ae-leader-card"> 2235 <div class="ae-leader-left"> 2236 <div class="ae-leader-avatar"> 2237 <img src="https://asuresoftware.com/wp-content/uploads/2026/03/Eyal-photoaidcom-cropped.png" alt="Eyal Goldstein" loading="lazy"> 2238 </div> 2239 <h3 class="ae-leader-name">Eyal Goldstein</h3> 2240 <p class="ae-leader-role">President and Chief Revenue Officer</p> 2241 </div> 2242 <div class="ae-leader-right"> 2243 <p class="ae-leader-bio">Eyal Goldstein leads revenue strategy, go-to-market execution, and key operating functions across Asure’s growth-focused business lines. In addition to overseeing sales and marketing, he is responsible for scaling several of Asure’s fastest-growing product areas, aligning revenue generation with service delivery and operational performance. He brings deep experience building high-performing organizations and driving growth in competitive markets.</p> 2244 <p class="ae-leader-experience">
2244Has over 20 years of experience in enterprise software and HCM, with prior leadership roles at Oracle, Ceridian, and ADP.</p> 2245 </div> 2246 </div> 2247 2248 <div class="ae-leader-card"> 2249 <div class="ae-leader-left"> 2250 <div class="ae-leader-avatar"> 2251 <img src="https://asuresoftware.com/wp-content/uploads/2026/03/Pence-photoaidcom-cropped.png" alt="John Pence" loading="lazy"> 2252 </div> 2253 <h3 class="ae-leader-name">John Pence</h3> 2254 <p class="ae-leader-role">Chief Financial Officer</p> 2255 </div> 2256 <div class="ae-leader-right"> 2257 <p class="ae-leader-bio">John Pence oversees Asure’s financial strategy, reporting, and capital management. In addition to financial leadership and public company governance, he is responsible for the financial infrastructure that underpins payroll funding, tax payments, and compliant client money movement at scale. His focus is on maintaining financial discipline while optimizing liquidity, managing risk, and ensuring efficient handling of funds across the platform.</p> 2258 <p class="ae-leader-experience">Offers 20+ years of experience across finance, technology, and benefits, with prior leadership roles at Beneplace, Mobi, Freescale Semiconductor, and Arthur Andersen.</p> 2259 </div> 2260 </div> 2261 2262 <div class="ae-leader-card"> 2263 <div class="ae-leader-left"> 2264 <div class="ae-leader-avatar"> 2265 <img src="https://asuresoftware.com/wp-content/uploads/2026/03/Yas-photoaidcom-cropped.png" alt="Yasmine Rodriguez" loading="lazy"> 2266 </div> 2267 <h3 class="ae-leader-name">Yasmine Rodriguez</h3> 2268 <p class="ae-leader-role">Chief Technology Officer</p> 2269 </div> 2270 <div class="ae-leader-right"> 2271 <p class="ae-leader-bio">Yasmine Rodriguez leads technology strategy, platform development, and AI innovation at Asure. She is responsible for advancing AsureCentral and Luna AI while unifying product, data, and infrastructure into a scalable, integrated platform. With deep expertise in payroll tax and compliance systems, she plays a critical role in strengthening Asure’s system of record and the underlying compliance infrastructure that powers payroll and HR operations at scale.</p> 2272 <p class="ae-leader-experience">Brings 20+ years of experience in HCM technology and payroll tax systems, with prior leadership roles at ADP and OneSource Virtual.</p> 2273 </div> 2274 </div> 2275 2276 <div class="ae-leader-card"> 2277 <div class="ae-leader-left"> 2278 <div class="ae-leader-avatar"> 2279 <img src="https://asuresoftware.com/wp-content/uploads/2026/03/Mike_vannoy-photoaidcom-cropped.png" alt="Mike Vannoy" loading="lazy"> 2280 </div> 2281 <h3 class="ae-leader-name">Mike Vannoy</h3> 2282 <p class="ae-leader-role">Chief Marketing Officer</p> 2283 </div> 2284 <div class="ae-leader-right"> 2285 <p class="ae-leader-bio">Mike Vannoy leads marketing strategy, demand generation, and brand development at Asure. He brings nearly three decades of experience across payroll, HR, and human capital management, spanning sales, marketing, and agency leadership. At Asure, he focuses on aligning go-to-market strategy with customer needs and driving pipeline growth across the platform.</p> 2286 <p class="ae-leader-experience">Brings 25+ years of experience in payroll, HR, and human capital management, with prior leadership roles at Ceridian, Sales Engine Media, and Simplex Time Recorder.</p> 2287 </div> 2288 </div> 2289 2290 <div class="ae-leader-card"> 2291 <div class="ae-leader-left"> 2292 <div class="ae-leader-avatar"> 2293 <img src="https://asuresoftware.com/wp-content/uploads/2026/03/Jay-photoaidcom-cropped.png" alt="Jay Whitehead" loading="lazy"> 2294 </div> 2295 <h3 class="ae-leader-name">Jay Whitehead</h3> 2296 <p class="ae-leader-role">Senior Vice President, Asure Pay and Marketplace</p> 2297 </div> 2298 <div class="ae-leader-right"> 2299 <p class="ae-leader-bio">Jay Whitehead leads Asure’s AsurePay and marketplace initiatives, expanding financial services and partner-driven capabilities on the platform. He brings experience in payments, partnerships, and product commercialization, with a focus on creating flexible solutions that enhance payroll without adding complexity.</p> 2300 <p class="ae-leader-experience">Brings 20+ years of experience across HR, payments, and workforce solutions, with prior leadership roles at Ultimate Softw
2300are, TriNet, PeopleDoc, and HRO Today.</p> 2301 </div> 2302 </div> 2303 2304 <div class="ae-leader-card"> 2305 <div class="ae-leader-left"> 2306 <div class="ae-leader-avatar"> 2307 <img src="https://www.asuresoftware.com/wp-content/uploads/2026/10/Professional-Executive-Headshot.png" alt="Mike Eralie" loading="lazy"> 2308 </div> 2309 <h3 class="ae-leader-name">Mike Eralie</h3> 2310 <p class="ae-leader-role">Senior Vice President, Operations</p> 2311 </div> 2312 <div class="ae-leader-right"> 2313 <p class="ae-leader-bio">Mike Eralie leads operational execution across Asure’s service delivery and customer support functions. He is responsible for ensuring payroll, HR, and compliance processes are delivered accurately and consistently at scale. His focus is on operational excellence, service quality, and delivering a consistently strong experience for customers across every interaction.</p> 2314 <p class="ae-leader-experience">Brings 20+ years of experience in payroll and HR operations, with prior leadership roles at Safeguard Global and NGA.</p> 2315 </div> 2316 </div> 2317 2318 </div> 2319 </div> 2320 </section> 2321 2322 <!-- Final CTA --> 2323 <section class="ae-cta" id="contact"> 2324 <div class="ae-container"> 2325 <div class="ae-cta__content ae-reveal"> 2326 <div class="ae-eyebrow ae-eyebrow--light">Get Started</div> 2327 <h2 class="ae-cta__title">Ready to Grow with Asure?</h2> 2328 <p class="ae-cta__body">See how Asure’s payroll and HR solutions can help your business stay compliant, pay employees, and get the most from your Human Capital.</p> 2329 <div class="ae-chip-row" aria-label="Solution areas"> 2330 <span class="ae-chip ae-chip--dark">Payroll</span> 2331 <span class="ae-chip ae-chip--dark">HR Compliance</span> 2332 <span class="ae-chip ae-chip--dark">Tax Management</span> 2333 <span class="ae-chip ae-chip--dark">Time & Attendance</span> 2334 <span class="ae-chip ae-chip--dark">Benefits</span> 2335 </div> 2336 <div class="ae-cta__actions"> 2337 <a data-hs-form="pricing" aria-haspopup="dialog" href="#pricing" class="ae-btn ae-btn--primary-light"> 2338 Get Pricing 2339 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg> 2340 </a> 2341 <a data-hs-form="contact" aria-haspopup="dialog" href="#contact" class="ae-btn ae-btn--white">Talk to an Expert</a> 2342 </div> 2343 </div> 2344 </div> 2345 </section> 2346 2347 <!-- HubSpot Modal --> 2348 <!-- ââ Pricing Modal (light, content-left / form-right) ââ --> 2349 <div class="hs-modal" id="aePricingModal" role="dialog" aria-modal="true" aria-labelledby="aePricingModalTitle" aria-hidden="true"> 2350 <div class="hs-modal__overlay" data-hs-modal-close></div> 2351 <div class="hs-modal__dialog hs-modal__dialog--wide"> 2352 <button type="button" class="hs-modal__close" data-hs-modal-close aria-label="Close dialog"> 2353 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg> 2354 </button> 2355 <div class="hs-modal__columns"> 2356 <div class="hs-modal__content-col"> 2357 <span class="hs-modal__eyebrow">Pricing</span> 2358 <h2 class="hs-modal__title" id="aePricingModalTitle">Get your custom pricing</h2> 2359 <p class="hs-modal__subtitle">Answer a few quick questions to see pricing based on your company size, setup, and service needs.</p> 2360 <div class="hs-modal__divider"></div> 2361 <ul class="hs-modal__checklist"> 2362 <li>Pricing tailored to your employee count and setup</li> 2363 <li>Compare payroll-only, HR, or fully managed options</li> 2364 <li>Clear breakdown — no hidden fees or add-ons</li> 2365 <li>Delivered within 1 business day</li> 2366 </ul> 2367 <div class="hs-modal__trust-line"> 2368 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg> 2369 No obligation. No commitment required. 2370 </div> 2371 </div> 2372 <div class="hs-modal__form-col"> 2373 <div class="hs-modal__body" id="aePricingFormTarget"></div> 2374 <p class="hs-modal__fineprint"> 2375 By submitting this form you agree to our 2376 <a href="https://www.asuresoftware.com/terms-of-service/" target="_blank" rel="noopener">Terms of Service</a> and 2377 <a href="https://www.asuresoftware.com/privacy-policy/" target="_blank" rel="noopener">Privacy Policy</a>. 2378 </p> 2379 </div> 2380 </div> 2381 </div> 2382 </div> 2383 2384 <!-- ââ Contact Modal (dark, form-left / content-right) ââ --> 2385 <div class="hs-modal" id="aeContactModal" role="dialog" aria-modal="true" aria-labelledby="aeContactModalTitle" aria-hidden="true"> 2386 <div class="hs-modal__overlay" data-hs-modal-close></div> 2387 <div class="hs-modal__dialog hs-modal__dialog--wide hs-modal__dialog--dark"> 2388 <button type="button" class="hs-modal__close" data-hs-modal-close aria-label="Close dialog"> 2389 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg> 2390 </button> 2391 <div class="hs-modal__columns hs-modal__columns--reversed"> 2392 <div class="hs-modal__form-col"> 2393 <div class="hs-modal__body" id="aeContactFormTarget"></div> 2394 <p class="hs-modal__fineprint"> 2395 By submitting this form you agree to our 2396 <a href="https://www.asuresoftware.com/terms-of-service/" target="_blank" rel="noopener">Terms of Service</a> and 2397 <a href="https://www.asuresoftware.com/privacy-policy/" target="_blank" rel="noopener">Privacy Policy</a>. 2398 </p> 2399 </div> 2400 <div class="hs-modal__content-col">
2401 <span class="hs-modal__eyebrow">Expert consultation</span> 2402 <h2 class="hs-modal__title" id="aeContactModalTitle">Talk to an Expert</h2> 2403 <p class="hs-modal__subtitle">Get answers from an Asure specialist.</p> 2404 <div class="hs-modal__divider"></div> 2405 <ul class="hs-modal__checklist"> 2406 <li>15-minute intro call, no pressure</li> 2407 <li>Personalized walkthrough of your needs</li> 2408 <li>Expert guidance on compliance & payroll</li> 2409 <li>We'll match you with the right specialist</li> 2410 </ul> 2411 </div> 2412 </div> 2413 2414 </div> 2415 </div> 2416<style>*, *::before, *::after { box-sizing: border-box; } 2417body { margin: 0; font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif; background: #fff; } 2418 2419/* 2420 ABOUT US PAGE STYLES 2421 ================================ 2422 All styles scoped to .asure-embed to avoid conflicts with Bricks theme. 2423 Design system matches Bank_Partners / Employee_Experience reference. 2424 Assumes fonts (DM Sans, Plus Jakarta Sans) are loaded by the theme. 2425*/ 2426 2427/* ========================================= 2428 CSS VARIABLES 2429 ========================================= */ 2430.asure-embed { 2431 /* Full-bleed: break out of any Bricks container so section backgrounds reach viewport edges */ 2432 width: 100vw; 2433 position: relative; 2434 left: 50%; 2435 transform: translateX(-50%); 2436 2437 /* Brand Colors */ 2438 --asure-green: #7FBC42; 2439 --asure-green-dark: #5a9c1e; 2440 --asure-solution-blue: #068FBE; 2441 --asure-support-blue: #47C3D3; 2442 --asure-ultra-blue: #213265; 2443 --asure-yellow: #FDBE5D; 2444 --asure-red: #E92A32; 2445 2446 /* Slate Scale */ 2447 --slate-50: #F8FAFC; 2448 --slate-100: #F1F5F9; 2449 --slate-200: #E2E8F0; 2450 --slate-300: #CBD5E1; 2451 --slate-400: #94A3B8; 2452 --slate-500: #64748B; 2453 --slate-600: #475569; 2454 --slate-700: #334155; 2455 --slate-800: #1E293B; 2456 --slate-900: #0F172A; 2457 2458 /* Semantic Colors */ 2459 --color-success: #7FBC42; 2460 --color-warning: #FDBE5D; 2461 --color-danger: #E92A32; 2462 --color-info: #068FBE; 2463 2464 /* Typography */ 2465 --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif; 2466 --font-heading: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif; 2467 2468 /* Layout */ 2469 --container-width: 1280px; 2470 --container-padding: clamp(20px, 5vw, 40px); 2471 --section-padding-y: clamp(50px, 8vw, 80px); 2472 2473 /* Border Radius */ 2474 --radius-sm: 6px; 2475 --radius-md: 10px; 2476 --radius-lg: 14px; 2477 2478 /* Transitions */ 2479 --transition-fast: 0.15s ease; 2480 --transition-base: 0.25s ease; 2481 --transition-slow: 0.4s ease; 2482 2483 /* Base styles */ 2484 font-family: var(--font-body); 2485 font-size: 15px; 2486 line-height: 1.6; 2487 color: var(--slate-700); 2488 -webkit-font-smoothing: antialiased; 2489} 2490 2491/* ========================================= 2492 BASE TYPOGRAPHY 2493 ========================================= */ 2494.asure-embed h1, 2495.asure-embed h2 { 2496 margin: 0; 2497 font-family: var(--font-body); 2498 font-weight: 700; 2499 letter-spacing: -.04em; 2500 background: linear-gradient(90deg, #068FBE 15%, #0A80AF 35%, #0F71A1 54%, #213265 100%); 2501 -webkit-background-clip: text; 2502 -webkit-text-fill-color: transparent; 2503 background-clip: text; 2504 text-wrap: balance; 2505} 2506 2507.asure-embed h3, 2508.asure-embed h4 { 2509 margin: 0; 2510 font-family: var(--font-body); 2511 font-weight: 700; 2512 letter-spacing: -.02em; 2513 color: var(--slate-800); 2514} 2515 2516.asure-embed p { 2517 margin: 0 0 1rem; 2518 text-wrap: balance; 2519} 2520 2521.asure-embed p:last-child { 2522 margin-bottom: 0; 2523} 2524 2525/* Eyebrow */ 2526.asure-embed .ae-eyebrow { 2527 display: inline-flex; 2528 align-items: center; 2529 gap: 10px; 2530 font-size: 12px; 2531 line-height: 1; 2532 font-weight: 700; 2533 letter-spacing: .16em; 2534 text-transform: uppercase; 2535 color: var(--asure-solution-blue); 2536 margin-bottom: 0.75rem; 2537 text-wrap: balance; 2538} 2539/* Centered/stacked: dashes on both sides */ 2540.asure-embed .ae-section-header .ae-eyebrow::before, 2541.asure-embed .ae-section-header .ae-eyebrow::after, 2542.asure-embed .ae-cta__content .ae-eyebrow::before, 2543.asure-embed .ae-cta__content .ae-eyebrow::after{ 2544 content:"";width:28px;height:1px;background:currentColor;opacity:.45; 2545} 2546/* Left-justified: dash on right side only */ 2547.asure-embed .ae-hero__content .ae-eyebrow::after, 2548.asure-embed .ae-split > .ae-split__content > .ae-eyebrow::after{ 2549 content:"";width:28px;height:1px;background:currentColor;opacity:.45; 2550} 2551/* Right-justified (reverse split): dash on left side only */ 2552.asure-embed .ae-split--reverse > .ae-split__content > .ae-eyebrow::before{ 2553 content:"";width:28px;height:1px;background:currentColor;opacity:.45; 2554} 2555 2556/* Lead Paragraph */ 2557.asure-embed .ae-lead { 2558 font-size: 18px; 2559 line-height: 1.72; 2560 font-weight: 600; 2561 color: var(--slate-800); 2562 margin-bottom: 1em; 2563 text-wrap: balance; 2564} 2565 2566/* Body Paragraph */ 2567.asure-embed .ae-body { 2568 font-size: 18px; 2569 line-height: 1.72; 2570 color: var(--slate-600); 2571 font-weight: 400; 2572 margin-bottom: 1rem; 2573 text-wrap: balance; 2574} 2575 2576.asure-embed .ae-body:last-child { 2577 margin-bottom: 0; 2578} 2579 2580/* ========================================= 2581 LAYOUT 2582 ========================================= */ 2583.asure-embed .ae-container { 2584 width: 100%; 2585 max-width: var(--container-width); 2586 margin: 0 auto; 2587 padding-left: var(--container-padding); 2588 padding-right: var(--container-padding); 2589} 2590 2591.asure-embed .ae-section { 2592 padding: var(--section-padding-y) 0; 2593} 2594 2595.asure-embed .ae-section--gray { 2596 background-color: var(--slate-50); 2597} 2598 2599.asure-embed .ae-section-title { 2600 font-size: clamp(30px, 4vw, 52px); 2601 line-height: 1.14; 2602 font-weight: 700; 2603 letter-spacing: -.04em; 2604 margin-bottom: 0; 2605 text-wrap: balance; 2606} 2607 2608/* Section Header (for centered intros) */ 2609.asure-embed .ae-section-header { 2610 text-align: center; 2611 max-width: none; 2612 margin: 0 auto 48px; 2613} 2614 2615.asure-embed .ae-section-intro { 2616 font-size: 18px; 2617 line-height: 1.72; 2618 color: var(--slate-600); 2619 margin-top: 1rem; 2620 text-wrap: balance; 2621} 2622 2623/* Split Layout */ 2624.asure-embed .ae-split { 2625 display: grid; 2626 grid-template-columns: 1fr; 2627 gap: clamp(32px, 5vw, 64px); 2628 align-items: center; 2629} 2630 2631@media (min-width: 768px) { 2632 .asure-embed .ae-split { 2633 grid-template-columns: 1fr 1fr; 2634 } 2635} 2636 2637.asure-embed .ae-split__content { 2638 max-width: none; 2639} 2640 2641.asure-embed .ae-split__body { 2642 margin-top: 1rem; 2643} 2644 2645/* ========================================= 2646 HERO SECTION 2647 ========================================= */ 2648.asure-embed .ae-hero { 2649 padding: clamp(50px, 8vw, 80px) 0; 2650 background: linear-gradient(180deg, #EDF2F7 0%, var(--slate-50) 100%); 2651 border-bottom: 1px solid var(--slate-200); 2652} 2653 2654.asure-embed .ae-hero__grid { 2655 display: grid; 2656 grid-template-columns: 1fr 1fr; 2657 gap: clamp(32px, 4vw, 60px); 2658 align-items: center; 2659} 2660 2661@media (max-width: 900px) { 2662 .asure-embed .ae-hero__grid { 2663 grid-template-columns: 1fr; 2664 gap: 40px; 2665 align-items: stretch; 2666 } 2667} 2668 2669.asure-embed .ae-hero__content { 2670 padding-top: 24px; 2671} 2672 2673@media (max-width: 900px) { 2674 .asure-embed .ae-hero__content { 2675 padding-top: 0; 2676 } 2677} 2678 2679.asure-embed .ae-hero__title { 2680 font-size: clamp(42px, 6vw, 72px); 2681 line-height: 1.15; 2682 font-weight: 700; 2683 letter-spacing: -.045em; 2684 margin-bottom: 1rem; 2685 text-wrap: balance; 2686} 2687 2688.asure-embed .ae-hero__subtitle { 2689 font-size: 1.15rem; 2690 line-height: 1.78; 2691 color: var(--slate-600); 2692 margin-bottom: 1.75rem; 2693 text-wrap: balance; 2694} 2695 2696.asure-embed .ae-hero__ctas { 2697 display: flex; 2698 flex-wrap: wrap; 2699 gap: 1rem; 2700} 2701 2702.asure-embed .ae-hero__ctas .ae-btn { 2703 padding: 14px 24px; 2704 font-size: 14px; 2705} 2706 2707.asure-embed .ae-hero__micro { 2708 font-size: 14px; 2709 line-height: 1.55; 2710 color: var(--slate-500); 2711 margin-top: 1.25rem; 2712} 2713 2714/* ========================================= 2715 HERO SIDEBAR (signal pills + stats grid) 2716 ========================================= */ 2717.asure-embed .ae-hero__sidebar { 2718 display: flex; 2719 flex-direction: column; 2720 gap: 24px; 2721} 2722 2723.asure-embed .ae-signal-pills { 2724 display: flex; 2725 flex-wrap: wrap; 2726 gap: 10px; 2727} 2728 2729.asure-embed .ae-signal-pill { 2730 display: inline-flex; 2731 align-items: center; 2732 gap: 8px; 2733 padding: 10px 16px; 2734 border-radius: 999px; 2735 font-size: 13px; 2736 font-weight: 600; 2737 color: var(--slate-700); 2738 background: #fff; 2739 border: 1px solid var(--slate-200); 2740 box-shadow: 0 2px 8px rgba(0,0,0,0.04); 2741 transition: transform var(--transition-base), box-shadow var(--transition-base); 2742} 2743 2744.asure-embed .ae-signal-pill:hover { 2745 transform: translateY(-1px); 2746 box-shadow: 0 4px 12px rgba(0,0,0,0.08); 2747} 2748 2749.asure-embed .ae-signal-pill::before { 2750 content: ""; 2751 width: 7px; 2752 height: 7px; 2753 border-radius: 50%; 2754 background: linear-gradient(135deg, var(--asure-support-blue), var(--asure-solution-blue)); 2755 box-shadow: 0 0 0 4px rgba(6,143,190,0.10); 2756} 2757 2758/* Stats Grid (About Us hero specific) */ 2759.asure-embed .ae-stats-grid { 2760 display: grid; 2761 grid-template-columns: 1fr; 2762 gap: 14px; 2763} 2764 2765.asure-embed .ae-stat-card { 2766 background: linear-gradient(145deg, #068FBE 15%, #0A80AF 35%, #0F71A1 54%, #213265 100%); 2767 border-radius: var(--radius-lg); 2768 padding: 22px 18px; 2769 text-align: center; 2770 box-shadow: 0 8px 25px rgba(6,143,190,0.25); 2771 transition: transform var(--transition-base), box-shadow var(--transition-base); 2772} 2773 2774.asure-embed .ae-stat-card:hover { 2775 transform: translateY(-2px); 2776 box-shadow: 0 12px 30px rgba(6,143,190,0.30); 2777} 2778 2779.asure-embed .ae-stat-card__number { 2780 display: block; 2781 font-size: clamp(28px, 3.5vw, 38px); 2782 font-weight: 700; 2783 color: #fff; 2784 letter-spacing: -0.02em; 2785 line-height: 1.1; 2786} 2787 2788.asure-embed .ae-stat-card__label { 2789 display: block; 2790 margin-top: 6px; 2791 font-size: 13px; 2792 font-weight: 500; 2793 color: rgba(255,255,255,0.80); 2794 line-height: 1.4; 2795} 2796 2797/* ========================================= 2798 BUTTONS 2799 ========================================= */ 2800.asure-embed .ae-btn { 2801 display: inline-flex; 2802 align-items: center; 2803 justify-content: center; 2804 gap: 8px; 2805 padding: 14px 28px; 2806 font-family: var(--font-body); 2807 font-size: 14px; 2808 font-weight: 700; 2809 letter-spacing: .01em; 2810 line-height: 1.4; 2811 text-align: center; 2812 text-decoration: none; 2813 border-radius: var(--radius-sm); 2814 border: none; 2815 cursor: pointer; 2816 transition: all var(--transition-fast); 2817} 2818 2819.asure-embed .ae-btn svg { 2820 width: 16px; 2821 height: 16px; 2822 flex: 0 0 auto; 2823} 2824 2825.asure-embed .ae-btn--primary { 2826 background: linear-gradient(145deg, #068FBE 15%, #0A80AF 35%, #0F71A1 54%, #213265 100%); 2827 color: #fff; 2828 box-shadow: 0 4px 15px rgba(6,143,190,0.3); 2829} 2830 2831.asure-embed .ae-btn--primary:hover { 2832 box-shadow: 0 8px 25px rgba(6,143,190,0.4); 2833 transform: translateY(-2px); 2834 color: #fff; 2835} 2836 2837.asure-embed .ae-btn--secondary { 2838 background: #fff; 2839 color: var(--slate-700); 2840 box-shadow: 0 0 0 1px var(--slate-200); 2841} 2842 2843.asure-embed .ae-btn--secondary:hover {
2844 color: var(--asure-solution-blue); 2845 box-shadow: 0 0 0 1px var(--asure-solution-blue); 2846} 2847 2848.asure-embed .ae-btn--primary-light { 2849 background: linear-gradient(145deg, #068FBE 15%, #0A80AF 35%, #0F71A1 54%, #213265 100%); 2850 color: #fff; 2851 box-shadow: 0 4px 15px rgba(6,143,190,0.3); 2852} 2853 2854.asure-embed .ae-btn--primary-light:hover { 2855 box-shadow: 0 8px 25px rgba(6,143,190,0.4); 2856 transform: translateY(-2px); 2857 color: #fff; 2858} 2859 2860.asure-embed .ae-btn--white { 2861 background: rgba(255,255,255,0.1); 2862 color: #fff; 2863 box-shadow: 0 0 0 1px rgba(255,255,255,0.25); 2864} 2865 2866.asure-embed .ae-btn--white:hover { 2867 background: rgba(255,255,255,0.15); 2868 box-shadow: 0 0 0 1px rgba(255,255,255,0.4); 2869} 2870 2871/* Focus States */ 2872.asure-embed .ae-btn:focus-visible { 2873 outline: 2px solid var(--asure-solution-blue); 2874 outline-offset: 2px; 2875} 2876 2877/* ========================================= 2878 CARD GRID 2879 ========================================= */ 2880.asure-embed .ae-card-grid { 2881 display: grid; 2882 gap: 24px; 2883} 2884 2885.asure-embed .ae-card-grid--3 { 2886 grid-template-columns: repeat(3, 1fr); 2887} 2888 2889.asure-embed .ae-card-grid--4 { 2890 grid-template-columns: repeat(4, 1fr); 2891} 2892 2893.asure-embed .ae-card-grid--5 { 2894 grid-template-columns: repeat(5, 1fr); 2895} 2896 2897.asure-embed .ae-card-grid--leader { 2898 grid-template-columns: repeat(2, 1fr); 2899} 2900 2901.asure-embed .ae-card-grid--leader > .ae-leader-card:first-child { 2902 grid-column: 1 / -1; 2903} 2904 2905@media (max-width: 1100px) { 2906 .asure-embed .ae-card-grid--5 { 2907 grid-template-columns: repeat(3, 1fr); 2908 } 2909} 2910 2911@media (max-width: 900px) { 2912 .asure-embed .ae-card-grid--3 { 2913 grid-template-columns: 1fr; 2914 } 2915 .asure-embed .ae-card-grid--4 { 2916 grid-template-columns: repeat(2, 1fr); 2917 } 2918 .asure-embed .ae-card-grid--5 { 2919 grid-template-columns: repeat(2, 1fr); 2920 } 2921 .asure-embed .ae-card-grid--leader { 2922 grid-template-columns: repeat(2, 1fr); 2923 } 2924} 2925 2926@media (max-width: 500px) { 2927 .asure-embed .ae-card-grid--4, 2928 .asure-embed .ae-card-grid--5, 2929 .asure-embed .ae-card-grid--leader { 2930 grid-template-columns: 1fr; 2931 } 2932} 2933 2934/* ========================================= 2935 INSIGHT CARDS (Vision / Mission) 2936 ========================================= */ 2937.asure-embed .ae-insight-stack { 2938 display: grid; 2939 gap: 16px; 2940} 2941 2942.asure-embed .ae-insight-card { 2943 background: #fff; 2944 border: 1px solid var(--slate-200); 2945 border-radius: var(--radius-lg); 2946 padding: 24px; 2947 box-shadow: 0 4px 12px rgba(0,0,0,0.04); 2948 transition: transform var(--transition-base), box-shadow var(--transition-base); 2949} 2950 2951.asure-embed .ae-insight-card:hover { 2952 transform: translateY(-2px); 2953 box-shadow: 0 8px 25px rgba(0,0,0,0.08); 2954} 2955 2956.asure-embed .ae-insight-card__label { 2957 display: inline-block; 2958 font-size: 12px; 2959 font-weight: 700; 2960 letter-spacing: .10em; 2961 text-transform: uppercase; 2962 color: var(--asure-solution-blue); 2963 margin-bottom: 10px; 2964} 2965 2966.asure-embed .ae-insight-card__text { 2967 font-size: 16px; 2968 line-height: 1.65; 2969 color: var(--slate-700); 2970 margin: 0; 2971} 2972 2973/* ========================================= 2974 MISSION CARDS (simple, non-flip) 2975 ========================================= */ 2976.asure-embed .ae-mission-card { 2977 background: #fff; 2978 border: 1px solid var(--slate-200); 2979 border-radius: var(--radius-lg); 2980 padding: 28px 24px; 2981 box-shadow: 0 4px 12px rgba(0,0,0,0.04); 2982 display: flex; 2983 flex-direction: column; 2984 gap: 14px; 2985 text-align: center; 2986 align-items: center; 2987 transition: transform var(--transition-base), box-shadow var(--transition-base); 2988} 2989 2990.asure-embed .ae-mission-card:hover { 2991 transform: translateY(-3px); 2992 box-shadow: 0 12px 30px rgba(0,0,0,0.08); 2993} 2994 2995.asure-embed .ae-mission-card__icon { 2996 width: 52px; 2997 height: 52px; 2998 display: grid; 2999 place-items: center; 3000 border-radius: 50%; 3001 background: linear-gradient(135deg, rgba(6,143,190,0.10), rgba(33,50,101,0.08)); 3002 color: var(--asure-solution-blue); 3003} 3004 3005.asure-embed .ae-mission-card__icon svg { 3006 width: 24px; 3007 height: 24px; 3008} 3009 3010.asure-embed .ae-mission-card h3 { 3011 font-size: 18px; 3012 line-height: 1.2; 3013} 3014 3015.asure-embed .ae-mission-card p { 3016 color: var(--slate-600); 3017 font-size: 15px; 3018 line-height: 1.65; 3019 margin: 0; 3020} 3021 3022/* ========================================= 3023 BLOCKQUOTE 3024 ========================================= */ 3025.asure-embed .ae-quote { 3026 margin: 48px auto 0; 3027 max-width: 680px; 3028 text-align: center; 3029 padding: 32px 24px; 3030 border-left: none; 3031 border-top: 2px solid var(--asure-solution-blue); 3032 border-radius: 0; 3033} 3034 3035.asure-embed .ae-quote p { 3036 font-size: clamp(18px, 2.2vw, 22px); 3037 line-height: 1.65; 3038 font-weight: 500; 3039 color: var(--slate-800); 3040 font-style: italic; 3041 margin-bottom: 1rem; 3042} 3043 3044.asure-embed .ae-quote cite { 3045 font-style: normal; 3046 font-size: 14px; 3047 color: var(--slate-500); 3048 display: block; 3049} 3050 3051.asure-embed .ae-quote cite strong { 3052 color: var(--slate-700); 3053} 3054 3055/* ========================================= 3056 VALUE CARDS 3057 ========================================= */ 3058.asure-embed .ae-value-card { 3059 background: #fff; 3060 border: 1px solid var(--slate-200); 3061 border-radius: var(--radius-lg); 3062 padding: 28px 22px; 3063 box-shadow: 0 4px 12px rgba(0,0,0,0.04); 3064 display: flex; 3065 flex-direction: column; 3066 gap: 12px; 3067 transition: transform var(--transition-base), box-shadow var(--transition-base); 3068} 3069 3070.asure-embed .ae-value-card:hover { 3071 transform: translateY(-3px); 3072 box-shadow: 0 12px 30px rgba(0,0,0,0.08); 3073} 3074 3075.asure-embed .ae-value-card__icon { 3076 width: 48px; 3077 height: 48px; 3078 display: grid; 3079 place-items: center; 3080 border-radius: 50%; 3081 background: linear-gradient(135deg, rgba(6,143,190,0.10), rgba(33,50,101,0.08)); 3082 color: var(--asure-solution-blue); 3083} 3084 3085.asure-embed .ae-value-card__icon svg { 3086 width: 22px; 3087 height: 22px; 3088} 3089 3090.asure-embed .ae-value-card h3 { 3091 font-size: 17px; 3092 line-height: 1.2; 3093} 3094 3095.asure-embed .ae-value-card p { 3096 color: var(--slate-600); 3097 font-size: 14px; 3098 line-height: 1.65; 3099 margin: 0; 3100} 3101 3102.asure-embed .ae-value-card__meta { 3103 display: block; 3104 font-size: 12px; 3105 font-weight: 600; 3106 color: var(--asure-solution-blue); 3107 letter-spacing: 0.01em; 3108 margin-top: auto; 3109 padding-top: 8px; 3110 border-top: 1px solid var(--slate-100); 3111} 3112 3113/* Values list (2-col layout) */ 3114.asure-embed .ae-values-list { 3115 display: flex; 3116 flex-direction: column; 3117 gap: 0; 3118} 3119 3120.asure-embed .ae-values-item { 3121 display: flex; 3122 align-items: center; 3123 gap: 20px; 3124 padding: 22px 0; 3125 border-bottom: 1px solid var(--slate-200); 3126} 3127 3128.asure-embed .ae-values-item:first-child { 3129 padding-top: 0; 3130} 3131 3132.asure-embed .ae-values-item:last-child { 3133 border-bottom: none; 3134 padding-bottom: 0; 3135} 3136 3137.asure-embed .ae-values-item__icon { 3138 width: 48px; 3139 height: 48px; 3140 flex-shrink: 0; 3141 display: grid; 3142 place-items: center; 3143 border-radius: 12px; 3144 background: rgba(6,143,190,0.08); 3145 color: var(--asure-solution-blue); 3146} 3147 3148.asure-embed .ae-values-item__icon svg { 3149 width: 24px; 3150 height: 24px; 3151} 3152 3153.asure-embed .ae-values-item__text { 3154 display: flex; 3155 flex-direction: column; 3156 gap: 2px; 3157} 3158 3159.asure-embed .ae-values-item__text strong { 3160 font-size: 17px; 3161 font-weight: 700; 3162 color: var(--slate-800); 3163} 3164 3165.asure-embed .ae-values-item__text span { 3166 font-size: 15px; 3167 color: var(--slate-500); 3168 line-height: 1.5; 3169} 3170 3171/* ========================================= 3172 FLIP CARDS (Leader cards) 3173 ========================================= */ 3174/* ========================================= 3175 LEADER CARDS (2-col internal layout) 3176 ========================================= */ 3177.asure-embed .ae-leader-card { 3178 display: grid; 3179 grid-template-columns: 140px 1fr; 3180 gap: 24px; 3181 padding: 28px; 3182 background: #fff; 3183 border: 1px solid var(--slate-200); 3184 border-radius: var(--radius-lg); 3185 box-shadow: 0 4px 12px rgba(0,0,0,0.04); 3186 transition: box-shadow var(--transition-base); 3187} 3188 3189.asure-embed .ae-leader-card:hover { 3190 box-shadow: 0 8px 25px rgba(0,0,0,0.08); 3191} 3192 3193.asure-embed .ae-leader-left { 3194 display: flex; 3195 flex-direction: column; 3196 align-items: center; 3197 text-align: center; 3198 gap: 8px; 3199 padding-top: 4px; 3200} 3201 3202.asure-embed .ae-leader-avatar { 3203 width: 120px; 3204 height: 120px; 3205 border-radius: 50%; 3206 overflow: hidden; 3207 border: 3px solid var(--slate-200); 3208 box-shadow: 0 4px 15px rgba(0,0,0,0.08); 3209 flex: 0 0 auto; 3210} 3211 3212.asure-embed .ae-leader-avatar img { 3213 width: 100%; 3214 height: 100%; 3215 object-fit: cover; 3216 object-position: top center; 3217} 3218 3219.asure-embed .ae-leader-name { 3220 font-size: 14px; 3221 font-weight: 700; 3222 letter-spacing: 0.01em; 3223 color: var(--slate-800); 3224 margin: 0; 3225 line-height: 1.3; 3226} 3227 3228.asure-embed .ae-leader-role { 3229 font-size: 11px; 3230 font-weight: 600; 3231 color: var(--asure-solution-blue, #068FBE); 3232 line-height: 1.35; 3233 margin: 0; 3234} 3235 3236.asure-embed .ae-leader-right { 3237 display: flex; 3238 flex-direction: column; 3239 justify-content: flex-start; 3240 text-align: left; 3241} 3242 3243.asure-embed .ae-leader-bio { 3244 font-size: 13px; 3245 line-height: 1.6; 3246 color: var(--slate-600); 3247 margin: 0 0 10px; 3248 text-wrap: wrap; 3249} 3250 3251.asure-embed .ae-leader-experience { 3252 font-size: 12px; 3253 font-weight: 600; 3254 line-height: 1.5; 3255 color: var(--slate-400); 3256 margin: 0; 3257 padding-top: 10px; 3258 border-top: 1px solid var(--slate-100); 3259 text-wrap: wrap; 3260} 3261 3262@media (max-width: 500px) { 3263 .asure-embed .ae-leader-card { 3264 grid-template-columns: 1fr; 3265 text-align: center; 3266 } 3267 .asure-embed .ae-leader-left {
3268 align-items: center; 3269 } 3270} 3271 3272/* ========================================= 3273 CHIP ROW (CTA section) 3274 ========================================= */ 3275.asure-embed .ae-chip-row { 3276 display: flex; 3277 flex-wrap: wrap; 3278 gap: 10px; 3279 justify-content: center; 3280 margin-top: 1.5rem; 3281} 3282 3283.asure-embed .ae-chip { 3284 display: inline-flex; 3285 align-items: center; 3286 gap: 8px; 3287 padding: 12px 18px; 3288 border-radius: 999px; 3289 font-size: 14px; 3290 font-weight: 600; 3291 color: var(--slate-700); 3292 background: #fff; 3293 border: 1px solid var(--slate-200); 3294 box-shadow: 0 2px 8px rgba(0,0,0,0.04); 3295 transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base); 3296} 3297 3298.asure-embed .ae-chip:hover { 3299 transform: translateY(-1px); 3300 box-shadow: 0 4px 12px rgba(0,0,0,0.08); 3301 border-color: var(--asure-solution-blue); 3302} 3303 3304.asure-embed .ae-chip::before { 3305 content: ""; 3306 width: 7px; 3307 height: 7px; 3308 border-radius: 50%; 3309 background: linear-gradient(135deg, var(--asure-support-blue), var(--asure-solution-blue)); 3310 box-shadow: 0 0 0 4px rgba(6,143,190,0.10); 3311} 3312 3313.asure-embed .ae-chip--dark { 3314 background: rgba(255,255,255,0.08); 3315 color: rgba(255,255,255,0.90); 3316 border-color: rgba(255,255,255,0.15); 3317} 3318 3319.asure-embed .ae-chip--dark:hover { 3320 background: rgba(255,255,255,0.12); 3321 border-color: rgba(255,255,255,0.30); 3322} 3323 3324.asure-embed .ae-chip--dark::before { 3325 background: linear-gradient(135deg, var(--asure-support-blue), rgba(255,255,255,0.8)); 3326 box-shadow: 0 0 0 4px rgba(71,195,211,0.12); 3327} 3328 3329/* ========================================= 3330 CTA SECTION 3331 ========================================= */ 3332.asure-embed .ae-cta { 3333 padding: var(--section-padding-y) 0; 3334 background: linear-gradient(145deg, var(--slate-900) 0%, #162033 100%); 3335} 3336 3337.asure-embed .ae-cta__content { 3338 max-width: none; 3339 margin: 0 auto; 3340 text-align: center; 3341} 3342 3343.asure-embed .ae-eyebrow--light { 3344 color: var(--asure-support-blue); 3345} 3346 3347.asure-embed .ae-cta__title { 3348 font-size: clamp(30px, 4vw, 52px); 3349 line-height: 1.14; 3350 font-weight: 700; 3351 letter-spacing: -.04em; 3352 color: #fff; 3353 background: none; 3354 -webkit-text-fill-color: #fff; 3355 margin-top: 1rem; 3356 text-wrap: balance; 3357} 3358 3359.asure-embed .ae-cta__body { 3360 font-size: 18px; 3361 line-height: 1.72; 3362 color: rgba(255,255,255,0.72); 3363 margin-top: 1rem; 3364 max-width: 44rem; 3365 margin-left: auto; 3366 margin-right: auto; 3367 text-wrap: balance; 3368} 3369 3370.asure-embed .ae-cta__actions { 3371 display: flex; 3372 flex-wrap: wrap; 3373 gap: 1rem; 3374 justify-content: center; 3375 margin-top: 2rem; 3376} 3377 3378/* ========================================= 3379 ANIMATIONS (scroll reveal) 3380 ========================================= */ 3381.asure-embed .ae-reveal { 3382 opacity: 0; 3383 transform: translateY(20px); 3384 transition: opacity 0.6s ease, transform 0.6s ease; 3385} 3386 3387.asure-embed .ae-reveal.visible { 3388 opacity: 1; 3389 transform: none; 3390} 3391 3392/* Stagger children */ 3393.asure-embed .ae-reveal-stagger > * { 3394 opacity: 0; 3395 transform: translateY(16px); 3396 transition: opacity 0.5s ease, transform 0.5s ease; 3397} 3398 3399.asure-embed .ae-reveal-stagger.visible > *:nth-child(1) { transition-delay: 0.05s; } 3400.asure-embed .ae-reveal-stagger.visible > *:nth-child(2) { transition-delay: 0.1s; } 3401.asure-embed .ae-reveal-stagger.visible > *:nth-child(3) { transition-delay: 0.15s; } 3402.asure-embed .ae-reveal-stagger.visible > *:nth-child(4) { transition-delay: 0.2s; } 3403.asure-embed .ae-reveal-stagger.visible > *:nth-child(5) { transition-delay: 0.25s; } 3404.asure-embed .ae-reveal-stagger.visible > *:nth-child(6) { transition-delay: 0.3s; } 3405.asure-embed .ae-reveal-stagger.visible > *:nth-child(7) { transition-delay: 0.35s; } 3406 3407.asure-embed .ae-reveal-stagger.visible > * { 3408 opacity: 1; 3409 transform: none; 3410} 3411 3412/* ========================================= 3413 RESPONSIVE 3414 ========================================= */ 3415@media (max-width: 900px) { 3416 .asure-embed .ae-hero__grid { 3417 grid-template-columns: 1fr; 3418 } 3419 3420 .asure-embed .ae-split { 3421 grid-template-columns: 1fr; 3422 } 3423} 3424 3425@media (max-width: 768px) { 3426 .asure-embed .ae-section-header { 3427 margin-bottom: 32px; 3428 } 3429} 3430 3431@media (max-width: 600px) { 3432 .asure-embed .ae-hero__ctas { 3433 flex-direction: column; 3434 } 3435 3436 .asure-embed .ae-hero__ctas .ae-btn { 3437 width: 100%; 3438 } 3439 3440 .asure-embed .ae-cta__actions { 3441 flex-direction: column; 3442 align-items: center; 3443 } 3444 3445 .asure-embed .ae-cta__actions .ae-btn { 3446 width: 100%; 3447 } 3448 3449 .asure-embed .ae-stats-grid { 3450 grid-template-columns: 1fr 1fr; 3451 gap: 10px; 3452 } 3453} 3454 3455@media (max-width: 480px) { 3456 .asure-embed .ae-hero__title { 3457 font-size: clamp(2rem, 11vw, 2.7rem); 3458 } 3459 3460 .asure-embed .ae-section-title { 3461 font-size: clamp(1.55rem, 8vw, 2rem); 3462 } 3463} 3464 3465/* Reduced motion */ 3466@media (prefers-reduced-motion: reduce) { 3467 .asure-embed .ae-reveal, 3468 .asure-embed .ae-reveal-stagger > * { 3469 opacity: 1; 3470 transform: none; 3471 transition: none; 3472 } 3473 3474 .asure-embed .ae-signal-pill, 3475 .asure-embed .ae-stat-card, 3476 .asure-embed .ae-insight-card, 3477 .asure-embed .ae-mission-card,
3478 .asure-embed .ae-value-card, 3479 .asure-embed .ae-leader-card, 3480 .asure-embed .ae-chip { 3481 transition: none; 3482 } 3483} 3484 3485/* ========================================= 3486 SVG DEFAULTS 3487 ========================================= */ 3488.asure-embed img, 3489.asure-embed svg { 3490 display: block; 3491 max-width: 100%; 3492 height: auto; 3493} 3494 3495/* ========================================= 3496 OVERFLOW HARDENING 3497 ========================================= */ 3498.asure-embed .ae-hero__title, 3499.asure-embed .ae-section-title, 3500.asure-embed .ae-cta__title { 3501 overflow-wrap: break-word; 3502} 3503 3504.asure-embed .ae-hero__subtitle, 3505.asure-embed .ae-body, 3506.asure-embed .ae-lead, 3507.asure-embed .ae-section-intro, 3508.asure-embed .ae-cta__body { 3509 overflow-wrap: break-word; 3510} 3511 3512 3513/* ========================================= 3514 HUBSPOT MODAL 3515 ========================================= */ 3516html.hs-modal-open, 3517html.hs-modal-open body{overflow:hidden} 3518html.hs-modal-open .asure-embed, 3519html.hs-modal-open .asure-home, 3520html.hs-modal-open .page-frame, 3521html.hs-modal-open .premium-401k{transform:none !important} 3522 3523.hs-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px} 3524.hs-modal.is-open{display:flex} 3525.hs-modal svg{display:inline-block !important;max-width:none !important;height:auto} 3526.hs-modal__overlay{position:absolute;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(10px)} 3527.hs-modal__dialog{ 3528 position:relative;width:min(560px, calc(100% - 24px));max-height:min(92vh, 860px); 3529 overflow:auto;background:#fff;border-radius:24px; 3530 box-shadow:0 30px 90px rgba(0,0,0,.35);border:1px solid rgba(226,232,240,.9); 3531 z-index:1;padding:22px 22px 18px;animation:modalIn .18s ease-out; 3532} 3533@keyframes modalIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}} 3534 3535.hs-modal__close{ 3536 position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:10px; 3537 border:1px solid rgba(18,39,70,.10);background:#fff; 3538 display:inline-flex;align-items:center;justify-content:center;cursor:pointer; 3539 transition:box-shadow .15s ease, transform .15s ease; 3540} 3541.hs-modal__close svg{width:18px;height:18px;color:#0f223f} 3542.hs-modal__close:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.12)} 3543.hs-modal__close:focus-visible{outline:2px solid rgba(71,195,211,.75);outline-offset:2px} 3544 3545.hs-modal__title{margin:0 0 6px;font-size:20px;line-height:1.2;font-weight:700;color:#213265} 3546.hs-modal__subtitle{margin:0;font-size:14px;line-height:1.6;color:#55657d} 3547 3548.hs-modal__body{padding-top:6px} 3549.hs-modal__fineprint{margin:10px 0 0;font-size:10px !important;line-height:1.4;color:#94a3b8;letter-spacing:.01em} 3550 3551.hs-form{font-family:inherit;color:#0f223f} 3552.hs-form fieldset{max-width:none} 3553.hs-form .hs-form-field{margin:0 0 10px;border:none;outline:none;background:none;padding:0} 3554.hs-form .input{border:none;outline:none;background:none;padding:0} 3555.hs-form label{display:block;margin:0 0 6px;font-size:13px;font-weight:600;color:#213265} 3556.hs-form .hs-input{ 3557 width:100%;padding:6px 10px;font-size:13px;font-family:inherit;height:34px; 3558 border:1.5px solid rgba(18,39,70,.14);border-radius:10px; 3559 background:#fff;color:#0f223f;outline:none; 3560 transition:border-color .2s ease, box-shadow .2s ease; 3561} 3562.hs-form .hs-input:focus{border-color:#068FBE;box-shadow:0 0 0 3px rgba(6,143,190,.12)} 3563.hs-form select.hs-input{appearance:auto} 3564.hs-form .hs-error-msgs{list-style:none;padding:0;margin:4px 0 0} 3565.hs-form .hs-error-msgs label{font-size:12px;color:#b91c1c;font-weight:500} 3566.hs-form .hs-submit{margin-top:12px} 3567.hs-form .hs-button{ 3568 width:100%;padding:14px;font-size:15px;font-weight:700;font-family:inherit; 3569 background:linear-gradient(145deg, #068FBE 15%, #0A80AF 35%, #0F71A1 54%, #213265 100%);color:#fff; 3570 border:none;border-radius:999px;cursor:pointer;text-align:center; 3571 transition:background .2s ease, transform .2s ease, box-shadow .2s ease; 3572} 3573.hs-form .hs-button:hover{background:linear-gradient(145deg, #0A9FCC 15%, #0B8AB8 35%, #1079A9 54%, #283A6E 100%);transform:translateY(-2px);box-shadow:0 16px 30px rgba(10,180,200,.22)} 3574.hs-form .hs-button:disabled{opacity:.6;cursor:not-allowed;transform:none} 3575.hs-form .submitted-message{padding:24px;text-align:center;font-size:16px;font-weight:600;color:#213265} 3576 3577.hs-row{display:grid;grid-template-columns:1fr 1fr;gap:12px} 3578.hs-req{color:#b91c1c} 3579.hs-form__notice{ 3580 border-radius:12px;padding:14px;border:1px solid rgba(253,190,93,.55); 3581 background:rgba(253,190,93,.12);color:#0f223f;font-size:13px;line-height:1.6; 3582} 3583.hs-form__notice code{ 3584 font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; 3585 font-size:12px;background:rgba(255,255,255,.7);padding:1px 6px; 3586 border-radius:6px;border:1px solid rgba(226,232,240,.9); 3587} 3588.hs-form__notice--error{display:none;border-color:rgba(233,42,50,.4);background:rgba(233,42,50,.08);color:#b91c1c} 3589.hs-form__notice--error:not([hidden]){display:block} 3590 3591/* ââ Two-column modal layout ââ */ 3592.hs-modal__dialog--wide{width:min(920px, calc(100vw - 48px));padding:0;overflow:hidden} 3593.hs-modal__columns{display:grid;grid-template-columns:1fr 1fr} 3594.hs-modal__columns--reversed{grid-template-columns:1fr 1fr} 3595.hs-modal__content-col{ 3596 display:flex;flex-direction:column;justify-content:center; 3597 padding:44px 40px;background:#f8fafc; 3598 border-right:1px solid rgba(18,39,70,.06); 3599} 3600.hs-modal__columns--reversed .hs-modal__content-col{border-right:none;border-left:1px solid rgba(18,39,70,.06)} 3601 3602/* Eyebrow label */ 3603.hs-modal__eyebrow{ 3604 display:inline-block;font-size:10px;font-weight:700;letter-spacing:.14em; 3605 text-transform:uppercase;color:#068FBE;margin-bottom:14px; 3606} 3607 3608/* Title + subtitle in content col */ 3609.hs-modal__content-col .hs-modal__title{ 3610 font-size:22px !important;line-height:1.25;margin-bottom:10px; 3611 background:linear-gradient(135deg, #47C3D3 0%, #068FBE 50%, #213265 100%) !important; 3612 -webkit-background-clip:text !important;background-clip:text !important; 3613 -webkit-text-fill-color:transparent !important; 3614} 3615.hs-modal__content-col .hs-modal__subtitle{ 3616 margin-bottom:0;font-size:13px !important;line-height:1.6;color:#55657d; 3617} 3618 3619/* Divider */ 3620.hs-modal__divider{ 3621 width:100%;height:1px;background:rgba(18,39,70,.08);margin:20px 0; 3622} 3623 3624/* Checklist - clean checkmarks */ 3625.hs-modal__checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px} 3626.hs-modal__checklist li{ 3627 position:relative;padding-left:22px;font-size:13px;line-height:1.5;color:#334155; 3628} 3629.hs-modal__checklist li::before{ 3630 content:'';position:absolute;
3630left:0;top:4px;width:14px;height:14px; 3631 border-radius:50%;background:#068FBE; 3632 background-image:url("data:image/svg+xml,%3Csvg xmlns='https://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E"); 3633 background-size:9px 9px;background-position:center;background-repeat:no-repeat; 3634} 3635 3636/* Trust line */ 3637.hs-modal__trust-line{ 3638 display:flex;align-items:center;gap:8px; 3639 margin-top:20px;padding-top:16px;border-top:1px solid rgba(18,39,70,.08); 3640 font-size:12px;font-weight:500;color:#64748b;font-style:italic; 3641} 3642.hs-modal__trust-line svg{width:16px;height:16px;flex-shrink:0;stroke:#068FBE} 3643.hs-modal__form-col{padding:28px 28px 22px;display:flex;flex-direction:column;justify-content:center} 3644 3645/* ââ Dark modal variant (contact) ââ */ 3646.hs-modal__dialog--dark{background:#0f172a;border-color:rgba(255,255,255,.08)} 3647.hs-modal__dialog--dark .hs-modal__close{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.10)} 3648.hs-modal__dialog--dark .hs-modal__close svg{color:#94a3b8} 3649.hs-modal__dialog--dark .hs-modal__close:hover{background:rgba(255,255,255,.10);box-shadow:0 8px 20px rgba(0,0,0,.3)} 3650.hs-modal__dialog--dark .hs-modal__content-col{ 3651 background:#1e293b; 3652 border-left-color:rgba(255,255,255,.06);border-right:none; 3653} 3654.hs-modal__dialog--dark .hs-modal__eyebrow{color:#47C3D3} 3655.hs-modal__dialog--dark .hs-modal__content-col .hs-modal__title{background:linear-gradient(135deg, #47C3D3 0%, #7dd3e8 50%, #e2e8f0 100%) !important;-webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important} 3656.hs-modal__dialog--dark .hs-modal__content-col .hs-modal__subtitle{color:#94a3b8} 3657.hs-modal__dialog--dark .hs-modal__divider{background:rgba(255,255,255,.08)} 3658.hs-modal__dialog--dark .hs-modal__checklist li{color:#cbd5e1} 3659.hs-modal__dialog--dark .hs-modal__checklist li::before{background:#47C3D3} 3660.hs-modal__dialog--dark .hs-modal__trust-line{border-top-color:rgba(255,255,255,.08);color:#64748b} 3661.hs-modal__dialog--dark .hs-modal__trust-line svg{stroke:#47C3D3} 3662.hs-modal__dialog--dark .hs-modal__form-col{background:#fff;border-radius:20px 0 0 20px} 3663.hs-modal__dialog--dark .hs-modal__fineprint{color:#94a3b8} 3664.hs-modal__dialog--dark .hs-modal__fineprint a{color:#068FBE} 3665 3666/* ââ 2-col form rows ââ */ 3667.hs-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px} 3668 3669@media(max-width:680px){ 3670 .hs-modal__dialog--wide{width:min(560px, calc(100% - 24px))} 3671 .hs-modal__columns,.hs-modal__columns--reversed{grid-template-columns:1fr} 3672 .hs-modal__content-col{padding:24px 22px 20px;border-right:none !important;border-left:none !important;border-bottom:1px solid rgba(18,39,70,.06)} 3673 .hs-modal__columns--reversed .hs-modal__content-col{order:1;border-bottom:none;border-top:1px solid rgba(18,39,70,.06)} 3674 .hs-modal__columns--reversed .hs-modal__form-col{order:0} 3675 .hs-modal__form-col{padding:22px 22px 18px} 3676 .hs-modal__dialog--dark .hs-modal__form-col{border-radius:20px 20px 0 0} 3677 .hs-modal__dialog--dark .hs-modal__content-col{border-bottom:none;border-top-color:rgba(255,255,255,.06)} 3678 .hs-form-row{grid-template-columns:1fr} 3679} 3680 3681/* Remove gap between last section and footer */ 3682.asure-embed .ae-section:last-of-type { padding-bottom: 0; } 3683</style>
3683<script>/* ========================================================================== 3684 Asure â Page interactions + HubSpot modal forms 3685 Bricks Builder code element. Vanilla JS, no dependencies. 3686 3687 PART 1 Page interactions (reveal on scroll, smooth hash scrolling) 3688 PART 2 HubSpot modal forms 3689 3690 PART 2 is byte-identical to the copy in asure-home.js apart from the 3691 BASE_CONFIG block. Keep it that way, or better, lift it into one 3692 site-wide snippet and set window.AE_HUBSPOT_FORMS per template. Two 3693 diverging copies of this logic is how the forms broke in the first place. 3694 3695 The form reads its field contract from HubSpot at runtime rather than 3696 hardcoding it, so a field rename or a newly required field in HubSpot 3697 does not silently break submissions. The only hardcoded contract left is 3698 FALLBACK_SCHEMA, used solely if the definition request fails. 3699 ========================================================================== */ 3700 3701 3702/* ========================================================================== 3703 PART 1 â PAGE INTERACTIONS 3704 ========================================================================== */ 3705 3706(function initPageInteractions() { 3707 'use strict'; 3708 3709 function ready(fn) { 3710 if (document.readyState === 'loading') { 3711 document.addEventListener('DOMContentLoaded', fn); 3712 } else { 3713 fn(); 3714 } 3715 } 3716 3717 ready(function () { 3718 var reduceMotion = 3719 window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; 3720 3721 /* ---- Reveal on scroll ---- */ 3722 var reveals = document.querySelectorAll('.ae-reveal, .ae-reveal-stagger'); 3723 3724 if (!reveals.length) { 3725 // nothing to reveal 3726 } else if (reduceMotion || !('IntersectionObserver' in window)) { 3727 reveals.forEach(function (el) { el.classList.add('visible'); }); 3728 } else { 3729 var revealObserver = new IntersectionObserver(function (entries) { 3730 entries.forEach(function (entry) { 3731 if (!entry.isIntersecting) return; 3732 entry.target.classList.add('visible'); 3733 revealObserver.unobserve(entry.target); 3734 }); 3735 }, { threshold: 0.08 }); 3736 3737 reveals.forEach(function (el) { revealObserver.observe(el); }); 3738 } 3739 3740 /* ---- Smooth scrolling for in-page links ---- 3741 Delegated so links added after load still work, and guarded so a 3742 malformed fragment cannot throw inside querySelector. */ 3743 document.addEventListener('click', function (event) { 3744 var link = event.target.closest && event.target.closest('a[href^="#"]'); 3745 if (!link) return; 3746 3747 var hash = link.getAttribute('href'); 3748 if (!hash || hash === '#') return; 3749 3750 var target = null; 3751 try { 3752 target = document.querySelector(hash); 3753 } catch (err) { 3754 return; // not a usable selector, let the browser handle it 3755 } 3756 if (!target) return; 3757 3758 event.preventDefault(); 3759 target.scrollIntoView({ 3760 behavior: reduceMotion ? 'auto' : 'smooth', 3761 block: 'start' 3762 }); 3763 3764 if (target.hasAttribute('tabindex')) { 3765 window.setTimeout(function () { 3766 target.focus({ preventScroll: true }); 3767 }, reduceMotion ? 0 : 450); 3768 } 3769 }); 3770 }); 3771})(); 3772 3773 3774/* ========================================================================== 3775 PART 2 â HUBSPOT MODAL FORMS 3776 3777 Beyond the modal flow this engine also renders inline mounts (a form entry 3778 carrying inlineTargetId), exposes window.AE_renderHubSpotForm so other 3779 scripts on the page can render into their own container, and supports 3780 per-form beforeRender and onSuccess hooks. Keep this block byte-identical 3781 across every page; only BASE_CONFIG and FALLBACK_SCHEMA may differ. 3782 ========================================================================== */ 3783 3784(function initHubSpotFormModals() { 3785 'use strict'; 3786 3787 /* ------------------------------------------------------------------------ 3788 CONFIGURATION 3789 The only block that differs between pages. Override any of it by 3790 defining window.AE_HUBSPOT_FORMS before this script runs. Partial 3791 overrides are merged, not replaced. 3792 3793 Modal element IDs are derived from each key by convention: 3794 pricing -> #aePricingModal / #aePricingFormTarget 3795 Set modalId and targetId explicitly if a modal breaks that convention. 3796 ---------------------------------------------------------------------- */ 3797 3798 var BASE_CONFIG = { 3799 region: 'na1', 3800 portalId: '3221563', 3801 supportPhone: '1-888-323-8835', 3802 3803 forms: { 3804 pricing: { 3805 formId: '913e523f-637d-4203-b54d-48cf01ea665b', 3806 submitLabel: 'Get My Quote', 3807 successMessage: 3808 '<p style="font-weight:600;font-size:16px;margin:0 0 6px;">Thanks, your pricing request is in.</p>' + 3809 '<p style="font-size:14px;margin:0;color:#55657d;">An Asure specialist will send your custom pricing within one business day.</p>', 3810 // Written into the hidden lead_source_details_2 field so the two modals are 3811 // distinguishable in reporting. Values must match that 3812 // property's option list exactly. 3813 hiddenValues: { lead_source_details_2: 'Pricing Request' } 3814 }, 3815 3816 contact: { 3817 formId: '913e523f-637d-4203-b54d-48cf01ea665b', 3818 submitLabel: 'Schedule a Call', 3819 successMessage: 3820 '<p style="font-weight:600;font-size:16px;margin:0 0 6px;">Thanks, we have your request.</p>' + 3821 '<p style="font-size:14px;margin:0;color:#55657d;">A specialist will reach out within one business day to set up your call.</p>', 3822 hiddenValues: { lead_source_details_2: 'Contact Request' } 3823 } 3824 } 3825 }; 3826 3827 /* ------------------------------------------------------------------------ 3828 PRESENTATION OVERRIDES 3829 HubSpot owns the contract: which fields exist, which are required, and 3830 what values are valid. These only change how a field is displayed. Any 3831 value set here must still satisfy the underlying HubSpot property. 3832 Entries for fields that are not on the form are simply ignored. 3833 ---------------------------------------------------------------------- */ 3834 3835 var FIELD_UI = { 3836 firstname: { label: 'First Name' }, 3837 lastname: { label: 'Last Name' }, 3838 company: { label: 'Company' }, 3839 email: { label: 'Work Email', control: 'email' }, 3840 phone: { label: 'Phone', control: 'tel' }, 3841 3842 // HubSpot labels this "Company Location". "State" is clearer next to a 3843 // dropdown of US states. 3844 state: { label: 'State' }, 3845 3846 company_zip_code: { 3847 label: 'Company ZIP', 3848 control: 'text', 3849 inputMode: 'numeric', 3850 maxLength: 5, 3851 // company_zip_code is a NUMBER property in HubSpot, which cannot hold a 3852 // leading zero. It should be changed to a text property. 3853 transform: function (value) { return value.replace(/\D/g, ''); } 3854 }, 3855 3856 of_employees: { 3857 // of_employees is a NUMBER property. The visitor picks a range, we 3858 // submit a representative integer. Confirm these with sales before 3859 // shipping, they land in HubSpot as the real employee count. 3860 label: 'Employees', 3861 control: 'select', 3862 options: [ 3863 { value: '', label: 'Select\u2026' }, 3864 { value: '5', label: '1\u201310' }, 3865 { value: '30', label: '11\u201350' }, 3866 { value: '125', label: '51\u2013200' }, 3867 { value: '350', label: '201\u2013500' }, 3868 { value: '750', label: '500+' } 3869 ] 3870 } 3871 }; 3872 3873 /* Fields rendered full width rather than paired two per row. */ 3874 var FULL_WIDTH_TYPES = ['textarea', 'radio', 'checkbox', 'booleancheckbox']; 3875 3876 /* ------------------------------------------------------------------------ 3877 FALLBACK SCHEMA 3878 Used only when the HubSpot definition request fails. This is the one 3879 hardcoded contract left in the file, so it can drift. Verified against 3880 form 913e523f on 2026-08-28. 3881 ---------------------------------------------------------------------- */ 3882 3883 var US_STATES = [ 3884 'Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 3885 'Connecticut', 'Delaware', 'District of Columbia', 'Florida', 'Georgia', 3886 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 3887 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minne
3887sota', 3888 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 3889 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 3890 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 3891 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 3892 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming' 3893 ]; 3894 3895 var FALLBACK_SCHEMA = [ 3896 { name: 'firstname', label: 'First Name', type: 'text', required: true }, 3897 { name: 'lastname', label: 'Last Name', type: 'text', required: true }, 3898 { name: 'company', label: 'Company', type: 'text', required: true }, 3899 { 3900 name: 'state', label: 'State', type: 'select', required: true, 3901 options: [{ value: '', label: 'Select\u2026' }].concat( 3902 US_STATES.map(function (s) { return { value: s, label: s }; }) 3903 ) 3904 }, 3905 { name: 'email', label: 'Work Email', type: 'text', required: true }, 3906 { name: 'phone', label: 'Phone', type: 'phonenumber', required: true, minLength: 7, maxLength: 20 }, 3907 { name: 'of_employees', label: 'Employees', type: 'number', required: true } 3908 ]; 3909 3910 /* ------------------------------------------------------------------------ 3911 SETUP 3912 ---------------------------------------------------------------------- */ 3913 3914 var CONFIG = mergeConfig(BASE_CONFIG, window.AE_HUBSPOT_FORMS || {}); 3915 var DEBUG = window.AE_HUBSPOT_FORMS_DEBUG === true || 3916 /[?&]hsdebug=1/.test(window.location.search); 3917 3918 var DEFINITION_HOST = 'https://forms.hsforms.com'; 3919 var SUBMIT_HOST = 'https://api.hsforms.com'; 3920 var DEFINITION_TIMEOUT_MS = 8000; 3921 3922 var definitionCache = {}; 3923 var activeModal = null; 3924 var lastFocusedEl = null; 3925 3926 /* Other scripts on the page render a HubSpot form into their own container 3927 through this global - the webinars page uses it for its video gate. It 3928 takes the same shape the old hand-rolled renderer did, inlineMessage and 3929 onSuccess included. Assigned before the guard below so it still exists on 3930 a page that has no triggers and no inline mounts of its own. */ 3931 window.AE_renderHubSpotForm = function (target, options) { 3932 var opts = options || {}; 3933 mountForm(target, { 3934 key: opts.key || '', 3935 region: opts.region || CONFIG.region, 3936 portalId: opts.portalId || CONFIG.portalId, 3937 formId: opts.formId || '', 3938 submitLabel: opts.submitLabel || 'Submit', 3939 successMessage: opts.successMessage || opts.inlineMessage || '', 3940 hiddenValues: opts.hiddenValues || {}, 3941 guideUrl: opts.guideUrl || '', 3942 redirectOnSuccess: opts.redirectOnSuccess === true, 3943 beforeRender: null, 3944 trigger: null, 3945 onSuccess: typeof opts.onSuccess === 'function' ? opts.onSuccess : null 3946 }, false); 3947 }; 3948 3949 var triggers = document.querySelectorAll('[data-hs-form]'); 3950 var inlineFormKeys = inlineKeys(CONFIG); 3951 if (!triggers.length && !inlineFormKeys.length) return; 3952 3953 var MODALS = buildModalMap(CONFIG); 3954 var FALLBACK_KEY = MODALS.contact ? 'contact' : Object.keys(MODALS)[0]; 3955 3956 /* ------------------------------------------------------------------------ 3957 WIRING 3958 ---------------------------------------------------------------------- */ 3959 3960 triggers.forEach(function (trigger) { 3961 trigger.addEventListener('click', function (event) { 3962 var cfg = resolveConfig(trigger); 3963 var entry = MODALS[cfg.key] || MODALS[FALLBACK_KEY]; 3964 if (!entry || !entry.modal) return; 3965 event.preventDefault(); 3966 openModal(entry.modal, entry.target, cfg); 3967 }); 3968 }); 3969 3970 Object.keys(MODALS).forEach(function (key) { 3971 var modal = MODALS[key].modal; 3972 if (!modal) return; 3973 modal.querySelectorAll('[data-hs-modal-close]').forEach(function (el) { 3974 el.addEventListener('click', closeModal); 3975 }); 3976 }); 3977 3978 document.addEventListener('keydown', function (event) { 3979 if (!activeModal) return; 3980 if (event.key === 'Escape') { 3981 event.preventDefault(); 3982 closeModal(); 3983 return; 3984 } 3985 if (event.key === 'Tab') trapFocus(event); 3986 }); 3987 3988 /* Pages that put a form straight on the page instead of behind a modal 3989 declare inlineTargetId on the form entry. Wait for the DOM so the 3990 container exists however this snippet is injected. */ 3991 if (inlineFormKeys.length) whenReady(mountInlineForms); 3992 3993 /* ------------------------------------------------------------------------ 3994 MODAL 3995 ---------------------------------------------------------------------- */ 3996 3997 function buildModalMap(config) { 3998 var map = {};
3999 // The events page keeps its element-id map in a second global instead of 4000 // in the form config, so honour that where it is defined. 4001 var idOverrides = window.AE_HUBSPOT_MODALS || {}; 4002 4003 Object.keys(config.forms).forEach(function (key) { 4004 var entry = config.forms[key]; 4005 if (entry.inlineTargetId && !entry.modalId) return; // inline-only entry 4006 var override = idOverrides[key] || {}; 4007 var capitalised = key.charAt(0).toUpperCase() + key.slice(1); 4008 var modalId = override.modalId || entry.modalId || ('ae' + capitalised + 'Modal'); 4009 var targetId = override.targetId || entry.targetId || ('ae' + capitalised + 'FormTarget'); 4010 4011 var modal = document.getElementById(modalId); 4012 if (!modal) return; 4013 4014 map[key] = { modal: modal, target: document.getElementById(targetId) }; 4015 }); 4016 4017 return map; 4018 } 4019 4020 /* Build a render config for one form key. trigger is null for an inline 4021 mount. successMessage also accepts the older inlineMessage spelling, which 4022 is what the per-page window.AE_HUBSPOT_FORMS overrides still use. */ 4023 function configForKey(key, trigger) { 4024 var perKey = CONFIG.forms[key] || CONFIG.forms[FALLBACK_KEY] || {}; 4025 function attr(name) { return trigger ? trigger.getAttribute(name) : null; } 4026 4027 return { 4028 key: key, 4029 region: attr('data-hs-region') || CONFIG.region, 4030 portalId: attr('data-hs-portal-id') || CONFIG.portalId, 4031 formId: attr('data-hs-form-id') || perKey.formId || '', 4032 submitLabel: perKey.submitLabel || 'Submit', 4033 successMessage: perKey.successMessage || perKey.inlineMessage || '', 4034 hiddenValues: perKey.hiddenValues || {}, 4035 guideUrl: perKey.guideUrl || '', 4036 redirectOnSuccess: perKey.redirectOnSuccess === true, 4037 beforeRender: typeof perKey.beforeRender === 'function' ? perKey.beforeRender : null, 4038 onSuccess: typeof perKey.onSuccess === 'function' ? perKey.onSuccess : null, 4039 trigger: trigger || null 4040 }; 4041 } 4042 4043 function resolveConfig(trigger) { 4044 var key = trigger.getAttribute('data-hs-form') || FALLBACK_KEY; 4045 // An inline-only entry has no modal of its own. A trigger naming it falls 4046 // back completely rather than rendering that form inside another modal. 4047 if (!MODALS[key] && CONFIG.forms[key] && CONFIG.forms[key].inlineTargetId) key = FALLBACK_KEY; 4048 var cfg = configForKey(key, trigger); 4049 // The per-key config still comes from the requested key even when the 4050 // modal itself falls back, which is the behaviour this engine shipped with. 4051 cfg.key = MODALS[key] ? key : FALLBACK_KEY; 4052 return cfg; 4053 } 4054 4055 function inlineKeys(config) { 4056 return Object.keys(config.forms).filter(function (key) { 4057 return !!config.forms[key].inlineTargetId; 4058 }); 4059 } 4060 4061 function mountInlineForms() { 4062 inlineFormKeys.forEach(function (key) { 4063 var target = document.getElementById(CONFIG.forms[key].inlineTargetId); 4064 if (!target) return; 4065 // No autofocus: an inline form must not steal focus on page load. 4066 mountForm(target, configForKey(key, null), false); 4067 }); 4068 } 4069 4070 function whenReady(fn) { 4071 if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', fn); 4072 else fn(); 4073 } 4074 4075 function openModal(modal, target, cfg) { 4076 lastFocusedEl = document.activeElement; 4077 modal.classList.add('is-open'); 4078 modal.setAttribute('aria-hidden', 'false'); 4079 document.documentElement.classList.add('hs-modal-open'); 4080 activeModal = modal; 4081 4082 var closeBtn = modal.querySelector('.hs-modal__close'); 4083 if (closeBtn) closeBtn.focus(); 4084 4085 // Page-specific work this modal needs before the form renders, e.g. the 4086 // events page echoing the event name into the modal subtitle. 4087 if (cfg.beforeRender) { 4088 try { cfg.beforeRender(modal, cfg); } 4089 catch (err) { console.warn('[Asure] beforeRender hook failed.', err); } 4090 } 4091 4092 mountForm(target, cfg, true); 4093 } 4094 4095 /* Render a form into any container: a modal body, an inline mount, or a 4096 target handed over by another script through AE_renderHubSpotForm. */ 4097 function mountForm(target, cfg, autoFocus) { 4098 if (!target) return; 4099 target.innerHTML = ''; 4100 4101 if (!cfg.portalId || !cfg.formId) { 4102 target.appendChild(configNotice()); 4103 return; 4104 } 4105 4106 target.appendChild(loadingNotice()); 4107 4108 loadDefinition(cfg) 4109 .then(function (schema) { 4110 target.innerHTML = ''; 4111 target.appendChild(buildForm(schema.visible, schema.hidden, cfg, target)); 4112 if (autoFocus) focusFirstInput(target); 4113 }) 4114 .catch(function (err) { 4115 console.warn('[Asure] HubSpot form definition unavailable, using fallback schema.', err); 4116 target.innerHTML = ''; 4117 target.appendChild(buildForm(FALLBACK_SCHEMA, [], cfg, target)); 4118 if (autoFocus) focusFirstInput(target); 4119 }); 4120 } 4121 4122 function closeModal() { 4123 if (!activeModal) return; 4124 activeModal.classList.remove('is-open'); 4125 activeModal.setAttribute('aria-hidden', 'true'); 4126 document.documentElement.classList.remove('hs-modal-open'); 4127
4128 Object.keys(MODALS).forEach(function (key) { 4129 if (MODALS[key].modal === activeModal && MODALS[key].target) { 4130 MODALS[key].target.innerHTML = ''; 4131 } 4132 }); 4133 4134 activeModal = null; 4135 if (lastFocusedEl && typeof lastFocusedEl.focus === 'function') lastFocusedEl.focus(); 4136 } 4137 4138 function trapFocus(event) { 4139 var focusable = activeModal.querySelectorAll( 4140 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])' 4141 ); 4142 if (!focusable.length) return; 4143 4144 var first = focusable[0]; 4145 var last = focusable[focusable.length - 1]; 4146 4147 if (event.shiftKey && document.activeElement === first) { 4148 event.preventDefault(); 4149 last.focus(); 4150 } else if (!event.shiftKey && document.activeElement === last) { 4151 event.preventDefault(); 4152 first.focus(); 4153 } 4154 } 4155 4156 function focusFirstInput(target) { 4157 var first = target.querySelector('.hs-input'); 4158 if (first) first.focus(); 4159 } 4160 4161 /* ------------------------------------------------------------------------ 4162 SCHEMA 4163 ---------------------------------------------------------------------- */ 4164 4165 function loadDefinition(cfg) { 4166 if (definitionCache[cfg.formId]) return Promise.resolve(definitionCache[cfg.formId]); 4167 4168 var url = DEFINITION_HOST + '/embed/v3/form/' + 4169 encodeURIComponent(cfg.portalId) + '/' + 4170 encodeURIComponent(cfg.formId) + '/json'; 4171 4172 return withTimeout(fetch(url, { method: 'GET', credentials: 'omit' }), DEFINITION_TIMEOUT_MS) 4173 .then(function (res) { 4174 if (!res.ok) throw new Error('Definition request returned ' + res.status); 4175 return res.json(); 4176 }) 4177 .then(function (payload) { 4178 var schema = parseDefinition(payload); 4179 if (!schema.visible.length) throw new Error('Definition contained no visible fields'); 4180 definitionCache[cfg.formId] = schema; 4181 return schema; 4182 }); 4183 } 4184 4185 function parseDefinition(payload) { 4186 var groups = (payload && payload.form && payload.form.formFieldGroups) || []; 4187 var visible = []; 4188 var hidden = []; 4189 4190 groups.forEach(function (group) { 4191 (group.fields || []).forEach(function (field) { 4192 var parsed = { 4193 name: field.name, 4194 label: field.label || field.name, 4195 type: field.fieldType || 'text', 4196 required: field.required === true, 4197 defaultValue: field.defaultValue || '', 4198 options: (field.options || []).map(function (opt) { 4199 return { value: opt.value, label: opt.label }; 4200 }) 4201 }; 4202 4203 var data = field.validation && field.validation.data; 4204 if (typeof data === 'string' && data.indexOf(':') !== -1) { 4205 var parts = data.split(':'); 4206 if (parts[0]) parsed.minLength = parseInt(parts[0], 10); 4207 if (parts[1]) parsed.maxLength = parseInt(parts[1], 10); 4208 } 4209 4210 if (field.hidden === true) hidden.push(parsed); 4211 else visible.push(parsed); 4212 }); 4213 }); 4214 4215 return { visible: visible, hidden: hidden }; 4216 } 4217 4218 /* Merge a HubSpot field with any presentation override. */ 4219 function applyFieldUI(field) { 4220 var override = FIELD_UI[field.name] || {}; 4221 var merged = { 4222 name: field.name, 4223 label: override.label || field.label, 4224 type: field.type, 4225 control: override.control || null, 4226 required: field.required, 4227 options: override.options || field.options || [], 4228 minLength: override.minLength || field.minLength, 4229 maxLength: override.maxLength || field.maxLength, 4230 inputMode: override.inputMode || null, 4231 transform: override.transform || null 4232 }; 4233 4234 if (override.control === 'select') merged.type = 'select'; 4235 return merged; 4236 } 4237 4238 /* ------------------------------------------------------------------------ 4239 FORM RENDERING 4240 ---------------------------------------------------------------------- */ 4241 4242 function buildForm(visibleFields, hiddenFields, cfg, target) { 4243 var form = document.createElement('form'); 4244 form.className = 'hs-form'; 4245 form.setAttribute('novalidate', ''); 4246 4247 var row = null; 4248 var rowCount = 0; 4249
4250 visibleFields.map(applyFieldUI).forEach(function (field) { 4251 var fullWidth = FULL_WIDTH_TYPES.indexOf(field.type) !== -1; 4252 4253 if (fullWidth) { 4254 row = null; 4255 rowCount = 0; 4256 form.appendChild(buildField(field)); 4257 return; 4258 } 4259 4260 if (!row) { 4261 row = document.createElement('div'); 4262 row.className = 'hs-form-row'; 4263 form.appendChild(row); 4264 rowCount = 0; 4265 } 4266 4267 row.appendChild(buildField(field)); 4268 rowCount += 1; 4269 if (rowCount >= 2) { row = null; rowCount = 0; } 4270 }); 4271 4272 var submitWrap = document.createElement('div'); 4273 submitWrap.className = 'hs-submit'; 4274 4275 var button = document.createElement('input'); 4276 button.type = 'submit'; 4277 button.className = 'hs-button'; 4278 button.value = cfg.submitLabel; 4279 submitWrap.appendChild(button); 4280 form.appendChild(submitWrap); 4281 4282 var errorBanner = document.createElement('div'); 4283 errorBanner.className = 'hs-form__notice hs-form__notice--error'; 4284 errorBanner.hidden = true; 4285 form.appendChild(errorBanner); 4286 4287 form.addEventListener('submit', function (event) { 4288 event.preventDefault(); 4289 submitForm({ 4290 form: form, 4291 button: button, 4292 errorBanner: errorBanner, 4293 hiddenFields: hiddenFields, 4294 cfg: cfg, 4295 target: target 4296 }); 4297 }); 4298 4299 return form; 4300 } 4301 4302 function buildField(field) { 4303 var wrapper = document.createElement('div'); 4304 wrapper.className = 'hs-form-field'; 4305 4306 var fieldId = 'hs-' + field.name + '-' + Math.random().toString(36).slice(2, 7); 4307 4308 var label = document.createElement('label'); 4309 label.setAttribute('for', fieldId); 4310 label.textContent = field.label; 4311 4312 if (field.required) { 4313 var req = document.createElement('span'); 4314 req.className = 'hs-req'; 4315 req.setAttribute('aria-hidden', 'true'); 4316 req.textContent = ' *'; 4317 label.appendChild(req); 4318 } 4319 4320 wrapper.appendChild(label); 4321 4322 var inputWrap = document.createElement('div'); 4323 inputWrap.className = 'input'; 4324 4325 var control = buildControl(field, fieldId); 4326 inputWrap.appendChild(control); 4327 wrapper.appendChild(inputWrap); 4328 4329 var errorList = document.createElement('ul'); 4330 errorList.className = 'hs-error-msgs'; 4331 errorList.hidden = true; 4332 4333 var errorItem = document.createElement('li'); 4334 var errorLabel = document.createElement('label'); 4335 errorItem.appendChild(errorLabel); 4336 errorList.appendChild(errorItem); 4337 wrapper.appendChild(errorList); 4338 4339 control.addEventListener('invalid', function () { 4340 showFieldError(wrapper, errorLabel, errorList, defaultFieldMessage(field)); 4341 }); 4342 4343 control.addEventListener('input', function () { clearFieldError(wrapper, errorList); }); 4344 control.addEventListener('change', function () { clearFieldError(wrapper, errorList); }); 4345 4346 wrapper.setAttribute('data-hs-field', field.name); 4347 wrapper._showError = function (message) { 4348 showFieldError(wrapper, errorLabel, errorList, message); 4349 }; 4350 4351 return wrapper; 4352 } 4353 4354 function buildControl(field, fieldId) { 4355 var control; 4356 4357 if (field.type === 'select') { 4358 control = document.createElement('select'); 4359 var options = field.options.slice(); 4360 if (!options.length || options[0].value !== '') { 4361 options.unshift({ value: '', label: 'Select\u2026' }); 4362 } 4363 options.forEach(function (opt) { 4364 var option = document.createElement('option'); 4365 option.value = opt.value; 4366 option.textContent = opt.label; 4367 control.appendChild(option); 4368 }); 4369 4370 } else if (field.type === 'textarea') { 4371 control = document.createElement('textarea'); 4372 control.rows = 3; 4373 4374 } else if (field.type === 'booleancheckbox') { 4375 control = document.createElement('input'); 4376 control.type = 'checkbox'; 4377 control.value = 'true'; 4378 4379 } else { 4380 control = document.createElement('input'); 4381 control.type = inputTypeFor(field); 4382 if (field.inputMode) control.setAttribute('inputmode', field.inputMode); 4383 if (field.minLength) control.minLength = field.minLength; 4384 if (field.maxLength) control.maxLength = field.maxLength; 4385 } 4386 4387 control.id = fieldId; 4388 control.name = field.name; 4389 control.className = 'hs-input'; 4390 if (field.required) control.required = true; 4391 if (field.transform) control._transform = field.transform; 4392 4393 return control; 4394 } 4395 4396 function inputTypeFor(field) { 4397 if (field.control === 'email') return 'email'; 4398 if (field.control === 'tel') return 'tel'; 4399 if (field.control === 'text') return 'text'; 4400 if (field.name === 'email') return 'email'; 4401 if (field.type === 'phonenumber') return 'tel'; 4402 if (field.type === 'date') return 'date'; 4403 // HubSpot number properties are submitted as digits, but type="text" with 4404 // inputmode="numeric" avoids the spinner and keeps input intact. 4405 return 'text'; 4406 } 4407 4408 function defaultFieldMessage(field) { 4409 if (field.type === 'select') return 'Choose a ' + field.label.toLowerCase() + '.'; 4410 if (field.name === 'email') return 'Enter a valid work email address.'; 4411 if (field.type === 'phonenumber' || field.control === 'tel') return 'Enter a phone number we can reach you on.'; 4412 return 'Enter your ' + field.label.toLowerCase() + '.'; 4413 } 4414 4415 function showFieldError(wrapper, errorLabel, errorList, message) { 4416 errorLabel.textContent = message; 4417 errorList.hidden = false;
4418 wrapper.classList.add('invalid'); 4419 } 4420 4421 function clearFieldError(wrapper, errorList) { 4422 errorList.hidden = true; 4423 wrapper.classList.remove('invalid'); 4424 } 4425 4426 /* ------------------------------------------------------------------------ 4427 SUBMISSION 4428 ---------------------------------------------------------------------- */ 4429 4430 function submitForm(ctx) { 4431 var form = ctx.form; 4432 var button = ctx.button; 4433 var errorBanner = ctx.errorBanner; 4434 var cfg = ctx.cfg; 4435 4436 clearFormErrors(form, errorBanner); 4437 4438 var invalidControls = []; 4439 form.querySelectorAll('[required]').forEach(function (control) { 4440 if (!control.checkValidity()) { 4441 control.dispatchEvent(new Event('invalid')); 4442 invalidControls.push(control); 4443 } 4444 }); 4445 4446 if (invalidControls.length) { 4447 invalidControls[0].focus(); 4448 return; 4449 } 4450 4451 var fields = collectFields(form, ctx.hiddenFields, cfg); 4452 4453 button.disabled = true; 4454 button.value = 'Sending\u2026'; 4455 4456 var url = SUBMIT_HOST + '/submissions/v3/integration/submit/' + 4457 encodeURIComponent(cfg.portalId) + '/' + encodeURIComponent(cfg.formId); 4458 4459 var body = { 4460 fields: fields, 4461 context: { 4462 pageUri: window.location.href, 4463 pageName: document.title 4464 } 4465 }; 4466 4467 var hutk = readCookie('hubspotutk'); 4468 if (hutk) body.context.hutk = hutk; 4469 4470 fetch(url, { 4471 method: 'POST', 4472 headers: { 'Content-Type': 'application/json' }, 4473 body: JSON.stringify(body) 4474 }) 4475 .then(function (res) { 4476 if (res.ok) return res.json(); 4477 return res.json() 4478 .catch(function () { return null; }) 4479 .then(function (payload) { 4480 var error = new Error(describeErrors(payload)); 4481 error.payload = payload; 4482 error.status = res.status; 4483 throw error; 4484 }); 4485 }) 4486 .then(function () { 4487 showSuccess(ctx.target, cfg); 4488 }) 4489 .catch(function (err) { 4490 // Full detail always goes to the console so the next person to debug 4491 // this is not guessing. Visitors get a plain message. 4492 console.error('[Asure] HubSpot submission failed.', { 4493 status: err.status || 'network', 4494 payload: err.payload || null, 4495 sent: fields 4496 }); 4497 4498 button.disabled = false; 4499 button.value = cfg.submitLabel; 4500 4501 var mapped = highlightFieldErrors(form, err.payload); 4502 4503 if (DEBUG && err.payload) { 4504 errorBanner.textContent = describeErrors(err.payload); 4505 } else if (mapped) { 4506 errorBanner.textContent = 'Check the highlighted fields and try again.'; 4507 } else if (!err.status) { 4508 errorBanner.textContent = 4509 'We could not reach our servers. Check your connection and try again, or call ' + 4510 CONFIG.supportPhone + '.'; 4511 } else { 4512 errorBanner.textContent = 4513 'We could not send that. Try again, or call ' + CONFIG.supportPhone + 4514 ' and we will take it from here.'; 4515 } 4516 4517 errorBanner.hidden = false; 4518 }); 4519 } 4520 4521 function collectFields(form, hiddenFields, cfg) { 4522 var fields = []; 4523 var seen = {}; 4524 4525 new FormData(form).forEach(function (rawValue, name) { 4526 var control = form.querySelector('[name="' + name + '"]'); 4527 var value = String(rawValue); 4528 if (control && control._transform) value = control._transform(value); 4529 value = value.trim(); 4530 if (!value) return; 4531 fields.push({ name: name, value: value }); 4532 seen[name] = true; 4533 }); 4534 4535 // Hidden HubSpot fields. Defaults come from the form definition, and 4536 // anything in hiddenValues overrides them so each modal is attributable. 4537 (hiddenFields || []).forEach(function (field) { 4538 if (seen[field.name]) return; 4539 var value = cfg.hiddenValues[field.name] || field.defaultValue; 4540 if (!value) return; 4541 fields.push({ name: field.name, value: String(value) }); 4542 seen[field.name] = true; 4543 }); 4544 4545 Object.keys(cfg.hiddenValues).forEach(function (name) { 4546 if (seen[name]) return; 4547 fields.push({ name: name, value: String(cfg.hiddenValues[name]) }); 4548 seen[name] = true; 4549 }); 4550 4551 return fields; 4552 } 4553 4554 function showSuccess(target, cfg) { 4555 if (cfg.redirectOnSuccess && cfg.guideUrl) { 4556 window.location.href = cfg.guideUrl; 4557 return; 4558 } 4559 4560 if (!target) return; 4561 4562 var message = cfg.successMessage || 4563 '<p style="font-weight:600;font-size:16px;margin:0;">Thanks, we will be in touch shortly.</p>'; 4564 4565 var shell = document.createElement('div'); 4566 shell.className = 'hs-form'; 4567 4568 var inner = document.createElement('div'); 4569 inner.className = 'submitted-message';
4570 inner.setAttribute('role', 'status'); 4571 inner.innerHTML = message; 4572 4573 if (cfg.guideUrl) { 4574 var link = document.createElement('a'); 4575 link.href = cfg.guideUrl; 4576 link.target = '_blank'; 4577 link.rel = 'noopener'; 4578 link.textContent = 'Open the guide'; 4579 link.style.cssText = 'display:inline-block;margin-top:12px;font-size:14px;font-weight:600;color:#068FBE'; 4580 inner.appendChild(link); 4581 } 4582 4583 shell.appendChild(inner); 4584 target.innerHTML = ''; 4585 target.appendChild(shell); 4586 4587 // Fired after the message renders, matching the order the webinars gate 4588 // relied on: show the confirmation, then unlock and play the video. 4589 if (cfg.onSuccess) { 4590 try { cfg.onSuccess(); } 4591 catch (err) { console.warn('[Asure] onSuccess callback failed.', err); } 4592 } 4593 } 4594 4595 /* ------------------------------------------------------------------------ 4596 ERROR HANDLING 4597 ---------------------------------------------------------------------- */ 4598 4599 function describeErrors(payload) { 4600 if (payload && payload.errors && payload.errors.length) { 4601 return payload.errors.map(function (e) { return e.message; }).join(' | '); 4602 } 4603 if (payload && payload.message) return payload.message; 4604 return 'Unknown error'; 4605 } 4606 4607 /* HubSpot returns messages like: 4608 Error in 'fields.of_employees'. Required field ... is missing 4609 Pull the field name out and mark that input. */ 4610 function highlightFieldErrors(form, payload) { 4611 if (!payload || !payload.errors || !payload.errors.length) return false; 4612 4613 var mappedAny = false; 4614 4615 payload.errors.forEach(function (error) { 4616 var match = /fields\.(?:\d+\.name|)?([A-Za-z0-9_]+)/.exec(error.message || ''); 4617 if (!match) return; 4618 4619 var wrapper = form.querySelector('[data-hs-field="' + match[1] + '"]'); 4620 if (!wrapper || typeof wrapper._showError !== 'function') return; 4621 4622 wrapper._showError(friendlyFieldError(error)); 4623 mappedAny = true; 4624 }); 4625 4626 return mappedAny; 4627 } 4628 4629 function friendlyFieldError(error) { 4630 var message = error.message || ''; 4631 if (error.errorType === 'REQUIRED_FIELD' || /is missing/.test(message)) { 4632 return 'This field is required.'; 4633 } 4634 if (/valid|invalid|not a number|format/i.test(message)) { 4635 return 'That value is not accepted. Check the format and try again.'; 4636 } 4637 return 'Update this field and try again.'; 4638 } 4639 4640 function clearFormErrors(form, errorBanner) { 4641 errorBanner.hidden = true; 4642 errorBanner.textContent = ''; 4643 form.querySelectorAll('.hs-form-field').forEach(function (wrapper) { 4644 wrapper.classList.remove('invalid'); 4645 var list = wrapper.querySelector('.hs-error-msgs'); 4646 if (list) list.hidden = true; 4647 }); 4648 } 4649 4650 /* ------------------------------------------------------------------------ 4651 NOTICES 4652 ---------------------------------------------------------------------- */ 4653 4654 function loadingNotice() { 4655 var el = document.createElement('div'); 4656 el.setAttribute('role', 'status'); 4657 el.style.cssText = 'padding:28px 8px;font-size:14px;color:#55657d;text-align:center'; 4658 el.textContent = 'Loading the form\u2026'; 4659 return el; 4660 } 4661 4662 function configNotice() { 4663 var el = document.createElement('div'); 4664 el.className = 'hs-form__notice'; 4665 el.innerHTML = 4666 '<strong>This form is not configured.</strong><br>' + 4667 'Set <code>window.AE_HUBSPOT_FORMS</code> with a portalId and formId, or add ' + 4668 '<code>data-hs-portal-id</code> and <code>data-hs-form-id</code> to the button.'; 4669 return el; 4670 } 4671 4672 /* ------------------------------------------------------------------------ 4673 UTILITIES 4674 ---------------------------------------------------------------------- */ 4675 4676 function mergeConfig(base, override) { 4677 var out = { 4678 region: override.region || base.region, 4679 portalId: override.portalId || base.portalId, 4680 supportPhone: override.supportPhone || base.supportPhone, 4681 forms: {} 4682 }; 4683 4684 Object.keys(base.forms).forEach(function (key) { 4685 out.forms[key] = shallowMerge(base.forms[key], (override.forms || {})[key] || {}); 4686 }); 4687 4688 Object.keys(override.forms || {}
4688).forEach(function (key) { 4689 if (!out.forms[key]) out.forms[key] = override.forms[key]; 4690 }); 4691 4692 return out; 4693 } 4694 4695 function shallowMerge(a, b) { 4696 var out = {}; 4697 Object.keys(a).forEach(function (k) { out[k] = a[k]; }); 4698 Object.keys(b).forEach(function (k) { out[k] = b[k]; }); 4699 return out; 4700 } 4701 4702 function withTimeout(promise, ms) { 4703 return new Promise(function (resolve, reject) { 4704 var timer = window.setTimeout(function () { 4705 reject(new Error('Request timed out after ' + ms + 'ms')); 4706 }, ms); 4707 4708 promise.then( 4709 function (value) { window.clearTimeout(timer); resolve(value); }, 4710 function (err) { window.clearTimeout(timer); reject(err); } 4711 ); 4712 }); 4713 } 4714 4715 function readCookie(name) { 4716 var match = document.cookie.match(new RegExp('(^|;\\s*)' + name + '=([^;]*)')); 4717 return match ? decodeURIComponent(match[2]) : ''; 4718 } 4719})(); 4720</script>
4720</div></div></section></main><footer id="brx-footer"><section id="brxe-xegjqe" class="brxe-section"><div id="brxe-izmjxf" class="brxe-container"><div id="brxe-wlaupt" data-script-id="wlaupt" class="brxe-code"><footer class="asure-footer" role="contentinfo"> 4721 <div class="asure-footer__inner"> 4722 4723 <!-- ââ Top row: brand + nav columns ââ --> 4724 <div class="asure-footer__top"> 4725 4726 <div class="asure-footer__brand"> 4727 <a href="/" class="asure-footer__logo" aria-label="Asure Software home"> 4728 <img src="https://asuresoftware.com/wp-content/uploads/2026/03/ASUR-84aeb2b7.png" alt="Asure Software" draggable="false"> 4729 </a> 4730 <p class="asure-footer__tagline">HR and payroll solutions built for small and mid-sized businesses.</p> 4731 <div class="asure-footer__social"> 4732 <a href="https://www.linkedin.com/company/asure-software" aria-label="LinkedIn" class="asure-footer__social-link"> 4733 <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg> 4734 </a> 4735 <a href="https://twitter.com/AsureSoftware" aria-label="X (Twitter)" class="asure-footer__social-link"> 4736 <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg> 4737 </a> 4738 <a href="https://www.facebook.com/AsureSoftware/" aria-label="Facebook" class="asure-footer__social-link"> 4739 <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg> 4740 </a> 4741 </div> 4742 <div class="asure-footer__login-block"> 4743 <hr class="asure-footer__login-rule"> 4744 <p class="asure-footer__login-context">Already a customer? Access your account here.</p> 4745 <a href="https://portal.asurehcm.com/" class="asure-footer__login" target="_blank" rel="noopener noreferrer"> 4746 <svg viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" width="16" height="16"><path d="M10 2a4 4 0 100 8 4 4 0 000-8zm-6 12a6 6 0 0112 0v1a1 1 0 01-1 1H5a1 1 0 01-1-1v-1z"/></svg> 4747 Asure Central Login 4748 </a> 4749 </div> 4750 </div> 4751 4752 <nav class="asure-footer__nav" aria-label="Footer navigation"> 4753 <div class="asure-footer__col"> 4754 <h3 class="asure-footer__heading">Solutions</h3> 4755 <ul class="asure-footer__list"> 4756 <li><a href="https://asuresoftware.com/solutions-hub/payroll-and-hr/">Payroll & HR</a></li> 4757 <li><a href="https://asuresoftware.com/solutions-hub/time-attendance/">Time & Attendance</a></li> 4758 <li><a href="https://asuresoftware.com/solutions-hub/recruiting/">Recruiting</a></li> 4759 <li><a href="https://asuresoftware.com/solutions-hub/benefits-administration/">Benefits Administration</a></li> 4760 <li><a href="https://asuresoftware.com/solutions-hub/health-benefits/">Health Benefits</a></li> 4761 <li><a href="https://asuresoftware.com/solutions-hub/401k-plans/">401(k) Plans</a></li> 4762 <li><a href="https://asuresoftware.com/solutions-hub/hr-experts/">HR Experts</a></li> 4763 <li><a href="https://asuresoftware.com/solutions-hub/asurepay/">AsurePay</a></li> 4764 <li><a href="https://asuresoftware.com/solutions-hub/payroll-tax-management/">Payroll Tax Management</a></li> 4765 <li><a href="https://asuresoftware.com/solutions-hub/tax-portal/">Tax Portal</a></li> 4766 <li><a href="https://asuresoftware.com/solutions-hub/treasury/">Treasury</a></li> 4767 </ul> 4768 </div>
4769 <div class="asure-footer__col"> 4770 <h3 class="asure-footer__heading">Company</h3> 4771 <ul class="asure-footer__list"> 4772 <li><a href="https://asuresoftware.com/about-us">About Us</a></li> 4773 <li><a href="https://asuresoftware.com/careers">Careers</a></li> 4774 <li><a href="https://investor.asuresoftware.com/press-releases">Press Releases</a></li> 4775 <li><a href="https://investor.asuresoftware.com/">Investors</a></li> 4776 <li><a href="https://asuresoftware.com/blog">Blog</a></li> 4777 <li><a href="https://asuresoftware.com/support">Support</a></li> 4778 </ul> 4779 </div> 4780 <div class="asure-footer__col"> 4781 <h3 class="asure-footer__heading">Resources</h3> 4782 <ul class="asure-footer__list"> 4783 <li><a href="/blog/">Blog</a></li> 4784 <li><a href="/events/">Events</a></li> 4785 <li><a href="/webinars/">Webinars</a></li> 4786 <li><a href="/resources/">Resources</a></li> 4787 <li><a href="https://asuresoftware.com/forms">Forms</a></li> 4788 </ul> 4789 </div> 4790 <div class="asure-footer__col"> 4791 <h3 class="asure-footer__heading">Licenses & Notices</h3> 4792 <ul class="asure-footer__list"> 4793 <li><a href="https://asuresoftware.com/licenses/">Licenses</a></li> 4794 <li><a href="https://asuresoftware.com/terms/">Terms</a></li> 4795 <li><a href="https://asuresoftware.com/privacy-policy">Privacy Policy</a></li> 4796 <li><a href="https://asuresoftware.com/cookie-policy">Cookie Policy</a></li> 4797 </ul> 4798 </div> 4799 </nav> 4800 </div> 4801 4802 <!-- ââ Divider ââ --> 4803 <div class="asure-footer__divider"></div> 4804 4805 <!-- ââ Bottom row: legal ââ --> 4806 <div class="asure-footer__bottom"> 4807 <p class="asure-footer__copy">© <span id="asure-footer-year"></span> Asure Software, Inc. All rights reserved.</p> 4808 <div class="asure-footer__legal"> 4809 <a href="/privacy-policy/">Privacy Policy</a> 4810 <a href="/terms/">Terms & Conditions</a> 4811 </div> 4812 </div> 4813 </div> 4814</footer><style>.asure-footer{ 4815 --f-bg-top:#1a2a55; 4816 --f-bg-bottom:#111d3e; 4817 --f-accent:rgba(71,195,211,.18); 4818 --f-accent-2:rgba(6,143,190,.14); 4819 --f-border:rgba(71,195,211,.12); 4820 --f-text:rgba(255,255,255,.72); 4821 --f-text-muted:rgba(255,255,255,.44); 4822 --f-link-hover:#47C3D3; 4823 --f-radius:30px; 4824 --f-container:1280px; 4825 4826 font-family:'DM Sans',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; 4827 -webkit-font-smoothing:antialiased; 4828 -moz-osx-font-smoothing:grayscale; 4829 text-rendering:optimizeLegibility; 4830 color:var(--f-text); 4831 position:relative; 4832 z-index:1; 4833 } 4834 .asure-footer *,.asure-footer *::before,.asure-footer *::after{box-sizing:border-box} 4835 .asure-footer a{color:inherit;text-decoration:none} 4836 4837 .asure-footer__inner{ 4838 width:100vw; 4839 margin-left:calc(50% - 50vw); 4840 background: 4841 radial-gradient(ellipse at 80% 0%, var(--f-accent), transparent 50%), 4842 radial-gradient(ellipse at 10% 100%, var(--f-accent-2), transparent 50%), 4843 linear-gradient(180deg, var(--f-bg-top), var(--f-bg-bottom)); 4844 border:none; 4845 border-radius:0; 4846 padding:clamp(32px, 5vw, 56px) max(32px, calc((100vw - var(--f-container)) / 2)) clamp(24px, 3vw, 36px); 4847 box-shadow:none; 4848 margin-bottom:0; 4849 } 4850 4851 /* ââ Top row ââ */ 4852 .asure-footer__top{ 4853 display:grid; 4854 grid-template-columns:1fr 3fr; 4855 gap:clamp(32px, 5vw, 64px); 4856 align-items:start; 4857 } 4858 4859 /* Brand column */ 4860 .asure-footer__brand{ 4861 display:flex; 4862 flex-direction:column; 4863 gap:16px; 4864 } 4865 .asure-footer__logo img{ 4866 height:28px; 4867 width:auto; 4868 display:block; 4869 } 4870 .asure-footer__tagline{ 4871 font-size:15px; 4872 line-height:1.6; 4873 color:var(--f-text); 4874 max-width:26ch; 4875 margin:0; 4876 } 4877 4878 /* Social icons */ 4879 .asure-footer__social{ 4880 display:flex; 4881 gap:10px; 4882 margin-top:4px; 4883 } 4884 .asure-footer__social-link{ 4885 display:inline-flex; 4886 align-items:center; 4887 justify-content:center; 4888 width:36px; 4889 height:36px; 4890 border-radius:10px; 4891 background:rgba(255,255,255,.06); 4892 border:1px solid rgba(255,255,255,.08); 4893 color:rgba(255,255,255,.55); 4894 transition:background .25s cubic-bezier(.22,1,.36,1), color .25s cubic-bezier(.22,1,.36,1), border-color .25s cubic-bezier(.22,1,.36,1); 4895 } 4896 .asure-footer__social-link:hover{ 4897 background:rgba(71,195,211,.14); 4898 border-color:rgba(71,195,211,.28); 4899 color:#47C3D3; 4900 } 4901 .asure-footer__social-link svg{ 4902 width:16px; 4903 height:16px; 4904 } 4905 4906 /* Login block */ 4907 .asure-footer__login-block{ 4908 display:flex; 4909 flex-direction:column; 4910 gap:12px; 4911 margin-top:8px; 4912 } 4913 .asure-footer__login-rule{ 4914 border:none; 4915 height:1px; 4916 background:rgba(255,255,255,.1); 4917 margin:0; 4918 } 4919 .asure-footer__login-context{ 4920 font-size:13px; 4921 line-height:1.5; 4922 color:var(--f-text-muted); 4923 margin:0; 4924 } 4925 4926 /* Login button */ 4927 .asure-footer__login{ 4928 display:inline-flex; 4929 align-items:center; 4930 gap:8px; 4931 font-size:14px; 4932 font-weight:600; 4933 color:#fff; 4934 padding:10px 24px; 4935 border-radius:10px; 4936 background:linear-gradient(135deg, #068FBE, #47C3D3); 4937 border:1px solid rgba(71,195,211,.35); 4938 box-shadow:0 0 16px rgba(71,195,211,.25); 4939 transition:background .25s cubic-bezier(.22,1,.36,1), box-shadow .25s cubic-bezier(.22,1,.36,1), transform .2s cubic-bezier(.22,1,.36,1); 4940 margin-top:4px; 4941 width:fit-content; 4942 } 4943 .asure-footer__login:hover{ 4944 background:linear-gradient(135deg, #47C3D3, #068FBE); 4945 box-shadow:0 0 24px rgba(71,195,211,.4); 4946 color:#fff; 4947 transform:translateY(-1px); 4948 } 4949 4950 /* Nav columns */ 4951 .asure-footer__nav{ 4952 display:grid; 4953 grid-template-columns:repeat(4, 1fr); 4954 gap:clamp(24px, 4vw, 48px); 4955 } 4956 .asure-footer__heading{ 4957 font-size:12px; 4958 font-weight:700; 4959 letter-spacing:.16em; 4960 text-transform:uppercase; 4961 color:rgba(255,255,255,.38); 4962 margin:0 0 16px; 4963 } 4964 .asure-footer__list{ 4965 list-style:none; 4966 padding:0; 4967 margin:0; 4968 display:flex; 4969 flex-direction:column; 4970 gap:10px; 4971 } 4972 .asure-footer__list a{ 4973 font-size:15px; 4974 font-weight:500; 4975 color:var(--f-text); 4976 transition:color .2s cubic-bezier(.22,1,.36,1); 4977 display:inline-block; 4978 } 4979 .asure-footer__list a:hover{ 4980 color:var(--f-link-hover); 4981 } 4982 4983 /* ââ Divider ââ */ 4984 .asure-footer__divider{ 4985 height:1px; 4986 background:linear-gradient(90deg, transparent, rgba(71,195,211,.18), transparent); 4987 margin:clamp(28px, 4vw, 44px) 0 clamp(20px, 3vw, 28px); 4988 } 4989 4990 /* ââ Bottom row ââ */ 4991 .asure-footer__bottom{ 4992 display:flex; 4993 align-items:center; 4994 justify-content:space-between; 4995 flex-wrap:wrap; 4996 gap:12px 24px; 4997 }
4998 .asure-footer__copy{ 4999 font-size:13px; 5000 color:var(--f-text-muted); 5001 margin:0; 5002 } 5003 .asure-footer__legal{ 5004 display:flex; 5005 align-items:center; 5006 gap:20px; 5007 } 5008 .asure-footer__legal a{ 5009 font-size:13px; 5010 color:var(--f-text-muted); 5011 transition:color .2s cubic-bezier(.22,1,.36,1); 5012 } 5013 .asure-footer__legal a:hover{ 5014 color:var(--f-link-hover); 5015 } 5016 5017 /* ââ Responsive ââ */ 5018 @media(max-width:900px){ 5019 .asure-footer__top{ 5020 grid-template-columns:1fr; 5021 gap:36px; 5022 } 5023 .asure-footer__nav{ 5024 grid-template-columns:repeat(2, 1fr); 5025 } 5026 } 5027 @media(max-width:600px){ 5028 .asure-footer__nav{ 5029 grid-template-columns:1fr; 5030 gap:28px; 5031 } 5032 .asure-footer__bottom{ 5033 flex-direction:column; 5034 align-items:flex-start; 5035 } 5036 }</style>
5036<script> (function(){ 5037 var el = document.getElementById('asure-footer-year'); 5038 if (el) el.textContent = new Date().getFullYear(); 5039 })();</script>
5039</div></div></section></footer>
5039<script type="speculationrules"> 5040{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/bricks/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 5041</script>
5041 5042 5043<!-- Consent Management powered by Complianz | GDPR/CCPA Cookie Consent https://wordpress.org/plugins/complianz-gdpr --> 5044<div id="cmplz-cookiebanner-container"><div class="cmplz-cookiebanner cmplz-hidden banner-1 banner-a optout cmplz-bottom-right cmplz-categories-type-view-preferences" aria-modal="true" data-nosnippet="true" role="dialog" aria-live="polite" aria-labelledby="cmplz-header-1-optout" aria-describedby="cmplz-message-1-optout"> 5045 <div class="cmplz-header"> 5046 <div class="cmplz-logo"></div> 5047 <div class="cmplz-title" id="cmplz-header-1-optout">Manage Consent</div> 5048 <div class="cmplz-close" tabindex="0" role="button" aria-label="Close dialog"> 5049 <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="times" class="svg-inline--fa fa-times fa-w-11" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 352 512"><path fill="currentColor" d="M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"></path></svg> 5050 </div> 5051 </div> 5052 5053 <div class="cmplz-divider cmplz-divider-header"></div> 5054 <div class="cmplz-body"> 5055 <div class="cmplz-message" id="cmplz-message-1-optout"><p>This website uses cookies, web beacons, pixels, tags, and related technologies (collectively âCookiesâ), as further described in our Privacy Policy, for purposes that may include enhancing and optimizing a userâs experience on our website, understanding how you engage with the website, analytics, third-party advertising, and marketing purposes. Through these Cookies, we and certain third parties may automatically collect information about your interactions with our website, such as your browsing behavior and page views. We also may share this personal information about your activity on our website with our advertising partners, analytics partners, and other business partners. By clicking âI Acceptâ, you agree to our use of these tracking Cookies in accordance with our Privacy Policy. If you do not agree to our use of Cookies, please do not continue using our website.</p></div> 5056 <!-- categories start --> 5057 <div class="cmplz-categories"> 5058 <details class="cmplz-category cmplz-functional" > 5059 <summary> 5060 <span class="cmplz-category-header"> 5061 <span class="cmplz-category-title">Functional</span> 5062 <span class='cmplz-always-active'> 5063 <span class="cmplz-banner-checkbox"> 5064 <input type="checkbox" 5065 id="cmplz-functional-optout" 5066 data-category="cmplz_functional" 5067 class="cmplz-consent-checkbox cmplz-functional" 5068 size="40" 5069 value="1"/> 5070 <label class="cmplz-label" for="cmplz-functional-optout"><span class="screen-reader-text">Functional</span></label> 5071 </span> 5072 Always active </span> 5073 <span class="cmplz-icon cmplz-open"> 5074 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18" ><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg> 5075 </span> 5076 </span> 5077 </summary> 5078 <div class="cmplz-description"> 5079 <span class="cmplz-description-functional">The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.</span> 5080 </div> 5081 </details> 5082 5083 <details class="cmplz-category cmplz-preferences" > 5084 <summary> 5085 <span class="cmplz-category-header"> 5086 <span class="cmplz-category-title">Preferences</span> 5087 <span class="cmplz-banner-checkbox"> 5088 <input type="checkbox" 5089 id="cmplz-preferences-optout" 5090 data-category="cmplz_preferences" 5091 class="cmplz-consent-checkbox cmplz-preferences" 5092 size="40" 5093 value="1"/> 5094 <label class="cmplz-label" for="cmplz-preferences-optout"><span class="screen-reader-text">Preferences</span></label> 5095 </span> 5096 <span class="cmplz-icon cmplz-open"> 5097 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18" >
5097<path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg> 5098 </span> 5099 </span> 5100 </summary> 5101 <div class="cmplz-description"> 5102 <span class="cmplz-description-preferences">The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.</span> 5103 </div> 5104 </details> 5105 5106 <details class="cmplz-category cmplz-statistics" > 5107 <summary> 5108 <span class="cmplz-category-header"> 5109 <span class="cmplz-category-title">Statistics</span> 5110 <span class="cmplz-banner-checkbox"> 5111 <input type="checkbox" 5112 id="cmplz-statistics-optout" 5113 data-category="cmplz_statistics" 5114 class="cmplz-consent-checkbox cmplz-statistics" 5115 size="40" 5116 value="1"/> 5117 <label class="cmplz-label" for="cmplz-statistics-optout"><span class="screen-reader-text">Statistics</span></label> 5118 </span> 5119 <span class="cmplz-icon cmplz-open"> 5120 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18" ><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg> 5121 </span> 5122 </span> 5123 </summary> 5124 <div class="cmplz-description"> 5125 <span class="cmplz-description-statistics">The technical storage or access that is used exclusively for statistical purposes.</span> 5126 <span class="cmplz-description-statistics-anonymous">The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.</span> 5127 </div> 5128 </details> 5129 <details class="cmplz-category cmplz-marketing" > 5130 <summary> 5131 <span class="cmplz-category-header"> 5132 <span class="cmplz-category-title">Marketing</span> 5133 <span class="cmplz-banner-checkbox"> 5134 <input type="checkbox" 5135 id="cmplz-marketing-optout" 5136 data-category="cmplz_marketing" 5137 class="cmplz-consent-checkbox cmplz-marketing" 5138 size="40" 5139 value="1"/> 5140 <label class="cmplz-label" for="cmplz-marketing-optout"><span class="screen-reader-text">Marketing</span></label> 5141 </span> 5142 <span class="cmplz-icon cmplz-open"> 5143 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18" ><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg> 5144 </span> 5145 </span> 5146 </summary> 5147 <div class="cmplz-description"> 5148 <span class="cmplz-description-marketing">The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.</span> 5149 </div> 5150 </details> 5151 </div><!-- categories end --> 5152 </div> 5153 5154 <div class="cmplz-links cmplz-information"> 5155 <ul> 5156 <li><a class="cmplz-link cmplz-manage-options cookie-statement" href="#" data-relative_url="#cmplz-manage-consent-container">Manage options</a></li> 5157 <li><a class="cmplz-link cmplz-manage-third-parties cookie-statement" href="#" data-relative_url="#cmplz-cookies-overview">Manage services</a></li> 5158 <li><a class="cmplz-link cmplz-manage-vendors tcf cookie-statement" href="#" data-relative_url="#cmplz-tcf-wrapper">Manage {vendor_count} vendors</a></li> 5159 <li><a class="cmplz-link cmplz-external cmplz-read-more-purposes tcf" target="_blank" rel="noopener noreferrer nofollow" href="https://cookiedatabase.org/tcf/purposes/" aria-label="Read more about TCF purposes on Co
5159okie Database">Read more about these purposes</a></li> 5160 </ul> 5161 </div> 5162 5163 <div class="cmplz-divider cmplz-footer"></div> 5164 5165 <div class="cmplz-buttons"> 5166 <button class="cmplz-btn cmplz-accept">Accept</button> 5167 <button class="cmplz-btn cmplz-deny">Deny</button> 5168 <button class="cmplz-btn cmplz-view-preferences">View preferences</button> 5169 <button class="cmplz-btn cmplz-save-preferences">Save preferences</button> 5170 <a class="cmplz-btn cmplz-manage-options tcf cookie-statement" href="#" data-relative_url="#cmplz-manage-consent-container">View preferences</a> 5171 </div> 5172 5173 5174 <div class="cmplz-documents cmplz-links"> 5175 <ul> 5176 <li><a class="cmplz-link cookie-statement" href="#" data-relative_url="">{title}</a></li> 5177 <li><a class="cmplz-link privacy-statement" href="#" data-relative_url="">{title}</a></li> 5178 <li><a class="cmplz-link impressum" href="#" data-relative_url="">{title}</a></li> 5179 </ul> 5180 </div> 5181</div> 5182</div> 5183 <div id="cmplz-manage-consent" data-nosnippet="true"><button class="cmplz-btn cmplz-hidden cmplz-manage-consent manage-consent-1">Manage consent</button> 5184 5185</div><div data-popup-id="244975" class="brx-popup brxe-popup-244975 hide"><div class="brx-popup-content brxe-container"><section id="brxe-905256" class="brxe-section request-hsfrom popup-form"><div id="brxe-d751c9" class="brxe-container"><i id="brxe-282a82" class="ti-close brxe-icon" data-interactions="[{"id":"aewlgp","trigger":"click","action":"hide","target":"popup","templateId":"244975"}]" data-interaction-id="200aec"></i><div id="brxe-762ea1" class="brxe-shortcode"><div style="position: relative; padding-bottom: calc(40.625% + 41px); height: 0; width: 100%"><iframe src="https://demo.arcade.software/1e5AHNrwv5ZoQeUBRcGR?embed" frameborder="0" loading="lazy" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;color-scheme: light;" title="Asure Tax Portal"></iframe></div></div></div></section></div><div class="brx-popup-backdrop"></div></div><div data-popup-id="244937" class="brx-popup brxe-popup-244937 hide"><div class="brx-popup-content brxe-container"><section id="brxe-913b15" class="brxe-section request-hsfrom popup-form"><div id="brxe-a9b6be" class="brxe-container"><i id="brxe-3ca3de" class="ti-close brxe-icon" data-interactions="[{"id":"aewlgp","trigger":"click","action":"hide","target":"popup","templateId":"244937"}]" data-interaction-id="4e1bad"></i><div id="brxe-728f57" class="brxe-shortcode">
5185<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/embed/v2.js"></script>
vendor: 1 bytes, line 5185
5185
5186<script> 5187 hbspt.forms.create({ 5188 portalId: "3221563", 5189 formId: "5c5db4ff-bfe4-4f6c-8c2a-3803bdd5f275", 5190 region: "na1" }); 5191 </script>
5191</div></div></section></div><div class="brx-popup-backdrop"></div></div><div data-popup-id="244444" class="brx-popup brxe-popup-244444 hide"><div class="brx-popup-content brxe-container"><section id="brxe-342a31" class="brxe-section request-hsfrom popup-form"><div id="brxe-5d4e79" class="brxe-container"><i id="brxe-f8f7fd" class="ti-close brxe-icon" data-interactions="[{"id":"aewlgp","trigger":"click","action":"hide","target":"popup","templateId":"244444"}]" data-interaction-id="4db94b"></i><div id="brxe-b22288" class="brxe-text"><h3>Get Employer Toolkit</h3> 5192<p>Complete the form below to access your Employer Kit Resources. A new tab will open for easy viewing and download. Donât forget to bookmark the page for quick access anytime!</p> 5193</div><div id="brxe-5a7a70" class="brxe-shortcode">
5193<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/embed/v2.js"></script>
vendor: 1 bytes, line 5193
5193
5194<script> 5195 hbspt.forms.create({ 5196 portalId: "3221563", 5197 formId: "bb2dca53-d466-4153-b16a-e63932b80ff8", 5198 region: "na1" }); 5199 </script>
5199</div></div></section></div><div class="brx-popup-backdrop"></div></div><div data-popup-id="244398" class="brx-popup brxe-popup-244398 hide"><div class="brx-popup-content brxe-container"><section id="brxe-zoucrm" class="brxe-section request-hsfrom popup-form"><div id="brxe-ylwekh" class="brxe-container"><div id="brxe-efxxck" class="brxe-text"><h3>Request Info</h3> 5200<p>Have questions or want to learn more about AsurePay? Just fill out the form, and weâll get you the info you need!</p> 5201</div><i id="brxe-svazww" class="ti-close brxe-icon" data-interactions="[{"id":"aewlgp","trigger":"click","action":"hide","target":"popup","templateId":"244398"}]" data-interaction-id="9f8b3b"></i><div id="brxe-llglzv" class="brxe-shortcode">
5201<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/embed/v2.js"></script>
vendor: 1 bytes, line 5201
5201
5202<script> 5203 hbspt.forms.create({ 5204 portalId: "3221563", 5205 formId: "be9047b6-3d79-4fe1-9e07-e4172dc05955", 5206 region: "na1" }); 5207 </script>
5207</div></div></section></div><div class="brx-popup-backdrop"></div></div>
5207<script id="x-frontend-js" src="https://www.asuresoftware.com/wp-content/plugins/bricksextras/components/assets/js/frontend.min.js?ver=1.6.9"></script>
vendor: 1 bytes, line 5207
5207
5208<script id="jet-smart-filters-bricks-js" src="https://www.asuresoftware.com/wp-content/plugins/jet-smart-filters/assets/js/bricks.js?ver=3.7.3"></script>
vendor: 1 bytes, line 5208
5208
5209<script id="leadin-script-loader-js-js-extra"> 5210var leadin_wordpress = {"userRole":"visitor","pageType":"page","leadinPluginVersion":"11.3.75"}; 5211//# sourceURL=leadin-script-loader-js-js-extra 5212</script>
vendor: 1 bytes, line 5212
5212
5213<script async defer id='hs-script-loader' src="https://js.hs-scripts.com/3221563.js?integration=WordPress&ver=11.3.75"></script>
vendor: 1 bytes, line 5213
5213
5214<script id="bricks-scripts-js-extra"> 5215var bricksData = {"debug":"","locale":"en_US","ajaxUrl":"https://www.asuresoftware.com/wp-admin/admin-ajax.php","restApiUrl":"https://www.asuresoftware.com/wp-json/bricks/v1/","nonce":"e0ccedc15f","formNonce":"d96d6fd456","wpRestNonce":"3d1c8dae8a","postId":"246358","recaptchaIds":[],"animatedTypingInstances":[],"videoInstances":[],"splideInstances":[],"tocbotInstances":[],"swiperInstances":[],"queryLoopInstances":[],"interactions":[],"filterInstances":[],"isotopeInstances":[],"activeFiltersCountInstances":[],"googleMapInstances":[],"leafletMapInstances":[],"choicesInstances":[],"facebookAppId":"","headerPosition":"top","offsetLazyLoad":"300","baseUrl":"https://www.asuresoftware.com/about-us/","useQueryFilter":"1","pageFilters":[],"language":"","wpmlUrlFormat":"","multilangPlugin":"","i18n":{"closeMobileMenu":"Close mobile menu","firstSlide":"Go to first slide","hidePassword":"Hide password","lastSlide":"Go to last slide","locationContent":"Location content","locationSubtitle":"Location subtitle","locationTitle":"Location title","nextSlide":"Next slide","noLocationsFound":"No locations found","openAccordion":"Open accordion","openMobileMenu":"Open mobile menu","pause":"Pause autoplay","play":"Start autoplay","prevSlide":"Previous slide","remove":"Remove","showPassword":"Show password","slideX":"Go to slide %s","splide":{"carousel":"carousel","select":"Select a slide to show","slide":"slide","slideLabel":"%1$s of %2$s"},"swiper":{"paginationBulletMessage":"Go to slide {{index}}","slideLabelMessage":"{{index}} / {{slidesLength}}"}},"selectedFilters":[],"filterNiceNames":[],"bricksGoogleMarkerScript":"https://www.asuresoftware.com/wp-content/themes/bricks/assets/js/libs/bricks-google-marker.min.js?v=2.3.5","infoboxScript":"https://www.asuresoftware.com/wp-content/themes/bricks/assets/js/libs/infobox.min.js?v=2.3.5","markerClustererScript":"https://www.asuresoftware.com/wp-content/themes/bricks/assets/js/libs/markerclusterer.min.js?v=2.3.5","mainQueryId":"","activeSearchTemplate":"0","defaultMode":"light"}; 5216//# sourceURL=bricks-scripts-js-extra 5217</script>
vendor: 1 bytes, line 5217
5217
5218<script id="bricks-scripts-js" src="https://www.asuresoftware.com/wp-content/themes/bricks/assets/js/bricks.min.js?ver=1779117399"></script>
vendor: 1 bytes, line 5218
5218
5219<script id="googlesitekit-consent-mode-js" src="https://www.asuresoftware.com/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-consent-mode-755f1678e260138d789e.js"></script>
vendor: 1 bytes, line 5219
5219
5220<script id="googlesitekit-events-provider-content-events-js-before"> 5221window._googlesitekit = window._googlesitekit || {}; 5222window._googlesitekit.contentEvents = {"postID":246358,"isReadableSinglePost":false,"hasVimeoEmbed":false,"wordCount":0,"estimatedReadTimeSeconds":0,"isLastPageOfMultiPagePost":false,"readTimeThresholdPercent":85,"minimumReadTimeSeconds":5}; 5223//# sourceURL=googlesitekit-events-provider-content-events-js-before 5224</script>
vendor: 1 bytes, line 5224
5224
5225<script id="googlesitekit-events-provider-content-events-js" src="https://www.asuresoftware.com/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-content-events-6b04077d00f0d606ba42.js" defer></script>
vendor: 1 bytes, line 5225
5225
5226<script id="wp-consent-api-js-extra"> 5227var consent_api = {"consent_type":"optout","waitfor_consent_hook":"1","cookie_expiration":"30","cookie_prefix":"wp_consent","services":[]}; 5228//# sourceURL=wp-consent-api-js-extra 5229</script>
vendor: 1 bytes, line 5229
5229
5230<script id="wp-consent-api-js" src="https://www.asuresoftware.com/wp-content/plugins/wp-consent-api/assets/js/wp-consent-api.min.js?ver=2.0.1"></script>
vendor: 1 bytes, line 5230
5230
5231<script id="cmplz-cookiebanner-js-extra"> 5232var complianz = {"prefix":"cmplz_","user_banner_id":"1","set_cookies":[],"block_ajax_content":"","banner_version":"30","version":"7.5.7.2","store_consent":"1","do_not_track_enabled":"1","consenttype":"optout","region":"us","geoip":"1","dismiss_timeout":"","disable_cookiebanner":"","soft_cookiewall":"","dismiss_on_scroll":"","cookie_expiry":"365","url":"https://www.asuresoftware.com/wp-json/complianz/v1/","locale":"lang=en&locale=en_US","set_cookies_on_root":"","cookie_domain":"","current_policy_id":"31","cookie_path":"/","categories":{"statistics":"statistics","marketing":"marketing"},"tcf_active":"","placeholdertext":"Click to accept {category} cookies and enable this content","css_file":"https://www.asuresoftware.com/wp-content/uploads/complianz/css/banner-{banner_id}-{type}.css?v=30","page_links":{"us":{"cookie-statement":{"title":"Cookie Policy","url":"https://www.asuresoftware.com/cookie-policy/"},"privacy-statement":{"title":"privacy policy","url":"https://www.asuresoftware.com/terms/privacy-policy/"},"privacy-statement-children":{"title":"","url":"https://www.asuresoftware.com/building-a-payroll-deduction-compliance-audit-into-your-quarterly-close/"}}},"tm_categories":"","forceEnableStats":"","preview":"","clean_cookies":"","aria_label":"Click to accept {category} cookies and enable this content"}; 5233//# sourceURL=cmplz-cookiebanner-js-extra 5234</script>
vendor: 1 bytes, line 5234
5234
5235<script defer id="cmplz-cookiebanner-js" src="https://www.asuresoftware.com/wp-content/plugins/complianz-gdpr-premium/cookiebanner/js/complianz.min.js?ver=1776453734"></script>
vendor: 1 bytes, line 5235
5235
5236<script id="cmplz-cookiebanner-js-after"> 5237 window.uetq = window.uetq || []; 5238 window.uetq.push('consent', 'default', { 5239 'ad_storage': 'denied' 5240 }); 5241 5242 document.addEventListener('cmplz_fire_categories', function(e) { 5243 var consentedCategories = e.detail.categories; 5244 let marketing = 'denied'; 5245 if (cmplz_in_array('marketing', consentedCategories)) { 5246 marketing = 'granted'; 5247 } 5248 window.uetq.push('consent', 'update', { 5249 'ad_storage': marketing 5250 }); 5251 }); 5252 5253 document.addEventListener('cmplz_revoke', function(e) { 5254 window.uetq.push('consent', 'update', { 5255 'ad_storage': 'denied' 5256 }); 5257 }); 5258 5259//# sourceURL=cmplz-cookiebanner-js-after 5260</script>
vendor: 1 bytes, line 5260
5260
5261<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a481681b0b7dace0',t:'MTc5MTU5MTA3NQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
5261</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.