PageSourceSearch

https://portworx.com/

html portworx.com collected 2026-09-24 08:53:33 UTC 239,530 bytes, 4,011 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US">
3
4<head>
5  <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
6  <meta http-equiv="x-ua-compatible" content="ie=edge">
6<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"594514369",accountID:"4682845",trustKey:"4682845",xpid:"UAAPU15XDRAFVFdTBggFX10=",licenseKey:"NRJS-57c3e346344b860b280",applicationID:"506119299",browserID:"594514369"};;/*! For license information please see nr-loader-spa-1.322.0.min.js.LICENSE.txt */
7(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
7e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
7const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
7if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
7o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
7(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
7;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,s,a)=>
7{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-SARROoir04gFygxlr/+mTI+PyMeFL+epi1vnUA2G5mTQ7s3G44ItQBJKbOaIMdIE5OBzuaKhb4k5JYta0NICxg==",249:"sha512-6DKQo5WP7YlpzX6l9UfYkgGLGK2oITdoaYTcZtgl5Foa22NY63lED/0z1hBBLeD7qZCz/YdlY19/r8drlol1tg==",212:"sha512-CYxuvSpDx6ErqWJwAvpoHn54eY37YdMcFao/axOumlw3BsSL7yioOeB2LWViY/Njs818sQG10dSglUhYCMfLPw==",238:"sha512-mvbMILWa3ohYst+u6TLfNrmtY2swUIB3rbJFN/uzt3W62KhgvUVwB81UEZ1R0/it5bfrQ5EVz864pi/CAmucNQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
7ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
7{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
7null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
7dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
7imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
7return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
7!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
7if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
7);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
7class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
7h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
7
8  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
9  <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
10	<style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style>
11	
12	<!-- This site is optimized with the Yoast SEO Premium plugin v20.1 (Yoast SEO v24.2) - https://yoast.com/wordpress/plugins/seo/ -->
13	<title>Portworx | Kubernetes Storage &amp; Data Management</title>
14	<meta name="description" content="Automate, protect, and unify Kubernetes storage and data services across cloud and on-prem environments. Try Portworx or explore the platform." />
15	<link rel="canonical" href="https://portworx.com/" />
16	<meta property="og:locale" content="en_US" />
17	<meta property="og:type" content="website" />
18	<meta property="og:title" content="New - Persistent Kubernetes Storage &amp; Data Management | Portworx" />
19	<meta property="og:description" content="Automate, protect, and unify Kubernetes storage and data services across cloud and on-prem environments. Try Portworx or explore the platform." />
20	<meta property="og:url" content="https://portworx.com/" />
21	<meta property="og:site_name" content="Portworx" />
22	<meta property="article:modified_time" content="2026-09-23T15:17:38+00:00" />
23	<meta property="og:image" content="https://portworx.com/wp-content/themes/portworx/api-image-proxy.php?url=https%3A%2F%2Fportworx.com%2Fwp-content%2Fuploads%2F2023%2F10%2Fpw-resources-social-preview-new.png" />
24	<meta property="og:image:width" content="1024" />
25	<meta property="og:image:height" content="536" />
26	<meta property="og:image:type" content="image/png" />
27	<meta name="twitter:card" content="summary_large_image" />
28	<meta name="twitter:image" content="https://portworx.com/wp-content/themes/portworx/api-image-proxy.php?url=https%3A%2F%2Fportworx.com%2Fwp-content%2Fuploads%2F2023%2F10%2Fpw-resources-social-preview-new-1.png" />
29	
29<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://portworx.com/","url":"https://portworx.com/","name":"Portworx | Kubernetes Storage & Data Management","isPartOf":{"@id":"https://portworx.com/#website"},"primaryImageOfPage":{"@id":"https://portworx.com/#primaryimage"},"image":{"@id":"https://portworx.com/#primaryimage"},"thumbnailUrl":"https://portworx.com/wp-content/uploads/2026/01/logo-portworx.svg","datePublished":"2026-02-13T19:27:16+00:00","dateModified":"2026-09-23T15:17:38+00:00","description":"Automate, protect, and unify Kubernetes storage and data services across cloud and on-prem environments. Try Portworx or explore the platform.","breadcrumb":{"@id":"https://portworx.com/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://portworx.com/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://portworx.com/#primaryimage","url":"https://portworx.com/wp-content/uploads/2026/01/logo-portworx.svg","contentUrl":"https://portworx.com/wp-content/uploads/2026/01/logo-portworx.svg","caption":"portworx mini logo"},{"@type":"BreadcrumbList","@id":"https://portworx.com/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home"}]},{"@type":"WebSite","@id":"https://portworx.com/#website","url":"https://portworx.com/","name":"Portworx","description":"Data Services for Stateful Containerized Apps","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://portworx.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script>
29
30	<!-- / Yoast SEO Premium plugin. -->
31
32
33<link rel='dns-prefetch' href='//portworx.com' />
34<link rel="preload" as="image" href="https://portworx.com/wp-content/uploads/2026/05/kubernetes-data-management.png" media="(max-width: 767px)" fetchpriority="high">
35<script type="text/javascript">
36/* <![CDATA[ */
37window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/portworx.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=a1c4ef6d8e729382f925f55d2599f0cc"}};
38/*! This file is auto-generated */
39!function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings);
40/* ]]> */
41</script>
41
42<style id='wp-emoji-styles-inline-css' type='text/css'>
43
44	img.wp-smiley, img.emoji {
45		display: inline !important;
46		border: none !important;
47		box-shadow: none !important;
48		height: 1em !important;
49		width: 1em !important;
50		margin: 0 0.07em !important;
51		vertical-align: -0.1em !important;
52		background: none !important;
53		padding: 0 !important;
54	}
55</style>
56<style id='classic-theme-styles-inline-css' type='text/css'>
57/*! This file is auto-generated */
58.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
59</style>
60<style id='global-styles-inline-css' type='text/css'>
61:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--ink: #2d2a27;--wp--preset--color--cream: #fff5e3;--wp--preset--color--cta-orange: #d55d1d;--wp--preset--color--stat-orange: #ff7023;--wp--preset--color--terracotta: #bd673d;--wp--preset--color--brown: #71584c;--wp--preset--color--sage: #8fa596;--wp--preset--color--grey-green: #637266;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
61--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 16px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 32px;--wp--preset--font-size--x-large: 52px;--wp--preset--font-size--normal: 20px;--wp--preset--font-size--display: 80px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
61.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
62:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
63:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
64:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}
65</style>
66<link rel='stylesheet' id='plugin-css-css' href='https://portworx.com/wp-content/themes/portworx/dist/styles/plugins.css?ver=1790213197' type='text/css' media='all' />
67<link rel='stylesheet' id='main-css-css' href='https://portworx.com/wp-content/themes/portworx/dist/styles/main.css?ver=1790213197' type='text/css' media='all' />
68<link rel="https://api.w.org/" href="https://portworx.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://portworx.com/wp-json/wp/v2/pages/39591" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://portworx.com/xmlrpc.php?rsd" />
69
70<link rel='shortlink' href='https://portworx.com/' />
71<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://portworx.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fportworx.com%2F" />
72<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://portworx.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fportworx.com%2F&#038;format=xml" />
73<script type="application/ld+json">{
74    "@context": "https://schema.org",
75    "@type": "Corporation",
76    "@id": "https://portworx.com/#organization",
77    "name": "Portworx",
78    "legalName": "Portworx by Everpure",
79    "url": "https://portworx.com",
80    "logo": "https://portworx.com/wp-content/uploads/2026/01/logo-portworx.svg",
81    "description": "Portworx products enable you to run any cloud-native data service, in any cloud, using any Kubernetes platform, with built-in high availability, data protection, data security, and hybrid-cloud mobility.",
82    "foundingDate": "2014",
83    "address": {
84        "@type": "PostalAddress",
85        "name": "Portworx by Everpure",
86        "streetAddress": "2555 Augustine Dr.",
87        "addressLocality": "Santa Clara",
88        "addressRegion": "CA",
89        "postalCode": "95054",
90        "addressCountry": "US"
91    },
92    "contactPoint": {
93        "@type": "ContactPoint",
94        "url": "https://portworx.com/contact-sales/",
95        "contactType": "Sales"
96    },
97    "parentOrganization": {
98        "@type": "Corporation",
99        "name": "Everpure",
100        "url": "https://www.everpuredata.com/",
101        "tickerSymbol": "P"
102    },
103    "knowsAbout": [
104        "kubernetes storage",
105        "kubernetes backup",
106        "Kubernetes Statefulset",
107        "kubernetes disaster recovery",
108        "modern virtualization",
109        "application modernization",
110        "AI/ML",
111        "edge data management",
112        "Persistent volume",
113        "Kubernetes CSI",
114        "Kubernetes data management",
115        "Container data management"
116    ],
117    "sameAs": [
118        "https://www.linkedin.com/company/portworx/",
119        "https://www.reddit.com/user/Portworx-PureStorage/",
120        "https://operatorhub.io/operator/portworx",
121        "https://www.youtube.com/c/Portworx",
122        "https://x.com/portwx",
123        "https://www.crunchbase.com/organization/portworx",
124        "https://www.techtarget.com/searchstorage/feature/Portworx-PX-Enterprise",
125        "https://www.g2.com/products/portworx-enterprise/reviews",
126        "https://www.gartner.com/reviews/product/pure-storage-portworx"
127    ]
128}</script>
128
129<!-- Qualified -->
130<script>
131(function(w,q){w['QualifiedObject']=q;w[q]=w[q]||function(){
132(w[q].q=w[q].q||[]).push(arguments)};})(window,'qualified')
133</script>
vendor: 1 bytes, line 133
133
134<script async src="https://js.qualified.com/qualified.js?token=hY9nPK6hW1mix4ZX"></script>
134
135<!-- End Qualified -->
136<script type="application/ld+json">{
137    "@context": "https://schema.org",
138    "@graph": [
139        {
140            "@type": [
141                "SoftwareApplication",
142                "Product"
143            ],
144            "@id": "https://portworx.com/products/portworx-enterprise/#product",
145            "name": "Portworx Enterprise",
146            "description": "Operate at scale while saving storage costs for cloud-native storage that is optimized for containers.",
147            "url": "https://portworx.com/products/portworx-enterprise/",
148            "applicationCategory": "Kubernetes Storage Platform",
149            "operatingSystem": "Kubernetes",
150            "brand": {
151                "@id": "https://portworx.com/#organization"
152            },
153            "publisher": {
154                "@id": "https://portworx.com/#organization"
155            }
156        },
157        {
158            "@type": [
159                "SoftwareApplication",
160                "Product"
161            ],
162            "@id": "https://portworx.com/products/portworx-backup/#product",
163            "name": "Portworx Backup",
164            "description": "Protect mission critical data with backup built for Kubernetes that is container and application aware.",
165            "url": "https://portworx.com/products/portworx-backup/",
166            "applicationCategory": "Kubernetes Backup Software",
167            "operatingSystem": "Kubernetes",
168            "brand": {
169                "@id": "https://portworx.com/#organization"
170            },
171            "publisher": {
172                "@id": "https://portworx.com/#organization"
173            }
174        },
175        {
176            "@type": [
177                "SoftwareApplication",
178                "Product"
179            ],
180            "@id": "https://portworx.com/products/portworx-disaster-recovery/#product",
181            "name": "Portworx Disaster Recovery",
182            "description": "Deliver availability and recoverability service levels while ensuring business continuity with zero RPO for Kubernetes.",
183            "url": "https://portworx.com/products/portworx-disaster-recovery/",
184            "applicationCategory": "Kubernetes Disaster Recovery Software",
185            "operatingSystem": "Kubernetes",
186            "brand": {
187                "@id": "https://portworx.com/#organization"
188            },
189            "publisher": {
190                "@id": "https://portworx.com/#organization"
191            }
192        },
193        {
194            "@type": "ItemList",
195            "@id": "https://portworx.com/#product-list",
196            "name": "Portworx Products",
197            "itemListOrder": "https://schema.org/ItemListUnordered",
198            "numberOfItems": 3,
199            "itemListElement": [
200                {
201                    "@type": "ListItem",
202                    "position": 1,
203                    "item": {
204                        "@id": "https://portworx.com/products/portworx-enterprise/#product"
205                    }
206                },
207                {
208                    "@type": "ListItem",
209                    "position": 2,
210                    "item": {
211                        "@id": "https://portworx.com/products/portworx-backup/#product"
212                    }
213                },
214                {
215                    "@type": "ListItem",
216                    "position": 3,
217                    "item": {
218                        "@id": "https://portworx.com/products/portworx-disaster-recovery/#product"
219                    }
220                }
221            ]
222        },
223        {
224            "@type": "ItemList",
225            "@id": "https://portworx.com/#use-case-list",
226            "name": "Portworx Use Cases",
227            "itemListOrder": "https://schema.org/ItemListUnordered",
228            "numberOfItems": 3,
229            "itemListElement": [
230                {
231                    "@type": "ListItem",
232                    "position": 1,
233                    "item": {
234                        "@type": "WebPage",
235                        "@id": "https://portworx.com/solutions/modern-applications/",
236                        "name": "Modern Applications",
237                        "url": "https://portworx.com/solutions/modern-applications/",
238                        "description": "Deliver automated, intelligent storage with Kubernetes-native lifecycle management, backup, encryption, and HA/DR."
239                    }
240                },
241                {
242                    "@type": "ListItem",
243                    "position": 2,
244                    "item": {
245                        "@type": "WebPage",
246                        "@id": "https://portworx.com/modern-virtualization/",
247                        "name": "Modern Virtualization",
248                        "url": "https://portworx.com/modern-virtualization/",
249                        "description": "Run VMs alongside your containers on Kubernetes, while Portworx handles your storage, protection, and scaling seamlessly."
250                    }
251                },
252                {
253                    "@type": "ListItem",
254                    "position": 3,
255                    "item": {
256                        "@type": "WebPage",
257                        "@id": "https://portworx.com/use-case/ai-ml/",
258                        "name": "AI Pipelines",
259                        "url": "https://portworx.com/use-case/ai-ml/",
260                        "description": "Remove dataset fragmentation, slow data access, and manual storage operations that drive up costs, and delay training, fine-tuning, and inference."
261                    }
262                }
263            ]
264        }
265    ]
266}</script>
266
267		<style type="text/css" id="wp-custom-css">
268			.hidebutton a {
269	display: none;
270}
271
272.no-video .play-video {
273	display: none;
274}
275
276.wide-text .col-two.text {
277	flex-basis: 49%;
278}
279
280.wide-text .text-wrap {
281	max-width: 650px;
282}		</style>
283		  <link rel="preload" as="font" type="font/woff2" href="https://portworx.com/wp-content/themes/portworx/assets/fonts/pure-sans/PureSans-Medium.woff2" crossorigin>
284  <link rel="preload" as="font" type="font/woff2" href="https://portworx.com/wp-content/themes/portworx/assets/fonts/pure-sans/PureSans-Bold.woff2" crossorigin>
285      <link rel="preconnect" href="https://fonts.googleapis.com">
286  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
287  <!-- Voilator bar hide if closed -->
288  
288<script>
289      if (document.cookie.includes("promoBar=close")) {
290          document.documentElement.classList.add("promo-closed");
291      }
292  </script>
292
293  <style>
294    .promo-closed .promo-bar {
295          display: none !important;
296      }
297  </style>
298  <!-- Voilator bar code End  -->
299
300  
301  
302  <!-- Analytics Scripts - Load on User Interaction Only -->
303  
303<script>
304    // Flag to ensure analytics load only once
305    window.analyticsLoaded = false;
306    
307    // Function to load Google Tag Manager
308    function loadGTM() {
309      if (window.GTMLoaded) return;
310      window.GTMLoaded = true;
vendor: 489 bytes, lines 310-324
310
311      
312      (function(w, d, s, l, i) {
313        w[l] = w[l] || [];
314        w[l].push({
315          'gtm.start': new Date().getTime(),
316          event: 'gtm.js'
317        });
318        var f = d.getElementsByTagName(s)[0],
319          j = d.createElement(s),
320          dl = l != 'dataLayer' ? '&l=' + l : '';
321        j.async = true;
322        j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
323        f.parentNode.insertBefore(j, f);
324      })(window, document, 'script', 'dataLayer', '
324GTM-5VJ3MJG
vendor: 8 bytes, lines 324-325
324');
325    
325}
326
327    // Segment, Heap, UberEmbed & TechTarget were removed from here — see
328    // disabled-tracking-scripts.txt in the theme root to restore them.
329
330    // Function to load Floodlight tracking
331    function loadFloodlight() {
332      if (window.floodlightLoaded) return;
333      window.floodlightLoaded = true;
334      
335      var axel = Math.random() + "";
336      var a = axel * 10000000000000;
337      var img = document.createElement('img');
338      img.src = 'https://ad.doubleclick.net/ddm/activity/src=8575848;type=invmedia;cat=pures00u;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;npa=;gdpr=${GDPR};gdpr_consent=${GDPR_CONSENT_755};ord=' + a;
339      img.width = '1';
340      img.height = '1';
341      img.style.cssText = 'position:absolute;display:none;';
342      img.alt = '';
343      document.body.appendChild(img);
344    }
345
346    // Function to load Google Marketing Platform
347    function loadGoogleMarketing() {
348      if (window.googleMarketingLoaded) return;
349      window.googleMarketingLoaded = true;
350      
351      // Load gtag script
352      var script = document.createElement('script');
353      script.async = true;
354      script.src = 'https://www.googletagmanager.com/gtag/js?id=DC-6995206';
355      document.head.appendChild(script);
356      
357      // Initialize gtag
358      window.dataLayer = window.dataLayer || [];
359      function gtag() {
360        dataLayer.push(arguments);
361      }
362      window.gtag = gtag;
363      gtag('js', new Date());
364      gtag('config', 'DC-6995206');
365      
366      // Template URL
367      window.templateUrl = 'https://portworx.com/wp-content/themes/portworx';
368      
369      // Conversion event
370      gtag('event', 'conversion', {
371        'allow_custom_scripts': true,
372        'u1': '[Country Code]',
373        'u2': '[Page URL]',
374        'u3': '[PDF Download]',
375        'u4': '[Language Code]',
376        'u5': '[Date_Time]',
377        'u6': '[Resource form complete]',
378        'u7': '[Contact us form complete]',
379        'send_to': 'DC-6995206/allsite/pures003+standard'
380      });
381    }
382
383    // Function to load LinkedIn tracking
384    function loadLinkedIn() {
385      if (window.linkedInLoaded) return;
386      window.linkedInLoaded = true;
387      
388      window._linkedin_partner_id = "675210";
389      window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
390      window._linkedin_data_partner_ids.push(window._linkedin_partner_id);
391      
392      (function(l) {
393        if (!l) {
394          window.lintrk = function(a, b) {
395            window.lintrk.q.push([a, b])
396          };
397          window.lintrk.q = []
398        }
399        var s = document.getElementsByTagName("script")[0];
400        var b = document.createElement("script");
401        b.type = "text/javascript";
402        b.async = true;
403        b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
404        s.parentNode.insertBefore(b, s);
405      })(window.lintrk);
406    }
407
408    // Function to load Fira Code font
409    function loadFiraCodeFont() {
410      if (window.firaCodeLoaded) return;
411      window.firaCodeLoaded = true;
412      
413      var link = document.createElement('link');
414      link.rel = 'stylesheet';
415      link.href = 'https://fonts.googleapis.com/css2?family=Fira+Code:wght@700&display=swap';
416      document.head.appendChild(link);
417    }
418
419    // Function to load Drift chat
420    function loadDriftChat() {
421      if (window.driftLoaded) return;
422      window.driftLoaded = true;
423      
424      (function() {
425        var t = window.driftt = window.drift = window.driftt || [];
426        if (!t.init) {
427          if (t.invoked) return void (window.console && console.error && console.error("Drift snippet included twice."));
428          t.invoked = !0, t.methods = [ "identify", "config", "track", "reset", "debug", "show", "ping", "page", "hide", "off", "on" ], 
429          t.factory = function(e) {
430            return function() {
431              var n = Array.prototype.slice.call(arguments);
432              return n.unshift(e), t.push(n), t;
433            };
434          }, t.methods.forEach(function(e) {
435            t[e] = t.factory(e);
436          }), t.load = function(t) {
437            var e = 3e5, n = Math.ceil(new Date() / e) * e, o = document.createElement("script");
438            o.type = "text/javascript", o.async = !0, o.crossorigin = "anonymous", o.src = "https://js.driftt.com/include/" 
438+ n + "/" + t + ".js";
439            var i = document.getElementsByTagName("script")[0];
440            i.parentNode.insertBefore(o, i);
441          };
442        }
443        window.drift.SNIPPET_VERSION = '0.3.1';
444        window.drift.load('77yhdvg4g3kr');
445      })();
446    }
447
448    // Function to load Enlighter CSS
449    function loadEnlighterCSS() {
450      if (window.enlighterCSSLoaded) return;
451      window.enlighterCSSLoaded = true;
452      
453      // Find the Enlighter CSS URL from WordPress
454      if (typeof window.enlighterCSSUrl !== 'undefined' && window.enlighterCSSUrl) {
455        var link = document.createElement('link');
456        link.rel = 'stylesheet';
457        link.type = 'text/css';
458        link.href = window.enlighterCSSUrl;
459        document.head.appendChild(link);
460      } else {
461        // Fallback: Try to find Enlighter plugin CSS
462        var pluginUrl = '/wp-content/plugins/enlighter/cache/enlighterjs.min.css';
463        var testUrl = window.location.protocol + '//' + window.location.host + pluginUrl;
464        
465        // Test if the file exists by creating a link element
466        var link = document.createElement('link');
467        link.rel = 'stylesheet';
468        link.type = 'text/css';
469        link.href = testUrl;
470        document.head.appendChild(link);
471      }
472    }
473
474    // Function to load Dashicons CSS
475    function loadDashiconsCSS() {
476      if (window.dashiconsCSSLoaded) return;
477      window.dashiconsCSSLoaded = true;
478      
479      // Find the Dashicons CSS URL from WordPress
480      if (typeof window.dashiconsCSSUrl !== 'undefined' && window.dashiconsCSSUrl) {
481        var link = document.createElement('link');
482        link.rel = 'stylesheet';
483        link.type = 'text/css';
484        link.href = window.dashiconsCSSUrl;
485        document.head.appendChild(link);
486      } else {
487        // Fallback: Use WordPress core Dashicons CSS
488        var dashiconsUrl = '/wp-includes/css/dashicons.min.css';
489        var testUrl = window.location.protocol + '//' + window.location.host + dashiconsUrl;
490        
491        var link = document.createElement('link');
492        link.rel = 'stylesheet';
493        link.type = 'text/css';
494        link.href = testUrl;
495        document.head.appendChild(link);
496      }
497    }
498
499    // Function to load Menu Image CSS
500    function loadMenuImageCSS() {
501      if (window.menuImageCSSLoaded) return;
502      window.menuImageCSSLoaded = true;
503      
504      // Find the Menu Image CSS URL from WordPress
505      if (typeof window.menuImageCSSUrl !== 'undefined' && window.menuImageCSSUrl) {
506        var link = document.createElement('link');
507        link.rel = 'stylesheet';
508        link.type = 'text/css';
509        link.href = window.menuImageCSSUrl;
510        document.head.appendChild(link);
511      } else {
512        // Fallback: Use standard Menu Image plugin CSS path
513        var menuImageUrl = '/wp-content/plugins/menu-image/includes/css/menu-image.css';
514        var testUrl = window.location.protocol + '//' + window.location.host + menuImageUrl;
515        
516        var link = document.createElement('link');
517        link.rel = 'stylesheet';
518        link.type = 'text/css';
519        link.href = testUrl;
520        document.head.appendChild(link);
521      }
522    }
523
524    // Function to load Block Library CSS
525    function loadBlockLibraryCSS() {
526      if (window.blockLibraryCSSLoaded) return;
527      window.blockLibraryCSSLoaded = true;
528      
529      // Find the Block Library CSS URL from WordPress
530      if (typeof window.blockLibraryCSSUrl !== 'undefined' && window.blockLibraryCSSUrl) {
531        var link = document.createElement('link');
532        link.rel = 'stylesheet';
533        link.type = 'text/css';
534        link.href = window.blockLibraryCSSUrl;
535        document.head.appendChild(link);
536      } else {
537        // Fallback: Use WordPress core Block Library CSS
538        var blockLibraryUrl = '/wp-includes/css/dist/block-library/style.min.css';
539        var testUrl = window.location.protocol + '//' + window.location.host + blockLibraryUrl;
540        
541        var link = document.createElement('link');
542        link.rel = 'stylesheet';
543        link.type = 'text/css';
544        link.href = testUrl;
545        document.head.appendChild(link);
546      }
547    }
548
549    // Main function to load all analytics
550    function loadAllAnalytics() {
551      if (window.analyticsLoaded) return;
552      window.analyticsLoaded = true;
553      
554      // Load all analytics scripts, fonts, chat, and plugin assets
555      loadGTM();
556      loadFloodlight();
557      loadGoogleMarketing();
558      loadLinkedIn();
559      loadFiraCodeFont();
560      loadDriftChat();
561      loadEnlighterCSS();
562      loadDashiconsCSS();
563      loadMenuImageCSS();
564      loadBlockLibraryCSS();
565      
566      // Remove event listeners to prevent multiple loads
567      removeAnalyticsListeners();
568    }
569
570    // Function to remove event listeners
571    function removeAnalyticsListeners() {
572      document.removeEventListener('click', loadAllAnalytics, true);
573      // document.removeEventListener('mouseover', loadAllAnalytics, true);
574      document.removeEventListener('mousemove', loadAllAnalytics, { passive: true });
575      document.removeEventListener('touchstart', loadAllAnalytics, { passive: true });
576      document.removeEventListener('keydown', loadAllAnalytics, true);
577    }
578
579    // Set up event listeners for user interaction
580    function setupAnalyticsListeners() {
581      // Listen for click, mousemove, touch, and keyboard interactions
582      document.addEventListener('click', loadAllAnalytics, true);
583      // document.addEventListener('mouseover', loadAllAnalytics, true);
584      document.addEventListener('mousemove', loadAllAnalytics, { passive: true });
585      document.addEventListener('touchstart', loadAllAnalytics, { passive: true });
586      document.addEventListener('keydown', loadAllAnalytics, true);
587    }
588
589    // Initialize listeners when DOM is ready
590    if (document.readyState === 'loading') {
591      document.addEventListener('DOMContentLoaded', setupAnalyticsListeners);
592    } else {
593      setupAnalyticsListeners();
594    }
595  </script>
595
596  
597  <!-- Noscript fallbacks removed for better PageSpeed Insights scores -->
598  <!-- All tracking now loads only on user interaction -->
599  <!-- End Analytics Scripts -->
600    <style>
601
602    @media (max-width: 767px) {
603      .cc-window.cc-floating .cc-message p, .cc-window.cc-floating .cc-message a{
604        font-size: 12px;
605      }
606    }
607  </style>
608
609</head>
610
611<body class="home page-template page-template-front-page page-template-front-page-php page page-id-39591">
612  <!-- GTM noscript removed - GTM now loads only on user interaction -->
613  <div class="main">
614
615    <header class="bg-perl-grey site-header new-header">
616        
617                  <div class="violator-bar promo-bar violator-bar--new">
618        <div class="container">
619          <div class="violator-bar__inner">
620            <div class="violator-bar__left">
621              <div class="violator-carousel">
622                                <div class="violator-slide">
623                                    <span class="violator-desc">Dive into Hands-on Labs with live instructors</span>
624                                    <a href="/hands-on-labs/" class="violator-cta-link">Explore Labs</a>
625                                  </div>
626                              </div>
627            </div>
628            <div class="violator-bar__right">
629              <form class="violator-search" role="search" action="https://portworx.com/" method="get">
630                <input class="violator-search__input" type="search" name="s" placeholder="Search…" aria-label="Search" autocomplete="off">
631                <button class="violator-search__btn" type="submit" aria-label="Search">
632                  <svg width="16" height="16" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
633                    <circle cx="8.5" cy="8.5" r="7" stroke="#fff5e3" stroke-width="1.8"/>
634                    <path d="M14 14L18.5 18.5" stroke="#fff5e3" stroke-width="1.8" stroke-linecap="round"/>
635                  </svg>
636                </button>
637              </form>
638              <span class="violator-pipe" aria-hidden="true"></span>
639              <a href="https://support.everpuredata.com/" class="violator-utility-link">Support</a>
640              <span class="violator-pipe" aria-hidden="true"></span>
641              <a href="https://central.portworx.com/landing/login" class="violator-utility-link">Sign in</a>
642            </div>
643          </div>
644        </div>
645      </div>
646
647      
648          <!-- ── New header layout (gated: ?new-header) ──────────────────────────── -->
649  <div class="container">
650    <nav class="nh-bar">
651
652      <a href="/" class="nh-logo">
653        <img loading="eager" fetchpriority="high"
654          src="/wp-content/themes/portworx/assets/images/header/logo-portworx.svg"
655          alt="Portworx logo">
656      </a>
657
658      <ul class="nh-menu">
659        <li class="nav-item mega-platform menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><span class="nav-link">Platform</span><div class="mega-menu"><div class="mega-menu__inner"><div class="mega-menu__left"><div class="mega-menu__cards"><a href="/products/portworx-enterprise/" class="mega-menu__card menu-item menu-item-type-custom menu-item-object-custom"><strong class="mega-menu__card-title">Portworx Enterprise</strong><span class="mega-menu__card-desc">Operate at scale while saving storage costs for cloud-native storage that is optimized for containers.</span></a><a href="/products/portworx-backup/" class="mega-menu__card menu-item menu-item-type-custom menu-item-object-custom"><strong class="mega-menu__card-title">Portworx Backup</strong><span class="mega-menu__card-desc">Protect mission critical data with backup built for Kubernetes that is container and application aware.</span></a><a href="/products/portworx-disaster-recovery/" class="mega-menu__card menu-item menu-item-type-custom menu-item-object-custom"><strong class="mega-menu__card-title">Portworx Disaster Recovery</strong><span class="mega-menu__card-desc">Deliver availability and recoverability service levels while ensuring business continuity with zero RPO for Kubernetes.</span></a></div><div class="mega-menu__footer"><hr class="mega-menu__divider"><a href="/platform/" class="mega-menu__cta-link">Explore The Platform<svg width="17" height="15" viewBox="0 0 17 15" fill="none" aria-hidden="true"><path d="M1 7.5H16M16 7.5L9.5 1M16 7.5L9.5 14" stroke="#D55D1D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></a></div></div><div class="mega-menu__promo"><div class="mega-menu__promo-slider"><a href="https://portworx.com/resources/idc-peerscape-mod-virt-2026/" class="mega-menu__promo-slide" target="_blank" rel="noopener noreferrer"><div class="mega-menu__promo-img">
659<img src="https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner.webp" alt="" loading="lazy" srcset="https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner.webp 1600w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-300x169.webp 300w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-1024x576.webp 1024w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-768x432.webp 768w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-1536x864.webp 1536w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-1200x675.webp 1200w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-24x14.webp 24w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-36x20.webp 36w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-48x27.webp 48w" sizes="(max-width: 1600px) 100vw, 1600px" /></div></a></div></div></div></div></li><li class="nav-item menu-item menu-item-type-custom menu-item-object-custom"><a href="/pricing-and-features/" class="nav-link">Pricing</a></li><li class="nav-item menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><span class="nav-link">Solutions</span><div class="mega-menu"><div class="mega-menu__inner"><div class="mega-menu__left"><div class="mega-menu__cols"><div class="mega-menu__col menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><span class="mega-menu__col-heading">Key Solutions</span><ul class="mega-menu__links"><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/use-case/kubernetes-storage/">Kubernetes Storage</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/modern-virtualization/">Modern Virtualization</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/kubernetes-backup/">Kubernetes Backup</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/kubernetes-disaster-recovery/">Kubernetes Disaster Recovery</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/solutions/modern-applications/">Modern Applications</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/use-case/ai-ml/">AI/ML</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/solutions/edge-data-management/">Edge Data Management</a></li></ul></div><div class="mega-menu__col menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><span class="mega-menu__col-heading">Industry</span><ul class="mega-menu__links"><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/industry/financial-services/">Financial Services</a></li></ul></div></div><div class="mega-menu__footer"><hr class="mega-menu__divider"><a href="/portworx-vs-csi-storage/" class="mega-menu__cta-link">Why Portworx<svg width="17" height="15" viewBox="0 0 17 15" fill="none" aria-hidden="true"><path d="M1 7.5H16M16 7.5L9.5 1M16 7.5L9.5 14" stroke="#D55D1D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></a></div></div><div class="mega-menu__promo"><div class="mega-menu__promo-slider"><a href="https://portworx.com/resources/idc-peerscape-mod-virt-2026/" class="mega-menu__promo-slide" target="_blank" rel="noopener noreferrer"><div class="mega-menu__promo-img"><img src="https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner.webp" alt="" loading="lazy" srcset="https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner.webp 1600w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-300x169.webp 300w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-1024x576.webp 1024w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-768x432.webp 768w, https://portworx.com/w
659p-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-1536x864.webp 1536w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-1200x675.webp 1200w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-24x14.webp 24w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-36x20.webp 36w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-48x27.webp 48w" sizes="(max-width: 1600px) 100vw, 1600px" /></div></a></div></div></div></div></li><li class="nav-item menu-item menu-item-type-custom menu-item-object-custom"><a href="/customers/" class="nav-link">Customers</a></li><li class="nav-item menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><span class="nav-link">Resources</span><div class="mega-menu"><div class="mega-menu__inner"><div class="mega-menu__left"><div class="mega-menu__cols"><div class="mega-menu__col menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><span class="mega-menu__col-heading">Learn</span><ul class="mega-menu__links"><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/knowledge-hub/">Knowledge Hub</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/blog/">Blog</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://portworx.com/open-source/">Open Source</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://docs.portworx.com/">Documentation</a></li></ul></div><div class="mega-menu__col menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><span class="mega-menu__col-heading">Attend</span><ul class="mega-menu__links"><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/hands-on-labs/">Hands-On Lab</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/webinars/">Events &#038; Webinars</a></li></ul></div><div class="mega-menu__col menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><span class="mega-menu__col-heading">Explore</span><ul class="mega-menu__links"><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/resources/?type%5B%5D=ebooks">Ebook</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/resources/?type%5B%5D=reference-architecture">Reference Architecture</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/resources/?type%5B%5D=report">Reports</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/resources/?type%5B%5D=whitepapers">Whitepaper</a></li></ul></div></div><div class="mega-menu__footer"><hr class="mega-menu__divider"><a href="/resources/" class="mega-menu__cta-link">View All Resources<svg width="17" height="15" viewBox="0 0 17 15" fill="none" aria-hidden="true"><path d="M1 7.5H16M16 7.5L9.5 1M16 7.5L9.5 14" stroke="#D55D1D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></a></div></div><div class="mega-menu__promo"><div class="mega-menu__promo-slider"><a href="https://portworx.com/resources/idc-peerscape-mod-virt-2026/" class="mega-menu__promo-slide" target="_blank" rel="noopener noreferrer"><div class="mega-menu__promo-img"><img src="https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner.webp" alt="" loading="lazy" srcset="https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner.webp 1600w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-300x169.webp 300w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-1024x576.webp 1024w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-768x432.webp 768w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-1536x864.webp 1536w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-1200x675.webp 1200w, https://portworx.com/w
659p-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-24x14.webp 24w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-36x20.webp 36w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-48x27.webp 48w" sizes="(max-width: 1600px) 100vw, 1600px" /></div></a></div></div></div></div></li><li class="nav-item menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><span class="nav-link">Partners</span><div class="mega-menu"><div class="mega-menu__inner"><div class="mega-menu__left"><div class="mega-menu__cols"><div class="mega-menu__col menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><span class="mega-menu__col-heading">Ecosystem</span><ul class="mega-menu__links"><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/red-hat-openshift/">Red Hat OpenShift</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/suse/">SUSE</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/solutions/portworx-and-spectro-cloud/">Spectro Cloud</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/aws/">Amazon EKS</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/solutions/azure-aks/">Azure AKS</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/solutions/gke/">Google Kubernetes Engine</a></li></ul></div><div class="mega-menu__col menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><span class="mega-menu__col-heading">Integrations</span><ul class="mega-menu__links"><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/solutions/pure-flasharray-portworx-data-platform/">FlashArray + Portworx</a></li></ul></div></div><div class="mega-menu__footer"><hr class="mega-menu__divider"><a href="/partners/" class="mega-menu__cta-link">Partners<svg width="17" height="15" viewBox="0 0 17 15" fill="none" aria-hidden="true"><path d="M1 7.5H16M16 7.5L9.5 1M16 7.5L9.5 14" stroke="#D55D1D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></a></div></div><div class="mega-menu__promo"><div class="mega-menu__promo-slider"><a href="https://portworx.com/resources/idc-peerscape-mod-virt-2026/" class="mega-menu__promo-slide" target="_blank" rel="noopener noreferrer"><div class="mega-menu__promo-img"><img src="https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner.webp" alt="" loading="lazy" srcset="https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner.webp 1600w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-300x169.webp 300w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-1024x576.webp 1024w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-768x432.webp 768w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-1536x864.webp 1536w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-1200x675.webp 1200w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-24x14.webp 24w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-36x20.webp 36w, https://portworx.com/wp-content/uploads/2026/06/IDC-Peerscape-whitepaper-banner-48x27.webp 48w" sizes="(max-width: 1600px) 100vw, 1600px" /></div></a></div></div></div></div></li>      </ul>
660
661      <div class="nh-ctas">
662                <a href="https://portworx.com/hands-on-labs/self-paced/" class="nh-try-lab">Try Hands-on Lab</a>
663                <a href="/contact-sales/" class="nh-schedule-demo">Contact Us</a>
664      </div>
665
666      <button class="nh-hamburger" aria-label="Open menu" aria-expanded="false">
667        <span class="nh-hamburger__line"></span>
668        <span class="nh-hamburger__line"></span>
669        <span class="nh-hamburger__line"></span>
670      </button>
671
672    </nav>
673  </div>
674
675  <!-- ── Right drawer (mobile / tablet) ───────────────────────────────────── -->
676  <div class="nh-overlay" aria-hidden="true"></div>
677  <aside class="nh-drawer" aria-hidden="true" aria-label="Navigation">
678    <div class="nh-drawer__head">
679      <a href="/" class="nh-drawer__logo">
680        <img src="/wp-content/themes/portworx/assets/images/header/logo-portw
680orx.svg" alt="Portworx logo">
681      </a>
682      <button class="nh-drawer__close" aria-label="Close menu">
683        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
684          <path d="M2 2L18 18M18 2L2 18" stroke="#2d2a27" stroke-width="2" stroke-linecap="round"/>
685        </svg>
686      </button>
687    </div>
688        <div class="nh-drawer__search">
689      <form role="search" method="get" action="https://portworx.com/" class="nh-drawer__search-form">
690        <label class="screen-reader-text" for="nh-drawer-search-field">Search the site</label>
691        <input
692          class="nh-drawer__search-input"
693          id="nh-drawer-search-field"
694          type="search"
695          name="s"
696          placeholder="Search&hellip;"
697          value=""
698          autocomplete="off">
699        <button class="nh-drawer__search-btn" type="submit" aria-label="Submit search">
700          <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
701            <circle cx="8.5" cy="8.5" r="7" stroke="currentColor" stroke-width="1.8"/>
702            <path d="M14 14L18.5 18.5" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/>
703          </svg>
704        </button>
705      </form>
706    </div>
707
708    <div class="nh-drawer__body">
709      <ul id="menu-main-menu-new-1" class="nh-drawer__menu"><li id="menu-item-41626" class="mega-platform menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-41626"><span>Platform</span>
710<ul class="sub-menu">
711	<li id="menu-item-41627" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41627"><a href="/products/portworx-enterprise/">Portworx Enterprise</a></li>
712	<li id="menu-item-41628" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41628"><a href="/products/portworx-backup/">Portworx Backup</a></li>
713	<li id="menu-item-41629" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41629"><a href="/products/portworx-disaster-recovery/">Portworx Disaster Recovery</a></li>
714<li class="nh-drawer__cta-item"><a href="/platform/" class="nh-drawer__cta-link">
714Explore The Platform<svg width="13" height="11" viewBox="0 0 17 15" fill="none" aria-hidden="true"><path d="M1 7.5H16M16 7.5L9.5 1M16 7.5L9.5 14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></a></li></ul>
715</li>
716<li id="menu-item-41630" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41630"><a href="/pricing-and-features/">Pricing</a></li>
717<li id="menu-item-41631" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-41631"><span>Solutions</span>
718<ul class="sub-menu">
719	<li id="menu-item-41632" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-41632"><a href="#">Key Solutions</a>
720	<ul class="sub-menu">
721		<li id="menu-item-41633" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41633"><a href="/use-case/kubernetes-storage/">Kubernetes Storage</a></li>
722		<li id="menu-item-41634" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41634"><a href="/modern-virtualization/">Modern Virtualization</a></li>
723		<li id="menu-item-41635" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41635"><a href="/kubernetes-backup/">Kubernetes Backup</a></li>
724		<li id="menu-item-41636" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41636"><a href="/kubernetes-disaster-recovery/">Kubernetes Disaster Recovery</a></li>
725		<li id="menu-item-41637" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41637"><a href="/solutions/modern-applications/">Modern Applications</a></li>
726		<li id="menu-item-41638" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41638"><a href="/use-case/ai-ml/">AI/ML</a></li>
727		<li id="menu-item-41639" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41639"><a href="/solutions/edge-data-management/">Edge Data Management</a></li>
728	</ul>
729</li>
730	<li id="menu-item-41669" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-41669"><a href="#">Industry</a>
731	<ul class="sub-menu">
732		<li id="menu-item-41670" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41670"><a href="/industry/financial-services/">Financial Services</a></li>
733	</ul>
734</li>
735<li class="nh-drawer__cta-item"><a href="/portworx-vs-csi-storage/" class="nh-drawer__cta-link">
735Why Portworx<svg width="13" height="11" viewBox="0 0 17 15" fill="none" aria-hidden="true"><path d="M1 7.5H16M16 7.5L9.5 1M16 7.5L9.5 14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></a></li></ul>
736</li>
737<li id="menu-item-41648" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41648"><a href="/customers/">Customers</a></li>
738<li id="menu-item-41649" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-41649"><span>Resources</span>
739<ul class="sub-menu">
740	<li id="menu-item-41650" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-41650"><a href="#">Learn</a>
741	<ul class="sub-menu">
742		<li id="menu-item-41653" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41653"><a href="/knowledge-hub/">Knowledge Hub</a></li>
743		<li id="menu-item-41654" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41654"><a href="/blog/">Blog</a></li>
744		<li id="menu-item-42261" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-42261"><a href="https://portworx.com/open-source/">Open Source</a></li>
745		<li id="menu-item-41655" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41655"><a href="https://docs.portworx.com/">Documentation</a></li>
746	</ul>
747</li>
748	<li id="menu-item-41651" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-41651"><a href="#">Attend</a>
749	<ul class="sub-menu">
750		<li id="menu-item-41656" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41656"><a href="/hands-on-labs/">Hands-On Lab</a></li>
751		<li id="menu-item-41657" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41657"><a href="/webinars/">Events &#038; Webinars</a></li>
752	</ul>
753</li>
754	<li id="menu-item-41652" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-41652"><a href="#">Explore</a>
755	<ul class="sub-menu">
756		<li id="menu-item-41658" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41658"><a href="/resources/?type%5B%5D=ebooks">Ebook</a></li>
757		<li id="menu-item-41659" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41659"><a href="/resources/?type%5B%5D=reference-architecture">Reference Architecture</a></li>
758		<li id="menu-item-41660" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41660"><a href="/resources/?type%5B%5D=report">Reports</a></li>
759		<li id="menu-item-41661" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41661"><a href="/resources/?type%5B%5D=whitepapers">Whitepaper</a></li>
760	</ul>
761</li>
762<li class="nh-drawer__cta-item"><a href="/resources/" class="nh-drawer__cta-link">
762View All Resources<svg width="13" height="11" viewBox="0 0 17 15" fill="none" aria-hidden="true"><path d="M1 7.5H16M16 7.5L9.5 1M16 7.5L9.5 14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></a></li></ul>
763</li>
764<li id="menu-item-41671" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-41671"><span>Partners</span>
765<ul class="sub-menu">
766	<li id="menu-item-41640" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-41640"><a href="#">Ecosystem</a>
767	<ul class="sub-menu">
768		<li id="menu-item-41642" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41642"><a href="/red-hat-openshift/">Red Hat OpenShift</a></li>
769		<li id="menu-item-41643" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41643"><a href="/suse/">SUSE</a></li>
770		<li id="menu-item-41644" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41644"><a href="/solutions/portworx-and-spectro-cloud/">Spectro Cloud</a></li>
771		<li id="menu-item-41645" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41645"><a href="/aws/">Amazon EKS</a></li>
772		<li id="menu-item-41646" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41646"><a href="/solutions/azure-aks/">Azure AKS</a></li>
773		<li id="menu-item-41647" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41647"><a href="/solutions/gke/">Google Kubernetes Engine</a></li>
774	</ul>
775</li>
776	<li id="menu-item-41672" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-41672"><a href="#">Integrations</a>
777	<ul class="sub-menu">
778		<li id="menu-item-41641" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41641"><a href="/solutions/pure-flasharray-portworx-data-platform/">FlashArray + Portworx</a></li>
779	</ul>
780</li>
781<li class="nh-drawer__cta-item"><a href="/partners/" class="nh-drawer__cta-link">
781Partners<svg width="13" height="11" viewBox="0 0 17 15" fill="none" aria-hidden="true"><path d="M1 7.5H16M16 7.5L9.5 1M16 7.5L9.5 14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></a></li></ul>
782</li>
783</ul>    </div>
784    <div class="nh-drawer__foot">
785      <div class="nh-drawer__utility">
786                <a href="https://support.everpuredata.com/" class="nh-drawer__util-link">Support</a>
787        <a href="https://central.portworx.com/landing/login" class="nh-drawer__util-link">Sign in</a>
788      </div>
789      <div class="nh-drawer__ctas">
790                <a href="https://portworx.com/hands-on-labs/self-paced/" class="nh-try-lab">Try Hands-on Lab</a>
791                <a href="/contact-sales/" class="nh-schedule-demo">Contact Us</a>
792      </div>
793    </div>
794  </aside>
795
796  </header>
797<style>
798/* ============================================================
799   Front Page — global resets (scoped to this page)
800   ============================================================ */
801
802.home span {
803    margin-bottom: 0;
804}
805
806/* ============================================================
807   Front Page — Hero Banner
808   Figma desktop: 1037-490  |  Figma mobile: 1161-16
809   ============================================================ */
810
811.fp-hero {
812    background-color: #fff5e3;
813    min-height: 521px;
814    padding: 80px 188px;
815    position: relative;
816    overflow: hidden;
817    display: flex;
818    align-items: center;
819}
820
821/* ── Left: text + CTAs ── */
822.fp-hero__content {
823    display: flex;
824    flex-direction: column;
825    gap: 40px;
826    position: relative;
827    z-index: 2;
828    max-width: 660px;
829    flex-shrink: 0;
830}
831
832.fp-hero__text-group {
833    display: flex;
834    flex-direction: column;
835    gap: 20px;
836}
837
838.fp-hero__headline {
839    font-family: "Pure Sans", sans-serif;
840    font-weight: 700;
841    font-size: 80px;
842    line-height: 1.05;
843    letter-spacing: -0.5px;
844    color: #2d2a27;
845    margin: 0;
846}
847
848.fp-hero__subtitle {
849    font-family: "Pure Sans", sans-serif;
850    font-weight: 400;
851    font-size: 18px;
852    line-height: 1.5;
853    letter-spacing: 0.18px;
854    color: #2d2a27;
855    margin: 0;
856    max-width: 500px;
857}
858
859/* ── CTAs ── */
860.fp-hero__ctas {
861    display: flex;
862    gap: 24px;
863    align-items: center;
864    flex-wrap: wrap;
865}
866
867.fp-hero__cta-primary {
868    display: inline-flex;
869    align-items: center;
870    justify-content: center;
871    padding: 16px 28px;
872    background-color: #d55d1d;
873    color: #ffffff;
874    font-family: "Inter", sans-serif;
875    font-weight: 600;
876    font-size: 16px;
877    line-height: 1.125;
878    letter-spacing: 0.3px;
879    border-radius: 4px;
880    text-decoration: none;
881    border: 1px solid #d55d1d;
882    white-space: nowrap;
883    transition: background-color 0.2s ease, border-color 0.2s ease;
884}
885
886.fp-hero__cta-primary:hover {
887    background-color: #b84d18;
888    border-color: #b84d18;
889    color: #ffffff;
890    text-decoration: none;
891}
892
893.fp-hero__cta-secondary {
894    display: inline-flex;
895    align-items: center;
896    gap: 10px;
897    color: #2d2a27;
898    font-family: "Inter", sans-serif;
899    font-weight: 600;
900    font-size: 16px;
901    line-height: 1.125;
902    letter-spacing: 0.3px;
903    text-decoration: none;
904    white-space: nowrap;
905    transition: opacity 0.2s ease;
906}
907
908.fp-hero__cta-secondary:hover {
909    opacity: 0.7;
910    color: #2d2a27;
911    text-decoration: none;
912}
913
914.fp-hero__cta-secondary-arrow {
915    display: inline-block;
916    font-size: 18px;
917    line-height: 1;
918    transition: transform 0.2s ease;
919    margin: 0;
920}
921
922.fp-hero__cta-secondary:hover .fp-hero__cta-secondary-arrow {
923    transform: translateX(4px);
924}
925
926/* ── Right: visual (video desktop / image mobile) ── */
927.fp-hero__visual {
928    position: absolute;
929    right: 100px;
930    top: 50%;
931    transform: translateY(-50%);
932    width: 520px;
933    height: 420px;
934    pointer-events: none;
935    z-index: 1;
936}
937
938/* Desktop: show video, hide static image */
939.fp-hero__video {
940    display: block;
941    width: 100%;
942    height: 100%;
943    object-fit: contain;
944}
945
946.fp-hero__image {
947    display: none;
948    width: 100%;
949    height: 100%;
950    object-fit: contain;
951}
952
953/* No video uploaded — show poster image as static on all breakpoints */
954.fp-hero__visual--static .fp-hero__image {
955    display: block;
956}
957
958/* ============================================================
959   Responsive
960   ============================================================ */
961
962@media (max-width: 1399px) {
963    .fp-hero {
964        padding: 80px 100px;
965    }
966
967    .fp-hero__headline {
968        font-size: 66px;
969    }
970
971    .fp-hero__visual {
972        width: 420px;
973        right: 60px;
974    }
975}
976
977@media (max-width: 1199px) {
978    .fp-hero {
979        padding: 60px 60px;
980    }
981
982    .fp-hero__headline {
983        font-size: 54px;
984    }
985
986    .fp-hero__visual {
987        width: 340px;
988        right: 30px;
989    }
990}
991
992@media (max-width: 991px) {
993    .fp-hero {
994        padding: 60px 40px;
995        min-height: auto;
996    }
997
998    .fp-hero__headline {
999        font-size: 44px;
1000    }
1001
1002    .fp-hero__subtitle {
1003        font-size: 16px;
1004        max-width: 100%;
1005    }
1006
1007    .fp-hero__content {
1008        max-width: 100%;
1009    }
1010
1011    .fp-hero__visual {
1012        width: 280px;
1013        right: 20px;
1014    }
1015}
1016
1017/* ── Mobile: column layout, static image below content ── */
1018@media (max-width: 767px) {
1019    .fp-hero {
1020        flex-direction: column;
1021        align-items: flex-start;
1022        padding: 30px 20px 0;
1023        min-height: auto;
1024        gap: 20px;
1025        overflow: visible;
1026    }
1027
1028    .fp-hero__content {
1029        gap: 20px;
1030        max-width: 100%;
1031    }
1032
1033    .fp-hero__headline {
1034        font-size: 52px;
1035        font-weight: 500;
1036        line-height: 1;
1037        letter-spacing: 1px;
1038    }
1039
1040    .fp-hero__subtitle {
1041        font-size: 16px;
1042        line-height: 1.2;
1043        letter-spacing: 1px;
1044        max-width: 100%;
1045    }
1046
1047    .fp-hero__ctas {
1048        flex-direction: column;
1049        align-items: flex-start;
1050        gap: 16px;
1051    }
1052
1053    .fp-hero__cta-primary {
1054        height: 36px;
1055        padding: 0 16px;
1056    }
1057
1058    .fp-hero__cta-secondary {
1059        color: #637266;
1060    }
1061
1062    .fp-hero__cta-secondary:hover {
1063        color: #637266;
1064        opacity: 0.7;
1065    }
1066
1067    /* Mobile: switch to static layout, show below content */
1068    .fp-hero__visual {
1069        position: static;
1070        transform: none;
1071        width: 100%;
1072        height: 355px;
1073        display: flex;
1074        align-items: flex-start;
1075        justify-content: flex-start;
1076        flex-shrink: 0;
1077    }
1078
1079    /* Mobile: hide video, show static image */
1080    .fp-hero__video {
1081        display: none;
1082    }
1083
1084    .fp-hero__image {
1085        display: block;
1086        width: 335px;
1087        height: 334px;
1088        object-fit: cover;
1089        object-position: top left;
1090        flex-shrink: 0;
1091    }
1092}
1093</style>
1094
1095<section class="fp-hero">
1096
1097    <div class="fp-hero__content">
1098
1099        <div class="fp-hero__text-group">
1100            <h1 class="fp-hero__headline">Leading Kubernetes Data Management</h1>
1101            <p class="fp-hero__subtitle">Automate, protect, and unify data for modern applications across any on-premises, public, or hybrid cloud environment</p>
1102        </div>
1103
1104        <div class="fp-hero__ctas">
1105            <a
1106                href="https://portworx.com/hands-on-labs/self-paced/"
1107                class="fp-hero__cta-primary"
1108                            >Try Hands-on Lab</a>
1109
1110            <a
1111                href="https://portworx.com/platform/"
1112                class="fp-hero__cta-secondary"
1113                            >
1114                Explore the Platform                <span class="fp-hero__cta-secondary-arrow" aria-hidden="true">&#8594;</span>
1115            </a>
1116        </div>
1117
1118    </div>
1119
1120        <div class="fp-hero__visual" aria-hidden="true">
1121
1122                        <video
1123            class="fp-hero__video"
1124            autoplay
1125            muted
1126            playsinline
1127            preload="none"
1128            data-fp-hero-video
1129            poster="https://portworx.com/wp-content/uploads/2026/05/kubernetes-data-management.png"
1130        >
1131                        <source data-src="https://portworx.com/wp-content/uploads/2026/05/Portworx_Banner-Animation-hevc-safari.mp4" type="video/mp4; codecs=hvc1">
1132                                    <source data-src="https://portworx.com/wp-content/uploads/2026/05/Portworx_Banner-Animation-vp9-chrome.webm" type="video/webm">
1133                                </video>
1134        
1134<script>
1135        /* Attach the hero video sources only where the video is actually
1136           visible (>=768px). Runs inline and immediately — no jQuery, no
1137           DOMContentLoaded wait — so desktop playback starts as early as it
1138           did before. If this never runs, the poster image still renders, so
1139           the failure mode is a static hero rather than an empty box. */
1140        (function () {
1141            var v = document.querySelector('[data-fp-hero-video]');
1142            if (!v || !window.matchMedia) { return; }
1143            var mq = window.matchMedia('(min-width: 768px)');
1144            var loaded = false;
1145            function attach() {
1146                if (loaded || !mq.matches) { return; }
1147                loaded = true;
1148                var sources = v.querySelectorAll('source[data-src]');
1149                for (var i = 0; i < sources.length; i++) {
1150                    sources[i].src = sources[i].getAttribute('data-src');
1151                }
1152                v.load();
1153            }
1154            attach();
1155            // Covers a phone rotated to landscape, or a desktop window that
1156            // starts narrow and is widened, without ever loading on a device
1157            // that stays below the breakpoint.
1158            if (!loaded) {
1159                if (mq.addEventListener) { mq.addEventListener('change', attach); }
1160                else if (mq.addListener) { mq.addListener(attach); }
1161            }
1162        })();
1163        </script>
1163
1164        
1165                        <img
1166            class="fp-hero__image"
1167            src="https://portworx.com/wp-content/uploads/2026/05/kubernetes-data-management.png"
1168            alt=""
1169            width="335"
1170            height="334"
1171            loading="eager"
1172            fetchpriority="high"
1173        >
1174        
1175    </div>
1176    
1177</section>
1178
1179<script>
1180(function () {
1181    var video = document.querySelector('.fp-hero__video');
1182    if (!video) return;
1183
1184    // Play once: pause on end and hold on the last frame
1185    video.addEventListener('ended', function () {
1186        video.pause();
1187        // Seek slightly back so the browser renders the final frame
1188        // rather than jumping to the poster/first frame
1189        try { video.currentTime = video.duration - 0.04; } catch (e) {}
1190    });
1191})();
1192</script>
1192
1193
1194
1195<style>
1196/* ============================================================
1197   Front Page — Promo Cards over Background Image
1198   Figma node: 1037-492
1199   ============================================================ */
1200
1201.fp-promo {
1202    position: relative;
1203    background-color: #1a1a1a;
1204    background-size: cover;
1205    background-position: center;
1206    min-height: 356px;
1207    padding: 100px 188px;
1208    display: flex;
1209    align-items: flex-end;
1210    overflow: hidden;
1211}
1212
1213.fp-promo__overlay {
1214    position: absolute;
1215    inset: 0;
1216    background: rgba(74, 74, 74, 0.2);
1217    pointer-events: none;
1218    z-index: 0;
1219}
1220
1221.fp-promo__cards {
1222    position: relative;
1223    z-index: 1;
1224    display: flex;
1225    gap: 20px;
1226    width: 100%;
1227}
1228
1229/* ── Card outer wrapper — green border appears on hover ── */
1230.fp-promo__card-outer {
1231    flex: 1;
1232    min-width: 0;
1233    flex-shrink: 0;
1234    border-radius: 16px;
1235    padding: 10px;
1236    background-color: transparent;
1237    transition: background-color 0.25s ease;
1238    cursor: pointer;
1239    position: relative;
1240}
1241
1242.fp-promo__card-outer:hover {
1243    background-color: #c5e4cc;
1244}
1245
1246/* ── Inner card ── */
1247.fp-promo__card {
1248    background-color: #fff5e3;
1249    border-radius: 10px;
1250    padding: 20px 20px 20px 30px;
1251    height: 100%;
1252    display: flex;
1253    flex-direction: column;
1254    justify-content: space-between;
1255    gap: 40px;
1256}
1257
1258/* ── Card header: icon + label ── */
1259.fp-promo__card-header {
1260    display: flex;
1261    align-items: center;
1262    gap: 10px;
1263    flex-shrink: 0;
1264}
1265
1266.fp-promo__card-icon {
1267    width: 40px;
1268    height: 40px;
1269    object-fit: contain;
1270    flex-shrink: 0;
1271    display: block;
1272}
1273
1274.fp-promo__card-label {
1275    font-family: "Pure Sans", sans-serif;
1276    font-weight: 400;
1277    font-size: 16px;
1278    line-height: normal;
1279    letter-spacing: 0.16px;
1280    color: #2d2a27;
1281    margin: 0;
1282    white-space: nowrap;
1283}
1284
1285/* ── Card body: title + CTA ── */
1286.fp-promo__card-body {
1287    display: flex;
1288    flex-direction: column;
1289    gap: 50px;
1290    flex-shrink: 0;
1291}
1292
1293.fp-promo__card-title {
1294    font-family: "Pure Sans", sans-serif;
1295    font-weight: 500;
1296    font-size: 24px;
1297    line-height: 1.2;
1298    letter-spacing: 1px;
1299    color: #2d2a27;
1300    margin: 0;
1301    max-width: 327px;
1302}
1303
1304.fp-promo__card-cta {
1305    display: inline-flex;
1306    align-items: center;
1307    gap: 10px;
1308    font-family: "Inter", sans-serif;
1309    font-weight: 600;
1310    font-size: 16px;
1311    line-height: 18px;
1312    letter-spacing: 0.3px;
1313    color: #637266;
1314    text-decoration: none;
1315    white-space: nowrap;
1316    transition: opacity 0.2s ease;
1317}
1318
1319.fp-promo__card-cta:before{
1320    content: "";
1321    height: 100%;
1322    left: 0;
1323    position: absolute;
1324    top: 0;
1325    width: 100%;
1326}
1327
1328.fp-promo__card-cta:hover {
1329    opacity: 0.7;
1330    color: #637266;
1331    text-decoration: none;
1332}
1333
1334.fp-promo__card-cta-arrow {
1335    display: inline-block;
1336    font-size: 16px;
1337    transition: transform 0.2s ease;
1338}
1339
1340.fp-promo__card-cta:hover .fp-promo__card-cta-arrow {
1341    transform: translateX(4px);
1342}
1343
1344/* Arrow buttons — hidden on desktop, flex on mobile */
1345.fp-promo__nav {
1346    display: none;
1347    position: absolute;
1348    top: 50%;
1349    transform: translateY(-50%);
1350    left: 0;
1351    right: 0;
1352    justify-content: space-between;
1353    padding: 0 20px;
1354    pointer-events: none;
1355    z-index: 4;
1356}
1357
1358/* ============================================================
1359   Responsive
1360   ============================================================ */
1361
1362@media (max-width: 1399px) {
1363    .fp-promo {
1364        padding: 80px 100px;
1365    }
1366}
1367
1368@media (max-width: 1199px) {
1369    .fp-promo {
1370        padding: 60px 60px;
1371        min-height: auto;
1372    }
1373
1374    .fp-promo__card-title {
1375        font-size: 20px;
1376        max-width: 100%;
1377    }
1378}
1379
1380@media (max-width: 991px) {
1381    .fp-promo {
1382        padding: 50px 40px;
1383    }
1384
1385    .fp-promo__cards {
1386        flex-wrap: wrap;
1387        gap: 16px;
1388    }
1389
1390    .fp-promo__card-outer {
1391        flex: 1 1 calc(50% - 8px);
1392    }
1393
1394    .fp-promo__card {
1395        height: auto;
1396        min-height: 220px;
1397    }
1398
1399    .fp-promo__card-body {
1400        gap: 30px;
1401    }
1402}
1403
1404/* ── Mobile — Figma node 1161-33: horizontal Slick carousel ── */
1405@media (max-width: 767px) {
1406    .fp-promo {
1407        padding: 0;
1408        align-items: flex-start;
1409        min-height: auto;
1410        flex-direction: column;
1411    }
1412
1413    /* Slide container: overflow visible so peek shows */
1414    .fp-promo__cards {
1415        width: 100%;
1416        padding: 50px 0;
1417        overflow: visible;
1418    }
1419    .fp-promo__cards .slick-list {
1420        padding: 0 40px;
1421    }
1422
1423    /* Disable hover treatment on mobile (touch devices) */
1424    .fp-promo__card-outer,
1425    .fp-promo__card-outer:hover {
1426        background-color: transparent;
1427        padding: 0;
1428        border-radius: 0;
1429    }
1430
1431    /* All cards: orange border, smaller, uniform */
1432    .fp-promo__card {
1433        border: 2px solid rgba(213, 93, 29, 0.4);
1434        height: 230px;
1435        min-height: auto;
1436        padding: 20px;
1437        gap: 30px;
1438    }
1439
1440    /* Slick overrides — let slick control width */
1441    .fp-promo__card-outer {
1442        flex: none;
1443        min-width: 0;
1444        padding: 0 8px;
1445    }
1446
1447    .fp-promo__card-title {
1448        font-size: 20px;
1449        max-width: 100%;
1450    }
1451
1452    .fp-promo__card-body {
1453        gap: 30px;
1454    }
1455
1456    /* Nav arrows */
1457    .fp-promo__nav {
1458        display: flex;
1459    }
1460}
1461
1462.fp-promo__nav-btn {
1463    pointer-events: all;
1464    width: 36px;
1465    height: 36px;
1466    border-radius: 50%;
1467    background-color: #d55d1d;
1468    border: none;
1469    cursor: pointer;
1470    display: flex;
1471    align-items: center;
1472    justify-content: center;
1473    color: #ffffff;
1474    font-size: 16px;
1475    line-height: 1;
1476    flex-shrink: 0;
1477    transition: background-color 0.2s ease;
1478}
1479
1480.fp-promo__nav-btn:hover {
1481    background-color: #b84d18;
1482}
1483</style>
1484
1485<section
1486    class="fp-promo"
1487    style="background-image: url('https://portworx.com/wp-content/uploads/2026/05/highlight-bg-scaled.jpg')">
1488    <div class="fp-promo__overlay" aria-hidden="true"></div>
1489
1490    <div class="fp-promo__cards-wrap" style="position:relative;width:100%;overflow:hidden;">
1491
1492        <div class="fp-promo__cards">
1493
1494                        <div class="fp-promo__card-outer">
1495                <div class="fp-promo__card">
1496
1497                    <div class="fp-promo__card-header">
1498                                                <img
1499                            class="fp-promo__card-icon"
1500                            src="https://portworx.com/wp-content/uploads/2026/05/Megaphone.svg"
1501                            alt=""
1502                            aria-hidden="true"
1503                            width="40"
1504                            height="40"
1505                        >
1506                                                                        <p class="fp-promo__card-label">Announcement</p>
1507                                            </div>
1508
1509                    <div class="fp-promo__card-body">
1510                                                <p class="fp-promo__card-title">2026 Red Hat Virt Partner of Year</p>
1511                                                                        <a
1512                            href="https://portworx.com/blog/red-hat-summit-2026-virtualization-partner/"
1513                            class="fp-promo__card-cta"
1514                                                    >
1515                            Learn More                            <span class="fp-promo__card-cta-arrow" aria-hidden="true">&#8594;</span>
1516                        </a>
1517                                            </div>
1518
1519                </div>
1520            </div>
1521                        <div class="fp-promo__card-outer">
1522                <div class="fp-promo__card">
1523
1524                    <div class="fp-promo__card-header">
1525                                                <img
1526                            class="fp-promo__card-icon"
1527                            src="https://portworx.com/wp-content/uploads/2026/05/Calendar.svg"
1528                            alt=""
1529                            aria-hidden="true"
1530                            width="40"
1531                            height="40"
1532                        >
1533                                                                        <p class="fp-promo__card-label">Event</p>
1534                                            </div>
1535
1536                    <div class="fp-promo__card-body">
1537                                                <p class="fp-promo__card-title">Join us at Red Hat Summit Connect 2026</p>
1538                                                                        <a
1539                            href="https://portworx.com/events/red-hat-summit-connect-2026/"
1540                            class="fp-promo__card-cta"
1541                                                    >
1542                            Register Now                            <span class="fp-promo__card-cta-arrow" aria-hidden="true">&#8594;</span>
1543                        </a>
1544                                            </div>
1545
1546                </div>
1547            </div>
1548                        <div class="fp-promo__card-outer">
1549                <div class="fp-promo__card">
1550
1551                    <div class="fp-promo__card-header">
1552                                                <img
1553                            class="fp-promo__card-icon"
1554                            src="https://portworx.com/wp-content/uploads/2026/05/EBook.svg"
1555                            alt=""
1556                            aria-hidden="true"
1557                            width="40"
1558                            height="40"
1559                        >
1560                                                                        <p class="fp-promo__card-label">eBook</p>
1561                                            </div>
1562
1563                    <div class="fp-promo__card-body">
1564                                                <p class="fp-promo__card-title">A practical Kubernetes guide for VMware Professionals</p>
1565                                                                        <a
1566                            href="https://portworx.com/resources/demystify-kubernetes-ebook-2026/"
1567                            class="fp-promo__card-cta"
1568                                                    >
1569                            Download Now                            <sp
1569an class="fp-promo__card-cta-arrow" aria-hidden="true">&#8594;</span>
1570                        </a>
1571                                            </div>
1572
1573                </div>
1574            </div>
1575            
1576        </div>
1577
1578        <!-- Prev/Next arrows — visible only on mobile via CSS -->
1579        <div class="fp-promo__nav" aria-hidden="true">
1580            <button class="fp-promo__nav-btn fp-promo__nav-btn--prev" aria-label="Previous"><svg width="7" height="13" fill="none" viewBox="0 0 7 13"><path stroke="#fff5e3" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 1L1 6.5L6 12"/></svg></button>
1581            <button class="fp-promo__nav-btn fp-promo__nav-btn--next" aria-label="Next"><svg width="7" height="13" fill="none" viewBox="0 0 7 13"><path stroke="#fff5e3" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M1 1L6 6.5L1 12"/></svg></button>
1582        </div>
1583
1584    </div>
1585
1586</section>
1587
1588<script>
1589/*
1590 * Runs a slider initialiser once jQuery AND slick are actually available.
1591 *
1592 * Why this exists: jQuery is no longer in <head> on the homepage (it was
1593 * costing 1015 ms of render-blocking time on a throttled phone), and slick now
1594 * arrives via the deferred plugins.js bundle. Both of those land before
1595 * DOMContentLoaded, so that is the wait point. The short bounded poll after it
1596 * is belt-and-braces — if the bundle ever fails to load, the sliders simply
1597 * never initialise and the cards stay in their static grid layout, rather than
1598 * throwing "jQuery is not defined" and taking the rest of the inline scripts
1599 * on the page down with them.
1600 */
1601window.fpWithJQuery = window.fpWithJQuery || function (fn) {
1602    var tries = 0;
1603    function ready() {
1604        return window.jQuery && window.jQuery.fn && window.jQuery.fn.slick;
1605    }
1606    function go() {
1607        if (ready()) { fn(window.jQuery); return; }
1608        if (++tries > 100) { return; }   // give up after ~5s
1609        window.setTimeout(go, 50);
1610    }
1611    if (document.readyState === 'loading') {
1612        document.addEventListener('DOMContentLoaded', go);
1613    } else {
1614        go();
1615    }
1616};
1617</script>
vendor: 1 bytes, line 1617
1617
1618<script>
1619fpWithJQuery(function ($) {
1620    var initPromoSlider = function () {
1621        var $cards = $('.fp-promo__cards');
1622        if (!$cards.length) return;
1623
1624        if (window.innerWidth <= 767) {
1625            if (!$cards.hasClass('slick-initialized')) {
1626                $cards.slick({
1627                    dots:           false,
1628                    arrows:         true,
1629                    prevArrow:      $('.fp-promo__nav-btn--prev'),
1630                    nextArrow:      $('.fp-promo__nav-btn--next'),
1631                    infinite:       true,
1632                    slidesToShow:   1,
1633                    slidesToScroll: 1,
1634                    centerMode:     false,
1635                    variableWidth:  false,
1636                    speed:          400,
1637                    cssEase:        'ease'
1638                });
1639            }
1640        } else {
1641            if ($cards.hasClass('slick-initialized')) {
1642                $cards.slick('unslick');
1643            }
1644        }
1645    };
1646
1647    initPromoSlider();
1648    $(window).on('resize', initPromoSlider);
1649});
1650</script>
1650
1651
1652
1653<style>
1654/* ============================================================
1655   Front Page — Trusted Brands Carousel
1656   Figma node: 1037-536
1657   ============================================================ */
1658
1659.fp-trust {
1660    background-color: #2d2a27;
1661    display: flex;
1662    align-items: center;
1663    gap: 133px;
1664    padding: 50px 188px;
1665    overflow: hidden;
1666}
1667
1668.fp-trust__label {
1669    flex-shrink: 0;
1670    width: 433px;
1671}
1672
1673.fp-trust__label p {
1674    font-family: "Pure Sans", sans-serif;
1675    font-weight: 400;
1676    font-size: 32px;
1677    line-height: 62px;
1678    color: #fff5e3;
1679    white-space: nowrap;
1680    margin: 0;
1681}
1682
1683.fp-trust__carousel {
1684    flex: 1;
1685    min-width: 0;
1686    overflow: hidden;
1687}
1688
1689/* Each slick slide wrapper */
1690.fp-trust__slide {
1691    display: flex !important;
1692    align-items: center;
1693    justify-content: center;
1694    padding: 0 37px;
1695}
1696
1697/* Logo rendered as CSS mask so it inherits cream colour */
1698.fp-trust__logo {
1699    background-color: #fff5e3;
1700    -webkit-mask-repeat: no-repeat;
1701    mask-repeat: no-repeat;
1702    -webkit-mask-position: center;
1703    mask-position: center;
1704    -webkit-mask-size: contain;
1705    mask-size: contain;
1706    display: block;
1707    flex-shrink: 0;
1708}
1709
1710/* ============================================================
1711   Responsive
1712   ============================================================ */
1713
1714@media (max-width: 1399px) {
1715    .fp-trust {
1716        padding: 50px 100px;
1717        gap: 80px;
1718    }
1719
1720    .fp-trust__label {
1721        width: auto;
1722    }
1723
1724    .fp-trust__label p {
1725        font-size: 26px;
1726        line-height: 1.4;
1727        white-space: normal;
1728    }
1729}
1730
1731@media (max-width: 1199px) {
1732    .fp-trust {
1733        padding: 50px 60px;
1734        gap: 50px;
1735    }
1736
1737    .fp-trust__label p {
1738        font-size: 22px;
1739    }
1740}
1741
1742@media (max-width: 991px) {
1743    .fp-trust {
1744        flex-direction: column;
1745        align-items: flex-start;
1746        padding: 40px;
1747        gap: 30px;
1748    }
1749
1750    .fp-trust__label {
1751        width: 100%;
1752    }
1753
1754    .fp-trust__label p {
1755        font-size: 20px;
1756        line-height: 1.4;
1757        white-space: normal;
1758    }
1759
1760    .fp-trust__carousel {
1761        width: 100%;
1762    }
1763
1764    .fp-trust__slide {
1765        padding: 0 24px;
1766    }
1767}
1768
1769@media (max-width: 767px) {
1770    .fp-trust {
1771        padding: 36px 20px;
1772        gap: 24px;
1773    }
1774
1775    .fp-trust__label p {
1776        font-size: 18px;
1777    }
1778
1779    .fp-trust__slide {
1780        padding: 0 16px;
1781    }
1782}
1783</style>
1784
1785<section class="fp-trust">
1786
1787    <div class="fp-trust__label">
1788        <p>Trusted By Leading Enterprises</p>
1789    </div>
1790
1791    <div class="fp-trust__carousel">
1792        <div class="fp-trust__slider">
1793
1794                        <div class="fp-trust__slide">
1795                <span
1796                    class="fp-trust__logo"
1797                    role="img"
1798                    aria-label=""
1799                    style="
1800                        width: 120px;
1801                        height: 40px;
1802                        -webkit-mask-image: url('https://portworx.com/wp-content/uploads/2026/05/rivia-logo.png');
1803                        mask-image: url('https://portworx.com/wp-content/uploads/2026/05/rivia-logo.png');
1804                    "
1805                ></span>
1806            </div>
1807                        <div class="fp-trust__slide">
1808                <span
1809                    class="fp-trust__logo"
1810                    role="img"
1811                    aria-label=""
1812                    style="
1813                        width: 120px;
1814                        height: 40px;
1815                        -webkit-mask-image: url('https://portworx.com/wp-content/uploads/2026/05/fiserv-logo.png');
1816                        mask-image: url('https://portworx.com/wp-content/uploads/2026/05/fiserv-logo.png');
1817                    "
1818                ></span>
1819            </div>
1820                        <div class="fp-trust__slide">
1821                <span
1822                    class="fp-trust__logo"
1823                    role="img"
1824                    aria-label=""
1825                    style="
1826                        width: 120px;
1827                        height: 40px;
1828                        -webkit-mask-image: url('https://portworx.com/w
1828p-content/uploads/2026/05/johnson-controls-logo.png');
1829                        mask-image: url('https://portworx.com/wp-content/uploads/2026/05/johnson-controls-logo.png');
1830                    "
1831                ></span>
1832            </div>
1833                        <div class="fp-trust__slide">
1834                <span
1835                    class="fp-trust__logo"
1836                    role="img"
1837                    aria-label=""
1838                    style="
1839                        width: 120px;
1840                        height: 40px;
1841                        -webkit-mask-image: url('https://portworx.com/wp-content/uploads/2026/05/rosen-logo.png');
1842                        mask-image: url('https://portworx.com/wp-content/uploads/2026/05/rosen-logo.png');
1843                    "
1844                ></span>
1845            </div>
1846                        <div class="fp-trust__slide">
1847                <span
1848                    class="fp-trust__logo"
1849                    role="img"
1850                    aria-label=""
1851                    style="
1852                        width: 120px;
1853                        height: 40px;
1854                        -webkit-mask-image: url('https://portworx.com/wp-content/uploads/2026/05/kpn-1.png');
1855                        mask-image: url('https://portworx.com/wp-content/uploads/2026/05/kpn-1.png');
1856                    "
1857                ></span>
1858            </div>
1859            
1860        </div>
1861    </div>
1862
1863</section>
1864
1865<script>
1866fpWithJQuery(function ($) {
1867    $(document).ready(function () {
1868        var $slider = $('.fp-trust__slider');
1869        if (!$slider.length) return;
1870
1871        var init = function () {
1872            if ($slider.hasClass('slick-initialized')) {
1873                $slider.slick('unslick');
1874            }
1875
1876            $slider.slick({
1877                dots:            false,
1878                arrows:          false,
1879                infinite:        true,
1880                autoplay:        true,
1881                autoplaySpeed:   0,
1882                speed:           4000,
1883                cssEase:         'linear',
1884                slidesToShow:    4,
1885                slidesToScroll:  1,
1886                pauseOnHover:    false,
1887                variableWidth:   false,
1888                responsive: [
1889                    {
1890                        breakpoint: 1200,
1891                        settings: { slidesToShow: 3 }
1892                    },
1893                    {
1894                        breakpoint: 992,
1895                        settings: { slidesToShow: 3, speed: 5000 }
1896                    }
1897                ]
1898            });
1899        };
1900
1901        init();
1902        $(window).on('resize', init);
1903    });
1904});
1905</script>
1905
1906
1907
1908<style>
1909/* ============================================================
1910   Front Page — Platform Tabs
1911   Figma desktop: 1037-552  |  Figma mobile: 1161-82
1912   ============================================================ */
1913
1914.fp-platform {
1915    background-color: #fff5e3;
1916    display: flex;
1917    flex-direction: column;
1918    align-items: center;
1919    gap: 30px;
1920    padding: 100px 0;
1921}
1922
1923.fp-platform__heading {
1924    font-family: "Pure Sans", sans-serif;
1925    font-weight: 400;
1926    font-size: 52px;
1927    line-height: normal;
1928    letter-spacing: 0.52px;
1929    color: #2d2a27;
1930    text-align: center;
1931    margin: 0;
1932    white-space: nowrap;
1933}
1934
1935/* ── Tab wrap: holds bar + panels ── */
1936.fp-platform__tab-wrap {
1937    display: flex;
1938    flex-direction: column;
1939    align-items: center;
1940    gap: 40px;
1941    width: 100%;
1942}
1943
1944/* ── Tab bar pill ── */
1945.fp-platform__tabs {
1946    display: inline-flex;
1947    align-items: center;
1948    background-color: #c5e4cc;
1949    border-radius: 60px;
1950    height: 50px;
1951    gap: 0;
1952    flex-shrink: 0;
1953}
1954
1955.fp-platform__tab {
1956    display: flex;
1957    align-items: center;
1958    justify-content: center;
1959    height: 50px;
1960    border-radius: 60px;
1961    padding: 0 30px;
1962    font-family: "Pure Sans", sans-serif;
1963    font-size: 16px;
1964    font-weight: 500;
1965    color: #231f20;
1966    background: transparent;
1967    border: none;
1968    cursor: pointer;
1969    white-space: nowrap;
1970    letter-spacing: 1px;
1971    line-height: 1.2;
1972    transition: background-color 0.2s ease, color 0.2s ease;
1973}
1974
1975.fp-platform__tab.is-active {
1976    background-color: #5f6e65;
1977    color: #ffffff;
1978    font-weight: 700;
1979}
1980
1981.fp-platform__tab:focus-visible {
1982    outline: 2px solid #5f6e65;
1983    outline-offset: 2px;
1984}
1985
1986/* ── Panels container ── */
1987.fp-platform__panels {
1988    width: 100%;
1989    padding: 0 150px;
1990    box-sizing: border-box;
1991}
1992
1993/* ── Individual panel ── */
1994.fp-platform__panel {
1995    display: none;
1996    align-items: stretch;
1997    justify-content: space-between;
1998    border: 2px solid rgba(213, 93, 29, 0.4);
1999    border-radius: 10px;
2000    padding: 30px;
2001    gap: 30px;
2002}
2003
2004.fp-platform__panel.is-active {
2005    display: flex;
2006}
2007
2008/* ── Left: text content ── */
2009.fp-platform__panel-left {
2010    display: flex;
2011    flex-direction: column;
2012    gap: 40px;
2013    flex: 0 1 567px;
2014    max-width: 567px;
2015    padding: 20px 30px 20px 0;
2016    justify-content: space-between;
2017}
2018
2019.fp-platform__panel-text {
2020    display: flex;
2021    flex-direction: column;
2022    gap: 20px;
2023}
2024
2025.fp-platform__panel-title {
2026    font-family: "Pure Sans", sans-serif;
2027    font-weight: 400;
2028    font-size: 40px;
2029    line-height: normal;
2030    letter-spacing: 0.4px;
2031    color: #2d2a27;
2032    margin: 0;
2033}
2034
2035.fp-platform__panel-desc {
2036    font-family: "Pure Sans", sans-serif;
2037    font-weight: 400;
2038    font-size: 20px;
2039    line-height: 1.2;
2040    letter-spacing: 1px;
2041    color: #2d2a27;
2042    margin: 0;
2043}
2044
2045.fp-platform__panel-cta {
2046    display: inline-flex;
2047    align-items: center;
2048    gap: 10px;
2049    font-family: "Inter", sans-serif;
2050    font-weight: 600;
2051    font-size: 16px;
2052    line-height: 18px;
2053    letter-spacing: 0.3px;
2054    color: #d55d1d;
2055    text-decoration: none;
2056    white-space: nowrap;
2057    transition: opacity 0.2s ease;
2058}
2059
2060.fp-platform__panel-cta:hover {
2061    opacity: 0.7;
2062    color: #d55d1d;
2063    text-decoration: none;
2064}
2065
2066.fp-platform__panel-cta-arrow {
2067    display: inline-block;
2068    transition: transform 0.2s ease;
2069}
2070
2071.fp-platform__panel-cta:hover .fp-platform__panel-cta-arrow {
2072    transform: translateX(4px);
2073}
2074
2075/* ── Right: dark stat card ── */
2076.fp-platform__panel-right {
2077    flex: 0 0 566px;
2078    max-width: 566px;
2079    background-color: #2d2a27;
2080    border-radius: 10px;
2081    padding: 50px 30px;
2082    display: flex;
2083    flex-direction: column;
2084    gap: 30px;
2085    position: relative;
2086    overflow: hidden;
2087}
2088
2089/* Stat: number + label aligned to bottom */
2090.fp-platform__stat {
2091    display: flex;
2092    align-items: flex-end;
2093    gap: 8px;
2094    flex-shrink: 0;
2095}
2096
2097.fp-platform__stat-number {
2098    font-family: "Pure Sans", sans-serif;
2099    font-weight: 400;
2100    font-size: 100px;
2101    line-height: 86px;
2102    letter-spacing: 1px;
2103    color: #ff7023;
2104    display: block;
2105}
2106
2107.fp-platform__stat-label {
2108    font-family: "Pure Sans", sans-serif;
2109    font-weight: 400;
2110    font-size: 20px;
2111    line-height: 1.2;
2112    letter-spacing: 1px;
2113    color: #ff7023;
2114    display: block;
2115    margin-bottom: 14px;
2116}
2117
2118/* Quote + attribution */
2119.fp-platform__quote-wrap {
2120    display: flex;
2121    flex-direction: column;
2122    gap: 10px;
2123    position: relative;
2124    z-index: 1;
2125}
2126
2127.fp-platform__quote {
2128    font-family: "Pure Sans", sans-serif;
2129    font-style: italic;
2130    font-weight: 400;
2131    font-size: 28px;
2132    line-height: 1.2;
2133    letter-spacing: 1px;
2134    color: #fff5e3;
2135    margin: 0;
2136}
2137
2138.fp-platform__attribution {
2139    display: flex;
2140    flex-direction: column;
2141    gap: 10px;
2142    min-height: 80px;
2143}
2144
2145.fp-platform__attribution-role {
2146    font-family: "Pure Sans", sans-serif;
2147    font-weight: 400;
2148    font-size: 20px;
2149    line-height: 1.2;
2150    letter-spacing: 1px;
2151    color: #fff5e3;
2152    margin: 0;
2153    white-space: nowrap;
2154}
2155
2156/* Attribution logo — CSS mask for cream colouring */
2157.fp-platform__attr-logo {
2158    background-color: #fff5e3;
2159    -webkit-mask-repeat: no-repeat;
2160    mask-repeat: no-repeat;
2161    -webkit-mask-position: left center;
2162    mask-position: left center;
2163    -webkit-mask-size: contain;
2164    mask-size: contain;
2165    display: block;
2166    flex-shrink: 0;
2167}
2168
2169/* Decorative hex pattern — CSS mask, orange */
2170.fp-platform__hex-deco {
2171    position: absolute;
2172    bottom: 0;
2173    right: 70px;
2174    width: 170px;
2175    height: 100px;
2176    background-color: #ff7023;
2177    -webkit-mask-repeat: no-repeat;
2178    mask-repeat: no-repeat;
2179    -webkit-mask-position: center;
2180    mask-position: center;
2181    -webkit-mask-size: contain;
2182    mask-size: contain;
2183    pointer-events: none;
2184    z-index: 0;
2185}
2186
2187/* ============================================================
2188   Responsive
2189   ============================================================ */
2190
2191@media (max-width: 1399px) {
2192    .fp-platform {
2193        padding: 80px 0;
2194    }
2195
2196    .fp-platform__heading {
2197        font-size: 44px;
2198    }
2199
2200    .fp-platform__panels {
2201        padding: 0 100px;
2202    }
2203
2204    .fp-platform__panel-left {
2205        flex: 1;
2206        max-width: none;
2207    }
2208
2209    .fp-platform__panel-right {
2210        flex: 1;
2211        max-width: none;
2212    }
2213
2214    .fp-platform__panel-title {
2215        font-size: 34px;
2216    }
2217
2218    .fp-platform__stat-number {
2219        font-size: 80px;
2220        line-height: 70px;
2221    }
2222
2223    .fp-platform__quote {
2224        font-size: 22px;
2225    }
2226}
2227
2228@media (max-width: 1199px) {
2229    .fp-platform__panels {
2230        padding: 0 60px;
2231    }
2232
2233    .fp-platform__heading {
2234        font-size: 36px;
2235        white-space: normal;
2236        padding: 0 60px;
2237        text-align: center;
2238    }
2239
2240    .fp-platform__panel-title {
2241        font-size: 28px;
2242    }
2243
2244    .fp-platform__panel-desc {
2245        font-size: 17px;
2246    }
2247
2248    .fp-platform__stat-number {
2249        font-size: 66px;
2250        line-height: 58px;
2251    }
2252
2253    .fp-platform__stat-label {
2254        font-size: 17px;
2255    }
2256
2257    .fp-platform__quote {
2258        font-size: 18px;
2259    }
2260
2261    .fp-platform__attribution-role {
2262        font-size: 17px;
2263    }
2264
2265    .fp-platform__tab {
2266        padding: 0 20px;
2267    }
2268}
2269
2270/* ── Mobile breakpoint — matches Figma node 1161-82 ── */
2271@media (max-width: 767px) {
2272    .fp-platform {
2273        padding: 40px 0;
2274        gap: 20px;
2275        align-items: flex-start;
2276    }
2277
2278    .fp-platform__heading {
2279        font-size: 28px;
2280        line-height: 1.2;
2281        letter-spacing: 1px;
2282        white-space: normal;
2283        text-align: center;
2284        padding: 0 20px;
2285        width: 100%;
2286        box-sizing: border-box;
2287    }
2288
2289    .fp-platform__tab-wrap {
2290        gap: 20px;
2291        align-items: flex-start;
2292        padding: 0 20px;
2293        box-sizing: border-box;
2294        width: 100%;
2295    }
2296
2297    /* Mobile pill: full-width, shorter */
2298    .fp-platform__tabs {
2299        display: flex;
2300        width: 100%;
2301        height: 30px;
2302        gap: 0;
2303        padding-right: 0;
2304        justify-content: flex-start;
2305    }
2306
2307    .fp-platform__tab {
2308        height: 30px;
2309        font-size: 10px;
2310        font-weight: 700;
2311        padding: 0 12px;
2312        letter-spacing: 0.5px;
2313        flex: 1;
2314        justify-content: center;
2315    }
2316
2317    .fp-platform__tab.is-active {
2318        white-space: nowrap;
2319    }
2320
2321    .fp-platform__panels {
2322        padding: 0 20px;
2323        width: 100%;
2324        box-sizing: border-box;
2325    }
2326
2327    /* Mobile panel: stack vertically */
2328    .fp-platform__panel.is-active {
2329        flex-direction: column;
2330        gap: 30px;
2331        padding: 0;
2332        border: none;
2333    }
2334
2335    .fp-platform__panel-left {
2336        flex: none;
2337        max-width: 100%;
2338        padding: 0;
2339        gap: 16px;
2340    }
2341
2342    .fp-platform__panel-text {
2343        gap: 16px;
2344    }
2345
2346    .fp-platform__panel-title {
2347        font-size: 24px;
2348        letter-spacing: 1px;
2349    }
2350
2351    .fp-platform__panel-desc {
2352        font-size: 16px;
2353    }
2354
2355    /* Mobile dark card: full width, smaller padding */
2356    .fp-platform__panel-right {
2357        flex: none;
2358        max-width: 100%;
2359        width: 100%;
2360        padding: 30px 20px;
2361        gap: 20px;
2362    }
2363
2364    /* Mobile stat: stack vertically */
2365    .fp-platform__stat {
2366        flex-direction: column;
2367        align-items: flex-start;
2368        gap: 4px;
2369    }
2370
2371    .fp-platform__stat-number {
2372        font-size: 48px;
2373        letter-spacing: 0.48px;
2374        line-height: 48px;
2375    }
2376
2377    .fp-platform__stat-label {
2378        font-size: 16px;
2379        margin-bottom: 0;
2380    }
2381
2382    .fp-platform__quote {
2383        font-size: 16px;
2384    }
2385
2386    .fp-platform__attribution-role {
2387        font-size: 16px;
2388    }
2389
2390    .fp-platform__hex-deco {
2391        width: 125px;
2392        height: 80px;
2393        right: 30px;
2394    }
2395}
2396</style>
2397
2398<section class="fp-platform">
2399
2400    <p class="fp-platform__heading">One Data Platform for All Your Applications</p>
2401
2402    <div class="fp-platform__tab-wrap">
2403
2404        <!-- Tab bar -->
2405        <div class="fp-platform__tabs" role="tablist" aria-label="Platform categories">
2406                        <button
2407                class="fp-platform__tab is-active"
2408                role="tab"
2409                aria-selected="true"
2410                data-fp-tab="0"
2411            >Modern Applications</button>
2412                        <button
2413                class="fp-platform__tab"
2414                role="tab"
2415                aria-selected="false"
2416                data-fp-tab="1"
2417            >Modern Virtualization</button>
2418                        <button
2419                class="fp-platform__tab"
2420                role="tab"
2421                aria-selected="false"
2422                data-fp-tab="2"
2423            >AI Pipelines</button>
2424                    </div>
2425
2426        <!-- Tab panels -->
2427        <div class="fp-platform__panels">
2428                        <div
2429                class="fp-platform__panel is-active"
2430                role="tabpanel"
2431                data-fp-panel="0"
2432                aria-hidden="false"
2433            >
2434
2435                <!-- Left: text + CTA -->
2436                <div class="fp-platform__panel-left">
2437                    <div class="fp-platform__panel-text">
2438                                                <p class="fp-platform__panel-title">Make storage an app-centric, platform-managed capability</p>
2439                                                                        <p class="fp-platform__panel-desc">Deliver automated, intelligent storage with Kubernetes-native lifecycle management, backup, encryption, and HA/DR. Unlock operational consistency, reliable protection, and effortless management across hybrid/multicloud environments.</p>
2440                                            </div>
2441                    <a
2442                        href="https://portworx.com/solutions/modern-applications/"
2443                        class="fp-platform__panel-cta"
2444                                            >
2445                        Learn More                        <span class="fp-platform__panel-cta-arrow" aria-hidden="true">&#8594;</span>
2446                    </a>
2447                </div>
2448
2449                <!-- Right: dark stat card -->
2450                <div class="fp-platform__panel-right">
2451
2452                                        <div class="fp-platform__stat">
2453                        <span class="fp-platform__stat-number">25,000</span>
2454                                                <span class="fp-platform__stat-label">transactions per second</span>
2455                                            </div>
2456                    
2457                    <div class="fp-platform__quote-wrap">
2458                                                <p class="fp-platform__quote">&quot;The impacts are clearly reliable software deployments, where we’re deploying more features.&quot;</p>
2459                        
2460                        <div class="fp-platform__attribution">
2461                                                        <p class="fp-platform__attribution-role">Director of IT</p>
2462                                                                                    <span
2463                                class="fp-platform__attr-logo"
2464                                role="img"
2465                                aria-label=""
2466                                style="
2467                                    width: 121px;
2468                                    height: 45px;
2469                                    -webkit-mask-image: url('https://portworx.com/wp-content/uploads/2026/05/fiserv-logo.png');
2470                                    mask-image: url('https://portworx.com/wp-content/uploads/2026/05/fiserv-logo.png');
2471                                "
2472                            ></span>
2473                                                    </div>
2474                    </div>
2475
2476                                        <div
2477                        class="fp-platform__hex-deco"
2478                        aria-hidden="true"
2479                        style="
2480                            -webkit-mask-image: url('https://portworx.com/wp-content/uploads/2026/05/hex-pattern.png');
2481                            mask-image: url('https://portworx.com/wp-content/uploads/2026/05/hex-pattern.png');
2482                        "
2483                    ></div>
2484                    
2485                </div>
2486
2487            </div>
2488                        <div
2489                class="fp-platform__panel"
2490                role="tabpanel"
2491                data-fp-panel="1"
2492                aria-hidden="true"
2493            >
2494
2495                <!-- Left: text + CTA -->
2496                <div class="fp-platform__panel-left">
2497                    <div class="fp-platform__panel-text">
2498                                                <p class="fp-platform__panel-title">Storage and data management for VMs &amp; Containers</p>
2499                                                                        <p class="fp-platform__panel-desc">Run VMs alongside your containers on Kubernetes, while Portworx handles your storage, protection, and scaling seamlessly. Keep costs in check and deliver an open, future-ready platform.</p>
2500                                            </div>
2501                    <a
2502                        href="https://portworx.com/modern-virtualization/"
2503                        class="fp-platform__panel-cta"
2504                                            >
2505                        Learn More                        <span class="fp-platform__panel-cta-arrow" aria-hidden="true">&#8594;</span>
2506                    </a>
2507                </div>
2508
2509                <!-- Right: dark stat card -->
2510                <div class="fp-platform__panel-right">
2511
2512                                        <div class="fp-platform__stat">
2513                        <span class="fp-platform__stat-number">1000s</span>
2514                                                <span class="fp-platform__stat-label">of VMs to containers</span>
2515                                            </div>
2516                    
2517                    <div class="fp-platform__quote-wrap">
2518                                                <p class="fp-platform__quote">&quot;Low cost of ownership, works on-prem, in the cloud, or at the edge…from a storage point of view, it just fits.&quot;</p>
2519                        
2520                        <div class="fp-platform__attribution">
2521                                                        <p class="fp-platform__attribution-role">Director of Platform Operations, SiriusXM</p>
2522                                                                                </div>
2523                    </div>
2524
2525                                        <div
2526                        class="fp-platform__hex-deco"
2527                        aria-hidden="true"
2528                        style="
2529                            -webkit-mask-image: url('https://portworx.com/w
2529p-content/uploads/2026/05/hex-pattern.png');
2530                            mask-image: url('https://portworx.com/wp-content/uploads/2026/05/hex-pattern.png');
2531                        "
2532                    ></div>
2533                    
2534                </div>
2535
2536            </div>
2537                        <div
2538                class="fp-platform__panel"
2539                role="tabpanel"
2540                data-fp-panel="2"
2541                aria-hidden="true"
2542            >
2543
2544                <!-- Left: text + CTA -->
2545                <div class="fp-platform__panel-left">
2546                    <div class="fp-platform__panel-text">
2547                                                <p class="fp-platform__panel-title">Deliver models efficiently and at lower cost with AI-optimized storage</p>
2548                                                                        <p class="fp-platform__panel-desc">Remove dataset fragmentation, slow data access, and manual storage operations that drive up costs, and delay training, fine-tuning, and inference across Kubernetes-based AI environments.</p>
2549                                            </div>
2550                    <a
2551                        href="https://portworx.com/use-case/ai-ml/"
2552                        class="fp-platform__panel-cta"
2553                                            >
2554                        Learn More                        <span class="fp-platform__panel-cta-arrow" aria-hidden="true">&#8594;</span>
2555                    </a>
2556                </div>
2557
2558                <!-- Right: dark stat card -->
2559                <div class="fp-platform__panel-right">
2560
2561                                        <div class="fp-platform__stat">
2562                        <span class="fp-platform__stat-number">70%</span>
2563                                                <span class="fp-platform__stat-label">faster safety analysis</span>
2564                                            </div>
2565                    
2566                    <div class="fp-platform__quote-wrap">
2567                                                <p class="fp-platform__quote">&quot;Portworx has enabled us to automate around 99% of our [AI] platform…we’ve achieved 70% reduction in the time it takes to deliver analyses.&quot;</p>
2568                        
2569                        <div class="fp-platform__attribution">
2570                                                        <p class="fp-platform__attribution-role">IT Service Architect</p>
2571                                                                                    <span
2572                                class="fp-platform__attr-logo"
2573                                role="img"
2574                                aria-label=""
2575                                style="
2576                                    width: 121px;
2577                                    height: 45px;
2578                                    -webkit-mask-image: url('https://portworx.com/wp-content/uploads/2026/05/rosen-logo.png');
2579                                    mask-image: url('https://portworx.com/wp-content/uploads/2026/05/rosen-logo.png');
2580                                "
2581                            ></span>
2582                                                    </div>
2583                    </div>
2584
2585                                        <div
2586                        class="fp-platform__hex-deco"
2587                        aria-hidden="true"
2588                        style="
2589                            -webkit-mask-image: url('https://portworx.com/wp-content/uploads/2026/05/hex-pattern.png');
2590                            mask-image: url('https://portworx.com/wp-content/uploads/2026/05/hex-pattern.png');
2591                        "
2592                    ></div>
2593                    
2594                </div>
2595
2596            </div>
2597                    </div>
2598
2599    </div>
2600
2601</section>
2602
2603<script>
2604(function () {
2605    var tabs   = document.querySelectorAll('.fp-platform__tab');
2606    var panels = document.querySelectorAll('.fp-platform__panel');
2607
2608    tabs.forEach(function (tab) {
2609        tab.addEventListener('click', function () {
2610            var idx = this.getAttribute('data-fp-tab');
2611
2612            tabs.forEach(function (t) {
2613                t.classList.remove('is-active');
2614                t.setAttribute('aria-selected', 'false');
2615            });
2616            panels.forEach(function (p) {
2617                p.classList.remove('is-active');
2618                p.setAttribute('aria-hidden', 'true');
2619            });
2620
2621            this.classList.add('is-active');
2622            this.setAttribute('aria-selected', 'true');
2623
2624            var target = document.querySelector('[data-fp-panel="' + idx + '"]');
2625            if (target) {
2626                target.classList.add('is-active');
2627                target.setAttribute('aria-hidden', 'false');
2628            }
2629        });
2630    });
2631})();
2632</script>
2632
2633
2634
2635<style>
2636/* ============================================================
2637   Front Page — Report CTA Banner
2638   Figma desktop: 1037-589  |  Figma mobile: 1161-122
2639   ============================================================ */
2640
2641.fp-report {
2642    background-color: #5f6e65;
2643    position: relative;
2644    overflow: hidden;
2645    display: flex;
2646    align-items: center;
2647    min-height: 300px;
2648    padding: 40px 188px;
2649}
2650
2651/* ── Left: text content ── */
2652.fp-report__content {
2653    display: flex;
2654    flex-direction: column;
2655    gap: 28px;
2656    position: relative;
2657    z-index: 2;
2658    max-width: 668px;
2659    flex-shrink: 0;
2660    padding: 20px 0;
2661}
2662
2663.fp-report__badge-group {
2664    display: flex;
2665    flex-direction: column;
2666    gap: 10px;
2667}
2668
2669.fp-report__badge {
2670    display: inline-flex;
2671    align-items: center;
2672    justify-content: center;
2673    height: 31px;
2674    padding: 0 10px;
2675    background-color: #2d2a27;
2676    border: 1px solid #d55d1d;
2677    border-radius: 5px;
2678    font-family: "Pure Sans", sans-serif;
2679    font-weight: 400;
2680    font-size: 16px;
2681    line-height: 1.2;
2682    letter-spacing: 1px;
2683    color: #fff5e3;
2684    white-space: nowrap;
2685    align-self: flex-start;
2686}
2687
2688.fp-report__title {
2689    font-family: "Pure Sans", sans-serif;
2690    font-weight: 400;
2691    font-size: 40px;
2692    line-height: 1.2;
2693    letter-spacing: 1px;
2694    color: #faf7f1;
2695    margin: 0;
2696}
2697
2698.fp-report__cta {
2699    display: inline-flex;
2700    align-items: center;
2701    justify-content: center;
2702    padding: 16px 30px;
2703    background-color: #d55d1d;
2704    color: #ffffff;
2705    font-family: "Inter", sans-serif;
2706    font-weight: 600;
2707    font-size: 16px;
2708    line-height: 18px;
2709    letter-spacing: 1px;
2710    border-radius: 4px;
2711    text-decoration: none;
2712    white-space: nowrap;
2713    align-self: flex-start;
2714    border: 1px solid #d55d1d;
2715    transition: background-color 0.2s ease;
2716}
2717
2718.fp-report__cta:hover {
2719    background-color: #b84d18;
2720    color: #ffffff;
2721    text-decoration: none;
2722}
2723
2724/* ── Right: visual (desktop absolute, mobile in-flow) ── */
2725.fp-report__visual {
2726    position: absolute;
2727    right: 0;
2728    top: 50%;
2729    transform: translateY(-50%);
2730    width: 620px;
2731    height: 340px;
2732    pointer-events: none;
2733    z-index: 1;
2734}
2735
2736/* Hex pattern background layer */
2737.fp-report__hex-bg {
2738    position: absolute;
2739    inset: 0;
2740    background-color: rgba(255, 255, 255, 0.06);
2741    -webkit-mask-repeat: no-repeat;
2742    mask-repeat: no-repeat;
2743    -webkit-mask-position: center;
2744    mask-position: center;
2745    -webkit-mask-size: cover;
2746    mask-size: cover;
2747}
2748
2749/* Laptop + shadow container */
2750.fp-report__laptop-wrap {
2751    position: absolute;
2752    left: 70px;
2753    top: 50%;
2754    transform: translate(0, -50%);
2755    width: 407px;
2756}
2757
2758.fp-report__laptop-img {
2759    display: block;
2760    width: 407px;
2761    height: auto;
2762    position: relative;
2763    z-index: 1;
2764}
2765
2766.fp-report__shadow {
2767    display: block;
2768    width: 407px;
2769    height: auto;
2770    margin-top: -6px;
2771    opacity: 0.5;
2772}
2773
2774/* ============================================================
2775   Responsive
2776   ============================================================ */
2777
2778@media (max-width: 1399px) {
2779    .fp-report {
2780        padding: 40px 100px;
2781    }
2782
2783    .fp-report__visual {
2784        width: 520px;
2785    }
2786
2787    .fp-report__laptop-wrap {
2788        width: 340px;
2789    }
2790
2791    .fp-report__laptop-img,
2792    .fp-report__shadow {
2793        width: 340px;
2794    }
2795}
2796
2797@media (max-width: 1199px) {
2798    .fp-report {
2799        padding: 40px 60px;
2800    }
2801
2802    .fp-report__title {
2803        font-size: 32px;
2804    }
2805
2806    .fp-report__visual {
2807        width: 420px;
2808    }
2809
2810    .fp-report__laptop-wrap {
2811        width: 280px;
2812    }
2813
2814    .fp-report__laptop-img,
2815    .fp-report__shadow {
2816        width: 280px;
2817    }
2818}
2819
2820@media (max-width: 991px) {
2821    .fp-report {
2822        padding: 40px 40px;
2823    }
2824
2825    .fp-report__title {
2826        font-size: 28px;
2827    }
2828
2829    .fp-report__visual {
2830        width: 340px;
2831        opacity: 0.5;
2832    }
2833}
2834
2835/* ── Mobile — matches Figma node 1161-122 ── */
2836@media (max-width: 767px) {
2837    .fp-report {
2838        flex-direction: column;
2839        align-items: flex-start;
2840        padding: 0;
2841        min-height: auto;
2842        overflow: visible;
2843    }
2844
2845    /* Content on top */
2846    .fp-report__content {
2847        padding: 30px 20px 20px;
2848        max-width: 100%;
2849        z-index: 1;
2850    }
2851
2852    .fp-report__title {
2853        font-size: 28px;
2854    }
2855
2856    .fp-report__cta {
2857        height: 36px;
2858        padding: 0 16px;
2859    }
2860
2861    /* Visual in-flow below content */
2862    .fp-report__visual {
2863        position: static;
2864        transform: none;
2865        width: 100%;
2866        height: auto;
2867        min-height: 230px;
2868        overflow: hidden;
2869        opacity: 1;
2870    }
2871
2872    .fp-report__hex-bg {
2873        position: absolute;
2874        inset: 0;
2875        -webkit-mask-size: cover;
2876        mask-size: cover;
2877        height: 250px;
2878        bottom: 0;
2879        top: auto;
2880    }
2881
2882    .fp-report__laptop-wrap {
2883        position: relative;
2884        left: auto;
2885        top: auto;
2886        transform: none;
2887        width: 100%;
2888        display: flex;
2889        flex-direction: column;
2890        align-items: center;
2891        padding: 40px 20px 0;
2892        box-sizing: border-box;
2893    }
2894
2895    .fp-report__laptop-img {
2896        width: 248px;
2897    }
2898
2899    .fp-report__shadow {
2900        width: 248px;
2901    }
2902}
2903</style>
2904
2905<section class="fp-report">
2906
2907    <!-- Left / top: text content -->
2908    <div class="fp-report__content">
2909        <div class="fp-report__badge-group">
2910            <span class="fp-report__badge">Report</span>
2911            <h2 class="fp-report__title">The Voice of Kubernetes Report 2026: The Future of VM Workloads.</h2>
2912        </div>
2913        <a
2914            href="https://portworx.com/resources/voice-of-kubernetes-report-2026/"
2915            class="fp-report__cta"
2916                    >Download Now</a>
2917    </div>
2918
2919    <!-- Right / bottom: laptop visual -->
2920        <div class="fp-report__visual" aria-hidden="true">
2921
2922                <div
2923            class="fp-report__hex-bg"
2924            style="
2925                -webkit-mask-image: url('https://portworx.com/wp-content/uploads/2026/05/green-pattern.png');
2926                mask-image: url('https://portworx.com/wp-content/uploads/2026/05/green-pattern.png');
2927            "
2928        ></div>
2929        
2930        <div class="fp-report__laptop-wrap">
2931            <img
2932                class="fp-report__laptop-img"
2933                src="https://portworx.com/wp-content/uploads/2026/05/laptop.png"
2934                alt=""
2935                width="407"
2936                height="265"
2937                loading="lazy"
2938            >
2939                    </div>
2940
2941    </div>
2942    
2943</section>
2944
2945
2946<style>
2947/* ============================================================
2948   Front Page — Ecosystem Partners
2949   Figma node: 1103-22
2950   ============================================================ */
2951
2952.fp-eco {
2953    background-color: #fff5e3;
2954    display: flex;
2955    flex-direction: column;
2956    align-items: center;
2957    gap: 40px;
2958    padding: 100px 0 80px;
2959    overflow: hidden;
2960}
2961
2962/* ── Heading ── */
2963.fp-eco__heading {
2964    font-family: "Pure Sans", sans-serif;
2965    font-weight: 400;
2966    font-size: 52px;
2967    line-height: 1.2;
2968    letter-spacing: 1px;
2969    color: #2d2a27;
2970    text-align: center;
2971    margin: 0;
2972    padding: 0 60px;
2973}
2974
2975.fp-eco__heading span {
2976    display: block;
2977    font-size: inherit;
2978    font-weight: inherit;
2979    letter-spacing: inherit;
2980}
2981
2982/* ── Single slider area (full width) ── */
2983.fp-eco__sliders {
2984    width: 100%;
2985}
2986
2987/* Each slide cell */
2988.fp-eco__logo-slide {
2989    display: flex !important;
2990    align-items: center;
2991    justify-content: center;
2992    padding: 0 10px;
2993}
2994.fp-eco__logos {
2995    max-width: 1100px;
2996    margin: 0 auto;
2997}
2998
2999.fp-eco__logos .fp-eco__logo-img {
3000    max-height: 56px;
3001    width: auto;
3002    display: block;
3003    object-fit: contain;
3004}
3005
3006/* ── Description + CTA footer ── */
3007.fp-eco__footer {
3008    display: flex;
3009    flex-direction: column;
3010    align-items: center;
3011    gap: 24px;
3012    padding: 0 188px;
3013    text-align: center;
3014}
3015
3016.fp-eco__desc {
3017    font-family: "Pure Sans", sans-serif;
3018    color: #2d2a27;
3019    margin: 0;
3020    max-width: 860px;
3021    font-size: 20px;
3022    line-height: 1.2;
3023    letter-spacing: 1px;
3024    margin-bottom: 18px;
3025    font-weight: normal;
3026}
3027
3028.fp-eco__desc a {
3029    color: #2d2a27;
3030    text-decoration: underline;
3031    text-underline-offset: 2px;
3032    display: inline-block;
3033}
3034
3035.fp-eco__desc a:hover {
3036    opacity: 0.8;
3037}
3038
3039.fp-eco__cta {
3040    display: inline-flex;
3041    align-items: center;
3042    justify-content: center;
3043    padding: 16px 30px;
3044    background-color: #d55d1d;
3045    color: #ffffff;
3046    font-family: "Inter", sans-serif;
3047    font-weight: 600;
3048    font-size: 16px;
3049    line-height: 18px;
3050    letter-spacing: 1px;
3051    border-radius: 4px;
3052    text-decoration: none;
3053    white-space: nowrap;
3054    border: 1px solid #d55d1d;
3055    transition: background-color 0.2s ease;
3056}
3057
3058.fp-eco__cta:hover {
3059    background-color: #b84d18;
3060    color: #ffffff;
3061    text-decoration: none;
3062}
3063
3064/* ============================================================
3065   Responsive
3066   ============================================================ */
3067
3068@media (max-width: 1399px) {
3069    .fp-eco__heading {
3070        font-size: 44px;
3071    }
3072
3073    .fp-eco__footer {
3074        padding: 0 100px;
3075    }
3076}
3077
3078@media (max-width: 1199px) {
3079    .fp-eco__heading {
3080        font-size: 36px;
3081        padding: 0 40px;
3082    }
3083
3084    .fp-eco__footer {
3085        padding: 0 60px;
3086    }
3087
3088    .fp-eco__logo-slide {
3089        padding: 0 28px;
3090    }
3091}
3092
3093@media (max-width: 991px) {
3094    .fp-eco {
3095        padding: 70px 0 60px;
3096        gap: 32px;
3097    }
3098
3099    .fp-eco__heading {
3100        font-size: 30px;
3101        padding: 0 30px;
3102    }
3103
3104    .fp-eco__footer {
3105        padding: 0 40px;
3106    }
3107}
3108
3109@media (max-width: 767px) {
3110    .fp-eco {
3111        padding: 50px 0 50px;
3112        gap: 24px;
3113    }
3114
3115    .fp-eco__heading {
3116        font-size: 24px;
3117        padding: 0 20px;
3118    }
3119
3120    .fp-eco__footer {
3121        padding: 0 20px;
3122    }
3123
3124    .fp-eco__desc {
3125        font-size: 14px;
3126    }
3127
3128    .fp-eco__logo-slide {
3129        padding: 0 20px;
3130    }
3131
3132    .fp-eco__logos .fp-eco__logo-img {
3133        max-height: 40px;
3134    }
3135
3136    .fp-eco__cta {
3137        width: 100%;
3138        justify-content: center;
3139    }
3140}
3141</style>
3142
3143<section class="fp-eco">
3144
3145    <!-- Heading -->
3146    <h2 class="fp-eco__heading">
3147                <span>Kubernetes Storage And Data Management</span>
3148                <span>That Works With Your Ecosystem</span>
3149            </h2>
3150
3151    <!-- Logo slider -->
3152    <div class="fp-eco__sliders">
3153
3154        <div class="fp-eco__logos">
3155                        <div class="fp-eco__logo-slide">
3156                <img
3157                    class="fp-eco__logo-img"
3158                    src="https://portworx.com/wp-content/uploads/2026/05/aws.png"
3159                    alt=""
3160                    loading="lazy"
3161                >
3162            </div>
3163                        <div class="fp-eco__logo-slide">
3164                <img
3165                    class="fp-eco__logo-img"
3166                    src="https://portworx.com/wp-content/uploads/2026/05/azure.png"
3167                    alt=""
3168                    loading="lazy"
3169                >
3170            </div>
3171                        <div class="fp-eco__logo-slide">
3172                <img
3173                    class="fp-eco__logo-img"
3174                    src="https://portworx.com/wp-content/uploads/2026/05/google-cloud.png"
3175                    alt=""
3176                    loading="lazy"
3177                >
3178            </div>
3179                        <div class="fp-eco__logo-slide">
3180                <img
3181                    class="fp-eco__logo-img"
3182                    src="https://portworx.com/wp-content/uploads/2026/05/ibm.png"
3183                    alt=""
3184                    loading="lazy"
3185                >
3186            </div>
3187                        <div class="fp-eco__logo-slide">
3188                <img
3189                    class="fp-eco__logo-img"
3190                    src="https://portworx.com/wp-content/uploads/2026/05/oracle.png"
3191                    alt=""
3192                    loading="lazy"
3193                >
3194            </div>
3195                        <div class="fp-eco__logo-slide">
3196                <img
3197                    class="fp-eco__logo-img"
3198                    src="https://portworx.com/wp-content/uploads/2026/05/redhat.png"
3199                    alt=""
3200                    loading="lazy"
3201                >
3202            </div>
3203                        <div class="fp-eco__logo-slide">
3204                <img
3205                    class="fp-eco__logo-img"
3206                    src="https://portworx.com/wp-content/uploads/2026/05/suse.png"
3207                    alt=""
3208                    loading="lazy"
3209                >
3210            </div>
3211                    </div>
3212
3213    </div>
3214
3215    <!-- Description + CTA -->
3216    <div class="fp-eco__footer">
3217                <p class="fp-eco__desc">Portworx integrates with the cloud-native solutions, databases, and services that accelerate your business, including <a href="https://portworx.com/red-hat-openshift/" target="_blank" rel="noopener">Red Hat OpenShift</a>, <a href="https://portworx.com/aws/" target="_blank" rel="noopener">AWS</a>, <a href="https://portworx.com/suse/" target="_blank" rel="noopener">SUSE</a>, <a href="https://portworx.com/ibm-cloud/" target="_blank" rel="noopener">IBM Cloud</a>, and more.
3218</p>
3219                <a
3220            href="https://portworx.com/partners/"
3221            class="fp-eco__cta"
3222                    >Find a Partner</a>
3223    </div>
3224
3225</section>
3226
3227<script>
3228fpWithJQuery(function ($) {
3229    $(document).ready(function () {
3230
3231        var $logos = $('.fp-eco__logos');
3232        if ($logos.length && $logos.find('.fp-eco__logo-slide').length > 1) {
3233            if ($logos.hasClass('slick-initialized')) $logos.slick('unslick');
3234            $logos.slick({
3235                dots:           false,
3236                arrows:         false,
3237                infinite:       true,
3238                autoplay:       true,
3239                autoplaySpeed:  0,
3240                speed:          4500,
3241                cssEase:        'linear',
3242                slidesToShow:   5,
3243                slidesToScroll: 1,
3244                pauseOnHover:   false,
3245                draggable:      false,
3246                responsive: [
3247                    { breakpoint: 1400, settings: { slidesToShow: 4 } },
3248                    { breakpoint: 992,  settings: { slidesToShow: 3 } }
3249                ]
3250            });
3251        }
3252
3253    });
3254});
3255</script>
3255
3256
3257
3258<style>
3259/* ============================================================
3260   Front Page — Resources Cards
3261   Figma node: 1037-609
3262   ============================================================ */
3263
3264.fp-resources {
3265    background-color: #fff5e3;
3266    display: flex;
3267    flex-direction: column;
3268    align-items: center;
3269    gap: 30px;
3270    padding: 0 188px 100px;
3271}
3272
3273.fp-resources__heading {
3274    font-family: "Pure Sans", sans-serif;
3275    font-weight: 400;
3276    font-size: 52px;
3277    line-height: normal;
3278    letter-spacing: 0.52px;
3279    color: #2d2a27;
3280    text-align: center;
3281    margin: 0;
3282    max-width: 896px;
3283}
3284
3285/* ── Cards row ── */
3286.fp-resources__cards {
3287    display: flex;
3288    gap: 30px;
3289    align-items: stretch;
3290    width: 100%;
3291}
3292
3293/* ── Card outer wrapper — green border appears on hover ── */
3294.fp-resources__card-outer {
3295    flex: 1;
3296    min-width: 0;
3297    border-radius: 16px;
3298    padding: 10px;
3299    background-color: transparent;
3300    transition: background-color 0.25s ease;
3301    cursor: pointer;
3302    position: relative;
3303}
3304
3305.fp-resources__card-outer:hover {
3306    background-color: #c5e4cc;
3307}
3308
3309/* ── Inner card ── */
3310.fp-resources__card {
3311    background-color: #fff5e3;
3312    border-radius: 10px;
3313    padding: 20px 20px 20px 30px;
3314    height: 256px;
3315    display: flex;
3316    flex-direction: column;
3317    justify-content: space-between;
3318    box-sizing: border-box;
3319    border: 2px solid rgba(213, 93, 29, 0.4);
3320    transition: border-color 0.25s ease;
3321}
3322
3323@media (min-width: 1024px){
3324/* On hover, dissolve the orange border so only the green wrapper shows */
3325.fp-resources__card-outer:hover .fp-resources__card {
3326    border-color: transparent;
3327}
3328}
3329
3330/* ── Card header: icon + label ── */
3331.fp-resources__card-header {
3332    display: flex;
3333    align-items: center;
3334    gap: 10px;
3335    flex-shrink: 0;
3336}
3337
3338@media (max-width: 991px) {
3339    .fp-resources__card-header {
3340        margin-bottom: 20px;
3341    }
3342}
3343
3344.fp-resources__card-icon {
3345    width: 40px;
3346    height: 40px;
3347    object-fit: contain;
3348    flex-shrink: 0;
3349    display: block;
3350}
3351
3352.fp-resources__card-label {
3353    font-family: "Pure Sans", sans-serif;
3354    font-weight: 400;
3355    font-size: 16px;
3356    line-height: 1.2;
3357    letter-spacing: 1px;
3358    color: #2d2a27;
3359    margin: 0;
3360    white-space: nowrap;
3361}
3362
3363/* ── Card body: title + CTA ── */
3364.fp-resources__card-body {
3365    display: flex;
3366    flex-direction: column;
3367    gap: 50px;
3368}
3369
3370.fp-resources__card-title {
3371    font-family: "Pure Sans", sans-serif;
3372    font-weight: 500;
3373    font-size: 24px;
3374    line-height: 1.2;
3375    letter-spacing: 1px;
3376    color: #2d2a27;
3377    margin: 0;
3378    max-width: 327px;
3379}
3380
3381.fp-resources__card-cta {
3382    display: inline-flex;
3383    align-items: center;
3384    gap: 10px;
3385    font-family: "Inter", sans-serif;
3386    font-weight: 600;
3387    font-size: 16px;
3388    line-height: 18px;
3389    letter-spacing: 0.3px;
3390    color: #637266;
3391    text-decoration: none;
3392    white-space: nowrap;
3393    transition: opacity 0.2s ease;
3394}
3395
3396.fp-resources__card-cta:before{
3397    content: "";
3398    height: 100%;
3399    left: 0;
3400    position: absolute;
3401    top: 0;
3402    width: 100%;
3403}
3404
3405.fp-resources__card-cta:hover {
3406    opacity: 0.7;
3407    color: #637266;
3408    text-decoration: none;
3409}
3410
3411.fp-resources__card-cta-arrow {
3412    display: inline-block;
3413    font-size: 16px;
3414    transition: transform 0.2s ease;
3415}
3416
3417.fp-resources__card-cta:hover .fp-resources__card-cta-arrow {
3418    transform: translateX(4px);
3419}
3420
3421/* ============================================================
3422   Responsive
3423   ============================================================ */
3424
3425@media (max-width: 1399px) {
3426    .fp-resources {
3427        padding: 80px 100px;
3428    }
3429
3430
3431}
3432
3433@media (max-width: 1199px) {
3434    .fp-resources {
3435        padding: 70px 60px;
3436    }
3437
3438    .fp-resources__heading {
3439        font-size: 42px;
3440    }
3441
3442    .fp-resources__card {
3443        height: auto;
3444        min-height: 220px;
3445    }
3446
3447    .fp-resources__card-title {
3448        font-size: 20px;
3449        max-width: 100%;
3450    }
3451
3452    .fp-resources__card-body {
3453        gap: 30px;
3454    }
3455
3456    .fp-resources__card {
3457        flex: 1;
3458    }
3459}
3460
3461@media (max-width: 991px) {
3462    .fp-resources {
3463        padding: 60px 40px;
3464        gap: 24px;
3465    }
3466
3467    .fp-resources__heading {
3468        font-size: 34px;
3469    }
3470
3471    .fp-resources__cards {
3472        flex-wrap: wrap;
3473        gap: 16px;
3474    }
3475
3476    .fp-resources__card-outer {
3477        flex: 1 1 calc(50% - 8px);
3478        min-width: 260px;
3479    }
3480}
3481
3482@media (max-width: 767px) {
3483    .fp-resources {
3484        padding: 50px 20px;
3485        gap: 20px;
3486    }
3487
3488    .fp-resources__heading {
3489        font-size: 28px;
3490    }
3491
3492    .fp-resources__cards {
3493        flex-direction: column;
3494        gap: 16px;
3495    }
3496
3497    .fp-resources__card-outer {
3498        flex: 1 1 auto;
3499        width: 100%;
3500        /* Disable hover on mobile */
3501        background-color: transparent !important;
3502        padding: 0 !important;
3503        border-radius: 0 !important;
3504    }
3505
3506    .fp-resources__card {
3507        height: auto;
3508        min-height: auto;
3509    }
3510}
3511</style>
3512
3513<section class="fp-resources">
3514
3515    <h2 class="fp-resources__heading">Check Out Our Resources</h2>
3516
3517    <div class="fp-resources__cards">
3518
3519                <div class="fp-resources__card-outer">
3520            <div class="fp-resources__card">
3521
3522                <div class="fp-resources__card-header">
3523                                        <img
3524                        class="fp-resources__card-icon"
3525                        src="https://portworx.com/wp-content/uploads/2026/05/report-icon.svg"
3526                        alt=""
3527                        aria-hidden="true"
3528                        width="40"
3529                        height="40"
3530                    >
3531                                                            <p class="fp-resources__card-label"> Report</p>
3532                                    </div>
3533
3534                <div class="fp-resources__card-body">
3535                                        <p class="fp-resources__card-title">IDC: Virtualization at a Crossroads</p>
3536                                                            <a
3537                        href="https://portworx.com/resources/virtualization-crossroads-building-a-modern-platform/"
3538                        class="fp-resources__card-cta"
3539                                            >
3540                        Download Report                        <span class="fp-resources__card-cta-arrow" aria-hidden="true">&#8594;</span>
3541                    </a>
3542                                    </div>
3543
3544            </div>
3545        </div>
3546                <div class="fp-resources__card-outer">
3547            <div class="fp-resources__card">
3548
3549                <div class="fp-resources__card-header">
3550                                        <img
3551                        class="fp-resources__card-icon"
3552                        src="https://portworx.com/wp-content/uploads/2026/05/spotlight-icon.svg"
3553                        alt=""
3554                        aria-hidden="true"
3555                        width="40"
3556                        height="40"
3557                    >
3558                                                            <p class="fp-resources__card-label">
3558Spotlight</p>
3559                                    </div>
3560
3561                <div class="fp-resources__card-body">
3562                                        <p class="fp-resources__card-title">Enterprise data management beyond CSI</p>
3563                                                            <a
3564                        href="https://portworx.com/portworx-vs-csi-storage/"
3565                        class="fp-resources__card-cta"
3566                                            >
3567                        Learn More                        <span class="fp-resources__card-cta-arrow" aria-hidden="true">&#8594;</span>
3568                    </a>
3569                                    </div>
3570
3571            </div>
3572        </div>
3573                <div class="fp-resources__card-outer">
3574            <div class="fp-resources__card">
3575
3576                <div class="fp-resources__card-header">
3577                                        <img
3578                        class="fp-resources__card-icon"
3579                        src="https://portworx.com/wp-content/uploads/2026/05/reference-architecture-icon.svg"
3580                        alt=""
3581                        aria-hidden="true"
3582                        width="40"
3583                        height="40"
3584                    >
3585                                                            <p class="fp-resources__card-label">Reference Architecture</p>
3586                                    </div>
3587
3588                <div class="fp-resources__card-body">
3589                                        <p class="fp-resources__card-title">Portworx on SUSE Rancher Bare Metal</p>
3590                                                            <a
3591                        href="https://portworx.com/wp-content/uploads/2025/06/twp-portworx-on-suse-rancher-bare-metal.pdf"
3592                        class="fp-resources__card-cta"
3593                        target="_blank"                    >
3594                        Read Now                        <span class="fp-resources__card-cta-arrow" aria-hidden="true">&#8594;</span>
3595                    </a>
3596                                    </div>
3597
3598            </div>
3599        </div>
3600        
3601    </div>
3602
3603</section>
3604<section class="cta text-white bg-jet-black">
3605    <div class="container">
3606        <div class="wrapper wow zoomIn">
3607            <div class="footer-cta__text">
3608                                    <h2>Get Started with Portworx!</h2>
3609                                                    <p>Solve your container storage and data headaches now and in the future! Join the hundreds of companies successfully deploying containers in production. We make it easy!</p>
3610                                                    <a href="https://central.portworx.com/landing/register"
3611                       class="btn-primary"
3612                       target="_self"
3613                    >Free Trial</a>
3614                                                    <a href="https://portworx.com/contact-sales/"
3615                       class="link-default"
3616                       target="_self"
3617                    >Contact Sales</a>
3618                            </div>
3619                        <div class="bg-img">
3620                <img
3621                    src="https://portworx.com/wp-content/uploads/2026/02/CTA-image-optimized.png"
3622                    alt="Get started with Portworx"
3623                    width="1068"
3624                    height="848"
3625                    loading="lazy"
3626                >
3627            </div>
3628                    </div>
3629    </div>
3630</section>
3631
3632<footer class="site-footer">
3633  <div class="container">
3634
3635    <div class="site-footer__top">
3636      <div class="site-footer__brand">
3637        <div class="site-footer__logo">
3638          <a href="/">
3639            <img loading="lazy" src="/wp-content/themes/portworx/assets/images/header/logo-portworx.svg" alt="Portworx">
3640          </a>
3641        </div>
3642        <div class="site-footer__contact-wrap">
3643                    <p class="site-footer__address">Portworx by Everpure, 2555 Augustine Dr. Santa Clara, CA 95054</p>
3644                              <div class="site-footer__phone-row">
3645            <img class="site-footer__phone-icon" src="https://portworx.com/w
3645p-content/themes/portworx/assets/images/footer/phone.svg" alt="" aria-hidden="true" width="24" height="24" loading="lazy">
3646            <a href="tel:+8003797873" class="site-footer__phone">+800-379-7873</a>
3647          </div>
3648                            </div>
3649      </div>
3650
3651            <div class="site-footer__social">
3652        <p>Follow Us for Insights and Updates</p>
3653        <div class="site-footer__social-icons">
3654                    <a href="https://www.linkedin.com/company/portworx" aria-label="LinkedIn" rel="noopener noreferrer" target="_blank">
3655            <img loading="lazy" src="https://portworx.com/wp-content/themes/portworx/assets/images/footer/linkedin.svg" alt="LinkedIn" width="35" height="35">
3656          </a>
3657                              <a href="https://x.com/portwx" aria-label="X (Twitter)" rel="noopener noreferrer" target="_blank">
3658            <img loading="lazy" src="https://portworx.com/wp-content/themes/portworx/assets/images/footer/twitter.svg" alt="X" width="35" height="35">
3659          </a>
3660                              <a href="https://www.youtube.com/c/Portworx" aria-label="YouTube" rel="noopener noreferrer" target="_blank">
3661            <img loading="lazy" src="https://portworx.com/wp-content/themes/portworx/assets/images/footer/youtube.svg" alt="YouTube" width="35" height="35">
3662          </a>
3663                  </div>
3664      </div>
3665          </div>
3666
3667        <div class="site-footer__nav">
3668            <div class="site-footer__nav-col">
3669        <p class="site-footer__nav-heading">Platform</p>
3670                <ul>
3671                    <li>
3672            <a href="/products/portworx-enterprise/"
3673               >
3674              Portworx Enterprise            </a>
3675          </li>
3676                    <li>
3677            <a href="/products/portworx-backup/"
3678               >
3679              Portworx Backup            </a>
3680          </li>
3681                    <li>
3682            <a href="/products/portworx-disaster-recovery/"
3683               >
3684              Portworx Disaster Recovery            </a>
3685          </li>
3686                    <li>
3687            <a href="https://central.portworx.com/landing/register"
3688               target="_blank" rel="noopener noreferrer">
3689              Free Trial            </a>
3690          </li>
3691                  </ul>
3692              </div>
3693            <div class="site-footer__nav-col">
3694        <p class="site-footer__nav-heading">Key Solutions</p>
3695                <ul>
3696                    <li>
3697            <a href="/use-case/kubernetes-storage/"
3698               >
3699              Kubernetes Storage            </a>
3700          </li>
3701                    <li>
3702            <a href="/modern-virtualization/"
3703               >
3704              Modern Virtualization            </a>
3705          </li>
3706                    <li>
3707            <a href="/kubernetes-backup/"
3708               >
3709              Kubernetes Backup            </a>
3710          </li>
3711                    <li>
3712            <a href="/kubernetes-disaster-recovery/"
3713               >
3714              Kubernetes Disaster Recovery            </a>
3715          </li>
3716                    <li>
3717            <a href="/solutions/modern-applications/"
3718               >
3719              Modern Applications            </a>
3720          </li>
3721                    <li>
3722            <a href="/use-case/ai-ml/"
3723               >
3724              AI/ML            </a>
3725          </li>
3726                    <li>
3727            <a href="https://portworx.com/solutions/edge-data-management/"
3728               >
3729              Edge Data Management            </a>
3730          </li>
3731                    <li>
3732            <a href="/industry/financial-services/"
3733               >
3734              Financial Services            </a>
3735          </li>
3736                  </ul>
3737              </div>
3738            <div class="site-footer__nav-col">
3739        <p class="site-footer__nav-heading">Partner Solutions</p>
3740                <ul>
3741                    <li>
3742            <a href="/solutions/pure-flasharray-portworx-data-platform/"
3743               >
3744              FlashArray + Portworx            </a>
3745          </li>
3746                    <li>
3747            <a href="/red-hat-openshift/"
3748               >
3749              Red Hat OpenShift            </a>
3750          </li>
3751                    <li>
3752            <a href="/suse/"
3753               >
3754              SUSE            </a>
3755          </li>
3756                    <li>
3757            <a href="/solutions/portworx-and-spectro-cloud/"
3758               >
3759              Spectro Cloud            </a>
3760          </li>
3761                    <li>
3762            <a href="/aws/"
3763               >
3764              Amazon EKS            </a>
3765          </li>
3766                    <li>
3767            <a href="/solutions/azure-aks/"
3768               >
3769              Azure AKS            </a>
3770          </li>
3771                    <li>
3772            <a href="/solutions/gke/"
3773               >
3774              Google Kubernetes Engine            </a>
3775          </li>
3776                  </ul>
3777              </div>
3778            <div class="site-footer__nav-col">
3779        <p class="site-footer__nav-heading">Resources</p>
3780                <ul>
3781                    <li>
3782            <a href="/resources/"
3783               >
3784              Resources Library            </a>
3785          </li>
3786                    <li>
3787            <a href="/webinars/"
3788               >
3789              Events and Webinars            </a>
3790          </li>
3791                    <li>
3792            <a href="/hands-on-labs/"
3793               >
3794              Hands-on Lab            </a>
3795          </li>
3796                    <li>
3797            <a href="/blog/"
3798               >
3799              Blog            </a>
3800          </li>
3801                    <li>
3802            <a href="/knowledge-hub/"
3803               >
3804              Knowledge Hub            </a>
3805          </li>
3806                  </ul>
3807              </div>
3808            <div class="site-footer__nav-col">
3809        <p class="site-footer__nav-heading">Company</p>
3810                <ul>
3811                    <li>
3812            <a href="/about-us/"
3813               >
3814              About Us            </a>
3815          </li>
3816                    <li>
3817            <a href="/customers/"
3818               >
3819              Customer Stories            </a>
3820          </li>
3821                    <li>
3822            <a href="/partners/"
3823               >
3824              Partners            </a>
3825          </li>
3826                    <li>
3827            <a href="https://www.everpuredata.com/company/careers.html"
3828               >
3829              Careers            </a>
3830          </li>
3831                  </ul>
3832              </div>
3833            <div class="site-footer__nav-col">
3834        <p class="site-footer__nav-heading">Support</p>
3835                <ul>
3836                    <li>
3837            <a href="https://support.everpuredata.com/"
3838               >
3839              Support Portal            </a>
3840          </li>
3841                    <li>
3842            <a href="https://docs.portworx.com/"
3843               >
3844              Technical Docs            </a>
3845          </li>
3846                    <li>
3847            <a href="https://forums.portworx.com/"
3848               >
3849              Forum            </a>
3850          </li>
3851                    <li>
3852            <a href="https://academy.purestorage.com/student/activity/2164521-certification-pep"
3853               >
3854              Portworx Certified            </a>
3855          </li>
3856                  </ul>
3857              </div>
3858          </div>
3859    
3860    <div class="site-footer__bottom">
3861      <div class="site-footer__copyright">
3862        <span>&copy; 2026</span>
3863        <span class="site-footer__bar-divider" aria-hidden="true"></span>
3864        <span>Portworx</span>
3865      </div>
3866      <nav class="site-footer__legal" aria-label="Legal">
3867        <ul><li id="menu-item-41621" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41621"><a href="https://www.everpuredata.com/legal/portworx-terms-of-use.html">End User Agreement</a></li>
3868<li id="menu-item-41622" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41622"><a href="/security-and-trust-center/">Security and Trust Center</a></li>
3869<li id="menu-item-41623" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41623"><a href="https://www.everpuredata.com/privacy.html#california-rights">Do Not Sell or Share My Data</a></li>
3870<li id="menu-item-41624" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41624"><a href="https://www.everpuredata.com/privacy.html">Privacy Notice</a></li>
3871<li id="menu-item-41625" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-41625"><a href="/cookie-policy/">Cookie Policy</a></li>
3872</ul>      </nav>
3873    </div>
3874
3875  </div>
3876
3877  <!-- Pixel Code -->
3878  
3878<script src="https://js.adsrvr.org/up_loader.1.1.0.js" type="text/javascript"></script>
3878
3879  
3879<script type="text/javascript">
3880  ttd_dom_ready( function() {
3881  if (typeof TTDUniversalPixelApi === 'function') {
3882  var universalPixelApi = new TTDUniversalPixelApi();
3883  universalPixelApi.init("lshx980", ["bxk38z4"], "https://insight.adsrvr.org/track/up");
3884  }
3885  });
3886  </script>
3886
3887</footer>
3888<section class="video-overlay">
3889    <div class="video-overlay__wrapper">
3890        <div class="video-overlay__inner">
3891            <div class="video-overlay__wrap">
3892                <div class="video-overlay__container">
3893                    <iframe src="" allowfullscreen webkitallowfullscreen mozallowfullscreen playsinline allow='autoplay'></iframe>
3894                </div>
3895                <div class="video-overlay__close">
3896                </div>
3897            </div>
3898        </div>
3899    </div>
3900</section>
3901
3902<!-- Back to Top Button (Blog Posts Only) -->
3903<style>
3904.back-to-top {
3905  position: fixed;
3906  bottom: 2rem;
3907  left: 2rem;
3908  width: 48px;
3909  height: 48px;
3910  background-color: #0066FF;
3911  color: #FFFFFF;
3912  border: none;
3913  border-radius: 50%;
3914  cursor: pointer;
3915  display: flex;
3916  align-items: center;
3917  justify-content: center;
3918  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
3919  opacity: 0;
3920  visibility: hidden;
3921  transform: translateY(20px);
3922  transition: all 0.3s ease-in-out;
3923  z-index: 999;
3924}
3925
3926.back-to-top:hover {
3927  background-color: #0052CC;
3928  transform: translateY(-2px);
3929  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
3930}
3931
3932.back-to-top:active {
3933  transform: translateY(0);
3934  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
3935}
3936
3937.back-to-top.visible {
3938  opacity: 1;
3939  visibility: visible;
3940  transform: translateY(0);
3941}
3942
3943.back-to-top svg {
3944  width: 24px;
3945  height: 24px;
3946  pointer-events: none;
3947}
3948
3949@media (max-width: 768px) {
3950  .back-to-top {
3951    bottom: 1.5rem;
3952    left: 1.5rem;
3953    width: 44px;
3954    height: 44px;
3955  }
3956  .back-to-top svg {
3957    width: 20px;
3958    height: 20px;
3959  }
3960}
3961
3962@media (max-width: 480px) {
3963  .back-to-top {
3964    bottom: 1rem;
3965    left: 1rem;
3966    width: 40px;
3967    height: 40px;
3968  }
3969  .back-to-top svg {
3970    width: 18px;
3971    height: 18px;
3972  }
3973}
3974</style>
3975
3976<button id="back-to-top" class="back-to-top" aria-label="Back to top">
3977    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3978        <path d="M12 19V5M12 5L5 12M12 5L19 12" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3979    </svg>
3980</button>
3980<script type="text/javascript" src="https://portworx.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script>
vendor: 1 bytes, line 3980
3980
3981<script type="text/javascript" src="https://portworx.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script>
vendor: 1 bytes, line 3981
3981
3982<script type="text/javascript" defer src="https://portworx.com/wp-content/themes/portworx/dist/scripts/plugins.js?ver=1790213197" id="plugins-js-js"></script>
vendor: 1 bytes, line 3982
3982
3983<script type="text/javascript" id="global-js-js-before">
3984/* <![CDATA[ */
3985window.enlighterCSSUrl = "https://portworx.com/wp-content/plugins/enlighter/cache/enlighterjs.min.css";
3986window.dashiconsCSSUrl = "https://portworx.com/wp-includes/css/dashicons.min.css";
3987window.blockLibraryCSSUrl = "https://portworx.com/wp-includes/css/dist/block-library/style.min.css";
3988/* ]]> */
3989</script>
vendor: 1 bytes, line 3989
3989
3990<script type="text/javascript" defer src="https://portworx.com/wp-content/themes/portworx/dist/scripts/global.js?ver=1790213197" id="global-js-js"></script>
vendor: 1 bytes, line 3990
3990
3991<script type="text/javascript" defer src="https://portworx.com/wp-content/themes/portworx/dist/scripts/main.js?ver=1790213197" id="main-js-js"></script>
vendor: 1 bytes, line 3991
3991
3992<script type="text/javascript" defer src="https://portworx.com/wp-content/themes/portworx/dist/scripts/form-email-validation.js?ver=1790213197" id="form-email-validation-js"></script>
vendor: 1 bytes, line 3992
3992
3993<script type="text/javascript" defer src="https://portworx.com/wp-content/themes/portworx/drift-chat-trigger.js?ver=1790213197" id="drift-chat-trigger-js"></script>
vendor: 1 bytes, line 3993
3993
3994<script type="text/javascript" defer src="https://portworx.com/wp-content/themes/portworx/dist/scripts/filter/hands-webinar-filters.js?ver=1790213197" id="webinar-hands-js-js"></script>
vendor: 1 bytes, line 3994
3994
3995<script type="text/javascript" src="https://portworx.com/wp-content/plugins/enlighter/cache/enlighterjs.min.js?ver=0A0B0C" id="enlighterjs-js"></script>
vendor: 1 bytes, line 3995
3995
3996<script type="text/javascript" id="enlighterjs-js-after">
3997/* <![CDATA[ */
3998!function(e,n){if("undefined"!=typeof EnlighterJS){var o={"selectors":{"block":"pre.EnlighterJSRAW","inline":"code.EnlighterJSRAW"},"options":{"indent":4,"ampersandCleanup":true,"linehover":true,"rawcodeDbclick":false,"textOverflow":"break","linenumbers":true,"theme":"enlighter","language":"generic","retainCssClasses":false,"collapse":false,"toolbarOuter":"","toolbarTop":"{BTN_RAW}{BTN_COPY}{BTN_WINDOW}{BTN_WEBSITE}","toolbarBottom":""}};(e.EnlighterJSINIT=function(){EnlighterJS.init(o.selectors.block,o.selectors.inline,o.options)})()}else{(n&&(n.error||n.log)||function(){})("Error: EnlighterJS resources not loaded yet!")}}(window,console);
3999/* ]]> */
4000</script>
4000
4001<style>
4002    @media (max-width: 480px) {
4003        .promo-grid .imageWrap {
4004            height: 210px;
4005        }
4006    }
4007</style></div>
4008<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-57c3e346344b860b280","applicationID":"506119299","transactionName":"YFADNkUEXxBRB0NYXlkaIAFDDF4NHwJFXl9DGBEDUAA=","queueTime":0,"applicationTime":755,"atts":"TBcAQA0eTB4=","errorBeacon":"bam.nr-data.net","agent":""}</script>
4008</body>
4009
4010</html>
4011<!-- plugin=object-cache-pro client=phpredis metric#hits=8098 metric#misses=87 metric#hit-ratio=98.9 metric#bytes=1196182 metric#prefetches=339 metric#store-reads=87 metric#store-writes=31 metric#store-hits=350 metric#store-misses=83 metric#sql-queries=66 metric#ms-total=721.34 metric#ms-cache=43.67 metric#ms-cache-avg=0.3733 metric#ms-cache-ratio=6.1 -->

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.