1/* ============================================================ 2 Vendasta global navigation â v3e (SVG icons) 3 Home: /wp-content/themes/[child-theme]/nav.js 4 Enqueued site-wide via functions.php ('vendasta-nav' handle, 5 loaded with defer). Markup lives in the Theme Builder header 6 code module. Styles live in nav.css. 7 v3e changes (2026-09-01): 8 - URL consolidation: all 10 /ai-workforce/* hrefs in the 9 AI Employees silo updated to /ai-employees/* (pages moved 10 Sept 1; redirects also live, so old links still worked). 11 - 'Meet the AI Workforce' card retitled 'Meet Our AI Employees'. 12 v3d changes (2026-07-22): 13 - Reordered SILOS: AI Employees, Software, Automations, 14 Get Customers, Partners, Resources. Silo contents untouched. 15 - Hamburger now opens 'ai-employees' by explicit key instead 16 of SILOS[0], so future reorders don't silently change the 17 default overlay tab. 18 v3c changes (2026-07-21): 19 - AI Employees silo: added AI Social Media Manager and 20 AI Blogger cards. !! Avatar paths and hrefs on both are 21 UNVERIFIED PLACEHOLDERS â search "TODO-VERIFY" below. 22 - Swapped 9 icons to the 2026/07 media library batch 23 (root-relative paths, so MEDIA_BASE untouched). 24 - Executive Report icon changed .svg -> .webp: now renders 25 via the full-colour "tile media" branch instead of the 26 tinted "tile glyph" mask branch. Check visual consistency. 27 FIXED on extraction: esc() had been entity-decoded into a 28 no-op by a copy/paste round trip â proper &/</> 29 replacements restored below. 30 ============================================================ */ 31(function(){ 32"use strict"; 33function boot(){ 34const ICONS={ 35 "add_business":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M726-40v-121H606v-60h120v-120h60v120h120v60H786v121h-60ZM104-161v-257H54v-60l44-202h602l45 207v55h-49v167h-60v-167H420v257H104Zm60-60h196v-197H164v197Zm-50-257h572-572ZM98-740v-60h603v60H98Zm16 262h572l-31-142H145l-31 142Z\"/></svg>",
36 "analytics":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M284-277h60v-205h-60v205Zm332 0h60v-420h-60v420Zm-166 0h60v-118h-60v118Zm0-205h60v-60h-60v60ZM180-120q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h600q24 0 42 18t18 42v600q0 24-18 42t-42 18H180Zm0-60h600v-600H180v600Zm0-600v600-600Z\"/></svg>", 37 "apartment":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M120-120v-555h165v-165h390v330h165v390H533v-165H427v165H120Zm60-60h105v-105H180v105Zm0-165h105v-105H180v105Zm0-165h105v-105H180v105Zm165 165h105v-105H345v105Zm0-165h105v-105H345v105Zm0-165h105v-105H345v105Zm165 330h105v-105H510v105Zm0-165h105v-105H510v105Zm0-165h105v-105H510v105Zm165 495h105v-105H675v105Zm0-165h105v-105H675v105Z\"/></svg>", 38 "app_registration":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M179-179q-19-19-19-47t19-47q19-19 47-19t47 19q19 19 19 47t-19 47q-19 19-47 19t-47-19Zm0-254q-19-19-19-47t19-47q19-19 47-19t47 19q19 19 19 47t-19 47q-19 19-47 19t-47-19Zm0-254q-19-19-19-47t19-47q19-19 47-19t47 19q19 19 19 47t-19 47q-19 19-47 19t-47-19Zm254 0q-19-19-19-47t19-47q19-19 47-19t47 19q19 19 19 47t-19 47q-19 19-47 19t-47-19Zm254 0q-19-19-19-47t19-47q19-19 47-19t47 19q19 19 19 47t-19 47q-19 19-47 19t-47-19ZM433.5-433.5Q414-453 414-480t19.5-46.5Q453-546 480-546t46.5 19.5Q546-507 546-480t-19.5 46.5Q507-414 480-414t-46.5-19.5ZM520-160v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z\"/></svg>", 39 "article_person":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M180-180v-600 224-33 409Zm97-270h253.7q2.3-16 6.3-31t12-29H277v60Zm0 171h198q17-14 36.5-23.5T552-319v-20H277v60Zm0-342h406v-60H277v60Zm-97 501q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h600q24 0 42 18t18 42v345q0-37-16.5-68.5T780-556v-224H180v600h248v60H180Zm437.5-248.5Q590-396 590-435t27.5-66.5Q645-529 684-529t66.5 27.5Q778-474 778-435t-27.5 66.5Q723-341 684-341t-66.5-27.5ZM488-120v-51q0-26 11-44.5t31-28.5q37-19 75-28t79-9q41 0 79 8.5t75 28.5q20 9 31 28t11 45v51H488Z\"/></svg>", 40 "automation":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M283-272q-40 34-83.5 30.5T124-272q-32-27-42.5-69.5T98-429l82-137q-27-21-43-52.63-16-31.64-16-68.37 0-63.53 45-108.76Q211-841 275-841t109 45q45 45 45 109t-45.24 109Q338.52-533 275-533q-10.8 0-21.6-1.5T233-539l-84 141q-14 23-8.82 45.11 5.17 22.1 22 36Q179-303 201.5-301.5T244-317l433-372q40-34 84-31t76 30q32 27 42.5 70T863-532l-81 137q27 21 43 52.63 16 31.64 16 68.37 0 63.52-45.54 108.76Q749.91-120 685.96-120 622-120 577.5-165.24 533-210.48 533-274t44.5-108.76Q622-428 686-428q10.73 0 20.87 1 10.13 1 20.13 4l84-140q14-23 8.82-45.11-5.17-22.1-22-36Q781-658 758.5-659.5T716-644L283-272Zm58.5-348.66q27.5-27.66 27.5-66.5t-27.66-66.34q-27.66-27.5-66.5-27.5t-66.34 27.66q-27.5 27.66-27.5 66.5t27.66 66.34q27.66 27.5 66.5 27.5t66.34-27.66Zm411.63 413Q781-235.32 781-274.16t-27.87-66.34q-27.86-27.5-67-27.5Q647-368 620-340.34q-27 27.66-27 66.5t27 66.34q27 27.5 66.13 27.5 39.14 0 67-27.66ZM275-687Zm412 413Z\"/></svg>", 41 "business_center":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M140-120q-24 0-42-18t-18-42v-480q0-24 18-42t42-18h180v-100q0-24 18-42t42-18h200q24 0 42 18t18 42v100h180q24 0 42 18t18 42v480q0 24-18 42t-42 18H140Zm240-600h200v-100H380v100Zm440 349H571v60H391v-60H140v191h680v-191Zm-369 0h60v-60h-60v60Zm-311-60h251v-60h180v60h249v-229H140v229Zm340 30Z\"/></svg>", 42 "chess_rook":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M160-80v-192q76-60 120-133t71-168h-48q-24 0-42-18t-18-42v-247h184v123h106v-123h184v247q0 24-18 42t-42 18h-48q26 95 70.5 168T800-272v192H160Zm60-60h520v-101q-87-79-131.5-171.5T547-573H412q-17 68-61.5 160.5T220-241v101Zm83-493h354v-187h-64v123H367v-123h-64v187Zm177 493ZM303-633h354-354Z\"/></svg>", 43 "clinical_notes":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M595-365q-35-35-35-85t35-85q35-35 85-35t85 35q35 35 35 85t-35 85q-35 35-85 35t-85-35Zm127.5-42.5Q740-425 740-450t-17.5-42.5Q705-510 680-510t-42.5 17.5Q620-475 620-450t17.5 42.5Q655-390 680-390t42.5-17.5ZM440-50v-116q0-21 10-39.5t28-29.5q28-17 58-29.5t62-20.5l82 106 82-106q32 8 61.5 20.5T881-235q18 11 28.5 29.5T920-166v116H440Zm60-60h157l-82-106q-20 8-39 17.5T500-178v68Zm203 0h157v-68q-17-11-35.5-20.5T786-216l-83 106Zm-46 0Zm46 0Zm-523-10q-24.75 0-42.37-17.63Q120-155.25 120-180v-600q0-24.75 17.63
43-42.38Q155.25-840 180-840h600q24.75 0 42.38 17.62Q840-804.75 840-780v247q-11-20-26-37t-34-30v-180H180v600h200v60H180Zm100-500h341q14-5 28.84-7.5T680-630v-50H280v60Zm0 170h220q0-15 2.5-30.5T510-510H280v60Zm0 170h158q17-13 36-21.5t39-16.5v-22H280v60ZM180-180v-600 180-30 450Zm500-270Z\"/></svg>", 44 "collections_bookmark":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M260-260h560v-560h-60v278l-93-57-93 57v-278H260v560Zm0 60q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h560q24 0 42 18t18 42v560q0 24-18 42t-42 18H260ZM140-80q-24 0-42-18t-18-42v-620h60v620h620v60H140Zm434-740h186-186Zm-314 0h560-560Z\"/></svg>", 45 "compare":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M422-40v-80H180q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h242v-80h60v880h-60ZM180-222h242v-277L180-222Zm362 102v-375l238 273v-558H542v-60h238q24 0 42 18t18 42v600q0 24-18 42t-42 18H542Z\"/></svg>", 46 "contact_support":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"m515-80-10-110h-40q-143 0-244-101T120-535q0-143 101.5-244T467-880q71 0 131.5 25.5T704-783q45 46 70.5 108.5T800-538q0 66-19.5 132T724-280q-37 60-90 111T515-80Zm50-108q82-69 128.5-162.5T740-538q0-124-77.5-203T467-820q-120 0-203.5 83.5T180-535q0 118 83.5 201.5T465-250h100v62Zm-71-126q11-11 11-27t-11-27q-11-11-27-11t-27 11q-11 11-11 27t11 27q11 11 27 11t27-11Zm-54-125h50q0-25 8.5-41.5T534-524q27-27 38-49.5t11-48.5q0-45-30.5-74T471-725q-42 0-75 22t-49 60l46 19q11-26 30.5-38.5T468-675q30 0 47 14.5t17 38.5q0 19-11 38.5T482-535q-27 28-34.5 45t-7.5 51Zm-20-65Z\"/></svg>", 47 "dashboard_customize":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M120-840h330v330H120v-330Zm60 59v188-188Zm330-59h330v330H510v-330Zm83 59v188-188ZM120-450h330v330H120v-330Zm60 81v189-189Zm465-81h60v135h135v60H705v135h-60v-135H510v-60h135v-135Zm-75-330v210h210v-210H570Zm-390 0v210h210v-210H180Zm0 390v210h210v-210H180Z\"/></svg>", 48 "deployed_code":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M450-154v-309L180-619v309l270 156Zm60 0 270-156v-310L510-463.16V-154Zm-30-360 266-155-266-154-267 154 267 155ZM150-258q-14.25-8.43-22.12-22.21Q120-294 120-310v-340q0-16 7.88-29.79Q135.75-693.57 150-702l300-173q14.33-8 30.16-8 15.84 0 29.84 8l300 173q14.25 8.43 22.13 22.21Q840-666 840-650v340q0 16-7.87 29.79Q824.25-266.43 810-258L510-85q-14.33 8-30.16 8Q464-77 450-85L150-258Zm330-222Z\"/></svg>", 49 "distance":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M307-111q-67-31-67-79 0-26 23-49.5t63-38.5l45 42q-20 5-39 18.5T299-190q17 20 70.5 35T480-140q57 0 111-15t71-35q-14-15-35-28t-41-18l46-42q42 15 65 38.5t23 49.5q0 48-67 79T480-80q-106 0-173-31Zm174-164q109-81 164-164t55-155q0-112-71-169t-149-57q-77 0-148.5 57T260-594q0 73 55 152t166 167Zm-1 75Q340-304 270-402t-70-192q0-71 25.5-124.5t66-89.5q40.5-36 90-54t98.5-18q49 0 99 18t90 54q40 36 65.5 89.5T760-594q0 94-69.5 192T480-200Zm0-320q33 0 56.5-23.5T560-600q0-33-23.5-56.5T480-680q-33 0-56.5 23.5T400-600q0 33 23.5 56.5T480-520Zm0-80Z\"/></svg>", 50 "diversity_3":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M40-160v-160q0-29 20.5-49.5T110-390h141q17 0 32.5 8.5T310-358q29 42 74 65t96 23q51 0 96-23t75-65q11-15 26-23.5t32-8.5h141q29 0 49.5 20.5T920-320v160H660v-119q-36 33-82.5 51T480-210q-51 0-97-18t-83-51v119H40Zm440-170q-35 0-67.5-16.5T360-392q-16-23-38.5-37T273-448q29-30 91-46t116-16q54 0 116.5 16t91.5 46q-26 5-48.5 19T601-392q-20 29-52.5 45.5T480-330ZM160-460q-45 0-77.5-32.5T50-570q0-46 32.5-78t77.5-32q46 0 78 32t32 78q0 45-32 77.5T160-460Zm640 0q-45 0-77.5-32.5T690-570q0-46 32.5-78t77.5-32q46 0 78 32t32 78q0 45-32 77.5T800-460ZM480-580q-45 0-77.5-32.5T370-690q0-46 32.5-78t77.5-32q46 0 78 32t32 78q0 45-32 77.5T480-580Z\"/></svg>", 51 "equalizer":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M160-160v-320h140v320H160Zm250 0v-640h140v640H410Zm250 0v-440h140v440H660Z\"/></svg>", 52 "event":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M528-248.18q-28-28.19-28-69Q500-358 528.18-386q28.19-28 69-28Q638-414 666-385.82q28 28.19 28 69Q694-276 665.82-248q-28.19 28-69 28Q556-220 528-248.18ZM180-80q-24 0-42-18t-18-42v-620q0-24 18-42t42-18h65v-60h65v60h340v-60h65v60h65q24 0 42 18t18 42v62
520q0 24-18 42t-42 18H180Zm0-60h600v-430H180v430Zm0-490h600v-130H180v130Zm0 0v-130 130Z\"/></svg>", 53 "extension":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M356-120H180q-24 0-42-18t-18-42v-176q44-5 75.5-34.5T227-463q0-43-31.5-72.5T120-570v-176q0-24 18-42t42-18h177q11-40 39.5-67t68.5-27q40 0 68.5 27t39.5 67h173q24 0 42 18t18 42v173q40 11 65.5 41.5T897-461q0 40-25.5 67T806-356v176q0 24-18 42t-42 18H570q-5-48-35.5-77.5T463-227q-41 0-71.5 29.5T356-120Zm-176-60h130q25-61 69.89-84t83-23Q501-287 546-264t70 84h130v-235h45q20 0 33-13t13-33q0-20-13-33t-33-13h-45v-239H511v-48q0-20-13-33t-33-13q-20 0-33 13t-13 33v48H180v130q48.15 17.82 77.58 59.69Q287-514.45 287-462.78 287-412 257.5-370T180-310v130Zm285-281Z\"/></svg>", 54 "filter_alt":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M440-160q-17 0-28.5-11.5T400-200v-240L161-745q-14-17-4-36t31-19h584q21 0 31 19t-4 36L560-440v240q0 17-11.5 28.5T520-160h-80Zm40-276 240-304H240l240 304Zm0 0Z\"/></svg>", 55 "finance_mode":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M318-420v-295h90v295l-45-45-45 45Zm194 91v-551h90v461l-90 90ZM124-229v-320h90v230l-90 90Zm-4 111 246-246 149 132 262-262h-88v-60h191v190h-60v-88L517-149 368-280 206-118h-86Z\"/></svg>", 56 "group_add":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M474-486q26-32 38.5-66t12.5-79q0-45-12.5-79T474-776q76-17 133.5 23T665-631q0 82-57.5 122T474-486Zm216 326v-94q0-51-26-95t-90-74q173 22 236.5 64T874-254v94H690Zm110-289v-100H700v-60h100v-100h60v100h100v60H860v100h-60Zm-593-74q-42-42-42-108t42-108q42-42 108-42t108 42q42 42 42 108t-42 108q-42 42-108 42t-108-42ZM0-160v-94q0-35 18.5-63.5T68-360q72-32 128.5-46T315-420q62 0 118 14t128 46q31 14 50 42.5t19 63.5v94H0Zm315-381q39 0 64.5-25.5T405-631q0-39-25.5-64.5T315-721q-39 0-64.5 25.5T225-631q0 39 25.5 64.5T315-541ZM60-220h510v-34q0-16-8-30t-25-22q-69-32-117-43t-105-11q-57 0-104.5 11T92-306q-15 7-23.5 21.5T60-254v34Zm255-411Zm0 411Z\"/></svg>", 57 "handshake":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M475-140q5 0 11.5-2.5T497-149l337-338q13-13 19.5-29.67Q860-533.33 860-550q0-17-6.5-34T834-614L654-794q-13-13-30-19.5t-34-6.5q-16.67 0-33.33 6.5Q540-807 527-794l-18 18 81 82q13 14 23 32.5t10 40.5q0 38-29.5 67T526-525q-25 0-41.5-7.5t-30.19-21.34L381-627 200-446q-5 5-7 10.53-2 5.52-2 11.84 0 12.63 8.5 21.13 8.5 8.5 21.17 8.5 6.33 0 11.83-3t9.5-7l138-138 42 42-137 137q-5 5-7 11t-2 12q0 12 9 21t21 9q6 0 11.5-2.5t9.5-6.5l138-138 42 42-137 137q-4 4-6.5 10.33-2.5 6.34-2.5 12.67 0 12 9 21t21 9q6 0 11-2t10-7l138-138 42 42-138 138q-5 5-7 11t-2 11q0 14 8 22t22 8Zm.06 60Q442-80 416-104.5t-31-60.62Q351-170 328-193t-28-57q-34-5-56.5-28.5T216-335q-37-5-61-30t-24-60q0-17 6.72-34.05Q144.45-476.1 157-489l224-224 110 110q8 8 17.33 12.5 9.34 4.5 18.67 4.5 13 0 24.5-11.5t11.5-24.65q0-5.85-3.5-13.35T548-651L405-794q-13-13-30-19.5t-34-6.5q-16.67 0-33.33 6.5-16.67 6.5-29.61 19.36L126-642q-14 14-19.5 29.5t-6.5 35q-1 19.5 7.5 38T128-506l-43 43q-20-22-32.5-53T40-579q0-30 11.5-57.5T84-685l151-151q22-22 49.79-32.5 27.8-10.5 57-10.5 29.21 0 56.71 10.5T448-836l18 18 18-18q22-22 49.79-32.5 27.8-10.5 57-10.5 29.21 0 56.71 10.5T697-836l179 179q22 22 33 50.03 11 28.04 11 57 0 28.97-11 56.47T876-444L539-107q-13 13-29.53 20t-34.41 7ZM377-626Z\"/></svg>", 58 "highlight_mouse_cursor":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M516-82q-9 1-18 1.5t-18 .5q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 9-.5 18t-1.5 18l-58-18v-18q0-142-99-241t-241-99q-142 0-241 99t-99 241q0 142 99 241t241 99h18l18 58Zm305 22L650-231 600-80 480-480l400 120-151 50 171 171-79 79Z\"/></svg>", 59 "library_books":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M343-420h225v-60H343v60Zm0-90h395v-60H343v60Zm0-90h395v-60H343v60Zm-83 400q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h560q24 0 42 18t18 42v560q0 24-18 42t-42 18H260Zm0-60h560v-560H260v560ZM140-80q-24 0-42-18t-18-42v-620h60v620h620v60H140Zm120-740v560-560Z\"/></svg>", 60 "list_alt_check":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M180-180v-600 530-88 158Zm0 60q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h600q24 0 42 18t18 42v390h-60v-390H180v600h340v60H180Zm522 40L572-210l42-43 88 88 175-175 43 42L702-80ZM321-459q9-9 9-21t-9-21q-9-9-21-9t-21 9q-9 9-9 21t9 21q9 9 21 9t21-9Zm0-164q9-9 9-21t-9-21q-9-9-21-9t-21 9q-9 9-9 21t9 21q9 9 21 9t21-9Zm111 173h244v-60H432v60Zm0-164h244v-60H432v60Z\"/></svg>", 61 "map_pin_review":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M264-185q22-20 48.5-48t49.5-60q23-32 39.5-65.21Q418-391.42 418-422q0-69.33-43.31-114.67Q331.38-582 264-582q-67.37 0-110.69 45.35Q110-491.3 110-421.94 110-391 126.5-358t39.5 65q23 32 49.5 60t48.5 48ZM80-80v-40h166q-29-27-66-64.5T111-266q-26-37-43.5-76.5T50-422.15q0-93.67 61.5-156.76Q173-642 264-642t152.5 63.09Q478-515.82 478-422.15q0 40.15-17.5 79.65Q443-303 417-266q-32 45-69.5 82.5T281-120h599v40H80Zm524-514Zm-14 340-71-114 34-60 37 60 38-60h192v-392H387v108h-60v-108q0-24 18-42t42-18h433q24 0 42 18t18 42v392q0 24-18 42t-42 18H661l-71 114Zm-68-261 81.5-49 81.5 49-22-92 72-63-94.81-8-36.69-87-36.69 87-94.81 8 72 63-22 92ZM264-359q30.42 0 51.71-21.29T337-432q0-30.42-21.29-51.71T264-505q-30.42 0-51.71 21.29T191-432q0 30.42 21.29 51.71T264-359Zm0-73Z\"/></svg>", 62 "news":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M180-120q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h462l198 198v462q0 24-18 42t-42 18H180Zm0-60h600v-428.57H609V-780H180v600Zm99-111h402v-60H279v60Zm0-318h201v-60H279v60Zm0 159h402v-60H279v60Zm-99-330v171.43V-780v600-600Z\"/></svg>", 63 "podcasts":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M450-80v-326q-22-9-36-29t-14-45q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 25-14 45t-36 29v326h-60ZM204-190q-57-55-90.5-129.5T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 86-33.5 160.5T756-190l-43-43q50-47 78.5-110T820-480q0-142-99-241t-241-99q-142 0-241 99t-99 241q0 74 28.5 137T247-233l-43 43Zm113-113q-35-33-56-78.5T240-480q0-100 70-170t170-70q100 0 170 70t70 170q0 53-21 98.5T643-303l-43-43q28-25 44-59t16-75q0-75-52.5-127.5T480-660q-75 0-127.5 52.5T300-480q0 41 16 75t44 59l-43 43Z\"/></svg>", 64 "query_stats":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"m89-412-49-36 193-310 125 146 165-268 125 186 143-226 48 35-190 301-124-184-159 258-125-146L89-412Zm494 192q48 0 82.5-33.5T700-335q0-49-34-83t-83-34q-48 0-81.5 34.5T468-335q0 48 33.5 81.5T583-220ZM797-80 685-192q-22 15-47.5 23.5T583-160q-73 0-124-51t-51-124q0-73 51-125t124-52q74 0 125.5 51.5T760-335q0 29-8.5 54.5T727-233l112 111-42 42Z\"/></svg>", 65 "rebase":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"m430-45-42-42 83-83H316q-10 39-42 64.5T200-80q-50 0-85-35t-35-85q0-42 25.5-74t64.5-42v-328q-39-10-64.5-42T80-760q0-50 35-85t85-35q42 0 74 25.5t42 64.5h155l-83-83 42-42 156 155-156 155-42-42 83-83H316q-8 32-31 55t-55 31v328q32 8 55 31t31 55h155l-83-83 42-42 156 155L430-45Zm245-70q-35-35-35-85 0-41.98 25.5-73.99T730-316v-328q-39-10-64.5-42.01T640-760q0-50 35-85t85-35q50 0 85 35t35 85q0 42-25.5 74T790-644v328q39 10 64.5 42t25.5 74q0 50-35 85t-85 35q-50 0-85-35Zm-475-25q25.5 0 42.75-17.25T260-200q0-25.5-17.25-42.75T200-260q-25.5 0-42.75 17.25T140-200q0 25.5 17.25 42.75T200-140Zm560 0q25.5 0 42.75-17.25T820-200q0-25.5-17.25-42.75T760-260q-25.5 0-42.75 17.25T700-200q0 25.5 17.25 42.75T760-140ZM200-700q25.5 0 42.75-17.25T260-760q0-25.5-17.25-42.75T200-820q-25.5 0-42.75 17.25T140-760q0 25.5 17.25 42.75T200-700Zm560 0q25.5 0 42.75-17.25T820-760q0-25.5-17.25-42.75T760-820q-25.5 0-42.75 17.25T700-760q0 25.5 17.25 42.75T760-700ZM200-700Zm560 0ZM200-760Zm560 0Z\"/></svg>", 66 "rocket_launch":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\">
66<path d=\"m187-551 106 45q18-36 38.5-71t43.5-67l-79-16-109 109Zm154 81 133 133q57-26 107-59t81-64q81-81 119-166t41-192q-107 3-192 41T464-658q-31 31-64 81t-59 107Zm209-145.5q0-29.5 20-49.5t49.5-20q29.5 0 49.5 20t20 49.5q0 29.5-20 49.5t-49.5 20q-29.5 0-49.5-20t-20-49.5Zm5 432.5 109-109-16-79q-32 23-67 43.5T510-289l45 106Zm326-694q9 136-34 248T705-418l-2 2-2 2 22 110q3 15-1.5 29T706-250L535-78l-85-198-170-170-198-85 172-171q11-11 25-15.5t29-1.5l110 22q1-1 2-1.5t2-1.5q99-99 211-142.5T881-877ZM149-325q35-35 85.5-35.5T320-326q35 35 34.5 85.5T319-155q-26 26-80.5 43T75-80q15-109 31.5-164t42.5-81Zm42 43q-14 15-25 47t-19 82q50-8 82-19t47-25q19-17 19.5-42.5T278-284q-19-18-44.5-17.5T191-282Z\"/></svg>", 67 "shoppingmode":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M446.75-80q-11.25 0-22.5-4.25T404-97L98-404q-9-8-13.5-19.5T80-446.25q0-11.25 4.3-22.5Q88.61-480 98-489l373-373q8.3-8.25 19.61-13.13Q501.93-880 514-880h307q24.75 0 42.38 17.62Q881-844.75 881-820v306q0 12.09-5 23.04Q871-480 863-472L489-97q-9 8-20 12.5T446.75-80ZM445-138l376-378v-304H514L139-445l306 307Zm271-526q21 0 36.5-15.5T768-716q0-21-15.5-36.5T716-768q-21 0-36.5 15.5T664-716q0 21 15.5 36.5T716-664ZM480-479Z\"/></svg>", 68 "space_dashboard":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M180-120q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h600q24 0 42 18t18 42v600q0 24-18 42t-42 18H180Zm0-60h270v-600H180v600Zm330 0h270v-301H510v301Zm0-361h270v-239H510v239Z\"/></svg>", 69 "stars_2":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"m323-245 157-94 157 95-42-178 138-120-182-16-71-168-71 167-182 16 138 120-42 178Zm-90 125 65-281L80-590l288-25 112-265 112 265 288 25-218 189 65 281-247-149-247 149ZM480-485Z\"/></svg>", 70 "support_agent":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M440-120v-60h340v-304q0-123.69-87.32-209.84Q605.36-780 480-780q-125.36 0-212.68 86.16Q180-607.69 180-484v244h-20q-33 0-56.5-23.5T80-320v-80q0-21 10.5-39.5T120-469l3-53q8-68 39.5-126t79-101q47.5-43 109-67T480-840q68 0 129 24t109 66.5Q766-707 797-649t40 126l3 52q19 9 29.5 27t10.5 38v92q0 20-10.5 38T840-249v69q0 24.75-17.62 42.37Q804.75-120 780-120H440ZM338.5-418.68q-8.5-8.67-8.5-21.5 0-12.82 8.68-21.32 8.67-8.5 21.5-8.5 12.82 0 21.32 8.68 8.5 8.67 8.5 21.5 0 12.82-8.68 21.32-8.67 8.5-21.5 8.5-12.82 0-21.32-8.68Zm240 0q-8.5-8.67-8.5-21.5 0-12.82 8.68-21.32 8.67-8.5 21.5-8.5 12.82 0 21.32 8.68 8.5 8.67 8.5 21.5 0 12.82-8.68 21.32-8.67 8.5-21.5 8.5-12.82 0-21.32-8.68ZM241-462q-7-106 64-182t177-76q87 0 151 57.5T711-519q-89-1-162.5-50T434.72-698Q419-618 367.5-555.5T241-462Z\"/></svg>", 71 "video_library":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"m424-373 260-167-260-167v334ZM260-200q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h560q24 0 42 18t18 42v560q0 24-18 42t-42 18H260Zm0-60h560v-560H260v560ZM140-80q-24 0-42-18t-18-42v-620h60v620h620v60H140Zm120-740v560-560Z\"/></svg>", 72 "view_kanban":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"M279-277h60v-406h-60v406Zm342-80h60v-326h-60v326ZM450-477h60v-206h-60v206ZM180-120q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h600q24 0 42 18t18 42v600q0 24-18 42t-42 18H180Zm0-60h600v-600H180v600Zm0-600v600-600Z\"/></svg>", 73 "workspace_premium":"<svg viewBox=\"0 -960 960 960\" aria-hidden=\"true\"><path d=\"m385-412 36-115-95-74h116l38-119 37 119h117l-95 74 35 115-94-71-95 71ZM244-40v-304q-45-47-64.5-103T160-560q0-136 92-228t228-92q136 0 228 92t92 228q0 57-19.5 113T716-344v304l-236-79-236 79Zm420.5-335.5Q740-451 740-560t-75.5-184.5Q589-820 480-820t-184.5 75.5Q220-669 220-560t75.5 184.5Q371-300 480-300t184.5-75.5ZM304-124l176-55 176 55v-171q-40 29-86 42t-90 13q-44 0-90-13t-86-42v171Zm176-86Z\"/></svg>", 74}; 75 76const MEDIA_BASE='https://www.vendasta.com/wp-content/uploads/2026/06/'; // <- set to your media library upload folder 77 78const SILOS=[ 79 {key:'ai-employees',name:'AI Employees',tag:'A workforce that works around the clock.', 80 feature:{title:'What are missed calls costing you?',body:'Model captured leads, retention and revenue with the AI Employee ROI calculator.',cta:'Calculate ROI',href:'/content-library/tools/ai-employee-roi-calculator/'}, 81 sections:[ 82 {header:'The AI workforce',items:[['AI Receptionist','Answer customer calls, capture leads, and book appointments 24/7','/wp-content/uploads/2026/03/AI-Receptionist-1.webp','/ai-employees/receptionist/'],['AI Reputation Specialist','Manage online reviews, automate review requests, and build trust','/wp-content/uploads/2026/03/AI-Reputation-Specialist-1.webp','/ai-employees/reputation-specialist/'],['AI Sales Assistant','Manage leads, automate CRM updates, and deliver sales insights','/wp-content/uploads/2026/03/AI-Sales-Assistant-1.webp','/ai-employees/sales-assistant/'],['AI Social Media Manager','Create, publish, and manage engaging social media content','/wp-content/uploads/2026/07/ai-social-media-manager-nav-icon.webp','/ai-employees/social-media-manager/'],['AI Blogger','Create SEO blog content and automatically publish to WordPress','/wp-content/uploads/2026/07/ai-blogger-nav-icon.webp','/ai-employees/blogger/']]}, /* TODO-VERIFY: avatar paths + hrefs on the last two cards are inferred placeholders */ 83 {header:'More roles',items:[['AI Inside Salesperson','Qualify leads, engage prospects, and book high-value meetings','/wp-content/uploads/2026/03/AI-Inside-Salesperson-icon-1.webp','/ai-employees/inside-salesperson/'],['AI Support Agent','Deliver customer support through SMS, chat, and instant responses','/wp-content/uploads/2026/03/AI-Support-Agent-1.webp','/ai-employees/support-agent/'],['AI Data Analyst','Analyze CRM, review, and social data to deliver business insights','/wp-content/uploads/2026/03/AI-Data-Analyst-icon.webp','/ai-employees/data-analyst/']]}, 84 {header:'Get started',items:[['Meet Our AI Employees','Grow your business with AI employees that automate marketing, sales, and operations','/wp-content/uploads/2025/12/Generate-AI-Icon-Spark-with-Backgroun
84d.webp','/ai-employees/'],['Build your own AI Employee','Create custom AI employees for everyday tasks across your business','/wp-content/uploads/2026/03/AI-Custom-Employees.webp','/ai-employees/custom-ai-employees/'],['AI Workforce Optimization Plan','Our expert team sets up, monitors, and optimizes every AI employee','/wp-content/uploads/2025/12/AI-Employee-Setup-icon.webp','/ai-employees/optimization-plan/']]} 85 ]}, 86 {key:'software',name:'Software',tag:'Every tool a local business needs, in one platform.', 87 feature:{title:'The platform',body:'Business App, Marketplace, Integrations, and reporting â the connective tissue behind every product.',cta:'All products & software',href:'/software/'}, 88 sections:[ 89 {header:'Engage & retain',cols4:true,items:[['Reputation AI','AI-powered reputation management software to monitor reviews, respond instantly, and build customer trust.','/wp-content/uploads/2026/07/Reputation-AI-icon.webp','/reputation/reputation-ai/'],['Conversations AI','Conversational AI software that centralizes customer communications across every channel in one unified inbox.','/wp-content/uploads/2026/07/Conversations-AI-icon.webp','/conversations-ai/'],['Social AI','Social media management software to create, schedule, and publish AI-powered content across channels.','/wp-content/uploads/2026/07/Social-AI-icon.webp','/social-ai/'],['Yesware','Sales engagement software that streamlines email outreach, tracking, and follow-ups to close more deals.','yesware-nav-icon.webp','https://www.yesware.com/']]}, 90 {header:'Get & convert',items:[['CRM AI','AI-powered CRM software to manage leads, contacts, pipelines, and sales opportunities in one place.','/wp-content/uploads/2026/07/CRM-AI-icon.webp','/crm-ai/'],['Campaigns','Email and SMS marketing software to create campaigns, automate customer engagement, and drive conversions.','/wp-content/uploads/2026/07/Campaigns-icon.webp','/campaigns/'],['Local SEO','Local SEO software that manages business listings and improves visibility across search and local directories.','/wp-content/uploads/2026/07/SEO-AI-icon.webp','/local-listings/local-seo/']]}, 91 {header:'Advertise & build',cols4:true,items:[['Vendasta Ads','Ad campaign management software to automate and optimize search, display, and social advertising.','/wp-content/uploads/2026/08/Vendasta-Ads-icon.webp','/ads/'],['Advert
91ising Intelligence','Advertising analytics software with unified reporting across Google, Meta, and other digital advertising platforms.','/wp-content/uploads/2026/07/Advertising-Intelligence-icon.webp','/advertising/advertising-intelligence/'],['Vibe','AI app builder for creating custom business applications and AI-powered workflows through chat.','/wp-content/uploads/2026/07/Vibe-icon.webp','/vibe/'],['WordPress Hosting','Managed WordPress hosting with Google Cloud infrastructure for fast, secure, and scalable websites.','/wp-content/uploads/2026/07/Wordpress-Hosting-icon.webp','/websites/wordpress-hosting/']]} 92 ]}, 93 {key:'automations',name:'Automations',tag:'Run the operation, not the busywork.', 94 feature:{title:'Run your operation, not your tech stack',body:'See how scaling teams tie reporting, fulfillment and multi-location ops together.',cta:'Automations overview',href:'/automations/'}, 95 sections:[ 96 {header:'Capabilities',cols4:true,items:[['Workflow Automations','Let AI handle the recurring work your team does manually','workflow-automations-nav-icon.svg','/automations/'],['Executive Report','Prove impact with automatically delivered insights','executive-report-nav-icon.svg','/platform/business-app/executive-report/'],['Multi-Location Dashboard','Roll every location into one view with drill-downs','multi-location-dashboard-nav-icon.svg','/platform/multilocation-solutions/'],['Project Management','Templated tasks, deadlines, and SLA tracking for ops','project-management-nav-icon.svg','/platform/task-manager/']]}, 97 {header:'Popular workflows',items:[['Automated client reporting','Replace the end-of-month rollup with scheduled reports','automated-client-reporting-nav-icon.svg','/blog/automated-client-reporting/'],['Agency fulfillment at scale','Standardize the work between client kickoff and renewal','agency-fulfillment-scale-nav-icon.svg','/blog/agency-automation/'],['Review response at scale','Auto-draft on-brand replies for every review, everywhere','review-response-scale-nav-icon.svg','/blog/review-response-automation/']]}, 98 {header:'Connect your stack',items:[['Integrations','Move data across the 50+ tools your team already uses','integrations-nav-icon.svg','/integrations/'],['AI-assisted workflows','Drop an AI employee into any workflow step, no code','ai-assisted-workflows-nav-icon.svg','/blog/ai-workflow-automation/'],['Compare platforms','See how Vendasta compares to HubSpot, Zapier, and more','compare-platforms-nav-icon.svg','/compare/']]} 99 ]}, 100 {key:'get-customers',name:'Get Customers',tag:'Turn local search into booked customers.', 101 feature:{title:'Prefer expert help?',body:'Connect with a Vendasta AI Certified Partner who already builds acquisition engines for local businesses.',cta:'Find a partner',href:'/vendasta-ai-certified-partners/'}, 102 sections:[ 103 {header:'Start here',items:[['Get more customers','Build a 24/7 engine that captures, qualifies, and books leads','add_business','/get-customers/'],['Snapshot Reports','Spot marketing gaps across listings, reviews, SEO, and social','news','/platform/snapshot/'],['Sales funnel optimization','Turn captured leads into booked jobs without bigger budgets','filter_alt','/blog/sales-funnel-lead-generation/']]}, 104 {header:'Lead generation',items:[['Build a digital marketing strategy','A repeatable 10-step framework, from buyer persona to tracking','chess_rook','/content-library/guides/digital-marketing-guide-local-smbs/'],['Digital marketing lead generation','Ten proven tactics to fill any local businessâs pipeline','highlight_mouse_cursor','/blog/lead-generation-best-practices/'],['Local lead generation','Proximity-based tactics that fill a local pipeline fast','distance','/blog/local-lead-generation/']]}, 105 {header:'For agencies',items:[['Start a marketing agency','The step-by-step launch plan for new agency partners','rocket_launch','/how-to-start-digital-marketing-agency/'],['Grow your agency','Scale past the headcount-equals-revenue ceiling','finance_mode','/grow-your-agency/'],['Agency growth audit','See where margin leaks and what AI can absorb','query_stats','/agency-growth-quiz/']]} 106 ]}, 107 {key:'partners',name:'Partners',tag:'Resell the whole platform as your own.', 108 feature:{title:'Turn AI into recurring revenue',body:'66,000+ partners resell the full platform under their own brand.',cta:'Apply to be AI Certified',href:'/ai-certified-partner-application/'}, 109 sections:[ 110 {header:'The program',items:[['Become a Vendasta Partner','Resell the full AI platform under your own brand','become-vendasta-partner-nav-icon.svg','/partners/'],['Become AI Certified','Earn certified status, exclusive leads, and a directory spot','become-ai-certified-nav-icon.svg','/vendasta-ai-certification/'],['AI Certified Partner directory','Browse certified partners â and get found by SMBs','ai-certified-directory-nav-icon.svg','/vendasta-ai-certified-partners/']]}, 111 {header:'Who partners with us',cols4:true,items:[['Digital marketing agencies','Scale revenue without scaling headcount or your stack','digital-marketing-agencies-nav-icon.svg','/solutions/mid-market/'],['Software vendors','Embed a white-label AI workforce into your platform','software-vendors-nav-icon.svg','/solutions/software-vendor/'],['Franchises','Deploy one AI workforce standard across every location','franchises-nav-icon.svg','/solutions/franchises/'],['Explore industries','Find the solution that fits your business needs','explore-industries-nav-icon.svg','/solutions/']]}, 112 {header:'Resell & services',items:[['White-label AI software','Re
112sell the AI platform with your domain and branding','white-label-software-nav-icon.svg','/blog/white-label-ai-software/'],['White-label services','We deliver listings, websites, and social under your brand','white-label-services-nav-icon.svg','/services/'],['Become a Vendor','Get your product in front of 66,000+ partners','become-vendor-nav-icon.svg','/vendors/']]} 113 ]}, 114 {key:'resources',name:'Resources',tag:'Guides, tools, and proof in one place.', 115 feature:{title:'Everything in one place',body:'The front door to every guide, webinar, tool and playbook.',cta:'Browse all resources',href:'/resources/'}, 116 sections:[ 117 {header:'Learn',cols4:true,items:[['Blog','Find the latest in sales, marketing, and agency growth strategies','blog-nav-icon.svg','/blog/'],['Content Library','156+ free guides, webinars, playbooks, and reports','content-library-nav-icon.svg','/content-library/'],['Case Studies','Read success stories from a wide variety of businesses using Vendasta','case-studies-nav-icon.svg','/case-studies/'],['AI Employee Success Stories','Real results from real businesses using Vendasta AI','ai-employee-stories-nav-icon.svg','/ai-employee-success-stories']]}, 118 {header:'Watch & listen',items:[['Events & Webinars','Live and on-demand webinars for insights and strategies to grow local businesses','events-webinars-nav-icon.svg','/content-library/events-webinars/'],['Video library','On-demand videos and product walkthroughs to level up your team','video-library-nav-icon.svg','/content-library/youtube-content-library/'],['Conquer Local podcast','Conversations on agency growth, sales, and local marketing','conquer-local-podcast-nav-icon.svg','/blog/podcasts/']]}, 119 {header:'Support',items:[['24/7 Support','Get help anytime from Vendastaâs support team and resources','support-24-7-nav-icon.svg','https://docs.vendasta.com/'],['Community','Engage in discussions about Vendasta and industry trends','community-nav-icon.svg','https://www.facebook.com/groups/vendasta']]} 120 ]} 121]; 122 123const esc=s=>s.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); 124const overlay=document.getElementById('overlay'); 125const ovIndex=document.getElementById('ovIndex'); 126const ovContent=document.getElementById('ovContent'); 127const topNav=document.getElementById('topNav'); 128const scrollFade=document.getElementById('scrollFade'); 129const ovMobile=document.getElementById('ovMobile'); 130 131/* Markup-absent guard: nav.js may be enqueued on pages where the 132 .vnav3b markup isn't present (e.g. during page-gated rollout). 133 Bail silently instead of throwing on null lookups. */ 134if(!overlay||!ovIndex||!ovContent||!topNav||!scrollFade||!ovMobile){return;} 135 136SILOS.forEach(s=>{ 137 /* Added nav_item to top level tabs */ 138 const b=document.createElement('button');b.className='navitem nav_item'; 139 b.innerHTML=`${esc(s.name)} <i class="car"></i>`; 140 b.addEventListener('click',()=>openOverlay(s.key)); 141 topNav.appendChild(b); 142}); 143/* Added nav_item to top-level pricing */ 144const pricingTop=document.createElement('button');pricingTop.className='navitem nav-pricing nav_item';pricingTop.innerHTML='Pricing <span class="parrow">â</span>';topNav.appendChild(pricingTop);pricingTop.addEventListener('click',()=>{window.location.href='/pricing';}); 145 146function renderIndex(activeKey){ 147 /* Added nav_item to silo index links */ 148 let html=`<div class="ix-eyebrow">Explore Vendasta</div>`+SILOS.map(s=> 149 `<a class="silo nav_item ${s.key===activeKey?'active':''}" data-key="${s.key}">${esc(s.name)}<span class="tag">${esc(s.tag)}</span></a>`).join(''); 150 html+=`<a class="silo silo-pricing nav_item" data-key="pricing">Pricing <span class="parrow">â</span></a>`; 151 ovIndex.innerHTML=html; 152 ovIndex.querySelectorAll('.silo').forEach(el=>el.addEventListener('click',()=>{if(el.dataset.key==='pricing'){window.location.href='/pricing';}else{setSilo(el.dataset.key);}})); 153} 154function sectionsHTML(s){ 155 const secs=s.sections.map(sec=>{ 156 const cards=sec.items.map(it=>{ 157 const [t,d,ic,href]=it; 158 const abs=/^(data:|https?:\/\/|\/)/i.test(ic); 159 const src=abs?ic:MEDIA_BASE+ic; 160 let tile; 161 if(/\.svg$/i.test(ic)){ 162 tile=`<div class="tile glyph"><i class="gi" style="--gi:url('${src}')"></i></div>`; 163 }else if(/^data:image|\.(png|jpe?g|webp)$/i.test(ic)){ 164 const cls=s.key==='ai-employees'?'tile media avatar':'tile media'; 165 tile=`<div class="${cls}"><img src="${src}" alt="" loading="lazy"></div>`; 166 }else{ 167 tile=`<div class="tile">${ICONS[ic]||''}</div>`; 168 } 169 const inner=`<div class="crow">${tile}<div class="ct">${esc(t)}</div></div><div class="cd">${esc(d)}</div>`; 170 /* Added nav_item to submenu links/cards */ 171 if(href){ 172 const isExternal=/^https?:\/\//.test(href); 173 const target=isExternal?' target="_blank" rel="noopener"':''; 174 return `<a class="ccard nav_item" href="${href}"${target}>${inner}</a>`; 175 } 176 return `<div class="ccard nav_item">${inner}</div>`; 177 }).join(''); 178 return `<div class="section"><h4>${esc(sec.header)}</h4><div class="grid ${sec.cols4?'cols4':''}">
178${cards}</div></div>`; 179 }).join(''); 180 const f=s.feature; 181 const fHref=f.href||'#'; 182 const fExternal=/^https?:\/\//.test(fHref); 183 const fTarget=fExternal?' target="_blank" rel="noopener"':''; 184 /* Added nav_item to right-hand feature CTA */ 185 return secs+`<div class="banner"><div><div class="bt">${esc(f.title)}</div><div class="bd">${esc(f.body)}</div></div><a href="${fHref}"${fTarget}><button class="btn btn-white nav_item">${esc(f.cta)}</button></a></div>`; 186} 187function renderContent(s){ ovContent.innerHTML=sectionsHTML(s); } 188function setSilo(key){ 189 const s=SILOS.find(x=>x.key===key); if(!s)return; 190 overlay.classList.remove('picker'); 191 renderIndex(key); renderContent(s); 192 overlay.scrollTop=0; requestAnimationFrame(updateScrollHint); 193} 194function openOverlay(key){ setSilo(key); overlay.classList.add('open'); overlay.scrollTop=0; document.body.style.overflow='hidden'; requestAnimationFrame(updateScrollHint); } 195function openPicker(){ overlay.classList.add('open','picker'); renderIndex(null); overlay.scrollTop=0; document.body.style.overflow='hidden'; updateScrollHint(); } 196function closeOverlay(){ overlay.classList.remove('open'); document.body.style.overflow=''; scrollFade.classList.remove('show'); } 197function updateScrollHint(){ 198 if(!overlay.classList.contains('open')||overlay.classList.contains('picker')){scrollFade.classList.remove('show');return;} 199 const more=overlay.scrollHeight-overlay.clientHeight-overlay.scrollTop>40; 200 scrollFade.classList.toggle('show',more); 201} 202overlay.addEventListener('scroll',updateScrollHint); 203window.addEventListener('resize',updateScrollHint); 204document.getElementById('closeBtn').addEventListener('click',closeOverlay); 205/* v3d: pinned to an explicit key (was SILOS[0].key) so reordering the 206 SILOS array never silently changes which silo the hamburger opens. */ 207document.getElementById('hamb').addEventListener('click',()=>openOverlay('ai-employees')); 208document.addEventListener('keydown',e=>{if(e.key==='Escape'){closeOverlay();companyWrap.classList.remove('open');companyBtn.setAttribute('aria-expanded','false');}}); 209 210/* Company dropdown (click toggle + outside-click close; hover also works via CSS) */ 211const companyWrap=document.getElementById('companyWrap'); 212const companyBtn=document.getElementById('companyBtn'); 213companyBtn.addEventListener('click',e=>{e.stopPropagation();const open=companyWrap.classList.toggle('open');companyBtn.setAttribute('aria-expanded',open);}); 214document.addEventListener('click',e=>{if(!companyWrap.contains(e.target)){companyWrap.classList.remove('open');companyBtn.setAttribute('aria-expanded','false');}}); 215 216/* Mobile stacked accordion: built once at load (no resize listener) */ 217function mobileExpand(p){ 218 if(!p)return; 219 p.setAttribute('data-open','1'); 220 p.style.maxHeight=p.scrollHeight+'px'; 221 p.addEventListener('transitionend',function te(ev){ 222 if(ev.propertyName!=='max-height')return; 223 p.removeEventListener('transitionend',te); 224 if(p.getAttribute('data-open')==='1'){p.style.maxHeight='none';} /* let lazy imgs grow it */ 225 }); 226} 227function mobileCollapse(p){ 228 if(!p)return; 229 p.setAttribute('data-open','0'); 230 if(p.style.maxHeight==='none'){p.style.maxHeight=p.scrollHeight+'px';void p.offsetHeight;} 231 p.style.maxHeight='0px'; 232} 233function mobileToggle(btn){ 234 const panel=btn.nextElementSibling; 235 if(!panel||!panel.classList.contains('m-panel'))return; 236 const willOpen=btn.getAttribute('aria-expanded')!=='true'; 237 /* single-open accordion: close every open panel first */ 238 ovMobile.querySelectorAll('.m-silo[aria-expanded="true"]').forEach(b=>{ 239 b.setAttribute('aria-expanded','false'); 240 mobileCollapse(b.nextElementSibling); 241 }); 242 if(willOpen){ 243 btn.setAttribute('aria-expanded','true'); 244 mobileExpand(panel); 245 } 246 requestAnimationFrame(updateScrollHint); 247} 248function buildMobile(){ 249 if(!ovMobile)return; 250 const acc=document.createElement('div');acc.className='m-acc';
251 SILOS.forEach(s=>{ 252 const btn=document.createElement('button'); 253 btn.type='button';btn.className='m-silo nav_item';btn.setAttribute('aria-expanded','false'); 254 btn.innerHTML=`${esc(s.name)} <i class="m-car"></i>`; 255 const panel=document.createElement('div');panel.className='m-panel';panel.setAttribute('data-open','0'); 256 const inner=document.createElement('div');inner.className='m-panel-inner'; 257 inner.innerHTML=sectionsHTML(s); 258 panel.appendChild(inner); 259 btn.addEventListener('click',()=>mobileToggle(btn)); 260 acc.appendChild(btn);acc.appendChild(panel); 261 }); 262 /* Pricing: direct link styled like a silo row */ 263 const pricing=document.createElement('a'); 264 pricing.className='m-silo nav_item';pricing.href='/pricing'; 265 pricing.innerHTML='Pricing <span class="parrow">â</span>'; 266 acc.appendChild(pricing); 267 /* Company: toggle revealing the same links as the desktop dropdown */ 268 const cBtn=document.createElement('button'); 269 cBtn.type='button';cBtn.className='m-silo nav_item';cBtn.setAttribute('aria-expanded','false'); 270 cBtn.innerHTML='Company <i class="m-car"></i>'; 271 const cPanel=document.createElement('div');cPanel.className='m-panel';cPanel.setAttribute('data-open','0'); 272 const cInner=document.createElement('div');cInner.className='m-panel-inner m-company-links'; 273 const srcMenu=document.querySelector('.company-menu'); 274 if(srcMenu){ 275 srcMenu.querySelectorAll('a').forEach(a=>{ 276 const img=a.querySelector('img'); 277 const href=a.getAttribute('href')||'#'; 278 const card=document.createElement('a'); 279 card.className='ccard nav_item';card.setAttribute('href',href); 280 if(/^https?:\/\//.test(href)){card.target='_blank';card.rel='noopener';} 281 card.innerHTML=`<div class="crow"><div class="tile media"><img src="${img?img.getAttribute('src'):''}" alt="" loading="lazy"></div><div class="ct">${esc(a.textContent.trim())}</div></div>`; 282 cInner.appendChild(card); 283 }); 284 } 285 cPanel.appendChild(cInner); 286 cBtn.addEventListener('click',()=>mobileToggle(cBtn)); 287 acc.appendChild(cBtn);acc.appendChild(cPanel); 288 /* Sign in: direct link */ 289 const signin=document.createElement('a'); 290 signin.className='m-signin nav_item'; 291 signin.href='https://login-prod.apigateway.co/account-selector/login?serviceProviderId=AA'; 292 signin.textContent='Sign in'; 293 acc.appendChild(signin); 294 ovMobile.appendChild(acc); 295} 296buildMobile(); 297 298/* Dynamic GTM Global Tracking Listener */ 299document.addEventListener('click', function(e) { 300 const navItem = e.target.closest('.vnav3b .nav_item'); 301 if (navItem && typeof gtag === 'function') { 302 // Attempt to grab .crow (the flex row containing the title) 303 // fallback to textContent directly if it's a standard link or top nav 304 const titleEl = navItem.querySelector('.crow'); 305 const label = titleEl ? titleEl.textContent.trim() : navItem.textContent.trim(); 306 307 gtag('event', 'click_nav_item', { 308 'event_category': 'Navigation', 309 'event_label': label 310 }); 311 } 312}); 313 314} // <-- CLOSES boot() function 315if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',boot);}else{boot();} 316})(); // <-- CLOSES IIFE
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.