PageSourceSearch

https://www.asuresoftware.com/about-us/

html asuresoftware.com collected 2026-10-10 00:11:15 UTC 238,481 bytes, 5,261 lines download raw bytes

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 &#8211; 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 &raquo; Feed" href="https://www.asuresoftware.com/feed/" />
20<link rel="alternate" type="application/rss+xml" title="Asure Software &raquo; 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&#038;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&#038;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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; HR</div>
617          <a href="https://asuresoftware.com/solutions-hub/payroll-and-hr/" class="ae-megamenu__mobile-link">Payroll &amp; HR</a>
618          <a href="https://asuresoftware.com/solutions-hub/time-attendance/" class="ae-megamenu__mobile-link">Time &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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&rsquo;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 &amp; 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 &amp; 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&rsquo;s mentality. We understand that business owners need to build great teams&mdash;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&rsquo;s delivered via the cloud on a subscription basis&mdash;so it doesn&rsquo;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&rsquo;
2101t just about software. It&rsquo;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>&ldquo;Effective leadership means ensuring that transformation permeates every level of the company, not just the top.&rdquo;</p>
2140          <cite><strong>Pat Goepel</strong> &mdash; Chairman &amp; 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&rsquo;t just words on a wall&mdash;they&rsquo;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&rsquo;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&rsquo;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&rsquo;s growth-focused business lines. In addition to overseeing sales and marketing, he is responsible for scaling several of Asure&rsquo;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&rsquo;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&rsquo;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&rsquo;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&rsquo;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&rsquo;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 &amp; 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 &mdash; 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 &amp; 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 &amp; HR</a></li>
4757            <li><a href="https://asuresoftware.com/solutions-hub/time-attendance/">Time &amp; 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 &amp; 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">&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="[{&quot;id&quot;:&quot;aewlgp&quot;,&quot;trigger&quot;:&quot;click&quot;,&quot;action&quot;:&quot;hide&quot;,&quot;target&quot;:&quot;popup&quot;,&quot;templateId&quot;:&quot;244975&quot;}]" 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="[{&quot;id&quot;:&quot;aewlgp&quot;,&quot;trigger&quot;:&quot;click&quot;,&quot;action&quot;:&quot;hide&quot;,&quot;target&quot;:&quot;popup&quot;,&quot;templateId&quot;:&quot;244937&quot;}]" 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="[{&quot;id&quot;:&quot;aewlgp&quot;,&quot;trigger&quot;:&quot;click&quot;,&quot;action&quot;:&quot;hide&quot;,&quot;target&quot;:&quot;popup&quot;,&quot;templateId&quot;:&quot;244444&quot;}]" 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="[{&quot;id&quot;:&quot;aewlgp&quot;,&quot;trigger&quot;:&quot;click&quot;,&quot;action&quot;:&quot;hide&quot;,&quot;target&quot;:&quot;popup&quot;,&quot;templateId&quot;:&quot;244398&quot;}]" 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&#038;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.