1<!DOCTYPE html><!-- Last Published: Thu Sep 24 2026 20:47:06 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="core-01.activestate.com" data-wf-page="6a19bae46de372b248e653db" data-wf-site="6a0dc648b0f944cab4dc0cb1" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Pricing | ActiveState</title><meta content="Explore ActiveState pricing for secure open source packages, containers, and runtimes. Free containers available. Enterprise plans for custom catalogs." name="description"/><meta content="Pricing | ActiveState" property="og:title"/><meta content="Explore ActiveState pricing for secure open source packages, containers, and runtimes. Free containers available. Enterprise plans for custom catalogs." property="og:description"/><meta content="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a10c95d166b391ef88a97d0_activestate-og.png" property="og:image"/><meta content="Pricing | ActiveState" name="twitter:title"/><meta content="Explore ActiveState pricing for secure open source packages, containers, and runtimes. Free containers available. Enterprise plans for custom catalogs." name="twitter:description"/><meta content="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a10c95d166b391ef88a97d0_activestate-og.png" name="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="JkgFN3bBFJ64KOfNVJVbDc3wcd6yWxAOg2Pk9aXT58M" name="google-site-verification"/><link href="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/css/activestate.webflow.shared.846faa88d.css" rel="stylesheet" type="text/css" integrity="sha384-hG+qiN697sZedKx5D4QFDf0W/b/YWQu+QkHrB39ce3Mi50ZUJ/HVO4lsHloRZSN8" crossorigin="anonymous"/>
1<script src="https://use.typekit.net/xzy3lij.js" type="text/javascript"></script>
1<script type="text/javascript">try{Typekit.load();}catch(e){}</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/6a0dc648b0f944cab4dc0cb1/6a10c9fbef25a50507190c12_activestate-webclip.png" rel="icon" type="image/png" sizes="32x32" media="(prefers-color-scheme: light)"/><link href="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a10c9fbef25a50507190c12_activestate-webclip.png" rel="icon" type="image/png" sizes="32x32" media="(prefers-color-scheme: dark)"/><link href="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a10c9fb4cc45b8a75b8924a_activestate-webclip.png" rel="icon" type="image/png" sizes="48x48"/><link href="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a10c9fb9f77fb9d8253b71c_activestate-webclip.png" rel="apple-touch-icon" sizes="180x180"/><link href="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a10c9fbc415128a402d51c5_activestate-webclip.png" rel="icon" type="image/png" sizes="192x192"/><link href="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a10c9fb5f0a2c6b37089b19_activestate-webclip.png" rel="icon" type="image/png" sizes="512x512"/>
1<script type="application/ld+json"> 2{ 3 "@context": "https://schema.org", 4 "@type": "FAQPage", 5 "mainEntity": [{ 6 "@type": "Question", 7 "name": "How does ActiveState price the Curated Catalog?", 8 "acceptedAnswer": { 9 "@type": "Answer", 10 "text": "ActiveState prices the Curated Catalog by company size and language, not by component count. Customers are placed into one of four tiers based on employee count (or developer count for the largest tier), and every language costs the same flat rate within that tier." 11 } 12 },{ 13 "@type": "Question", 14 "name": "How much does ActiveState's Curated Catalog cost?", 15 "acceptedAnswer": { 16 "@type": "Answer", 17 "text": "Curated Catalog pricing starts at $25,000 per language per year for companies under 100 employees, rising to $50,000 for 100â999 employees and $150,000 for 1,000+ employees. Large organizations can license the entire catalog, with pricing scoped at contract." 18 } 19 },{ 20 "@type": "Question", 21 "name": "Why is Curated Catalog pricing set by tier and language, rather than by component count?", 22 "acceptedAnswer": { 23 "@type": "Answer", 24 "text": "Tier-and-language pricing sets the number from two facts a customer already knows: company size and which languages they run. There's no usage estimate to make up front and no component count to reconcile at renewal. The price is set by decisions the customer controls directly." 25 } 26 },{ 27 "@type": "Question", 28 "name": "What counts as a language for Curated Catalog pricing?", 29 "acceptedAnswer": { 30 "@type": "Answer", 31 "text": "Each of ActiveState's supported language ecosystems is licensed and priced individually at the customer's tier rate. A customer using three language ecosystems licenses and pays for three, regardless of which specific languages they are." 32 } 33 },{ 34 "@type": "Question", 35 "name": "Does ActiveState offer custom engagements beyond the standard tiers?", 36 "acceptedAnswer": { 37 "@type": "Answer", 38 "text": "Yes. Organizations with OEM, embedded distribution, or complex custom solution needs work with our team on an engagement scoped to their specific requirements, separate from the standard per-language tier model. Talk to us to discuss your use case." 39 } 40 },{ 41 "@type": "Question", 42 "name": "What happens when a CVE affects a component version outside ActiveState's active support window?", 43 "acceptedAnswer": { 44 "@type": "Answer", 45 "text": "ActiveState actively supports every version of a component up to, but not including, that component's end-of-life release, with full CVE response and SLA coverage for the entire supported range. Once a version reaches end of life, continued support is available through a custom EOL support agreement; customers should talk to their ActiveState representative before that transition. Most language ecosystems publish EOL dates well ahead of time, often years in advance, so organizations typically have significant lead time to plan an upgrade before support ends." 46 } 47 },{ 48 "@type": "Question", 49 "name": "Does ActiveState's Curated Catalog pricing change during the contract term?", 50 "acceptedAnswer": { 51 "@type": "Answer", 52 "text": "No, ActiveState's per-language rate is fixed for the full contract term. The rate only changes at renewal, and only if the customer moves to a new size tier or adds languages." 53 } 54 },{ 55 "@type": "Question", 56 "name": "Does ActiveState offer multi-year contract terms for the Curated Catalog?", 57 "acceptedAnswer": { 58 "@type": "Answer", 59 "text": "Yes, ActiveState offers discounted multi-year agreements at every pricing tier for the Curated Catalog." 60 } 61 },{ 62 "@type": "Question", 63 "name": "What support level does ActiveState include with Curated Catalog?", 64 "acceptedAnswer": { 65 "@type": "Answer", 66 "text": "ActiveState includes the same support level across every Curated Catalog tier, with no tier-gated support features. Every component in the catalog carries an active CVE remediation SLA of 5 days for critical vulnerabilities, 10 days for high, and 30 days for all others. Curated Catalog customers receive a named account contact and account team from onboarding through renewal, structured onboarding that integrates components into existing package managers, pipelines, and repositories, and ongoing access to the ActiveState Portal for catalog visibility, automatic SBOMs, and version tracking. Components requiring maintenance outside the standard support window are available through special component maintenance, priced as custom work." 67 } 68 },{ 69 "@type": "Question",
70 "name": "Does Curated Catalog pricing apply to ActiveState Platform Enterprise or Business Tier License Subscriptions or affect my existing contract?", 71 "acceptedAnswer": { 72 "@type": "Answer", 73 "text": "No. The Curated Catalog pricing model does not apply to existing ActiveState Platform Enterprise or Business Tier license subscriptions. Legacy platform licensing agreements are unaffected, and current customers continue under their existing contract terms through the end of their term. 74 75For pricing information on ActiveState Platform Enterprise or Business Tier License Subscriptions, contact your account representative / sales team." 76 } 77 }] 78} 79</script>
79<!-- Consent Pro script -->
80<script src="https://api.consentpro.com/v2/cdn/runtime/6a0dc648b0f944cab4dc0cb1.js" type="text/javascript" finsweet="consentpro" siteid="6a0dc648b0f944cab4dc0cb1"></script>
80 81 82<!-- [Attributes by Finsweet] Social Share -->
83<script defer src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-socialshare@1/socialshare.js"></script>
83 84<!-- [Attributes by Finsweet] CMS Filter -->
85<script async src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-cmsfilter@1/cmsfilter.js"></script>
85 86<!-- [Attributes by Finsweet] CMS Load -->
87<script async src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-cmsload@1/cmsload.js"></script>
87 88 89<!-- Google Tag Manager -->
90<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 91new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 92j=d.createElement(s),dl=l!=='dataLayer'?'&l='+l:'';j.async=true;j.src= 93'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 94})(window,document,'script','dataLayer','GTM-TDZ3K7T');</script>
94 95<!-- End Google Tag Manager --> 96 97<!-- Keep this css code to improve the font quality--> 98<style> 99 * { 100 -webkit-font-smoothing: antialiased; 101 -moz-osx-font-smoothing: grayscale; 102 -o-font-smoothing: antialiased; 103 -webkit-appearance:none; 104} 105 ::selection { 106 background-color: #6E6E73; 107 color: white; /* Text color when selected */ 108} 109 110/* For Firefox */ 111::-moz-selection { 112 background-color: #6E6E73; 113 color: white; /* Text color when selected */ 114} 115 116<!-- Start of HubSpot Embed Code -->
117<script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/5262266.js"></script>
117 118<!-- End of HubSpot Embed Code --> 119 120<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@splidejs/[email protected]/dist/css/splide-core.min.css"> 121<style> 122.splide__track { 123 overflow: visible; 124} 125</style> 126 127
128<script> 129(function(l,i,m,y,g,e,o){ 130l[m] = l[m] || function(){ (l[m].q = l[m].q || []).push(arguments) }; 131e = i.createElement(y); 132e.async = 1; 133e.id = 'limy-analytics'; 134e.src = 'https://sdk.getlimy.ai/p/limy-analytics.min.js'; 135e.setAttribute(m, g); 136o = i.getElementsByTagName(y)[0]; 137o.parentNode.insertBefore(e, o); 138})(window, document, 'limy', 'script', 'lmy_vCPA78Ak4M0gUfigfT4TWodvi5QzlTClMcINbuGxKuu'); 139</script>
139 140
141<script type="text/javascript"> 142 window.heapReadyCb=window.heapReadyCb||[],window.heap=window.heap||[],heap.load=function(e,t){window.heap.envId=e,window.heap.clientConfig=t=t||{},window.heap.clientConfig.shouldFetchServerConfig=!1;var a=document.createElement("script");a.type="text/javascript",a.async=!0,a.src="https://cdn.us.heap-api.com/config/"+e+"/heap_config.js";var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(a,r);var n=["init","startTracking","stopTracking","track","resetIdentity","identify","identifyHashed","getSessionId","getUserId","getIdentity","addUserProperties","addEventProperties","removeEventProperty","clearEventProperties","addAccountProperties","addAdapter","addTransformer","addTransformerFn","onReady","addPageviewProperties","removePageviewProperty","clearPageviewProperties","trackPageview"],i=function(e){return function(){var t=Array.prototype.slice.call(arguments,0);window.heapReadyCb.push({name:e,fn:function(){heap[e]&&heap[e].apply(heap,t)}})}};for(var p=0;p<n.length;p++)heap[n[p]]=i(n[p])}; 143 heap.load("915209274"); 144</script>
144 145 146<!-- Hotjar Tracking Code for *.activestate.com -->
147<script> 148Â Â Â Â (function(h,o,t,j,a,r){ 149Â Â Â Â Â Â Â Â h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; 150Â Â Â Â Â Â Â Â h._hjSettings={hjid:1634962,hjsv:6}; 151Â Â Â Â Â Â Â Â a=o.getElementsByTagName('head')[0]; 152Â Â Â Â Â Â Â Â r=o.createElement('script');r.async=1; 153Â Â Â Â Â Â Â Â r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; 154Â Â Â Â Â Â Â Â a.appendChild(r); 155Â Â Â Â })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); 156</script>
156 157 158<meta name="google-site-verification" content="JkgFN3bBFJ64KOfNVJVbDc3wcd6yWxAOg2Pk9aXT58M" /> 159
160<script> 161 // If the user has previously closed the banner, set a CSS variable to hide it before the page paints 162 if (localStorage.getItem('bannerClosed') === '1') { 163 document.documentElement.style.setProperty('--banner-display', 'none'); 164 } 165</script>
165 166<style> 167 /* Use the CSS variable to hide the banner instantly on load â prevents flicker on return visits */ 168 .navbar_banner-wrapper { 169 display: var(--banner-display, block); 170 } 171</style> 172 173<style> 174/* Target Firefox only to fix the Mona Sans underline bug */ 175@-moz-document url-prefix() { 176 .your-underlined-class { 177 text-decoration: none !important; 178 border-bottom: 1.5px solid currentColor; /* Simulates a smooth underline */ 179 padding-bottom: 2px; /* Adjust this to change spacing between text and underline */ 180 display: inline; 181 } 182} 183</style></head><body><div class="page-wrapper"><div data-wf--global-styles--variant="none"><div class="global-styles w-embed"><style> 184i, em { 185 color: inherit !important; 186} 187 p strong, 188p b { 189 color: inherit !important; 190} 191/* Make text look crisper and more legible in all browsers */ 192body { 193 -webkit-font-smoothing: antialiased; 194 -moz-osx-font-smoothing: grayscale; 195 font-smoothing: antialiased; 196 text-rendering: optimizeLegibility; 197} 198 199/* Focus state style for keyboard navigation for the focusable elements */ 200*[tabindex]:focus-visible, 201 input[type="file"]:focus-visible { 202 outline: 0.125rem solid #4d65ff; 203 outline-offset: 0.125rem; 204} 205 206/* Set color style to inherit */ 207.inherit-color * { 208 color: inherit; 209} 210
211/* Get rid of top margin on first element in any rich text element */ 212.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child { 213 margin-top: 0 !important; 214} 215 216/* Get rid of bottom margin on last element in any rich text element */ 217.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child { 218 margin-bottom: 0 !important; 219} 220 221 222/* Make sure containers never lose their center alignment */ 223.container-medium,.container-small, .container-large { 224 margin-right: auto !important; 225 margin-left: auto !important; 226} 227 228/* 229Make the following elements inherit typography styles from the parent and not have hardcoded values. 230Important: You will not be able to style for example "All Links" in Designer with this CSS applied. 231Uncomment this CSS to use it in the project. Leave this message for future hand-off. 232*/ 233/* 234a, 235.w-input, 236.w-select, 237.w-tab-link, 238.w-nav-link, 239.w-dropdown-btn, 240.w-dropdown-toggle, 241.w-dropdown-link { 242 color: inherit; 243 text-decoration: inherit; 244 font-size: inherit; 245} 246*/ 247 248/* Apply "..." after 3 lines of text */ 249.text-style-3lines { 250 display: -webkit-box; 251 overflow: hidden; 252 -webkit-line-clamp: 3; 253 -webkit-box-orient: vertical; 254} 255 256 257/* Apply "..." after 5 lines of text */ 258.text-style-5lines { 259 display: -webkit-box; 260 overflow: hidden; 261 -webkit-line-clamp: 5; 262 -webkit-box-orient: vertical; 263} 264 265/* Apply "..." after 2 lines of text */ 266.text-style-2lines { 267 display: -webkit-box; 268 overflow: hidden; 269 -webkit-line-clamp: 2; 270 -webkit-box-orient: vertical; 271} 272 273/* These classes are never overwritten */ 274.hide { 275 display: none !important; 276} 277 278@media screen and (max-width: 991px) { 279 .hide, .hide-tablet { 280 display: none !important; 281 } 282} 283 @media screen and (max-width: 767px) { 284 .hide-mobile-landscape{ 285 display: none !important; 286 } 287} 288 @media screen and (max-width: 479px) { 289 .hide-mobile{ 290 display: none !important; 291 } 292} 293 294.margin-0 { 295 margin: 0rem !important; 296} 297 298.padding-0 { 299 padding: 0rem !important; 300} 301 302.spacing-clean { 303padding: 0rem !important; 304margin: 0rem !important; 305} 306 307.margin-top { 308 margin-right: 0rem !important; 309 margin-bottom: 0rem !important; 310 margin-left: 0rem !important; 311} 312 313.padding-top { 314 padding-right: 0rem !important; 315 padding-bottom: 0rem !important; 316 padding-left: 0rem !important; 317} 318 319.margin-right { 320 margin-top: 0rem !important; 321 margin-bottom: 0rem !important; 322 margin-left: 0rem !important; 323} 324 325.padding-right { 326 padding-top: 0rem !important; 327 padding-bottom: 0rem !important; 328 padding-left: 0rem !important; 329} 330 331.margin-bottom { 332 margin-top: 0rem !important; 333 margin-right: 0rem !important; 334 margin-left: 0rem !important; 335} 336 337.padding-bottom { 338 padding-top: 0rem !important; 339 padding-right: 0rem !important; 340 padding-left: 0rem !important; 341} 342 343.margin-left { 344 margin-top: 0rem !important; 345 margin-right: 0rem !important; 346 margin-bottom: 0rem !important; 347} 348 349.padding-left { 350 padding-top: 0rem !important; 351 padding-right: 0rem !important; 352 padding-bottom: 0rem !important; 353} 354 355.margin-horizontal { 356 margin-top: 0rem !important; 357 margin-bottom: 0rem !important; 358} 359 360.padding-horizontal { 361 padding-top: 0rem !important; 362 padding-bottom: 0rem !important; 363} 364 365.margin-vertical { 366 margin-right: 0rem !important; 367 margin-left: 0rem !important; 368} 369 370.padding-vertical { 371 padding-right: 0rem !important; 372 padding-left: 0rem !important; 373} 374 375h1, h2, h3 { 376 text-wrap: balance; 377} 378 379 @media (max-width: 767px) { 380 .img_wrapper, 381 .image-container { 382 order: 999; 383 } 384} 385 386 @media only screen and (max-width: 1120px) and (min-width: 992px) { 387 .navbar_menu.is-page-height-tablet { 388 padding-left: .5rem; 389 } 390 .navbar .padding-global { 391 padding-left: 1rem; 392 padding-right: 1rem; 393 } 394 .navbar_links { 395 grid-column-gap: .35rem; 396 } 397 } 398 399 400</style></div><div class="hide w-embed"><style> 401/* ================================================ 402 SECTION & COMPONENT COLOR SCHEMES 403 (Sets variables only - no auto text colors) 404 ================================================ */ 405 406/* Reset scheme variables on component_wrapper to break inheritance from section */ 407.component_wrapper:not([data-wf--0---component--variant="transparent"]) { 408 --scheme-heading: initial;
409 --scheme-paragraph: initial; 410 --scheme-link: initial; 411 --scheme-link-hover: initial; 412} 413 414/* --- Neutral Schemes --- */ 415.section_wrapper[data-wf--0---section--variant="light"], 416.component_wrapper[data-wf--0---component--variant="light"] { 417 background-color: var(--_color-schemes---light--background); 418 --scheme-heading: var(--_color-schemes---light--heading); 419 --scheme-paragraph: var(--_color-schemes---light--paragraph); 420 --scheme-link: var(--_color-schemes---light--link); 421 --scheme-link-hover: var(--_color-schemes---light--link-hover); 422} 423 424.section_wrapper[data-wf--0---section--variant="subtle"], 425.component_wrapper[data-wf--0---component--variant="subtle"] { 426 background-color: var(--_color-schemes---subtle--background); 427 --scheme-heading: var(--_color-schemes---subtle--heading); 428 --scheme-paragraph: var(--_color-schemes---subtle--paragraph); 429 --scheme-link: var(--_color-schemes---subtle--link); 430 --scheme-link-hover: var(--_color-schemes---subtle--link-hover); 431} 432 433.section_wrapper[data-wf--0---section--variant="dark"], 434.component_wrapper[data-wf--0---component--variant="dark"] { 435 background-color: var(--_color-schemes---dark--background); 436 --scheme-heading: var(--_color-schemes---dark--heading); 437 --scheme-paragraph: var(--_color-schemes---dark--paragraph); 438 --scheme-link: var(--_color-schemes---dark--link); 439 --scheme-link-hover: var(--_color-schemes---dark--link-hover); 440} 441 442/* --- Brand Schemes --- */ 443.section_wrapper[data-wf--0---section--variant="brand-light"], 444.component_wrapper[data-wf--0---component--variant="brand-light"] { 445 background-color: var(--_color-schemes---brand-light--background); 446 --scheme-heading: var(--_color-schemes---brand-light--heading); 447 --scheme-paragraph: var(--_color-schemes---brand-light--paragraph); 448 --scheme-link: var(--_color-schemes---brand-light--link); 449 --scheme-link-hover: var(--_color-schemes---brand-light--link-hover); 450} 451 452.section_wrapper[data-wf--0---section--variant="brand"], 453.component_wrapper[data-wf--0---component--variant="brand"] { 454 background-color: var(--_color-schemes---brand--background); 455 --scheme-heading: var(--_color-schemes---brand--heading); 456 --scheme-paragraph: var(--_color-schemes---brand--paragraph); 457 --scheme-link: var(--_color-schemes---brand--link); 458 --scheme-link-hover: var(--_color-schemes---brand--link-hover); 459} 460 461.section_wrapper[data-wf--0---section--variant="brand-dark"], 462.component_wrapper[data-wf--0---component--variant="brand-dark"] { 463 background-color: var(--_color-schemes---brand-dark--background); 464 --scheme-heading: var(--_color-schemes---brand-dark--heading); 465 --scheme-paragraph: var(--_color-schemes---brand-dark--paragraph); 466 --scheme-link: var(--_color-schemes---brand-dark--link); 467 --scheme-link-hover: var(--_color-schemes---brand-dark--link-hover); 468} 469 470/* --- Secondary Schemes --- */ 471.section_wrapper[data-wf--0---section--variant="secondary-light"], 472.component_wrapper[data-wf--0---component--variant="secondary-light"] { 473 background-color: var(--_color-schemes---secondary-light--background); 474 --scheme-heading: var(--_color-schemes---secondary-light--heading); 475 --scheme-paragraph: var(--_color-schemes---secondary-light--paragraph); 476 --scheme-link: var(--_color-schemes---secondary-light--link); 477 --scheme-link-hover: var(--_color-schemes---secondary-light--link-hover); 478} 479 480.section_wrapper[data-wf--0---section--variant="secondary"], 481.component_wrapper[data-wf--0---component--variant="secondary"] { 482 background-color: var(--_color-schemes---secondary--background); 483 --scheme-heading: var(--_color-schemes---secondary--heading); 484 --scheme-paragraph: var(--_color-schemes---secondary--paragraph); 485 --scheme-link: var(--_color-schemes---secondary--link); 486 --scheme-link-hover: var(--_color-schemes---secondary--link-hover); 487} 488 489.section_wrapper[data-wf--0---section--variant="secondary-dark"], 490.component_wrapper[data-wf--0---component--variant="secondary-dark"] { 491 background-color: var(--_color-schemes---secondary-dark--background); 492 --scheme-heading: var(--_color-schemes---secondary-dark--heading); 493 --scheme-paragraph: var(--_color-schemes---secondary-dark--paragraph); 494 --scheme-link: var(--_color-schemes---secondary-dark--link); 495 --scheme-link-hover: var(--_color-schemes---secondary-dark--link-hover); 496} 497 498/* --- Accent Schemes --- */ 499.section_wrapper[data-wf--0---section--variant="accent-light"], 500.component_wrapper[data-wf--0---component--variant="accent-light"] { 501 background-color: var(--_color-schemes---accent-light--background); 502 --scheme-heading: var(--_color-schemes---accent-light--heading); 503 --scheme-paragraph: var(--_color-schemes---accent-light--paragraph); 504 --scheme-link: var(--_color-schemes---accent-light--link); 505 --scheme-link-hover: var(--_color-schemes---accent-light--link-hover); 506} 507 508.section_wrapper[data-wf--0---section--variant="accent"], 509.component_wrapper[data-wf--0---component--variant="accent"] { 510 background-color: var(--_color-schemes---accent--background); 511 --scheme-heading: var(--_color-schemes---accent--heading); 512 --scheme-paragraph: var(--_color-schemes---accent--paragraph); 513 --scheme-link: var(--_color-schemes---accent--link); 514 --scheme-link-hover: var(--_color-schemes---accent--link-hover); 515} 516 517.section_wrapper[data-wf--0---section--variant="accent-dark"], 518.component_wrapper[data-wf--0---component--variant="accent-dark"] { 519 background-color: var(--_color-schemes---accent-dark--background); 520 --scheme-heading: var(--_color-schemes---accent-dark--heading); 521 --scheme-paragraph: var(--_color-schemes---accent-dark--paragraph); 522 --scheme-link: var(--_color-schemes---accent-dark--link); 523 --scheme-link-hover: var(--_color-schemes---accent-dark--link-hover); 524} 525 526/* --- Accent1-3 Schemes --- */ 527.section_wrapper[data-wf--0---section--variant="accent1-light"], 528.component_wrapper[data-wf--0---component--variant="accent1-light"] { 529 background-color: var(--_color-schemes---accent1-light--background); 530 --scheme-heading: var(--_color-schemes---accent1-light--heading); 531 --scheme-paragraph: var(--_color-schemes---accent1-light--paragraph); 532 --scheme-link: var(--_color-schemes---accent1-light--link); 533 --scheme-link-hover: var(--_color-schemes---accent1-light--link-hover); 534} 535 536.section_wrapper[data-wf--0---section--variant="accent1"], 537.component_wrapper[data-wf--0---component--variant="accent1"] { 538 background-color: var(--_color-schemes---accent1--background); 539 --scheme-heading: var(--_color-schemes---accent1--heading); 540 --scheme-paragraph: var(--_color-schemes---accent1--paragraph); 541 --scheme-link: var(--_color-schemes---accent1--link); 542 --scheme-link-hover: var(--_color-schemes---accent1--link-hover); 543} 544 545.section_wrapper[data-wf--0---section--variant="accent1-dark"], 546.component_wrapper[data-wf--0---component--variant="accent1-dark"] { 547 background-color: var(--_color-schemes---accent1-dark--background); 548 --scheme-heading: var(--_color-schemes---accent1-dark--heading); 549 --scheme-paragraph: var(--_color-schemes---accent1-dark--paragraph); 550 --scheme-link: var(--_color-schemes---accent1-dark--link); 551 --scheme-link-hover: var(--_color-schemes---accent1-dark--link-hover); 552} 553 554.section_wrapper[data-wf--0---section--variant="accent2-light"], 555.component_wrapper[data-wf--0---component--variant="accent2-light"] { 556 background-color: var(--_color-schemes---accent2-light--background); 557 --scheme-heading: var(--_color-schemes---accent2-light--heading); 558 --scheme-paragraph: var(--_color-schemes---accent2-light--paragraph); 559 --scheme-link: var(--_color-schemes---accent2-light--link); 560 --scheme-link-hover: var(--_color-schemes---accent2-light--link-hover); 561} 562 563.section_wrapper[data-wf--0---section--variant="accent2"], 564.component_wrapper[data-wf--0---component--variant="accent2"] { 565 background-color: var(--_color-schemes---accent2--background); 566 --scheme-heading: var(--_color-schemes---accent2--heading); 567 --scheme-paragraph: var(--_color-schemes---accent2--paragraph); 568 --scheme-link: var(--_color-schemes---accent2--link); 569 --scheme-link-hover: var(--_color-schemes---accent2--link-hover); 570} 571 572.section_wrapper[data-wf--0---section--variant="accent2-dark"], 573.component_wrapper[data-wf--0---component--variant="accent2-dark"] { 574 background-color: var(--_color-schemes---accent2-dark--background); 575 --scheme-heading: var(--_color-schemes---accent2-dark--heading); 576 --scheme-paragraph: var(--_color-schemes---accent2-dark--paragraph); 577 --scheme-link: var(--_color-schemes---accent2-dark--link); 578 --scheme-link-hover: var(--_color-schemes---accent2-dark--link-hover); 579} 580 581.section_wrapper[data-wf--0---section--variant="accent3-light"], 582.component_wrapper[data-wf--0---component--variant="accent3-light"] { 583 background-color: var(--_color-schemes---accent3-light--background); 584 --scheme-heading: var(--_color-schemes---accent3-light--heading); 585 --scheme-paragraph: var(--_color-schemes---accent3-light--paragraph); 586 --scheme-link: var(--_color-schemes---accent3-light--link); 587 --scheme-link-hover: var(--_color-schemes---accent3-light--link-hover); 588} 589 590.section_wrapper[data-wf--0---section--variant="accent3"], 591.component_wrapper[data-wf--0---component--variant="accent3"] { 592 background-color: var(--_color-schemes---accent3--background); 593 --scheme-heading: var(--_color-schemes---accent3--heading); 594 --scheme-paragraph: var(--_color-schemes---accent3--paragraph); 595 --scheme-link: var(--_color-schemes---accent3--link); 596 --scheme-link-hover: var(--_color-schemes---accent3--link-hover); 597} 598 599.section_wrapper[data-wf--0---section--variant="accent3-dark"], 600.component_wrapper[data-wf--0---component--variant="accent3-dark"] { 601 background-color: var(--_color-schemes---accent3-dark--background); 602 --scheme-heading: var(--_color-schemes---accent3-dark--heading); 603 --scheme-paragraph: var(--_color-schemes---accent3-dark--paragraph); 604 --scheme-link: var(--_color-schemes---accent3-dark--link); 605 --scheme-link-hover: var(--_color-schemes---accent3-dark--link-hover); 606} 607 608/* --- Transparent --- */ 609.section_wrapper[data-wf--0---section--variant="transparent"], 610.component_wrapper[data-wf--0---component--variant="transparent"] { 611 background-color: transparent; 612} 613
614/* ================================================ 615 COLOR SCHEME UTILITY COMPONENT (for cards) 616 ================================================ */ 617 618[data-wf--color-scheme--variant] { 619 display: none; 620} 621 622:has(> [data-wf--color-scheme--variant="light"]) { 623 background-color: var(--_color-schemes---light--background); 624 --scheme-heading: var(--_color-schemes---light--heading); 625 --scheme-paragraph: var(--_color-schemes---light--paragraph); 626} 627 628:has(> [data-wf--color-scheme--variant="subtle"]) { 629 background-color: var(--_color-schemes---subtle--background); 630 --scheme-heading: var(--_color-schemes---subtle--heading); 631 --scheme-paragraph: var(--_color-schemes---subtle--paragraph); 632} 633 634:has(> [data-wf--color-scheme--variant="dark"]) { 635 background-color: var(--_color-schemes---dark--background); 636 --scheme-heading: var(--_color-schemes---dark--heading); 637 --scheme-paragraph: var(--_color-schemes---dark--paragraph); 638} 639 640:has(> [data-wf--color-scheme--variant="brand-light"]) { 641 background-color: var(--_color-schemes---brand-light--background); 642 --scheme-heading: var(--_color-schemes---brand-light--heading); 643 --scheme-paragraph: var(--_color-schemes---brand-light--paragraph); 644} 645 646:has(> [data-wf--color-scheme--variant="brand"]) { 647 background-color: var(--_color-schemes---brand--background); 648 --scheme-heading: var(--_color-schemes---brand--heading); 649 --scheme-paragraph: var(--_color-schemes---brand--paragraph); 650} 651 652:has(> [data-wf--color-scheme--variant="brand-dark"]) { 653 background-color: var(--_color-schemes---brand-dark--background); 654 --scheme-heading: var(--_color-schemes---brand-dark--heading); 655 --scheme-paragraph: var(--_color-schemes---brand-dark--paragraph); 656} 657 658:has(> [data-wf--color-scheme--variant="secondary-light"]) { 659 background-color: var(--_color-schemes---secondary-light--background); 660 --scheme-heading: var(--_color-schemes---secondary-light--heading); 661 --scheme-paragraph: var(--_color-schemes---secondary-light--paragraph); 662} 663 664:has(> [data-wf--color-scheme--variant="secondary"]) { 665 background-color: var(--_color-schemes---secondary--background); 666 --scheme-heading: var(--_color-schemes---secondary--heading); 667 --scheme-paragraph: var(--_color-schemes---secondary--paragraph); 668} 669 670:has(> [data-wf--color-scheme--variant="secondary-dark"]) { 671 background-color: var(--_color-schemes---secondary-dark--background); 672 --scheme-heading: var(--_color-schemes---secondary-dark--heading); 673 --scheme-paragraph: var(--_color-schemes---secondary-dark--paragraph); 674} 675 676:has(> [data-wf--color-scheme--variant="accent-light"]) { 677 background-color: var(--_color-schemes---accent-light--background); 678 --scheme-heading: var(--_color-schemes---accent-light--heading); 679 --scheme-paragraph: var(--_color-schemes---accent-light--paragraph); 680} 681 682:has(> [data-wf--color-scheme--variant="accent"]) { 683 background-color: var(--_color-schemes---accent--background); 684 --scheme-heading: var(--_color-schemes---accent--heading); 685 --scheme-paragraph: var(--_color-schemes---accent--paragraph); 686} 687 688:has(> [data-wf--color-scheme--variant="accent-dark"]) { 689 background-color: var(--_color-schemes---accent-dark--background); 690 --scheme-heading: var(--_color-schemes---accent-dark--heading); 691 --scheme-paragraph: var(--_color-schemes---accent-dark--paragraph); 692} 693 694:has(> [data-wf--color-scheme--variant="transparent"]) { 695 background-color: transparent; 696} 697 698/* ================================================ 699 TEXT COLOR VARIANTS 700 ================================================ */ 701 702/* Scheme - uses parent's scheme variables (DEFAULT) */ 703[data-wf--heading--variant="scheme"] { 704 color: var(--scheme-heading); 705} 706 707[data-wf--paragraph--variant="scheme"] { 708 color: var(--scheme-paragraph); 709} 710 711/* Explicit overrides */ 712[data-wf--heading--variant="inverse"] { 713 color: var(--_semantic-tokens---text--text-inverse); 714} 715 716[data-wf--heading--variant="primary"] { 717 color: var(--_semantic-tokens---text--text-primary); 718} 719 720[data-wf--heading--variant="secondary"] { 721 color: var(--_semantic-tokens---text--text-secondary); 722} 723 724[data-wf--heading--variant="tertiary"] { 725 color: var(--_semantic-tokens---text--text-tertiary); 726} 727 728[data-wf--heading--variant="brand"] { 729 color: var(--_semantic-tokens---text--text-brand); 730} 731 732[data-wf--paragraph--variant="inverse"] { 733 color: var(--_semantic-tokens---text--text-inverse); 734} 735 736[data-wf--paragraph--variant="primary"] { 737 color: var(--_semantic-tokens---text--text-primary); 738} 739 740[data-wf--paragraph--variant="secondary"] { 741 color: var(--_semantic-tokens---text--text-secondary); 742} 743 744[data-wf--paragraph--variant="tertiary"] { 745 color: var(--_semantic-tokens---text--text-tertiary); 746} 747 748[data-wf--paragraph--variant="brand"] { 749 color: var(--_semantic-tokens---text--text-brand); 750} 751 752/* ================================================ 753 RICH TEXT COLOR INHERITANCE 754 ================================================ */ 755 756.text-rich-text h1, 757.text-rich-text h2, 758.text-rich-text h3, 759.text-rich-text h4, 760.text-rich-text h5, 761.text-rich-text h6 { 762 color: var(--scheme-heading); 763} 764 765.text-rich-text p, 766.text-rich-text li, 767.text-rich-text blockquote, 768.text-rich-text span, 769.text-rich-text label { 770 color: var(--scheme-paragraph); 771} 772 773.text-rich-text a { 774 color: var(--scheme-link); 775} 776 777.text-rich-text a:hover {
778 color: var(--scheme-link-hover); 779} 780</style></div><div class="hide w-embed"><style> 781/* Gradient Color Variants */ 782.background-overlay[data-wf--background-overlay--background-overlay="primary-light"] { 783 --gradient-stop-1: var(--_gradients---primary-light--stop-1); 784 --gradient-stop-2: var(--_gradients---primary-light--stop-2); 785} 786.background-overlay[data-wf--background-overlay--background-overlay="primary"] { 787 --gradient-stop-1: var(--_gradients---primary--stop-1); 788 --gradient-stop-2: var(--_gradients---primary--stop-2); 789} 790.background-overlay[data-wf--background-overlay--background-overlay="primary-bold"] { 791 --gradient-stop-1: var(--_gradients---primary-bold--stop-1); 792 --gradient-stop-2: var(--_gradients---primary-bold--stop-2); 793} 794.background-overlay[data-wf--background-overlay--background-overlay="primary-dark"] { 795 --gradient-stop-1: var(--_gradients---primary-dark--stop-1); 796 --gradient-stop-2: var(--_gradients---primary-dark--stop-2); 797} 798.background-overlay[data-wf--background-overlay--background-overlay="primary-to-neutral"] { 799 --gradient-stop-1: var(--_gradients---primary-to-neutral--stop-1); 800 --gradient-stop-2: var(--_gradients---primary-to-neutral--stop-2); 801} 802.background-overlay[data-wf--background-overlay--background-overlay="primary-overlay-light"] { 803 --gradient-stop-1: var(--_gradients---primary-overlay-light--stop-1); 804 --gradient-stop-2: var(--_gradients---primary-overlay-light--stop-2); 805} 806.background-overlay[data-wf--background-overlay--background-overlay="primary-overlay"] { 807 --gradient-stop-1: var(--_gradients---primary-overlay--stop-1); 808 --gradient-stop-2: var(--_gradients---primary-overlay--stop-2); 809} 810.background-overlay[data-wf--background-overlay--background-overlay="primary-overlay-heavy"] { 811 --gradient-stop-1: var(--_gradients---primary-overlay-heavy--stop-1); 812 --gradient-stop-2: var(--_gradients---primary-overlay-heavy--stop-2); 813} 814.background-overlay[data-wf--background-overlay--background-overlay="dark-overlay-light"] { 815 --gradient-stop-1: var(--_gradients---dark-overlay-light--stop-1); 816 --gradient-stop-2: var(--_gradients---dark-overlay-light--stop-2); 817} 818.background-overlay[data-wf--background-overlay--background-overlay="dark-overlay"] { 819 --gradient-stop-1: var(--_gradients---dark-overlay--stop-1); 820 --gradient-stop-2: var(--_gradients---dark-overlay--stop-2); 821} 822.background-overlay[data-wf--background-overlay--background-overlay="dark-overlay-heavy"] { 823 --gradient-stop-1: var(--_gradients---dark-overlay-heavy--stop-1); 824 --gradient-stop-2: var(--_gradients---dark-overlay-heavy--stop-2); 825} 826 827/* Gradient Angle Variants - targets parent .background-overlay based on child's data attribute */ 828.background-overlay:has([data-wf--gradient-angle--variant="top"]) { 829 background-image: linear-gradient(to top, var(--gradient-stop-1), var(--gradient-stop-2)); 830} 831.background-overlay:has([data-wf--gradient-angle--variant="top-right"]) { 832 background-image: linear-gradient(to top right, var(--gradient-stop-1), var(--gradient-stop-2)); 833} 834.background-overlay:has([data-wf--gradient-angle--variant="right"]) { 835 background-image: linear-gradient(to right, var(--gradient-stop-1), var(--gradient-stop-2)); 836} 837.background-overlay:has([data-wf--gradient-angle--variant="bottom-right"]) { 838 background-image: linear-gradient(to bottom right, var(--gradient-stop-1), var(--gradient-stop-2)); 839} 840.background-overlay:has([data-wf--gradient-angle--variant="bottom"]) { 841 background-image: linear-gradient(to bottom, var(--gradient-stop-1), var(--gradient-stop-2)); 842} 843.background-overlay:has([data-wf--gradient-angle--variant="bottom-left"]) { 844 background-image: linear-gradient(to bottom left, var(--gradient-stop-1), var(--gradient-stop-2)); 845} 846.background-overlay:has([data-wf--gradient-angle--variant="left"]) { 847 background-image: linear-gradient(to left, var(--gradient-stop-1), var(--gradient-stop-2)); 848} 849.background-overlay:has([data-wf--gradient-angle--variant="top-left"]) { 850 background-image: linear-gradient(to top left, var(--gradient-stop-1), var(--gradient-stop-2)); 851} 852</style></div><div class="hide w-embed"><style> 853/* ================================================ 854 BUTTON COMPONENT 855 ================================================ */ 856
857/* Hide variant controllers */ 858[data-wf--button-style--variant], 859[data-wf--button-size--variant], 860[data-wf--button-width--variant] { 861 display: none; 862} 863 864/* Base button styles */ 865.button { 866 position: relative; 867 overflow: hidden; 868 z-index: 1; 869 border-style: solid; 870 transition: color 0.2s ease, border-color 0.2s ease; 871} 872 873/* Hover background layer */ 874.button::before { 875 content: ''; 876 position: absolute; 877 inset: 0; 878 z-index: -1; 879 opacity: 0; 880 transition: opacity 0.2s ease; 881 border-radius: inherit; 882} 883 884.button:hover::before { 885 opacity: 1; 886} 887 888/* ================================================ 889 BUTTON SIZE 890 ================================================ */ 891 892.button:has([data-wf--button-size--variant="small"]) { 893 padding: var(--_buttons---button-small--padding-y) var(--_buttons---button-small--padding-x); 894 font-size: var(--_buttons---button-small--font-size); 895 border-radius: var(--_buttons---button-small--border-radius); 896 border-width: var(--_buttons---button-small--border-width); 897} 898 899.button:has([data-wf--button-size--variant="base"]) { 900 padding: var(--_buttons---button-base--padding-y) var(--_buttons---button-base--padding-x); 901 font-size: var(--_buttons---button-base--font-size); 902 border-radius: var(--_buttons---button-base--border-radius); 903 border-width: var(--_buttons---button-base--border-width); 904} 905 906.button:has([data-wf--button-size--variant="large"]) { 907 padding: var(--_buttons---button-large--padding-y) var(--_buttons---button-large--padding-x); 908 font-size: var(--_buttons---button-large--font-size); 909 border-radius: var(--_buttons---button-large--border-radius); 910 border-width: var(--_buttons---button-large--border-width); 911} 912 913/* ================================================ 914 BUTTON STYLE 915 ================================================ */ 916 917/* Primary */ 918.button:has([data-wf--button-style--variant="primary"]) { 919 background: linear-gradient( 920 calc(var(--_buttons---gradient--direction) * 1deg), 921 var(--_buttons---primary--stop-1) 0%, 922 var(--_buttons---primary--stop-2) 100% 923 ); 924 color: var(--_buttons---primary--text); 925 border-color: var(--_buttons---primary--border); 926} 927.button:has([data-wf--button-style--variant="primary"])::before { 928 background: linear-gradient( 929 calc(var(--_buttons---gradient--direction) * 1deg), 930 var(--_buttons---primary--stop-1-hover) 0%, 931 var(--_buttons---primary--stop-2-hover) 100% 932 ); 933} 934.button:has([data-wf--button-style--variant="primary"]):hover { 935 color: var(--_buttons---primary--text-hover, var(--_buttons---primary--text)); 936 border-color: var(--_buttons---primary--border-hover, var(--_buttons---primary--border)); 937} 938 939/* Primary Alt */ 940.button:has([data-wf--button-style--variant="primary-alt"]) { 941 background: linear-gradient( 942 calc(var(--_buttons---gradient--direction) * 1deg), 943 var(--_buttons---primary-alt--stop-1) 0%, 944 var(--_buttons---primary-alt--stop-2) 100% 945 ); 946 color: var(--_buttons---primary-alt--text); 947 border-color: var(--_buttons---primary-alt--border); 948} 949.button:has([data-wf--button-style--variant="primary-alt"])::before { 950 background: linear-gradient( 951 calc(var(--_buttons---gradient--direction) * 1deg), 952 var(--_buttons---primary-alt--stop-1-hover) 0%, 953 var(--_buttons---primary-alt--stop-2-hover) 100% 954 ); 955} 956.button:has([data-wf--button-style--variant="primary-alt"]):hover { 957 color: var(--_buttons---primary-alt--text-hover, var(--_buttons---primary-alt--text)); 958 border-color: var(--_buttons---primary-alt--border-hover, var(--_buttons---primary-alt--border)); 959} 960 961/* Secondary */ 962.button:has([data-wf--button-style--variant="secondary"]) { 963 background: linear-gradient( 964 calc(var(--_buttons---gradient--direction) * 1deg), 965 var(--_buttons---secondary--stop-1) 0%, 966 var(--_buttons---secondary--stop-2) 100% 967 ); 968 color: var(--_buttons---secondary--text); 969 border-color: var(--_buttons---secondary--border); 970} 971.button:has([data-wf--button-style--variant="secondary"])::before { 972 background: linear-gradient( 973 calc(var(--_buttons---gradient--direction) * 1deg), 974 var(--_buttons---secondary--stop-1-hover) 0%, 975 var(--_buttons---secondary--stop-2-hover) 100% 976 ); 977}
978.button:has([data-wf--button-style--variant="secondary"]):hover { 979 color: var(--_buttons---secondary--text-hover, var(--_buttons---secondary--text)); 980 border-color: var(--_buttons---secondary--border-hover, var(--_buttons---secondary--border)); 981} 982 983/* Secondary Alt */ 984.button:has([data-wf--button-style--variant="secondary-alt"]) { 985 background: linear-gradient( 986 calc(var(--_buttons---gradient--direction) * 1deg), 987 var(--_buttons---secondary-alt--stop-1) 0%, 988 var(--_buttons---secondary-alt--stop-2) 100% 989 ); 990 color: var(--_buttons---secondary-alt--text); 991 border-color: var(--_buttons---secondary-alt--border); 992} 993.button:has([data-wf--button-style--variant="secondary-alt"])::before { 994 background: linear-gradient( 995 calc(var(--_buttons---gradient--direction) * 1deg), 996 var(--_buttons---secondary-alt--stop-1-hover) 0%, 997 var(--_buttons---secondary-alt--stop-2-hover) 100% 998 ); 999} 1000.button:has([data-wf--button-style--variant="secondary-alt"]):hover { 1001 color: var(--_buttons---secondary-alt--text-hover, var(--_buttons---secondary-alt--text)); 1002 border-color: var(--_buttons---secondary-alt--border-hover, var(--_buttons---secondary-alt--border)); 1003} 1004 1005/* Tertiary */ 1006.button:has([data-wf--button-style--variant="tertiary"]) { 1007 background: linear-gradient( 1008 calc(var(--_buttons---gradient--direction) * 1deg), 1009 var(--_buttons---tertiary--stop-1) 0%, 1010 var(--_buttons---tertiary--stop-2) 100% 1011 ); 1012 color: var(--_buttons---tertiary--text); 1013 border-color: var(--_buttons---tertiary--border); 1014} 1015.button:has([data-wf--button-style--variant="tertiary"])::before { 1016 background: linear-gradient( 1017 calc(var(--_buttons---gradient--direction) * 1deg), 1018 var(--_buttons---tertiary--stop-1-hover) 0%, 1019 var(--_buttons---tertiary--stop-2-hover) 100% 1020 ); 1021} 1022.button:has([data-wf--button-style--variant="tertiary"]):hover { 1023 color: var(--_buttons---tertiary--text-hover, var(--_buttons---tertiary--text)); 1024 border-color: var(--_buttons---tertiary--border-hover, var(--_buttons---tertiary--border)); 1025} 1026 1027/* Tertiary Alt */ 1028.button:has([data-wf--button-style--variant="tertiary-alt"]) { 1029 background: linear-gradient( 1030 calc(var(--_buttons---gradient--direction) * 1deg), 1031 var(--_buttons---tertiary-alt--stop-1) 0%, 1032 var(--_buttons---tertiary-alt--stop-2) 100% 1033 ); 1034 color: var(--_buttons---tertiary-alt--text); 1035 border-color: var(--_buttons---tertiary-alt--border); 1036} 1037.button:has([data-wf--button-style--variant="tertiary-alt"])::before { 1038 background: linear-gradient( 1039 calc(var(--_buttons---gradient--direction) * 1deg), 1040 var(--_buttons---tertiary-alt--stop-1-hover) 0%, 1041 var(--_buttons---tertiary-alt--stop-2-hover) 100% 1042 ); 1043} 1044.button:has([data-wf--button-style--variant="tertiary-alt"]):hover { 1045 color: var(--_buttons---tertiary-alt--text-hover, var(--_buttons---tertiary-alt--text)); 1046 border-color: var(--_buttons---tertiary-alt--border-hover, var(--_buttons---tertiary-alt--border)); 1047} 1048 1049/* Outline */ 1050.button:has([data-wf--button-style--variant="outline"]) { 1051 background: linear-gradient( 1052 calc(var(--_buttons---gradient--direction) * 1deg), 1053 var(--_buttons---outline--stop-1) 0%, 1054 var(--_buttons---outline--stop-2) 100% 1055 ); 1056 color: var(--_buttons---outline--text); 1057 border-color: var(--_buttons---outline--border); 1058} 1059.button:has([data-wf--button-style--variant="outline"])::before { 1060 background: linear-gradient( 1061 calc(var(--_buttons---gradient--direction) * 1deg), 1062 var(--_buttons---outline--stop-1-hover) 0%, 1063 var(--_buttons---outline--stop-2-hover) 100% 1064 ); 1065} 1066.button:has([data-wf--button-style--variant="outline"]):hover { 1067 color: var(--_buttons---outline--text-hover); 1068 border-color: var(--_buttons---outline--border-hover, var(--_buttons---outline--border)); 1069} 1070 1071/* Outline Alt */ 1072.button:has([data-wf--button-style--variant="outline-alt"]) { 1073 background: linear-gradient( 1074 calc(var(--_buttons---gradient--direction) * 1deg), 1075 var(--_buttons---outline-alt--stop-1) 0%, 1076 var(--_buttons---outline-alt--stop-2) 100% 1077 ); 1078 color: var(--_buttons---outline-alt--text); 1079 border-color: var(--_buttons---outline-alt--border); 1080} 1081.button:has([data-wf--button-style--variant="outline-alt"])::before { 1082 background: linear-gradient( 1083 calc(var(--_buttons---gradient--direction) * 1deg), 1084 var(--_buttons---outline-alt--stop-1-hover) 0%, 1085 var(--_buttons---outline-alt--stop-2-hover) 100% 1086 ); 1087} 1088.button:has([data-wf--button-style--variant="outline-alt"]):hover {
1089 color: var(--_buttons---outline-alt--text-hover); 1090 border-color: var(--_buttons---outline-alt--border-hover, var(--_buttons---outline-alt--border)); 1091} 1092 1093/* ================================================ 1094 GRADIENT TEXT BUTTONS 1095 ================================================ */ 1096 1097/* Gradient Tertiary - gradient text, transparent bg */ 1098.button:has([data-wf--button-style--variant="gradient-tertiary"]) { 1099 background: transparent; 1100 border-color: transparent; 1101} 1102.button:has([data-wf--button-style--variant="gradient-tertiary"]) .button_text { 1103 background: linear-gradient( 1104 calc(var(--_buttons---gradient--direction) * 1deg), 1105 var(--_buttons---gradient-tertiary--stop-1) 0%, 1106 var(--_buttons---gradient-tertiary--stop-2) 100% 1107 ); 1108 -webkit-background-clip: text; 1109 background-clip: text; 1110 -webkit-text-fill-color: transparent; 1111} 1112.button:has([data-wf--button-style--variant="gradient-tertiary"])::before { 1113 background: var(--_buttons---gradient-tertiary--bg-hover); 1114} 1115.button:has([data-wf--button-style--variant="gradient-tertiary"]):hover .button_text { 1116 background: linear-gradient( 1117 calc(var(--_buttons---gradient--direction) * 1deg), 1118 var(--_buttons---gradient-tertiary--stop-1-hover) 0%, 1119 var(--_buttons---gradient-tertiary--stop-2-hover) 100% 1120 ); 1121 -webkit-background-clip: text; 1122 background-clip: text; 1123 -webkit-text-fill-color: transparent; 1124} 1125 1126/* Gradient Outline - gradient text + border, transparent bg */ 1127.button:has([data-wf--button-style--variant="gradient-outline"]) { 1128 background: transparent; 1129 border-color: var(--_buttons---gradient-outline--border); 1130} 1131.button:has([data-wf--button-style--variant="gradient-outline"]) .button_text { 1132 background: linear-gradient( 1133 calc(var(--_buttons---gradient--direction) * 1deg), 1134 var(--_buttons---gradient-outline--stop-1) 0%, 1135 var(--_buttons---gradient-outline--stop-2) 100% 1136 ); 1137 -webkit-background-clip: text; 1138 background-clip: text; 1139 -webkit-text-fill-color: transparent; 1140} 1141.button:has([data-wf--button-style--variant="gradient-outline"])::before { 1142 background: linear-gradient( 1143 calc(var(--_buttons---gradient--direction) * 1deg), 1144 var(--_buttons---gradient-outline--stop-1-hover) 0%, 1145 var(--_buttons---gradient-outline--stop-2-hover) 100% 1146 ); 1147} 1148.button:has([data-wf--button-style--variant="gradient-outline"]):hover { 1149 border-color: var(--_buttons---gradient-outline--border-hover, var(--_buttons---gradient-outline--border)); 1150} 1151.button:has([data-wf--button-style--variant="gradient-outline"]):hover .button_text { 1152 background: none; 1153 -webkit-background-clip: unset; 1154 background-clip: unset; 1155 -webkit-text-fill-color: var(--_buttons---gradient-outline--text-hover); 1156 color: var(--_buttons---gradient-outline--text-hover); 1157} 1158 1159/* ================================================ 1160 BUTTON WIDTH 1161 ================================================ */ 1162 1163.button:has([data-wf--button-width--variant="auto"]) { 1164 width: auto; 1165} 1166 1167.button:has([data-wf--button-width--variant="full"]) { 1168 width: 100%; 1169} 1170</style></div><div class="hide w-embed"><style> 1171/* Image Align */ 1172.image-wrapper:has([data-wf--image-align--variant="right"]) { 1173 display: flex !important; 1174 justify-content: flex-end !important; 1175} 1176.image-wrapper:has([data-wf--image-align--variant="left"]) { 1177 display: flex !important; 1178 justify-content: flex-start !important; 1179} 1180.image-wrapper:has([data-wf--image-align--variant="center"]) { 1181 display: flex !important; 1182 justify-content: center !important; 1183} 1184</style> 1185 1186<style> 1187/* Image Ratio - apply to img, not wrapper */ 1188.image-wrapper:has([data-wf--image-ratio--variant="square"]) img { 1189 aspect-ratio: 1 / 1 !important; 1190 object-fit: cover !important; 1191} 1192.image-wrapper:has([data-wf--image-ratio--variant="4-3"]) img { 1193 aspect-ratio: 4 / 3 !important; 1194 object-fit: cover !important; 1195} 1196.image-wrapper:has([data-wf--image-ratio--variant="3-2"]) img { 1197 aspect-ratio: 3 / 2 !important; 1198 object-fit: cover !important; 1199} 1200.image-wrapper:has([data-wf--image-ratio--variant="16-9"]) img { 1201 aspect-ratio: 16 / 9 !important; 1202 object-fit: cover !important; 1203} 1204.image-wrapper:has([data-wf--image-ratio--variant="21-9"]) img { 1205 aspect-ratio: 21 / 9 !important; 1206 object-fit: cover !important; 1207} 1208.image-wrapper:has([data-wf--image-ratio--variant="3-4"]) img { 1209 aspect-ratio: 3 / 4 !important; 1210 object-fit: cover !important; 1211} 1212.image-wrapper:has([data-wf--image-ratio--variant="2-3"]) img { 1213 aspect-ratio: 2 / 3 !important; 1214 object-fit: cover !important; 1215} 1216.image-wrapper:has([data-wf--image-ratio--variant="9-16"]) img { 1217 aspect-ratio: 9 / 16 !important; 1218 object-fit: cover !important; 1219} 1220.image-wrapper:has([data-wf--image-ratio--variant="auto"]) img { 1221 aspect-ratio: auto !important; 1222} 1223 1224 /* Image Ratio - Mobile Override (767px and below) */ 1225@media (max-width: 767px) { 1226 .image-wrapper:has([data-wf--image-ratio-mobile--variant="square"]) img { aspect-ratio: 1 / 1 !important; } 1227 .image-wrapper:has([data-wf--image-ratio-mobile--variant="4-3"]) img { aspect-ratio: 4 / 3 !important; } 1228 .image-wrapper:has([data-wf--image-ratio-mobile--variant="3-2"]) img { aspect-ratio: 3 / 2 !important; } 1229 .image-wrapper:has([data-wf--image-ratio-mobile--variant="16-9"]) img { aspect-ratio: 16 / 9 !important; } 1230 .image-wrapper:has([data-wf--image-ratio-mobile--variant="21-9"]) img { aspect-ratio: 21 / 9 !important; } 1231 .image-wrapper:has([data-wf--image-ratio-mobile--variant="3-4"]) img { aspect-ratio: 3 / 4 !important; } 1232 .image-wrapper:has([data-wf--image-ratio-mobile--variant="2-3"]) img { aspect-ratio: 2 / 3 !important; } 1233 .image-wrapper:has([data-wf--image-ratio-mobile--variant="9-16"]) img { aspect-ratio: 9 / 16 !important; } 1234 .image-wrapper:has([data-wf--image-ratio-mobile--variant="auto"]) img { aspect-ratio: auto !important; } 1235} 1236</style> 1237 1238<style> 1239/* Image Size */ 1240.image-wrapper:has([data-wf--image-size--variant="auto"]) img { 1241 width: auto !important; 1242} 1243.image-wrapper:has([data-wf--image-size--variant="25"]) img { 1244 width: 25% !important; 1245} 1246.image-wrapper:has([data-wf--image-size--variant="50"]) img { 1247 width: 50% !important; 1248} 1249.image-wrapper:has([data-wf--image-size--variant="75"]) img { 1250 width: 75% !important; 1251} 1252.image-wrapper:has([data-wf--image-size--variant="full"]) img { 1253 width: 100% !important; 1254} 1255.image-wrapper:has([data-wf--image-size--variant="125"]) img { 1256 width: 125% !important; 1257 max-width: none !important; 1258} 1259.image-wrapper:has([data-wf--image-size--variant="150"]) img { 1260 width: 150% !important; 1261 max-width: none !important; 1262} 1263.image-wrapper:has([data-wf--image-size--variant="200"]) img { 1264 width: 200% !important; 1265 max-width: none !important; 1266} 1267} 1268</style> 1269 1270<style> 1271/* Image Fit */ 1272.image-wrapper:has([data-wf--image-fit--variant="fit"]) img { object-fit: contain !important; } 1273.image-wrapper:has([data-wf--image-fit--variant="cover"]) img { object-fit: cover !important; } 1274.image-wrapper:has([data-wf--image-fit--variant="fill"]) img { object-fit: f
1274ill !important; } 1275</style></div><div class="hide w-embed"><style> 1276/* ================================================ 1277 BACKGROUND / ELEMENT - BASE 1278 ================================================ */ 1279 1280[data-wf--background-element--position] { 1281 position: absolute; 1282 pointer-events: none; 1283} 1284 1285/* ================================================ 1286 POSITION + TRANSFORM ORIGIN 1287 Each position pins the element to an edge/corner 1288 and sets transform-origin to match, so all 1289 transforms (flip) anchor correctly. 1290 ================================================ */ 1291 1292[data-wf--background-element--position="top-left"] { 1293 top: 0; 1294 left: 0; 1295 transform-origin: top left; 1296} 1297 1298[data-wf--background-element--position="top-center"] { 1299 top: 0; 1300 left: 50%; 1301 transform: translateX(-50%); 1302 transform-origin: top center; 1303} 1304 1305[data-wf--background-element--position="top-right"] { 1306 top: 0; 1307 right: 0; 1308 transform-origin: top right; 1309} 1310 1311[data-wf--background-element--position="center-left"] { 1312 top: 50%; 1313 left: 0; 1314 transform: translateY(-50%); 1315 transform-origin: center left; 1316} 1317 1318[data-wf--background-element--position="center"] { 1319 top: 50%; 1320 left: 50%; 1321 transform: translate(-50%, -50%); 1322 transform-origin: center center; 1323} 1324 1325[data-wf--background-element--position="center-right"] { 1326 top: 50%; 1327 right: 0; 1328 transform: translateY(-50%); 1329 transform-origin: center right; 1330} 1331 1332[data-wf--background-element--position="bottom-left"] { 1333 bottom: 0; 1334 left: 0; 1335 transform-origin: bottom left; 1336} 1337 1338[data-wf--background-element--position="bottom-center"] { 1339 bottom: 0; 1340 left: 50%; 1341 transform: translateX(-50%); 1342 transform-origin: bottom center; 1343} 1344 1345[data-wf--background-element--position="bottom-right"] { 1346 bottom: 0; 1347 right: 0; 1348 transform-origin: bottom right; 1349} 1350 1351/* ================================================ 1352 IMAGE SIZE 1353 Controls the width of the background element 1354 wrapper via the Image Size sub-component. 1355 Percentage-based, so it scales naturally with 1356 the viewport. 1357 ================================================ */ 1358 1359[data-wf--background-element--position]:has([data-wf--image-size--variant="25"]) { 1360 width: 25%; 1361} 1362 1363[data-wf--background-element--position]:has([data-wf--image-size--variant="50"]) { 1364 width: 50%; 1365} 1366 1367[data-wf--background-element--position]:has([data-wf--image-size--variant="75"]) { 1368 width: 75%; 1369} 1370 1371[data-wf--background-element--position]:has([data-wf--image-size--variant="full"]) { 1372 width: 100%; 1373} 1374 1375[data-wf--background-element--position]:has([data-wf--image-size--variant="125"]) { 1376 width: 125%; 1377} 1378 1379[data-wf--background-element--position]:has([data-wf--image-size--variant="150"]) { 1380 width: 150%; 1381} 1382 1383[data-wf--background-element--position]:has([data-wf--image-size--variant="200"]) { 1384 width: 200%; 1385} 1386 1387[data-wf--background-element--position] img { 1388 width: 100%; 1389 height: auto; 1390} 1391 1392/* ================================================ 1393 UTILITY / Z-INDEX 1394 ================================================ */ 1395 1396[data-wf--utility-z-index--variant] { 1397 display: none; 1398} 1399 1400[data-wf--background-element--position]:has([data-wf--utility-z-index--variant="-1"]) { 1401 z-index: -1 !important; 1402} 1403 1404[data-wf--background-element--position]:has([data-wf--utility-z-index--variant="0"]) { 1405 z-index: 0 !important; 1406} 1407 1408[data-wf--background-element--position]:has([data-wf--utility-z-index--variant="1"]) { 1409 z-index: 1 !important; 1410} 1411 1412[data-wf--background-element--position]:has([data-wf--utility-z-index--variant="2"]) { 1413 z-index: 2 !important; 1414} 1415 1416/* ================================================ 1417 UTILITY / FLIP 1418 Mirrors the element on one or both axes. 1419 Because transform-origin is set per position, 1420 flips always anchor to the correct corner/edge. 1421 ================================================ */ 1422 1423[data-wf--utility-flip--variant] { 1424 display: none; 1425} 1426 1427/* --- Corners (no translate needed) --- */ 1428 1429[data-wf--background-element--position="top-left"]:has([data-wf--utility-flip--variant="horizontal"]), 1430[data-wf--background-element--position="top-right"]:has([data-wf--utility-flip--variant="horizontal"]), 1431[data-wf--background-element--position="bottom-left"]:has([data-wf--utility-flip--variant="horizontal"]), 1432[data-wf--background-element--position="bottom-right"]:has([data-wf--utility-flip--variant="horizontal"]) { 1433 transform: scaleX(-1); 1434} 1435 1436[data-wf--background-element--position="top-left"]:has([data-wf--utility-flip--variant="vertical"]), 1437[data-wf--background-element--position="top-right"]:has([data-wf--utility-flip--variant="vertical"]), 1438[data-wf--background-element--position="bottom-left"]:has([data-wf--utility-flip--variant="vertical"]), 1439[data-wf--background-element--position="bottom-right"]:has([data-wf--utility-flip--variant="vertical"]) { 1440 transform: scaleY(-1); 1441} 1442 1443[data-wf--background-element--position="top-left"]:has([data-wf--utility-flip--variant="both"]), 1444[data-wf--background-element--position="top-right"]:has([data-wf--utility-flip--variant="both"]), 1445[data-wf--background-element--position="bottom-left"]:has([data-wf--utility-flip--variant="both"]), 1446[data-wf--background-element--position="bottom-right"]:has([data-wf--utility-flip--variant="both"]) { 1447 transform: scale(-1, -1); 1448} 1449 1450/* --- Top/Bottom Center (preserve translateX) --- */ 1451 1452[data-wf--background-element--position="top-center"]:has([data-wf--utility-flip--variant="horizontal"]), 1453[data-wf--background-element--position="bottom-center"]:has([data-wf--utility-flip--variant="horizontal"]) { 1454 transform: translateX(-50%) scaleX(-1); 1455} 1456 1457[data-wf--background-element--position="top-center"]:has([data-wf--utility-flip--variant="vertical"]), 1458[data-wf--background-element--position="bottom-center"]:has([data-wf--utility-flip--variant="vertical"]) { 1459 transform: translateX(-50%) scaleY(-1); 1460} 1461 1462[data-wf--background-element--position="top-center"]:has([data-wf--utility-flip--variant="both"]), 1463[data-wf--background-element--position="bottom-center"]:has([data-wf--utility-flip--variant="both"]) { 1464 transform: translateX(-50%) scale(-1, -1); 1465} 1466 1467/* --- Center Left/Right (preserve translateY) --- */ 1468 1469[data-wf--background-element--position="center-left"]:has([data-wf--utility-flip--variant="horizontal"]), 1470[data-wf--background-element--position="center-right"]:has([data-wf--utility-flip--variant="horizontal"]) { 1471 transform: translateY(-50%) scaleX(-1); 1472} 1473 1474[data-wf--background-element--position="center-left"]:has([data-wf--utility-flip--variant="vertical"]), 1475[data-wf--background-element--position="center-right"]:has([data-wf--utility-flip--variant="vertical"]) { 1476 transform: translateY(-50%) scaleY(-1); 1477} 1478 1479[data-wf--background-element--position="center-left"]:has([data-wf--utility-flip--variant="both"]), 1480[data-wf--background-element--position="center-right"]:has([data-wf--utility-flip--variant="both"]) { 1481 transform: translateY(-50%) scale(-1, -1); 1482} 1483 1484/* --- Center (preserve both translates) --- */ 1485 1486[data-wf--background-element--position="center"]:has([data-wf--utility-flip--variant="horizontal"]) { 1487 transform: translate(-50%, -50%) scaleX(-1); 1488} 1489 1490[data-wf--background-element--position="center"]:has([data-wf--utility-flip--variant="vertical"]) { 1491 transform: translate(-50%, -50%) scaleY(-1); 1492} 1493 1494[data-wf--background-element--position="center"]:has([data-wf--utility-flip--variant="both"]) { 1495 transform: translate(-50%, -50%) scale(-1, -1); 1496} 1497 1498/* ================================================ 1499 OFFSET X 1500 Shifts the element along the X axis.
1501 Negative = outward from anchor / left. 1502 Positive = inward from anchor / right. 1503 1504 For left-anchored positions: adjusts `left` 1505 For right-anchored positions: adjusts `right` (inverted) 1506 For center-X positions: adjusts `left` from 50% 1507 1508 Webflow variant labels / slugs: 1509 Neg 100% â neg-100 | 10% â 10 1510 Neg 90% â neg-90 | 20% â 20 1511 ... | ... 1512 Neg 10% â neg-10 | 100% â 100 1513 Base â base 1514 ================================================ */ 1515 1516[data-wf--background-element-offset-x--variant] { 1517 display: none; 1518} 1519 1520/* --- Set the offset variable --- */ 1521 1522[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-100"]) { --offset-x: -100%; } 1523[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-90"]) { --offset-x: -90%; } 1524[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-80"]) { --offset-x: -80%; } 1525[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-75"]) { --offset-x: -75%; } 1526[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-70"]) { --offset-x: -70%; } 1527[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-60"]) { --offset-x: -60%; } 1528[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-50"]) { --offset-x: -50%; } 1529[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-40"]) { --offset-x: -40%; } 1530[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-30"]) { --offset-x: -30%; } 1531[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-25"]) { --offset-x: -25%; } 1532[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-20"]) { --offset-x: -20%; } 1533[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-10"]) { --offset-x: -10%; } 1534[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="10"]) { --offset-x: 10%; } 1535[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="20"]) { --offset-x: 20%; } 1536[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="25"]) { --offset-x: 25%; } 1537[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="30"]) { --offset-x: 30%; } 1538[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="40"]) { --offset-x: 40%; } 1539[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="50"]) { --offset-x: 50%; } 1540[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="60"]) { --offset-x: 60%; } 1541[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="70"]) { --offset-x: 70%; } 1542[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="75"]) { --offset-x: 75%; } 1543[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="80"]) { --offset-x: 80%; } 1544[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="90"]) { --offset-x: 90%; } 1545[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="100"]) { --offset-x: 100%; } 1546 1547/* --- Apply to left-anchored positions --- */ 1548 1549[data-wf--background-element--position="top-left"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])), 1550[data-wf--background-element--position="center-left"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])), 1551[data-wf--background-element--position="bottom-left"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])) { 1552 left: var(--offset-x); 1553} 1554 1555/* --- Apply to right-anchored positions --- */ 1556 1557[data-wf--background-element--position="top-right"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])), 1558[data-wf--background-element--position="center-right"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])), 1559[data-wf--background-element--position="bottom-right"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])) { 1560 right: calc(0% - var(--offset-x)); 1561} 1562 1563/* --- Apply to center-X positions --- */ 1564 1565[data-wf--background-element--position="top-center"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])), 1566[data-wf--background-element--position="center"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])), 1567[data-wf--background-element--position="bottom-center"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])) { 1568 left: calc(50% + var(--offset-x)); 1569} 1570 1571/* ================================================ 1572 OFFSET Y 1573 Shifts the element along the Y axis.
1574 Negative = outward from anchor / up. 1575 Positive = inward from anchor / down. 1576 1577 For top-anchored positions: adjusts `top` 1578 For bottom-anchored positions: adjusts `bottom` (inverted) 1579 For center-Y positions: adjusts `top` from 50% 1580 1581 Webflow variant labels / slugs: 1582 Neg 100% â neg-100 | 10% â 10 1583 Neg 90% â neg-90 | 20% â 20 1584 ... | ... 1585 Neg 10% â neg-10 | 100% â 100 1586 Base â base 1587 ================================================ */ 1588 1589[data-wf--background-element-offset-y--variant] { 1590 display: none; 1591} 1592 1593/* --- Set the offset variable --- */ 1594 1595[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-100"]) { --offset-y: -100%; } 1596[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-90"]) { --offset-y: -90%; } 1597[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-80"]) { --offset-y: -80%; } 1598[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-75"]) { --offset-y: -75%; } 1599[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-70"]) { --offset-y: -70%; } 1600[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-60"]) { --offset-y: -60%; } 1601[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-50"]) { --offset-y: -50%; } 1602[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-40"]) { --offset-y: -40%; } 1603[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-30"]) { --offset-y: -30%; } 1604[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-25"]) { --offset-y: -25%; } 1605[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-20"]) { --offset-y: -20%; } 1606[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-10"]) { --offset-y: -10%; } 1607[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="10"]) { --offset-y: 10%; } 1608[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="20"]) { --offset-y: 20%; } 1609[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="25"]) { --offset-y: 25%; } 1610[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="30"]) { --offset-y: 30%; } 1611[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="40"]) { --offset-y: 40%; } 1612[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="50"]) { --offset-y: 50%; } 1613[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="60"]) { --offset-y: 60%; } 1614[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="70"]) { --offset-y: 70%; } 1615[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="75"]) { --offset-y: 75%; } 1616[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="80"]) { --offset-y: 80%; } 1617[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="90"]) { --offset-y: 90%; } 1618[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="100"]) { --offset-y: 100%; } 1619 1620/* --- Apply to top-anchored positions --- */ 1621 1622[data-wf--background-element--position="top-left"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])), 1623[data-wf--background-element--position="top-center"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])), 1624[data-wf--background-element--position="top-right"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])) { 1625 top: var(--offset-y); 1626} 1627 1628/* --- Apply to bottom-anchored positions --- */ 1629 1630[data-wf--background-element--position="bottom-left"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])), 1631[data-wf--background-element--position="bottom-center"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])), 1632[data-wf--background-element--position="bottom-right"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])) { 1633 bottom: calc(0% - var(--offset-y)); 1634} 1635 1636/* --- Apply to center-Y positions --- */ 1637 1638[data-wf--background-element--position="center-left"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])), 1639[data-wf--background-element--position="center"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])), 1640[data-wf--background-element--position="center-right"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])) { 1641 top: calc(50% + var(--offset-y)); 1642} 1643</style></div><div><div class="hide w-embed"><style> 1644 1645</style></div><div class="hide w-embed"><style> 1646/* ================================================ 1647 UTILITY / ALIGN 1648 ================================================ */ 1649 1650[data-wf--utility-align--variant] { 1651 display: none; 1652} 1653 1654:has(> [data-wf--utility-align--variant="stretch"]), 1655:has(> [data-wf--utility-align--variant="stretch"]) > .grid { 1656 align-items: stretch; 1657} 1658 1659:has(> [data-wf--utility-align--variant="top"]), 1660:has(> [data-wf--utility-align--variant="top"]) > .grid { 1661 align-items: start; 1662} 1663 1664:has(> [data-wf--utility-align--variant="center"]), 1665:has(> [data-wf--utility-align--variant="center"]) > .grid { 1666 align-items: center; 1667} 1668 1669:has(> [data-wf--utility-align--variant="bottom"]), 1670:has(> [data-wf--utility-align--variant="bottom"]) > .grid { 1671 align-items: end; 1672} 1673 1674:has(> [data-wf--utility-align--variant="baseline"]), 1675:has(> [data-wf--utility-align--variant="baseline"]) > .grid { 1676 align-items: baseline; 1677} 1678</style></div><div class="hide w-embed"><style> 1679/* ================================================ 1680 UTILITY / ALIGN SELF 1681 ================================================ */ 1682/* Desktop */ 1683[data-wf--utility-align-self--variant] { 1684 display: none; 1685} 1686:has(> [data-wf--utility-align-self--variant="start"]) { 1687 justify-self: start; 1688} 1689:has(> [data-wf--utility-align-self--variant="center"]) { 1690 justify-self: center; 1691} 1692:has(> [data-wf--utility-align-self--variant="end"]) { 1693 justify-self: end; 1694} 1695:has(> [data-wf--utility-align-self--variant="stretch"]) { 1696 justify-self: stretch; 1697} 1698 1699/* Mobile Override */ 1700[data-wf--utility-align-self-mobile--variant] { 1701 display: none; 1702} 1703 1704@media (max-width: 767px) { 1705 :has([data-wf--utility-align-self-mobile--variant="start"]) { 1706 justify-self: start; 1707 } 1708 :has([data-wf--utility-align-self-mobile--variant="center"]) { 1709 justify-self: center; 1710 } 1711 :has([data-wf--utility-align-self-mobile--variant="end"]) { 1712 justify-self: end; 1713 } 1714 :has([data-wf--utility-align-self-mobile--variant="stretch"]) { 1715 justify-self: stretch; 1716 } 1717} 1718</style></div><div class="hide w-embed"><style> 1719/* ================================================ 1720 UTILITY / BLEND MODE 1721 ================================================ */ 1722 1723[data-wf--utility-blend-mode--variant] { 1724 display: none; 1725} 1726 1727:has(> [data-wf--utility-blend-mode--variant="multiply"]) { 1728 mix-blend-mode: multiply; 1729} 1730:has(> [data-wf--utility-blend-mode--variant="screen"]) { 1731 mix-blend-mode: screen; 1732} 1733:has(> [data-wf--utility-blend-mode--variant="overlay"]) { 1734 mix-blend-mode: overlay; 1735} 1736:has(> [data-wf--utility-blend-mode--variant="darken"]) { 1737 mix-blend-mode: darken; 1738} 1739:has(> [data-wf--utility-blend-mode--variant="lighten"]) { 1740 mix-blend-mode: lighten; 1741} 1742:has(> [data-wf--utility-blend-mode--variant="color-dodge"]) { 1743 mix-blend-mode: color-dodge; 1744} 1745:has(> [data-wf--utility-blend-mode--variant="color-burn"]) { 1746 mix-blend-mode: color-burn; 1747} 1748:has(> [data-wf--utility-blend-mode--variant="soft-light"]) { 1749 mix-blend-mode: soft-light; 1750} 1751:has(> [data-wf--utility-blend-mode--variant="hard-light"]) { 1752 mix-blend-mode: hard-light; 1753} 1754</style></div><div class="hide w-embed"><style> 1755/* ================================================ 1756 UTILITY / BORDER RADIUS 1757 Overrides the parent element's border-radius. 1758 Drop this component inside any element that 1759 needs a radius change from its default. 1760 1761 Variants: 1762 - Base (no override) 1763 - None (0) 1764 - Small 1765 - Medium 1766 - Large 1767 - XLarge 1768 - Full (pill) 1769 ================================================ */ 1770 1771[data-wf--utility-border-radius--variant] { 1772 display: none; 1773} 1774 1775:has(> [data-wf--utility-border-radius--variant="none"]) { 1776 border-radius: 0 !important; 1777} 1778 1779:has(> [data-wf--utility-border-radius--variant="small"]) { 1780 border-radius: var(--_border-radius---small) !important; 1781 overflow: hidden; 1782} 1783 1784:has(> [data-wf--utility-border-radius--variant="medium"]) { 1785 border-radius: var(--_border-radius---medium) !important; 1786 overflow: hidden; 1787} 1788 1789:has(> [data-wf--utility-border-radius--variant="large"]) { 1790 border-radius: var(--_border-radius---large) !important; 1791 overflow: hidden; 1792} 1793 1794:has(> [data-wf--utility-border-radius--variant="xlarge"]) { 1795 border-radius: var(--_border-radius---xlarge) !important; 1796 overflow: hidden; 1797} 1798 1799:has(> [data-wf--utility-border-radius--variant="full"]) { 1800 border-radius: 9999px !important; 1801 overflow: hidden; 1802} 1803</style></div><div class="hide w-embed"><style> 1804/* ================================================ 1805 UTILITY / FONT 1806 ================================================ */ 1807 1808[data-wf--utility-font--variant] { 1809 display: none; 1810} 1811 1812:has(> [data-wf--utility-font--variant="display"]), 1813:has(> [data-wf--utility-font--variant="display"]) h1, 1814:has(> [data-wf--utility-font--variant="display"]) h2, 1815:has(> [data-wf--utility-font--variant="display"]) h3, 1816:has(> [data-wf--utility-font--variant="display"]) h4, 1817:has(> [data-wf--utility-font--variant="display"]) h5, 1818:has(> [data-wf--utility-font--variant="display"]) h6, 1819:has(> [data-wf--utility-font--variant="display"]) p { 1820 font-family: var(--_typography---font-families--display-font); 1821} 1822 1823:has(> [data-wf--utility-font--variant="heading"]), 1824:has(> [data-wf--utility-font--variant="heading"]) h1, 1825:has(> [data-wf--utility-font--variant="heading"]) h2, 1826:has(> [data-wf--utility-font--variant="heading"]) h3, 1827:has(> [data-wf--utility-font--variant="heading"]) h4, 1828:has(> [data-wf--utility-font--variant="heading"]) h5, 1829:has(> [data-wf--utility-font--variant="heading"]) h6, 1830:has(> [data-wf--utility-font--variant="heading"]) p { 1831 font-family: var(--_typography---font-families--heading-font); 1832} 1833 1834:has(> [data-wf--utility-font--variant="body"]), 1835:has(> [data-wf--utility-font--variant="body"]) h1, 1836:has(> [data-wf--utility-font--variant="body"]) h2, 1837:has(> [data-wf--utility-font--variant="body"]) h3, 1838:has(> [data-wf--utility-font--variant="body"]) h4, 1839:has(> [data-wf--utility-font--variant="body"]) h5, 1840:has(> [data-wf--utility-font--variant="body"]) h6, 1841:has(> [data-wf--utility-font--variant="body"]) p { 1842 font-family: var(--_typography---font-families--body-font); 1843} 1844 1845:has(> [data-wf--utility-font--variant="alt-body"]), 1846:has(> [data-wf--utility-font--variant="alt-body"]) h1, 1847:has(> [data-wf--utility-font--variant="alt-body"]) h2, 1848:has(> [data-wf--utility-font--variant="alt-body"]) h3, 1849:has(> [data-wf--utility-font--variant="alt-body"]) h4, 1850:has(> [data-wf--utility-font--variant="alt-body"]) h5, 1851:has(> [data-wf--utility-font--variant="alt-body"]) h6, 1852:has(> [data-wf--utility-font--variant="alt-body"]) p { 1853 font-family: var(--_typography---font-families--alt-body-font); 1854} 1855 1856/* ================================================
1857 UTILITY / TEXT SIZE 1858 ================================================ */ 1859 1860[data-wf--utility-text-size--variant] { 1861 display: none; 1862} 1863 1864:has(> [data-wf--utility-text-size--variant="display"]), 1865:has(> [data-wf--utility-text-size--variant="display"]) h1, 1866:has(> [data-wf--utility-text-size--variant="display"]) h2, 1867:has(> [data-wf--utility-text-size--variant="display"]) h3, 1868:has(> [data-wf--utility-text-size--variant="display"]) h4, 1869:has(> [data-wf--utility-text-size--variant="display"]) h5, 1870:has(> [data-wf--utility-text-size--variant="display"]) h6, 1871:has(> [data-wf--utility-text-size--variant="display"]) p { 1872 font-size: var(--_typography---heading-sizes--display); 1873 line-height: var(--_typography---line-height--display); 1874 letter-spacing: var(--_typography---letter-spacing--display); 1875} 1876 1877:has(> [data-wf--utility-text-size--variant="h1"]), 1878:has(> [data-wf--utility-text-size--variant="h1"]) h1, 1879:has(> [data-wf--utility-text-size--variant="h1"]) h2, 1880:has(> [data-wf--utility-text-size--variant="h1"]) h3, 1881:has(> [data-wf--utility-text-size--variant="h1"]) h4, 1882:has(> [data-wf--utility-text-size--variant="h1"]) h5, 1883:has(> [data-wf--utility-text-size--variant="h1"]) h6, 1884:has(> [data-wf--utility-text-size--variant="h1"]) p { 1885 font-size: var(--_typography---heading-sizes--h1); 1886 line-height: var(--_typography---line-height--h1); 1887 letter-spacing: var(--_typography---letter-spacing--h1); 1888} 1889 1890:has(> [data-wf--utility-text-size--variant="h2"]), 1891:has(> [data-wf--utility-text-size--variant="h2"]) h1, 1892:has(> [data-wf--utility-text-size--variant="h2"]) h2, 1893:has(> [data-wf--utility-text-size--variant="h2"]) h3, 1894:has(> [data-wf--utility-text-size--variant="h2"]) h4, 1895:has(> [data-wf--utility-text-size--variant="h2"]) h5, 1896:has(> [data-wf--utility-text-size--variant="h2"]) h6, 1897:has(> [data-wf--utility-text-size--variant="h2"]) p { 1898 font-size: var(--_typography---heading-sizes--h2); 1899 line-height: var(--_typography---line-height--h2); 1900 letter-spacing: var(--_typography---letter-spacing--h2); 1901} 1902 1903:has(> [data-wf--utility-text-size--variant="h3"]), 1904:has(> [data-wf--utility-text-size--variant="h3"]) h1, 1905:has(> [data-wf--utility-text-size--variant="h3"]) h2, 1906:has(> [data-wf--utility-text-size--variant="h3"]) h3, 1907:has(> [data-wf--utility-text-size--variant="h3"]) h4, 1908:has(> [data-wf--utility-text-size--variant="h3"]) h5, 1909:has(> [data-wf--utility-text-size--variant="h3"]) h6, 1910:has(> [data-wf--utility-text-size--variant="h3"]) p { 1911 font-size: var(--_typography---heading-sizes--h3); 1912 line-height: var(--_typography---line-height--h3); 1913 letter-spacing: var(--_typography---letter-spacing--h3); 1914} 1915 1916:has(> [data-wf--utility-text-size--variant="h4"]), 1917:has(> [data-wf--utility-text-size--variant="h4"]) h1, 1918:has(> [data-wf--utility-text-size--variant="h4"]) h2, 1919:has(> [data-wf--utility-text-size--variant="h4"]) h3, 1920:has(> [data-wf--utility-text-size--variant="h4"]) h4, 1921:has(> [data-wf--utility-text-size--variant="h4"]) h5, 1922:has(> [data-wf--utility-text-size--variant="h4"]) h6, 1923:has(> [data-wf--utility-text-size--variant="h4"]) p { 1924 font-size: var(--_typography---heading-sizes--h4); 1925 line-height: var(--_typography---line-height--h4); 1926 letter-spacing: var(--_typography---letter-spacing--h4); 1927} 1928 1929:has(> [data-wf--utility-text-size--variant="h5"]), 1930:has(> [data-wf--utility-text-size--variant="h5"]) h1, 1931:has(> [data-wf--utility-text-size--variant="h5"]) h2, 1932:has(> [data-wf--utility-text-size--variant="h5"]) h3, 1933:has(> [data-wf--utility-text-size--variant="h5"]) h4, 1934:has(> [data-wf--utility-text-size--variant="h5"]) h5, 1935:has(> [data-wf--utility-text-size--variant="h5"]) h6, 1936:has(> [data-wf--utility-text-size--variant="h5"]) p { 1937 font-size: var(--_typography---heading-sizes--h5); 1938 line-height: var(--_typography---line-height--h5); 1939 letter-spacing: var(--_typography---letter-spacing--h5); 1940} 1941 1942:has(> [data-wf--utility-text-size--variant="h6"]), 1943:has(> [data-wf--utility-text-size--variant="h6"]) h1, 1944:has(> [data-wf--utility-text-size--variant="h6"]) h2, 1945:has(> [data-wf--utility-text-size--variant="h6"]) h3, 1946:has(> [data-wf--utility-text-size--variant="h6"]) h4, 1947:has(> [data-wf--utility-text-size--variant="h6"]) h5, 1948:has(> [data-wf--utility-text-size--variant="h6"]) h6, 1949:has(> [data-wf--utility-text-size--variant="h6"]) p { 1950 font-size: var(--_typography---heading-sizes--h6); 1951 line-height: var(--_typography---line-height--h6); 1952 letter-spacing: var(--_typography---letter-spacing--h6); 1953} 1954 1955:has(> [data-wf--utility-text-size--variant="text-large"]), 1956:has(> [data-wf--utility-text-size--variant="text-large"]) h1, 1957:has(> [data-wf--utility-text-size--variant="text-large"]) h2, 1958:has(> [data-wf--utility-text-size--variant="text-large"]) h3, 1959:has(> [data-wf--utility-text-size--variant="text-large"]) h4, 1960:has(> [data-wf--utility-text-size--variant="text-large"]) h5, 1961:has(> [data-wf--utility-text-size--variant="text-large"]) h6, 1962:has(> [data-wf--utility-text-size--variant="text-large"]) p { 1963 font-size: var(--_typography---body-sizes--text-large); 1964 line-height: var(--_typography---line-height--paragraph); 1965 letter-spacing: var(--_typography---letter-spacing--paragraph); 1966} 1967 1968:has(> [data-wf--utility-text-size--variant="text-medium"]), 1969:has(> [data-wf--utility-text-size--variant="text-medium"]) h1, 1970:has(> [data-wf--utility-text-size--variant="text-medium"]) h2, 1971:has(> [data-wf--utility-text-size--variant="text-medium"]) h3, 1972:has(> [data-wf--utility-text-size--variant="text-medium"]) h4, 1973:has(> [data-wf--utility-text-size--variant="text-medium"]) h5, 1974:has(> [data-wf--utility-text-size--variant="text-medium"]) h6, 1975:has(> [data-wf--utility-text-size--variant="text-medium"]) p { 1976 font-size: var(--_typography---body-sizes--text-medium); 1977 line-height: var(--_typography---line-height--paragraph); 1978 letter-spacing: var(--_typography---letter-spacing--paragraph); 1979} 1980 1981:has(> [data-wf--utility-text-size--variant="text-regular"]), 1982:has(> [data-wf--utility-text-size--variant="text-regular"]) h1, 1983:has(> [data-wf--utility-text-size--variant="text-regular"]) h2, 1984:has(> [data-wf--utility-text-size--variant="text-regular"]) h3, 1985:has(> [data-wf--utility-text-size--variant="text-regular"]) h4, 1986:has(> [data-wf--utility-text-size--variant="text-regular"]) h5, 1987:has(> [data-wf--utility-text-size--variant="text-regular"]) h6, 1988:has(> [data-wf--utility-text-size--variant="text-regular"]) p { 1989 font-size: var(--_typography---body-sizes--text-regular); 1990 line-height: var(--_typography---line-height--paragraph); 1991 letter-spacing: var(--_typography---letter-spacing--paragraph); 1992} 1993 1994:has(> [data-wf--utility-text-size--variant="text-small"]), 1995:has(> [data-wf--utility-text-size--variant="text-small"]) h1, 1996:has(> [data-wf--utility-text-size--variant="text-small"]) h2, 1997:has(> [data-wf--utility-text-size--variant="text-small"]) h3, 1998:has(> [data-wf--utility-text-size--variant="text-small"]) h4, 1999:has(> [data-wf--utility-text-size--variant="text-small"]) h5, 2000:has(> [data-wf--utility-text-size--variant="text-small"]) h6, 2001:has(> [data-wf--utility-text-size--variant="text-small"]) p { 2002 font-size: var(--_typography---body-sizes--text-small); 2003 line-height: var(--_typography---line-height--paragraph); 2004 letter-spacing: var(--_typography---letter-spacing--paragraph); 2005} 2006 2007:has(> [data-wf--utility-text-size--variant="text-tiny"]), 2008:has(> [data-wf--utility-text-size--variant="text-tiny"]) h1, 2009:has(> [data-wf--utility-text-size--variant="text-tiny"]) h2, 2010:has(> [data-wf--utility-text-size--variant="text-tiny"]) h3, 2011:has(> [data-wf--utility-text-size--variant="text-tiny"]) h4, 2012:has(> [data-wf--utility-text-size--variant="text-tiny"]) h5, 2013:has(> [data-wf--utility-text-size--variant="text-tiny"]) h6, 2014:has(> [data-wf--utility-text-size--variant="text-tiny"]) p { 2015 font-size: var(--_typography---body-sizes--text-tiny); 2016 line-height: var(--_typography---line-height--paragraph); 2017 letter-spacing: var(--_typography---letter-spacing--paragraph); 2018} 2019</style></div><div class="hide w-embed"><style> 2020/* ================================================ 2021 UTILITY / GAP 2022 ================================================ */ 2023[data-wf--utility-gap--variant] { 2024 display: none; 2025} 2026:has(> [data-wf--utility-gap--variant="none"]), 2027:has(> [data-wf--utility-gap--variant="none"]) > .grid { 2028 gap: 0rem !important; 2029} 2030:has(> [data-wf--utility-gap--variant="tiny"]), 2031:has(> [data-wf--utility-gap--variant="tiny"]) > .grid { 2032 gap: var(--_spacing---tiny) !important; 2033} 2034:has(> [data-wf--utility-gap--variant="xxsmall"]), 2035:has(> [data-wf--utility-gap--variant="xxsmall"]) > .grid { 2036 gap: var(--_spacing---xxsmall) !important; 2037} 2038:has(> [data-wf--utility-gap--variant="xsmall"]), 2039:has(> [data-wf--utility-gap--variant="xsmall"]) > .grid { 2040 gap: var(--_spacing---xsmall) !important; 2041} 2042:has(> [data-wf--utility-gap--variant="small"]), 2043:has(> [data-wf--utility-gap--variant="small"]) > .grid { 2044 gap: var(--_spacing---small) !important; 2045} 2046:has(> [data-wf--utility-gap--variant="medium"]), 2047:has(> [data-wf--utility-gap--variant="medium"]) > .grid { 2048 gap: var(--_spacing---medium) !important; 2049} 2050:has(> [data-wf--utility-gap--variant="large"]), 2051:has(> [data-wf--utility-gap--variant="large"]) > .grid { 2052 gap: var(--_spacing---large) !important; 2053} 2054:has(> [data-wf--utility-gap--variant="xlarge"]), 2055:has(> [data-wf--utility-gap--variant="xlarge"]) > .grid { 2056 gap: var(--_spacing---xlarge) !important; 2057} 2058:has(> [data-wf--utility-gap--variant="xxlarge"]), 2059:has(> [data-wf--utility-gap--variant="xxlarge"]) > .grid { 2060 gap: var(--_spacing---xxlarge) !important; 2061} 2062:has(> [data-wf--utility-gap--variant="huge"]), 2063:has(> [data-wf--utility-gap--variant="huge"]) > .grid { 2064 gap: var(--_spacing---huge) !important; 2065} 2066:has(> [data-wf--utility-gap--variant="xhuge"]), 2067:has(> [data-wf--utility-gap--variant="xhuge"]) > .grid { 2068 gap: var(--_spacing---xhuge) !important; 2069} 2070:has(> [data-wf--utility-gap--variant="xxhuge"]), 2071:has(> [data-wf--utility-gap--variant="xxhuge"]) > .grid { 2072 gap: var(--_spacing---xxhuge) !important; 2073} 2074 2075/* ================================================ 2076 UTILITY / GAP (MOBILE) 2077 Overrides gap spacing at 767px and below. 2078 Place as a direct child of the component wrapper. 2079 ================================================ */ 2080 2081[data-wf--utility-gap-mobile--variant] { 2082 display: none; 2083} 2084 2085@media (max-width: 767px) { 2086 :has(> [data-wf--utility-gap-mobile--variant="none"]), 2087 :has(> [data-wf--utility-gap-mobile--variant="none"]) > .grid { 2088 gap: 0rem !important; 2089 } 2090 :has(> [data-wf--utility-gap-mobile--variant="tiny"]), 2091 :has(> [data-wf--utility-gap-mobile--variant="tiny"]) > .grid { 2092 gap: var(--_spacing---tiny) !important; 2093 } 2094 :has(> [data-wf--utility-gap-mobile--variant="xxsmall"]), 2095 :has(> [data-wf--utility-gap-mobile--variant="xxsmall"]) > .grid { 2096 gap: var(--_spacing---xxsmall) !important; 2097 } 2098 :has(> [data-wf--utility-gap-mobile--variant="xsmall"]), 2099 :has(> [data-wf--utility-gap-mobile--variant="xsmall"]) > .grid { 2100 gap: var(--_spacing---xsmall) !important; 2101 } 2102 :has(> [data-wf--utility-gap-mobile--variant="small"]), 2103 :has(> [data-wf--utility-gap-mobile--variant="small"]) > .grid { 2104 gap: var(--_spacing---small) !important; 2105 } 2106 :has(> [data-wf--utility-gap-mobile--variant="medium"]), 2107 :has(> [data-wf--utility-gap-mobile--variant="medium"]) > .grid { 2108 gap: var(--_spacing---medium) !important; 2109 } 2110 :has(> [data-wf--utility-gap-mobile--variant="large"]), 2111 :has(> [data-wf--utility-gap-mobile--variant="large"]) > .grid { 2112 gap: var(--_spacing---large) !important; 2113 } 2114 :has(> [data-wf--utility-gap-mobile--variant="xlarge"]), 2115 :has(> [data-wf--utility-gap-mobile--variant="xlarge"]) > .grid { 2116 gap: var(--_spacing---xlarge) !important; 2117 } 2118 :has(> [data-wf--utility-gap-mobile--variant="xxlarge"]), 2119 :has(> [data-wf--utility-gap-mobile--variant="xxlarge"]) > .grid { 2120 gap: var(--_spacing---xxlarge) !important; 2121 } 2122 :has(> [data-wf--utility-gap-mobile--variant="huge"]), 2123 :has(> [data-wf--utility-gap-mobile--variant="huge"]) > .grid { 2124 gap: var(--_spacing---huge) !important; 2125 } 2126 :has(> [data-wf--utility-gap-mobile--variant="xhuge"]), 2127 :has(> [data-wf--utility-gap-mobile--variant="xhuge"]) > .grid { 2128 gap: var(--_spacing---xhuge) !important; 2129 } 2130 :has(> [data-wf--utility-gap-mobile--variant="xxhuge"]), 2131 :has(> [data-wf--utility-gap-mobile--variant="xxhuge"]) > .grid { 2132 gap: var(--_spacing---xxhuge) !important; 2133 } 2134} 2135</style></div><div class="hide w-embed"><style> 2136/* ================================================ 2137 UTILITY / HEIGHT 2138 ================================================ */ 2139 2140[data-wf--utility-height--variant] { 2141 display: none; 2142} 2143 2144:has(> [data-wf--utility-height--variant="full"]), 2145:has(> [data-wf--utility-height--variant="full"]) > .grid { 2146 height: 100%; 2147} 2148 2149:has(> [data-wf--utility-height--variant="screen"]), 2150:has(> [data-wf--utility-height--variant="screen"]) > .grid { 2151 height: 100vh; 2152} 2153 2154:has(> [data-wf--utility-height--variant="auto"]), 2155:has(> [data-wf--utility-height--variant="auto"]) > .grid { 2156 height: auto; 2157} 2158 2159/* ================================================ 2160 UTILITY / HEIGHT 2161 ================================================ */ 2162[data-wf--utility-height--variant] { 2163 display: none; 2164} 2165:has(> [data-wf--utility-height--variant="10"]) { 2166 height: 10%; 2167} 2168:has(> [data-wf--utility-height--variant="20"]) { 2169 height: 20%; 2170} 2171:has(> [data-wf--utility-height--variant="30"]) { 2172 height: 30%; 2173} 2174:has(> [data-wf--utility-height--variant="40"]) { 2175 height: 40%; 2176} 2177:has(> [data-wf--utility-height--variant="50"]) { 2178 height: 50%; 2179} 2180:has(> [data-wf--utility-height--variant="60"]) { 2181 height: 60%; 2182} 2183:has(> [data-wf--utility-height--variant="70"]) { 2184 height: 70%; 2185} 2186:has(> [data-wf--utility-height--variant="80"]) { 2187 height: 80%; 2188} 2189:has(> [data-wf--utility-height--variant="90"]) { 2190 height: 90%; 2191} 2192:has(> [data-wf--utility-height--variant="100"]) { 2193 height: 100%; 2194} 2195 2196</style></div><div class="hide w-embed"><style> 2197/* ================================================ 2198 UTILITY / JUSTIFY 2199 ================================================ */ 2200 2201[data-wf--utility-justify--variant] { 2202 display: none; 2203} 2204 2205:has(> [data-wf--utility-justify--variant="start"]), 2206:has(> [data-wf--utility-justify--variant="start"]) > .grid { 2207 justify-content: flex-start; 2208} 2209 2210:has(> [data-wf--utility-justify--variant="center"]), 2211:has(> [data-wf--utility-justify--variant="center"]) > .grid { 2212 justify-content: center; 2213} 2214 2215:has(> [data-wf--utility-justify--variant="end"]), 2216:has(> [data-wf--utility-justify--variant="end"]) > .grid { 2217 justify-content: flex-end; 2218} 2219 2220:has(> [data-wf--utility-justify--variant="between"]), 2221:has(> [data-wf--utility-justify--variant="between"]) > .grid { 2222 justify-content: space-between; 2223} 2224 2225:has(> [data-wf--utility-justify--variant="around"]), 2226:has(> [data-wf--utility-justify--variant="around"]) > .grid { 2227 justify-content: space-around; 2228} 2229 2230:has(> [data-wf--utility-justify--variant="evenly"]), 2231:has(> [data-wf--utility-justify--variant="evenly"]) > .grid { 2232 justify-content: space-evenly; 2233} 2234 2235/* ================================================ 2236 UTILITY / JUSTIFY (vertical distribution) 2237 ================================================ */ 2238 2239[data-wf--utility-justify--variant] { 2240 display: none; 2241} 2242 2243:has(> [data-wf--utility-justify--variant="start"]), 2244:has(> [data-wf--utility-justify--variant="start"]) > .grid { 2245 align-content: start; 2246} 2247 2248:has(> [data-wf--utility-justify--variant="center"]), 2249:has(> [data-wf--utility-justify--variant="center"]) > .grid { 2250 align-content: center; 2251} 2252 2253:has(> [data-wf--utility-justify--variant="end"]), 2254:has(> [data-wf--utility-justify--variant="end"]) > .grid { 2255 align-content: end; 2256} 2257 2258:has(> [data-wf--utility-justify--variant="between"]), 2259:has(> [data-wf--utility-justify--variant="between"]) > .grid { 2260 align-content: space-between; 2261} 2262 2263:has(> [data-wf--utility-justify--variant="around"]), 2264:has(> [data-wf--utility-justify--variant="around"]) > .grid { 2265 align-content: space-around; 2266} 2267 2268:has(> [data-wf--utility-justify--variant="evenly"]), 2269:has(> [data-wf--utility-justify--variant="evenly"]) > .grid { 2270 align-content: space-evenly; 2271} 2272 2273:has(> [data-wf--utility-justify--variant="stretch"]), 2274:has(> [data-wf--utility-justify--variant="stretch"]) > .grid { 2275 align-content: stretch; 2276} 2277</style></div><div class="hide w-embed"><style> 2278 2279</style></div><div class="hide w-embed"><style> 2280/* ================================================ 2281 UTILITY / MAX WIDTH 2282 ===========
2282===================================== */ 2283 2284[data-wf--utility-max-width--variant] { 2285 display: none; 2286} 2287 2288:has(> [data-wf--utility-max-width--variant="full"]) { 2289 max-width: var(--_max-widths---full); 2290} 2291 2292:has(> [data-wf--utility-max-width--variant="xxsmall"]) { 2293 max-width: var(--_max-widths---xxsmall); 2294} 2295 2296:has(> [data-wf--utility-max-width--variant="xsmall"]) { 2297 max-width: var(--_max-widths---xsmall); 2298} 2299 2300:has(> [data-wf--utility-max-width--variant="small"]) { 2301 max-width: var(--_max-widths---small); 2302} 2303 2304:has(> [data-wf--utility-max-width--variant="medium"]) { 2305 max-width: var(--_max-widths---medium); 2306} 2307 2308:has(> [data-wf--utility-max-width--variant="large"]) { 2309 max-width: var(--_max-widths---large); 2310} 2311 2312:has(> [data-wf--utility-max-width--variant="xlarge"]) { 2313 max-width: var(--_max-widths---xlarge); 2314} 2315 2316:has(> [data-wf--utility-max-width--variant="xxlarge"]) { 2317 max-width: var(--_max-widths---xxlarge); 2318} 2319</style></div><div class="hide w-embed"><style> 2320/* ================================================ 2321 UTILITY / OPACITY 2322 ================================================ */ 2323 2324/* Utility / Opacity */ 2325[data-wf--utility-opacity--variant] { 2326 display: none; 2327} 2328 2329:has(> [data-wf--utility-opacity--variant="90"]) { 2330 opacity: 0.9; 2331} 2332:has(> [data-wf--utility-opacity--variant="80"]) { 2333 opacity: 0.8; 2334} 2335:has(> [data-wf--utility-opacity--variant="70"]) { 2336 opacity: 0.7; 2337} 2338:has(> [data-wf--utility-opacity--variant="60"]) { 2339 opacity: 0.6; 2340} 2341:has(> [data-wf--utility-opacity--variant="50"]) { 2342 opacity: 0.5; 2343} 2344:has(> [data-wf--utility-opacity--variant="40"]) { 2345 opacity: 0.4; 2346} 2347:has(> [data-wf--utility-opacity--variant="30"]) { 2348 opacity: 0.3; 2349} 2350:has(> [data-wf--utility-opacity--variant="20"]) { 2351 opacity: 0.2; 2352} 2353:has(> [data-wf--utility-opacity--variant="10"]) { 2354 opacity: 0.1; 2355} 2356</style></div><div class="hide w-embed"><style> 2357[data-wf--utility-order-mobile--variant] { 2358 display: none; 2359} 2360@media (max-width: 767px) { 2361 :has(> [data-wf--utility-order-mobile--variant="1"]), 2362 :has(> * > [data-wf--utility-order-mobile--variant="1"]) { 2363 order: 1 !important; 2364 } 2365 :has(> [data-wf--utility-order-mobile--variant="2"]), 2366 :has(> * > [data-wf--utility-order-mobile--variant="2"]) { 2367 order: 2 !important; 2368 } 2369 :has(> [data-wf--utility-order-mobile--variant="3"]), 2370 :has(> * > [data-wf--utility-order-mobile--variant="3"]) { 2371 order: 3 !important; 2372 } 2373 :has(> [data-wf--utility-order-mobile--variant="4"]), 2374 :has(> * > [data-wf--utility-order-mobile--variant="4"]) { 2375 order: 4 !important; 2376 } 2377} 2378</style></div><div class="hide w-embed"><style> 2379/* ================================================ 2380 UTILITY / TEXT ALIGN 2381 ================================================ */ 2382 2383[data-wf--utility-text-align--variant] { 2384 display: none; 2385} 2386 2387:has(> [data-wf--utility-text-align--variant="left"]), 2388:has(> [data-wf--utility-text-align--variant="left"]) h1, 2389:has(> [data-wf--utility-text-align--variant="left"]) h2, 2390:has(> [data-wf--utility-text-align--variant="left"]) h3, 2391:has(> [data-wf--utility-text-align--variant="left"]) h4, 2392:has(> [data-wf--utility-text-align--variant="left"]) h5, 2393:has(> [data-wf--utility-text-align--variant="left"]) h6, 2394:has(> [data-wf--utility-text-align--variant="left"]) p { 2395 text-align: left; 2396} 2397 2398:has(> [data-wf--utility-text-align--variant="center"]), 2399:has(> [data-wf--utility-text-align--variant="center"]) h1, 2400:has(> [data-wf--utility-text-align--variant="center"]) h2, 2401:has(> [data-wf--utility-text-align--variant="center"]) h3, 2402:has(> [data-wf--utility-text-align--variant="center"]) h4, 2403:has(> [data-wf--utility-text-align--variant="center"]) h5, 2404:has(> [data-wf--utility-text-align--variant="center"]) h6, 2405:has(> [data-wf--utility-text-align--variant="center"]) p { 2406 text-align: center; 2407} 2408 2409:has(> [data-wf--utility-text-align--variant="right"]), 2410:has(> [data-wf--utility-text-align--variant="right"]) h1, 2411:has(> [data-wf--utility-text-align--variant="right"]) h2, 2412:has(> [data-wf--utility-text-align--variant="right"]) h3, 2413:has(> [data-wf--utility-text-align--variant="right"]) h4, 2414:has(> [data-wf--utility-text-align--variant="right"]) h5, 2415:has(> [data-wf--utility-text-align--variant="right"]) h6, 2416:has(> [data-wf--utility-text-align--variant="right"]) p { 2417 text-align: right; 2418} 2419 2420/* ================================================ 2421 UTILITY / TEXT ALIGN (MOBILE) 2422 Overrides text alignment at 767px and below. 2423 Place as a direct child of the component wrapper. 2424 ================================================ */ 2425 2426[data-wf--utility-text-align-mobile--variant] { 2427 display: none; 2428} 2429 2430@media (max-width: 767px) { 2431 :has(> [data-wf--utility-text-align-mobile--variant="left"]), 2432 :has(> [data-wf--utility-text-align-mobile--variant="left"]) h1, 2433 :has(> [data-wf--utility-text-align-mobile--variant="left"]) h2, 2434 :has(> [data-wf--utility-text-align-mobile--variant="left"]) h3, 2435 :has(> [data-wf--utility-text-align-mobile--variant="left"]) h4, 2436 :has(> [data-wf--utility-text-align-mobile--variant="left"]) h5, 2437 :has(> [data-wf--utility-text-align-mobile--variant="left"]) h6, 2438 :has(> [data-wf--utility-text-align-mobile--variant="left"]) p { 2439 text-align: left; 2440 } 2441 2442 :has(> [data-wf--utility-text-align-mobile--variant="center"]), 2443 :has(> [data-wf--utility-text-align-mobile--variant="center"]) h1, 2444 :has(> [data-wf--utility-text-align-mobile--variant="center"]) h2, 2445 :has(> [data-wf--utility-text-align-mobile--variant="center"]) h3, 2446 :has(> [data-wf--utility-text-align-mobile--variant="center"]) h4, 2447 :has(> [data-wf--utility-text-align-mobile--variant="center"]) h5, 2448 :has(> [data-wf--utility-text-align-mobile--variant="center"]) h6, 2449 :has(> [data-wf--utility-text-align-mobile--variant="center"]) p { 2450 text-align: center; 2451 } 2452 2453 :has(> [data-wf--utility-text-align-mobile--variant="right"]), 2454 :has(> [data-wf--utility-text-align-mobile--variant="right"]) h1, 2455 :has(> [data-wf--utility-text-align-mobile--variant="right"]) h2, 2456 :has(> [data-wf--utility-text-align-mobile--variant="right"]) h3, 2457 :has(> [data-wf--utility-text-align-mobile--variant="right"]) h4, 2458 :has(> [data-wf--utility-text-align-mobile--variant="right"]) h5, 2459 :has(> [data-wf--utility-text-align-mobile--variant="right"]) h6, 2460 :has(> [data-wf--utility-text-align-mobile--variant="right"]) p { 2461 text-align: right; 2462 } 2463} 2464</style></div><div class="hide w-embed"><style> 2465/* ================================================ 2466 UTILITY / TEXT COLOR 2467 ================================================ */ 2468 2469[data-wf--utility-text-color--variant] { 2470 display: none; 2471} 2472 2473:has(> [data-wf--utility-text-color--variant="scheme"]) h1, 2474:has(> [data-wf--utility-text-color--variant="scheme"]) h2, 2475:has(> [data-wf--utility-text-color--variant="scheme"]) h3, 2476:has(> [data-wf--utility-text-color--variant="scheme"]) h4, 2477:has(> [data-wf--utility-text-color--variant="scheme"]) h5, 2478:has(> [data-wf--utility-text-color--variant="scheme"]) h6 { 2479 color: var(--scheme-heading); 2480} 2481 2482:has(> [data-wf--utility-text-color--variant="scheme"]) p,
2483:has(> [data-wf--utility-text-color--variant="scheme"]) li, 2484:has(> [data-wf--utility-text-color--variant="scheme"]) span, 2485:has(> [data-wf--utility-text-color--variant="scheme"]) label { 2486 color: var(--scheme-paragraph); 2487} 2488 2489:has(> [data-wf--utility-text-color--variant="inverse"]), 2490:has(> [data-wf--utility-text-color--variant="inverse"]) h1, 2491:has(> [data-wf--utility-text-color--variant="inverse"]) h2, 2492:has(> [data-wf--utility-text-color--variant="inverse"]) h3, 2493:has(> [data-wf--utility-text-color--variant="inverse"]) h4, 2494:has(> [data-wf--utility-text-color--variant="inverse"]) h5, 2495:has(> [data-wf--utility-text-color--variant="inverse"]) h6, 2496:has(> [data-wf--utility-text-color--variant="inverse"]) p { 2497 color: var(--_semantic-tokens---text--text-inverse); 2498} 2499 2500:has(> [data-wf--utility-text-color--variant="primary"]), 2501:has(> [data-wf--utility-text-color--variant="primary"]) h1, 2502:has(> [data-wf--utility-text-color--variant="primary"]) h2, 2503:has(> [data-wf--utility-text-color--variant="primary"]) h3, 2504:has(> [data-wf--utility-text-color--variant="primary"]) h4, 2505:has(> [data-wf--utility-text-color--variant="primary"]) h5, 2506:has(> [data-wf--utility-text-color--variant="primary"]) h6, 2507:has(> [data-wf--utility-text-color--variant="primary"]) p { 2508 color: var(--_semantic-tokens---text--text-primary); 2509} 2510 2511:has(> [data-wf--utility-text-color--variant="secondary"]), 2512:has(> [data-wf--utility-text-color--variant="secondary"]) h1, 2513:has(> [data-wf--utility-text-color--variant="secondary"]) h2, 2514:has(> [data-wf--utility-text-color--variant="secondary"]) h3, 2515:has(> [data-wf--utility-text-color--variant="secondary"]) h4, 2516:has(> [data-wf--utility-text-color--variant="secondary"]) h5, 2517:has(> [data-wf--utility-text-color--variant="secondary"]) h6, 2518:has(> [data-wf--utility-text-color--variant="secondary"]) p { 2519 color: var(--_semantic-tokens---text--text-secondary); 2520} 2521 2522:has(> [data-wf--utility-text-color--variant="tertiary"]), 2523:has(> [data-wf--utility-text-color--variant="tertiary"]) h1, 2524:has(> [data-wf--utility-text-color--variant="tertiary"]) h2, 2525:has(> [data-wf--utility-text-color--variant="tertiary"]) h3, 2526:has(> [data-wf--utility-text-color--variant="tertiary"]) h4, 2527:has(> [data-wf--utility-text-color--variant="tertiary"]) h5, 2528:has(> [data-wf--utility-text-color--variant="tertiary"]) h6, 2529:has(> [data-wf--utility-text-color--variant="tertiary"]) p { 2530 color: var(--_semantic-tokens---text--text-tertiary); 2531} 2532 2533:has(> [data-wf--utility-text-color--variant="brand"]), 2534:has(> [data-wf--utility-text-color--variant="brand"]) h1, 2535:has(> [data-wf--utility-text-color--variant="brand"]) h2, 2536:has(> [data-wf--utility-text-color--variant="brand"]) h3, 2537:has(> [data-wf--utility-text-color--variant="brand"]) h4, 2538:has(> [data-wf--utility-text-color--variant="brand"]) h5, 2539:has(> [data-wf--utility-text-color--variant="brand"]) h6, 2540:has(> [data-wf--utility-text-color--variant="brand"]) p { 2541 color: var(--_semantic-tokens---text--text-brand); 2542} 2543</style></div><div class="hide w-embed"><style> 2544/* ================================================ 2545 UTILITY / TEXT SIZE 2546 ================================================ */ 2547 2548[data-wf--utility-text-size--variant] { 2549 display: none; 2550} 2551 2552:has(> [data-wf--utility-text-size--variant="display"]), 2553:has(> [data-wf--utility-text-size--variant="display"]) h1, 2554:has(> [data-wf--utility-text-size--variant="display"]) h2, 2555:has(> [data-wf--utility-text-size--variant="display"]) h3, 2556:has(> [data-wf--utility-text-size--variant="display"]) h4, 2557:has(> [data-wf--utility-text-size--variant="display"]) h5, 2558:has(> [data-wf--utility-text-size--variant="display"]) h6, 2559:has(> [data-wf--utility-text-size--variant="display"]) p { 2560 font-size: var(--_typography---heading-sizes--display); 2561 line-height: var(--_typography---line-height--display); 2562 letter-spacing: var(--_typography---letter-spacing--display); 2563} 2564 2565:has(> [data-wf--utility-text-size--variant="h1"]), 2566:has(> [data-wf--utility-text-size--variant="h1"]) h1, 2567:has(> [data-wf--utility-text-size--variant="h1"]) h2, 2568:has(> [data-wf--utility-text-size--variant="h1"]) h3, 2569:has(> [data-wf--utility-text-size--variant="h1"]) h4, 2570:has(> [data-wf--utility-text-size--variant="h1"]) h5, 2571:has(> [data-wf--utility-text-size--variant="h1"]) h6, 2572:has(> [data-wf--utility-text-size--variant="h1"]) p { 2573 font-size: var(--_typography---heading-sizes--h1); 2574 line-height: var(--_typography---line-height--h1); 2575 letter-spacing: var(--_typography---letter-spacing--h1); 2576} 2577 2578:has(> [data-wf--utility-text-size--variant="h2"]), 2579:has(> [data-wf--utility-text-size--variant="h2"]) h1, 2580:has(> [data-wf--utility-text-size--variant="h2"]) h2, 2581:has(> [data-wf--utility-text-size--variant="h2"]) h3, 2582:has(> [data-wf--utility-text-size--variant="h2"]) h4, 2583:has(> [data-wf--utility-text-size--variant="h2"]) h5, 2584:has(> [data-wf--utility-text-size--variant="h2"]) h6, 2585:has(> [data-wf--utility-text-size--variant="h2"]) p { 2586 font-size: var(--_typography---heading-sizes--h2); 2587 line-height: var(--_typography---line-height--h2); 2588 letter-spacing: var(--_typography---letter-spacing--h2); 2589} 2590 2591:has(> [data-wf--utility-text-size--variant="h3"]), 2592:has(> [data-wf--utility-text-size--variant="h3"]) h1, 2593:has(> [data-wf--utility-text-size--variant="h3"]) h2, 2594:has(> [data-wf--utility-text-size--variant="h3"]) h3, 2595:has(> [data-wf--utility-text-size--variant="h3"]) h4, 2596:has(> [data-wf--utility-text-size--variant="h3"]) h5, 2597:has(> [data-wf--utility-text-size--variant="h3"]) h6, 2598:has(> [data-wf--utility-text-size--variant="h3"]) p { 2599 font-size: var(--_typography---heading-sizes--h3); 2600 line-height: var(--_typography---line-height--h3); 2601 letter-spacing: var(--_typography---letter-spacing--h3); 2602} 2603 2604:has(> [data-wf--utility-text-size--variant="h4"]), 2605:has(> [data-wf--utility-text-size--variant="h4"]) h1, 2606:has(> [data-wf--utility-text-size--variant="h4"]) h2, 2607:has(> [data-wf--utility-text-size--variant="h4"]) h3, 2608:has(> [data-wf--utility-text-size--variant="h4"]) h4, 2609:has(> [data-wf--utility-text-size--variant="h4"]) h5, 2610:has(> [data-wf--utility-text-size--variant="h4"]) h6, 2611:has(> [data-wf--utility-text-size--variant="h4"]) p { 2612 font-size: var(--_typography---heading-sizes--h4); 2613 line-height: var(--_typography---line-height--h4); 2614 letter-spacing: var(--_typography---letter-spacing--h4); 2615} 2616 2617:has(> [data-wf--utility-text-size--variant="h5"]), 2618:has(> [data-wf--utility-text-size--variant="h5"]) h1, 2619:has(> [data-wf--utility-text-size--variant="h5"]) h2, 2620:has(> [data-wf--utility-text-size--variant="h5"]) h3, 2621:has(> [data-wf--utility-text-size--variant="h5"]) h4, 2622:has(>
2622 [data-wf--utility-text-size--variant="h5"]) h5, 2623:has(> [data-wf--utility-text-size--variant="h5"]) h6, 2624:has(> [data-wf--utility-text-size--variant="h5"]) p { 2625 font-size: var(--_typography---heading-sizes--h5); 2626 line-height: var(--_typography---line-height--h5); 2627 letter-spacing: var(--_typography---letter-spacing--h5); 2628} 2629 2630:has(> [data-wf--utility-text-size--variant="h6"]), 2631:has(> [data-wf--utility-text-size--variant="h6"]) h1, 2632:has(> [data-wf--utility-text-size--variant="h6"]) h2, 2633:has(> [data-wf--utility-text-size--variant="h6"]) h3, 2634:has(> [data-wf--utility-text-size--variant="h6"]) h4, 2635:has(> [data-wf--utility-text-size--variant="h6"]) h5, 2636:has(> [data-wf--utility-text-size--variant="h6"]) h6, 2637:has(> [data-wf--utility-text-size--variant="h6"]) p { 2638 font-size: var(--_typography---heading-sizes--h6); 2639 line-height: var(--_typography---line-height--h6); 2640 letter-spacing: var(--_typography---letter-spacing--h6); 2641} 2642 2643:has(> [data-wf--utility-text-size--variant="text-large"]), 2644:has(> [data-wf--utility-text-size--variant="text-large"]) h1, 2645:has(> [data-wf--utility-text-size--variant="text-large"]) h2, 2646:has(> [data-wf--utility-text-size--variant="text-large"]) h3, 2647:has(> [data-wf--utility-text-size--variant="text-large"]) h4, 2648:has(> [data-wf--utility-text-size--variant="text-large"]) h5, 2649:has(> [data-wf--utility-text-size--variant="text-large"]) h6, 2650:has(> [data-wf--utility-text-size--variant="text-large"]) p { 2651 font-size: var(--_typography---body-sizes--text-large); 2652 line-height: var(--_typography---line-height--paragraph); 2653 letter-spacing: var(--_typography---letter-spacing--paragraph); 2654} 2655 2656:has(> [data-wf--utility-text-size--variant="text-medium"]), 2657:has(> [data-wf--utility-text-size--variant="text-medium"]) h1, 2658:has(> [data-wf--utility-text-size--variant="text-medium"]) h2, 2659:has(> [data-wf--utility-text-size--variant="text-medium"]) h3, 2660:has(> [data-wf--utility-text-size--variant="text-medium"]) h4, 2661:has(> [data-wf--utility-text-size--variant="text-medium"]) h5, 2662:has(> [data-wf--utility-text-size--variant="text-medium"]) h6, 2663:has(> [data-wf--utility-text-size--variant="text-medium"]) p { 2664 font-size: var(--_typography---body-sizes--text-medium); 2665 line-height: var(--_typography---line-height--paragraph); 2666 letter-spacing: var(--_typography---letter-spacing--paragraph); 2667} 2668 2669:has(> [data-wf--utility-text-size--variant="text-regular"]), 2670:has(> [data-wf--utility-text-size--variant="text-regular"]) h1, 2671:has(> [data-wf--utility-text-size--variant="text-regular"]) h2, 2672:has(> [data-wf--utility-text-size--variant="text-regular"]) h3, 2673:has(> [data-wf--utility-text-size--variant="text-regular"]) h4, 2674:has(> [data-wf--utility-text-size--variant="text-regular"]) h5, 2675:has(> [data-wf--utility-text-size--variant="text-regular"]) h6, 2676:has(> [data-wf--utility-text-size--variant="text-regular"]) p { 2677 font-size: var(--_typography---body-sizes--text-regular); 2678 line-height: var(--_typography---line-height--paragraph); 2679 letter-spacing: var(--_typography---letter-spacing--paragraph); 2680} 2681 2682:has(> [data-wf--utility-text-size--variant="text-small"]), 2683:has(> [data-wf--utility-text-size--variant="text-small"]) h1, 2684:has(> [data-wf--utility-text-size--variant="text-small"]) h2, 2685:has(> [data-wf--utility-text-size--variant="text-small"]) h3, 2686:has(> [data-wf--utility-text-size--variant="text-small"]) h4, 2687:has(> [data-wf--utility-text-size--variant="text-small"]) h5, 2688:has(> [data-wf--utility-text-size--variant="text-small"]) h6, 2689:has(> [data-wf--utility-text-size--variant="text-small"]) p { 2690 font-size: var(--_typography---body-sizes--text-small); 2691 line-height: var(--_typography---line-height--paragraph); 2692 letter-spacing: var(--_typography---letter-spacing--paragraph); 2693} 2694 2695:has(> [data-wf--utility-text-size--variant="text-tiny"]), 2696:has(> [data-wf--utility-text-size--variant="text-tiny"]) h1, 2697:has(> [data-wf--utility-text-size--variant="text-tiny"]) h2, 2698:has(> [data-wf--utility-text-size--variant="text-tiny"]) h3, 2699:has(> [data-wf--utility-text-size--variant="text-tiny"]) h4, 2700:has(> [data-wf--utility-text-size--variant="text-tiny"]) h5, 2701:has(> [data-wf--utility-text-size--variant="text-tiny"]) h6, 2702:has(> [data-wf--utility-text-size--variant="text-tiny"]) p { 2703 font-size: var(--_typography---body-sizes--text-tiny); 2704 line-height: var(--_typography---line-height--paragraph); 2705 letter-spacing: var(--_typography---letter-spacing--paragraph); 2706} 2707 2708/* ================================================
2709 UTILITY / TEXT SIZE (MOBILE) 2710 Overrides font size, line height, and letter 2711 spacing at 767px and below. Place as a direct 2712 child of the component wrapper. 2713 ================================================ */ 2714 2715[data-wf--utility-text-size-mobile--variant] { 2716 display: none; 2717} 2718 2719@media (max-width: 767px) { 2720 /* --- Display --- */ 2721 :has(> [data-wf--utility-text-size-mobile--variant="display"]), 2722 :has(> [data-wf--utility-text-size-mobile--variant="display"]) h1, 2723 :has(> [data-wf--utility-text-size-mobile--variant="display"]) h2, 2724 :has(> [data-wf--utility-text-size-mobile--variant="display"]) h3, 2725 :has(> [data-wf--utility-text-size-mobile--variant="display"]) h4, 2726 :has(> [data-wf--utility-text-size-mobile--variant="display"]) h5, 2727 :has(> [data-wf--utility-text-size-mobile--variant="display"]) h6, 2728 :has(> [data-wf--utility-text-size-mobile--variant="display"]) p { 2729 font-size: var(--_typography---heading-sizes--display); 2730 line-height: var(--_typography---line-height--display); 2731 letter-spacing: var(--_typography---letter-spacing--display); 2732 } 2733 2734 /* --- H1 --- */ 2735 :has(> [data-wf--utility-text-size-mobile--variant="h1"]), 2736 :has(> [data-wf--utility-text-size-mobile--variant="h1"]) h1, 2737 :has(> [data-wf--utility-text-size-mobile--variant="h1"]) h2, 2738 :has(> [data-wf--utility-text-size-mobile--variant="h1"]) h3, 2739 :has(> [data-wf--utility-text-size-mobile--variant="h1"]) h4, 2740 :has(> [data-wf--utility-text-size-mobile--variant="h1"]) h5, 2741 :has(> [data-wf--utility-text-size-mobile--variant="h1"]) h6, 2742 :has(> [data-wf--utility-text-size-mobile--variant="h1"]) p { 2743 font-size: var(--_typography---heading-sizes--h1); 2744 line-height: var(--_typography---line-height--h1); 2745 letter-spacing: var(--_typography---letter-spacing--h1); 2746 } 2747 2748 /* --- H2 --- */ 2749 :has(> [data-wf--utility-text-size-mobile--variant="h2"]), 2750 :has(> [data-wf--utility-text-size-mobile--variant="h2"]) h1, 2751 :has(> [data-wf--utility-text-size-mobile--variant="h2"]) h2, 2752 :has(> [data-wf--utility-text-size-mobile--variant="h2"]) h3, 2753 :has(> [data-wf--utility-text-size-mobile--variant="h2"]) h4, 2754 :has(> [data-wf--utility-text-size-mobile--variant="h2"]) h5, 2755 :has(> [data-wf--utility-text-size-mobile--variant="h2"]) h6, 2756 :has(> [data-wf--utility-text-size-mobile--variant="h2"]) p { 2757 font-size: var(--_typography---heading-sizes--h2); 2758 line-height: var(--_typography---line-height--h2); 2759 letter-spacing: var(--_typography---letter-spacing--h2); 2760 } 2761 2762 /* --- H3 --- */ 2763 :has(> [data-wf--utility-text-size-mobile--variant="h3"]), 2764 :has(> [data-wf--utility-text-size-mobile--variant="h3"]) h1, 2765 :has(> [data-wf--utility-text-size-mobile--variant="h3"]) h2, 2766 :has(> [data-wf--utility-text-size-mobile--variant="h3"]) h3, 2767 :has(> [data-wf--utility-text-size-mobile--variant="h3"]) h4, 2768 :has(> [data-wf--utility-text-size-mobile--variant="h3"]) h5, 2769 :has(> [data-wf--utility-text-size-mobile--variant="h3"]) h6, 2770 :has(> [data-wf--utility-text-size-mobile--variant="h3"]) p { 2771 font-size: var(--_typography---heading-sizes--h3); 2772 line-height: var(--_typography---line-height--h3); 2773 letter-spacing: var(--_typography---letter-spacing--h3); 2774 } 2775 2776 /* --- H4 --- */ 2777 :has(> [data-wf--utility-text-size-mobile--variant="h4"]), 2778 :has(> [data-wf--utility-text-size-mobile--variant="h4"]) h1, 2779 :has(> [data-wf--utility-text-size-mobile--variant="h4"]) h2, 2780 :has(> [data-wf--utility-text-size-mobile--variant="h4"]) h3, 2781 :has(> [data-wf--utility-text-size-mobile--variant="h4"]) h4, 2782 :has(> [data-wf--utility-text-size-mobile--variant="h4"]) h5, 2783 :has(> [data-wf--utility-text-size-mobile--variant="h4"]) h6, 2784 :has(> [data-wf--utility-text-size-mobile--variant="h4"]) p { 2785 font-size: var(--_typography---heading-sizes--h4); 2786 line-height: var(--_typography---line-height--h4); 2787 letter-spacing: var(--_typography---letter-spacing--h4); 2788 } 2789 2790 /* --- H5 --- */ 2791 :has(> [data-wf--utility-text-size-mobile--variant="h5"]), 2792 :has(> [data-wf--utility-text-size-mobile--variant="h5"]) h1, 2793 :has(> [data-wf--utility-text-size-mobile--variant="h5"]) h2, 2794 :has(> [data-wf--utility-text-size-mobile--variant="h5"]) h3, 2795 :has(> [data-wf--utility-text-size-mobile--variant="h5"]) h4, 2796 :has(>
2796 [data-wf--utility-text-size-mobile--variant="h5"]) h5, 2797 :has(> [data-wf--utility-text-size-mobile--variant="h5"]) h6, 2798 :has(> [data-wf--utility-text-size-mobile--variant="h5"]) p { 2799 font-size: var(--_typography---heading-sizes--h5); 2800 line-height: var(--_typography---line-height--h5); 2801 letter-spacing: var(--_typography---letter-spacing--h5); 2802 } 2803 2804 /* --- H6 --- */ 2805 :has(> [data-wf--utility-text-size-mobile--variant="h6"]), 2806 :has(> [data-wf--utility-text-size-mobile--variant="h6"]) h1, 2807 :has(> [data-wf--utility-text-size-mobile--variant="h6"]) h2, 2808 :has(> [data-wf--utility-text-size-mobile--variant="h6"]) h3, 2809 :has(> [data-wf--utility-text-size-mobile--variant="h6"]) h4, 2810 :has(> [data-wf--utility-text-size-mobile--variant="h6"]) h5, 2811 :has(> [data-wf--utility-text-size-mobile--variant="h6"]) h6, 2812 :has(> [data-wf--utility-text-size-mobile--variant="h6"]) p { 2813 font-size: var(--_typography---heading-sizes--h6); 2814 line-height: var(--_typography---line-height--h6); 2815 letter-spacing: var(--_typography---letter-spacing--h6); 2816 } 2817 2818 /* --- Large --- */ 2819 :has(> [data-wf--utility-text-size-mobile--variant="large"]), 2820 :has(> [data-wf--utility-text-size-mobile--variant="large"]) h1, 2821 :has(> [data-wf--utility-text-size-mobile--variant="large"]) h2, 2822 :has(> [data-wf--utility-text-size-mobile--variant="large"]) h3, 2823 :has(> [data-wf--utility-text-size-mobile--variant="large"]) h4, 2824 :has(> [data-wf--utility-text-size-mobile--variant="large"]) h5, 2825 :has(> [data-wf--utility-text-size-mobile--variant="large"]) h6, 2826 :has(> [data-wf--utility-text-size-mobile--variant="large"]) p { 2827 font-size: var(--_typography---body-sizes--text-large); 2828 line-height: var(--_typography---line-height--paragraph); 2829 letter-spacing: var(--_typography---letter-spacing--paragraph); 2830 } 2831 2832 /* --- Medium --- */ 2833 :has(> [data-wf--utility-text-size-mobile--variant="medium"]), 2834 :has(> [data-wf--utility-text-size-mobile--variant="medium"]) h1, 2835 :has(> [data-wf--utility-text-size-mobile--variant="medium"]) h2, 2836 :has(> [data-wf--utility-text-size-mobile--variant="medium"]) h3, 2837 :has(> [data-wf--utility-text-size-mobile--variant="medium"]) h4, 2838 :has(> [data-wf--utility-text-size-mobile--variant="medium"]) h5, 2839 :has(> [data-wf--utility-text-size-mobile--variant="medium"]) h6, 2840 :has(> [data-wf--utility-text-size-mobile--variant="medium"]) p { 2841 font-size: var(--_typography---body-sizes--text-medium); 2842 line-height: var(--_typography---line-height--paragraph); 2843 letter-spacing: var(--_typography---letter-spacing--paragraph); 2844 } 2845 2846 /* --- Small --- */ 2847 :has(> [data-wf--utility-text-size-mobile--variant="small"]), 2848 :has(> [data-wf--utility-text-size-mobile--variant="small"]) h1, 2849 :has(> [data-wf--utility-text-size-mobile--variant="small"]) h2, 2850 :has(> [data-wf--utility-text-size-mobile--variant="small"]) h3, 2851 :has(> [data-wf--utility-text-size-mobile--variant="small"]) h4, 2852 :has(> [data-wf--utility-text-size-mobile--variant="small"]) h5, 2853 :has(> [data-wf--utility-text-size-mobile--variant="small"]) h6, 2854 :has(> [data-wf--utility-text-size-mobile--variant="small"]) p { 2855 font-size: var(--_typography---body-sizes--text-small); 2856 line-height: var(--_typography---line-height--paragraph); 2857 letter-spacing: var(--_typography---letter-spacing--paragraph); 2858 } 2859 2860 /* --- Tiny --- */ 2861 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]), 2862 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]) h1, 2863 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]) h2, 2864 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]) h3, 2865 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]) h4, 2866 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]) h5, 2867 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]) h6, 2868 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]) p { 2869 font-size: var(--_typography---body-sizes--text-tiny); 2870 line-height: var(--_typography---line-height--paragraph); 2871 letter-spacing: var(--_typography---letter-spacing--paragraph); 2872 } 2873} 2874</style></div><div class="hide w-embed"><style> 2875/* ================================================ 2876 UTILITY / TEXT TRANSFORM 2877 ================================================ */ 2878[data-wf--utility-text-transform--variant] { 2879 display: none; 2880} 2881:has(> [data-wf--utility-text-transform--variant="uppercase"]), 2882:has(> [data-wf--utility-text-transform--variant="uppercase"]) h1, 2883:has(> [data-wf--utility-text-transform--variant="uppercase"]) h2, 2884:has(> [data-wf--utility-text-transform--variant="uppercase"]) h3, 2885:has(> [data-wf--utility-text-transform--variant="uppercase"]) h4, 2886:has(> [data-wf--utility-text-transform--variant="uppercase"]) h5, 2887:has(> [data-wf--utility-text-transform--variant="uppercase"]) h6, 2888:has(> [data-wf--utility-text-transform--variant="uppercase"]) p { 2889 text-transform: uppercase; 2890} 2891:has(> [data-wf--utility-text-transform--variant="lowercase"]), 2892:has(> [data-wf--utility-text-transform--variant="lowercase"]) h1, 2893:has(> [data-wf--utility-text-transform--variant="lowercase"]) h2, 2894:has(> [data-wf--utility-text-transform--variant="lowercase"]) h3, 2895:has(> [data-wf--utility-text-transform--variant="lowercase"]) h4, 2896:has(> [data-wf--utility-text-transform--variant="lowercase"]) h5, 2897:has(> [data-wf--utility-text-transform--variant="lowercase"]) h6, 2898:has(> [data-wf--utility-text-transform--variant="lowercase"]) p { 2899 text-transform: lowercase; 2900} 2901:has(> [data-wf--utility-text-transform--variant="capitalize"]), 2902:has(> [data-wf--utility-text-transform--variant="capitalize"]) h1, 2903:has(> [data-wf--utility-text-transform--variant="capitalize"]) h2, 2904:has(> [data-wf--utility-text-transform--variant="capitalize"]) h3, 2905:has(> [data-wf--utility-text-transform--variant="capitalize"]) h4, 2906:has(> [data-wf--utility-text-transform--variant="capitalize"]) h5, 2907:has(> [data-wf--utility-text-transform--variant="capitalize"]) h6, 2908:has(> [data-wf--utility-text-transform--variant="capitalize"]) p { 2909 text-transform: capitalize; 2910} 2911:has(> [data-wf--utility-text-transform--variant="none"]), 2912:has(> [data-wf--utility-text-transform--variant="none"]) h1, 2913:has(> [data-wf--utility-text-transform--variant="none"]) h2, 2914:has(> [data-wf--utility-text-transform--variant="none"]) h3, 2915:has(> [data-wf--utility-text-transform--variant="none"]) h4, 2916:has(> [data-wf--utility-text-transform--variant="none"]) h5, 2917:has(> [data-wf--utility-text-transform--variant="none"]) h6, 2918:has(> [data-wf--utility-text-transform--variant="none"]) p { 2919 text-transform: none; 2920} 2921</style></div><div class="hide w-embed"><style> 2922/* ================================================ 2923 UTILITY / TEXT WEIGHT 2924 ================================================ */ 2925 2926[data-wf--utility-text-weight--variant] { 2927 display: none; 2928} 2929 2930:has(> [data-wf--utility-text-weight--variant="light"]), 2931:has(> [data-wf--utility-text-weight--variant="light"]) h1, 2932:has(> [data-wf--utility-text-weight--variant="light"]) h2, 2933:has(> [data-wf--utility-text-weight--variant="light"]) h3, 2934:has(> [data-wf--utility-text-weight--variant="light"]) h4, 2935:has(> [data-wf--utility-text-weight--variant="light"]) h5, 2936:has(> [data-wf--utility-text-weight--variant="light"]) h6, 2937:has(> [data-wf--utility-text-weight--variant="light"]) p { 2938 font-weight: var(--_typography---font-weights--light); 2939} 2940 2941:has(> [data-wf--utility-text-weight--variant="regular"]), 2942:has(> [data-wf--utility-text-weight--variant="regular"]) h1, 2943:has(> [data-wf--utility-text-weight--variant="regular"]) h2, 2944:has(> [data-wf--utility-text-weight--variant="regular"]) h3, 2945:has(> [data-wf--utility-text-weight--variant="regular"]) h4, 2946:has(> [data-wf--utility-text-weight--variant="regular"]) h5, 2947:has(> [data-wf--utility-text-weight--variant="regular"]) h6, 2948:has(> [data-wf--utility-text-weight--variant="regular"]) p { 2949 font-weight: var(--_typography---font-weights--regular); 2950} 2951 2952:has(> [data-wf--utility-text-weight--variant="medium"]), 2953:has(> [data-wf--utility-text-weight--variant="medium"]) h1, 2954:has(> [data-wf--utility-text-weight--variant="medium"]) h2, 2955:has(> [data-wf--utility-text-weight--variant="medium"]) h3, 2956:has(> [data-wf--utility-text-weight--variant="medium"]) h4, 2957:has(> [data-wf--utility-text-weight--variant="medium"]) h5, 2958:has(> [data-wf--utility-text-weight--variant="medium"]) h6, 2959:has(> [data-wf--utility-text-weight--variant="medium"]) p { 2960 font-weight: var(--_typography---font-weights--medium); 2961} 2962 2963:has(> [data-wf--utility-text-weight--variant="semibold"]), 2964:has(> [data-wf--utility-text-weight--variant="semibold"]) h1, 2965:has(> [data-wf--utility-text-weight--variant="semibold"]) h2, 2966:has(> [data-wf--utility-text-weight--variant="semibold"]) h3, 2967:has(> [data-wf--utility-text-weight--variant="semibold"]) h4, 2968:has(> [data-wf--utility-text-weight--variant="semibold"]) h5, 2969:has(> [data-wf--utility-text-weight--variant="semibold"]) h6, 2970:has(> [data-wf--utility-text-weight--variant="semibold"]) p { 2971 font-weight: var(--_typography---font-weights--semibold); 2972} 2973 2974:has(> [data-wf--utility-text-weight--variant="bold"]), 2975:has(> [data-wf--utility-text-weight--variant="bold"]) h1, 2976:has(> [data-wf--utility-text-weight--variant="bold"]) h2, 2977:has(> [data-wf--utility-text-weight--variant="bold"]) h3, 2978:has(> [data-wf--utility-text-weight--variant="bold"]) h4, 2979:has(> [data-wf--utility-text-weight--variant="bold"]) h5, 2980:has(> [data-wf--utility-text-weight--variant="bold"]) h6, 2981:has(> [data-wf--utility-text-weight--variant="bold"]) p { 2982 font-weight: var(--_typography---font-weights--bold); 2983} 2984</style></div><div class="hide w-embed"><style> 2985/* ================================================
2986 UTILITY / VISIBILITY 2987 Controls whether the parent element is visible 2988 at desktop or mobile breakpoints. Drop this 2989 component inside any element. 2990 2991 Variants: 2992 - Base (always visible) 2993 - Hide Tablet (hidden at 991px and below) 2994 - Hide Mobile (hidden at 767px and below) 2995 - Show Tablet (hidden on desktop, visible at 991px and below) 2996 - Show Mobile (hidden on desktop, visible at 767px and below) 2997 ================================================ */ 2998 2999[data-wf--utility-visibility--variant] { 3000 display: none; 3001} 3002 3003/* Hide Tablet: visible on desktop, hidden at 991px and below */ 3004@media (max-width: 991px) { 3005 :has(> [data-wf--utility-visibility--variant="hide-tablet"]) { 3006 display: none !important; 3007 } 3008} 3009 3010/* Hide Mobile: visible on desktop, hidden at 767px and below */ 3011@media (max-width: 767px) { 3012 :has(> [data-wf--utility-visibility--variant="hide-mobile"]) { 3013 display: none !important; 3014 } 3015} 3016 3017/* Show Tablet: hidden on desktop, visible at 991px and below */ 3018:has(> [data-wf--utility-visibility--variant="show-tablet"]) { 3019 display: none !important; 3020} 3021 3022@media (max-width: 991px) { 3023 :has(> [data-wf--utility-visibility--variant="show-tablet"]) { 3024 display: revert !important; 3025 } 3026} 3027 3028/* Show Mobile: hidden on desktop, visible at 767px and below */ 3029:has(> [data-wf--utility-visibility--variant="show-mobile"]) { 3030 display: none !important; 3031} 3032 3033@media (max-width: 767px) { 3034 :has(> [data-wf--utility-visibility--variant="show-mobile"]) { 3035 display: revert !important; 3036 } 3037} 3038</style></div><div class="hide w-embed"><style> 3039/* ================================================ 3040 UTILITY / WIDTH 3041 ================================================ */ 3042[data-wf--utility-width--variant] { 3043 display: none; 3044} 3045:has(> [data-wf--utility-width--variant="10"]) { 3046 width: 10%; 3047} 3048:has(> [data-wf--utility-width--variant="20"]) { 3049 width: 20%; 3050} 3051:has(> [data-wf--utility-width--variant="30"]) { 3052 width: 30%; 3053} 3054:has(> [data-wf--utility-width--variant="40"]) { 3055 width: 40%; 3056} 3057:has(> [data-wf--utility-width--variant="50"]) { 3058 width: 50%; 3059} 3060:has(> [data-wf--utility-width--variant="60"]) { 3061 width: 60%; 3062} 3063:has(> [data-wf--utility-width--variant="70"]) { 3064 width: 70%; 3065} 3066:has(> [data-wf--utility-width--variant="80"]) { 3067 width: 80%; 3068} 3069:has(> [data-wf--utility-width--variant="90"]) { 3070 width: 90%; 3071} 3072:has(> [data-wf--utility-width--variant="100"]) { 3073 width: 100%; 3074} 3075</style></div><div class="hide w-embed"><style> 3076/* ================================================ 3077 UTILITY / Z-INDEX 3078 ================================================ */ 3079 3080[data-wf--utility-z-index--variant] { 3081 display: none; 3082} 3083 3084:has(> [data-wf--utility-z-index--variant="-1"]) { 3085 z-index: -1; 3086} 3087:has(> [data-wf--utility-z-index--variant="0"]) { 3088 z-index: 0; 3089} 3090:has(> [data-wf--utility-z-index--variant="1"]) { 3091 z-index: 1; 3092} 3093:has(> [data-wf--utility-z-index--variant="2"]) { 3094 z-index: 2; 3095} 3096</style></div></div></div><div data-animation="default" class="navbar w-nav" data-easing2="ease" fs-scrolldisable-element="smart-nav" data-easing="ease" data-collapse="medium" data-w-id="2e1679be-910f-61c1-0bad-b407f4527ee1" role="banner" data-duration="400"><div class="padding-global"><div class="container-xlarge"><div class="navbar_component"><div class="navbar_links-wrapper"><a href="/" class="navbar_logo-link w-nav-brand"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 139 32" fill="none" class="navbar_logo"><path d="M8.37604 14.0551V15.9296H8.37698V19.2707C8.37698 20.134 8.84126 20.9382 9.58863 21.3701L10.8599 22.1048L12.4833 21.1678L10.4012 19.9646C10.1543 19.8218 10.0008 19.5561 10.0008 19.2707V15.8832V13.1176L10.0003 6.30873C10.0003 6.09466 10.0839 5.89326 10.2351 5.7421C10.3862 5.59094 10.5876 5.50737 10.8017 5.50737H17.4111C17.8528 5.50737 18.2124 5.86697 18.2124 6.30873V11.2417L19.8363 12.1792V6.30826C19.8353 4.97126 18.7476 3.88354 17.4106 3.88354H10.8012C10.1534 3.88354 9.5445 4.13564 9.08632 4.59382C8.62813 5.05201 8.37604 5.66088 8.37604 6.30873L8.37698 14.0547H8.37651L8.37604 14.0551Z" fill="#0A68C6"></path><path d="M15.7276 23.0428L18.6242 21.3706C19.372 20.9387 19.8367 20.1341 19.8367 19.2703V17.8066L18.2129 16.8691V19.2703C18.2129 19.5557 18.0594 19.8219 17.8125 19.9646L15.0451 21.5622V21.5631L11.4383 23.6456V23.6446L6.5743 26.4524C6.38887 26.5595 6.17292 26.5876 5.96636 26.5327C5.75934 26.4773 5.58658 26.3449 5.47954 26.1595L2.17508 20.436C1.95397 20.0533 2.08589 19.5618 2.46849 19.3412L6.75363 16.8672V14.9927L1.65681 17.9352C0.498676 18.6037 0.100582 20.0895 0.769079 21.2476L4.07354 26.9712C4.39746 27.5322 4.92043 27.9335 5.5462 28.1011C5.75511 28.157 5.9673 28.1847 6.17762 28.1847C6.59777 28.1847 7.01277 28.0744 7.38598 27.8589L14.1048 23.9798L15.7281 23.0428H15.7276Z" fill="#0A68C6"></path><path d="M26.5461 17.9352L19.8358 14.0571V14.0538L18.212 13.1163V13.1187L15.3192 11.4469C14.9451 11.23
309605 14.5254 11.1226 14.1062 11.1226C13.6869 11.1226 13.2677 11.2305 12.8936 11.4465L11.6232 12.1798V14.0543L13.7052 12.852C13.9526 12.7093 14.2597 12.7093 14.5071 12.852L18.212 14.9932L21.4756 16.878V16.879L25.7335 19.3398C26.1161 19.5609 26.2475 20.052 26.0264 20.4346L22.722 26.1586C22.6149 26.344 22.4422 26.4769 22.2352 26.5318C22.0281 26.5872 21.8122 26.5586 21.6267 26.4515L17.3501 23.9799L15.7267 24.9169L20.8146 27.8571C21.3756 28.181 22.0291 28.2674 22.6548 28.0998C23.2806 27.9322 23.8041 27.5308 24.128 26.9698L27.4324 21.2458C28.1009 20.0881 27.7028 18.6023 26.5456 17.9338L26.5461 17.9352Z" fill="#0A68C6"></path><path d="M133.985 22.8512C130.816 22.8512 128.988 20.6778 128.988 17.3466C128.988 13.9342 130.836 11.7607 133.924 11.7607C137.316 11.7607 138.941 14.2185 138.677 17.7122H131.039C131.06 20.0685 132.217 21.2466 133.985 21.2466C135.406 21.2466 136.381 20.495 136.625 19.3778H138.616C138.331 21.5512 136.442 22.8512 133.985 22.8512ZM133.924 13.3654C132.278 13.3654 131.222 14.381 131.06 16.2904H136.625C136.564 14.2591 135.467 13.3654 133.924 13.3654Z" fill="#252E37"></path><path d="M125.784 22.6685C124.017 22.6685 123.468 21.8763 123.468 20.4341V13.6295H121.437V11.9233H123.468V8.81552L125.56 8.57178V11.9233H127.937V13.6295H125.56V20.0482C125.56 20.7591 125.804 20.9419 126.475 20.9419H127.937V22.6685H125.784Z" fill="#252E37"></path><path d="M113.916 22.8513C111.296 22.8513 109.528 20.881 109.528 17.2857C109.528 13.6905 111.296 11.74
309605 113.916 11.7405C115.724 11.7405 117.064 12.6545 117.572 14.0358H117.694L117.775 11.9233H119.786V22.6685H117.694V20.5357H117.572C117.064 21.9169 115.724 22.8513 113.916 22.8513ZM114.647 21.1247C116.638 21.1247 117.674 19.5607 117.674 17.8951V16.6764C117.674 15.0311 116.638 13.4467 114.647 13.4467C112.86 13.4467 111.681 14.7467 111.681 17.2857C111.681 19.8044 112.86 21.1247 114.647 21.1247Z" fill="#252E37"></path><path d="M106.325 22.6685C104.557 22.6685 104.009 21.8763 104.009 20.4341V13.6295H101.978V11.9233H104.009V8.81552L106.101 8.57178V11.9233H108.478V13.6295H106.101V20.0482C106.101 20.7591 106.345 20.9419 107.015 20.9419H108.478V22.6685H106.325Z" fill="#252E37"></path><path d="M96.6211 22.8716C93.7977 22.8716 92.1118 21.4295 92.1118 19.2967H94.1836C94.1836 20.6982 95.1992 21.3482 96.6617 21.3482C98.1445 21.3482 98.9367 20.7592 98.9367 19.7639C98.9367 18.6467 98.2257 18.342 96.4383 18.0779C93.7367 17.692 92.3961 16.9811 92.3961 14.9702C92.3961 13.0202 94.1024 11.7202 96.6414 11.7202C99.221 11.7202 100.805 13.0405 100.846 15.092H98.7945C98.7742 13.7921 97.9211 13.2639 96.6008 13.2639C95.2805 13.2639 94.4883 13.853 94.4883 14.7671C94.4883 15.8233 95.3008 16.1483 97.1898 16.4123C99.6882 16.7577 101.049 17.4686 101.049 19.5811C101.049 21.6935 99.282 22.8716 96.6211 22.8716Z" fill="#252E37"></path><path d="M85.9809 22.8512C82.8122 22.8512 80.9841 20.6778 80.9841 17.3466C80.9841 13.9342 82.8325 11.7607 85.92 11.7607C89.3122 11.7607 90.9371 14.2185 90.6731 17.7122H83.0357C83.056 20.0685 84.2138 21.2466 85.9809 21.2466C87.4028 21.2466 88.3778 20.495 88.6215 19.3778H90.6121C90.3278 21.5512 88.4387 22.8512 85.9809 22.8512ZM85.92 13.3654C84.2747 13.3654 83.2185 14.381 83.056 16.2904H88.6215C88.5606 14.2591 87.4637 13.3654 85.92 13.3654Z" fill="#252E37"></path><path d="M74.1331 22.6685L70.2738 11.9233H72.5285L74.6816 18.5451L75.3722 20.8607H75.4534L76.1034 18.5451L78.2565 11.9233H80.5112L76.6925 22.6685H74.1331Z" fill="#252E37"></path><path d="M66.7985 10.278V7.86084H68.8907V10.278H66.7985ZM66.7985 22.6685V11.9233H68.8907V22.6685H66.7985Z" fill="#252E37"></path><path d="M62.5659 22.6685C60.7988 22.6685 60.2503 21.8763 60.2503 20.4341V13.6295H58.2191V11.9233H60.2503V8.81552L62.3425 8.57178V11.9233H64.719V13.6295H62.3425V20.0482C62.3425 20.7591 62.5862 20.9419 63.2566 20.9419H64.719V22.6685H62.5659Z" fill="#252E37"></path><path d="M52.582 22.8512C49.4336 22.8512 47.3618 20.6372 47.3618 17.306C47.3618 13.9748 49.4336 11.7607 52.6633 11.7607C55.2632 11.7607 57.1726 13.3248 57.3351 15.6404H55.3038C55.0601 14.2388 53.9835 13.5076 52.6023 13.5076C50.6117 13.5076 49.4945 15.031 49.4945 17.3263C49.4945 19.7435 50.7133 21.1044 52.582 21.1044C54.146 21.1044 55.182 20.1903 55.3445 18.8294H57.3757C57.2132 21.2669 55.2632 22.8512 52.582 22.8512Z" fill="#252E37"></path><path d="M39.3715 22.8513C36.7512 22.8513 34.984 20.881 34.984 17.2857C34.984 13.6905 36.7512 11.7405 39.3715 11.7405C41.1792 11.7405 42.5199 12.6545 43.0277 14.0358H43.1495L43.2308 11.9233H45.2417V22.6685H43.1495V20.5357H43.0277C42.5199 21.9169 41.1792 22.8513 39.3715 22.8513ZM40.1027 21.1247C42.0933 21.1247 43.1292 19.5607 43.1292 17.8951V16.6764C43.1292 15.0311 42.0933 13.4467 40.1027 13.4467C38.3152 13.4467 37.1371 14.7467 37.1371 17.2857C37.1371 19.8044 38.3152 21.1247 40.1027 21.1247Z" fill="#252E37"></path></svg></a></div><nav role="navigation" class="navbar_menu is-page-height-tablet w-nav-menu"><div class="navbar_links"><div data-hover="true" data-delay="0" data-w-id="ad3a9533-412f-b062-f6ff-538ce6d04617" class="navbar_dropdown w-dropdown"><div class="navbar-dropdown_toggle w-dropdown-toggle"><div>Products</div><div class="navbar-dropdown_icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div><nav class="nav_dropdown-list _1 w-dropdown-list"><div class="nav-dropdown_content smaller"><div class="nav-dropdown_content-left"><a href="/curated-catalog" class="nav-dropdown_main w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28ab54f3ba03dbe7f57d30_nav-catalog.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div><p>Curated Catalog</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div><p>Your secure open source foundation</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="center" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></a><a href="/activestate-library" class="nav-dropdown_main w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28ab57c412067b98f4ccd3_nav-library.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div><p>Library</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div><p>79M+ components</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="center" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></a></div><div class="nav-dropdown_content-right"><a href="/integrations" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28ab59974dff5c6ff5f202_nav-integrations.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Integrations</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/supported-languages" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28ab5bd3cfb8b09ef519a5_Check%20icon.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Supported Languages</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/secure-containers" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28ab555e2da98d73d2d1e1_nav-container.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Containers</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="tiny" class="spacer w-variant-46f35bc5-fb79-b0da-747d-2377747f4166"></div></div></a></div></div></nav></div><div data-hover="true" data-delay="0" class="navbar_dropdown w-dropdown"><div class="navbar-dropdown_toggle w-dropdown-toggle"><div>Solutions</div><div class="navbar-dropdown_icon">
3096<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div><nav class="nav_dropdown-list w-dropdown-list"><div class="nav-dropdown_content"><div class="nav-dropdown_content-left stacked"><div class="nav-allcaps">Solutions</div><a href="/for-security-teams" class="nav-dropdown-link w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28af12c412067b98f61c5f_solutions-security.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>For Security Teams</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="tiny" class="spacer w-variant-46f35bc5-fb79-b0da-747d-2377747f4166"></div><div><p>Open Source Security for CISOs & Teams</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/for-engineering-teams" class="nav-dropdown-link w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28af12db3bcf2b6048c1e1_solutions-engineering.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>For Engineering Leaders</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="tiny" class="spacer w-variant-46f35bc5-fb79-b0da-747d-2377747f4166"></div><div><p>Open Source Management for Engineering Leaders</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/for-developers" class="nav-dropdown-link w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28af12f7b8ea3bb9b5c617_solutions-developers.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>For Developers</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="tiny" class="spacer w-variant-46f35bc5-fb79-b0da-747d-2377747f4166"></div><div><p>Secure Open Source for Developers</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a></div><div class="nav-dropdown_content-left stacked"><div class="nav-allcaps">use cases</div><a href="/vulnerability-management" class="nav-dropdown-link w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28af125e2da98d73d3d3eb_use-case-vulnerability.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Vulnerability Management</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="tiny" class="spacer w-variant-46f35bc5-fb79-b0da-747d-2377747f4166"></div><div><p>Open Source Vulnerability Management</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/software-supply-chain-security" class="nav-dropdown-link w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28af120d58e0146ad1d299_use-case-supply-chain.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Supply Chain Security</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="tiny" class="spacer w-variant-46f35bc5-fb79-b0da-747d-2377747f4166"></div><div><p>Software Supply Chain Security</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/compliance-sbom" class="nav-dropdown-link w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28af125b93f9f574f05490_use-case-compliance.png" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28af125b93f9f574f05490_use-case-compliance-p-500.png 500w, https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28af125b93f9f574f05490_use-case-compliance.png 628w" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Compliance &Â SBOM</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="tiny" class="spacer w-variant-46f35bc5-fb79-b0da-747d-2377747f4166"></div><div><p>Open Source Compliance and SBOM Generation</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a></div></div></nav></div><div data-hover="true" data-delay="0" class="navbar_dropdown w-dropdown"><div class="navbar-dropdown_toggle w-dropdown-toggle"><div>Resources</div><div class="navbar-dropdown_icon">
3096<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div><nav class="nav_dropdown-list w-dropdown-list"><div class="nav-dropdown_content smaller"><div class="nav-dropdown_content-left"><a href="/blog/the-state-of-vulnerability-management-remediation-report-2026" class="featured-post_card w-inline-block"><div class="featured-post_card-img-wrapper"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b2c9dde66eca7ab23d53_The-2026-State-of-Vulnerability-Management-Remediation-Container-Edition.webp" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b2c9dde66eca7ab23d53_The-2026-State-of-Vulnerability-Management-Remediation-Container-Edition-p-500.webp 500w, https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b2c9dde66eca7ab23d53_The-2026-State-of-Vulnerability-Management-Remediation-Container-Edition-p-800.webp 800w, https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b2c9dde66eca7ab23d53_The-2026-State-of-Vulnerability-Management-Remediation-Container-Edition-p-1080.webp 1080w, https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b2c9dde66eca7ab23d53_The-2026-State-of-Vulnerability-Management-Remediation-Container-Edition.webp 1440w" alt="" class="featured-card_main-img"/></div><div class="featured-card_main-heading"><div><h3>The 2026 State of Vulnerability Management & Remediation</h3><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-regular" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div><div class="featured-card_main-bottom nav"><div><p>Read the article</p><div data-wf--utility-text-weight--variant="semibold" class="hide"></div><div data-wf--utility-text-color--variant="brand" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div class="icon-1x1-small"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 20 20" fill="none" class="icon"><path d="M4.16602 9.99984H15.8327M9.99935 15.8332L15.8327 9.99984L9.99935 4.1665" stroke="currentColor" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div></a></div><div class="nav-dropdown_content-left stacked"><a href="/resources/blog" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b1f50f38383998bf481b_resources-blog.png" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b1f50f38383998bf481b_resources-blog-p-500.png 500w, https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b1f50f38383998bf481b_resources-blog.png 663w" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Blog</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/resources/academy" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b1f5f7b8ea3bb9b668a8_resources-academy.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Academy</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="https://docs.activestate.com/" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b1f5e2c01e60cce79c03_resources-docs.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Docs</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="https://trust.activestate.com/" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b1f62138ca0b906b12f0_resources-trust-center.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Trust Center</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/resources/roi-calculator" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><svg viewBox="0 0 24 24" width="100%" fill="none" class="nav-dropdown-icon"><rect x="4" y="2" width="16" height="20" rx="3" fill="#1677D9"></rect><rect x="7" y="5" width="10" height="3.5" rx="1" fill="#ffffff"></rect><rect x="7" y="10" width="2" height="2" rx="0.5" fill="#ffffff"></rect><rect x="11" y="10" width="2" height="2" rx="0.5" fill="#ffffff"></rect><rect x="15" y="10" width="2" height="2" rx="0.5" fill="#ffffff"></rect><rect x="7" y="14" width="2" height="2" rx="0.5" fill="#ffffff"></rect><rect x="11" y="14" width="2" height="2" rx="0.5" fill="#ffffff"></rect><rect x="15" y="14" width="2" height="2" rx="0.5" fill="#ffffff"></rect><rect x="7" y="18" width="2" height="2" rx="0.5" fill="#ffffff"></rect><rect x="11" y="18" width="2" height="2" rx="0.5" fill="#ffffff"></rect><rect x="15" y="18" width="2" height="2" rx="0.5" fill="#ffffff"></rect></svg></div><div class="nav-dropdown_link-text"><div><p>ROI Calculator</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/resources" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b1f556b116ef439c884c_resources-all.png" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b1f556b116ef439c884c_resources-all-p-500.png 500w, https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b1f556b116ef439c884c_resources-all.png 609w" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>View all Resources</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a></div></div></nav></div><div data-hover="true" data-delay="0" class="navbar_dropdown w-dropdown"><div class="navbar-dropdown_toggle w-dropdown-toggle"><div>Integrations</div><div class="navbar-dropdown_icon">
3096<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div><nav class="nav_dropdown-list w-dropdown-list"><div class="nav-dropdown_content smaller"><div class="nav-dropdown_content-left stacked"><a href="/platform/integrations/jfrog-artifactory" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a1dd9ad809fb7990e9b9bfe_jfrog-logo.png" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a1dd9ad809fb7990e9b9bfe_jfrog-logo-p-500.png 500w, https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a1dd9ad809fb7990e9b9bfe_jfrog-logo.png 801w" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>JFrog Artifactory</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/platform/integrations/sonatype-nexus" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a1dda200b029de783b2b2a4_sonatype-nexus-logo.webp" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Sonatype Nexus</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/platform/integrations/kubernetes" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a1dda3a06f12f43d023ec11_Kubernetes_logo_without_workmark.svg" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Kubernetes</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/platform/integrations/cloudera" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a1dda7c8ce8c61b52663021_cloudera.webp" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a1dda7c8ce8c61b52663021_cloudera-p-500.webp 500w, https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a1dda7c8ce8c61b52663021_cloudera-p-800.webp 800w, https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a1dda7c8ce8c61b52663021_cloudera-p-1080.webp 1080w, https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a1dda7c8ce8c61b52663021_cloudera.webp 1207w" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Cloudera</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a></div><div class="nav-dropdown_content-left stacked"><a href="/platform/integrations/ci-cd-pipelines" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28af12c412067b98f61c5f_solutions-security.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>CI/CDÂ Pipelines</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/platform/integrations/ides" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28af12f7b8ea3bb9b5c617_solutions-developers.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>IDEs</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/platform/integrations/trivy" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b9d3e4aa6cd876823e37_Trivy%20(1).png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Trivy</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/platform/integrations/wiz" class="nav-dropdown-link small w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b9e85e2da98d73d68ec9_wiz-logo.png" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b9e85e2da98d73d68ec9_wiz-logo-p-500.png 500w, https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b9e85e2da98d73d68ec9_wiz-logo.png 707w" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Wiz</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a></div></div></nav></div><div data-hover="true" data-delay="0" class="navbar_dropdown w-dropdown"><div class="navbar-dropdown_toggle w-dropdown-toggle"><div>Company</div><div class="navbar-dropdown_icon">
3096<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div><nav class="nav_dropdown-list w-dropdown-list"><div class="nav-dropdown_content"><div class="nav-dropdown_content-left stacked"><a href="/company/about-us" class="nav-dropdown-link w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b5811e8a83e9bdc887ab_company-about.svg" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>About</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="tiny" class="spacer w-variant-46f35bc5-fb79-b0da-747d-2377747f4166"></div><div><p>Securing Open Source Since 1997</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/why-activestate" class="nav-dropdown-link w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28af120d58e0146ad1d299_use-case-supply-chain.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Why ActiveState</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="tiny" class="spacer w-variant-46f35bc5-fb79-b0da-747d-2377747f4166"></div><div><p>Trusted Open Source for the AI Coding Era</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/partners" class="nav-dropdown-link w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b58101ccf9fa6bf7e06b_company-partner.svg" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Partner with Us</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="tiny" class="spacer w-variant-46f35bc5-fb79-b0da-747d-2377747f4166"></div><div><p>Bring Secure Open Source to Your Customers</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a></div><div class="nav-dropdown_content-left stacked"><a href="/company/careers" class="nav-dropdown-link w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b5810f38383998c02518_company-careers.svg" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Careers</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="tiny" class="spacer w-variant-46f35bc5-fb79-b0da-747d-2377747f4166"></div><div><p>Be Part of a Diverse, Inclusive Team</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/company/newsroom" class="nav-dropdown-link w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b1f5e2c01e60cce79c03_resources-docs.png" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Press</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="tiny" class="spacer w-variant-46f35bc5-fb79-b0da-747d-2377747f4166"></div><div><p>ActiveState in the News</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="/company/contact-us" class="nav-dropdown-link w-inline-block"><div class="nav-dropdown_link-icon"><img src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a28b5815b93f9f574f1b4e6_company-contact.svg" loading="lazy" alt="" class="nav-dropdown-icon"/></div><div class="nav-dropdown_link-text"><div><p>Contact</p><div data-wf--utility-text-weight--variant="medium" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-small" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="tiny" class="spacer w-variant-46f35bc5-fb79-b0da-747d-2377747f4166"></div><div><p>Govern what AI introduces.</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-tiny" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a></div></div></nav></div><a href="https://activestate.com/company/pricing" class="navbar_link">Pricing</a></div><div class="navbar_menu-links"><a href="https://www.activestate.com/company/contact-us-book-a-meeting" target="_blank" class="button w-inline-block"><div class="button_text">
3096Book a Call</div><div data-wf--button-style--variant="primary" class="hide"></div><div data-wf--button-size--variant="small" class="hide"></div><div data-wf--button-width--variant="base" class="hide"></div></a></div><div class="navbar_menu-buttons"><a href="https://platform.activestate.com/sign-in" target="_blank" class="button w-inline-block"><div class="button_text">Login</div><div data-wf--button-style--variant="primary" class="hide"></div><div data-wf--button-size--variant="small" class="hide"></div><div data-wf--button-width--variant="base" class="hide"></div></a></div></nav><div data-hover="true" data-delay="0" class="navbar_dropdown w-dropdown"><div class="navbar-dropdown_toggle w-dropdown-toggle"><div>Support</div><div class="navbar-dropdown_icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div><nav class="nav_dropdown-list basic w-dropdown-list"><a href="/support" class="nav-dropdown_link w-dropdown-link">Overview</a><a href="https://status.activestate.com/" target="_blank" class="nav-dropdown_link w-dropdown-link">Service Status</a></nav></div><div class="navbar_menu-button w-nav-button"><div class="menu-icon1"><div class="menu-icon1_line-top"></div><div class="menu-icon1_line-middle"><div class="menu-icon1_line-middle-inner"></div></div><div class="menu-icon1_line-bottom"></div></div></div></div></div></div></div><div class="main-wrapper"><section data-wf--0---section--variant="transparent" class="section_wrapper"><div data-wf--utility-border-radius--variant="none" class="hide"></div><div data-wf--utility-visibility--variant="base" class="hide"></div><div data-wf--padding-horizontal--variant="page-padding" class="padding_wrapper"><div class="padding"><div data-wf--container-width--variant="large" class="container-width_wrapper"><div class="container"><div data-wf--container-height--variant="base"><div class="content_height"><div data-wf--container-align--variant="left"><div class="content-align_slot"><div data-wf--component-max-width--variant="base" class="content-width_wrapper"><div class="content-width"><div data-wf--padding-vertical--variant="hero" class="section-padding w-variant-9bc43b75-ef88-b608-cc03-547efbdc32fd"></div><div class="component_slot"><section data-wf--0---section--variant="transparent" class="section_wrapper"><div data-wf--utility-border-radius--variant="none" class="hide"></div><div data-wf--utility-visibility--variant="base" class="hide"></div><div data-wf--padding-horizontal--variant="none" class="padding_wrapper"><div class="padding w-variant-9ae9bce7-8066-160e-ff10-eac90dd2a7a5"><div data-wf--container-width--variant="large" class="container-width_wrapper"><div class="container"><div data-wf--container-height--variant="base"><div class="content_height"><div data-wf--container-align--variant="center"><div class="content-align_slot w-variant-1ea32fb0-fa27-5f77-d941-fc897de038f9"><div data-wf--component-max-width--variant="large" class="content-width_wrapper"><div class="content-width w-variant-fcc8c809-a7ee-12dc-6da4-422697be1e2b"><div data-wf--padding-vertical--variant="none" class="section-padding w-variant-c249e49a-6134-1129-ace4-8fc88e1b7252"></div><div class="component_slot"><div data-wf--spacer--variant="small" class="spacer"></div><div><h1>Pricing for our Curated Catalog stays simple as your adoption grows</h1><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="center" class="hide"></div><div data-wf--utility-text-size--variant="h2" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="small" class="spacer"></div><div><p>ActiveState makes pricing simple and transparent. Your team is placed in a tier based on organization size. Every language you license is priced at your tier level, so adding a language is a budget line item you can plan for.</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-medium" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="medium" class="spacer w-variant-b83557a4-0cfd-2735-cea0-374489a03346"></div><div data-wf--button-group--variant="centered" class="button-group_wrapper"><div class="button-group w-variant-28045c7a-d103-e3f3-ce7a-71458dc88d31"><a href="https://www.activestate.com/company/contact-us-pricing" class="button w-inline-block"><div class="button_text">Get a quote for your organization</div><div data-wf--button-style--variant="primary" class="hide"></div><div data-wf--button-size--variant="base" class="hide"></div><div data-wf--button-width--variant="base" class="hide"></div></a></div></div></div><div data-wf--padding-vertical--variant="none" class="section-padding w-variant-c249e49a-6134-1129-ace4-8fc88e1b7252"></div></div></div></div></div></div></div></div></div></div></div></section></div><div data-wf--padding-vertical--variant="medium" class="section-padding w-variant-de6cb56c-802b-0ca7-5d1c-5ffea4b3737e"></div></div></div></div></div></div></div></div></div></div></div></section><section data-wf--0---section--variant="transparent" class="section_wrapper"><div data-wf--utility-border-radius--variant="none" class="hide"></div><div data-wf--utility-visibility--variant="base" class="hide"></div><div data-wf--padding-horizontal--variant="page-padding" class="padding_wrapper"><div class="padding"><div data-wf--container-width--variant="large" class="container-width_wrapper"><div class="container"><div data-wf--container-height--variant="base"><div class="content_height"><div data-wf--container-align--variant="left"><div class="content-align_slot"><div data-wf--component-max-width--variant="base" class="content-width_wrapper"><div class="content-width"><div data-wf--padding-vertical--variant="medium" class="section-padding w-variant-de6cb56c-802b-0ca7-5d1c-5ffea4b3737e"></div><div class="component_slot"><section data-wf--0---section--variant="transparent" class="section_wrapper"><div data-wf--utility-border-radius--variant="none" class="hide"></div><div data-wf--utility-visibility--variant="base" class="hide"></div><div data-wf--padding-horizontal--variant="none" class="padding_wrapper"><div class="padding w-variant-9ae9bce7-8066-160e-ff10-eac90dd2a7a5"><div data-wf--container-width--variant="large" class="container-width_wrapper"><div class="container"><div data-wf--container-height--variant="base"><div class="content_height"><div data-wf--container-align--variant="center"><div class="content-align_slot w-variant-1ea32fb0-fa27-5f77-d941-fc897de038f9"><div data-wf--component-max-width--variant="large" class="content-width_wrapper"><div class="content-width w-variant-fcc8c809-a7ee-12dc-6da4-422697be1e2b"><div data-wf--padding-vertical--variant="none" class="section-padding w-variant-c249e49a-6134-1129-ace4-8fc88e1b7252"></div><div class="component_slot"><div><h2>Why this matters</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="center" class="hide"></div><div data-wf--utility-text-size--variant="h3" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="small" class="spacer"></div><div><p>The majority of modern applications contain unverified open source, and regulators are now turning that exposure into a board-level accountability question. Most vendors require a sales conversation before you see a real number. We publish ours. Company size set
3096s your tier, every language in that tier costs the same rate, and the number doesn't move until your team grows.</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="base" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div><div data-wf--padding-vertical--variant="none" class="section-padding w-variant-c249e49a-6134-1129-ace4-8fc88e1b7252"></div></div></div></div></div></div></div></div></div></div></div></section></div><div data-wf--padding-vertical--variant="medium" class="section-padding w-variant-de6cb56c-802b-0ca7-5d1c-5ffea4b3737e"></div></div></div></div></div></div></div></div></div></div></div></section><section data-wf--0---section--variant="transparent" class="section_wrapper"><div data-wf--utility-border-radius--variant="none" class="hide"></div><div data-wf--utility-visibility--variant="base" class="hide"></div><div data-wf--padding-horizontal--variant="page-padding" class="padding_wrapper"><div class="padding"><div data-wf--container-width--variant="large" class="container-width_wrapper"><div class="container"><div data-wf--container-height--variant="base"><div class="content_height"><div data-wf--container-align--variant="left"><div class="content-align_slot"><div data-wf--component-max-width--variant="base" class="content-width_wrapper"><div class="content-width"><div data-wf--padding-vertical--variant="medium" class="section-padding w-variant-de6cb56c-802b-0ca7-5d1c-5ffea4b3737e"></div><div class="component_slot"><section data-wf--0---section--variant="transparent" class="section_wrapper"><div data-wf--utility-border-radius--variant="none" class="hide"></div><div data-wf--utility-visibility--variant="base" class="hide"></div><div data-wf--padding-horizontal--variant="page-padding" class="padding_wrapper"><div class="padding"><div data-wf--container-width--variant="large" class="container-width_wrapper"><div class="container"><div data-wf--container-height--variant="base"><div class="content_height"><div data-wf--container-align--variant="center"><div class="content-align_slot w-variant-1ea32fb0-fa27-5f77-d941-fc897de038f9"><div data-wf--component-max-width--variant="large" class="content-width_wrapper"><div class="content-width w-variant-fcc8c809-a7ee-12dc-6da4-422697be1e2b"><div data-wf--padding-vertical--variant="none" class="section-padding w-variant-c249e49a-6134-1129-ace4-8fc88e1b7252"></div><div class="component_slot"><div><h2>Built for both sides of the buying decision</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="center" class="hide"></div><div data-wf--utility-text-size--variant="h3" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div><div data-wf--padding-vertical--variant="none" class="section-padding w-variant-c249e49a-6134-1129-ace4-8fc88e1b7252"></div></div></div></div></div></div></div></div></div></div></div></section><div data-wf--spacer--variant="small" class="spacer"></div><div data-wf--layout-grid--variant="2up-square-centered" class="layout_wrapper"><div data-wf--utility-gap--variant="medium" class="hide"></div><div data-wf--utility-gap-mobile--variant="base" class="hide"></div><div data-wf--utility-height--variant="auto" class="hide"><div></div></div><div data-wf--utility-align--variant="base" class="hide"></div><div data-wf--utility-justify--variant="base" class="hide"></div><div data-wf--color-scheme--variant="transparent" class="hide"></div><div data-wf--utility-order-mobile--variant="inherit" class="hide"></div><div class="grid w-variant-493a4bf5-b2f1-1af9-2647-d1070ed5f0d2">
3096<a href="#" class="feature-card w-inline-block"><div class="feature-card_text-wrapper"><div class="feature-card_heading-wrapper"><div><h2>For security and compliance leaders</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="left" class="hide"></div><div data-wf--utility-text-size--variant="h4" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div><div><p>One number, fixed for the length of your contract. No mid-term surprises; you can plan with confidence.</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="left" class="hide"></div><div data-wf--utility-text-size--variant="base" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="#" class="feature-card w-inline-block"><div class="feature-card_text-wrapper"><div class="feature-card_heading-wrapper"><div><h2>For engineering leaders</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="left" class="hide"></div><div data-wf--utility-text-size--variant="h4" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div><div><p>Adding a language is a roadmap decision with a rate already set. Your team adopts a new ecosystem knowing the cost upfront.</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="left" class="hide"></div><div data-wf--utility-text-size--variant="base" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a></div></div><div data-wf--spacer--variant="small" class="spacer"></div><div data-wf--spacer--variant="small" class="spacer"></div><div data-wf--button-group--variant="centered" class="button-group_wrapper"><div class="button-group w-variant-28045c7a-d103-e3f3-ce7a-71458dc88d31"><a href="https://www.activestate.com/company/contact-us-pricing" class="button w-inline-block"><div class="button_text">Let's Talk</div><div data-wf--button-style--variant="primary" class="hide"></div><div data-wf--button-size--variant="base" class="hide"></div><div data-wf--button-width--variant="base" class="hide"></div></a></div></div></div><div data-wf--padding-vertical--variant="medium" class="section-padding w-variant-de6cb56c-802b-0ca7-5d1c-5ffea4b3737e"></div></div></div></div></div></div></div></div></div></div></div></section><section data-wf--0---section--variant="transparent" class="section_wrapper"><div data-wf--utility-border-radius--variant="none" class="hide"></div><div data-wf--utility-visibility--variant="base" class="hide"></div><div data-wf--padding-horizontal--variant="page-padding" class="padding_wrapper"><div class="padding"><div data-wf--container-width--variant="large" class="container-width_wrapper"><div class="container"><div data-wf--container-height--variant="base"><div class="content_height"><div data-wf--container-align--variant="center"><div class="content-align_slot w-variant-1ea32fb0-fa27-5f77-d941-fc897de038f9"><div data-wf--component-max-width--variant="base" class="content-width_wrapper"><div class="content-width"><div data-wf--padding-vertical--variant="medium" class="section-padding w-variant-de6cb56c-802b-0ca7-5d1c-5ffea4b3737e"></div><div class="component_slot"><div><h2>Pricing tiers</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="center" class="hide"></div><div data-wf--utility-text-size--variant="h3" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="small" class="spacer"></div><div data-wf--pricing-tier-table--variant="small"><div class="pricing-cards-row"><div class="pricing-card-1"><div class="pricing-card-title">SMB</div><div class="pricing-card-desc-1">
3096Start with one or two languages.</div><div class="pricing-card-divider"></div><div class="pricing-card-label">Size</div><div class="pricing-card-value"><<!-- --> 100 employees</div><div class="pricing-card-label">Per Language / Year</div><div class="pricing-card-price">$25,000</div></div><div class="pricing-card-1"><div class="pricing-card-title">Mid-Market</div><div class="pricing-card-desc-1">Already running multiple languages in production.</div><div class="pricing-card-divider"></div><div class="pricing-card-label">Size</div><div class="pricing-card-value">100â999 employees</div><div class="pricing-card-label">Per Language / Year</div><div class="pricing-card-price">$50,000</div></div><div class="pricing-card-1"><div class="pricing-card-title">Enterprise</div><div class="pricing-card-desc-1">Securing open source across multiple business units.</div><div class="pricing-card-divider"></div><div class="pricing-card-label">Size</div><div class="pricing-card-value">1,000+ employees</div><div class="pricing-card-label">Per Language / Year</div><div class="pricing-card-price">$150,000</div></div><div class="pricing-card-1"><div class="pricing-card-title">Enterprise+</div><div class="pricing-card-desc-1">For engineering orgs large enough that whole-catalog access is standard.</div><div class="pricing-card-divider"></div><div class="pricing-card-label">Size</div><div class="pricing-card-value">1,000+ developers</div><div class="pricing-card-label">Per Language / Year</div><a href="https://www.activestate.com/company/contact-us-pricing" class="pricing-card-cta">Talk to our team.</a></div></div></div></div><div data-wf--padding-vertical--variant="medium" class="section-padding w-variant-de6cb56c-802b-0ca7-5d1c-5ffea4b3737e"></div></div></div></div></div></div></div></div></div></div></div></section><section data-wf--0---section--variant="transparent" class="section_wrapper"><div data-wf--utility-border-radius--variant="none" class="hide"></div><div data-wf--utility-visibility--variant="base" class="hide"></div><div data-wf--padding-horizontal--variant="page-padding" class="padding_wrapper"><div class="padding"><div data-wf--container-width--variant="large" class="container-width_wrapper"><div class="container"><div data-wf--container-height--variant="base"><div class="content_height"><div data-wf--container-align--variant="center"><div class="content-align_slot w-variant-1ea32fb0-fa27-5f77-d941-fc897de038f9"><div data-wf--component-max-width--variant="large" class="content-width_wrapper"><div class="content-width w-variant-fcc8c809-a7ee-12dc-6da4-422697be1e2b"><div data-wf--padding-vertical--variant="medium" class="section-padding w-variant-de6cb56c-802b-0ca7-5d1c-5ffea4b3737e"></div><div class="component_slot"><div data-wf--spacer--variant="small" class="spacer"></div><div><h2>What's included in every tier</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="center" class="hide"></div><div data-wf--utility-text-size--variant="h3" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="small" class="spacer"></div><div><p>
3096Automatic SBOMs and SLSA Level 3 build provenance for every language you license, built from source and continuously remediated on a strict SLA: 5 days for Critical CVEs, 10 days for High CVEs, and 30 for all others.</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="center" class="hide"></div><div data-wf--utility-text-size--variant="base" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="small" class="spacer"></div><div data-wf--spacer--variant="small" class="spacer"></div><div data-wf--button-group--variant="centered" class="button-group_wrapper"><div class="button-group w-variant-28045c7a-d103-e3f3-ce7a-71458dc88d31"><a href="https://www.activestate.com/company/contact-us-pricing" class="button w-inline-block"><div class="button_text">Talk to an expert about per-language rollout</div><div data-wf--button-style--variant="primary" class="hide"></div><div data-wf--button-size--variant="base" class="hide"></div><div data-wf--button-width--variant="base" class="hide"></div></a></div></div></div><div data-wf--padding-vertical--variant="medium" class="section-padding w-variant-de6cb56c-802b-0ca7-5d1c-5ffea4b3737e"></div></div></div></div></div></div></div></div></div></div></div></section><section data-wf--0---section--variant="transparent" class="section_wrapper"><div data-wf--utility-border-radius--variant="none" class="hide"></div><div data-wf--utility-visibility--variant="base" class="hide"></div><div data-wf--padding-horizontal--variant="page-padding" class="padding_wrapper"><div class="padding"><div data-wf--container-width--variant="large" class="container-width_wrapper"><div class="container"><div data-wf--container-height--variant="base"><div class="content_height"><div data-wf--container-align--variant="center"><div class="content-align_slot w-variant-1ea32fb0-fa27-5f77-d941-fc897de038f9"><div data-wf--component-max-width--variant="base" class="content-width_wrapper"><div class="content-width"><div data-wf--padding-vertical--variant="medium" class="section-padding w-variant-de6cb56c-802b-0ca7-5d1c-5ffea4b3737e"></div><div class="component_slot"><div><h2>Adding languages and moving tiers</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="center" class="hide"></div><div data-wf--utility-text-size--variant="h3" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div data-wf--spacer--variant="small" class="spacer"></div><div data-wf--layout-grid--variant="3-column---even" class="layout_wrapper"><div data-wf--utility-gap--variant="medium" class="hide"></div><div data-wf--utility-gap-mobile--variant="base" class="hide"></div><div data-wf--utility-height--variant="auto" class="hide"><div></div></div><div data-wf--utility-align--variant="base" class="hide"></div><div data-wf--utility-justify--variant="base" class="hide"></div><div data-wf--color-scheme--variant="transparent" class="hide"></div><div data-wf--utility-order-mobile--variant="inherit" class="hide"></div><div class="grid w-variant-8ec507cb-a5bc-ea51-7605-a194ee072078"><a href="#" class="feature-card w-inline-block"><div class="feature-card_text-wrapper"><div class="feature-card_heading-wrapper"><div><h2>Add a language at any time.</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="left" class="hide"></div><div data-wf--utility-text-size--variant="h4" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div><div><p>Priced at your tier rate. Budgeting for a new ecosystem is transparent, with no unexpected costs.</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="left" class="hide"></div><div data-wf--utility-text-size--variant="base" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a>
3096<a href="#" class="feature-card w-inline-block"><div class="feature-card_text-wrapper"><div class="feature-card_heading-wrapper"><div><h2>Growing into Enterprise+.</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="left" class="hide"></div><div data-wf--utility-text-size--variant="h4" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div><div><p>Large engineering organizations can start with high-impact production languages and expand coverage as adoption grows. Talk to us about phased rollouts.</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="left" class="hide"></div><div data-wf--utility-text-size--variant="base" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a><a href="#" class="feature-card w-inline-block"><div class="feature-card_text-wrapper"><div class="feature-card_heading-wrapper"><div><h2>Need custom components?</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="left" class="hide"></div><div data-wf--utility-text-size--variant="h4" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div><div><p>Our team delivers custom components outside of the Catalog's scope. Talk to our team to discuss your needs.</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="left" class="hide"></div><div data-wf--utility-text-size--variant="base" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a></div></div><div data-wf--spacer--variant="small" class="spacer"></div><div data-wf--layout-grid--variant="2up-square-centered" class="layout_wrapper"><div data-wf--utility-gap--variant="medium" class="hide"></div><div data-wf--utility-gap-mobile--variant="base" class="hide"></div><div data-wf--utility-height--variant="auto" class="hide"><div></div></div><div data-wf--utility-align--variant="base" class="hide"></div><div data-wf--utility-justify--variant="base" class="hide"></div><div data-wf--color-scheme--variant="transparent" class="hide"></div><div data-wf--utility-order-mobile--variant="inherit" class="hide"></div><div class="grid w-variant-493a4bf5-b2f1-1af9-2647-d1070ed5f0d2"><a href="#" class="feature-card w-inline-block"><div class="feature-card_text-wrapper"><div class="feature-card_heading-wrapper"><div><h2>Need an OEM or distribution agreement?</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="left" class="hide"></div><div data-wf--utility-text-size--variant="h4" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div><div><p>These fall outside of our standard tier model. Talk to our team to scope an engagement built around your business.</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="left" class="hide"></div><div data-wf--utility-text-size--variant="base" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a>
3096<a href="#" class="feature-card w-inline-block"><div class="feature-card_text-wrapper"><div class="feature-card_heading-wrapper"><div><h2>Have complex integration or custom needs?</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="left" class="hide"></div><div data-wf--utility-text-size--variant="h4" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div><div><p>Organizations with unique technical requirements can work with our team via a tailored engagement agreement. Talk to us about what's possible.</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="left" class="hide"></div><div data-wf--utility-text-size--variant="base" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div></a></div></div><div data-wf--spacer--variant="small" class="spacer"></div><div data-wf--button-group--variant="centered" class="button-group_wrapper"><div class="button-group w-variant-28045c7a-d103-e3f3-ce7a-71458dc88d31"><a href="https://www.activestate.com/company/contact-us-pricing" class="button w-inline-block"><div class="button_text">Get a quote for your organization</div><div data-wf--button-style--variant="primary" class="hide"></div><div data-wf--button-size--variant="base" class="hide"></div><div data-wf--button-width--variant="base" class="hide"></div></a></div></div></div><div data-wf--padding-vertical--variant="medium" class="section-padding w-variant-de6cb56c-802b-0ca7-5d1c-5ffea4b3737e"></div></div></div></div></div></div></div></div></div></div></div></section><section data-wf--0---section--variant="transparent" class="section_wrapper"><div data-wf--utility-border-radius--variant="none" class="hide"></div><div data-wf--utility-visibility--variant="base" class="hide"></div><div data-wf--padding-horizontal--variant="page-padding" class="padding_wrapper"><div class="padding"><div data-wf--container-width--variant="large" class="container-width_wrapper"><div class="container"><div data-wf--container-height--variant="base"><div class="content_height"><div data-wf--container-align--variant="left"><div class="content-align_slot"><div data-wf--component-max-width--variant="base" class="content-width_wrapper"><div class="content-width"><div data-wf--padding-vertical--variant="medium" class="section-padding w-variant-de6cb56c-802b-0ca7-5d1c-5ffea4b3737e"></div><div class="component_slot"><div data-wf--layout-grid--variant="2-column---30-70" class="layout_wrapper"><div data-wf--utility-gap--variant="medium" class="hide"></div><div data-wf--utility-gap-mobile--variant="base" class="hide"></div><div data-wf--utility-height--variant="auto" class="hide"><div></div></div><div data-wf--utility-align--variant="base" class="hide"></div><div data-wf--utility-justify--variant="base" class="hide"></div><div data-wf--color-scheme--variant="transparent" class="hide"></div><div data-wf--utility-order-mobile--variant="inherit" class="hide"></div><div class="grid w-variant-62a3a494-53d0-55d9-6af1-352d0120f0e2"><div><h2>FAQs</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="base" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div class="faqs_component"><div class="hide"><div data-wf--cta-card--variant="base" class="card_cta"><div class="card_cta-content"><div><h3>Still have questions?</h3><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="h5" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="center" class="hide"></div></div><div><p>Talk to our team.</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="scheme" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="base" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div></div><div class="card_cta-button"><a href="/company/contact-us" class="button w-inline-block"><div class="button_text">Contact Support</div><div data-wf--button-style--variant="primary" class="hide"></div><div data-wf--button-size--variant="base" class="hide"></div><div data-wf--button-width--variant="base" class="hide"></div></a></div></div></div><div class="hide w-embed w-script">
3096<script> 3097window.Webflow ||= []; 3098window.Webflow.push(function () { 3099 var items = document.querySelectorAll('.faqs_item'); 3100 if (!items.length) return; 3101 3102 items.forEach(function (item) { 3103 var card = item.querySelector('.faq-item_card'); 3104 var answer = item.querySelector('.faq-item_answer'); 3105 var icon = item.querySelector('.faq-item_icon'); 3106 if (!card || !answer) return; 3107 3108 answer.style.overflow = 'hidden'; 3109 answer.style.height = '0px'; 3110 answer.style.transition = 'height 0.35s ease'; 3111 card.style.cursor = 'pointer'; 3112 3113 if (icon) { 3114 icon.style.transition = 'transform 0.35s ease'; 3115 icon.style.transformOrigin = 'center'; 3116 } 3117 3118 var isOpen = false; 3119 3120 card.addEventListener('click', function () { 3121 if (!isOpen) { 3122 answer.style.height = answer.scrollHeight + 'px'; 3123 if (icon) icon.style.transform = 'rotate(-45deg)'; 3124 isOpen = true; 3125 } else { 3126 // If currently at 'auto', snap to a pixel value so the transition to 0 has something to animate from. 3127 answer.style.height = answer.scrollHeight + 'px'; 3128 answer.offsetHeight; // force reflow 3129 answer.style.height = '0px'; 3130 if (icon) icon.style.transform = 'rotate(0deg)'; 3131 isOpen = false; 3132 } 3133 }); 3134 3135 answer.addEventListener('transitionend', function (e) { 3136 if (e.propertyName === 'height' && isOpen) { 3137 answer.style.height = 'auto'; 3138 } 3139 }); 3140 }); 3141}); 3142</script>
3142</div><div class="w-dyn-list"><div role="list" class="faqs_list w-dyn-items"><div role="listitem" class="faqs_item w-dyn-item"><div class="faq-item_card"><div class="faq-item_accordion"><div><h2>How does ActiveState price the Curated Catalog?</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-medium" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div class="faq-item_icon"><div class="icon-1x1-small"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><g opacity="0.6"><path d="M8.00004 3.33301V12.6663M3.33337 7.99967H12.6667" stroke="#535B62" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></g></svg></div></div></div><div class="faq-item_answer"><div data-wf--spacer--variant="small" class="spacer"></div><div class="text-rich-text w-richtext"><p>ActiveState prices the Curated Catalog by company size and language, not by component count. Customers are placed into one of four tiers based on employee count (or developer count for the largest tier), and every language costs the same flat rate within that tier.</p></div></div></div></div><div role="listitem" class="faqs_item w-dyn-item"><div class="faq-item_card"><div class="faq-item_accordion"><div><h2>How much does ActiveState's Curated Catalog cost?</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-medium" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div class="faq-item_icon"><div class="icon-1x1-small"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><g opacity="0.6"><path d="M8.00004 3.33301V12.6663M3.33337 7.99967H12.6667" stroke="#535B62" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></g></svg></div></div></div><div class="faq-item_answer"><div data-wf--spacer--variant="small" class="spacer"></div><div class="text-rich-text w-richtext"><p>Curated Catalog pricing starts at $25,000 per language per year for companies under 100 employees, rising to $50,000 for 100â999 employees and $150,000 for 1,000+ employees. Large organizations can license the entire catalog, with pricing scoped at contract.</p></div></div></div></div><div role="listitem" class="faqs_item w-dyn-item"><div class="faq-item_card"><div class="faq-item_accordion"><div><h2>Why is Curated Catalog pricing set by tier and language, rather than by component count?</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-medium" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div class="faq-item_icon"><div class="icon-1x1-small"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><g opacity="0.6"><path d="M8.00004 3.33301V12.6663M3.33337 7.99967H12.6667" stroke="#535B62" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></g></svg></div></div></div><div class="faq-item_answer"><div data-wf--spacer--variant="small" class="spacer"></div><div class="text-rich-text w-richtext"><p>Tier-and-language pricing sets the number from two facts a customer already knows: company size and which languages they run. There's no usage estimate to make up front and no component count to reconcile at renewal. The price is set by decisions the customer controls directly</p></div></div></div></div><div role="listitem" class="faqs_item w-dyn-item"><div class="faq-item_card"><div class="faq-item_accordion"><div><h2>What counts as a language for Curated Catalog pricing?</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-medium" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div class="faq-item_icon"><div class="icon-1x1-small">
3142<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><g opacity="0.6"><path d="M8.00004 3.33301V12.6663M3.33337 7.99967H12.6667" stroke="#535B62" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></g></svg></div></div></div><div class="faq-item_answer"><div data-wf--spacer--variant="small" class="spacer"></div><div class="text-rich-text w-richtext"><p>Each of ActiveState's supported language ecosystems is licensed and priced individually at the customer's tier rate. A customer using three language ecosystems licenses and pays for three, regardless of which specific languages they are.</p></div></div></div></div><div role="listitem" class="faqs_item w-dyn-item"><div class="faq-item_card"><div class="faq-item_accordion"><div><h2>Does ActiveState offer custom engagements beyond the standard tiers?</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-medium" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div class="faq-item_icon"><div class="icon-1x1-small"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><g opacity="0.6"><path d="M8.00004 3.33301V12.6663M3.33337 7.99967H12.6667" stroke="#535B62" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></g></svg></div></div></div><div class="faq-item_answer"><div data-wf--spacer--variant="small" class="spacer"></div><div class="text-rich-text w-richtext"><p>Yes. Organizations with OEM, embedded distribution, or complex custom solution needs work with our team on an engagement scoped to their specific requirements, separate from the standard per-language tier model. Talk to us to discuss your use case.</p></div></div></div></div><div role="listitem" class="faqs_item w-dyn-item"><div class="faq-item_card"><div class="faq-item_accordion"><div><h2>What happens when a CVE affects a component version outside ActiveState's active support window?</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-medium" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div class="faq-item_icon"><div class="icon-1x1-small"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><g opacity="0.6"><path d="M8.00004 3.33301V12.6663M3.33337 7.99967H12.6667" stroke="#535B62" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></g></svg></div></div></div><div class="faq-item_answer"><div data-wf--spacer--variant="small" class="spacer"></div><div class="text-rich-text w-richtext"><p>ActiveState actively supports every version of a component up to, but not including, that component's end-of-life release, with full CVE response and SLA coverage for the entire supported range. Once a version reaches end of life, continued support is available through a custom EOL support agreement; customers should talk to their ActiveState representative before that transition. Most language ecosystems publish EOL dates well ahead of time, often years in advance, so organizations typically have significant lead time to plan an upgrade before support ends.</p></div></div></div></div><div role="listitem" class="faqs_item w-dyn-item"><div class="faq-item_card"><div class="faq-item_accordion"><div><h2>Does ActiveState's Curated Catalog pricing change during the contract term?</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-medium" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div class="faq-item_icon"><div class="icon-1x1-small">
3142<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><g opacity="0.6"><path d="M8.00004 3.33301V12.6663M3.33337 7.99967H12.6667" stroke="#535B62" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></g></svg></div></div></div><div class="faq-item_answer"><div data-wf--spacer--variant="small" class="spacer"></div><div class="text-rich-text w-richtext"><p>No, ActiveState's per-language rate is fixed for the full contract term. The rate only changes at renewal, and only if the customer moves to a new size tier or adds languages.</p></div></div></div></div><div role="listitem" class="faqs_item w-dyn-item"><div class="faq-item_card"><div class="faq-item_accordion"><div><h2>Does ActiveState offer multi-year contract terms for the Curated Catalog?</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-medium" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div class="faq-item_icon"><div class="icon-1x1-small"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><g opacity="0.6"><path d="M8.00004 3.33301V12.6663M3.33337 7.99967H12.6667" stroke="#535B62" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></g></svg></div></div></div><div class="faq-item_answer"><div data-wf--spacer--variant="small" class="spacer"></div><div class="text-rich-text w-richtext"><p>Yes, ActiveState offers discounted multi-year agreements at every pricing tier for the Curated Catalog.</p></div></div></div></div><div role="listitem" class="faqs_item w-dyn-item"><div class="faq-item_card"><div class="faq-item_accordion"><div><h2>What support level does ActiveState include with Curated Catalog?</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-medium" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div class="faq-item_icon"><div class="icon-1x1-small"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><g opacity="0.6"><path d="M8.00004 3.33301V12.6663M3.33337 7.99967H12.6667" stroke="#535B62" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></g></svg></div></div></div><div class="faq-item_answer"><div data-wf--spacer--variant="small" class="spacer"></div><div class="text-rich-text w-richtext"><p>ActiveState includes the same support level across every Curated Catalog tier, with no tier-gated support features. Every component in the catalog carries an active CVE remediation SLA of 5 days for critical vulnerabilities, 10 days for high, and 30 days for all others. Curated Catalog customers receive a named account contact and account team from onboarding through renewal, structured onboarding that integrates components into existing package managers, pipelines, and repositories, and ongoing access to the ActiveState Portal for catalog visibility, automatic SBOMs, and version tracking. Components requiring maintenance outside the standard support window are available through special component maintenance, priced as custom work.</p></div></div></div></div><div role="listitem" class="faqs_item w-dyn-item"><div class="faq-item_card"><div class="faq-item_accordion"><div><h2>
3142Does Curated Catalog pricing apply to ActiveState Platform Enterprise or Business Tier License Subscriptions or affect my existing contract?</h2><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="primary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="text-medium" class="hide"></div><div data-wf--utility-font--variant="heading" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-text-size-mobile--variant="base"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div class="faq-item_icon"><div class="icon-1x1-small"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon"><g opacity="0.6"><path d="M8.00004 3.33301V12.6663M3.33337 7.99967H12.6667" stroke="#535B62" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></g></svg></div></div></div><div class="faq-item_answer"><div data-wf--spacer--variant="small" class="spacer"></div><div class="text-rich-text w-richtext"><p>No. The Curated Catalog pricing model does not apply to existing ActiveState Platform Enterprise or Business Tier license subscriptions. Legacy platform licensing agreements are unaffected, and current customers continue under their existing contract terms through the end of their term.</p><p>For pricing information on ActiveState Platform Enterprise or Business Tier License Subscriptions, contact your account representative / sales team.</p></div></div></div></div></div></div></div></div></div></div><div data-wf--padding-vertical--variant="none" class="section-padding w-variant-c249e49a-6134-1129-ace4-8fc88e1b7252"></div></div></div></div></div></div></div></div></div></div></div></section></div><footer class="footer"><div class="padding-global"><div class="container-large"><div class="footer_component"><div class="footer_top"><div class="footer-top_left"><div class="footer-info_wrapper"><a href="/" class="footer-info_logo-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 213 48" fill="none" class="footer-info_logo"><g clip-path="url(#clip0_14_3157)"><path d="M12.5641 21.0826V23.8943H12.5655V28.906C12.5655 30.2009 13.2619 31.4072 14.383 32.055L16.2899 33.1571L18.7249 31.7515L15.6019 29.9467C15.2315 29.7327 15.0012 29.3341 15.0012 28.906V23.8246V19.6763L15.0005 9.46297C15.0005 9.14186 15.1259 8.83977 15.3526 8.61303C15.5794 8.38628 15.8815 8.26094 16.2026 8.26094H26.1166C26.7793 8.26094 27.3187 8.80034 27.3187 9.46297V16.8624L29.7544 18.2687V9.46226C29.753 7.45677 28.1214 5.8252 26.1159 5.8252H16.2019C15.2301 5.8252 14.3168 6.20334 13.6295 6.89061C12.9422 7.57789 12.5641 8.4912 12.5641 9.46297L12.5655 21.0819H12.5648L12.5641 21.0826Z" fill="#0A68C6"></path><path d="M23.5915 34.5645L27.9362 32.0562C29.058 31.4083 29.7551 30.2014 29.7551 28.9057V26.7101L27.3194 25.3038V28.9057C27.3194 29.3338 27.0891 29.7331 26.7187 29.9472L22.5676 32.3435V32.3449L17.1574 35.4686V35.4672L9.86145 39.6789C9.5833 39.8394 9.25938 39.8817 8.94954 39.7993C8.639 39.7162 8.37987 39.5176 8.21931 39.2395L3.26262 30.6542C2.93096 30.0803 3.12883 29.343 3.70273 29.012L10.1304 25.301V22.4893L2.48521 26.903C0.748013 27.9058 0.150873 30.1345 1.15362 31.8717L6.11031 40.457C6.59619 41.2985 7.38064 41.9006 8.31931 42.1519C8.63267 42.2357 8.95095 42.2773 9.26642 42.2773C9.89666 42.2773 10.5192 42.1118 11.079 41.7886L21.1571 35.97L23.5922 34.5645H23.5915Z" fill="#0A68C6"></path><path d="M39.8192 26.9026L29.7537 21.0854V21.0805L27.318 19.6742V19.6777L22.9788 17.1702C22.4176 16.8456 21.7881 16.6836 21.1593 16.6836C20.5304 16.6836 19.9016 16.8456 19.3404 17.1695L17.4349 18.2694V21.0812L20.5579 19.2778C20.929 19.0637 21.3895 19.0637 21.7606 19.2778L27.318 22.4895L32.2134 25.3168V25.3182L38.6003 29.0095C39.1742 29.3411 39.3713 30.0777 39.0397 30.6516L34.083 39.2376C33.9224 39.5158 33.6633 39.7151 33.3528 39.7974C33.0422 39.8805 32.7183 39.8376 32.4401 39.677L26.0251 35.9695L23.5901 37.3751L31.2219 41.7853C32.0634 42.2712 33.0436 42.4008 33.9823 42.1494C34.921 41.898 35.7061 41.2959 36.192 40.4544L41.1487 31.8684C42.1514 30.1319 41.5543 27.9032 39.8185 26.9005L39.8192 26.9026Z" fill="#0A68C6"></path><path d="M200.977 34.2764C196.224 34.2764 193.482 31.0162 193.482 26.0194C193.482 20.9007 196.254 17.6406 200.885 17.6406C205.974 17.6406 208.411 21.3273 208.015 26.5679H196.559C196.589 30.1022 198.326 31.8694 200.977 31.8694C203.11 31.8694 204.572 30.742 204.938 29.0663H207.924C207.497 32.3264 204.663 34.2764 200.977 34.2764ZM200.885 20.0476C198.417 20.0476 196.833 21.571 196.589 24.4351H204.938C204.846 21.3882 203.201 20.0476 200.885 20.0476Z" fill="#252E37"></path><path d="M188.676 34.0025C186.025 34.0025 185.202 32.8142 185.202 30.651V20.444H182.156V17.8847H185.202V13.223L188.341 12.8574V17.8847H191.905V20.444H188.341V30.0721C188.341 31.1385 188.706 31.4127 189.712 31.4127H191.905V34.0025H188.676Z" fill="#252E37"></path><path d="M170.874 34.2766C166.943 34.2766 164.293 31.3211 164.293 25.9282C164.293 20.5353 166.943 17.6104 170.874 17.6104C173.585 17.6104 175.596 18.9814 176.358 21.0533H176.541L176.663 17.8846H179.679V34.0023H176.541V30.8032H176.358C175.596 32.875 173.585 34.2766 170.874 34.2766ZM171.971 31.6867C174.957 31.6867 176.51 29.3407 176.51 26.8423V25.0142C176.51 22.5462 174.957 20.1697 171.971 20.1697C169.289 20.1697 167.522 22.1197 167.522 25.9282C167.522 29.7063 169.289 31.6867 171.971 31.6867Z" fill="#252E37"></path><path d="M159.487 34.0025C156.836 34.0025 156.014 32.8142 156.014 30.651V20.444H152.967V17.8847H156.014V13.223L159.152 12.8574V17.8847H162.717V20.444H159.152V30.0721C159.152 31.1385 159.517 31.4127 160.523 31.4127H162.717V34.0025H159.487Z" fill="#252E37"></path><path d="M144.932 34.3072C140.696 34.3072 138.168 32.144 138.168 28.9448H141.275C141.275 31.0471 142.799 32.0221 144.993 32.0221C147.217 32.0221 148.405 31.1385 148.405 29.6456C148.405 27.9698 147.339 27.5128 144.657 27.1167C140.605 26.5378 138.594 25.4714 138.594 22.455C138.594 19.5301 141.154 17.5801 144.962 17.5801C148.832 17.5801 151.208 19.5605 151.269 22.6378H148.192C148.161 20.6879 146.882 19.8957 144.901 19.8957C142.921 19.8957 141.732 20.7793 141.732 22.1503C141.732 23.7347 142.951 24.2222 145.785 24.6183C149.532 25.1362 151.574 26.2026 151.574 29.3713C151.574 32.5401 148.923 34.3
3142072 144.932 34.3072Z" fill="#252E37"></path><path d="M128.971 34.2764C124.218 34.2764 121.476 31.0162 121.476 26.0194C121.476 20.9007 124.249 17.6406 128.88 17.6406C133.968 17.6406 136.406 21.3273 136.01 26.5679H124.554C124.584 30.1022 126.321 31.8694 128.971 31.8694C131.104 31.8694 132.567 30.742 132.932 29.0663H135.918C135.492 32.3264 132.658 34.2764 128.971 34.2764ZM128.88 20.0476C126.412 20.0476 124.828 21.571 124.584 24.4351H132.932C132.841 21.3882 131.196 20.0476 128.88 20.0476Z" fill="#252E37"></path><path d="M111.2 34.0025L105.411 17.8848H108.793L112.022 27.8175L113.058 31.2909H113.18L114.155 27.8175L117.385 17.8848H120.767L115.039 34.0025H111.2Z" fill="#252E37"></path><path d="M100.198 15.4168V11.791H103.336V15.4168H100.198ZM100.198 34.0025V17.8847H103.336V34.0025H100.198Z" fill="#252E37"></path><path d="M93.849 34.0025C91.1982 34.0025 90.3756 32.8142 90.3756 30.651V20.444H87.3287V17.8847H90.3756V13.223L93.5138 12.8574V17.8847H97.0786V20.444H93.5138V30.0721C93.5138 31.1385 93.8794 31.4127 94.8849 31.4127H97.0786V34.0025H93.849Z" fill="#252E37"></path><path d="M78.873 34.2764C74.1504 34.2764 71.0427 30.9553 71.0427 25.9585C71.0427 20.9617 74.1504 17.6406 78.9949 17.6406C82.8949 17.6406 85.7589 19.9867 86.0026 23.4601H82.9558C82.5902 21.3578 80.9754 20.2609 78.9035 20.2609C75.9176 20.2609 74.2418 22.546 74.2418 25.989C74.2418 29.6147 76.0699 31.6561 78.873 31.6561C81.2191 31.6561 82.773 30.285 83.0167 28.2436H86.0636C85.8198 31.8998 82.8949 34.2764 78.873 34.2764Z" fill="#252E37"></path><path d="M59.0572 34.2766C55.1268 34.2766 52.476 31.3211 52.476 25.9282C52.476 20.5353 55.1268 17.6104 59.0572 17.6104C61.7689 17.6104 63.7798 18.9814 64.5415 21.0533H64.7243L64.8462 17.8846H67.8625V34.0023H64.7243V30.8032H64.5415C63.7798 32.875 61.7689 34.2766 59.0572 34.2766ZM60.154 31.6867C63.1399 31.6867 64.6938 29.3407 64.6938 26.8423V25.0142C64.6938 22.5462 63.1399 20.1697 60.154 20.1697C57.4728 20.1697 55.7057 22.1197 55.7057 25.9282C55.7057 29.7063 57.4728 31.6867 60.154 31.6867Z" fill="#252E37"></path></g><defs><clippath id="clip0_14_3157"><rect width="208.5" height="38.1015" fill="white" transform="translate(0 4.94922)"></rect></clippath></defs></svg></a><div><p>Vetted, secure open source components built from source, remediated continuously, and delivered through your existing tools.</p><div data-wf--utility-text-weight--variant="default" class="hide"></div><div data-wf--utility-text-color--variant="secondary" class="hide"></div><div data-wf--utility-text-align--variant="base" class="hide"></div><div data-wf--utility-text-size--variant="base" class="hide"></div><div data-wf--utility-max-width--variant="base" class="hide"></div><div data-wf--utility-font--variant="body" class="hide"></div><div data-wf--utility-text-align-mobile--variant="inherit" class="hide"></div></div><div class="footer-info_social-links"><a href="https://www.linkedin.com/company/activestate/" target="_blank" class="footer_social-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24" fill="none" class="icon"><g clip-path="url(#clip0_14_3178)"><path d="M22.2234 0H1.77187C0.792187 0 0 0.773438 0 1.72969V22.2656C0 23.2219 0.792187 24 1.77187 24H22.2234C23.2031 24 24 23.2219 24 22.2703V1.72969C24 0.773438 23.2031 0 22.2234 0ZM7.12031 20.4516H3.55781V8.99531H7.12031V20.4516ZM5.33906 7.43438C4.19531 7.43438 3.27188 6.51094 3.27188 5.37187C3.27188 4.23281 4.19531 3.30937 5.33906 3.30937C6.47813 3.30937 7.40156 4.23281 7.40156 5.37187C7.40156 6.50625 6.47813 7.43438 5.33906 7.43438ZM20.4516 20.4516H16.8937V14.8828C16.8937 13.5562 16.8703 11.8453 15.0422 11.8453C13.1906 11.8453 12.9094 13.2937 12.9094 14.7891V20.4516H9.35625V8.99531H12.7687V10.5609H12.8156C13.2891 9.66094 14.4516 8.70938 16.1813 8.70938C19.7859 8.70938 20.4516 11.0813 20.4516 14.1656V20.4516Z" fill="currentColor"></path></g><defs><clippath id="clip0_14_3178"><rect width="24" height="24" fill="currentColor"></rect></clippath></defs></svg></a><a href="https://www.youtube.com/@activestate/videos" target="_blank" class="footer_social-link w-inline-block">
3142<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 461 461" fill="none" class="icon"><path d="M365.257 67.3931H95.744C42.866 67.3931 0 110.259 0 163.137V297.865C0 350.743 42.866 393.609 95.744 393.609H365.257C418.135 393.609 461.001 350.743 461.001 297.865V163.137C461.001 110.259 418.135 67.3931 365.257 67.3931ZM300.506 237.056L174.446 297.179C171.087 298.781 167.207 296.332 167.207 292.611V168.607C167.207 164.833 171.189 162.387 174.555 164.093L300.615 227.974C304.363 229.873 304.298 235.248 300.506 237.056Z" fill="currentColor"></path></svg></a><a href="https://substack.com/@activestate1" target="_blank" class="footer_social-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24" fill="none" class="icon"><path d="M3 1H21V3.32525H3V1Z" fill="currentColor"></path><path d="M3 5.65088H21V7.97611H3V5.65088Z" fill="currentColor"></path><path d="M3 10.3013V22.6465L12 16.6925L21 22.6465V10.3013H3Z" fill="currentColor"></path></svg></a><a href="https://medium.com/governed-at-the-source" target="_blank" class="footer_social-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 800 800" fill="none" class="icon"><path d="M225.628 171.875C350.239 171.875 451.248 273.589 451.248 399.051C451.248 524.513 350.231 626.22 225.628 626.22C101.024 626.22 0 524.513 0 399.051C0 273.589 101.017 171.875 225.628 171.875ZM585.939 185.182C648.245 185.182 698.753 280.925 698.753 399.051H698.761C698.761 517.147 648.253 612.92 585.947 612.92C523.642 612.92 473.133 517.147 473.133 399.051C473.133 280.956 523.634 185.182 585.939 185.182ZM760.323 207.458C782.231 207.458 800 293.236 800 399.051C800 504.836 782.239 590.644 760.323 590.644C738.407 590.644 720.654 504.859 720.654 399.051C720.654 293.244 738.415 207.458 760.323 207.458Z" fill="currentColor"></path></svg></a><a href="https://substack.com/@activestate1" target="_blank" class="footer_social-link w-inline-block"></a></div></div><div class="footer_compliance"><img loading="lazy" src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a10aeb1e10df04aed1265a2_footer-badge2.png" alt="" class="footer-badge_logo"/><div class="footer-compliance_line"></div><img sizes="(max-width: 975px) 100vw, 975px" srcset="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a10bd860a22dc4546881b0d_source-component-badge-p-500.webp 500w, https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a10bd860a22dc4546881b0d_source-component-badge-p-800.webp 800w, https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a10bd860a22dc4546881b0d_source-component-badge.webp 975w" alt="" src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a10bd860a22dc4546881b0d_source-component-badge.webp" loading="lazy" class="footer-badge_logo"/><div class="footer-compliance_line"></div><img loading="lazy" src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a26ab4335a49d638d2c9d06_GDPR-badge-300x300.webp" alt="" class="footer-badge_logo"/><div class="footer-compliance_line"></div><img loading="lazy" src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/6a10aeb14ec0843006d79f4e_footer-badge1.png" alt="" class="footer-badge_logo"/></div></div><div class="footer-top_right"><div class="footer-top_column"><div class="footer-column_heading">Product</div><div class="footer-column_links"><a href="/activestate-library" class="footer-link">ActiveState Library</a><a href="/curated-catalog" class="footer-link">Curated Catalog</a><a href="/secure-containers" class="footer-link">Secure Containers</a></div></div><div class="footer-top_column"><div class="footer-column_heading">Solutions</div><div class="footer-column_links"><a href="/for-security-teams" class="footer-link">For Security Teams</a><a href="/for-engineering-teams" class="footer-link">For Engineering Leaders</a><a href="/for-developers" class="footer-link">For Developers</a></div></div><div class="footer-top_column"><div class="footer-column_heading">Use Cases</div><div class="footer-column_links"><a href="/vulnerability-management" class="footer-link">Vulnerability Management</a><a href="/software-supply-chain-security" class="footer-link">Supply Chain Security</a><a href="/compliance-sbom" class="footer-link">Compliance & SBOM</a></div></div><div class="footer-top_column"><div class="footer-column_heading">Languages</div><div class="footer-column_links is-languages"><a href="/platform/supported-languages/python" class="footer-link">Python</a><a href="/platform/supported-languages/java" class="footer-link">Java</a><a href="/platform/supported-languages/javascript" class="footer-link">JavaScript</a><a href="/platform/supported-languages/go" class="footer-link">Go</a><a href="/platform/supported-languages/r" class="footer-link">R</a><a href="/platform/supported-languages/c" class="footer-link">C / C++</a><a href="/platform/supported-languages/rust" class="footer-link">Rust</a><a href="/platform/supported-languages/net" class="footer-link">.NET</a><a href="/perl" class="footer-link">Perl</a><a href="/platform/supported-languages/legacy-languages" class="footer-link">Legacy Languages</a><a href="/supported-languages" class="footer-link">Supported Languages</a></div></div><div class="footer-top_column"><div class="footer-column_heading">Integrations</div><div class="footer-column_links"><a href="/platform/integrations/jfrog-artifactory" class="footer-link">JFrog Artifactory</a><a href="/platform/integrations/sonatype-nexus" class="footer-link">Sonatype Nexus</a><a href="/platform/integrations/kubernetes" class="footer-link">Kubernetes</a><a href="/platform/integrations/cloudera" class="footer-link">Cloudera</a><a href="/platform/integrations/ci-cd-pipelines" class="footer-link">CI/CD Pipelines</a><a href="/platform/integrations/ides" class="footer-link">IDEs</a><a href="/platform/integrations/trivy" class="footer-link">Trivy</a><a href="/platform/integrations/wiz" class="footer-link">Wiz</a></div></div><div class="footer-top_column"><div class="footer-column_heading">Company</div><div class="footer-column_links"><a href="/company/about-us" class="footer-link">About</a><a href="/why-activestate" class="footer-link">Why ActiveState</a><a href="/partners" class="footer-link">Partner with us</a><a href="/company/careers" class="footer-link">Careers</a><a href="/company/newsroom" class="footer-link">Press</a><a href="/company/contact-us" class="footer-link">Contact</a></div></div><div class="footer-top_column"><div class="footer-column_heading">Resources</div><div class="footer-column_links"><a href="/resources/blog" class="footer-link">Blog</a><a href="/resources/academy" class="footer-link">Academy</a><a href="https://docs.activestate.com" target="_blank" class="footer-link">Documentation</a><a href="/resources/case-studies" class="footer-link">Case Studies</a><a href="/resources/whitepapers" class="footer-link">Whitepapers</a><a href="https://trust.activestate.com/" class="footer-link">Trust Center</a><a href="/resources" class="footer-link">Resource Hub</a></div></div></div></div><div class="footer_bottom"><div class="footer_legal">
3142© 2026 ActiveState Software Inc. All rights reserved. ActiveState®, ActivePerl®, ActiveTcl®, ActivePython®, Komodo®, ActiveGoâ¢, ActiveRubyâ¢, ActiveNodeâ¢, ActiveLuaâ¢, and The Open Source Languages Company⢠are all trademarks of ActiveState.</div><div class="footer_legal-links"><a fs-consent-element="open-preferences" href="#" target="_blank" class="footer_legal-link">Cookie Consent</a><a href="/eulas" target="_blank" class="footer_legal-link">Legal</a><a href="/company/privacy-policy" class="footer_legal-link">Privacy Policy</a><a href="/accessibility" class="footer_legal-link">Accessibility</a></div></div></div></div></div></footer></div>
3142<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=6a0dc648b0f944cab4dc0cb1" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
3142<script src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/js/webflow.schunk.f2efb3c5440a81cf.js" type="text/javascript" integrity="sha384-VK02VJvMib7ytrF5M2joPWNtDQs366FZgEQ5B+Iwnjx0WBnwQXfootyziSYxdrmS" crossorigin="anonymous"></script>
3142<script src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/js/webflow.4cc304e8.1524c9732310d729.js" type="text/javascript" integrity="sha384-rpcvZe38EeDL9DMIqNElNp61kz9Isa5DTnn8qR3+LakG299l2gtjXNncf0sec65V" crossorigin="anonymous"></script>
3142 3143
3144<script> 3145 // Get the element with id "year" and set it to the current year 3146document.getElementById('year').textContent = new Date().getFullYear(); 3147</script>
3147 3148
3149<script> 3150window.Webflow.push(function () { 3151 var icon = document.querySelector('.navbar-banner_icon'); 3152 var wrapper = document.querySelector('.navbar_banner-wrapper'); 3153 var hero = document.querySelector('[data-wf--padding-vertical--variant="hero"]'); 3154 3155 if (!icon || !wrapper) return; 3156 3157 // Banner already hidden from a previous visit â nothing to wire up 3158 if (localStorage.getItem('bannerClosed') === '1') return; 3159 3160 // Allow height to animate smoothly 3161 wrapper.style.overflow = 'hidden'; 3162 wrapper.style.transition = 'height 0.4s ease'; 3163 3164 // Prep the hero padding transition to sync with the banner collapse 3165 if (hero) { 3166 var currentPadding = parseFloat(window.getComputedStyle(hero).paddingTop); 3167 hero.style.paddingTop = currentPadding + 'px'; // pin computed value so transition works 3168 hero.style.transition = 'padding-top 0.4s ease'; 3169 } 3170 3171 icon.addEventListener('click', function () { 3172 // Pin the current height so the browser has a concrete value to transition from 3173 wrapper.style.height = wrapper.offsetHeight + 'px'; 3174 3175 // Double rAF ensures the pinned height is committed before we animate to 0 3176 requestAnimationFrame(function () { 3177 requestAnimationFrame(function () { 3178 wrapper.style.height = '0px'; 3179 3180 // Decrease hero top padding by 3.25rem in sync with the banner collapsing 3181 if (hero) { 3182 var rootFontSize = parseFloat(window.getComputedStyle(document.documentElement).fontSize); 3183 hero.style.paddingTop = (currentPadding - (3.25 * rootFontSize)) + 'px'; 3184 } 3185 3186 // After the animation finishes, remove from layout and save the closed state 3187 wrapper.addEventListener('transitionend', function () { 3188 wrapper.style.display = 'none'; 3189 }, { once: true }); 3190 3191 localStorage.setItem('bannerClosed', '1'); 3192 }); 3193 }); 3194 }); 3195}); 3196</script>
3196</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.