{"id":13733,"date":"2026-03-30T17:59:01","date_gmt":"2026-03-30T17:59:01","guid":{"rendered":"https:\/\/gasquip.com\/?page_id=13733"},"modified":"2026-04-27T16:08:37","modified_gmt":"2026-04-27T16:08:37","slug":"flex-result","status":"publish","type":"page","link":"https:\/\/gasquip.com\/es\/flex-result\/","title":{"rendered":"FLEX Results Report"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"13733\" class=\"elementor elementor-13733\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8eba7fd e-flex e-con-boxed e-con e-parent\" data-id=\"8eba7fd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4e93022 elementor-widget elementor-widget-html\" data-id=\"4e93022\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- GasQuip FLEX Results Widget \u2014 Elementor HTML snippet v4 -->\r\n<style>\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Rajdhani:wght@500;600;700&family=IBM+Plex+Mono:wght@400;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap');\r\n\r\n.gq-widget {\r\n  --gq-navy:    #0c1e3c;\r\n  --gq-navy-mid:#112444;\r\n  --gq-blue:    #1a56db;\r\n  --gq-blue-lt: #3b82f6;\r\n  --gq-sky:     #93c5fd;\r\n  --gq-steel:   #c8d6e5;\r\n  --gq-muted:   #6b85a0;\r\n  --gq-white:   #ffffff;\r\n  --gq-pass:    #16a34a;\r\n  --gq-fail:    #dc2626;\r\n  --gq-bg:      #f0f5fc;\r\n  --gq-border:  #ccd8eb;\r\n}\r\n\r\n.gq-widget { font-family:'IBM Plex Sans',sans-serif; color:var(--gq-navy); width:100%; display:flex; justify-content:center; padding:16px 0; box-sizing:border-box; }\r\n.gq-widget *,.gq-widget *::before,.gq-widget *::after { box-sizing:border-box; margin:0; padding:0; }\r\n.gq-card { background:var(--gq-white); border-radius:12px; box-shadow:0 4px 32px rgba(12,30,60,0.13),0 1px 4px rgba(12,30,60,0.07); max-width:680px; width:100%; overflow:hidden; border:1px solid var(--gq-border); }\r\n\r\n\/* HEADER *\/\r\n.gq-header { background:var(--gq-navy); padding:20px 24px 16px; display:flex; align-items:center; justify-content:space-between; gap:16px; position:relative; overflow:hidden; }\r\n.gq-header::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(255,255,255,0.015) 40px,rgba(255,255,255,0.015) 41px); pointer-events:none; }\r\n.gq-header-left { display:flex; align-items:center; gap:14px; }\r\n.gq-logo { width:40px; height:40px; background:var(--gq-blue); border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-family:'Rajdhani',sans-serif; font-weight:700; font-size:13px; color:var(--gq-white); }\r\n.gq-brand-name { font-family:'Rajdhani',sans-serif; font-weight:700; font-size:18px; color:var(--gq-white); letter-spacing:0.06em; text-transform:uppercase; display:block; }\r\n.gq-brand-sub { font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--gq-sky); letter-spacing:0.12em; text-transform:uppercase; display:block; margin-top:2px; }\r\n.gq-badge { display:flex; align-items:center; gap:7px; border-radius:20px; padding:6px 14px; flex-shrink:0; transition:background 0.25s; }\r\n.gq-badge.pass { background:rgba(22,163,74,0.12); border:1px solid rgba(22,163,74,0.35); }\r\n.gq-badge.fail { background:rgba(220,38,38,0.12); border:1px solid rgba(220,38,38,0.35); }\r\n.gq-badge-dot { width:8px; height:8px; border-radius:50%; animation:gq-pulse 2s ease-in-out infinite; }\r\n.gq-badge.pass .gq-badge-dot { background:var(--gq-pass); }\r\n.gq-badge.fail .gq-badge-dot { background:var(--gq-fail); }\r\n@keyframes gq-pulse { 0%,100%{opacity:1} 50%{opacity:0.4} }\r\n.gq-badge-label { font-family:'Rajdhani',sans-serif; font-weight:600; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; }\r\n.gq-badge.pass .gq-badge-label { color:var(--gq-pass); }\r\n.gq-badge.fail .gq-badge-label { color:var(--gq-fail); }\r\n.gq-accent { height:3px; background:linear-gradient(90deg,var(--gq-blue) 0%,var(--gq-blue-lt) 60%,transparent 100%); }\r\n\r\n\/* META ROW *\/\r\n.gq-meta { display:grid; grid-template-columns:repeat(3,1fr); background:var(--gq-navy-mid); }\r\n.gq-meta-cell { padding:10px 20px; border-right:1px solid rgba(255,255,255,0.06); }\r\n.gq-meta-cell:last-child { border-right:none; }\r\n.gq-meta-cell.sn-cell { border-left:3px solid var(--gq-blue); background:rgba(26,86,219,0.08); padding-left:17px; }\r\n.gq-meta-label { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gq-muted); margin-bottom:2px; display:block; }\r\n.gq-meta-value { font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:13px; color:var(--gq-steel); display:block; }\r\n.gq-sn-history { display:inline-flex; align-items:center; gap:4px; font-family:'IBM Plex Mono',monospace; font-size:9px; color:var(--gq-sky); text-decoration:none; margin-top:5px; letter-spacing:0.06em; opacity:0.8; transition:opacity 0.15s; }\r\n.gq-sn-history:hover { opacity:1; }\r\n\r\n\/* JOB ROW *\/\r\n.gq-job-row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; padding:14px 24px; border-bottom:1px solid var(--gq-border); background:#f7faff; }\r\n.gq-job-label { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gq-muted); margin-bottom:4px; display:block; }\r\n.gq-job-value { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:13px; color:var(--gq-navy); display:block; }\r\n\r\n\/* LIMITS BAR *\/\r\n.gq-limits-bar { display:flex; gap:20px; flex-wrap:wrap; padding:10px 24px 12px; border-bottom:1px solid var(--gq-border); background:#f7faff; }\r\n.gq-limit-chip { font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--gq-muted); }\r\n.gq-limit-chip span { color:var(--gq-navy); font-weight:600; }\r\n\r\n\/* SECTION TITLE *\/\r\n.gq-section-title { font-family:'Rajdhani',sans-serif; font-weight:600; font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gq-muted); padding:16px 24px 10px; display:block; }\r\n\r\n\/* MEASUREMENT CARDS *\/\r\n.gq-metrics-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:0 24px 20px; }\r\n.gq-metric { background:var(--gq-bg); border:1px solid var(--gq-border); border-radius:8px; padding:14px 16px; position:relative; overflow:hidden; transition:transform 0.15s; }\r\n.gq-metric:hover { transform:translateY(-2px); }\r\n.gq-metric::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; border-radius:0 0 8px 8px; transition:background 0.25s; }\r\n.gq-metric.pass::after { background:var(--gq-pass); }\r\n.gq-metric.fail::after { background:var(--gq-fail); }\r\n.gq-metric-name { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gq-muted); margin-bottom:8px; display:block; }\r\n.gq-metric-value { font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:26px; color:var(--gq-navy); line-height:1; margin-bottom:4px; display:block; }\r\n.gq-metric-unit { font-family:'IBM Plex Sans',sans-serif; font-size:11px; color:var(--gq-muted); display:block; }\r\n.gq-metric-status { position:absolute; top:10px; right:12px; font-family:'Rajdhani',sans-serif; font-weight:700; font-size:10px; letter-spacing:0.08em; text-transform:uppercase; padding:2px 6px; border-radius:4px; transition:all 0.25s; }\r\n.gq-metric.pass .gq-metric-status { background:rgba(22,163,74,0.12); color:var(--gq-pass); }\r\n.gq-metric.fail .gq-metric-status { background:rgba(220,38,38,0.12); color:var(--gq-fail); }\r\n\r\n\/* PRESSURE *\/\r\n.gq-pressure-row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; padding:0 24px 20px; }\r\n.gq-pressure-cell { background:var(--gq-bg); border:1px solid var(--gq-border); border-radius:8px; padding:14px 16px; }\r\n.gq-pressure-cell.delta { background:var(--gq-navy); border-color:var(--gq-navy-mid); }\r\n.gq-pressure-cell.delta .gq-metric-name { color:rgba(200,214,229,0.5); }\r\n.gq-pressure-cell.delta .gq-metric-value { color:var(--gq-sky); }\r\n.gq-pressure-cell.delta .gq-metric-unit { color:var(--gq-muted); }\r\n\r\n\/* LOCATION \/ WEATHER *\/\r\n.gq-loc-section { padding:16px 24px 20px; border-top:1px solid var(--gq-border); }\r\n.gq-loc-controls { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; align-items:center; }\r\n.gq-loc-btn { display:inline-flex; align-items:center; gap:6px; font-family:'Rajdhani',sans-serif; font-weight:700; font-size:12px; letter-spacing:0.06em; text-transform:uppercase; background:var(--gq-navy); color:var(--gq-white); border:none; border-radius:6px; padding:8px 14px; cursor:pointer; transition:background 0.15s; flex-shrink:0; line-height:1; }\r\n.gq-loc-btn:hover { background:var(--gq-blue); }\r\n.gq-loc-btn.secondary { background:var(--gq-bg); color:var(--gq-navy); border:1px solid var(--gq-border); }\r\n.gq-loc-btn.secondary:hover { border-color:var(--gq-blue); color:var(--gq-blue); }\r\n.gq-zip-input { padding:7px 12px; border-radius:6px; border:1px solid var(--gq-border); background:var(--gq-white); font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--gq-navy); outline:none; width:110px; transition:border-color 0.15s; }\r\n.gq-zip-input:focus { border-color:var(--gq-blue); }\r\n.gq-map-wrap { border-radius:10px; overflow:hidden; border:1px solid var(--gq-border); height:200px; margin-bottom:12px; display:none; }\r\n.gq-map-wrap.visible { display:block; }\r\n#gq-map { width:100%; height:200px; }\r\n.gq-weather-block { background:var(--gq-navy); border-radius:10px; padding:14px 16px; }\r\n.gq-weather-time { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gq-muted); margin-bottom:10px; display:block; }\r\n.gq-weather-row { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }\r\n.gq-weather-cell { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.06); border-radius:8px; padding:10px 12px; }\r\n.gq-weather-label { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gq-muted); margin-bottom:5px; display:block; }\r\n.gq-weather-value { font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:18px; color:var(--gq-white); display:block; }\r\n.gq-weather-unit { font-size:10px; color:var(--gq-muted); font-weight:400; }\r\n.gq-loc-status { font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--gq-muted); margin-bottom:10px; display:none; }\r\n.gq-loc-status.visible { display:block; }\r\n\r\n\/* COLLAPSIBLE *\/\r\n.gq-collapsible-hdr { width:100%; display:flex; align-items:center; background:none; border:none; cursor:pointer; padding:0; font-family:'Rajdhani',sans-serif; font-weight:600; font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gq-muted); }\r\n.gq-collapsible-hdr:hover { color:var(--gq-blue); }\r\n.gq-collapsible-body { margin-top:12px; }\r\n\r\n\/* UNIT TOGGLE *\/\r\n.gq-unit-toggle { display:flex; border:1px solid var(--gq-border); border-radius:6px; overflow:hidden; }\r\n.gq-unit-btn { font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:12px; padding:6px 12px; border:none; background:var(--gq-white); color:var(--gq-muted); cursor:pointer; transition:all 0.15s; line-height:1; }\r\n.gq-unit-btn.active { background:var(--gq-navy); color:var(--gq-white); }\r\n.gq-unit-btn:first-child { border-right:1px solid var(--gq-border); }\r\n\r\n\/* MANUAL TEMP *\/\r\n.gq-manual-temp-row { margin-top:14px; padding-top:14px; border-top:1px solid var(--gq-border); }\r\n\r\n\/* SHARE \/ EXPORT *\/\r\n.gq-share-section { padding:16px 24px; border-top:1px solid var(--gq-border); background:var(--gq-bg); }\r\n.gq-share-label { font-family:'Rajdhani',sans-serif; font-weight:600; font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gq-muted); margin-bottom:10px; display:block; }\r\n.gq-share-btns { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }\r\n.gq-share-btn { display:inline-flex; align-items:center; gap:7px; font-family:'Rajdhani',sans-serif; font-weight:700; font-size:12px; letter-spacing:0.06em; text-transform:uppercase; border-radius:7px; padding:9px 16px; cursor:pointer; transition:background 0.15s,transform 0.1s; line-height:1; flex-shrink:0; border:none; }\r\n.gq-share-btn:active { transform:scale(0.97); }\r\n.gq-share-btn.primary { background:var(--gq-blue); color:var(--gq-white); }\r\n.gq-share-btn.primary:hover { background:#1648c0; }\r\n.gq-share-btn.outline { background:var(--gq-white); color:var(--gq-navy); border:1px solid var(--gq-border); }\r\n.gq-share-btn.outline:hover { border-color:var(--gq-blue); color:var(--gq-blue); }\r\n.gq-share-btn.pdf { background:var(--gq-navy); color:var(--gq-white); }\r\n.gq-share-btn.pdf:hover { background:var(--gq-blue); }\r\n.gq-share-hint { font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--gq-muted); }\r\n\r\n\/* STORAGE OPT-OUT *\/\r\n.gq-storage-row { padding:12px 24px; background:#f7faff; border-top:1px solid var(--gq-border); display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }\r\n.gq-storage-label { display:flex; align-items:center; gap:8px; cursor:pointer; font-family:'IBM Plex Sans',sans-serif; font-size:11px; color:var(--gq-muted); }\r\n.gq-storage-label input[type=checkbox] { width:14px; height:14px; accent-color:var(--gq-blue); cursor:pointer; flex-shrink:0; }\r\n.gq-storage-status { font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--gq-muted); }\r\n.gq-privacy-note { padding:10px 24px 14px; font-family:'IBM Plex Sans',sans-serif; font-size:10px; color:var(--gq-muted); text-align:center; border-top:1px solid var(--gq-border); line-height:1.6; }\r\n.gq-privacy-note a { color:var(--gq-blue); text-decoration:none; }\r\n.gq-history-link { display:inline-flex; align-items:center; gap:6px; font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--gq-blue); text-decoration:none; margin-top:6px; }\r\n\r\n\/* FOOTER *\/\r\n.gq-footer { background:var(--gq-navy); padding:12px 24px; display:flex; align-items:center; justify-content:space-between; }\r\n.gq-footer-left { font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--gq-muted); letter-spacing:0.06em; }\r\n.gq-footer-link { font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--gq-sky); text-decoration:none; }\r\n.gq-footer-link:hover { color:var(--gq-white); }\r\n\r\n\/* PRINT *\/\r\n@media print {\r\n  body * { visibility:hidden !important; }\r\n  .gq-widget, .gq-widget * { visibility:visible !important; }\r\n  .gq-widget { position:absolute; left:0; top:0; padding:0; }\r\n  .gq-card { box-shadow:none !important; border:1px solid #ccc !important; max-width:100% !important; }\r\n  .gq-loc-controls,.gq-loc-status,.gq-map-wrap,.gq-zip-input { display:none !important; }\r\n  .gq-share-section,.gq-storage-row,.gq-privacy-note { display:none !important; }\r\n}\r\n\r\n@media (max-width:520px) {\r\n  .gq-metrics-grid,.gq-pressure-row,.gq-job-row,.gq-weather-row { grid-template-columns:1fr 1fr; }\r\n  .gq-meta { grid-template-columns:1fr 1fr; }\r\n  .gq-meta-cell:nth-child(3) { border-right:none; }\r\n  .gq-metric-value { font-size:20px; }\r\n}\r\n<\/style>\r\n\r\n<div class=\"gq-widget\">\r\n<div class=\"gq-card\">\r\n\r\n  <div class=\"gq-header\">\r\n    <div class=\"gq-header-left\">\r\n      <div class=\"gq-logo\" style=\"background:transparent;padding:2px;\"><img decoding=\"async\" src=\"https:\/\/gasquip.com\/wp-content\/uploads\/2026\/04\/Logo-white-PNG-Copy.png\" style=\"width:36px;height:36px;object-fit:contain;\" alt=\"GasQuip\"><\/div>\r\n      <div>\r\n        <span class=\"gq-brand-name\">GasQuip FLEX<\/span>\r\n        <span class=\"gq-brand-sub\">SF&#8326; Analysis Report<\/span>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"gq-badge pass\" id=\"gq-overall-badge\">\r\n      <div class=\"gq-badge-dot\"><\/div>\r\n      <div class=\"gq-badge-label\" id=\"gq-overall-label\">Pass<\/div>\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"gq-accent\"><\/div>\r\n\r\n  <div class=\"gq-meta\">\r\n    <div class=\"gq-meta-cell sn-cell\">\r\n      <span class=\"gq-meta-label\">Serial No.<\/span>\r\n      <span class=\"gq-meta-value\">F24B000<\/span>\r\n      <a class=\"gq-sn-history\" id=\"gq-history-link\" href=\"#\">\r\n        <svg width=\"9\" height=\"9\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg>\r\n        History &rarr;\r\n      <\/a>\r\n    <\/div>\r\n    <div class=\"gq-meta-cell\"><span class=\"gq-meta-label\">Date<\/span><span class=\"gq-meta-value\">03\/05\/2026<\/span><\/div>\r\n    <div class=\"gq-meta-cell\"><span class=\"gq-meta-label\">Time<\/span><span class=\"gq-meta-value\">15:50:23<\/span><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"gq-job-row\">\r\n    <div><span class=\"gq-job-label\">Test Name<\/span><span class=\"gq-job-value\">test data<\/span><\/div>\r\n    <div><span class=\"gq-job-label\">Technician<\/span><span class=\"gq-job-value\">jbj<\/span><\/div>\r\n    <div><span class=\"gq-job-label\">Location \/ Asset<\/span><span class=\"gq-job-value\">jhb<\/span><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"gq-limits-bar\">\r\n    <div class=\"gq-limit-chip\">Standard: <span id=\"gq-std-label\">IEC 60480 &middot; Reuse SF&#8326;<\/span><\/div>\r\n    <div class=\"gq-limit-chip\">SF&#8326; &ge; <span id=\"gq-lim-sf6\">97.0<\/span>%<\/div>\r\n    <div class=\"gq-limit-chip\">H&#8322;O &le; <span id=\"gq-lim-h2o\">200<\/span> PPMV<\/div>\r\n    <div class=\"gq-limit-chip\">SO&#8322; &le; <span id=\"gq-lim-so2\">12<\/span> PPMV<\/div>\r\n  <\/div>\r\n\r\n  <span class=\"gq-section-title\">Gas Measurements<\/span>\r\n  <div class=\"gq-metrics-grid\">\r\n    <div class=\"gq-metric pass\" id=\"gq-card-sf6\">\r\n      <div class=\"gq-metric-status\" id=\"gq-stat-sf6\">Pass<\/div>\r\n      <span class=\"gq-metric-name\">SF&#8326; Purity<\/span>\r\n      <span class=\"gq-metric-value\">100.0<\/span>\r\n      <span class=\"gq-metric-unit\">% Volume<\/span>\r\n    <\/div>\r\n    <div class=\"gq-metric pass\" id=\"gq-card-h2o\">\r\n      <div class=\"gq-metric-status\" id=\"gq-stat-h2o\">Pass<\/div>\r\n      <span class=\"gq-metric-name\">Moisture (H&#8322;O)<\/span>\r\n      <span class=\"gq-metric-value\">115<\/span>\r\n      <span class=\"gq-metric-unit\">PPMV<\/span>\r\n    <\/div>\r\n    <div class=\"gq-metric pass\" id=\"gq-card-so2\">\r\n      <div class=\"gq-metric-status\" id=\"gq-stat-so2\">Pass<\/div>\r\n      <span class=\"gq-metric-name\">SO&#8322;<\/span>\r\n      <span class=\"gq-metric-value\">0<\/span>\r\n      <span class=\"gq-metric-unit\">PPMV<\/span>\r\n    <\/div>\r\n    <div class=\"gq-metric\" id=\"gq-card-o2\" style=\"display:none;\">\r\n      <div class=\"gq-metric-status\" id=\"gq-stat-o2\">&#8212;<\/div>\r\n      <span class=\"gq-metric-name\">O&#8322;<\/span>\r\n      <span class=\"gq-metric-value\" id=\"gq-val-o2\">&#8212;<\/span>\r\n      <span class=\"gq-metric-unit\">% Volume<\/span>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <span class=\"gq-section-title\">Pressure Change<\/span>\r\n  <div class=\"gq-pressure-row\">\r\n    <div class=\"gq-pressure-cell\">\r\n      <span class=\"gq-metric-name\">Input Start<\/span>\r\n      <span class=\"gq-metric-value\">37.37<\/span>\r\n      <span class=\"gq-metric-unit\">PSI<\/span>\r\n    <\/div>\r\n    <div class=\"gq-pressure-cell\">\r\n      <span class=\"gq-metric-name\">Input End<\/span>\r\n      <span class=\"gq-metric-value\">36.67<\/span>\r\n      <span class=\"gq-metric-unit\">PSI<\/span>\r\n    <\/div>\r\n    <div class=\"gq-pressure-cell delta\">\r\n      <span class=\"gq-metric-name\">&Delta; Pressure<\/span>\r\n      <span class=\"gq-metric-value\">&#8722;0.70<\/span>\r\n      <span class=\"gq-metric-unit\">PSI<\/span>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- ADD LOCATION & CONDITIONS -->\r\n  <div class=\"gq-loc-section\">\r\n    <button class=\"gq-collapsible-hdr\" id=\"gq-loc-toggle\" onclick=\"gqToggleLoc()\">\r\n      <svg id=\"gq-loc-chevron\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"transition:transform 0.2s;flex-shrink:0;margin-right:8px;\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg>\r\n      <span>Add Location &amp; Conditions<\/span>\r\n    <\/button>\r\n    <div class=\"gq-collapsible-body\" id=\"gq-loc-body\" style=\"display:none;\">\r\n      <div class=\"gq-loc-controls\">\r\n        <button class=\"gq-loc-btn\" onclick=\"gqGetLocation()\">\r\n          <svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"5\"\/><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"22\"\/><line x1=\"2\" y1=\"12\" x2=\"5\" y2=\"12\"\/><line x1=\"19\" y1=\"12\" x2=\"22\" y2=\"12\"\/><\/svg>\r\n          Use my location\r\n        <\/button>\r\n        <span style=\"font-size:11px;color:var(--gq-muted);\">or<\/span>\r\n        <input class=\"gq-zip-input\" type=\"text\" id=\"gq-zip\" placeholder=\"ZIP code\" maxlength=\"5\">\r\n        <button class=\"gq-loc-btn secondary\" onclick=\"gqZipLookup()\">Go<\/button>\r\n      <\/div>\r\n      <div class=\"gq-loc-status\" id=\"gq-loc-status\"><\/div>\r\n      <div class=\"gq-map-wrap\" id=\"gq-map-wrap\"><div id=\"gq-map\"><\/div><\/div>\r\n      <div id=\"gq-weather-block\" style=\"display:none;\">\r\n        <div class=\"gq-weather-block\">\r\n          <span class=\"gq-weather-time\" id=\"gq-wx-time\">Conditions at time of test<\/span>\r\n          <div class=\"gq-weather-row\">\r\n            <div class=\"gq-weather-cell\">\r\n              <span class=\"gq-weather-label\">Temperature<\/span>\r\n              <span class=\"gq-weather-value\" id=\"gq-wx-temp\">&#8212;<span class=\"gq-weather-unit\"> &deg;F<\/span><\/span>\r\n            <\/div>\r\n            <div class=\"gq-weather-cell\">\r\n              <span class=\"gq-weather-label\">Humidity<\/span>\r\n              <span class=\"gq-weather-value\" id=\"gq-wx-hum\">&#8212;<span class=\"gq-weather-unit\"> %<\/span><\/span>\r\n            <\/div>\r\n            <div class=\"gq-weather-cell\">\r\n              <span class=\"gq-weather-label\">Baro. Pressure<\/span>\r\n              <span class=\"gq-weather-value\" id=\"gq-wx-pres\">&#8212;<span class=\"gq-weather-unit\"> hPa<\/span><\/span>\r\n            <\/div>\r\n          <\/div>\r\n          <div style=\"margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,0.06);\">\r\n            <span style=\"font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gq-muted);display:block;margin-bottom:4px;\">Coordinates<\/span>\r\n            <span style=\"font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;color:var(--gq-sky);\" id=\"gq-wx-coords\">&#8212;<\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"gq-manual-temp-row\">\r\n        <span style=\"font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gq-muted);display:block;margin-bottom:6px;\">Manual temperature<\/span>\r\n        <div style=\"display:flex;align-items:center;gap:8px;flex-wrap:wrap;\">\r\n          <input class=\"gq-zip-input\" type=\"number\" id=\"gq-manual-temp\" placeholder=\"e.g. 72\" style=\"width:100px;\" oninput=\"gqManualTempChanged()\">\r\n          <div class=\"gq-unit-toggle\">\r\n            <button class=\"gq-unit-btn active\" id=\"gq-unit-f\" onclick=\"gqSetUnit('F')\">&deg;F<\/button>\r\n            <button class=\"gq-unit-btn\" id=\"gq-unit-c\" onclick=\"gqSetUnit('C')\">&deg;C<\/button>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- DOWNLOAD + EMAIL -->\r\n  <div class=\"gq-share-section\">\r\n    <span class=\"gq-share-label\">Download Results<\/span>\r\n    <div class=\"gq-share-btns\" style=\"margin-bottom:16px;\">\r\n      <button class=\"gq-share-btn outline\" onclick=\"gqDownload('txt')\">\r\n        <svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\/><polyline points=\"7 10 12 15 17 10\"\/><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"\/><\/svg>\r\n        .TXT\r\n      <\/button>\r\n      <button class=\"gq-share-btn outline\" onclick=\"gqDownload('csv')\">\r\n        <svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\/><polyline points=\"7 10 12 15 17 10\"\/><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"\/><\/svg>\r\n        .CSV\r\n      <\/button>\r\n      <button class=\"gq-share-btn pdf\" onclick=\"gqPrint()\">\r\n        <svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\/><polyline points=\"7 10 12 15 17 10\"\/><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"\/><\/svg>\r\n        PDF\r\n      <\/button>\r\n    <\/div>\r\n    <span class=\"gq-share-label\">Email Results<\/span>\r\n    <div class=\"gq-share-btns\">\r\n      <button class=\"gq-share-btn primary\" onclick=\"gqShareEmail()\">\r\n        <svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\"\/><path d=\"M2 8h20M12 12l-4 4m4-4l4 4m-4-4v6\"\/><\/svg>\r\n        Email Results\r\n      <\/button>\r\n    <\/div>\r\n    <span class=\"gq-share-hint\" id=\"gq-share-hint\" style=\"display:block;margin-top:8px;\"><\/span>\r\n  <\/div>\r\n\r\n  <!-- STORAGE OPT-OUT -->\r\n  <div class=\"gq-storage-row\">\r\n    <label class=\"gq-storage-label\">\r\n      <input type=\"checkbox\" id=\"gq-optout\">\r\n      <span>Do not store this test result in GasQuip's database<\/span>\r\n    <\/label>\r\n    <span class=\"gq-storage-status\" id=\"gq-storage-status\"><\/span>\r\n  <\/div>\r\n\r\n  <!-- PRIVACY NOTE -->\r\n  <div class=\"gq-privacy-note\">\r\n    GasQuip may store anonymized test results linked to unit serial numbers. Uncheck above to opt out. &nbsp;|&nbsp; <a href=\"https:\/\/gasquip.com\/privacy-policy\/\">Privacy Policy<\/a><br>\r\n    <a class=\"gq-history-link\" id=\"gq-history-link\" href=\"#\">&#9203; View all stored tests for this unit<\/a>\r\n  <\/div>\r\n\r\n  <!-- FOOTER -->\r\n  <div class=\"gq-footer\">\r\n    <span class=\"gq-footer-left\">gasquip.com &middot; FLEX SF&#8326; Analyzer<\/span>\r\n    <a class=\"gq-footer-link\" href=\"https:\/\/gasquip.com\">gasquip.com &rarr;<\/a>\r\n  <\/div>\r\n\r\n<\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function() {\r\n  var measured = { sf6: 100.0, h2o: 115, so2: 0, ps: 37.37, pe: 36.67, o2: null };\r\n  var meta = { sn: 'F24B000', date: '03\/05\/2026', time: '15:50:23', tname: 'test data', user: 'jbj', loc: 'jhb' };\r\n  var STANDARDS = {\r\n    iec60376: { sf6_min: 98.5, h2o_max: 200, so2_max: 7,  label: 'IEC 60376 \\u00b7 New SF\\u2086' },\r\n    iec60480: { sf6_min: 97.0, h2o_max: 200, so2_max: 12, label: 'IEC 60480 \\u00b7 Reuse SF\\u2086' }\r\n  };\r\n  var activeStd = 'iec60480';\r\n  var gqMap = null, gqMarker = null, gqWeatherData = {}, leafletLoaded = false;\r\n  var gqLocationLabel = '', gqLatLon = { lat: null, lon: null };\r\n  var manualTemp = null, tempUnit = 'F';\r\n\r\n  function getLimits() { return STANDARDS[activeStd] || STANDARDS['iec60480']; }\r\n\r\n  window.gqApply = function() {\r\n    var lim = getLimits();\r\n    var stdLabel = document.getElementById('gq-std-label');\r\n    if (stdLabel) stdLabel.textContent = lim.label;\r\n    document.getElementById('gq-lim-sf6').textContent = lim.sf6_min.toFixed(1);\r\n    document.getElementById('gq-lim-h2o').textContent = lim.h2o_max;\r\n    document.getElementById('gq-lim-so2').textContent = lim.so2_max;\r\n    var results = { sf6: measured.sf6 >= lim.sf6_min, h2o: measured.h2o <= lim.h2o_max, so2: measured.so2 <= lim.so2_max };\r\n    setCard('sf6', results.sf6); setCard('h2o', results.h2o); setCard('so2', results.so2);\r\n    var o2Card = document.getElementById('gq-card-o2');\r\n    if (measured.o2 !== null) {\r\n      o2Card.style.display = '';\r\n      document.getElementById('gq-val-o2').textContent = measured.o2;\r\n      document.getElementById('gq-stat-o2').textContent = measured.o2 + '%';\r\n      o2Card.className = 'gq-metric';\r\n    } else {\r\n      o2Card.style.display = 'none';\r\n    }\r\n    var allPass = results.sf6 && results.h2o && results.so2;\r\n    document.getElementById('gq-overall-badge').className = 'gq-badge ' + (allPass ? 'pass' : 'fail');\r\n    document.getElementById('gq-overall-label').textContent = allPass ? 'Pass' : 'Fail';\r\n  };\r\n\r\n  function setCard(id, pass) {\r\n    document.getElementById('gq-card-' + id).className = 'gq-metric ' + (pass ? 'pass' : 'fail');\r\n    document.getElementById('gq-stat-' + id).textContent = pass ? 'Pass' : 'Fail';\r\n  }\r\n\r\n  function loadLeaflet(cb) {\r\n    if (leafletLoaded) { cb(); return; }\r\n    var css = document.createElement('link');\r\n    css.rel = 'stylesheet';\r\n    css.href = 'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/leaflet\/1.9.4\/leaflet.min.css';\r\n    document.head.appendChild(css);\r\n    var js = document.createElement('script');\r\n    js.src = 'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/leaflet\/1.9.4\/leaflet.min.js';\r\n    js.onload = function() { leafletLoaded = true; cb(); };\r\n    document.head.appendChild(js);\r\n  }\r\n\r\n  function initMap(lat, lon, label) {\r\n    gqLocationLabel = label;\r\n    gqLatLon = { lat: lat, lon: lon };\r\n    var coordEl = document.getElementById('gq-wx-coords');\r\n    if (coordEl) coordEl.textContent = lat.toFixed(6) + ', ' + lon.toFixed(6);\r\n    var wrap = document.getElementById('gq-map-wrap');\r\n    wrap.className = 'gq-map-wrap visible';\r\n    if (!gqMap) {\r\n      gqMap = L.map('gq-map', { zoomControl:true, attributionControl:false }).setView([lat, lon], 13);\r\n      L.tileLayer('https:\/\/{s}.tile.openstreetmap.org\/{z}\/{x}\/{y}.png').addTo(gqMap);\r\n    } else {\r\n      gqMap.setView([lat, lon], 13);\r\n    }\r\n    if (gqMarker) gqMap.removeLayer(gqMarker);\r\n    gqMarker = L.marker([lat, lon]).addTo(gqMap).bindPopup(label || 'Test site').openPopup();\r\n    setTimeout(function(){ gqMap.invalidateSize(); }, 150);\r\n    fetchWeather(lat, lon);\r\n  }\r\n\r\n  function fetchWeather(lat, lon) {\r\n    var parts = meta.date.split('\/');\r\n    var isoDate = parts[2] + '-' + parts[0] + '-' + parts[1];\r\n    var testHour = parseInt(meta.time.split(':')[0], 10);\r\n    var url = 'https:\/\/archive-api.open-meteo.com\/v1\/archive?latitude=' + lat + '&longitude=' + lon +\r\n      '&start_date=' + isoDate + '&end_date=' + isoDate +\r\n      '&hourly=temperature_2m,relative_humidity_2m,pressure_msl&temperature_unit=fahrenheit&timezone=auto';\r\n    fetch(url).then(function(r){ return r.json(); }).then(function(d) {\r\n      var h = d.hourly;\r\n      var temp = Math.round(h.temperature_2m[testHour]);\r\n      var hum  = Math.round(h.relative_humidity_2m[testHour]);\r\n      var pres = Math.round(h.pressure_msl[testHour] * 10) \/ 10;\r\n      document.getElementById('gq-wx-temp').innerHTML = temp + '<span class=\"gq-weather-unit\"> \\u00b0F<\/span>';\r\n      document.getElementById('gq-wx-hum').innerHTML  = hum  + '<span class=\"gq-weather-unit\"> %<\/span>';\r\n      document.getElementById('gq-wx-pres').innerHTML = pres + '<span class=\"gq-weather-unit\"> hPa<\/span>';\r\n      document.getElementById('gq-wx-time').textContent = 'Conditions at time of test \\u00b7 ' + meta.date + ' ' + meta.time;\r\n      document.getElementById('gq-weather-block').style.display = 'block';\r\n      gqWeatherData = { temp: temp, humidity: hum, pressure: pres };\r\n    }).catch(function(){ setStatus('Weather data unavailable.'); });\r\n  }\r\n\r\n  function setStatus(msg) {\r\n    var el = document.getElementById('gq-loc-status');\r\n    el.textContent = msg;\r\n    el.className = 'gq-loc-status' + (msg ? ' visible' : '');\r\n  }\r\n\r\n  window.gqGetLocation = function() {\r\n    if (!navigator.geolocation) { setStatus('Geolocation not supported.'); return; }\r\n    setStatus('Locating\\u2026');\r\n    navigator.geolocation.getCurrentPosition(function(pos) {\r\n      setStatus('Location found.');\r\n      loadLeaflet(function(){ initMap(pos.coords.latitude, pos.coords.longitude, ''); });\r\n    }, function() { setStatus('Location access denied. Try a ZIP code instead.'); });\r\n  };\r\n\r\n  window.gqZipLookup = function() {\r\n    var zip = document.getElementById('gq-zip').value.trim();\r\n    if (zip.length !== 5 || isNaN(zip)) { setStatus('Enter a valid 5-digit ZIP code.'); return; }\r\n    setStatus('Looking up location\\u2026');\r\n    fetch('https:\/\/api.zippopotam.us\/us\/' + zip)\r\n      .then(function(r){ if(!r.ok) throw new Error(); return r.json(); })\r\n      .then(function(d) {\r\n        var place = d.places[0];\r\n        var lat = parseFloat(place.latitude), lon = parseFloat(place.longitude);\r\n        var label = place['place name'] + ', ' + place['state abbreviation'];\r\n        setStatus('Location: ' + label);\r\n        loadLeaflet(function(){ initMap(lat, lon, label); });\r\n      }).catch(function(){ setStatus('ZIP code not found.'); });\r\n  };\r\n\r\n  document.getElementById('gq-zip').addEventListener('keydown', function(e){ if(e.key==='Enter') gqZipLookup(); });\r\n\r\n  window.gqToggleLoc = function() {\r\n    var body = document.getElementById('gq-loc-body');\r\n    var chevron = document.getElementById('gq-loc-chevron');\r\n    var open = body.style.display === 'none';\r\n    body.style.display = open ? 'block' : 'none';\r\n    chevron.style.transform = open ? 'rotate(180deg)' : '';\r\n    if (open && gqMap) setTimeout(function(){ gqMap.invalidateSize(); }, 150);\r\n  };\r\n\r\n  window.gqSetUnit = function(unit) {\r\n    tempUnit = unit;\r\n    document.getElementById('gq-unit-f').className = 'gq-unit-btn' + (unit === 'F' ? ' active' : '');\r\n    document.getElementById('gq-unit-c').className = 'gq-unit-btn' + (unit === 'C' ? ' active' : '');\r\n    gqManualTempChanged();\r\n  };\r\n\r\n  window.gqManualTempChanged = function() {\r\n    var val = document.getElementById('gq-manual-temp').value.trim();\r\n    if (val === '') { manualTemp = null; return; }\r\n    var raw = parseFloat(val);\r\n    manualTemp = tempUnit === 'C' ? Math.round((raw * 9\/5 + 32) * 10) \/ 10 : raw;\r\n  };\r\n\r\n  function getEffectiveTemp() {\r\n    if (gqWeatherData.temp !== undefined) return gqWeatherData.temp;\r\n    if (manualTemp !== null) return manualTemp;\r\n    return null;\r\n  }\r\n\r\n  function buildText() {\r\n    var lim = getLimits();\r\n    var stdLabels = { iec60376:'IEC 60376 (New SF6)', iec60480:'IEC 60480 (Reuse SF6)', custom:'Custom Limits' };\r\n    var status = document.getElementById('gq-overall-label').textContent.toUpperCase();\r\n    var effTemp = getEffectiveTemp();\r\n    var wx = (effTemp !== null || gqWeatherData.humidity !== undefined)\r\n      ? '\\nCONDITIONS AT TIME OF TEST (' + meta.date + ' ' + meta.time + ')\\n' +\r\n        '------------------------------\\n' +\r\n        (gqLocationLabel ? 'Location:            ' + gqLocationLabel + '\\n' : '') +\r\n        (gqLatLon.lat !== null ? 'Latitude:            ' + gqLatLon.lat.toFixed(6) + '\\n' : '') +\r\n        (gqLatLon.lon !== null ? 'Longitude:           ' + gqLatLon.lon.toFixed(6) + '\\n' : '') +\r\n        (effTemp !== null ? 'Temperature:         ' + effTemp + ' F\\n' : '') +\r\n        (gqWeatherData.humidity !== undefined ? 'Humidity:            ' + gqWeatherData.humidity + ' %\\n' : '') +\r\n        (gqWeatherData.pressure !== undefined ? 'Barometric Pressure: ' + gqWeatherData.pressure + ' hPa' : '')\r\n      : '';\r\n    return 'SF6 Analysis Report - GasQuip FLEX\\n\\n' +\r\n      'Unit Serial:     ' + meta.sn + '\\n' +\r\n      'Date \/ Time:     ' + meta.date + ' at ' + meta.time + '\\n' +\r\n      'Test Name:       ' + meta.tname + '\\n' +\r\n      'Technician:      ' + meta.user + '\\n' +\r\n      'Location\/Asset:  ' + meta.loc + '\\n' +\r\n      'Standard:        ' + (stdLabels[activeStd] || activeStd) + '\\n\\n' +\r\n      'RESULTS (' + status + ')\\n' +\r\n      '------------------------------\\n' +\r\n      'SF6 Purity:      ' + measured.sf6 + '% vol   (limit >= ' + lim.sf6_min.toFixed(1) + '%)\\n' +\r\n      'Moisture (H2O):  ' + measured.h2o + ' PPMV   (limit <= ' + lim.h2o_max + ' PPMV)\\n' +\r\n      'SO2:             ' + measured.so2 + ' PPMV   (limit <= ' + lim.so2_max + ' PPMV)\\n' +\r\n      (measured.o2 !== null ? 'O2:              ' + measured.o2 + '% vol\\n' : '') +\r\n      '\\nPressure Start:  ' + measured.ps + ' PSI\\n' +\r\n      'Pressure End:    ' + measured.pe + ' PSI\\n' +\r\n      'Pressure Change: ' + (measured.pe - measured.ps).toFixed(2) + ' PSI\\n' + wx + '\\n\\n' +\r\n      'View full report: ' + window.location.href + '\\n\\n' +\r\n      '------------------------------\\n' +\r\n      'Powered by GasQuip FLEX SF6 Analyzer\\n' +\r\n      'gasquip.com  |  sales@gasquip.com  |  (713) 955-3177';\r\n  }\r\n\r\n  function buildCSV() {\r\n    var lim = getLimits();\r\n    var status = document.getElementById('gq-overall-label').textContent;\r\n    var stdLabels = { iec60376:'IEC 60376 (New SF6)', iec60480:'IEC 60480 (Reuse SF6)', custom:'Custom Limits' };\r\n    var wxCols = gqWeatherData.temp !== undefined\r\n      ? ',\"' + (gqLocationLabel||'') + '\",\"' + (gqLatLon.lat!==null?gqLatLon.lat.toFixed(6):'') + '\",\"' + (gqLatLon.lon!==null?gqLatLon.lon.toFixed(6):'') + '\",\"' + gqWeatherData.temp + ' F\",\"' + gqWeatherData.humidity + ' %\",\"' + gqWeatherData.pressure + ' hPa\"'\r\n      : ',,,,,,';\r\n    var headers = 'Serial,Date,Time,Test Name,Technician,Location,Standard,SF6 (%vol),H2O (PPMV),SO2 (PPMV),O2 (%vol),SF6 Limit,H2O Limit,SO2 Limit,Pressure Start (PSI),Pressure End (PSI),Delta Pressure (PSI),Result,GPS\/ZIP Location,Latitude,Longitude,Temp,Humidity,Baro Pressure';\r\n    var row = [meta.sn,meta.date,meta.time,meta.tname,meta.user,meta.loc,stdLabels[activeStd]||activeStd,\r\n      measured.sf6,measured.h2o,measured.so2,measured.o2!==null?measured.o2:'',\r\n      lim.sf6_min.toFixed(1),lim.h2o_max,lim.so2_max,\r\n      measured.ps,measured.pe,(measured.pe-measured.ps).toFixed(2),status]\r\n      .map(function(v){ return '\"'+String(v).replace(\/\"\/g,'\"\"')+'\"'; }).join(',') + wxCols;\r\n    return headers + '\\n' + row;\r\n  }\r\n\r\n  function download(content, filename, mime) {\r\n    var blob = new Blob([content], { type: mime });\r\n    var url = URL.createObjectURL(blob);\r\n    var a = document.createElement('a');\r\n    a.href = url; a.download = filename;\r\n    document.body.appendChild(a); a.click();\r\n    document.body.removeChild(a); URL.revokeObjectURL(url);\r\n  }\r\n\r\n  window.gqDownload = function(fmt) {\r\n    var fn = 'GasQuip-FLEX-' + meta.sn + '-' + meta.date.replace(\/\\\/\/g,'-');\r\n    if (fmt === 'csv') download(buildCSV(), fn + '.csv', 'text\/csv');\r\n    else download(buildText(), fn + '.txt', 'text\/plain');\r\n    var hint = document.getElementById('gq-share-hint');\r\n    hint.textContent = fmt.toUpperCase() + ' downloaded.';\r\n    setTimeout(function(){ hint.textContent = ''; }, 3000);\r\n  };\r\n\r\n  window.gqShareEmail = function() {\r\n    var status = document.getElementById('gq-overall-label').textContent.toUpperCase();\r\n    var subject = encodeURIComponent('GasQuip FLEX SF6 Test Result - ' + status + ' - Unit ' + meta.sn + ' - ' + meta.date);\r\n    window.location.href = 'mailto:?subject=' + subject + '&body=' + encodeURIComponent(buildText());\r\n    var hint = document.getElementById('gq-share-hint');\r\n    hint.textContent = 'Opening email client\\u2026';\r\n    setTimeout(function(){ hint.textContent = ''; }, 4000);\r\n  };\r\n\r\n  window.gqPrint = function() { window.print(); };\r\n\r\n  \/\/ \u2500\u2500 Data storage \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n  var gqDataStored = false;\r\n\r\n  function gqStoreResult() {\r\n    if (document.getElementById('gq-optout').checked) return;\r\n    var lim = getLimits();\r\n    var status = document.getElementById('gq-overall-label').textContent;\r\n    var stdLabels = { iec60376:'IEC 60376 (New SF6)', iec60480:'IEC 60480 (Reuse SF6)', custom:'Custom Limits' };\r\n    fetch('\/wp-json\/gasquip\/v1\/store-result', {\r\n      method: 'POST',\r\n      headers: { 'Content-Type': 'application\/json' },\r\n      body: JSON.stringify({\r\n        sn: meta.sn, date: meta.date, time: meta.time, tname: meta.tname,\r\n        user: meta.user, loc: meta.loc, standard: stdLabels[activeStd] || activeStd,\r\n        result: status, sf6: measured.sf6, h2o: measured.h2o, so2: measured.so2, o2: measured.o2,\r\n        sf6_min: lim.sf6_min, h2o_max: lim.h2o_max, so2_max: lim.so2_max,\r\n        ps: measured.ps, pe: measured.pe, lat: gqLatLon.lat, lon: gqLatLon.lon,\r\n        location_label: gqLocationLabel,\r\n        temp: gqWeatherData.temp !== undefined ? gqWeatherData.temp : (manualTemp || null),\r\n        humidity: gqWeatherData.humidity || null,\r\n        pressure: gqWeatherData.pressure || null,\r\n        source_url: window.location.href\r\n      })\r\n    }).then(function(r){ return r.json(); }).then(function(data) {\r\n      if (data.success) {\r\n        gqDataStored = true;\r\n        var el = document.getElementById('gq-storage-status');\r\n        if (el && !data.duplicate) el.textContent = 'Result stored.';\r\n      }\r\n    }).catch(function(){});\r\n  }\r\n\r\n  document.getElementById('gq-optout').addEventListener('change', function() {\r\n    var el = document.getElementById('gq-storage-status');\r\n    if (this.checked) { if (el) el.textContent = 'This result will not be stored.'; }\r\n    else { if (!gqDataStored) gqStoreResult(); else if (el) el.textContent = 'Result stored.'; }\r\n  });\r\n\r\n  var histLink = document.getElementById('gq-history-link');\r\n  if (histLink && meta.sn) histLink.href = '\/flex-history\/?sn=' + encodeURIComponent(meta.sn);\r\n\r\n  setTimeout(gqStoreResult, 2000);\r\n\r\n  gqApply();\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>GasQuip FLEX SF&#8326; Analysis Report Pass Serial No. F24B000 History &rarr; Date03\/05\/2026 Time15:50:23 Test Nametest data Technicianjbj Location \/ Assetjhb Standard: IEC 60480 &middot; Reuse SF&#8326; SF&#8326; &ge; 97.0% H&#8322;O &le; 200 PPMV SO&#8322; &le; 12 PPMV Gas Measurements Pass SF&#8326; Purity 100.0 % Volume Pass Moisture (H&#8322;O) 115 PPMV Pass SO&#8322; 0 PPMV &#8212; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"content-type":"","footnotes":""},"class_list":["post-13733","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>FLEX Results Report - GasQuip<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gasquip.com\/es\/flex-result\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FLEX Results Report - GasQuip\" \/>\n<meta property=\"og:description\" content=\"GasQuip FLEX SF&#8326; Analysis Report Pass Serial No. F24B000 History &rarr; Date03\/05\/2026 Time15:50:23 Test Nametest data Technicianjbj Location \/ Assetjhb Standard: IEC 60480 &middot; Reuse SF&#8326; SF&#8326; &ge; 97.0% H&#8322;O &le; 200 PPMV SO&#8322; &le; 12 PPMV Gas Measurements Pass SF&#8326; Purity 100.0 % Volume Pass Moisture (H&#8322;O) 115 PPMV Pass SO&#8322; 0 PPMV &#8212; [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gasquip.com\/es\/flex-result\/\" \/>\n<meta property=\"og:site_name\" content=\"GasQuip\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/gasquiptx\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-27T16:08:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/gasquip.com\/wp-content\/uploads\/2026\/04\/Logo-white-PNG-Copy.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/gasquip.com\\\/flex-result\\\/\",\"url\":\"https:\\\/\\\/gasquip.com\\\/flex-result\\\/\",\"name\":\"FLEX Results Report - GasQuip\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gasquip.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/gasquip.com\\\/flex-result\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/gasquip.com\\\/flex-result\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/gasquip.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Logo-white-PNG-Copy.png\",\"datePublished\":\"2026-03-30T17:59:01+00:00\",\"dateModified\":\"2026-04-27T16:08:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gasquip.com\\\/flex-result\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/gasquip.com\\\/flex-result\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/gasquip.com\\\/flex-result\\\/#primaryimage\",\"url\":\"https:\\\/\\\/gasquip.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Logo-white-PNG-Copy.png\",\"contentUrl\":\"https:\\\/\\\/gasquip.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Logo-white-PNG-Copy.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gasquip.com\\\/flex-result\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/gasquip.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FLEX Results Report\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gasquip.com\\\/#website\",\"url\":\"https:\\\/\\\/gasquip.com\\\/\",\"name\":\"GasQuip\",\"description\":\"SF6 Gas Equipment\",\"publisher\":{\"@id\":\"https:\\\/\\\/gasquip.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/gasquip.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/gasquip.com\\\/#organization\",\"name\":\"GasQuip\",\"url\":\"https:\\\/\\\/gasquip.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/gasquip.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/gasquip.com\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/Logo-Original-PNG-Cropped.png\",\"contentUrl\":\"https:\\\/\\\/gasquip.com\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/Logo-Original-PNG-Cropped.png\",\"width\":2819,\"height\":702,\"caption\":\"GasQuip\"},\"image\":{\"@id\":\"https:\\\/\\\/gasquip.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/gasquiptx\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/gasquip.com\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCUCicTtyc2zeJMcj5NMA0Ww\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"FLEX Results Report - GasQuip","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gasquip.com\/es\/flex-result\/","og_locale":"es_MX","og_type":"article","og_title":"FLEX Results Report - GasQuip","og_description":"GasQuip FLEX SF&#8326; Analysis Report Pass Serial No. F24B000 History &rarr; Date03\/05\/2026 Time15:50:23 Test Nametest data Technicianjbj Location \/ Assetjhb Standard: IEC 60480 &middot; Reuse SF&#8326; SF&#8326; &ge; 97.0% H&#8322;O &le; 200 PPMV SO&#8322; &le; 12 PPMV Gas Measurements Pass SF&#8326; Purity 100.0 % Volume Pass Moisture (H&#8322;O) 115 PPMV Pass SO&#8322; 0 PPMV &#8212; [&hellip;]","og_url":"https:\/\/gasquip.com\/es\/flex-result\/","og_site_name":"GasQuip","article_publisher":"https:\/\/www.facebook.com\/gasquiptx","article_modified_time":"2026-04-27T16:08:37+00:00","og_image":[{"url":"https:\/\/gasquip.com\/wp-content\/uploads\/2026\/04\/Logo-white-PNG-Copy.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/gasquip.com\/flex-result\/","url":"https:\/\/gasquip.com\/flex-result\/","name":"FLEX Results Report - GasQuip","isPartOf":{"@id":"https:\/\/gasquip.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/gasquip.com\/flex-result\/#primaryimage"},"image":{"@id":"https:\/\/gasquip.com\/flex-result\/#primaryimage"},"thumbnailUrl":"https:\/\/gasquip.com\/wp-content\/uploads\/2026\/04\/Logo-white-PNG-Copy.png","datePublished":"2026-03-30T17:59:01+00:00","dateModified":"2026-04-27T16:08:37+00:00","breadcrumb":{"@id":"https:\/\/gasquip.com\/flex-result\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gasquip.com\/flex-result\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/gasquip.com\/flex-result\/#primaryimage","url":"https:\/\/gasquip.com\/wp-content\/uploads\/2026\/04\/Logo-white-PNG-Copy.png","contentUrl":"https:\/\/gasquip.com\/wp-content\/uploads\/2026\/04\/Logo-white-PNG-Copy.png"},{"@type":"BreadcrumbList","@id":"https:\/\/gasquip.com\/flex-result\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gasquip.com\/"},{"@type":"ListItem","position":2,"name":"FLEX Results Report"}]},{"@type":"WebSite","@id":"https:\/\/gasquip.com\/#website","url":"https:\/\/gasquip.com\/","name":"GasQuip","description":"Equipos de gas SF6","publisher":{"@id":"https:\/\/gasquip.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gasquip.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/gasquip.com\/#organization","name":"GasQuip","url":"https:\/\/gasquip.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/gasquip.com\/#\/schema\/logo\/image\/","url":"https:\/\/gasquip.com\/wp-content\/uploads\/2020\/10\/Logo-Original-PNG-Cropped.png","contentUrl":"https:\/\/gasquip.com\/wp-content\/uploads\/2020\/10\/Logo-Original-PNG-Cropped.png","width":2819,"height":702,"caption":"GasQuip"},"image":{"@id":"https:\/\/gasquip.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/gasquiptx","https:\/\/www.linkedin.com\/company\/gasquip.com","https:\/\/www.youtube.com\/channel\/UCUCicTtyc2zeJMcj5NMA0Ww"]}]}},"_links":{"self":[{"href":"https:\/\/gasquip.com\/es\/wp-json\/wp\/v2\/pages\/13733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gasquip.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gasquip.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gasquip.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gasquip.com\/es\/wp-json\/wp\/v2\/comments?post=13733"}],"version-history":[{"count":47,"href":"https:\/\/gasquip.com\/es\/wp-json\/wp\/v2\/pages\/13733\/revisions"}],"predecessor-version":[{"id":13812,"href":"https:\/\/gasquip.com\/es\/wp-json\/wp\/v2\/pages\/13733\/revisions\/13812"}],"wp:attachment":[{"href":"https:\/\/gasquip.com\/es\/wp-json\/wp\/v2\/media?parent=13733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}