1<!DOCTYPE html><!-- Last Published: Tue Sep 22 2026 14:55:10 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></head><body><div class="page-wrapper"><div data-wf--global-styles--variant="none"><div class="global-styles w-embed"><style> 172i, em { 173 color: inherit !important; 174} 175 p strong, 176p b { 177 color: inherit !important; 178} 179/* Make text look crisper and more legible in all browsers */ 180body { 181 -webkit-font-smoothing: antialiased; 182 -moz-osx-font-smoothing: grayscale; 183 font-smoothing: antialiased; 184 text-rendering: optimizeLegibility; 185} 186 187/* Focus state style for keyboard navigation for the focusable elements */ 188*[tabindex]:focus-visible, 189 input[type="file"]:focus-visible { 190 outline: 0.125rem solid #4d65ff; 191 outline-offset: 0.125rem; 192} 193 194/* Set color style to inherit */ 195.inherit-color * { 196 color: inherit; 197} 198 199/* Get rid of top margin on first element in any rich text element */ 200.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child { 201 margin-top: 0 !important; 202} 203 204/* Get rid of bottom margin on last element in any rich text element */ 205.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child { 206 margin-bottom: 0 !important; 207} 208 209 210/* Make sure containers never lose their center alignment */ 211.container-medium,.container-small, .container-large { 212 margin-right: auto !important; 213 margin-left: auto !important; 214} 215 216/* 217Make the following elements inherit typography styles from the parent and not have hardcoded values. 218Important: You will not be able to style for example "All Links" in Designer with this CSS applied. 219Uncomment this CSS to use it in the project. Leave this message for future hand-off. 220*/ 221/* 222a, 223.w-input, 224.w-select, 225.w-tab-link, 226.w-nav-link, 227.w-dropdown-btn, 228.w-dropdown-toggle, 229.w-dropdown-link { 230 color: inherit; 231 text-decoration: inherit; 232 font-size: inherit; 233} 234*/ 235 236/* Apply "..." after 3 lines of text */ 237.text-style-3lines { 238 display: -webkit-box; 239 overflow: hidden; 240 -webkit-line-clamp: 3; 241 -webkit-box-orient: vertical; 242} 243 244 245/* Apply "..." after 5 lines of text */ 246.text-style-5lines { 247 display: -webkit-box; 248 overflow: hidden; 249 -webkit-line-clamp: 5; 250 -webkit-box-orient: vertical; 251} 252 253/* Apply "..." after 2 lines of text */ 254.text-style-2lines { 255 display: -webkit-box; 256 overflow: hidden; 257 -webkit-line-clamp: 2; 258 -webkit-box-orient: vertical; 259} 260 261/* These classes are never overwritten */ 262.hide { 263 display: none !important; 264} 265 266@media screen and (max-width: 991px) { 267 .hide, .hide-tablet { 268 display: none !important; 269 } 270} 271 @media screen and (max-width: 767px) { 272 .hide-mobile-landscape{ 273 display: none !important; 274 } 275} 276 @media screen and (max-width: 479px) { 277 .hide-mobile{ 278 display: none !important; 279 } 280} 281 282.margin-0 { 283 margin: 0rem !important; 284} 285 286.padding-0 { 287 padding: 0rem !important; 288} 289 290.spacing-clean { 291padding: 0rem !important; 292margin: 0rem !important; 293} 294 295.margin-top { 296 margin-right: 0rem !important; 297 margin-bottom: 0rem !important; 298 margin-left: 0rem !important; 299} 300 301.padding-top { 302 padding-right: 0rem !important; 303 padding-bottom: 0rem !important; 304 padding-left: 0rem !important; 305} 306 307.margin-right { 308 margin-top: 0rem !important; 309 margin-bottom: 0rem !important; 310 margin-left: 0rem !important; 311} 312 313.padding-right { 314 padding-top: 0rem !important; 315 padding-bottom: 0rem !important; 316 padding-left: 0rem !important; 317} 318 319.margin-bottom { 320 margin-top: 0rem !important; 321 margin-right: 0rem !important; 322 margin-left: 0rem !important; 323} 324 325.padding-bottom { 326 padding-top: 0rem !important; 327 padding-right: 0rem !important; 328 padding-left: 0rem !important; 329} 330 331.margin-left { 332 margin-top: 0rem !important; 333 margin-right: 0rem !important; 334 margin-bottom: 0rem !important; 335} 336 337.padding-left { 338 padding-top: 0rem !important; 339 padding-right: 0rem !important; 340 padding-bottom: 0rem !important; 341} 342 343.margin-horizontal { 344 margin-top: 0rem !important; 345 margin-bottom: 0rem !important; 346} 347 348.padding-horizontal { 349 padding-top: 0rem !important; 350 padding-bottom: 0rem !important; 351} 352 353.margin-vertical { 354 margin-right: 0rem !important; 355 margin-left: 0rem !important; 356} 357 358.padding-vertical { 359 padding-right: 0rem !important; 360 padding-left: 0rem !important; 361} 362 363h1, h2, h3 { 364 text-wrap: balance; 365} 366 367 @media (max-width: 767px) { 368 .img_wrapper, 369 .image-container { 370 order: 999; 371 } 372} 373 374 @media only screen and (max-width: 1120px) and (min-width: 992px) { 375 .navbar_menu.is-page-height-tablet { 376 padding-left: .5rem; 377 } 378 .navbar .padding-global { 379 padding-left: 1rem; 380 padding-right: 1rem; 381 } 382 .navbar_links { 383 grid-column-gap: .35rem; 384 } 385 } 386 387 388</style></div><div class="hide w-embed"><style> 389/* ================================================ 390 SECTION & COMPONENT COLOR SCHEMES 391 (Sets variables only - no auto text colors) 392 ================================================ */ 393
394/* Reset scheme variables on component_wrapper to break inheritance from section */ 395.component_wrapper:not([data-wf--0---component--variant="transparent"]) { 396 --scheme-heading: initial; 397 --scheme-paragraph: initial; 398 --scheme-link: initial; 399 --scheme-link-hover: initial; 400} 401 402/* --- Neutral Schemes --- */ 403.section_wrapper[data-wf--0---section--variant="light"], 404.component_wrapper[data-wf--0---component--variant="light"] { 405 background-color: var(--_color-schemes---light--background); 406 --scheme-heading: var(--_color-schemes---light--heading); 407 --scheme-paragraph: var(--_color-schemes---light--paragraph); 408 --scheme-link: var(--_color-schemes---light--link); 409 --scheme-link-hover: var(--_color-schemes---light--link-hover); 410} 411 412.section_wrapper[data-wf--0---section--variant="subtle"], 413.component_wrapper[data-wf--0---component--variant="subtle"] { 414 background-color: var(--_color-schemes---subtle--background); 415 --scheme-heading: var(--_color-schemes---subtle--heading); 416 --scheme-paragraph: var(--_color-schemes---subtle--paragraph); 417 --scheme-link: var(--_color-schemes---subtle--link); 418 --scheme-link-hover: var(--_color-schemes---subtle--link-hover); 419} 420 421.section_wrapper[data-wf--0---section--variant="dark"], 422.component_wrapper[data-wf--0---component--variant="dark"] { 423 background-color: var(--_color-schemes---dark--background); 424 --scheme-heading: var(--_color-schemes---dark--heading); 425 --scheme-paragraph: var(--_color-schemes---dark--paragraph); 426 --scheme-link: var(--_color-schemes---dark--link); 427 --scheme-link-hover: var(--_color-schemes---dark--link-hover); 428} 429 430/* --- Brand Schemes --- */ 431.section_wrapper[data-wf--0---section--variant="brand-light"], 432.component_wrapper[data-wf--0---component--variant="brand-light"] { 433 background-color: var(--_color-schemes---brand-light--background); 434 --scheme-heading: var(--_color-schemes---brand-light--heading); 435 --scheme-paragraph: var(--_color-schemes---brand-light--paragraph); 436 --scheme-link: var(--_color-schemes---brand-light--link); 437 --scheme-link-hover: var(--_color-schemes---brand-light--link-hover); 438} 439 440.section_wrapper[data-wf--0---section--variant="brand"], 441.component_wrapper[data-wf--0---component--variant="brand"] { 442 background-color: var(--_color-schemes---brand--background); 443 --scheme-heading: var(--_color-schemes---brand--heading); 444 --scheme-paragraph: var(--_color-schemes---brand--paragraph); 445 --scheme-link: var(--_color-schemes---brand--link); 446 --scheme-link-hover: var(--_color-schemes---brand--link-hover); 447} 448 449.section_wrapper[data-wf--0---section--variant="brand-dark"], 450.component_wrapper[data-wf--0---component--variant="brand-dark"] { 451 background-color: var(--_color-schemes---brand-dark--background); 452 --scheme-heading: var(--_color-schemes---brand-dark--heading); 453 --scheme-paragraph: var(--_color-schemes---brand-dark--paragraph); 454 --scheme-link: var(--_color-schemes---brand-dark--link); 455 --scheme-link-hover: var(--_color-schemes---brand-dark--link-hover); 456} 457 458/* --- Secondary Schemes --- */ 459.section_wrapper[data-wf--0---section--variant="secondary-light"], 460.component_wrapper[data-wf--0---component--variant="secondary-light"] { 461 background-color: var(--_color-schemes---secondary-light--background); 462 --scheme-heading: var(--_color-schemes---secondary-light--heading); 463 --scheme-paragraph: var(--_color-schemes---secondary-light--paragraph); 464 --scheme-link: var(--_color-schemes---secondary-light--link); 465 --scheme-link-hover: var(--_color-schemes---secondary-light--link-hover); 466} 467 468.section_wrapper[data-wf--0---section--variant="secondary"], 469.component_wrapper[data-wf--0---component--variant="secondary"] { 470 background-color: var(--_color-schemes---secondary--background); 471 --scheme-heading: var(--_color-schemes---secondary--heading); 472 --scheme-paragraph: var(--_color-schemes---secondary--paragraph); 473 --scheme-link: var(--_color-schemes---secondary--link); 474 --scheme-link-hover: var(--_color-schemes---secondary--link-hover); 475} 476 477.section_wrapper[data-wf--0---section--variant="secondary-dark"], 478.component_wrapper[data-wf--0---component--variant="secondary-dark"] { 479 background-color: var(--_color-schemes---secondary-dark--background); 480 --scheme-heading: var(--_color-schemes---secondary-dark--heading); 481 --scheme-paragraph: var(--_color-schemes---secondary-dark--paragraph); 482 --scheme-link: var(--_color-schemes---secondary-dark--link); 483 --scheme-link-hover: var(--_color-schemes---secondary-dark--link-hover); 484} 485 486/* --- Accent Schemes --- */ 487.section_wrapper[data-wf--0---section--variant="accent-light"], 488.component_wrapper[data-wf--0---component--variant="accent-light"] { 489 background-color: var(--_color-schemes---accent-light--background); 490 --scheme-heading: var(--_color-schemes---accent-light--heading); 491 --scheme-paragraph: var(--_color-schemes---accent-light--paragraph); 492 --scheme-link: var(--_color-schemes---accent-light--link); 493 --scheme-link-hover: var(--_color-schemes---accent-light--link-hover); 494} 495 496.section_wrapper[data-wf--0---section--variant="accent"], 497.component_wrapper[data-wf--0---component--variant="accent"] { 498 background-color: var(--_color-schemes---accent--background); 499 --scheme-heading: var(--_color-schemes---accent--heading); 500 --scheme-paragraph: var(--_color-schemes---accent--paragraph); 501 --scheme-link: var(--_color-schemes---accent--link); 502 --scheme-link-hover: var(--_color-schemes---accent--link-hover); 503} 504 505.section_wrapper[data-wf--0---section--variant="accent-dark"], 506.component_wrapper[data-wf--0---component--variant="accent-dark"] { 507 background-color: var(--_color-schemes---accent-dark--background); 508 --scheme-heading: var(--_color-schemes---accent-dark--heading); 509 --scheme-paragraph: var(--_color-schemes---accent-dark--paragraph); 510 --scheme-link: var(--_color-schemes---accent-dark--link); 511 --scheme-link-hover: var(--_color-schemes---accent-dark--link-hover); 512} 513 514/* --- Accent1-3 Schemes --- */ 515.section_wrapper[data-wf--0---section--variant="accent1-light"], 516.component_wrapper[data-wf--0---component--variant="accent1-light"] { 517 background-color: var(--_color-schemes---accent1-light--background); 518 --scheme-heading: var(--_color-schemes---accent1-light--heading); 519 --scheme-paragraph: var(--_color-schemes---accent1-light--paragraph); 520 --scheme-link: var(--_color-schemes---accent1-light--link); 521 --scheme-link-hover: var(--_color-schemes---accent1-light--link-hover); 522} 523 524.section_wrapper[data-wf--0---section--variant="accent1"], 525.component_wrapper[data-wf--0---component--variant="accent1"] { 526 background-color: var(--_color-schemes---accent1--background); 527 --scheme-heading: var(--_color-schemes---accent1--heading); 528 --scheme-paragraph: var(--_color-schemes---accent1--paragraph); 529 --scheme-link: var(--_color-schemes---accent1--link); 530 --scheme-link-hover: var(--_color-schemes---accent1--link-hover); 531} 532 533.section_wrapper[data-wf--0---section--variant="accent1-dark"], 534.component_wrapper[data-wf--0---component--variant="accent1-dark"] { 535 background-color: var(--_color-schemes---accent1-dark--background); 536 --scheme-heading: var(--_color-schemes---accent1-dark--heading); 537 --scheme-paragraph: var(--_color-schemes---accent1-dark--paragraph); 538 --scheme-link: var(--_color-schemes---accent1-dark--link); 539 --scheme-link-hover: var(--_color-schemes---accent1-dark--link-hover); 540} 541 542.section_wrapper[data-wf--0---section--variant="accent2-light"], 543.component_wrapper[data-wf--0---component--variant="accent2-light"] { 544 background-color: var(--_color-schemes---accent2-light--background); 545 --scheme-heading: var(--_color-schemes---accent2-light--heading); 546 --scheme-paragraph: var(--_color-schemes---accent2-light--paragraph); 547 --scheme-link: var(--_color-schemes---accent2-light--link); 548 --scheme-link-hover: var(--_color-schemes---accent2-light--link-hover); 549} 550 551.section_wrapper[data-wf--0---section--variant="accent2"], 552.component_wrapper[data-wf--0---component--variant="accent2"] { 553 background-color: var(--_color-schemes---accent2--background); 554 --scheme-heading: var(--_color-schemes---accent2--heading); 555 --scheme-paragraph: var(--_color-schemes---accent2--paragraph); 556 --scheme-link: var(--_color-schemes---accent2--link); 557 --scheme-link-hover: var(--_color-schemes---accent2--link-hover); 558} 559 560.section_wrapper[data-wf--0---section--variant="accent2-dark"], 561.component_wrapper[data-wf--0---component--variant="accent2-dark"] { 562 background-color: var(--_color-schemes---accent2-dark--background); 563 --scheme-heading: var(--_color-schemes---accent2-dark--heading); 564 --scheme-paragraph: var(--_color-schemes---accent2-dark--paragraph); 565 --scheme-link: var(--_color-schemes---accent2-dark--link); 566 --scheme-link-hover: var(--_color-schemes---accent2-dark--link-hover); 567} 568 569.section_wrapper[data-wf--0---section--variant="accent3-light"], 570.component_wrapper[data-wf--0---component--variant="accent3-light"] { 571 background-color: var(--_color-schemes---accent3-light--background); 572 --scheme-heading: var(--_color-schemes---accent3-light--heading); 573 --scheme-paragraph: var(--_color-schemes---accent3-light--paragraph); 574 --scheme-link: var(--_color-schemes---accent3-light--link); 575 --scheme-link-hover: var(--_color-schemes---accent3-light--link-hover); 576} 577 578.section_wrapper[data-wf--0---section--variant="accent3"], 579.component_wrapper[data-wf--0---component--variant="accent3"] { 580 background-color: var(--_color-schemes---accent3--background); 581 --scheme-heading: var(--_color-schemes---accent3--heading); 582 --scheme-paragraph: var(--_color-schemes---accent3--paragraph); 583 --scheme-link: var(--_color-schemes---accent3--link); 584 --scheme-link-hover: var(--_color-schemes---accent3--link-hover); 585} 586 587.section_wrapper[data-wf--0---section--variant="accent3-dark"], 588.component_wrapper[data-wf--0---component--variant="accent3-dark"] { 589 background-color: var(--_color-schemes---accent3-dark--background); 590 --scheme-heading: var(--_color-schemes---accent3-dark--heading); 591 --scheme-paragraph: var(--_color-schemes---accent3-dark--paragraph); 592 --scheme-link: var(--_color-schemes---accent3-dark--link); 593 --scheme-link-hover: var(--_color-schemes---accent3-dark--link-hover); 594} 595 596/* --- Transparent --- */ 597.section_wrapper[data-wf--0---section--variant="transparent"], 598.component_wrapper[data-wf--0---component--variant="transparent"] { 599 background-color: transparent; 600} 601
602/* ================================================ 603 COLOR SCHEME UTILITY COMPONENT (for cards) 604 ================================================ */ 605 606[data-wf--color-scheme--variant] { 607 display: none; 608} 609 610:has(> [data-wf--color-scheme--variant="light"]) { 611 background-color: var(--_color-schemes---light--background); 612 --scheme-heading: var(--_color-schemes---light--heading); 613 --scheme-paragraph: var(--_color-schemes---light--paragraph); 614} 615 616:has(> [data-wf--color-scheme--variant="subtle"]) { 617 background-color: var(--_color-schemes---subtle--background); 618 --scheme-heading: var(--_color-schemes---subtle--heading); 619 --scheme-paragraph: var(--_color-schemes---subtle--paragraph); 620} 621 622:has(> [data-wf--color-scheme--variant="dark"]) { 623 background-color: var(--_color-schemes---dark--background); 624 --scheme-heading: var(--_color-schemes---dark--heading); 625 --scheme-paragraph: var(--_color-schemes---dark--paragraph); 626} 627 628:has(> [data-wf--color-scheme--variant="brand-light"]) { 629 background-color: var(--_color-schemes---brand-light--background); 630 --scheme-heading: var(--_color-schemes---brand-light--heading); 631 --scheme-paragraph: var(--_color-schemes---brand-light--paragraph); 632} 633 634:has(> [data-wf--color-scheme--variant="brand"]) { 635 background-color: var(--_color-schemes---brand--background); 636 --scheme-heading: var(--_color-schemes---brand--heading); 637 --scheme-paragraph: var(--_color-schemes---brand--paragraph); 638} 639 640:has(> [data-wf--color-scheme--variant="brand-dark"]) { 641 background-color: var(--_color-schemes---brand-dark--background); 642 --scheme-heading: var(--_color-schemes---brand-dark--heading); 643 --scheme-paragraph: var(--_color-schemes---brand-dark--paragraph); 644} 645 646:has(> [data-wf--color-scheme--variant="secondary-light"]) { 647 background-color: var(--_color-schemes---secondary-light--background); 648 --scheme-heading: var(--_color-schemes---secondary-light--heading); 649 --scheme-paragraph: var(--_color-schemes---secondary-light--paragraph); 650} 651 652:has(> [data-wf--color-scheme--variant="secondary"]) { 653 background-color: var(--_color-schemes---secondary--background); 654 --scheme-heading: var(--_color-schemes---secondary--heading); 655 --scheme-paragraph: var(--_color-schemes---secondary--paragraph); 656} 657 658:has(> [data-wf--color-scheme--variant="secondary-dark"]) { 659 background-color: var(--_color-schemes---secondary-dark--background); 660 --scheme-heading: var(--_color-schemes---secondary-dark--heading); 661 --scheme-paragraph: var(--_color-schemes---secondary-dark--paragraph); 662} 663 664:has(> [data-wf--color-scheme--variant="accent-light"]) { 665 background-color: var(--_color-schemes---accent-light--background); 666 --scheme-heading: var(--_color-schemes---accent-light--heading); 667 --scheme-paragraph: var(--_color-schemes---accent-light--paragraph); 668} 669 670:has(> [data-wf--color-scheme--variant="accent"]) { 671 background-color: var(--_color-schemes---accent--background); 672 --scheme-heading: var(--_color-schemes---accent--heading); 673 --scheme-paragraph: var(--_color-schemes---accent--paragraph); 674} 675 676:has(> [data-wf--color-scheme--variant="accent-dark"]) { 677 background-color: var(--_color-schemes---accent-dark--background); 678 --scheme-heading: var(--_color-schemes---accent-dark--heading); 679 --scheme-paragraph: var(--_color-schemes---accent-dark--paragraph); 680} 681 682:has(> [data-wf--color-scheme--variant="transparent"]) { 683 background-color: transparent; 684} 685 686/* ================================================ 687 TEXT COLOR VARIANTS 688 ================================================ */ 689 690/* Scheme - uses parent's scheme variables (DEFAULT) */ 691[data-wf--heading--variant="scheme"] { 692 color: var(--scheme-heading); 693} 694 695[data-wf--paragraph--variant="scheme"] { 696 color: var(--scheme-paragraph); 697} 698 699/* Explicit overrides */ 700[data-wf--heading--variant="inverse"] { 701 color: var(--_semantic-tokens---text--text-inverse); 702} 703 704[data-wf--heading--variant="primary"] { 705 color: var(--_semantic-tokens---text--text-primary); 706} 707 708[data-wf--heading--variant="secondary"] { 709 color: var(--_semantic-tokens---text--text-secondary); 710} 711 712[data-wf--heading--variant="tertiary"] { 713 color: var(--_semantic-tokens---text--text-tertiary); 714} 715 716[data-wf--heading--variant="brand"] { 717 color: var(--_semantic-tokens---text--text-brand); 718} 719 720[data-wf--paragraph--variant="inverse"] { 721 color: var(--_semantic-tokens---text--text-inverse); 722} 723 724[data-wf--paragraph--variant="primary"] { 725 color: var(--_semantic-tokens---text--text-primary); 726} 727 728[data-wf--paragraph--variant="secondary"] { 729 color: var(--_semantic-tokens---text--text-secondary); 730} 731 732[data-wf--paragraph--variant="tertiary"] { 733 color: var(--_semantic-tokens---text--text-tertiary); 734} 735 736[data-wf--paragraph--variant="brand"] { 737 color: var(--_semantic-tokens---text--text-brand); 738} 739 740/* ================================================ 741 RICH TEXT COLOR INHERITANCE 742 ================================================ */ 743 744.text-rich-text h1, 745.text-rich-text h2, 746.text-rich-text h3, 747.text-rich-text h4, 748.text-rich-text h5, 749.text-rich-text h6 { 750 color: var(--scheme-heading); 751} 752 753.text-rich-text p, 754.text-rich-text li, 755.text-rich-text blockquote, 756.text-rich-text span, 757.text-rich-text label { 758 color: var(--scheme-paragraph); 759} 760 761.text-rich-text a { 762 color: var(--scheme-link); 763} 764 765.text-rich-text a:hover {
766 color: var(--scheme-link-hover); 767} 768</style></div><div class="hide w-embed"><style> 769/* Gradient Color Variants */ 770.background-overlay[data-wf--background-overlay--background-overlay="primary-light"] { 771 --gradient-stop-1: var(--_gradients---primary-light--stop-1); 772 --gradient-stop-2: var(--_gradients---primary-light--stop-2); 773} 774.background-overlay[data-wf--background-overlay--background-overlay="primary"] { 775 --gradient-stop-1: var(--_gradients---primary--stop-1); 776 --gradient-stop-2: var(--_gradients---primary--stop-2); 777} 778.background-overlay[data-wf--background-overlay--background-overlay="primary-bold"] { 779 --gradient-stop-1: var(--_gradients---primary-bold--stop-1); 780 --gradient-stop-2: var(--_gradients---primary-bold--stop-2); 781} 782.background-overlay[data-wf--background-overlay--background-overlay="primary-dark"] { 783 --gradient-stop-1: var(--_gradients---primary-dark--stop-1); 784 --gradient-stop-2: var(--_gradients---primary-dark--stop-2); 785} 786.background-overlay[data-wf--background-overlay--background-overlay="primary-to-neutral"] { 787 --gradient-stop-1: var(--_gradients---primary-to-neutral--stop-1); 788 --gradient-stop-2: var(--_gradients---primary-to-neutral--stop-2); 789} 790.background-overlay[data-wf--background-overlay--background-overlay="primary-overlay-light"] { 791 --gradient-stop-1: var(--_gradients---primary-overlay-light--stop-1); 792 --gradient-stop-2: var(--_gradients---primary-overlay-light--stop-2); 793} 794.background-overlay[data-wf--background-overlay--background-overlay="primary-overlay"] { 795 --gradient-stop-1: var(--_gradients---primary-overlay--stop-1); 796 --gradient-stop-2: var(--_gradients---primary-overlay--stop-2); 797} 798.background-overlay[data-wf--background-overlay--background-overlay="primary-overlay-heavy"] { 799 --gradient-stop-1: var(--_gradients---primary-overlay-heavy--stop-1); 800 --gradient-stop-2: var(--_gradients---primary-overlay-heavy--stop-2); 801} 802.background-overlay[data-wf--background-overlay--background-overlay="dark-overlay-light"] { 803 --gradient-stop-1: var(--_gradients---dark-overlay-light--stop-1); 804 --gradient-stop-2: var(--_gradients---dark-overlay-light--stop-2); 805} 806.background-overlay[data-wf--background-overlay--background-overlay="dark-overlay"] { 807 --gradient-stop-1: var(--_gradients---dark-overlay--stop-1); 808 --gradient-stop-2: var(--_gradients---dark-overlay--stop-2); 809} 810.background-overlay[data-wf--background-overlay--background-overlay="dark-overlay-heavy"] { 811 --gradient-stop-1: var(--_gradients---dark-overlay-heavy--stop-1); 812 --gradient-stop-2: var(--_gradients---dark-overlay-heavy--stop-2); 813} 814 815/* Gradient Angle Variants - targets parent .background-overlay based on child's data attribute */ 816.background-overlay:has([data-wf--gradient-angle--variant="top"]) { 817 background-image: linear-gradient(to top, var(--gradient-stop-1), var(--gradient-stop-2)); 818} 819.background-overlay:has([data-wf--gradient-angle--variant="top-right"]) { 820 background-image: linear-gradient(to top right, var(--gradient-stop-1), var(--gradient-stop-2)); 821} 822.background-overlay:has([data-wf--gradient-angle--variant="right"]) { 823 background-image: linear-gradient(to right, var(--gradient-stop-1), var(--gradient-stop-2)); 824} 825.background-overlay:has([data-wf--gradient-angle--variant="bottom-right"]) { 826 background-image: linear-gradient(to bottom right, var(--gradient-stop-1), var(--gradient-stop-2)); 827} 828.background-overlay:has([data-wf--gradient-angle--variant="bottom"]) { 829 background-image: linear-gradient(to bottom, var(--gradient-stop-1), var(--gradient-stop-2)); 830} 831.background-overlay:has([data-wf--gradient-angle--variant="bottom-left"]) { 832 background-image: linear-gradient(to bottom left, var(--gradient-stop-1), var(--gradient-stop-2)); 833} 834.background-overlay:has([data-wf--gradient-angle--variant="left"]) { 835 background-image: linear-gradient(to left, var(--gradient-stop-1), var(--gradient-stop-2)); 836} 837.background-overlay:has([data-wf--gradient-angle--variant="top-left"]) { 838 background-image: linear-gradient(to top left, var(--gradient-stop-1), var(--gradient-stop-2)); 839} 840</style></div><div class="hide w-embed"><style> 841/* ================================================ 842 BUTTON COMPONENT 843 ================================================ */ 844
845/* Hide variant controllers */ 846[data-wf--button-style--variant], 847[data-wf--button-size--variant], 848[data-wf--button-width--variant] { 849 display: none; 850} 851 852/* Base button styles */ 853.button { 854 position: relative; 855 overflow: hidden; 856 z-index: 1; 857 border-style: solid; 858 transition: color 0.2s ease, border-color 0.2s ease; 859} 860 861/* Hover background layer */ 862.button::before { 863 content: ''; 864 position: absolute; 865 inset: 0; 866 z-index: -1; 867 opacity: 0; 868 transition: opacity 0.2s ease; 869 border-radius: inherit; 870} 871 872.button:hover::before { 873 opacity: 1; 874} 875 876/* ================================================ 877 BUTTON SIZE 878 ================================================ */ 879 880.button:has([data-wf--button-size--variant="small"]) { 881 padding: var(--_buttons---button-small--padding-y) var(--_buttons---button-small--padding-x); 882 font-size: var(--_buttons---button-small--font-size); 883 border-radius: var(--_buttons---button-small--border-radius); 884 border-width: var(--_buttons---button-small--border-width); 885} 886 887.button:has([data-wf--button-size--variant="base"]) { 888 padding: var(--_buttons---button-base--padding-y) var(--_buttons---button-base--padding-x); 889 font-size: var(--_buttons---button-base--font-size); 890 border-radius: var(--_buttons---button-base--border-radius); 891 border-width: var(--_buttons---button-base--border-width); 892} 893 894.button:has([data-wf--button-size--variant="large"]) { 895 padding: var(--_buttons---button-large--padding-y) var(--_buttons---button-large--padding-x); 896 font-size: var(--_buttons---button-large--font-size); 897 border-radius: var(--_buttons---button-large--border-radius); 898 border-width: var(--_buttons---button-large--border-width); 899} 900 901/* ================================================ 902 BUTTON STYLE 903 ================================================ */ 904 905/* Primary */ 906.button:has([data-wf--button-style--variant="primary"]) { 907 background: linear-gradient( 908 calc(var(--_buttons---gradient--direction) * 1deg), 909 var(--_buttons---primary--stop-1) 0%, 910 var(--_buttons---primary--stop-2) 100% 911 ); 912 color: var(--_buttons---primary--text); 913 border-color: var(--_buttons---primary--border); 914} 915.button:has([data-wf--button-style--variant="primary"])::before { 916 background: linear-gradient( 917 calc(var(--_buttons---gradient--direction) * 1deg), 918 var(--_buttons---primary--stop-1-hover) 0%, 919 var(--_buttons---primary--stop-2-hover) 100% 920 ); 921} 922.button:has([data-wf--button-style--variant="primary"]):hover { 923 color: var(--_buttons---primary--text-hover, var(--_buttons---primary--text)); 924 border-color: var(--_buttons---primary--border-hover, var(--_buttons---primary--border)); 925} 926 927/* Primary Alt */ 928.button:has([data-wf--button-style--variant="primary-alt"]) { 929 background: linear-gradient( 930 calc(var(--_buttons---gradient--direction) * 1deg), 931 var(--_buttons---primary-alt--stop-1) 0%, 932 var(--_buttons---primary-alt--stop-2) 100% 933 ); 934 color: var(--_buttons---primary-alt--text); 935 border-color: var(--_buttons---primary-alt--border); 936} 937.button:has([data-wf--button-style--variant="primary-alt"])::before { 938 background: linear-gradient( 939 calc(var(--_buttons---gradient--direction) * 1deg), 940 var(--_buttons---primary-alt--stop-1-hover) 0%, 941 var(--_buttons---primary-alt--stop-2-hover) 100% 942 ); 943} 944.button:has([data-wf--button-style--variant="primary-alt"]):hover { 945 color: var(--_buttons---primary-alt--text-hover, var(--_buttons---primary-alt--text)); 946 border-color: var(--_buttons---primary-alt--border-hover, var(--_buttons---primary-alt--border)); 947} 948 949/* Secondary */ 950.button:has([data-wf--button-style--variant="secondary"]) { 951 background: linear-gradient( 952 calc(var(--_buttons---gradient--direction) * 1deg), 953 var(--_buttons---secondary--stop-1) 0%, 954 var(--_buttons---secondary--stop-2) 100% 955 ); 956 color: var(--_buttons---secondary--text); 957 border-color: var(--_buttons---secondary--border); 958} 959.button:has([data-wf--button-style--variant="secondary"])::before { 960 background: linear-gradient( 961 calc(var(--_buttons---gradient--direction) * 1deg), 962 var(--_buttons---secondary--stop-1-hover) 0%, 963 var(--_buttons---secondary--stop-2-hover) 100% 964 ); 965}
966.button:has([data-wf--button-style--variant="secondary"]):hover { 967 color: var(--_buttons---secondary--text-hover, var(--_buttons---secondary--text)); 968 border-color: var(--_buttons---secondary--border-hover, var(--_buttons---secondary--border)); 969} 970 971/* Secondary Alt */ 972.button:has([data-wf--button-style--variant="secondary-alt"]) { 973 background: linear-gradient( 974 calc(var(--_buttons---gradient--direction) * 1deg), 975 var(--_buttons---secondary-alt--stop-1) 0%, 976 var(--_buttons---secondary-alt--stop-2) 100% 977 ); 978 color: var(--_buttons---secondary-alt--text); 979 border-color: var(--_buttons---secondary-alt--border); 980} 981.button:has([data-wf--button-style--variant="secondary-alt"])::before { 982 background: linear-gradient( 983 calc(var(--_buttons---gradient--direction) * 1deg), 984 var(--_buttons---secondary-alt--stop-1-hover) 0%, 985 var(--_buttons---secondary-alt--stop-2-hover) 100% 986 ); 987} 988.button:has([data-wf--button-style--variant="secondary-alt"]):hover { 989 color: var(--_buttons---secondary-alt--text-hover, var(--_buttons---secondary-alt--text)); 990 border-color: var(--_buttons---secondary-alt--border-hover, var(--_buttons---secondary-alt--border)); 991} 992 993/* Tertiary */ 994.button:has([data-wf--button-style--variant="tertiary"]) { 995 background: linear-gradient( 996 calc(var(--_buttons---gradient--direction) * 1deg), 997 var(--_buttons---tertiary--stop-1) 0%, 998 var(--_buttons---tertiary--stop-2) 100% 999 ); 1000 color: var(--_buttons---tertiary--text); 1001 border-color: var(--_buttons---tertiary--border); 1002} 1003.button:has([data-wf--button-style--variant="tertiary"])::before { 1004 background: linear-gradient( 1005 calc(var(--_buttons---gradient--direction) * 1deg), 1006 var(--_buttons---tertiary--stop-1-hover) 0%, 1007 var(--_buttons---tertiary--stop-2-hover) 100% 1008 ); 1009} 1010.button:has([data-wf--button-style--variant="tertiary"]):hover { 1011 color: var(--_buttons---tertiary--text-hover, var(--_buttons---tertiary--text)); 1012 border-color: var(--_buttons---tertiary--border-hover, var(--_buttons---tertiary--border)); 1013} 1014 1015/* Tertiary Alt */ 1016.button:has([data-wf--button-style--variant="tertiary-alt"]) { 1017 background: linear-gradient( 1018 calc(var(--_buttons---gradient--direction) * 1deg), 1019 var(--_buttons---tertiary-alt--stop-1) 0%, 1020 var(--_buttons---tertiary-alt--stop-2) 100% 1021 ); 1022 color: var(--_buttons---tertiary-alt--text); 1023 border-color: var(--_buttons---tertiary-alt--border); 1024} 1025.button:has([data-wf--button-style--variant="tertiary-alt"])::before { 1026 background: linear-gradient( 1027 calc(var(--_buttons---gradient--direction) * 1deg), 1028 var(--_buttons---tertiary-alt--stop-1-hover) 0%, 1029 var(--_buttons---tertiary-alt--stop-2-hover) 100% 1030 ); 1031} 1032.button:has([data-wf--button-style--variant="tertiary-alt"]):hover { 1033 color: var(--_buttons---tertiary-alt--text-hover, var(--_buttons---tertiary-alt--text)); 1034 border-color: var(--_buttons---tertiary-alt--border-hover, var(--_buttons---tertiary-alt--border)); 1035} 1036 1037/* Outline */ 1038.button:has([data-wf--button-style--variant="outline"]) { 1039 background: linear-gradient( 1040 calc(var(--_buttons---gradient--direction) * 1deg), 1041 var(--_buttons---outline--stop-1) 0%, 1042 var(--_buttons---outline--stop-2) 100% 1043 ); 1044 color: var(--_buttons---outline--text); 1045 border-color: var(--_buttons---outline--border); 1046} 1047.button:has([data-wf--button-style--variant="outline"])::before { 1048 background: linear-gradient( 1049 calc(var(--_buttons---gradient--direction) * 1deg), 1050 var(--_buttons---outline--stop-1-hover) 0%, 1051 var(--_buttons---outline--stop-2-hover) 100% 1052 ); 1053} 1054.button:has([data-wf--button-style--variant="outline"]):hover { 1055 color: var(--_buttons---outline--text-hover); 1056 border-color: var(--_buttons---outline--border-hover, var(--_buttons---outline--border)); 1057} 1058 1059/* Outline Alt */ 1060.button:has([data-wf--button-style--variant="outline-alt"]) { 1061 background: linear-gradient( 1062 calc(var(--_buttons---gradient--direction) * 1deg), 1063 var(--_buttons---outline-alt--stop-1) 0%, 1064 var(--_buttons---outline-alt--stop-2) 100% 1065 ); 1066 color: var(--_buttons---outline-alt--text); 1067 border-color: var(--_buttons---outline-alt--border); 1068} 1069.button:has([data-wf--button-style--variant="outline-alt"])::before { 1070 background: linear-gradient( 1071 calc(var(--_buttons---gradient--direction) * 1deg), 1072 var(--_buttons---outline-alt--stop-1-hover) 0%, 1073 var(--_buttons---outline-alt--stop-2-hover) 100% 1074 ); 1075} 1076.button:has([data-wf--button-style--variant="outline-alt"]):hover {
1077 color: var(--_buttons---outline-alt--text-hover); 1078 border-color: var(--_buttons---outline-alt--border-hover, var(--_buttons---outline-alt--border)); 1079} 1080 1081/* ================================================ 1082 GRADIENT TEXT BUTTONS 1083 ================================================ */ 1084 1085/* Gradient Tertiary - gradient text, transparent bg */ 1086.button:has([data-wf--button-style--variant="gradient-tertiary"]) { 1087 background: transparent; 1088 border-color: transparent; 1089} 1090.button:has([data-wf--button-style--variant="gradient-tertiary"]) .button_text { 1091 background: linear-gradient( 1092 calc(var(--_buttons---gradient--direction) * 1deg), 1093 var(--_buttons---gradient-tertiary--stop-1) 0%, 1094 var(--_buttons---gradient-tertiary--stop-2) 100% 1095 ); 1096 -webkit-background-clip: text; 1097 background-clip: text; 1098 -webkit-text-fill-color: transparent; 1099} 1100.button:has([data-wf--button-style--variant="gradient-tertiary"])::before { 1101 background: var(--_buttons---gradient-tertiary--bg-hover); 1102} 1103.button:has([data-wf--button-style--variant="gradient-tertiary"]):hover .button_text { 1104 background: linear-gradient( 1105 calc(var(--_buttons---gradient--direction) * 1deg), 1106 var(--_buttons---gradient-tertiary--stop-1-hover) 0%, 1107 var(--_buttons---gradient-tertiary--stop-2-hover) 100% 1108 ); 1109 -webkit-background-clip: text; 1110 background-clip: text; 1111 -webkit-text-fill-color: transparent; 1112} 1113 1114/* Gradient Outline - gradient text + border, transparent bg */ 1115.button:has([data-wf--button-style--variant="gradient-outline"]) { 1116 background: transparent; 1117 border-color: var(--_buttons---gradient-outline--border); 1118} 1119.button:has([data-wf--button-style--variant="gradient-outline"]) .button_text { 1120 background: linear-gradient( 1121 calc(var(--_buttons---gradient--direction) * 1deg), 1122 var(--_buttons---gradient-outline--stop-1) 0%, 1123 var(--_buttons---gradient-outline--stop-2) 100% 1124 ); 1125 -webkit-background-clip: text; 1126 background-clip: text; 1127 -webkit-text-fill-color: transparent; 1128} 1129.button:has([data-wf--button-style--variant="gradient-outline"])::before { 1130 background: linear-gradient( 1131 calc(var(--_buttons---gradient--direction) * 1deg), 1132 var(--_buttons---gradient-outline--stop-1-hover) 0%, 1133 var(--_buttons---gradient-outline--stop-2-hover) 100% 1134 ); 1135} 1136.button:has([data-wf--button-style--variant="gradient-outline"]):hover { 1137 border-color: var(--_buttons---gradient-outline--border-hover, var(--_buttons---gradient-outline--border)); 1138} 1139.button:has([data-wf--button-style--variant="gradient-outline"]):hover .button_text { 1140 background: none; 1141 -webkit-background-clip: unset; 1142 background-clip: unset; 1143 -webkit-text-fill-color: var(--_buttons---gradient-outline--text-hover); 1144 color: var(--_buttons---gradient-outline--text-hover); 1145} 1146 1147/* ================================================ 1148 BUTTON WIDTH 1149 ================================================ */ 1150 1151.button:has([data-wf--button-width--variant="auto"]) { 1152 width: auto; 1153} 1154 1155.button:has([data-wf--button-width--variant="full"]) { 1156 width: 100%; 1157} 1158</style></div><div class="hide w-embed"><style> 1159/* Image Align */ 1160.image-wrapper:has([data-wf--image-align--variant="right"]) { 1161 display: flex !important; 1162 justify-content: flex-end !important; 1163} 1164.image-wrapper:has([data-wf--image-align--variant="left"]) { 1165 display: flex !important; 1166 justify-content: flex-start !important; 1167} 1168.image-wrapper:has([data-wf--image-align--variant="center"]) { 1169 display: flex !important; 1170 justify-content: center !important; 1171} 1172</style> 1173 1174<style> 1175/* Image Ratio - apply to img, not wrapper */ 1176.image-wrapper:has([data-wf--image-ratio--variant="square"]) img { 1177 aspect-ratio: 1 / 1 !important; 1178 object-fit: cover !important; 1179} 1180.image-wrapper:has([data-wf--image-ratio--variant="4-3"]) img { 1181 aspect-ratio: 4 / 3 !important; 1182 object-fit: cover !important; 1183} 1184.image-wrapper:has([data-wf--image-ratio--variant="3-2"]) img { 1185 aspect-ratio: 3 / 2 !important; 1186 object-fit: cover !important; 1187} 1188.image-wrapper:has([data-wf--image-ratio--variant="16-9"]) img { 1189 aspect-ratio: 16 / 9 !important; 1190 object-fit: cover !important; 1191} 1192.image-wrapper:has([data-wf--image-ratio--variant="21-9"]) img { 1193 aspect-ratio: 21 / 9 !important; 1194 object-fit: cover !important; 1195} 1196.image-wrapper:has([data-wf--image-ratio--variant="3-4"]) img { 1197 aspect-ratio: 3 / 4 !important; 1198 object-fit: cover !important; 1199} 1200.image-wrapper:has([data-wf--image-ratio--variant="2-3"]) img { 1201 aspect-ratio: 2 / 3 !important; 1202 object-fit: cover !important; 1203} 1204.image-wrapper:has([data-wf--image-ratio--variant="9-16"]) img { 1205 aspect-ratio: 9 / 16 !important; 1206 object-fit: cover !important; 1207} 1208.image-wrapper:has([data-wf--image-ratio--variant="auto"]) img { 1209 aspect-ratio: auto !important; 1210} 1211 1212 /* Image Ratio - Mobile Override (767px and below) */ 1213@media (max-width: 767px) { 1214 .image-wrapper:has([data-wf--image-ratio-mobile--variant="square"]) img { aspect-ratio: 1 / 1 !important; } 1215 .image-wrapper:has([data-wf--image-ratio-mobile--variant="4-3"]) img { aspect-ratio: 4 / 3 !important; } 1216 .image-wrapper:has([data-wf--image-ratio-mobile--variant="3-2"]) img { aspect-ratio: 3 / 2 !important; } 1217 .image-wrapper:has([data-wf--image-ratio-mobile--variant="16-9"]) img { aspect-ratio: 16 / 9 !important; } 1218 .image-wrapper:has([data-wf--image-ratio-mobile--variant="21-9"]) img { aspect-ratio: 21 / 9 !important; } 1219 .image-wrapper:has([data-wf--image-ratio-mobile--variant="3-4"]) img { aspect-ratio: 3 / 4 !important; } 1220 .image-wrapper:has([data-wf--image-ratio-mobile--variant="2-3"]) img { aspect-ratio: 2 / 3 !important; } 1221 .image-wrapper:has([data-wf--image-ratio-mobile--variant="9-16"]) img { aspect-ratio: 9 / 16 !important; } 1222 .image-wrapper:has([data-wf--image-ratio-mobile--variant="auto"]) img { aspect-ratio: auto !important; } 1223} 1224</style> 1225 1226<style> 1227/* Image Size */ 1228.image-wrapper:has([data-wf--image-size--variant="auto"]) img { 1229 width: auto !important; 1230} 1231.image-wrapper:has([data-wf--image-size--variant="25"]) img { 1232 width: 25% !important; 1233} 1234.image-wrapper:has([data-wf--image-size--variant="50"]) img { 1235 width: 50% !important; 1236} 1237.image-wrapper:has([data-wf--image-size--variant="75"]) img { 1238 width: 75% !important; 1239} 1240.image-wrapper:has([data-wf--image-size--variant="full"]) img { 1241 width: 100% !important; 1242} 1243.image-wrapper:has([data-wf--image-size--variant="125"]) img { 1244 width: 125% !important; 1245 max-width: none !important; 1246} 1247.image-wrapper:has([data-wf--image-size--variant="150"]) img { 1248 width: 150% !important; 1249 max-width: none !important; 1250} 1251.image-wrapper:has([data-wf--image-size--variant="200"]) img { 1252 width: 200% !important; 1253 max-width: none !important; 1254} 1255} 1256</style> 1257 1258<style> 1259/* Image Fit */ 1260.image-wrapper:has([data-wf--image-fit--variant="fit"]) img { object-fit: contain !important; } 1261.image-wrapper:has([data-wf--image-fit--variant="cover"]) img { object-fit: cover !important; } 1262.image-wrapper:has([data-wf--image-fit--variant="fill"]) img { object-fit: f
1262ill !important; } 1263</style></div><div class="hide w-embed"><style> 1264/* ================================================ 1265 BACKGROUND / ELEMENT - BASE 1266 ================================================ */ 1267 1268[data-wf--background-element--position] { 1269 position: absolute; 1270 pointer-events: none; 1271} 1272 1273/* ================================================ 1274 POSITION + TRANSFORM ORIGIN 1275 Each position pins the element to an edge/corner 1276 and sets transform-origin to match, so all 1277 transforms (flip) anchor correctly. 1278 ================================================ */ 1279 1280[data-wf--background-element--position="top-left"] { 1281 top: 0; 1282 left: 0; 1283 transform-origin: top left; 1284} 1285 1286[data-wf--background-element--position="top-center"] { 1287 top: 0; 1288 left: 50%; 1289 transform: translateX(-50%); 1290 transform-origin: top center; 1291} 1292 1293[data-wf--background-element--position="top-right"] { 1294 top: 0; 1295 right: 0; 1296 transform-origin: top right; 1297} 1298 1299[data-wf--background-element--position="center-left"] { 1300 top: 50%; 1301 left: 0; 1302 transform: translateY(-50%); 1303 transform-origin: center left; 1304} 1305 1306[data-wf--background-element--position="center"] { 1307 top: 50%; 1308 left: 50%; 1309 transform: translate(-50%, -50%); 1310 transform-origin: center center; 1311} 1312 1313[data-wf--background-element--position="center-right"] { 1314 top: 50%; 1315 right: 0; 1316 transform: translateY(-50%); 1317 transform-origin: center right; 1318} 1319 1320[data-wf--background-element--position="bottom-left"] { 1321 bottom: 0; 1322 left: 0; 1323 transform-origin: bottom left; 1324} 1325 1326[data-wf--background-element--position="bottom-center"] { 1327 bottom: 0; 1328 left: 50%; 1329 transform: translateX(-50%); 1330 transform-origin: bottom center; 1331} 1332 1333[data-wf--background-element--position="bottom-right"] { 1334 bottom: 0; 1335 right: 0; 1336 transform-origin: bottom right; 1337} 1338 1339/* ================================================ 1340 IMAGE SIZE 1341 Controls the width of the background element 1342 wrapper via the Image Size sub-component. 1343 Percentage-based, so it scales naturally with 1344 the viewport. 1345 ================================================ */ 1346 1347[data-wf--background-element--position]:has([data-wf--image-size--variant="25"]) { 1348 width: 25%; 1349} 1350 1351[data-wf--background-element--position]:has([data-wf--image-size--variant="50"]) { 1352 width: 50%; 1353} 1354 1355[data-wf--background-element--position]:has([data-wf--image-size--variant="75"]) { 1356 width: 75%; 1357} 1358 1359[data-wf--background-element--position]:has([data-wf--image-size--variant="full"]) { 1360 width: 100%; 1361} 1362 1363[data-wf--background-element--position]:has([data-wf--image-size--variant="125"]) { 1364 width: 125%; 1365} 1366 1367[data-wf--background-element--position]:has([data-wf--image-size--variant="150"]) { 1368 width: 150%; 1369} 1370 1371[data-wf--background-element--position]:has([data-wf--image-size--variant="200"]) { 1372 width: 200%; 1373} 1374 1375[data-wf--background-element--position] img { 1376 width: 100%; 1377 height: auto; 1378} 1379 1380/* ================================================ 1381 UTILITY / Z-INDEX 1382 ================================================ */ 1383 1384[data-wf--utility-z-index--variant] { 1385 display: none; 1386} 1387 1388[data-wf--background-element--position]:has([data-wf--utility-z-index--variant="-1"]) { 1389 z-index: -1 !important; 1390} 1391 1392[data-wf--background-element--position]:has([data-wf--utility-z-index--variant="0"]) { 1393 z-index: 0 !important; 1394} 1395 1396[data-wf--background-element--position]:has([data-wf--utility-z-index--variant="1"]) { 1397 z-index: 1 !important; 1398} 1399 1400[data-wf--background-element--position]:has([data-wf--utility-z-index--variant="2"]) { 1401 z-index: 2 !important; 1402} 1403 1404/* ================================================ 1405 UTILITY / FLIP 1406 Mirrors the element on one or both axes. 1407 Because transform-origin is set per position, 1408 flips always anchor to the correct corner/edge. 1409 ================================================ */ 1410 1411[data-wf--utility-flip--variant] { 1412 display: none; 1413} 1414 1415/* --- Corners (no translate needed) --- */ 1416 1417[data-wf--background-element--position="top-left"]:has([data-wf--utility-flip--variant="horizontal"]), 1418[data-wf--background-element--position="top-right"]:has([data-wf--utility-flip--variant="horizontal"]), 1419[data-wf--background-element--position="bottom-left"]:has([data-wf--utility-flip--variant="horizontal"]), 1420[data-wf--background-element--position="bottom-right"]:has([data-wf--utility-flip--variant="horizontal"]) { 1421 transform: scaleX(-1); 1422} 1423 1424[data-wf--background-element--position="top-left"]:has([data-wf--utility-flip--variant="vertical"]), 1425[data-wf--background-element--position="top-right"]:has([data-wf--utility-flip--variant="vertical"]), 1426[data-wf--background-element--position="bottom-left"]:has([data-wf--utility-flip--variant="vertical"]), 1427[data-wf--background-element--position="bottom-right"]:has([data-wf--utility-flip--variant="vertical"]) { 1428 transform: scaleY(-1); 1429} 1430 1431[data-wf--background-element--position="top-left"]:has([data-wf--utility-flip--variant="both"]), 1432[data-wf--background-element--position="top-right"]:has([data-wf--utility-flip--variant="both"]), 1433[data-wf--background-element--position="bottom-left"]:has([data-wf--utility-flip--variant="both"]), 1434[data-wf--background-element--position="bottom-right"]:has([data-wf--utility-flip--variant="both"]) { 1435 transform: scale(-1, -1); 1436} 1437 1438/* --- Top/Bottom Center (preserve translateX) --- */ 1439 1440[data-wf--background-element--position="top-center"]:has([data-wf--utility-flip--variant="horizontal"]), 1441[data-wf--background-element--position="bottom-center"]:has([data-wf--utility-flip--variant="horizontal"]) { 1442 transform: translateX(-50%) scaleX(-1); 1443} 1444 1445[data-wf--background-element--position="top-center"]:has([data-wf--utility-flip--variant="vertical"]), 1446[data-wf--background-element--position="bottom-center"]:has([data-wf--utility-flip--variant="vertical"]) { 1447 transform: translateX(-50%) scaleY(-1); 1448} 1449 1450[data-wf--background-element--position="top-center"]:has([data-wf--utility-flip--variant="both"]), 1451[data-wf--background-element--position="bottom-center"]:has([data-wf--utility-flip--variant="both"]) { 1452 transform: translateX(-50%) scale(-1, -1); 1453} 1454 1455/* --- Center Left/Right (preserve translateY) --- */ 1456 1457[data-wf--background-element--position="center-left"]:has([data-wf--utility-flip--variant="horizontal"]), 1458[data-wf--background-element--position="center-right"]:has([data-wf--utility-flip--variant="horizontal"]) { 1459 transform: translateY(-50%) scaleX(-1); 1460} 1461 1462[data-wf--background-element--position="center-left"]:has([data-wf--utility-flip--variant="vertical"]), 1463[data-wf--background-element--position="center-right"]:has([data-wf--utility-flip--variant="vertical"]) { 1464 transform: translateY(-50%) scaleY(-1); 1465} 1466 1467[data-wf--background-element--position="center-left"]:has([data-wf--utility-flip--variant="both"]), 1468[data-wf--background-element--position="center-right"]:has([data-wf--utility-flip--variant="both"]) { 1469 transform: translateY(-50%) scale(-1, -1); 1470} 1471 1472/* --- Center (preserve both translates) --- */ 1473 1474[data-wf--background-element--position="center"]:has([data-wf--utility-flip--variant="horizontal"]) { 1475 transform: translate(-50%, -50%) scaleX(-1); 1476} 1477 1478[data-wf--background-element--position="center"]:has([data-wf--utility-flip--variant="vertical"]) { 1479 transform: translate(-50%, -50%) scaleY(-1); 1480} 1481 1482[data-wf--background-element--position="center"]:has([data-wf--utility-flip--variant="both"]) { 1483 transform: translate(-50%, -50%) scale(-1, -1); 1484} 1485 1486/* ================================================ 1487 OFFSET X 1488 Shifts the element along the X axis.
1489 Negative = outward from anchor / left. 1490 Positive = inward from anchor / right. 1491 1492 For left-anchored positions: adjusts `left` 1493 For right-anchored positions: adjusts `right` (inverted) 1494 For center-X positions: adjusts `left` from 50% 1495 1496 Webflow variant labels / slugs: 1497 Neg 100% â neg-100 | 10% â 10 1498 Neg 90% â neg-90 | 20% â 20 1499 ... | ... 1500 Neg 10% â neg-10 | 100% â 100 1501 Base â base 1502 ================================================ */ 1503 1504[data-wf--background-element-offset-x--variant] { 1505 display: none; 1506} 1507 1508/* --- Set the offset variable --- */ 1509 1510[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-100"]) { --offset-x: -100%; } 1511[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-90"]) { --offset-x: -90%; } 1512[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-80"]) { --offset-x: -80%; } 1513[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-75"]) { --offset-x: -75%; } 1514[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-70"]) { --offset-x: -70%; } 1515[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-60"]) { --offset-x: -60%; } 1516[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-50"]) { --offset-x: -50%; } 1517[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-40"]) { --offset-x: -40%; } 1518[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-30"]) { --offset-x: -30%; } 1519[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-25"]) { --offset-x: -25%; } 1520[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-20"]) { --offset-x: -20%; } 1521[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="neg-10"]) { --offset-x: -10%; } 1522[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="10"]) { --offset-x: 10%; } 1523[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="20"]) { --offset-x: 20%; } 1524[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="25"]) { --offset-x: 25%; } 1525[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="30"]) { --offset-x: 30%; } 1526[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="40"]) { --offset-x: 40%; } 1527[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="50"]) { --offset-x: 50%; } 1528[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="60"]) { --offset-x: 60%; } 1529[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="70"]) { --offset-x: 70%; } 1530[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="75"]) { --offset-x: 75%; } 1531[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="80"]) { --offset-x: 80%; } 1532[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="90"]) { --offset-x: 90%; } 1533[data-wf--background-element--position]:has([data-wf--background-element-offset-x--variant="100"]) { --offset-x: 100%; } 1534 1535/* --- Apply to left-anchored positions --- */ 1536 1537[data-wf--background-element--position="top-left"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])), 1538[data-wf--background-element--position="center-left"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])), 1539[data-wf--background-element--position="bottom-left"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])) { 1540 left: var(--offset-x); 1541} 1542 1543/* --- Apply to right-anchored positions --- */ 1544 1545[data-wf--background-element--position="top-right"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])), 1546[data-wf--background-element--position="center-right"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])), 1547[data-wf--background-element--position="bottom-right"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])) { 1548 right: calc(0% - var(--offset-x)); 1549} 1550 1551/* --- Apply to center-X positions --- */ 1552 1553[data-wf--background-element--position="top-center"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])), 1554[data-wf--background-element--position="center"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])), 1555[data-wf--background-element--position="bottom-center"]:has([data-wf--background-element-offset-x--variant]:not([data-wf--background-element-offset-x--variant="base"])) { 1556 left: calc(50% + var(--offset-x)); 1557} 1558 1559/* ================================================ 1560 OFFSET Y 1561 Shifts the element along the Y axis.
1562 Negative = outward from anchor / up. 1563 Positive = inward from anchor / down. 1564 1565 For top-anchored positions: adjusts `top` 1566 For bottom-anchored positions: adjusts `bottom` (inverted) 1567 For center-Y positions: adjusts `top` from 50% 1568 1569 Webflow variant labels / slugs: 1570 Neg 100% â neg-100 | 10% â 10 1571 Neg 90% â neg-90 | 20% â 20 1572 ... | ... 1573 Neg 10% â neg-10 | 100% â 100 1574 Base â base 1575 ================================================ */ 1576 1577[data-wf--background-element-offset-y--variant] { 1578 display: none; 1579} 1580 1581/* --- Set the offset variable --- */ 1582 1583[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-100"]) { --offset-y: -100%; } 1584[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-90"]) { --offset-y: -90%; } 1585[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-80"]) { --offset-y: -80%; } 1586[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-75"]) { --offset-y: -75%; } 1587[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-70"]) { --offset-y: -70%; } 1588[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-60"]) { --offset-y: -60%; } 1589[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-50"]) { --offset-y: -50%; } 1590[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-40"]) { --offset-y: -40%; } 1591[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-30"]) { --offset-y: -30%; } 1592[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-25"]) { --offset-y: -25%; } 1593[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-20"]) { --offset-y: -20%; } 1594[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="neg-10"]) { --offset-y: -10%; } 1595[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="10"]) { --offset-y: 10%; } 1596[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="20"]) { --offset-y: 20%; } 1597[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="25"]) { --offset-y: 25%; } 1598[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="30"]) { --offset-y: 30%; } 1599[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="40"]) { --offset-y: 40%; } 1600[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="50"]) { --offset-y: 50%; } 1601[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="60"]) { --offset-y: 60%; } 1602[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="70"]) { --offset-y: 70%; } 1603[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="75"]) { --offset-y: 75%; } 1604[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="80"]) { --offset-y: 80%; } 1605[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="90"]) { --offset-y: 90%; } 1606[data-wf--background-element--position]:has([data-wf--background-element-offset-y--variant="100"]) { --offset-y: 100%; } 1607 1608/* --- Apply to top-anchored positions --- */ 1609 1610[data-wf--background-element--position="top-left"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])), 1611[data-wf--background-element--position="top-center"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])), 1612[data-wf--background-element--position="top-right"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])) { 1613 top: var(--offset-y); 1614} 1615 1616/* --- Apply to bottom-anchored positions --- */ 1617 1618[data-wf--background-element--position="bottom-left"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])), 1619[data-wf--background-element--position="bottom-center"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])), 1620[data-wf--background-element--position="bottom-right"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])) { 1621 bottom: calc(0% - var(--offset-y)); 1622} 1623 1624/* --- Apply to center-Y positions --- */ 1625 1626[data-wf--background-element--position="center-left"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])), 1627[data-wf--background-element--position="center"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])), 1628[data-wf--background-element--position="center-right"]:has([data-wf--background-element-offset-y--variant]:not([data-wf--background-element-offset-y--variant="base"])) { 1629 top: calc(50% + var(--offset-y)); 1630} 1631</style></div><div><div class="hide w-embed"><style> 1632 1633</style></div><div class="hide w-embed"><style> 1634/* ================================================ 1635 UTILITY / ALIGN 1636 ================================================ */ 1637 1638[data-wf--utility-align--variant] { 1639 display: none; 1640} 1641 1642:has(> [data-wf--utility-align--variant="stretch"]), 1643:has(> [data-wf--utility-align--variant="stretch"]) > .grid { 1644 align-items: stretch; 1645} 1646 1647:has(> [data-wf--utility-align--variant="top"]), 1648:has(> [data-wf--utility-align--variant="top"]) > .grid { 1649 align-items: start; 1650} 1651 1652:has(> [data-wf--utility-align--variant="center"]), 1653:has(> [data-wf--utility-align--variant="center"]) > .grid { 1654 align-items: center; 1655} 1656 1657:has(> [data-wf--utility-align--variant="bottom"]), 1658:has(> [data-wf--utility-align--variant="bottom"]) > .grid { 1659 align-items: end; 1660} 1661 1662:has(> [data-wf--utility-align--variant="baseline"]), 1663:has(> [data-wf--utility-align--variant="baseline"]) > .grid { 1664 align-items: baseline; 1665} 1666</style></div><div class="hide w-embed"><style> 1667/* ================================================ 1668 UTILITY / ALIGN SELF 1669 ================================================ */ 1670/* Desktop */ 1671[data-wf--utility-align-self--variant] { 1672 display: none; 1673} 1674:has(> [data-wf--utility-align-self--variant="start"]) { 1675 justify-self: start; 1676} 1677:has(> [data-wf--utility-align-self--variant="center"]) { 1678 justify-self: center; 1679} 1680:has(> [data-wf--utility-align-self--variant="end"]) { 1681 justify-self: end; 1682} 1683:has(> [data-wf--utility-align-self--variant="stretch"]) { 1684 justify-self: stretch; 1685} 1686 1687/* Mobile Override */ 1688[data-wf--utility-align-self-mobile--variant] { 1689 display: none; 1690} 1691 1692@media (max-width: 767px) { 1693 :has([data-wf--utility-align-self-mobile--variant="start"]) { 1694 justify-self: start; 1695 } 1696 :has([data-wf--utility-align-self-mobile--variant="center"]) { 1697 justify-self: center; 1698 } 1699 :has([data-wf--utility-align-self-mobile--variant="end"]) { 1700 justify-self: end; 1701 } 1702 :has([data-wf--utility-align-self-mobile--variant="stretch"]) { 1703 justify-self: stretch; 1704 } 1705} 1706</style></div><div class="hide w-embed"><style> 1707/* ================================================ 1708 UTILITY / BLEND MODE 1709 ================================================ */ 1710 1711[data-wf--utility-blend-mode--variant] { 1712 display: none; 1713} 1714 1715:has(> [data-wf--utility-blend-mode--variant="multiply"]) { 1716 mix-blend-mode: multiply; 1717} 1718:has(> [data-wf--utility-blend-mode--variant="screen"]) { 1719 mix-blend-mode: screen; 1720} 1721:has(> [data-wf--utility-blend-mode--variant="overlay"]) { 1722 mix-blend-mode: overlay; 1723} 1724:has(> [data-wf--utility-blend-mode--variant="darken"]) { 1725 mix-blend-mode: darken; 1726} 1727:has(> [data-wf--utility-blend-mode--variant="lighten"]) { 1728 mix-blend-mode: lighten; 1729} 1730:has(> [data-wf--utility-blend-mode--variant="color-dodge"]) { 1731 mix-blend-mode: color-dodge; 1732} 1733:has(> [data-wf--utility-blend-mode--variant="color-burn"]) { 1734 mix-blend-mode: color-burn; 1735} 1736:has(> [data-wf--utility-blend-mode--variant="soft-light"]) { 1737 mix-blend-mode: soft-light; 1738} 1739:has(> [data-wf--utility-blend-mode--variant="hard-light"]) { 1740 mix-blend-mode: hard-light; 1741} 1742</style></div><div class="hide w-embed"><style> 1743/* ================================================ 1744 UTILITY / BORDER RADIUS 1745 Overrides the parent element's border-radius. 1746 Drop this component inside any element that 1747 needs a radius change from its default. 1748 1749 Variants: 1750 - Base (no override) 1751 - None (0) 1752 - Small 1753 - Medium 1754 - Large 1755 - XLarge 1756 - Full (pill) 1757 ================================================ */ 1758 1759[data-wf--utility-border-radius--variant] { 1760 display: none; 1761} 1762 1763:has(> [data-wf--utility-border-radius--variant="none"]) { 1764 border-radius: 0 !important; 1765} 1766 1767:has(> [data-wf--utility-border-radius--variant="small"]) { 1768 border-radius: var(--_border-radius---small) !important; 1769 overflow: hidden; 1770} 1771 1772:has(> [data-wf--utility-border-radius--variant="medium"]) { 1773 border-radius: var(--_border-radius---medium) !important; 1774 overflow: hidden; 1775} 1776 1777:has(> [data-wf--utility-border-radius--variant="large"]) { 1778 border-radius: var(--_border-radius---large) !important; 1779 overflow: hidden; 1780} 1781 1782:has(> [data-wf--utility-border-radius--variant="xlarge"]) { 1783 border-radius: var(--_border-radius---xlarge) !important; 1784 overflow: hidden; 1785} 1786 1787:has(> [data-wf--utility-border-radius--variant="full"]) { 1788 border-radius: 9999px !important; 1789 overflow: hidden; 1790} 1791</style></div><div class="hide w-embed"><style> 1792/* ================================================ 1793 UTILITY / FONT 1794 ================================================ */ 1795 1796[data-wf--utility-font--variant] { 1797 display: none; 1798} 1799 1800:has(> [data-wf--utility-font--variant="display"]), 1801:has(> [data-wf--utility-font--variant="display"]) h1, 1802:has(> [data-wf--utility-font--variant="display"]) h2, 1803:has(> [data-wf--utility-font--variant="display"]) h3, 1804:has(> [data-wf--utility-font--variant="display"]) h4, 1805:has(> [data-wf--utility-font--variant="display"]) h5, 1806:has(> [data-wf--utility-font--variant="display"]) h6, 1807:has(> [data-wf--utility-font--variant="display"]) p { 1808 font-family: var(--_typography---font-families--display-font); 1809} 1810 1811:has(> [data-wf--utility-font--variant="heading"]), 1812:has(> [data-wf--utility-font--variant="heading"]) h1, 1813:has(> [data-wf--utility-font--variant="heading"]) h2, 1814:has(> [data-wf--utility-font--variant="heading"]) h3, 1815:has(> [data-wf--utility-font--variant="heading"]) h4, 1816:has(> [data-wf--utility-font--variant="heading"]) h5, 1817:has(> [data-wf--utility-font--variant="heading"]) h6, 1818:has(> [data-wf--utility-font--variant="heading"]) p { 1819 font-family: var(--_typography---font-families--heading-font); 1820} 1821 1822:has(> [data-wf--utility-font--variant="body"]), 1823:has(> [data-wf--utility-font--variant="body"]) h1, 1824:has(> [data-wf--utility-font--variant="body"]) h2, 1825:has(> [data-wf--utility-font--variant="body"]) h3, 1826:has(> [data-wf--utility-font--variant="body"]) h4, 1827:has(> [data-wf--utility-font--variant="body"]) h5, 1828:has(> [data-wf--utility-font--variant="body"]) h6, 1829:has(> [data-wf--utility-font--variant="body"]) p { 1830 font-family: var(--_typography---font-families--body-font); 1831} 1832 1833:has(> [data-wf--utility-font--variant="alt-body"]), 1834:has(> [data-wf--utility-font--variant="alt-body"]) h1, 1835:has(> [data-wf--utility-font--variant="alt-body"]) h2, 1836:has(> [data-wf--utility-font--variant="alt-body"]) h3, 1837:has(> [data-wf--utility-font--variant="alt-body"]) h4, 1838:has(> [data-wf--utility-font--variant="alt-body"]) h5, 1839:has(> [data-wf--utility-font--variant="alt-body"]) h6, 1840:has(> [data-wf--utility-font--variant="alt-body"]) p { 1841 font-family: var(--_typography---font-families--alt-body-font); 1842} 1843 1844/* ================================================
1845 UTILITY / TEXT SIZE 1846 ================================================ */ 1847 1848[data-wf--utility-text-size--variant] { 1849 display: none; 1850} 1851 1852:has(> [data-wf--utility-text-size--variant="display"]), 1853:has(> [data-wf--utility-text-size--variant="display"]) h1, 1854:has(> [data-wf--utility-text-size--variant="display"]) h2, 1855:has(> [data-wf--utility-text-size--variant="display"]) h3, 1856:has(> [data-wf--utility-text-size--variant="display"]) h4, 1857:has(> [data-wf--utility-text-size--variant="display"]) h5, 1858:has(> [data-wf--utility-text-size--variant="display"]) h6, 1859:has(> [data-wf--utility-text-size--variant="display"]) p { 1860 font-size: var(--_typography---heading-sizes--display); 1861 line-height: var(--_typography---line-height--display); 1862 letter-spacing: var(--_typography---letter-spacing--display); 1863} 1864 1865:has(> [data-wf--utility-text-size--variant="h1"]), 1866:has(> [data-wf--utility-text-size--variant="h1"]) h1, 1867:has(> [data-wf--utility-text-size--variant="h1"]) h2, 1868:has(> [data-wf--utility-text-size--variant="h1"]) h3, 1869:has(> [data-wf--utility-text-size--variant="h1"]) h4, 1870:has(> [data-wf--utility-text-size--variant="h1"]) h5, 1871:has(> [data-wf--utility-text-size--variant="h1"]) h6, 1872:has(> [data-wf--utility-text-size--variant="h1"]) p { 1873 font-size: var(--_typography---heading-sizes--h1); 1874 line-height: var(--_typography---line-height--h1); 1875 letter-spacing: var(--_typography---letter-spacing--h1); 1876} 1877 1878:has(> [data-wf--utility-text-size--variant="h2"]), 1879:has(> [data-wf--utility-text-size--variant="h2"]) h1, 1880:has(> [data-wf--utility-text-size--variant="h2"]) h2, 1881:has(> [data-wf--utility-text-size--variant="h2"]) h3, 1882:has(> [data-wf--utility-text-size--variant="h2"]) h4, 1883:has(> [data-wf--utility-text-size--variant="h2"]) h5, 1884:has(> [data-wf--utility-text-size--variant="h2"]) h6, 1885:has(> [data-wf--utility-text-size--variant="h2"]) p { 1886 font-size: var(--_typography---heading-sizes--h2); 1887 line-height: var(--_typography---line-height--h2); 1888 letter-spacing: var(--_typography---letter-spacing--h2); 1889} 1890 1891:has(> [data-wf--utility-text-size--variant="h3"]), 1892:has(> [data-wf--utility-text-size--variant="h3"]) h1, 1893:has(> [data-wf--utility-text-size--variant="h3"]) h2, 1894:has(> [data-wf--utility-text-size--variant="h3"]) h3, 1895:has(> [data-wf--utility-text-size--variant="h3"]) h4, 1896:has(> [data-wf--utility-text-size--variant="h3"]) h5, 1897:has(> [data-wf--utility-text-size--variant="h3"]) h6, 1898:has(> [data-wf--utility-text-size--variant="h3"]) p { 1899 font-size: var(--_typography---heading-sizes--h3); 1900 line-height: var(--_typography---line-height--h3); 1901 letter-spacing: var(--_typography---letter-spacing--h3); 1902} 1903 1904:has(> [data-wf--utility-text-size--variant="h4"]), 1905:has(> [data-wf--utility-text-size--variant="h4"]) h1, 1906:has(> [data-wf--utility-text-size--variant="h4"]) h2, 1907:has(> [data-wf--utility-text-size--variant="h4"]) h3, 1908:has(> [data-wf--utility-text-size--variant="h4"]) h4, 1909:has(> [data-wf--utility-text-size--variant="h4"]) h5, 1910:has(> [data-wf--utility-text-size--variant="h4"]) h6, 1911:has(> [data-wf--utility-text-size--variant="h4"]) p { 1912 font-size: var(--_typography---heading-sizes--h4); 1913 line-height: var(--_typography---line-height--h4); 1914 letter-spacing: var(--_typography---letter-spacing--h4); 1915} 1916 1917:has(> [data-wf--utility-text-size--variant="h5"]), 1918:has(> [data-wf--utility-text-size--variant="h5"]) h1, 1919:has(> [data-wf--utility-text-size--variant="h5"]) h2, 1920:has(> [data-wf--utility-text-size--variant="h5"]) h3, 1921:has(> [data-wf--utility-text-size--variant="h5"]) h4, 1922:has(> [data-wf--utility-text-size--variant="h5"]) h5, 1923:has(> [data-wf--utility-text-size--variant="h5"]) h6, 1924:has(> [data-wf--utility-text-size--variant="h5"]) p { 1925 font-size: var(--_typography---heading-sizes--h5); 1926 line-height: var(--_typography---line-height--h5); 1927 letter-spacing: var(--_typography---letter-spacing--h5); 1928} 1929 1930:has(> [data-wf--utility-text-size--variant="h6"]), 1931:has(> [data-wf--utility-text-size--variant="h6"]) h1, 1932:has(> [data-wf--utility-text-size--variant="h6"]) h2, 1933:has(> [data-wf--utility-text-size--variant="h6"]) h3, 1934:has(> [data-wf--utility-text-size--variant="h6"]) h4, 1935:has(> [data-wf--utility-text-size--variant="h6"]) h5, 1936:has(> [data-wf--utility-text-size--variant="h6"]) h6, 1937:has(> [data-wf--utility-text-size--variant="h6"]) p { 1938 font-size: var(--_typography---heading-sizes--h6); 1939 line-height: var(--_typography---line-height--h6); 1940 letter-spacing: var(--_typography---letter-spacing--h6); 1941} 1942 1943:has(> [data-wf--utility-text-size--variant="text-large"]), 1944:has(> [data-wf--utility-text-size--variant="text-large"]) h1, 1945:has(> [data-wf--utility-text-size--variant="text-large"]) h2, 1946:has(> [data-wf--utility-text-size--variant="text-large"]) h3, 1947:has(> [data-wf--utility-text-size--variant="text-large"]) h4, 1948:has(> [data-wf--utility-text-size--variant="text-large"]) h5, 1949:has(> [data-wf--utility-text-size--variant="text-large"]) h6, 1950:has(> [data-wf--utility-text-size--variant="text-large"]) p { 1951 font-size: var(--_typography---body-sizes--text-large); 1952 line-height: var(--_typography---line-height--paragraph); 1953 letter-spacing: var(--_typography---letter-spacing--paragraph); 1954} 1955 1956:has(> [data-wf--utility-text-size--variant="text-medium"]), 1957:has(> [data-wf--utility-text-size--variant="text-medium"]) h1, 1958:has(> [data-wf--utility-text-size--variant="text-medium"]) h2, 1959:has(> [data-wf--utility-text-size--variant="text-medium"]) h3, 1960:has(> [data-wf--utility-text-size--variant="text-medium"]) h4, 1961:has(> [data-wf--utility-text-size--variant="text-medium"]) h5, 1962:has(> [data-wf--utility-text-size--variant="text-medium"]) h6, 1963:has(> [data-wf--utility-text-size--variant="text-medium"]) p { 1964 font-size: var(--_typography---body-sizes--text-medium); 1965 line-height: var(--_typography---line-height--paragraph); 1966 letter-spacing: var(--_typography---letter-spacing--paragraph); 1967} 1968 1969:has(> [data-wf--utility-text-size--variant="text-regular"]), 1970:has(> [data-wf--utility-text-size--variant="text-regular"]) h1, 1971:has(> [data-wf--utility-text-size--variant="text-regular"]) h2, 1972:has(> [data-wf--utility-text-size--variant="text-regular"]) h3, 1973:has(> [data-wf--utility-text-size--variant="text-regular"]) h4, 1974:has(> [data-wf--utility-text-size--variant="text-regular"]) h5, 1975:has(> [data-wf--utility-text-size--variant="text-regular"]) h6, 1976:has(> [data-wf--utility-text-size--variant="text-regular"]) p { 1977 font-size: var(--_typography---body-sizes--text-regular); 1978 line-height: var(--_typography---line-height--paragraph); 1979 letter-spacing: var(--_typography---letter-spacing--paragraph); 1980} 1981 1982:has(> [data-wf--utility-text-size--variant="text-small"]), 1983:has(> [data-wf--utility-text-size--variant="text-small"]) h1, 1984:has(> [data-wf--utility-text-size--variant="text-small"]) h2, 1985:has(> [data-wf--utility-text-size--variant="text-small"]) h3, 1986:has(> [data-wf--utility-text-size--variant="text-small"]) h4, 1987:has(> [data-wf--utility-text-size--variant="text-small"]) h5, 1988:has(> [data-wf--utility-text-size--variant="text-small"]) h6, 1989:has(> [data-wf--utility-text-size--variant="text-small"]) p { 1990 font-size: var(--_typography---body-sizes--text-small); 1991 line-height: var(--_typography---line-height--paragraph); 1992 letter-spacing: var(--_typography---letter-spacing--paragraph); 1993} 1994 1995:has(> [data-wf--utility-text-size--variant="text-tiny"]), 1996:has(> [data-wf--utility-text-size--variant="text-tiny"]) h1, 1997:has(> [data-wf--utility-text-size--variant="text-tiny"]) h2, 1998:has(> [data-wf--utility-text-size--variant="text-tiny"]) h3, 1999:has(> [data-wf--utility-text-size--variant="text-tiny"]) h4, 2000:has(> [data-wf--utility-text-size--variant="text-tiny"]) h5, 2001:has(> [data-wf--utility-text-size--variant="text-tiny"]) h6, 2002:has(> [data-wf--utility-text-size--variant="text-tiny"]) p { 2003 font-size: var(--_typography---body-sizes--text-tiny); 2004 line-height: var(--_typography---line-height--paragraph); 2005 letter-spacing: var(--_typography---letter-spacing--paragraph); 2006} 2007</style></div><div class="hide w-embed"><style> 2008/* ================================================ 2009 UTILITY / GAP 2010 ================================================ */ 2011[data-wf--utility-gap--variant] { 2012 display: none; 2013} 2014:has(> [data-wf--utility-gap--variant="none"]), 2015:has(> [data-wf--utility-gap--variant="none"]) > .grid { 2016 gap: 0rem !important; 2017} 2018:has(> [data-wf--utility-gap--variant="tiny"]), 2019:has(> [data-wf--utility-gap--variant="tiny"]) > .grid { 2020 gap: var(--_spacing---tiny) !important; 2021} 2022:has(> [data-wf--utility-gap--variant="xxsmall"]), 2023:has(> [data-wf--utility-gap--variant="xxsmall"]) > .grid { 2024 gap: var(--_spacing---xxsmall) !important; 2025} 2026:has(> [data-wf--utility-gap--variant="xsmall"]), 2027:has(> [data-wf--utility-gap--variant="xsmall"]) > .grid { 2028 gap: var(--_spacing---xsmall) !important; 2029} 2030:has(> [data-wf--utility-gap--variant="small"]), 2031:has(> [data-wf--utility-gap--variant="small"]) > .grid { 2032 gap: var(--_spacing---small) !important; 2033} 2034:has(> [data-wf--utility-gap--variant="medium"]), 2035:has(> [data-wf--utility-gap--variant="medium"]) > .grid { 2036 gap: var(--_spacing---medium) !important; 2037} 2038:has(> [data-wf--utility-gap--variant="large"]), 2039:has(> [data-wf--utility-gap--variant="large"]) > .grid { 2040 gap: var(--_spacing---large) !important; 2041} 2042:has(> [data-wf--utility-gap--variant="xlarge"]), 2043:has(> [data-wf--utility-gap--variant="xlarge"]) > .grid { 2044 gap: var(--_spacing---xlarge) !important; 2045} 2046:has(> [data-wf--utility-gap--variant="xxlarge"]), 2047:has(> [data-wf--utility-gap--variant="xxlarge"]) > .grid { 2048 gap: var(--_spacing---xxlarge) !important; 2049} 2050:has(> [data-wf--utility-gap--variant="huge"]), 2051:has(> [data-wf--utility-gap--variant="huge"]) > .grid { 2052 gap: var(--_spacing---huge) !important; 2053} 2054:has(> [data-wf--utility-gap--variant="xhuge"]), 2055:has(> [data-wf--utility-gap--variant="xhuge"]) > .grid { 2056 gap: var(--_spacing---xhuge) !important; 2057} 2058:has(> [data-wf--utility-gap--variant="xxhuge"]), 2059:has(> [data-wf--utility-gap--variant="xxhuge"]) > .grid { 2060 gap: var(--_spacing---xxhuge) !important; 2061} 2062 2063/* ================================================ 2064 UTILITY / GAP (MOBILE) 2065 Overrides gap spacing at 767px and below. 2066 Place as a direct child of the component wrapper. 2067 ================================================ */ 2068 2069[data-wf--utility-gap-mobile--variant] { 2070 display: none; 2071} 2072 2073@media (max-width: 767px) { 2074 :has(> [data-wf--utility-gap-mobile--variant="none"]), 2075 :has(> [data-wf--utility-gap-mobile--variant="none"]) > .grid { 2076 gap: 0rem !important; 2077 } 2078 :has(> [data-wf--utility-gap-mobile--variant="tiny"]), 2079 :has(> [data-wf--utility-gap-mobile--variant="tiny"]) > .grid { 2080 gap: var(--_spacing---tiny) !important; 2081 } 2082 :has(> [data-wf--utility-gap-mobile--variant="xxsmall"]), 2083 :has(> [data-wf--utility-gap-mobile--variant="xxsmall"]) > .grid { 2084 gap: var(--_spacing---xxsmall) !important; 2085 } 2086 :has(> [data-wf--utility-gap-mobile--variant="xsmall"]), 2087 :has(> [data-wf--utility-gap-mobile--variant="xsmall"]) > .grid { 2088 gap: var(--_spacing---xsmall) !important; 2089 } 2090 :has(> [data-wf--utility-gap-mobile--variant="small"]), 2091 :has(> [data-wf--utility-gap-mobile--variant="small"]) > .grid { 2092 gap: var(--_spacing---small) !important; 2093 } 2094 :has(> [data-wf--utility-gap-mobile--variant="medium"]), 2095 :has(> [data-wf--utility-gap-mobile--variant="medium"]) > .grid { 2096 gap: var(--_spacing---medium) !important; 2097 } 2098 :has(> [data-wf--utility-gap-mobile--variant="large"]), 2099 :has(> [data-wf--utility-gap-mobile--variant="large"]) > .grid { 2100 gap: var(--_spacing---large) !important; 2101 } 2102 :has(> [data-wf--utility-gap-mobile--variant="xlarge"]), 2103 :has(> [data-wf--utility-gap-mobile--variant="xlarge"]) > .grid { 2104 gap: var(--_spacing---xlarge) !important; 2105 } 2106 :has(> [data-wf--utility-gap-mobile--variant="xxlarge"]), 2107 :has(> [data-wf--utility-gap-mobile--variant="xxlarge"]) > .grid { 2108 gap: var(--_spacing---xxlarge) !important; 2109 } 2110 :has(> [data-wf--utility-gap-mobile--variant="huge"]), 2111 :has(> [data-wf--utility-gap-mobile--variant="huge"]) > .grid { 2112 gap: var(--_spacing---huge) !important; 2113 } 2114 :has(> [data-wf--utility-gap-mobile--variant="xhuge"]), 2115 :has(> [data-wf--utility-gap-mobile--variant="xhuge"]) > .grid { 2116 gap: var(--_spacing---xhuge) !important; 2117 } 2118 :has(> [data-wf--utility-gap-mobile--variant="xxhuge"]), 2119 :has(> [data-wf--utility-gap-mobile--variant="xxhuge"]) > .grid { 2120 gap: var(--_spacing---xxhuge) !important; 2121 } 2122} 2123</style></div><div class="hide w-embed"><style> 2124/* ================================================ 2125 UTILITY / HEIGHT 2126 ================================================ */ 2127 2128[data-wf--utility-height--variant] { 2129 display: none; 2130} 2131 2132:has(> [data-wf--utility-height--variant="full"]), 2133:has(> [data-wf--utility-height--variant="full"]) > .grid { 2134 height: 100%; 2135} 2136 2137:has(> [data-wf--utility-height--variant="screen"]), 2138:has(> [data-wf--utility-height--variant="screen"]) > .grid { 2139 height: 100vh; 2140} 2141 2142:has(> [data-wf--utility-height--variant="auto"]), 2143:has(> [data-wf--utility-height--variant="auto"]) > .grid { 2144 height: auto; 2145} 2146 2147/* ================================================ 2148 UTILITY / HEIGHT 2149 ================================================ */ 2150[data-wf--utility-height--variant] { 2151 display: none; 2152} 2153:has(> [data-wf--utility-height--variant="10"]) { 2154 height: 10%; 2155} 2156:has(> [data-wf--utility-height--variant="20"]) { 2157 height: 20%; 2158} 2159:has(> [data-wf--utility-height--variant="30"]) { 2160 height: 30%; 2161} 2162:has(> [data-wf--utility-height--variant="40"]) { 2163 height: 40%; 2164} 2165:has(> [data-wf--utility-height--variant="50"]) { 2166 height: 50%; 2167} 2168:has(> [data-wf--utility-height--variant="60"]) { 2169 height: 60%; 2170} 2171:has(> [data-wf--utility-height--variant="70"]) { 2172 height: 70%; 2173} 2174:has(> [data-wf--utility-height--variant="80"]) { 2175 height: 80%; 2176} 2177:has(> [data-wf--utility-height--variant="90"]) { 2178 height: 90%; 2179} 2180:has(> [data-wf--utility-height--variant="100"]) { 2181 height: 100%; 2182} 2183 2184</style></div><div class="hide w-embed"><style> 2185/* ================================================ 2186 UTILITY / JUSTIFY 2187 ================================================ */ 2188 2189[data-wf--utility-justify--variant] { 2190 display: none; 2191} 2192 2193:has(> [data-wf--utility-justify--variant="start"]), 2194:has(> [data-wf--utility-justify--variant="start"]) > .grid { 2195 justify-content: flex-start; 2196} 2197 2198:has(> [data-wf--utility-justify--variant="center"]), 2199:has(> [data-wf--utility-justify--variant="center"]) > .grid { 2200 justify-content: center; 2201} 2202 2203:has(> [data-wf--utility-justify--variant="end"]), 2204:has(> [data-wf--utility-justify--variant="end"]) > .grid { 2205 justify-content: flex-end; 2206} 2207 2208:has(> [data-wf--utility-justify--variant="between"]), 2209:has(> [data-wf--utility-justify--variant="between"]) > .grid { 2210 justify-content: space-between; 2211} 2212 2213:has(> [data-wf--utility-justify--variant="around"]), 2214:has(> [data-wf--utility-justify--variant="around"]) > .grid { 2215 justify-content: space-around; 2216} 2217 2218:has(> [data-wf--utility-justify--variant="evenly"]), 2219:has(> [data-wf--utility-justify--variant="evenly"]) > .grid { 2220 justify-content: space-evenly; 2221} 2222 2223/* ================================================ 2224 UTILITY / JUSTIFY (vertical distribution) 2225 ================================================ */ 2226 2227[data-wf--utility-justify--variant] { 2228 display: none; 2229} 2230 2231:has(> [data-wf--utility-justify--variant="start"]), 2232:has(> [data-wf--utility-justify--variant="start"]) > .grid { 2233 align-content: start; 2234} 2235 2236:has(> [data-wf--utility-justify--variant="center"]), 2237:has(> [data-wf--utility-justify--variant="center"]) > .grid { 2238 align-content: center; 2239} 2240 2241:has(> [data-wf--utility-justify--variant="end"]), 2242:has(> [data-wf--utility-justify--variant="end"]) > .grid { 2243 align-content: end; 2244} 2245 2246:has(> [data-wf--utility-justify--variant="between"]), 2247:has(> [data-wf--utility-justify--variant="between"]) > .grid { 2248 align-content: space-between; 2249} 2250 2251:has(> [data-wf--utility-justify--variant="around"]), 2252:has(> [data-wf--utility-justify--variant="around"]) > .grid { 2253 align-content: space-around; 2254} 2255 2256:has(> [data-wf--utility-justify--variant="evenly"]), 2257:has(> [data-wf--utility-justify--variant="evenly"]) > .grid { 2258 align-content: space-evenly; 2259} 2260 2261:has(> [data-wf--utility-justify--variant="stretch"]), 2262:has(> [data-wf--utility-justify--variant="stretch"]) > .grid { 2263 align-content: stretch; 2264} 2265</style></div><div class="hide w-embed"><style> 2266 2267</style></div><div class="hide w-embed"><style> 2268/* ================================================ 2269 UTILITY / MAX WIDTH 2270 ===========
2270===================================== */ 2271 2272[data-wf--utility-max-width--variant] { 2273 display: none; 2274} 2275 2276:has(> [data-wf--utility-max-width--variant="full"]) { 2277 max-width: var(--_max-widths---full); 2278} 2279 2280:has(> [data-wf--utility-max-width--variant="xxsmall"]) { 2281 max-width: var(--_max-widths---xxsmall); 2282} 2283 2284:has(> [data-wf--utility-max-width--variant="xsmall"]) { 2285 max-width: var(--_max-widths---xsmall); 2286} 2287 2288:has(> [data-wf--utility-max-width--variant="small"]) { 2289 max-width: var(--_max-widths---small); 2290} 2291 2292:has(> [data-wf--utility-max-width--variant="medium"]) { 2293 max-width: var(--_max-widths---medium); 2294} 2295 2296:has(> [data-wf--utility-max-width--variant="large"]) { 2297 max-width: var(--_max-widths---large); 2298} 2299 2300:has(> [data-wf--utility-max-width--variant="xlarge"]) { 2301 max-width: var(--_max-widths---xlarge); 2302} 2303 2304:has(> [data-wf--utility-max-width--variant="xxlarge"]) { 2305 max-width: var(--_max-widths---xxlarge); 2306} 2307</style></div><div class="hide w-embed"><style> 2308/* ================================================ 2309 UTILITY / OPACITY 2310 ================================================ */ 2311 2312/* Utility / Opacity */ 2313[data-wf--utility-opacity--variant] { 2314 display: none; 2315} 2316 2317:has(> [data-wf--utility-opacity--variant="90"]) { 2318 opacity: 0.9; 2319} 2320:has(> [data-wf--utility-opacity--variant="80"]) { 2321 opacity: 0.8; 2322} 2323:has(> [data-wf--utility-opacity--variant="70"]) { 2324 opacity: 0.7; 2325} 2326:has(> [data-wf--utility-opacity--variant="60"]) { 2327 opacity: 0.6; 2328} 2329:has(> [data-wf--utility-opacity--variant="50"]) { 2330 opacity: 0.5; 2331} 2332:has(> [data-wf--utility-opacity--variant="40"]) { 2333 opacity: 0.4; 2334} 2335:has(> [data-wf--utility-opacity--variant="30"]) { 2336 opacity: 0.3; 2337} 2338:has(> [data-wf--utility-opacity--variant="20"]) { 2339 opacity: 0.2; 2340} 2341:has(> [data-wf--utility-opacity--variant="10"]) { 2342 opacity: 0.1; 2343} 2344</style></div><div class="hide w-embed"><style> 2345[data-wf--utility-order-mobile--variant] { 2346 display: none; 2347} 2348@media (max-width: 767px) { 2349 :has(> [data-wf--utility-order-mobile--variant="1"]), 2350 :has(> * > [data-wf--utility-order-mobile--variant="1"]) { 2351 order: 1 !important; 2352 } 2353 :has(> [data-wf--utility-order-mobile--variant="2"]), 2354 :has(> * > [data-wf--utility-order-mobile--variant="2"]) { 2355 order: 2 !important; 2356 } 2357 :has(> [data-wf--utility-order-mobile--variant="3"]), 2358 :has(> * > [data-wf--utility-order-mobile--variant="3"]) { 2359 order: 3 !important; 2360 } 2361 :has(> [data-wf--utility-order-mobile--variant="4"]), 2362 :has(> * > [data-wf--utility-order-mobile--variant="4"]) { 2363 order: 4 !important; 2364 } 2365} 2366</style></div><div class="hide w-embed"><style> 2367/* ================================================ 2368 UTILITY / TEXT ALIGN 2369 ================================================ */ 2370 2371[data-wf--utility-text-align--variant] { 2372 display: none; 2373} 2374 2375:has(> [data-wf--utility-text-align--variant="left"]), 2376:has(> [data-wf--utility-text-align--variant="left"]) h1, 2377:has(> [data-wf--utility-text-align--variant="left"]) h2, 2378:has(> [data-wf--utility-text-align--variant="left"]) h3, 2379:has(> [data-wf--utility-text-align--variant="left"]) h4, 2380:has(> [data-wf--utility-text-align--variant="left"]) h5, 2381:has(> [data-wf--utility-text-align--variant="left"]) h6, 2382:has(> [data-wf--utility-text-align--variant="left"]) p { 2383 text-align: left; 2384} 2385 2386:has(> [data-wf--utility-text-align--variant="center"]), 2387:has(> [data-wf--utility-text-align--variant="center"]) h1, 2388:has(> [data-wf--utility-text-align--variant="center"]) h2, 2389:has(> [data-wf--utility-text-align--variant="center"]) h3, 2390:has(> [data-wf--utility-text-align--variant="center"]) h4, 2391:has(> [data-wf--utility-text-align--variant="center"]) h5, 2392:has(> [data-wf--utility-text-align--variant="center"]) h6, 2393:has(> [data-wf--utility-text-align--variant="center"]) p { 2394 text-align: center; 2395} 2396 2397:has(> [data-wf--utility-text-align--variant="right"]), 2398:has(> [data-wf--utility-text-align--variant="right"]) h1, 2399:has(> [data-wf--utility-text-align--variant="right"]) h2, 2400:has(> [data-wf--utility-text-align--variant="right"]) h3, 2401:has(> [data-wf--utility-text-align--variant="right"]) h4, 2402:has(> [data-wf--utility-text-align--variant="right"]) h5, 2403:has(> [data-wf--utility-text-align--variant="right"]) h6, 2404:has(> [data-wf--utility-text-align--variant="right"]) p { 2405 text-align: right; 2406} 2407 2408/* ================================================ 2409 UTILITY / TEXT ALIGN (MOBILE) 2410 Overrides text alignment at 767px and below. 2411 Place as a direct child of the component wrapper. 2412 ================================================ */ 2413 2414[data-wf--utility-text-align-mobile--variant] { 2415 display: none; 2416} 2417 2418@media (max-width: 767px) { 2419 :has(> [data-wf--utility-text-align-mobile--variant="left"]), 2420 :has(> [data-wf--utility-text-align-mobile--variant="left"]) h1, 2421 :has(> [data-wf--utility-text-align-mobile--variant="left"]) h2, 2422 :has(> [data-wf--utility-text-align-mobile--variant="left"]) h3, 2423 :has(> [data-wf--utility-text-align-mobile--variant="left"]) h4, 2424 :has(> [data-wf--utility-text-align-mobile--variant="left"]) h5, 2425 :has(> [data-wf--utility-text-align-mobile--variant="left"]) h6, 2426 :has(> [data-wf--utility-text-align-mobile--variant="left"]) p { 2427 text-align: left; 2428 } 2429 2430 :has(> [data-wf--utility-text-align-mobile--variant="center"]), 2431 :has(> [data-wf--utility-text-align-mobile--variant="center"]) h1, 2432 :has(> [data-wf--utility-text-align-mobile--variant="center"]) h2, 2433 :has(> [data-wf--utility-text-align-mobile--variant="center"]) h3, 2434 :has(> [data-wf--utility-text-align-mobile--variant="center"]) h4, 2435 :has(> [data-wf--utility-text-align-mobile--variant="center"]) h5, 2436 :has(> [data-wf--utility-text-align-mobile--variant="center"]) h6, 2437 :has(> [data-wf--utility-text-align-mobile--variant="center"]) p { 2438 text-align: center; 2439 } 2440 2441 :has(> [data-wf--utility-text-align-mobile--variant="right"]), 2442 :has(> [data-wf--utility-text-align-mobile--variant="right"]) h1, 2443 :has(> [data-wf--utility-text-align-mobile--variant="right"]) h2, 2444 :has(> [data-wf--utility-text-align-mobile--variant="right"]) h3, 2445 :has(> [data-wf--utility-text-align-mobile--variant="right"]) h4, 2446 :has(> [data-wf--utility-text-align-mobile--variant="right"]) h5, 2447 :has(> [data-wf--utility-text-align-mobile--variant="right"]) h6, 2448 :has(> [data-wf--utility-text-align-mobile--variant="right"]) p { 2449 text-align: right; 2450 } 2451} 2452</style></div><div class="hide w-embed"><style> 2453/* ================================================ 2454 UTILITY / TEXT COLOR 2455 ================================================ */ 2456 2457[data-wf--utility-text-color--variant] { 2458 display: none; 2459} 2460 2461:has(> [data-wf--utility-text-color--variant="scheme"]) h1, 2462:has(> [data-wf--utility-text-color--variant="scheme"]) h2, 2463:has(> [data-wf--utility-text-color--variant="scheme"]) h3, 2464:has(> [data-wf--utility-text-color--variant="scheme"]) h4, 2465:has(> [data-wf--utility-text-color--variant="scheme"]) h5, 2466:has(> [data-wf--utility-text-color--variant="scheme"]) h6 { 2467 color: var(--scheme-heading); 2468} 2469 2470:has(> [data-wf--utility-text-color--variant="scheme"]) p,
2471:has(> [data-wf--utility-text-color--variant="scheme"]) li, 2472:has(> [data-wf--utility-text-color--variant="scheme"]) span, 2473:has(> [data-wf--utility-text-color--variant="scheme"]) label { 2474 color: var(--scheme-paragraph); 2475} 2476 2477:has(> [data-wf--utility-text-color--variant="inverse"]), 2478:has(> [data-wf--utility-text-color--variant="inverse"]) h1, 2479:has(> [data-wf--utility-text-color--variant="inverse"]) h2, 2480:has(> [data-wf--utility-text-color--variant="inverse"]) h3, 2481:has(> [data-wf--utility-text-color--variant="inverse"]) h4, 2482:has(> [data-wf--utility-text-color--variant="inverse"]) h5, 2483:has(> [data-wf--utility-text-color--variant="inverse"]) h6, 2484:has(> [data-wf--utility-text-color--variant="inverse"]) p { 2485 color: var(--_semantic-tokens---text--text-inverse); 2486} 2487 2488:has(> [data-wf--utility-text-color--variant="primary"]), 2489:has(> [data-wf--utility-text-color--variant="primary"]) h1, 2490:has(> [data-wf--utility-text-color--variant="primary"]) h2, 2491:has(> [data-wf--utility-text-color--variant="primary"]) h3, 2492:has(> [data-wf--utility-text-color--variant="primary"]) h4, 2493:has(> [data-wf--utility-text-color--variant="primary"]) h5, 2494:has(> [data-wf--utility-text-color--variant="primary"]) h6, 2495:has(> [data-wf--utility-text-color--variant="primary"]) p { 2496 color: var(--_semantic-tokens---text--text-primary); 2497} 2498 2499:has(> [data-wf--utility-text-color--variant="secondary"]), 2500:has(> [data-wf--utility-text-color--variant="secondary"]) h1, 2501:has(> [data-wf--utility-text-color--variant="secondary"]) h2, 2502:has(> [data-wf--utility-text-color--variant="secondary"]) h3, 2503:has(> [data-wf--utility-text-color--variant="secondary"]) h4, 2504:has(> [data-wf--utility-text-color--variant="secondary"]) h5, 2505:has(> [data-wf--utility-text-color--variant="secondary"]) h6, 2506:has(> [data-wf--utility-text-color--variant="secondary"]) p { 2507 color: var(--_semantic-tokens---text--text-secondary); 2508} 2509 2510:has(> [data-wf--utility-text-color--variant="tertiary"]), 2511:has(> [data-wf--utility-text-color--variant="tertiary"]) h1, 2512:has(> [data-wf--utility-text-color--variant="tertiary"]) h2, 2513:has(> [data-wf--utility-text-color--variant="tertiary"]) h3, 2514:has(> [data-wf--utility-text-color--variant="tertiary"]) h4, 2515:has(> [data-wf--utility-text-color--variant="tertiary"]) h5, 2516:has(> [data-wf--utility-text-color--variant="tertiary"]) h6, 2517:has(> [data-wf--utility-text-color--variant="tertiary"]) p { 2518 color: var(--_semantic-tokens---text--text-tertiary); 2519} 2520 2521:has(> [data-wf--utility-text-color--variant="brand"]), 2522:has(> [data-wf--utility-text-color--variant="brand"]) h1, 2523:has(> [data-wf--utility-text-color--variant="brand"]) h2, 2524:has(> [data-wf--utility-text-color--variant="brand"]) h3, 2525:has(> [data-wf--utility-text-color--variant="brand"]) h4, 2526:has(> [data-wf--utility-text-color--variant="brand"]) h5, 2527:has(> [data-wf--utility-text-color--variant="brand"]) h6, 2528:has(> [data-wf--utility-text-color--variant="brand"]) p { 2529 color: var(--_semantic-tokens---text--text-brand); 2530} 2531</style></div><div class="hide w-embed"><style> 2532/* ================================================ 2533 UTILITY / TEXT SIZE 2534 ================================================ */ 2535 2536[data-wf--utility-text-size--variant] { 2537 display: none; 2538} 2539 2540:has(> [data-wf--utility-text-size--variant="display"]), 2541:has(> [data-wf--utility-text-size--variant="display"]) h1, 2542:has(> [data-wf--utility-text-size--variant="display"]) h2, 2543:has(> [data-wf--utility-text-size--variant="display"]) h3, 2544:has(> [data-wf--utility-text-size--variant="display"]) h4, 2545:has(> [data-wf--utility-text-size--variant="display"]) h5, 2546:has(> [data-wf--utility-text-size--variant="display"]) h6, 2547:has(> [data-wf--utility-text-size--variant="display"]) p { 2548 font-size: var(--_typography---heading-sizes--display); 2549 line-height: var(--_typography---line-height--display); 2550 letter-spacing: var(--_typography---letter-spacing--display); 2551} 2552 2553:has(> [data-wf--utility-text-size--variant="h1"]), 2554:has(> [data-wf--utility-text-size--variant="h1"]) h1, 2555:has(> [data-wf--utility-text-size--variant="h1"]) h2, 2556:has(> [data-wf--utility-text-size--variant="h1"]) h3, 2557:has(> [data-wf--utility-text-size--variant="h1"]) h4, 2558:has(> [data-wf--utility-text-size--variant="h1"]) h5, 2559:has(> [data-wf--utility-text-size--variant="h1"]) h6, 2560:has(> [data-wf--utility-text-size--variant="h1"]) p { 2561 font-size: var(--_typography---heading-sizes--h1); 2562 line-height: var(--_typography---line-height--h1); 2563 letter-spacing: var(--_typography---letter-spacing--h1); 2564} 2565 2566:has(> [data-wf--utility-text-size--variant="h2"]), 2567:has(> [data-wf--utility-text-size--variant="h2"]) h1, 2568:has(> [data-wf--utility-text-size--variant="h2"]) h2, 2569:has(> [data-wf--utility-text-size--variant="h2"]) h3, 2570:has(> [data-wf--utility-text-size--variant="h2"]) h4, 2571:has(> [data-wf--utility-text-size--variant="h2"]) h5, 2572:has(> [data-wf--utility-text-size--variant="h2"]) h6, 2573:has(> [data-wf--utility-text-size--variant="h2"]) p { 2574 font-size: var(--_typography---heading-sizes--h2); 2575 line-height: var(--_typography---line-height--h2); 2576 letter-spacing: var(--_typography---letter-spacing--h2); 2577} 2578 2579:has(> [data-wf--utility-text-size--variant="h3"]), 2580:has(> [data-wf--utility-text-size--variant="h3"]) h1, 2581:has(> [data-wf--utility-text-size--variant="h3"]) h2, 2582:has(> [data-wf--utility-text-size--variant="h3"]) h3, 2583:has(> [data-wf--utility-text-size--variant="h3"]) h4, 2584:has(> [data-wf--utility-text-size--variant="h3"]) h5, 2585:has(> [data-wf--utility-text-size--variant="h3"]) h6, 2586:has(> [data-wf--utility-text-size--variant="h3"]) p { 2587 font-size: var(--_typography---heading-sizes--h3); 2588 line-height: var(--_typography---line-height--h3); 2589 letter-spacing: var(--_typography---letter-spacing--h3); 2590} 2591 2592:has(> [data-wf--utility-text-size--variant="h4"]), 2593:has(> [data-wf--utility-text-size--variant="h4"]) h1, 2594:has(> [data-wf--utility-text-size--variant="h4"]) h2, 2595:has(> [data-wf--utility-text-size--variant="h4"]) h3, 2596:has(> [data-wf--utility-text-size--variant="h4"]) h4, 2597:has(> [data-wf--utility-text-size--variant="h4"]) h5, 2598:has(> [data-wf--utility-text-size--variant="h4"]) h6, 2599:has(> [data-wf--utility-text-size--variant="h4"]) p { 2600 font-size: var(--_typography---heading-sizes--h4); 2601 line-height: var(--_typography---line-height--h4); 2602 letter-spacing: var(--_typography---letter-spacing--h4); 2603} 2604 2605:has(> [data-wf--utility-text-size--variant="h5"]), 2606:has(> [data-wf--utility-text-size--variant="h5"]) h1, 2607:has(> [data-wf--utility-text-size--variant="h5"]) h2, 2608:has(> [data-wf--utility-text-size--variant="h5"]) h3, 2609:has(> [data-wf--utility-text-size--variant="h5"]) h4, 2610:has(>
2610 [data-wf--utility-text-size--variant="h5"]) h5, 2611:has(> [data-wf--utility-text-size--variant="h5"]) h6, 2612:has(> [data-wf--utility-text-size--variant="h5"]) p { 2613 font-size: var(--_typography---heading-sizes--h5); 2614 line-height: var(--_typography---line-height--h5); 2615 letter-spacing: var(--_typography---letter-spacing--h5); 2616} 2617 2618:has(> [data-wf--utility-text-size--variant="h6"]), 2619:has(> [data-wf--utility-text-size--variant="h6"]) h1, 2620:has(> [data-wf--utility-text-size--variant="h6"]) h2, 2621:has(> [data-wf--utility-text-size--variant="h6"]) h3, 2622:has(> [data-wf--utility-text-size--variant="h6"]) h4, 2623:has(> [data-wf--utility-text-size--variant="h6"]) h5, 2624:has(> [data-wf--utility-text-size--variant="h6"]) h6, 2625:has(> [data-wf--utility-text-size--variant="h6"]) p { 2626 font-size: var(--_typography---heading-sizes--h6); 2627 line-height: var(--_typography---line-height--h6); 2628 letter-spacing: var(--_typography---letter-spacing--h6); 2629} 2630 2631:has(> [data-wf--utility-text-size--variant="text-large"]), 2632:has(> [data-wf--utility-text-size--variant="text-large"]) h1, 2633:has(> [data-wf--utility-text-size--variant="text-large"]) h2, 2634:has(> [data-wf--utility-text-size--variant="text-large"]) h3, 2635:has(> [data-wf--utility-text-size--variant="text-large"]) h4, 2636:has(> [data-wf--utility-text-size--variant="text-large"]) h5, 2637:has(> [data-wf--utility-text-size--variant="text-large"]) h6, 2638:has(> [data-wf--utility-text-size--variant="text-large"]) p { 2639 font-size: var(--_typography---body-sizes--text-large); 2640 line-height: var(--_typography---line-height--paragraph); 2641 letter-spacing: var(--_typography---letter-spacing--paragraph); 2642} 2643 2644:has(> [data-wf--utility-text-size--variant="text-medium"]), 2645:has(> [data-wf--utility-text-size--variant="text-medium"]) h1, 2646:has(> [data-wf--utility-text-size--variant="text-medium"]) h2, 2647:has(> [data-wf--utility-text-size--variant="text-medium"]) h3, 2648:has(> [data-wf--utility-text-size--variant="text-medium"]) h4, 2649:has(> [data-wf--utility-text-size--variant="text-medium"]) h5, 2650:has(> [data-wf--utility-text-size--variant="text-medium"]) h6, 2651:has(> [data-wf--utility-text-size--variant="text-medium"]) p { 2652 font-size: var(--_typography---body-sizes--text-medium); 2653 line-height: var(--_typography---line-height--paragraph); 2654 letter-spacing: var(--_typography---letter-spacing--paragraph); 2655} 2656 2657:has(> [data-wf--utility-text-size--variant="text-regular"]), 2658:has(> [data-wf--utility-text-size--variant="text-regular"]) h1, 2659:has(> [data-wf--utility-text-size--variant="text-regular"]) h2, 2660:has(> [data-wf--utility-text-size--variant="text-regular"]) h3, 2661:has(> [data-wf--utility-text-size--variant="text-regular"]) h4, 2662:has(> [data-wf--utility-text-size--variant="text-regular"]) h5, 2663:has(> [data-wf--utility-text-size--variant="text-regular"]) h6, 2664:has(> [data-wf--utility-text-size--variant="text-regular"]) p { 2665 font-size: var(--_typography---body-sizes--text-regular); 2666 line-height: var(--_typography---line-height--paragraph); 2667 letter-spacing: var(--_typography---letter-spacing--paragraph); 2668} 2669 2670:has(> [data-wf--utility-text-size--variant="text-small"]), 2671:has(> [data-wf--utility-text-size--variant="text-small"]) h1, 2672:has(> [data-wf--utility-text-size--variant="text-small"]) h2, 2673:has(> [data-wf--utility-text-size--variant="text-small"]) h3, 2674:has(> [data-wf--utility-text-size--variant="text-small"]) h4, 2675:has(> [data-wf--utility-text-size--variant="text-small"]) h5, 2676:has(> [data-wf--utility-text-size--variant="text-small"]) h6, 2677:has(> [data-wf--utility-text-size--variant="text-small"]) p { 2678 font-size: var(--_typography---body-sizes--text-small); 2679 line-height: var(--_typography---line-height--paragraph); 2680 letter-spacing: var(--_typography---letter-spacing--paragraph); 2681} 2682 2683:has(> [data-wf--utility-text-size--variant="text-tiny"]), 2684:has(> [data-wf--utility-text-size--variant="text-tiny"]) h1, 2685:has(> [data-wf--utility-text-size--variant="text-tiny"]) h2, 2686:has(> [data-wf--utility-text-size--variant="text-tiny"]) h3, 2687:has(> [data-wf--utility-text-size--variant="text-tiny"]) h4, 2688:has(> [data-wf--utility-text-size--variant="text-tiny"]) h5, 2689:has(> [data-wf--utility-text-size--variant="text-tiny"]) h6, 2690:has(> [data-wf--utility-text-size--variant="text-tiny"]) p { 2691 font-size: var(--_typography---body-sizes--text-tiny); 2692 line-height: var(--_typography---line-height--paragraph); 2693 letter-spacing: var(--_typography---letter-spacing--paragraph); 2694} 2695 2696/* ================================================
2697 UTILITY / TEXT SIZE (MOBILE) 2698 Overrides font size, line height, and letter 2699 spacing at 767px and below. Place as a direct 2700 child of the component wrapper. 2701 ================================================ */ 2702 2703[data-wf--utility-text-size-mobile--variant] { 2704 display: none; 2705} 2706 2707@media (max-width: 767px) { 2708 /* --- Display --- */ 2709 :has(> [data-wf--utility-text-size-mobile--variant="display"]), 2710 :has(> [data-wf--utility-text-size-mobile--variant="display"]) h1, 2711 :has(> [data-wf--utility-text-size-mobile--variant="display"]) h2, 2712 :has(> [data-wf--utility-text-size-mobile--variant="display"]) h3, 2713 :has(> [data-wf--utility-text-size-mobile--variant="display"]) h4, 2714 :has(> [data-wf--utility-text-size-mobile--variant="display"]) h5, 2715 :has(> [data-wf--utility-text-size-mobile--variant="display"]) h6, 2716 :has(> [data-wf--utility-text-size-mobile--variant="display"]) p { 2717 font-size: var(--_typography---heading-sizes--display); 2718 line-height: var(--_typography---line-height--display); 2719 letter-spacing: var(--_typography---letter-spacing--display); 2720 } 2721 2722 /* --- H1 --- */ 2723 :has(> [data-wf--utility-text-size-mobile--variant="h1"]), 2724 :has(> [data-wf--utility-text-size-mobile--variant="h1"]) h1, 2725 :has(> [data-wf--utility-text-size-mobile--variant="h1"]) h2, 2726 :has(> [data-wf--utility-text-size-mobile--variant="h1"]) h3, 2727 :has(> [data-wf--utility-text-size-mobile--variant="h1"]) h4, 2728 :has(> [data-wf--utility-text-size-mobile--variant="h1"]) h5, 2729 :has(> [data-wf--utility-text-size-mobile--variant="h1"]) h6, 2730 :has(> [data-wf--utility-text-size-mobile--variant="h1"]) p { 2731 font-size: var(--_typography---heading-sizes--h1); 2732 line-height: var(--_typography---line-height--h1); 2733 letter-spacing: var(--_typography---letter-spacing--h1); 2734 } 2735 2736 /* --- H2 --- */ 2737 :has(> [data-wf--utility-text-size-mobile--variant="h2"]), 2738 :has(> [data-wf--utility-text-size-mobile--variant="h2"]) h1, 2739 :has(> [data-wf--utility-text-size-mobile--variant="h2"]) h2, 2740 :has(> [data-wf--utility-text-size-mobile--variant="h2"]) h3, 2741 :has(> [data-wf--utility-text-size-mobile--variant="h2"]) h4, 2742 :has(> [data-wf--utility-text-size-mobile--variant="h2"]) h5, 2743 :has(> [data-wf--utility-text-size-mobile--variant="h2"]) h6, 2744 :has(> [data-wf--utility-text-size-mobile--variant="h2"]) p { 2745 font-size: var(--_typography---heading-sizes--h2); 2746 line-height: var(--_typography---line-height--h2); 2747 letter-spacing: var(--_typography---letter-spacing--h2); 2748 } 2749 2750 /* --- H3 --- */ 2751 :has(> [data-wf--utility-text-size-mobile--variant="h3"]), 2752 :has(> [data-wf--utility-text-size-mobile--variant="h3"]) h1, 2753 :has(> [data-wf--utility-text-size-mobile--variant="h3"]) h2, 2754 :has(> [data-wf--utility-text-size-mobile--variant="h3"]) h3, 2755 :has(> [data-wf--utility-text-size-mobile--variant="h3"]) h4, 2756 :has(> [data-wf--utility-text-size-mobile--variant="h3"]) h5, 2757 :has(> [data-wf--utility-text-size-mobile--variant="h3"]) h6, 2758 :has(> [data-wf--utility-text-size-mobile--variant="h3"]) p { 2759 font-size: var(--_typography---heading-sizes--h3); 2760 line-height: var(--_typography---line-height--h3); 2761 letter-spacing: var(--_typography---letter-spacing--h3); 2762 } 2763 2764 /* --- H4 --- */ 2765 :has(> [data-wf--utility-text-size-mobile--variant="h4"]), 2766 :has(> [data-wf--utility-text-size-mobile--variant="h4"]) h1, 2767 :has(> [data-wf--utility-text-size-mobile--variant="h4"]) h2, 2768 :has(> [data-wf--utility-text-size-mobile--variant="h4"]) h3, 2769 :has(> [data-wf--utility-text-size-mobile--variant="h4"]) h4, 2770 :has(> [data-wf--utility-text-size-mobile--variant="h4"]) h5, 2771 :has(> [data-wf--utility-text-size-mobile--variant="h4"]) h6, 2772 :has(> [data-wf--utility-text-size-mobile--variant="h4"]) p { 2773 font-size: var(--_typography---heading-sizes--h4); 2774 line-height: var(--_typography---line-height--h4); 2775 letter-spacing: var(--_typography---letter-spacing--h4); 2776 } 2777 2778 /* --- H5 --- */ 2779 :has(> [data-wf--utility-text-size-mobile--variant="h5"]), 2780 :has(> [data-wf--utility-text-size-mobile--variant="h5"]) h1, 2781 :has(> [data-wf--utility-text-size-mobile--variant="h5"]) h2, 2782 :has(> [data-wf--utility-text-size-mobile--variant="h5"]) h3, 2783 :has(> [data-wf--utility-text-size-mobile--variant="h5"]) h4, 2784 :has(>
2784 [data-wf--utility-text-size-mobile--variant="h5"]) h5, 2785 :has(> [data-wf--utility-text-size-mobile--variant="h5"]) h6, 2786 :has(> [data-wf--utility-text-size-mobile--variant="h5"]) p { 2787 font-size: var(--_typography---heading-sizes--h5); 2788 line-height: var(--_typography---line-height--h5); 2789 letter-spacing: var(--_typography---letter-spacing--h5); 2790 } 2791 2792 /* --- H6 --- */ 2793 :has(> [data-wf--utility-text-size-mobile--variant="h6"]), 2794 :has(> [data-wf--utility-text-size-mobile--variant="h6"]) h1, 2795 :has(> [data-wf--utility-text-size-mobile--variant="h6"]) h2, 2796 :has(> [data-wf--utility-text-size-mobile--variant="h6"]) h3, 2797 :has(> [data-wf--utility-text-size-mobile--variant="h6"]) h4, 2798 :has(> [data-wf--utility-text-size-mobile--variant="h6"]) h5, 2799 :has(> [data-wf--utility-text-size-mobile--variant="h6"]) h6, 2800 :has(> [data-wf--utility-text-size-mobile--variant="h6"]) p { 2801 font-size: var(--_typography---heading-sizes--h6); 2802 line-height: var(--_typography---line-height--h6); 2803 letter-spacing: var(--_typography---letter-spacing--h6); 2804 } 2805 2806 /* --- Large --- */ 2807 :has(> [data-wf--utility-text-size-mobile--variant="large"]), 2808 :has(> [data-wf--utility-text-size-mobile--variant="large"]) h1, 2809 :has(> [data-wf--utility-text-size-mobile--variant="large"]) h2, 2810 :has(> [data-wf--utility-text-size-mobile--variant="large"]) h3, 2811 :has(> [data-wf--utility-text-size-mobile--variant="large"]) h4, 2812 :has(> [data-wf--utility-text-size-mobile--variant="large"]) h5, 2813 :has(> [data-wf--utility-text-size-mobile--variant="large"]) h6, 2814 :has(> [data-wf--utility-text-size-mobile--variant="large"]) p { 2815 font-size: var(--_typography---body-sizes--text-large); 2816 line-height: var(--_typography---line-height--paragraph); 2817 letter-spacing: var(--_typography---letter-spacing--paragraph); 2818 } 2819 2820 /* --- Medium --- */ 2821 :has(> [data-wf--utility-text-size-mobile--variant="medium"]), 2822 :has(> [data-wf--utility-text-size-mobile--variant="medium"]) h1, 2823 :has(> [data-wf--utility-text-size-mobile--variant="medium"]) h2, 2824 :has(> [data-wf--utility-text-size-mobile--variant="medium"]) h3, 2825 :has(> [data-wf--utility-text-size-mobile--variant="medium"]) h4, 2826 :has(> [data-wf--utility-text-size-mobile--variant="medium"]) h5, 2827 :has(> [data-wf--utility-text-size-mobile--variant="medium"]) h6, 2828 :has(> [data-wf--utility-text-size-mobile--variant="medium"]) p { 2829 font-size: var(--_typography---body-sizes--text-medium); 2830 line-height: var(--_typography---line-height--paragraph); 2831 letter-spacing: var(--_typography---letter-spacing--paragraph); 2832 } 2833 2834 /* --- Small --- */ 2835 :has(> [data-wf--utility-text-size-mobile--variant="small"]), 2836 :has(> [data-wf--utility-text-size-mobile--variant="small"]) h1, 2837 :has(> [data-wf--utility-text-size-mobile--variant="small"]) h2, 2838 :has(> [data-wf--utility-text-size-mobile--variant="small"]) h3, 2839 :has(> [data-wf--utility-text-size-mobile--variant="small"]) h4, 2840 :has(> [data-wf--utility-text-size-mobile--variant="small"]) h5, 2841 :has(> [data-wf--utility-text-size-mobile--variant="small"]) h6, 2842 :has(> [data-wf--utility-text-size-mobile--variant="small"]) p { 2843 font-size: var(--_typography---body-sizes--text-small); 2844 line-height: var(--_typography---line-height--paragraph); 2845 letter-spacing: var(--_typography---letter-spacing--paragraph); 2846 } 2847 2848 /* --- Tiny --- */ 2849 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]), 2850 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]) h1, 2851 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]) h2, 2852 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]) h3, 2853 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]) h4, 2854 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]) h5, 2855 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]) h6, 2856 :has(> [data-wf--utility-text-size-mobile--variant="tiny"]) p { 2857 font-size: var(--_typography---body-sizes--text-tiny); 2858 line-height: var(--_typography---line-height--paragraph); 2859 letter-spacing: var(--_typography---letter-spacing--paragraph); 2860 } 2861} 2862</style></div><div class="hide w-embed"><style> 2863/* ================================================ 2864 UTILITY / TEXT TRANSFORM 2865 ================================================ */ 2866[data-wf--utility-text-transform--variant] { 2867 display: none; 2868} 2869:has(> [data-wf--utility-text-transform--variant="uppercase"]), 2870:has(> [data-wf--utility-text-transform--variant="uppercase"]) h1, 2871:has(> [data-wf--utility-text-transform--variant="uppercase"]) h2, 2872:has(> [data-wf--utility-text-transform--variant="uppercase"]) h3, 2873:has(> [data-wf--utility-text-transform--variant="uppercase"]) h4, 2874:has(> [data-wf--utility-text-transform--variant="uppercase"]) h5, 2875:has(> [data-wf--utility-text-transform--variant="uppercase"]) h6, 2876:has(> [data-wf--utility-text-transform--variant="uppercase"]) p { 2877 text-transform: uppercase; 2878} 2879:has(> [data-wf--utility-text-transform--variant="lowercase"]), 2880:has(> [data-wf--utility-text-transform--variant="lowercase"]) h1, 2881:has(> [data-wf--utility-text-transform--variant="lowercase"]) h2, 2882:has(> [data-wf--utility-text-transform--variant="lowercase"]) h3, 2883:has(> [data-wf--utility-text-transform--variant="lowercase"]) h4, 2884:has(> [data-wf--utility-text-transform--variant="lowercase"]) h5, 2885:has(> [data-wf--utility-text-transform--variant="lowercase"]) h6, 2886:has(> [data-wf--utility-text-transform--variant="lowercase"]) p { 2887 text-transform: lowercase; 2888} 2889:has(> [data-wf--utility-text-transform--variant="capitalize"]), 2890:has(> [data-wf--utility-text-transform--variant="capitalize"]) h1, 2891:has(> [data-wf--utility-text-transform--variant="capitalize"]) h2, 2892:has(> [data-wf--utility-text-transform--variant="capitalize"]) h3, 2893:has(> [data-wf--utility-text-transform--variant="capitalize"]) h4, 2894:has(> [data-wf--utility-text-transform--variant="capitalize"]) h5, 2895:has(> [data-wf--utility-text-transform--variant="capitalize"]) h6, 2896:has(> [data-wf--utility-text-transform--variant="capitalize"]) p { 2897 text-transform: capitalize; 2898} 2899:has(> [data-wf--utility-text-transform--variant="none"]), 2900:has(> [data-wf--utility-text-transform--variant="none"]) h1, 2901:has(> [data-wf--utility-text-transform--variant="none"]) h2, 2902:has(> [data-wf--utility-text-transform--variant="none"]) h3, 2903:has(> [data-wf--utility-text-transform--variant="none"]) h4, 2904:has(> [data-wf--utility-text-transform--variant="none"]) h5, 2905:has(> [data-wf--utility-text-transform--variant="none"]) h6, 2906:has(> [data-wf--utility-text-transform--variant="none"]) p { 2907 text-transform: none; 2908} 2909</style></div><div class="hide w-embed"><style> 2910/* ================================================ 2911 UTILITY / TEXT WEIGHT 2912 ================================================ */ 2913 2914[data-wf--utility-text-weight--variant] { 2915 display: none; 2916} 2917 2918:has(> [data-wf--utility-text-weight--variant="light"]), 2919:has(> [data-wf--utility-text-weight--variant="light"]) h1, 2920:has(> [data-wf--utility-text-weight--variant="light"]) h2, 2921:has(> [data-wf--utility-text-weight--variant="light"]) h3, 2922:has(> [data-wf--utility-text-weight--variant="light"]) h4, 2923:has(> [data-wf--utility-text-weight--variant="light"]) h5, 2924:has(> [data-wf--utility-text-weight--variant="light"]) h6, 2925:has(> [data-wf--utility-text-weight--variant="light"]) p { 2926 font-weight: var(--_typography---font-weights--light); 2927} 2928 2929:has(> [data-wf--utility-text-weight--variant="regular"]), 2930:has(> [data-wf--utility-text-weight--variant="regular"]) h1, 2931:has(> [data-wf--utility-text-weight--variant="regular"]) h2, 2932:has(> [data-wf--utility-text-weight--variant="regular"]) h3, 2933:has(> [data-wf--utility-text-weight--variant="regular"]) h4, 2934:has(> [data-wf--utility-text-weight--variant="regular"]) h5, 2935:has(> [data-wf--utility-text-weight--variant="regular"]) h6, 2936:has(> [data-wf--utility-text-weight--variant="regular"]) p { 2937 font-weight: var(--_typography---font-weights--regular); 2938} 2939 2940:has(> [data-wf--utility-text-weight--variant="medium"]), 2941:has(> [data-wf--utility-text-weight--variant="medium"]) h1, 2942:has(> [data-wf--utility-text-weight--variant="medium"]) h2, 2943:has(> [data-wf--utility-text-weight--variant="medium"]) h3, 2944:has(> [data-wf--utility-text-weight--variant="medium"]) h4, 2945:has(> [data-wf--utility-text-weight--variant="medium"]) h5, 2946:has(> [data-wf--utility-text-weight--variant="medium"]) h6, 2947:has(> [data-wf--utility-text-weight--variant="medium"]) p { 2948 font-weight: var(--_typography---font-weights--medium); 2949} 2950 2951:has(> [data-wf--utility-text-weight--variant="semibold"]), 2952:has(> [data-wf--utility-text-weight--variant="semibold"]) h1, 2953:has(> [data-wf--utility-text-weight--variant="semibold"]) h2, 2954:has(> [data-wf--utility-text-weight--variant="semibold"]) h3, 2955:has(> [data-wf--utility-text-weight--variant="semibold"]) h4, 2956:has(> [data-wf--utility-text-weight--variant="semibold"]) h5, 2957:has(> [data-wf--utility-text-weight--variant="semibold"]) h6, 2958:has(> [data-wf--utility-text-weight--variant="semibold"]) p { 2959 font-weight: var(--_typography---font-weights--semibold); 2960} 2961 2962:has(> [data-wf--utility-text-weight--variant="bold"]), 2963:has(> [data-wf--utility-text-weight--variant="bold"]) h1, 2964:has(> [data-wf--utility-text-weight--variant="bold"]) h2, 2965:has(> [data-wf--utility-text-weight--variant="bold"]) h3, 2966:has(> [data-wf--utility-text-weight--variant="bold"]) h4, 2967:has(> [data-wf--utility-text-weight--variant="bold"]) h5, 2968:has(> [data-wf--utility-text-weight--variant="bold"]) h6, 2969:has(> [data-wf--utility-text-weight--variant="bold"]) p { 2970 font-weight: var(--_typography---font-weights--bold); 2971} 2972</style></div><div class="hide w-embed"><style> 2973/* ================================================
2974 UTILITY / VISIBILITY 2975 Controls whether the parent element is visible 2976 at desktop or mobile breakpoints. Drop this 2977 component inside any element. 2978 2979 Variants: 2980 - Base (always visible) 2981 - Hide Tablet (hidden at 991px and below) 2982 - Hide Mobile (hidden at 767px and below) 2983 - Show Tablet (hidden on desktop, visible at 991px and below) 2984 - Show Mobile (hidden on desktop, visible at 767px and below) 2985 ================================================ */ 2986 2987[data-wf--utility-visibility--variant] { 2988 display: none; 2989} 2990 2991/* Hide Tablet: visible on desktop, hidden at 991px and below */ 2992@media (max-width: 991px) { 2993 :has(> [data-wf--utility-visibility--variant="hide-tablet"]) { 2994 display: none !important; 2995 } 2996} 2997 2998/* Hide Mobile: visible on desktop, hidden at 767px and below */ 2999@media (max-width: 767px) { 3000 :has(> [data-wf--utility-visibility--variant="hide-mobile"]) { 3001 display: none !important; 3002 } 3003} 3004 3005/* Show Tablet: hidden on desktop, visible at 991px and below */ 3006:has(> [data-wf--utility-visibility--variant="show-tablet"]) { 3007 display: none !important; 3008} 3009 3010@media (max-width: 991px) { 3011 :has(> [data-wf--utility-visibility--variant="show-tablet"]) { 3012 display: revert !important; 3013 } 3014} 3015 3016/* Show Mobile: hidden on desktop, visible at 767px and below */ 3017:has(> [data-wf--utility-visibility--variant="show-mobile"]) { 3018 display: none !important; 3019} 3020 3021@media (max-width: 767px) { 3022 :has(> [data-wf--utility-visibility--variant="show-mobile"]) { 3023 display: revert !important; 3024 } 3025} 3026</style></div><div class="hide w-embed"><style> 3027/* ================================================ 3028 UTILITY / WIDTH 3029 ================================================ */ 3030[data-wf--utility-width--variant] { 3031 display: none; 3032} 3033:has(> [data-wf--utility-width--variant="10"]) { 3034 width: 10%; 3035} 3036:has(> [data-wf--utility-width--variant="20"]) { 3037 width: 20%; 3038} 3039:has(> [data-wf--utility-width--variant="30"]) { 3040 width: 30%; 3041} 3042:has(> [data-wf--utility-width--variant="40"]) { 3043 width: 40%; 3044} 3045:has(> [data-wf--utility-width--variant="50"]) { 3046 width: 50%; 3047} 3048:has(> [data-wf--utility-width--variant="60"]) { 3049 width: 60%; 3050} 3051:has(> [data-wf--utility-width--variant="70"]) { 3052 width: 70%; 3053} 3054:has(> [data-wf--utility-width--variant="80"]) { 3055 width: 80%; 3056} 3057:has(> [data-wf--utility-width--variant="90"]) { 3058 width: 90%; 3059} 3060:has(> [data-wf--utility-width--variant="100"]) { 3061 width: 100%; 3062} 3063</style></div><div class="hide w-embed"><style> 3064/* ================================================ 3065 UTILITY / Z-INDEX 3066 ================================================ */ 3067 3068[data-wf--utility-z-index--variant] { 3069 display: none; 3070} 3071 3072:has(> [data-wf--utility-z-index--variant="-1"]) { 3073 z-index: -1; 3074} 3075:has(> [data-wf--utility-z-index--variant="0"]) { 3076 z-index: 0; 3077} 3078:has(> [data-wf--utility-z-index--variant="1"]) { 3079 z-index: 1; 3080} 3081:has(> [data-wf--utility-z-index--variant="2"]) { 3082 z-index: 2; 3083} 3084</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
308405 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
308405 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">
3084<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">
3084<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">
3084<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">
3084<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">
3084Book 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
3084s 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">
3084<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">
3084Start 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>
3084Automatic 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>
3084<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>
3084<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">
3084<script> 3085window.Webflow ||= []; 3086window.Webflow.push(function () { 3087 var items = document.querySelectorAll('.faqs_item'); 3088 if (!items.length) return; 3089 3090 items.forEach(function (item) { 3091 var card = item.querySelector('.faq-item_card'); 3092 var answer = item.querySelector('.faq-item_answer'); 3093 var icon = item.querySelector('.faq-item_icon'); 3094 if (!card || !answer) return; 3095 3096 answer.style.overflow = 'hidden'; 3097 answer.style.height = '0px'; 3098 answer.style.transition = 'height 0.35s ease'; 3099 card.style.cursor = 'pointer'; 3100 3101 if (icon) { 3102 icon.style.transition = 'transform 0.35s ease'; 3103 icon.style.transformOrigin = 'center'; 3104 } 3105 3106 var isOpen = false; 3107 3108 card.addEventListener('click', function () { 3109 if (!isOpen) { 3110 answer.style.height = answer.scrollHeight + 'px'; 3111 if (icon) icon.style.transform = 'rotate(-45deg)'; 3112 isOpen = true; 3113 } else { 3114 // If currently at 'auto', snap to a pixel value so the transition to 0 has something to animate from. 3115 answer.style.height = answer.scrollHeight + 'px'; 3116 answer.offsetHeight; // force reflow 3117 answer.style.height = '0px'; 3118 if (icon) icon.style.transform = 'rotate(0deg)'; 3119 isOpen = false; 3120 } 3121 }); 3122 3123 answer.addEventListener('transitionend', function (e) { 3124 if (e.propertyName === 'height' && isOpen) { 3125 answer.style.height = 'auto'; 3126 } 3127 }); 3128 }); 3129}); 3130</script>
3130</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">
3130<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">
3130<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>
3130Does 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
3130072 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">
3130<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">
3130© 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>
3130<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>
3130<script src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/js/webflow.schunk.f2efb3c5440a81cf.js" type="text/javascript" integrity="sha384-VK02VJvMib7ytrF5M2joPWNtDQs366FZgEQ5B+Iwnjx0WBnwQXfootyziSYxdrmS" crossorigin="anonymous"></script>
3130<script src="https://cdn.prod.website-files.com/6a0dc648b0f944cab4dc0cb1/js/webflow.4cc304e8.1524c9732310d729.js" type="text/javascript" integrity="sha384-rpcvZe38EeDL9DMIqNElNp61kz9Isa5DTnn8qR3+LakG299l2gtjXNncf0sec65V" crossorigin="anonymous"></script>
3130 3131
3132<script> 3133 // Get the element with id "year" and set it to the current year 3134document.getElementById('year').textContent = new Date().getFullYear(); 3135</script>
3135 3136
3137<script> 3138window.Webflow.push(function () { 3139 var icon = document.querySelector('.navbar-banner_icon'); 3140 var wrapper = document.querySelector('.navbar_banner-wrapper'); 3141 var hero = document.querySelector('[data-wf--padding-vertical--variant="hero"]'); 3142 3143 if (!icon || !wrapper) return; 3144 3145 // Banner already hidden from a previous visit â nothing to wire up 3146 if (localStorage.getItem('bannerClosed') === '1') return; 3147 3148 // Allow height to animate smoothly 3149 wrapper.style.overflow = 'hidden'; 3150 wrapper.style.transition = 'height 0.4s ease'; 3151 3152 // Prep the hero padding transition to sync with the banner collapse 3153 if (hero) { 3154 var currentPadding = parseFloat(window.getComputedStyle(hero).paddingTop); 3155 hero.style.paddingTop = currentPadding + 'px'; // pin computed value so transition works 3156 hero.style.transition = 'padding-top 0.4s ease'; 3157 } 3158 3159 icon.addEventListener('click', function () { 3160 // Pin the current height so the browser has a concrete value to transition from 3161 wrapper.style.height = wrapper.offsetHeight + 'px'; 3162 3163 // Double rAF ensures the pinned height is committed before we animate to 0 3164 requestAnimationFrame(function () { 3165 requestAnimationFrame(function () { 3166 wrapper.style.height = '0px'; 3167 3168 // Decrease hero top padding by 3.25rem in sync with the banner collapsing 3169 if (hero) { 3170 var rootFontSize = parseFloat(window.getComputedStyle(document.documentElement).fontSize); 3171 hero.style.paddingTop = (currentPadding - (3.25 * rootFontSize)) + 'px'; 3172 } 3173 3174 // After the animation finishes, remove from layout and save the closed state 3175 wrapper.addEventListener('transitionend', function () { 3176 wrapper.style.display = 'none'; 3177 }, { once: true }); 3178 3179 localStorage.setItem('bannerClosed', '1'); 3180 }); 3181 }); 3182 }); 3183}); 3184</script>
3184</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.