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 & 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 & 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&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 & 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…" 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 & 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">→</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">→</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">→</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">→</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">→</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">"The impacts are clearly reliable software deployments, where we’re deploying more features."</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 & 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">→</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">"Low cost of ownership, works on-prem, in the cloud, or at the edge…from a storage point of view, it just fits."</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">→</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">"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."</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">→</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">→</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">→</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>© 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.