1<!DOCTYPE html><!-- Last Published: Wed Jul 09 2025 09:18:49 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="price-estimation-calculator.webflow.io" data-wf-page="6852b920593d17ffe50dd6d1" data-wf-site="6852b920593d17ffe50dd6d5"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Success</title><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/6852b920593d17ffe50dd6d5/css/price-estimation-calculator.shared.73236f567.css" rel="stylesheet" type="text/css"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/>
1<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
1<script type="text/javascript">WebFont.load({ google: { families: ["DM Sans:100,200,300,regular,500,600,700,800,900","Plus Jakarta Sans:200,300,regular,500,600,700,800","Manrope:200,300,regular,500,600,700,800"] }});</script>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/66a0e364c9ecfecfb8386e5d/66a0e364c9ecfecfb8386ee9_fav-icon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/66a0e364c9ecfecfb8386e5d/66a0e364c9ecfecfb8386eea_web-clip.png" rel="apple-touch-icon"/><!-- Memberstack webflow package -->
2<script data-memberstack-app="app_cm0l0fjnj00jb0stu4g573kn5" src="https://static.memberstack.com/scripts/v1/memberstack.js" type="text/javascript"></script>
2</head><body><div class="page-wrapper"><div class="global-styles w-embed"><style> 3 4/* Make text look crisper and more legible in all browsers */ 5body { 6 -webkit-font-smoothing: antialiased; 7 -moz-osx-font-smoothing: grayscale; 8 font-smoothing: antialiased; 9 text-rendering: optimizeLegibility; 10} 11 12/* Focus state style for keyboard navigation for the focusable elements */ 13*[tabindex]:focus-visible, 14 input[type="file"]:focus-visible { 15 outline: 0.125rem solid #4d65ff; 16 outline-offset: 0.125rem; 17} 18 19/* Set color style to inherit */ 20.inherit-color * { 21 color: inherit; 22} 23 24/* Get rid of top margin on first element in any rich text element */ 25.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child { 26 margin-top: 0 !important; 27} 28 29/* Get rid of bottom margin on last element in any rich text element */ 30.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child { 31 margin-bottom: 0 !important; 32} 33 34 35/* Make sure containers never lose their center alignment */ 36.container-medium,.container-small, .container-large { 37 margin-right: auto !important; 38 margin-left: auto !important; 39} 40 41/* 42Make the following elements inherit typography styles from the parent and not have hardcoded values. 43Important: You will not be able to style for example "All Links" in Designer with this CSS applied. 44Uncomment this CSS to use it in the project. Leave this message for future hand-off. 45*/ 46/* 47a, 48.w-input, 49.w-select, 50.w-tab-link, 51.w-nav-link, 52.w-dropdown-btn, 53.w-dropdown-toggle, 54.w-dropdown-link { 55 color: inherit; 56 text-decoration: inherit; 57 font-size: inherit; 58} 59*/ 60 61/* Apply "..." after 3 lines of text */ 62.text-style-3lines { 63 display: -webkit-box; 64 overflow: hidden; 65 -webkit-line-clamp: 3; 66 -webkit-box-orient: vertical; 67} 68 69/* Apply "..." after 2 lines of text */ 70.text-style-2lines { 71 display: -webkit-box; 72 overflow: hidden; 73 -webkit-line-clamp: 2; 74 -webkit-box-orient: vertical; 75} 76 77/* These classes are never overwritten */ 78.hide { 79 display: none !important; 80} 81 82@media screen and (max-width: 991px) { 83 .hide, .hide-tablet { 84 display: none !important; 85 } 86} 87 @media screen and (max-width: 767px) { 88 .hide-mobile-landscape{ 89 display: none !important; 90 } 91} 92 @media screen and (max-width: 479px) { 93 .hide-mobile{ 94 display: none !important; 95 } 96} 97 98.margin-0 { 99 margin: 0rem !important; 100} 101 102.padding-0 { 103 padding: 0rem !important; 104} 105 106.spacing-clean { 107padding: 0rem !important; 108margin: 0rem !important; 109} 110 111.margin-top { 112 margin-right: 0rem !important; 113 margin-bottom: 0rem !important; 114 margin-left: 0rem !important; 115} 116 117.padding-top { 118 padding-right: 0rem !important; 119 padding-bottom: 0rem !important; 120 padding-left: 0rem !important; 121} 122 123.margin-right { 124 margin-top: 0rem !important; 125 margin-bottom: 0rem !important; 126 margin-left: 0rem !important; 127} 128 129.padding-right { 130 padding-top: 0rem !important; 131 padding-bottom: 0rem !important; 132 padding-left: 0rem !important; 133} 134 135.margin-bottom { 136 margin-top: 0rem !important; 137 margin-right: 0rem !important; 138 margin-left: 0rem !important; 139} 140 141.padding-bottom { 142 padding-top: 0rem !important; 143 padding-right: 0rem !important; 144 padding-left: 0rem !important; 145} 146 147.margin-left { 148 margin-top: 0rem !important; 149 margin-right: 0rem !important; 150 margin-bottom: 0rem !important; 151} 152 153.padding-left { 154 padding-top: 0rem !important; 155 padding-right: 0rem !important; 156 padding-bottom: 0rem !important; 157} 158 159.margin-horizontal { 160 margin-top: 0rem !important; 161 margin-bottom: 0rem !important; 162} 163 164.padding-horizontal { 165 padding-top: 0rem !important; 166 padding-bottom: 0rem !important; 167} 168 169.margin-vertical { 170 margin-right: 0rem !important; 171 margin-left: 0rem !important; 172} 173 174.padding-vertical { 175 padding-right: 0rem !important; 176 padding-left: 0rem !important; 177} 178</style></div><div class="section_top-bar"><div class="padding-global"><div class="container-large"><div class="top-bar_inner"><a href="/" class="w-inline-block"><img src="https://cdn.prod.website-files.com/6852b920593d17ffe50dd6d5/6852b920593d17ffe50dd6f4_memberstacklogo.svg" loading="lazy" alt="" class="intro_logo"/></a><a href="https://webflow.com/made-in-webflow/website/price-estimation-calculator" target="_blank" class="button is-icon
178is-brand is-clone w-inline-block"><div class="clone-icon w-embed"><svg data-wf-icon="DuplicateOutlineIcon" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6 3C6 2.44772 6.44772 2 7 2H13C13.5523 2 14 2.44772 14 3V9C14 9.55228 13.5523 10 13 10H7C6.44772 10 6 9.55228 6 9V3ZM7 3H13V9H7V3Z" fill="currentColor"></path><path d="M3 5V12C3 12.5523 3.44772 13 4 13H11V12H4V5H3Z" fill="currentColor"></path></svg></div><div>Clone Project</div></a></div></div></div></div><div class="delete-me"><div><div class="ms-iframe"><div class="ms-iframe-embed w-embed w-iframe"><iframe id="memberstack-iframe" src="https://memberstack-embeds.webflow.io/branding?ref=blank" sandbox="allow-same-origin allow-scripts allow-forms allow-top-navigation allow-popups"></iframe> 179 180 181<style> 182iframe { 183 height: 100%; 184 width: 100%; 185 border-width: 0px; 186 border-style: inset; 187 border-color: initial; 188 border-image: initial; 189 border: 0; 190 border: none; 191 min-height: 0px; 192 min-width: 0px; 193 background: transparent; 194} 195 196* { 197 box-sizing: border-box; 198} 199 200/* width */ 201::-webkit-scrollbar {
202 height: 0px; 203 width: 0px; 204 background-color:; 205} 206 207/* Track */ 208::-webkit-scrollbar-track { 209 background: transparent; 210} 211 212/* Handle */ 213::-webkit-scrollbar-thumb { 214 background: transparent; 215} 216 217/* Handle on hover */ 218::-webkit-scrollbar-thumb:hover { 219 background: transparent; 220} 221 222</style></div><div class="hidden-embed w-embed w-script">
222<script> 223 // get the domain name of the page where the iframe is embedded 224 var domain = window.location.hostname; 225 226 // get the iframe element 227 var iframe = document.getElementById('memberstack-iframe'); 228 229 // get the src attribute value of the iframe 230 var src = iframe.getAttribute('src'); 231 232 // replace the ref value in the src with the domain name 233 src = src.replace('ref=blank', 'ref=' + domain); 234 235 // set the new src value to the iframe 236 iframe.setAttribute('src', src); 237</script>
237</div></div></div></div><div class="cta-button"></div><div class="section"><div id="Price-Calculator" class="calculator-form w-form"><form id="wf-form-" name="wf-form-" data-name="" method="get" data-ms-code="price-calculator" class="w-clearfix" data-wf-page-id="6852b920593d17ffe50dd6d1" data-wf-element-id="14b9c99b-6907-e064-ad95-9b34df2f5259"><h1 class="form-name">Web Agency Price Estimator</h1><div class="calculator-block"><div id="w-node-_69fb10b7-b86d-765f-9e10-43c8fd6599b4-e50dd6d1" class="calculator-wrapper"><div class="calculator-input w-clearfix"><label for="Input-Slider" class="field-label">How many pages will your website have?</label><input type="range" data-ms-code-slider="pages" data-price-per-unit="150" class="form_input max-width-full"/><div class="range-slider-info w-clearfix"><div class="min">0</div><div class="max">100</div></div><div class="w-embed"><style> 238input[type="range"][data-ms-code-slider="pages"] { 239 accent-color: #dd23bb; /* Replace with your desired color */ 240} 241</style></div></div><div class="calculator-input"><h6 class="margin-bottom margin-small">Content Management System</h6><label class="w-checkbox checkbox-field"><input class="w-checkbox-input" data-feature-group="cms" data-price="0" name="no-cms" data-name="no-cms" type="checkbox" id="no-cms"/><span class="w-form-label" for="no-cms">No CMS</span></label><label class="w-checkbox checkbox-field"><input class="w-checkbox-input" data-feature-group="cms" data-price="1000" name="basic-cms" data-name="basic-cms" type="checkbox" id="basic-cms"/><span class="w-form-label" for="basic-cms">Basic CMS</span></label><label class="w-checkbox checkbox-field"><input class="w-checkbox-input" data-feature-group="cms" data-price="2500" name="advanced-cms" data-name="advanced-cms" type="checkbox" id="advanced-cms"/><span class="w-form-label" for="advanced-cms">Advanced CMS (Blog, Portfolio)</span></label></div><div class="calculator-input"><h6 class="margin-bottom margin-small">What is your goal</h6><label class="w-checkbox checkbox-field"><input class="w-checkbox-input" data-price="500" name="checkbox" data-name="Checkbox" data-summary-group="goal" type="checkbox" id="checkbox"/><span class="w-form-label" for="checkbox">Build Trust</span></label><label class="w-checkbox checkbox-field"><input class="w-checkbox-input" data-price="1200" name="checkbox" data-name="Checkbox" data-summary-group="goal" type="checkbox" id="checkbox"/><span class="w-form-label" for="checkbox">Reach Audience</span></label><label class="w-checkbox checkbox-field"><input class="w-checkbox-input" data-price="3000" name="checkbox" data-name="Checkbox" data-summary-group="goal" type="checkbox" id="checkbox"/><span class="w-form-label" for="checkbox">Generate Leads</span></label></div><div class="calculator-input"><h6 class="margin-bottom margin-small">Do you need help with branding?</h6><label class="w-checkbox checkbox-field"><input class="w-checkbox-input" data-price="2500" name="branding" data-name="branding" data-summary-group="branding" type="checkbox" id="branding"/><span class="w-form-label" for="branding">Yes, I need branding help</span></label></div><div class="calculator-input"><h6 class="margin-bottom margin-small">Do you have an existing website</h6><label class="w-checkbox checkbox-field"><input class="w-checkbox-input" data-price="1500" name="existing-website" data-name="existing-website" data-summary-group="existing-website" type="checkbox" id="existing-website"/><span class="w-form-label" for="existing-website">Yes, I have a site to migrate/redesign</span></label></div><div class="calculator-input"><h6 class="margin-bottom margin-small">Features & Services</h6><label class="w-checkbox checkbox-field"><input class="w-checkbox-input" data-price="4500" name="checkbox" data-name="Checkbox" data-summary-group="features" type="checkbox" id="checkbox"/><span class="w-form-label" for="checkbox">Custom UI/UX Design</span></label><label class="w-checkbox checkbox-field"><input class="w-checkbox-input" data-price="5000" name="checkbox" data-name="Checkbox" data-summary-group="features" type="checkbox" id="checkbox"/><span class="w-form-label" for="checkbox">E-commerce Functionality</span></label><label class="w-checkbox checkbox-field"><input class="w-checkbox-input" data-price="6000" name="checkbox" data-name="Checkbox" data-summary-group="features" type="checkbox" id="checkbox"/><span class="w-form-label" for="checkbox">Blog Integration</span></label><label class="w-checkbox checkbox-field"><input class="w-checkbox-input" data-price="2000" name="checkbox" data-name="Checkbox" data-summary-group="features" type="checkbox" id="checkbox"/><span class="w-form-label" for="checkbox">Basic SEO Setup</span></label><label class="w-checkbox checkbox-field"><input class="w-checkbox-input" data-price="1500" name="checkbox" data-name="Checkbox" data-summary-group="features" type="checkbox" id="checkbox"/><span class="w-form-label" for="checkbox">Newsletter Integration</span></label></div></div><div id="w-node-b740a7a8-988b-bdbd-9a8f-3cb5e4d00f42-e50dd6d1"><div id="w-node-_14b9c99b-6907-e064-ad95-9b34df2f52f6-e50dd6d1" class="calculator-output-block"><p>Please note the following are estimations based on avarage hours and resources.</p><div class="total-features"><div><strong>Total Pages:</strong></div>
241<div data-output-type="value" data-ms-code-output="pages">0</div></div><div class="total-features"><div><strong>Content Management System</strong></div><div data-ms-code-summary="cms">[output]</div></div><div class="total-features"><div><strong>Goal</strong></div><div data-ms-code-summary="goal">[output]</div></div><div class="total-features"><div><strong>Branding</strong></div><div data-ms-code-summary="branding">[output]</div></div><div class="total-features"><div><strong>Existing Website</strong></div><div data-ms-code-summary="existing-website">[output]</div></div><div class="total-features"><div><strong>Features</strong></div><div data-ms-code-summary="features">[output]</div></div><div class="calculator-revenue-output-block"><h6>Total price</h6><h6 data-ms-code-price-total="" class="price-amount">xxxx</h6></div></div></div></div></form><div class="w-form-done"><p>Thank you! Your submission has been received!</p></div><div class="error-message w-form-fail"><p>Oops! Something went wrong while submitting the form</p></div></div><div class="w-form"><form id="wf-form-Price-Estimation-Form" name="wf-form-Price-Estimation-Form" data-name="Price Estimation Form" method="get" data-ms-code="submission-form" data-wf-page-id="6852b920593d17ffe50dd6d1" data-wf-element-id="0d9a7d0e-1da8-53e0-ed4f-07095fe792bb"><div class="hidden-inputs"><input class="form_input hidden-input w-input" data-ms-code-hidden="total-price" maxlength="256" name="Total-Price" data-name="Total Price" placeholder="" type="text" id="Total-Price"/><input class="form_input hidden-input w-input" data-ms-code-hidden="pages" maxlength="256" name="Pages" data-name="Pages" placeholder="" type="text" id="Pages"/><input class="form_input hidden-input w-input" data-ms-code-hidden="cms" maxlength="256" name="CMS" data-name="CMS" placeholder="" type="text" id="CMS"/><input class="form_input hidden-input w-input" data-ms-code-hidden="goal" maxlength="256" name="Goals" data-name="Goals" placeholder="" type="text" id="Goals"/><input class="form_input hidden-input w-input" data-ms-code-hidden="branding" maxlength="256" name="Branding" data-name="Branding" placeholder="" type="text" id="Branding"/><input class="form_input hidden-input w-input" data-ms-code-hidden="existing-website" maxlength="256" name="Existing-Website" data-name="Existing Website" placeholder="" type="text" id="Existing-Website"/><input class="form_input hidden-input w-input" data-ms-code-hidden="features" maxlength="256" name="Features" data-name="Features" placeholder="" type="text" id="Features"/></div><div class="button-group align-center"><input type="submit" data-wait="Please wait..." class="button w-button" value="Get My Estimate"/></div></form><div class="success-message-2 w-form-done"><div>Thank you! Your request has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div></div></div>
241<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=6852b920593d17ffe50dd6d5" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
241<script src="https://cdn.prod.website-files.com/6852b920593d17ffe50dd6d5/js/price-estimation-calculator.schunk.36b8fb49256177c8.js" type="text/javascript"></script>
241<script src="https://cdn.prod.website-files.com/6852b920593d17ffe50dd6d5/js/price-estimation-calculator.schunk.84129606b358a198.js" type="text/javascript"></script>
241<script src="https://cdn.prod.website-files.com/6852b920593d17ffe50dd6d5/js/price-estimation-calculator.c003fd2b.9d214831cfa4de82.js" type="text/javascript"></script>
241<!-- ð MEMBERSCRIPT #159 v0.1 ð - PRICE ESTIMATION CALCULATOR -->
242<script> 243document.addEventListener("DOMContentLoaded", function () { 244 const calculator = document.querySelector('[data-ms-code="price-calculator"]'); 245 const submissionForm = document.querySelector('[data-ms-code="submission-form"]'); 246 247 if (!calculator || !submissionForm) { 248 console.error("Calculator or Submission Form not found."); 249 return; 250 } 251 252 const BASE_PRICE = 500; // Replace with your minimum/base price 253 254 const calculatePriceAndSummary = () => { 255 let subTotal = 0; 256 257 // 1. PRICE CALCULATION 258 const pricedInputs = calculator.querySelectorAll('[data-price], [data-price-per-unit]'); 259 pricedInputs.forEach((input) => { 260 if (input.type === "checkbox" && !input.checked) return; 261 const price = parseFloat(input.dataset.price) || 0; 262 const perUnit = parseFloat(input.dataset.pricePerUnit) || 0; 263 const value = parseFloat(input.value) || 0; 264 subTotal += perUnit > 0 ? value * perUnit : price; 265 }); 266 267 const total = BASE_PRICE + subTotal; 268 269 // 2. UPDATE TOTAL DISPLAY 270 const totalPriceEl = calculator.querySelector('[data-ms-code-price-total]'); 271 if (totalPriceEl) totalPriceEl.textContent = `$${Math.round(total).toLocaleString()}`; 272 273 // 3. BUILD GROUP SUMMARIES + HIDDEN FIELDS 274 const allGroupNames = new Set(); 275 submissionForm.querySelectorAll("[data-ms-code-hidden]").forEach((el) => { 276 allGroupNames.add(el.dataset.msCodeHidden); 277 }); 278 279 allGroupNames.forEach((group) => { 280 let selectedLabels = []; 281 282 const groupInputs = calculator.querySelectorAll( 283 `input[data-summary-group="${group}"]:checked, 284 input[data-feature-group="${group}"]:checked, 285 input[data-summary-group="${group}"][type="range"], 286 input[data-ms-code-slider="${group}"], 287 select[data-summary-group="${group}"]` 288 ); 289 290 groupInputs.forEach((input) => { 291 if (input.type === "range") { 292 selectedLabels.push(input.value); 293 } else if (input.tagName === "SELECT") { 294 const selectedOption = input.options[input.selectedIndex]; 295 if (selectedOption) selectedLabels.push(selectedOption.textContent); 296 } else { 297 const label = input.parentElement.querySelector(".w-form-label"); 298 if (label) selectedLabels.push(label.textContent); 299 } 300 }); 301 302 const summaryText = selectedLabels.length > 0 ? selectedLabels.join(", ") : "None"; 303 304 const summaryEl = calculator.querySelector(`[data-ms-code-summary="${group}"]`); 305 if (summaryEl) summaryEl.textContent = summaryText; 306 307 const hiddenInput = submissionForm.querySelector(`[data-ms-code-hidden="${group}"]`); 308 if (hiddenInput) hiddenInput.value = summaryText; 309 }); 310 311 // 4. SET TOTAL IN HIDDEN FIELD 312 const hiddenPrice = submissionForm.querySelector('[data-ms-code-hidden="total-price"]'); 313 if (hiddenPrice) hiddenPrice.value = total; 314 315 // 5. HANDLE OUTPUT DISPLAY FOR GROUPS (subtotal or raw value) 316 allGroupNames.forEach((group) => { 317 let groupTotal = 0; 318 const groupInputs = calculator.querySelectorAll( 319 `input[data-summary-group="${group}"]:checked, 320 input[data-feature-group="${group}"]:checked, 321 input[data-summary-group="${group}"][type="range"], 322 input[data-ms-code-slider="${group}"], 323 select[data-summary-group="${group}"]` 324 ); 325 326 groupInputs.forEach((input) => { 327 const price = parseFloat(input.dataset.price) || 0; 328 const perUnit = parseFloat(input.dataset.pricePerUnit) || 0; 329 const value = parseFloat(input.value) || 0; 330 groupTotal += perUnit > 0 ? value * perUnit : price; 331 }); 332 333 const groupOutput = calculator.querySelector(`[data-ms-code-output="${group}"]`); 334 if (groupOutput) { 335 const outputType = groupOutput.dataset.outputType || "price"; 336 if (outputType === "value") { 337 // Output raw slider or number input value 338 const valueInput = calculator.querySelector( 339 `input[data-ms-code-slider="${group}"], 340 input[data-summary-group="${group}"][type="range"]` 341 ); 342 if (valueInput) { 343 groupOutput.textContent = valueInput.value; 344 } 345 } else { 346 // Output subtotal price (default) 347 groupOutput.textContent = `$${Math.round(groupTotal).toLocaleStr
347ing()}`; 348 } 349 } 350 }); 351 }; 352 353 const setupEventListeners = () => { 354 calculator.addEventListener("input", calculatePriceAndSummary); 355 356 // Exclusive checkbox behavior 357 const checkboxGroups = {}; 358 calculator.querySelectorAll('input[type="checkbox"][data-feature-group]').forEach((cb) => { 359 const groupName = cb.dataset.featureGroup; 360 if (!checkboxGroups[groupName]) checkboxGroups[groupName] = []; 361 checkboxGroups[groupName].push(cb); 362 }); 363 364 Object.values(checkboxGroups).forEach((group) => { 365 group.forEach((cb) => { 366 cb.addEventListener("change", () => { 367 if (cb.checked) { 368 group.forEach((otherCb) => { 369 if (otherCb !== cb) otherCb.checked = false; 370 }); 371 } 372 calculatePriceAndSummary(); 373 }); 374 }); 375 }); 376 377 // Reset on submission 378 submissionForm.addEventListener("submit", () => { 379 setTimeout(() => { 380 calculator.querySelectorAll('input[type="checkbox"]').forEach((cb) => (cb.checked = false)); 381 calculator.querySelectorAll('input[type="range"]').forEach((slider) => { 382 slider.value = slider.defaultValue || slider.min || "0"; 383 slider.dispatchEvent(new Event("input", { bubbles: true })); 384 }); 385 calculatePriceAndSummary(); 386 }, 100); 387 }); 388 }; 389 390 setupEventListeners(); 391 calculatePriceAndSummary(); 392}); 393</script>
393 394</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.