{"id":6,"date":"2026-10-16T08:35:57","date_gmt":"2026-10-16T08:35:57","guid":{"rendered":"https:\/\/a182flange.com\/?page_id=6"},"modified":"2026-10-16T13:16:59","modified_gmt":"2026-10-16T13:16:59","slug":"home","status":"publish","type":"page","link":"https:\/\/a182flange.com\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6\" class=\"elementor elementor-6\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e496ff9 e-con-full e-flex e-con e-parent\" data-id=\"e496ff9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0fa44e4 elementor-widget elementor-widget-html\" data-id=\"0fa44e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Sticky navigation. Self-contained: its own HTML, CSS and JavaScript. -->\n<section class=\"site-header nav\" id=\"top\">\n  <link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap\">\n  <style>\n\/* tokens and base *\/\n:root{\n  \/* REALBOLT palette: logo orange and charcoal on white *\/\n  --bg:#FFFFFF; --surface:#F7F5F2; --ink:#262626; --muted:#6B655E; --line:#E4DFD9;\n  --accent:#F47B20; --accent-ink:#B8520A; --straw:#C25A0A;\n  --steel:#DCD8D3; --hole:#FFFFFF; --pipe:#BEB9B2;\n  --font-display:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;\n}\n*{box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;margin:0}\nh1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.02em}\np{margin:0}\na{color:inherit}\n.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}\n.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}\n:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}\n.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--ink);font:600 14px var(--font-body);padding:12px 20px;border:0;border-radius:8px;text-decoration:none;cursor:pointer}\n.btn:hover{filter:brightness(1.08)}\n.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}\nhtml{scroll-padding-top:76px}\n.site-header.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}\n.nav .wrap{display:flex;align-items:center;gap:20px;min-height:64px;padding-block:8px}\n.brand{display:flex;align-items:center;flex:0 0 auto;min-width:0;text-decoration:none}\n.brand img{display:block;height:44px;width:auto;max-width:220px;object-fit:contain}\n.nav-links{display:flex;align-items:center;gap:22px;margin-left:auto;font-size:14px}\n.nav-links a{text-decoration:none;color:var(--muted);white-space:nowrap}\n.nav-links a:hover{color:var(--ink)}\n.site-header .nav-links a.btn,.site-header .nav-links a.btn:hover{color:var(--ink)}\n.site-header .nav-cta{display:none}\n.nav-toggle{display:none;margin-left:auto;width:44px;height:44px;padding:0;background:transparent;border:1px solid var(--line);border-radius:2px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}\n.nav-toggle span{display:block;width:20px;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}\n.nav-toggle[aria-expanded=\"true\"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}\n.nav-toggle[aria-expanded=\"true\"] span:nth-child(2){opacity:0}\n.nav-toggle[aria-expanded=\"true\"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}\n\n\/* Laptop and small laptop: tighten spacing so links and button always fit *\/\n@media (max-width:1100px){\n  .nav .wrap{gap:14px}\n  .nav-links{gap:16px}\n}\n\n\/* Tablet and phone: links move into a dropdown menu opened by the menu button *\/\n@media (max-width:900px){\n  .nav .wrap{position:relative}\n  .nav-toggle{display:flex}\n  .site-header .wrap>.btn{display:none}\n  .nav-links{\n    display:none;position:absolute;left:0;right:0;top:100%;margin:0;\n    flex-direction:column;align-items:stretch;gap:0;\n    background:var(--bg);border-bottom:1px solid var(--line);\n    padding:8px max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px));\n    max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;\n    box-shadow:0 12px 24px rgba(38,38,38,.08)\n  }\n  .nav-links.open{display:flex}\n  .nav-links a:not(.btn){font-size:16px;color:var(--ink);padding:14px 2px;border-bottom:1px solid var(--line)}\n  .site-header .nav-cta{display:inline-flex;justify-content:center;margin-top:14px;padding:14px 18px;font-size:15px}\n}\n\n\/* Phone *\/\n@media (max-width:480px){\n  .nav .wrap{min-height:58px}\n  .brand img{height:36px;max-width:160px}\n}\n@media (prefers-reduced-motion:reduce){ .nav-toggle span{transition:none} }\n  <\/style>\n  <div class=\"wrap\">\n    <a class=\"brand\" href=\"#top\">\n      <!-- Put your logo link in src below (a file path like images\/logo.png or a full https:\/\/ link). -->\n      <img decoding=\"async\" src=\"https:\/\/a182flange.com\/wp-content\/uploads\/2026\/10\/real-bolt-2.png\" alt=\"REALBOLT Engineering Industries\">\n    <\/a>\n    <button type=\"button\" class=\"nav-toggle\" id=\"navToggle\" aria-expanded=\"false\" aria-controls=\"navLinks\" aria-label=\"Open menu\">\n      <span><\/span><span><\/span><span><\/span>\n    <\/button>\n    <nav class=\"nav-links\" id=\"navLinks\" aria-label=\"Page sections\">\n      <a href=\"#types\">Flange types<\/a>\n      <a href=\"#compare\">Compare<\/a>\n      <a href=\"#bolting\">Bolting<\/a>\n      <a href=\"#capacity\">Capacity<\/a>\n      <a href=\"#enquiry\">Enquiry<\/a>\n      <a class=\"btn nav-cta\" href=\"#enquiry\">Request a quote<\/a>\n    <\/nav>\n    <a class=\"btn\" href=\"#enquiry\">Request a quote<\/a>\n  <\/div>\n  <script>\n  (function(){\n    var tg=document.getElementById('navToggle'),menu=document.getElementById('navLinks');\n    function set(open){\n      menu.classList.toggle('open',open);\n      tg.setAttribute('aria-expanded',open?'true':'false');\n      tg.setAttribute('aria-label',open?'Close menu':'Open menu');\n    }\n    tg.addEventListener('click',function(){set(!menu.classList.contains('open'))});\n    menu.addEventListener('click',function(e){if(e.target.closest('a'))set(false)});\n    document.addEventListener('keydown',function(e){if(e.key==='Escape'&&menu.classList.contains('open')){set(false);tg.focus()}});\n    document.addEventListener('click',function(e){if(menu.classList.contains('open')&&!e.target.closest('.site-header'))set(false)});\n    window.addEventListener('resize',function(){if(window.innerWidth>900)set(false)});\n  })();\n  <\/script>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3dff81f e-con-full e-flex e-con e-parent\" data-id=\"3dff81f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0150b41 elementor-widget elementor-widget-html\" data-id=\"0150b41\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Headline and dimensioned weld neck drawing. Self-contained: its own HTML, CSS and JavaScript. -->\n<section class=\"hero\" id=\"hero\">\n  <link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap\">\n  <style>\n\/* tokens and base *\/\n:root{\n  \/* REALBOLT palette: logo orange and charcoal on white *\/\n  --bg:#FFFFFF; --surface:#F7F5F2; --ink:#262626; --muted:#6B655E; --line:#E4DFD9;\n  --accent:#F47B20; --accent-ink:#B8520A; --straw:#C25A0A;\n  --steel:#DCD8D3; --hole:#FFFFFF; --pipe:#BEB9B2;\n  --font-display:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;\n}\n*{box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;margin:0}\nh1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.02em}\np{margin:0}\na{color:inherit}\n.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}\n.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}\n:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}\nsvg .body{fill:var(--steel);stroke:var(--ink);stroke-width:.9}\nsvg .hole{fill:var(--hole);stroke:var(--ink);stroke-width:.7}\nsvg .pcd{fill:none;stroke:var(--accent);stroke-width:.4;stroke-dasharray:3 2}\nsvg .edge{fill:none;stroke:var(--ink);stroke-width:.7}\nsvg .hid{fill:none;stroke:var(--ink);stroke-width:.6;stroke-dasharray:2 1.6;opacity:.7}\nsvg .weld{fill:none;stroke:var(--straw);stroke-width:1.3}\nsvg .weldfill{fill:var(--straw);stroke:none}\nsvg .thread{fill:none;stroke:var(--ink);stroke-width:.8;stroke-dasharray:1 1}\nsvg .pipe{fill:var(--pipe);stroke:var(--ink);stroke-width:.8}\nsvg .center{stroke:var(--accent);stroke-width:.4;stroke-dasharray:6 2 1 2;fill:none}\n.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--ink);font:600 14px var(--font-body);padding:12px 20px;border:0;border-radius:8px;text-decoration:none;cursor:pointer}\n.btn:hover{filter:brightness(1.08)}\n.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}\n.hero{padding-block:64px 72px;position:relative;overflow:hidden}\n.hero::before{content:\"\";position:absolute;right:-12%;top:-30%;width:620px;height:620px;border-radius:50%;background:radial-gradient(closest-side,rgba(244,123,32,.14),rgba(244,123,32,0));pointer-events:none}\n.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}\n.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-weight:700;font-size:12px;letter-spacing:.06em;color:var(--accent-ink);background:rgba(244,123,32,.12);padding:7px 14px;border-radius:999px}\n.hero .eyebrow::before{content:\"\";width:7px;height:7px;border-radius:50%;background:var(--accent)}\n.hero h1{font-weight:800;font-size:clamp(34px,4.9vw,60px);line-height:1.08;letter-spacing:-.03em;margin-top:18px;max-width:15ch}\n.hero h1 em{font-style:normal;color:var(--accent-ink);background:linear-gradient(transparent 66%,rgba(244,123,32,.18) 66%);padding:0 .06em;white-space:nowrap}\n.hero p.lead{max-width:54ch;margin-top:22px;font-size:17px;line-height:1.7;color:var(--muted)}\n.hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}\n.hero .actions .btn{padding:15px 26px;font-size:15px}\n.hero .actions .btn:not(.ghost){box-shadow:0 10px 24px -10px rgba(244,123,32,.7)}\n.hero .actions .btn:not(.ghost)::after{content:\"\\2192\";font-size:17px;line-height:1}\n.panel{background-color:var(--bg);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px;border:1px solid var(--line);padding:18px;border-radius:14px;box-shadow:0 30px 60px -30px rgba(38,38,38,.35)}\n.panel svg{display:block;width:100%;height:auto}\n.panel .cap{background:var(--bg);margin:10px -18px -18px;padding:12px 18px;border-top:1px solid var(--line);border-radius:0 0 14px 14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}\n.panel text{font-family:var(--font-mono);font-size:9px;font-weight:500;fill:var(--ink);letter-spacing:.04em}\n.panel .dim{stroke:var(--accent);stroke-width:.6;fill:none}\n.spin{transform-box:fill-box;transform-origin:center;animation:spin 120s linear infinite}\n@keyframes spin{to{transform:rotate(360deg)}}\n@media (max-width:860px){ .hero .wrap{grid-template-columns:minmax(0,1fr)} }\n@media (prefers-reduced-motion:reduce){ .spin{animation:none} }\n\/* Responsive *\/\n@media (max-width:900px){ .hero{padding-block:44px 52px} .hero .wrap{gap:36px} .hero h1{max-width:20ch} .panel{max-width:560px;width:100%} }\n@media (max-width:600px){\n  .hero{padding-block:32px 40px}\n  .hero h1{font-size:clamp(30px,8.6vw,40px);margin-top:14px}\n  .hero p.lead{font-size:15.5px;margin-top:16px}\n  .hero .actions{margin-top:22px}\n  .hero .actions .btn{flex:1 1 100%;justify-content:center;padding:14px 18px}\n}\n  <\/style>\n    <div class=\"wrap\">\n      <div>\n        <div class=\"eyebrow\">Stainless steel pipe flanges<\/div>\n        <h1 style=\"margin-top:14px\">Flanges for every joint, made at <em>18,000 MT<\/em> a year.<\/h1>\n        <p class=\"lead\">Blind flange, weld neck flange, slip-on flange, socket weld flange, threaded flange, lap joint flange and orifice flange, produced in our own manufacturing facilities for piping systems and pressure vessels.<\/p>\n        <div class=\"actions\">\n          <a class=\"btn\" href=\"#types\">See the seven types<\/a>\n          <a class=\"btn ghost\" href=\"#enquiry\">Send an enquiry<\/a>\n        <\/div>\n      <\/div>\n      <div class=\"panel\">\n        <svg viewBox=\"0 0 300 290\" role=\"img\" aria-label=\"Technical drawing of a weld neck flange with outside diameter, bolt circle, bore and bolt holes labelled\">\n          <g transform=\"translate(30,20) scale(2.0)\"><g class=\"spin\" id=\"heroFace\"><\/g><\/g>\n          <path class=\"center\" d=\"M150 12V268M18 140H282\"\/>\n          <path class=\"dim\" d=\"M30 272H270M30 266v12M270 266v12\"\/>\n          <text x=\"150\" y=\"286\" text-anchor=\"middle\">OD<\/text>\n          <path class=\"dim\" d=\"M238 78l30-30h22\"\/>\n          <text x=\"292\" y=\"45\" text-anchor=\"end\">PCD<\/text>\n          <path class=\"dim\" d=\"M160 148l60 70h70\"\/>\n          <text x=\"292\" y=\"228\" text-anchor=\"end\">BORE<\/text>\n          <path class=\"dim\" d=\"M70 66L36 34H10\"\/>\n          <text x=\"10\" y=\"28\">BOLT HOLES x8<\/text>\n        <\/svg>\n        <div class=\"cap\"><span>Weld neck, face view<\/span><span>Drawing is illustrative<\/span><\/div>\n      <\/div>\n    <\/div>\n  \n  <script>\n  (function(){\n  function holes(n,R,r){var s='',i,a;for(i=0;i<n;i++){a=i*2*Math.PI\/n+Math.PI\/n;s+='<circle class=\"hole\" cx=\"'+(60+R*Math.cos(a)).toFixed(2)+'\" cy=\"'+(60+R*Math.sin(a)).toFixed(2)+'\" r=\"'+r+'\"\/>'}return s}\n  function c(cls,r){return '<circle class=\"'+cls+'\" cx=\"60\" cy=\"60\" r=\"'+r+'\"\/>'}\n\n  function face(t){\n    var s=c('body',54)+c('pcd',44)+holes(8,44,3.6);\n    switch(t){\n      case 'blind': s+=c('edge',34); break;\n      case 'weldneck': s+=c('hid',29)+c('hole',18); break;\n      case 'slipon': s+=c('weld',29.5)+c('hole',26); break;\n      case 'socket': s+=c('edge',24)+c('hole',17); break;\n      case 'threaded': s+=c('hole',21)+c('thread',23.5); break;\n      case 'lapjoint': s+=c('edge',32)+c('hole',26); break;\n      case 'orifice': s+=c('hole',20)+'<path class=\"edge\" d=\"M10 60H40M80 60H110\"\/>'+'<circle class=\"weldfill\" cx=\"10\" cy=\"60\" r=\"2.4\"\/><circle class=\"weldfill\" cx=\"110\" cy=\"60\" r=\"2.4\"\/>'; break;\n      default: s+=c('edge',27)+c('hole',22);\n    }\n    return s;\n  }\n    document.getElementById('heroFace').innerHTML=face('weldneck');\n  })();\n  <\/script>\n<\/section>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6a4270c e-con-full e-flex e-con e-parent\" data-id=\"6a4270c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-51553a9 elementor-widget elementor-widget-html\" data-id=\"51553a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Figures strip. Self-contained: its own HTML, CSS and JavaScript. -->\n<section class=\"stats\" id=\"stats\">\n  <link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap\">\n  <style>\n\/* tokens and base *\/\n:root{\n  \/* REALBOLT palette: logo orange and charcoal on white *\/\n  --bg:#FFFFFF; --surface:#F7F5F2; --ink:#262626; --muted:#6B655E; --line:#E4DFD9;\n  --accent:#F47B20; --accent-ink:#B8520A; --straw:#C25A0A;\n  --steel:#DCD8D3; --hole:#FFFFFF; --pipe:#BEB9B2;\n  --font-display:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;\n}\n*{box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;margin:0}\nh1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.02em}\np{margin:0}\na{color:inherit}\n.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}\n.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}\n:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}\n.stats{border-block:1px solid var(--line);background:var(--surface)}\n.stats .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0}\n.stat{padding:26px 24px 26px 0;display:flex;flex-direction:column;gap:4px}\n.stat b{font-family:var(--font-display);font-weight:800;font-size:34px;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}\n.stat span{font-size:14px;color:var(--muted)}\n\/* Responsive *\/\n.stats .wrap{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}\n.stat b{font-size:clamp(24px,6vw,34px);overflow-wrap:anywhere}\n@media (max-width:600px){ .stat{padding:18px 12px 18px 0} .stat span{font-size:13px} }\n.stats{border-top:3px solid var(--accent)}\n  <\/style>\n    <div class=\"wrap\">\n      <div class=\"stat\"><b>18,000 MT<\/b><span>manufacturing capacity per annum<\/span><\/div>\n      <div class=\"stat\"><b>7<\/b><span>core flange types<\/span><\/div>\n      <div class=\"stat\"><b>5<\/b><span>special forms: stub-end, plate, backup, beveled ID, reducing<\/span><\/div>\n      <div class=\"stat\"><b>Stainless<\/b><span>steel pipe flanges<\/span><\/div>\n    <\/div>\n  \n\n<\/section>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-eb6cab0 e-con-full e-flex e-con e-parent\" data-id=\"eb6cab0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b48b192 elementor-widget elementor-widget-html\" data-id=\"b48b192\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Seven flange cards with photo box, drawing and tip, plus filter chips. Self-contained: its own HTML, CSS and JavaScript. -->\n<section class=\"sec\" id=\"types\">\n  <link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap\">\n  <style>\n\/* tokens and base *\/\n:root{\n  \/* REALBOLT palette: logo orange and charcoal on white *\/\n  --bg:#FFFFFF; --surface:#F7F5F2; --ink:#262626; --muted:#6B655E; --line:#E4DFD9;\n  --accent:#F47B20; --accent-ink:#B8520A; --straw:#C25A0A;\n  --steel:#DCD8D3; --hole:#FFFFFF; --pipe:#BEB9B2;\n  --font-display:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;\n}\n*{box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;margin:0}\nh1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.02em}\np{margin:0}\na{color:inherit}\n.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}\n.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}\n:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}\nsvg .body{fill:var(--steel);stroke:var(--ink);stroke-width:.9}\nsvg .hole{fill:var(--hole);stroke:var(--ink);stroke-width:.7}\nsvg .pcd{fill:none;stroke:var(--accent);stroke-width:.4;stroke-dasharray:3 2}\nsvg .edge{fill:none;stroke:var(--ink);stroke-width:.7}\nsvg .hid{fill:none;stroke:var(--ink);stroke-width:.6;stroke-dasharray:2 1.6;opacity:.7}\nsvg .weld{fill:none;stroke:var(--straw);stroke-width:1.3}\nsvg .weldfill{fill:var(--straw);stroke:none}\nsvg .thread{fill:none;stroke:var(--ink);stroke-width:.8;stroke-dasharray:1 1}\nsvg .pipe{fill:var(--pipe);stroke:var(--ink);stroke-width:.8}\nsvg .center{stroke:var(--accent);stroke-width:.4;stroke-dasharray:6 2 1 2;fill:none}\n.sec{padding-block:76px 12px}\n.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:end;margin-bottom:30px}\n.head h2{font-weight:800;font-size:clamp(28px,4.2vw,44px);margin-top:12px}\n.head p{color:var(--muted);max-width:56ch}\n@media (max-width:860px){ .sec{padding-top:56px} .head{grid-template-columns:minmax(0,1fr)} }\n.tip b{font-style:normal;font-weight:600;color:var(--ink);margin-right:4px}\n.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}\n.chip{font:500 13px var(--font-body);padding:8px 14px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;cursor:pointer}\n.chip[aria-pressed=\"true\"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}\n.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(256px,1fr));gap:16px}\n.card{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}\n.card .art{background:var(--bg);border-bottom:1px solid var(--line);padding:14px}\n.card .art svg{display:block;width:100%;height:auto}\n.card .body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1}\n.card h3{font-size:22px;font-weight:700;letter-spacing:-.01em}\n.card p{font-size:14.5px;color:var(--muted)}\n.spec{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;color:var(--ink);display:grid;grid-template-columns:auto 1fr;gap:4px 12px}\n.spec dt{color:var(--muted);text-transform:uppercase}\n.spec dd{margin:0}\n.card[hidden]{display:none!important}\n.card p strong{color:var(--ink);font-weight:600}\n.card p.tip{font-size:13.5px;font-style:italic;color:var(--muted);border-left:2px solid var(--straw);padding-left:12px}\n.fig{font-size:12.5px;font-weight:600;color:var(--ink);padding:10px 2px 0}\n.slot{position:relative;overflow:hidden;background:var(--surface)}\n.slot .fb{position:absolute;inset:0}\n.slot .fb svg.bolt{width:100%;height:100%;display:block}\n\/* CHANGED: contain instead of cover so product photos are not cropped *\/\n.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}\n.slot.contain img{object-fit:contain;background:var(--bg)}\n.slot .pick{position:absolute;inset:0;z-index:1;width:100%;height:100%;background:transparent;border:0;padding:0;cursor:pointer}\n.slot .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}\n.slot .addpill{position:absolute;right:10px;bottom:10px;background:var(--ink);color:var(--bg);font:500 12px var(--font-body);padding:6px 10px;border-radius:2px}\n.slot .rm{position:absolute;left:10px;bottom:10px;z-index:2;background:var(--bg);color:var(--ink);border:1px solid var(--line);font:500 12px var(--font-body);padding:5px 9px;border-radius:2px;cursor:pointer}\n\/* CHANGED: hide visitor upload controls, photos are now permanent *\/\n.slot .addpill,.slot .rm{display:none}\n.slot .pick{pointer-events:none}\n.empty{position:absolute;inset:10px;border:1.5px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:10px;color:var(--muted);font-size:13px}\n.empty b{color:var(--ink);font-weight:600;font-size:14px}\n.cam{width:30px;height:30px;fill:none;stroke:var(--muted);stroke-width:1.5;stroke-linejoin:round}\n.card .slot{aspect-ratio:4\/3;border-bottom:1px solid var(--line)}\n.slot.fig-slot{aspect-ratio:16\/9;border:1px solid var(--line);background:var(--bg)}\n.bolt .s{fill:var(--steel);stroke:var(--ink);stroke-width:1.5}\n.bolt .th{stroke:var(--ink);stroke-width:1.2}\n.bolt .d{stroke:var(--ink);stroke-width:1;fill:none}\n.bolt .arh{fill:var(--ink)}\n.bolt text{font:14px var(--font-mono);fill:var(--ink);text-anchor:middle}\n.toast{position:fixed;z-index:20;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:10px 14px;font-size:13.5px;max-width:min(420px,calc(100vw - 32px))}\n.toast:empty{display:none}\n\/* Responsive *\/\n@media (max-width:600px){\n  .grid{grid-template-columns:minmax(0,1fr)}\n  .chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));padding-inline:max(16px,env(safe-area-inset-left,0px));padding-bottom:6px;-webkit-overflow-scrolling:touch}\n  .chip{flex:0 0 auto}\n  .card h3{font-size:21px}\n}\n@media (pointer:coarse){ .chip{padding:11px 16px} .slot .rm{padding:8px 12px} .slot .addpill{padding:8px 12px} }\n.card .body p,.spec dd{overflow-wrap:anywhere}\n  <\/style>\n    <div class=\"wrap\">\n      <div class=\"head\">\n        <div>\n          <div class=\"eyebrow\">Types of flanges<\/div>\n          <h2>Pick the joint that fits the line<\/h2>\n        <\/div>\n        <p>Our facilities are equipped to manufacture a full range of stainless steel pipe flanges. Each card shows the face view and a half section. Filter by what the line has to do.<\/p>\n      <\/div>\n      <div class=\"chips\" id=\"chips\" role=\"group\" aria-label=\"Filter flange types\">\n        <button class=\"chip\" type=\"button\" data-f=\"all\" aria-pressed=\"true\">All types<\/button>\n        <button class=\"chip\" type=\"button\" data-f=\"high\" aria-pressed=\"false\">High pressure<\/button>\n        <button class=\"chip\" type=\"button\" data-f=\"low\" aria-pressed=\"false\">Lower pressure<\/button>\n        <button class=\"chip\" type=\"button\" data-f=\"nowelding\" aria-pressed=\"false\">No welding<\/button>\n        <button class=\"chip\" type=\"button\" data-f=\"dismantle\" aria-pressed=\"false\">Frequent dismantling<\/button>\n        <button class=\"chip\" type=\"button\" data-f=\"seal\" aria-pressed=\"false\">Seal or measure<\/button>\n      <\/div>\n      <div class=\"grid\" id=\"grid\"><\/div>\n    <\/div>\n  \n  <input type=\"file\" id=\"photoInput-types\" accept=\"image\/*\" hidden>\n  <div class=\"toast\" id=\"photoNote-types\" role=\"status\"><\/div>\n  <script>\n  (function(){\n  var TYPES=[\n    {id:'blind',name:'Blind flange',join:'Bolted over a pipe end, no centre hole',duty:'Closes the line',hi:0,use:'You need to close a pipe end or vessel opening and still open it easily for inspection.',\n     desc:'A round plate with all the bolt holes but no centre hole. It closes off the ends of piping systems and pressure vessel openings, and gives easy access for inspection.',tags:['seal']},\n    {id:'weldneck',name:'Weld neck flange',join:'Butt welded to the pipe',duty:'High pressure',hi:1,use:'Pressure or temperature swings are extreme, and you want low stress concentration and a bore that matches the pipe.',\n     desc:'A long tapered hub carries stress into the pipe and reinforces the joint. The bore matches the pipe, which cuts turbulence and erosion. Suited to extreme temperature changes and high pressure.',tags:['high']},\n    {id:'slipon',name:'Slip-on flange',join:'Slipped over the pipe, welded inside and outside',duty:'Lower pressure',hi:2,use:'You want lower cost and less accuracy when cutting pipe to length.',\n     desc:'Easy to fit. The flange slips over the pipe and is welded on both sides for strength and a leak-tight joint. Many users prefer it to weld necks because it costs less.',tags:['low']},\n    {id:'socket',name:'Socket weld flange',join:'Pipe inserted into the socket end, then welded',duty:'Small sizes, high pressure',hi:1,use:'You run small, high-pressure pipe and want a smooth bore for better flow.',\n     desc:'The pipe goes into the socket end, leaving a smooth bore and better flow of fluid or gas. Mainly used on smaller sizes of high-pressure pipe.',tags:['high']},\n    {id:'threaded',name:'Threaded flange',join:'Tapered internal threads onto threaded pipe',duty:'Lower pressure',hi:2,use:'You cannot or do not want to weld on site.',\n     desc:'Like a slip-on, but the bore has tapered threads. It fits pipe with external threads, so it attaches without welding. Suited to relatively low-pressure systems.',tags:['low','nowelding']},\n    {id:'lapjoint',name:'Lap joint flange',join:'Slides over the pipe, used with a stub end',duty:'Frequent dismantling',hi:2,use:'The line is taken apart often and the flange must rotate to align the bolt holes.',\n     desc:'Slides over the pipe and is most often paired with a stub end. The pipe is welded to the stub end, and the flange turns freely around it. Common where dismantling is frequent.',tags:['dismantle']},\n    {id:'orifice',name:'Orifice flange',join:'Bolted in line, with an orifice plate between the pair',duty:'Flow measurement',hi:0,use:'An orifice plate or flow nozzle has to be installed in the line.',\n     desc:'Used in place of a standard flange when an orifice plate or flow nozzle is fitted. Pairs of pressure tappings are machined into the flange, so no separate carriers or tappings in the pipe wall are needed.',tags:['seal']}\n  ];\n  function holes(n,R,r){var s='',i,a;for(i=0;i<n;i++){a=i*2*Math.PI\/n+Math.PI\/n;s+='<circle class=\"hole\" cx=\"'+(60+R*Math.cos(a)).toFixed(2)+'\" cy=\"'+(60+R*Math.sin(a)).toFixed(2)+'\" r=\"'+r+'\"\/>'}return s}\n  function c(cls,r){return '<circle class=\"'+cls+'\" cx=\"60\" cy=\"60\" r=\"'+r+'\"\/>'}\n\n  function face(t){\n    var s=c('body',54)+c('pcd',44)+holes(8,44,3.6);\n    switch(t){\n      case 'blind': s+=c('edge',34); break;\n      case 'weldneck': s+=c('hid',29)+c('hole',18); break;\n      case 'slipon': s+=c('weld',29.5)+c('hole',26); break;\n      case 'socket': s+=c('edge',24)+c('hole',17); break;\n      case 'threaded': s+=c('hole',21)+c('thread',23.5); break;\n      case 'lapjoint': s+=c('edge',32)+c('hole',26); break;\n      case 'orifice': s+=c('hole',20)+'<path class=\"edge\" d=\"M10 60H40M80 60H110\"\/>'+'<circle class=\"weldfill\" cx=\"10\" cy=\"60\" r=\"2.4\"\/><circle class=\"weldfill\" cx=\"110\" cy=\"60\" r=\"2.4\"\/>'; break;\n      default: s+=c('edge',27)+c('hole',22);\n    }\n    return s;\n  }\n\n  \/* half section, drawn above the axis; coordinates relative to axis at y=0 *\/\n  function half(t){\n    var P=function(pts,cls){return '<polygon class=\"'+(cls||'body')+'\" points=\"'+pts+'\"\/>'};\n    switch(t){\n      case 'blind': return '';\n      case 'weldneck': return P('150,-54 166,-54 166,-34 194,-23 194,-18 150,-18');\n      case 'slipon': return P('150,-54 166,-54 166,-24 150,-24')+P('122,-24 166,-24 166,-19 122,-19','pipe')+'<polygon class=\"weldfill\" points=\"166,-24 172,-24 166,-30\"\/><polygon class=\"weldfill\" points=\"150,-24 144,-24 150,-18\"\/>';\n      case 'socket': return P('150,-54 166,-54 166,-17 158,-17 158,-24 150,-24')+P('124,-24 158,-24 158,-17 124,-17','pipe');\n      case 'threaded': return P('150,-54 166,-54 166,-21 150,-21')+'<polyline class=\"thread\" fill=\"none\" points=\"150,-21 153,-24 156,-21 159,-24 162,-21 165,-24\"\/>'+P('122,-21 166,-21 166,-16 122,-16','pipe');\n      case 'lapjoint': return P('150,-54 166,-54 166,-26 150,-26')+P('104,-26 176,-26 176,-21 104,-21','pipe')+P('166,-36 176,-36 176,-21 166,-21','pipe');\n      case 'orifice': return P('150,-54 166,-54 166,-20 150,-20')+'<rect class=\"hole\" x=\"156.5\" y=\"-54\" width=\"3\" height=\"34\"\/>';\n      default: return P('150,-54 166,-54 166,-22 160,-22 150,-28');\n    }\n  }\n  function section(t){\n    var mid='<path class=\"center\" d=\"M118 60H236\"\/>';\n    if(t==='blind') return mid+'<rect class=\"body\" x=\"150\" y=\"6\" width=\"16\" height=\"108\"\/>';\n    var h=half(t);\n    return mid+'<g transform=\"translate(0,60)\">'+h+'<\/g><g transform=\"translate(0,60) scale(1,-1)\">'+h+'<\/g>';\n  }\n  function art(t){return '<svg viewBox=\"0 0 240 120\" role=\"img\" aria-label=\"Face view and half section\">'+face(t)+section(t)+'<\/svg>'}\n\n    \/* photo boxes: add, replace, remove. Photos are kept in this browser only. *\/\n    \/* CHANGED: permanent product photos *\/\n    var PHOTOS={\n      'photo-blind':    'https:\/\/a182flange.com\/wp-content\/uploads\/2026\/10\/ss-blind-flange-500x500-1.webp',\n      'photo-weldneck': 'https:\/\/a182flange.com\/wp-content\/uploads\/2026\/10\/ss-weld-neck-flanges-2-1000x1000-1.webp',\n      'photo-slipon':   'https:\/\/a182flange.com\/wp-content\/uploads\/2026\/10\/slip-on-flanges-1000x1000-1.webp',\n      'photo-socket':   'https:\/\/a182flange.com\/wp-content\/uploads\/2026\/10\/images-3.jpeg',\n      'photo-threaded': 'https:\/\/a182flange.com\/wp-content\/uploads\/2026\/10\/threaded-flanges-500x500-1000x1000-1.webp',\n      'photo-lapjoint': 'https:\/\/a182flange.com\/wp-content\/uploads\/2026\/10\/images-4.jpeg',\n      'photo-orifice':  'https:\/\/a182flange.com\/wp-content\/uploads\/2026\/10\/images-5.jpeg'\n    };\n    var KEY='forgeline-photos',store={},ROOT=document.getElementById('types');\n    try{store=JSON.parse(localStorage.getItem(KEY)||'{}')||{}}catch(e){store={}}\n    function saveKey(k){try{var all=JSON.parse(localStorage.getItem(KEY)||'{}')||{};if(store[k])all[k]=store[k];else delete all[k];localStorage.setItem(KEY,JSON.stringify(all));return true}catch(e){return false}}\n    function emptyFb(name){return '<span class=\"empty\"><svg class=\"cam\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 8h3l2-3h6l2 3h3v11H4z\"\/><circle cx=\"12\" cy=\"13\" r=\"3.5\"\/><\/svg><b>Photo of '+name.toLowerCase()+'<\/b><small>Real product photo goes here<\/small><\/span>'}\n    function slot(key,label,cls,fb){return '<div class=\"slot'+(cls?' '+cls:'')+'\" data-key=\"'+key+'\" data-label=\"'+label+'\"><div class=\"fb\">'+fb+'<\/div><img alt=\"\" hidden><button type=\"button\" class=\"pick\" id=\"pick-'+key+'\"><span class=\"sr\">Add photo of '+label+'<\/span><span class=\"addpill\" aria-hidden=\"true\">Add photo<\/span><\/button><button type=\"button\" class=\"rm\" id=\"rm-'+key+'\" hidden>Remove<\/button><\/div>'}\n    function paint(el){\n      var k=el.getAttribute('data-key'),s=store[k]||PHOTOS[k]||'',img=el.querySelector('img'),fb=el.querySelector('.fb'),rm=el.querySelector('.rm'),pill=el.querySelector('.addpill');\n      if(s){img.src=s;img.alt='Photo of '+el.getAttribute('data-label');img.hidden=false;fb.hidden=true;pill.textContent='Replace photo'}\n      else{img.removeAttribute('src');img.hidden=true;fb.hidden=false;pill.textContent='Add photo'}\n      rm.hidden=!store[k];\n    }\n    function paintAll(){[].forEach.call(ROOT.querySelectorAll('.slot'),paint)}\n    var pinput=document.getElementById('photoInput-types'),pnote=document.getElementById('photoNote-types'),cur=null,ptimer=null;\n    function say(t){pnote.textContent=t;clearTimeout(ptimer);ptimer=setTimeout(function(){pnote.textContent=''},6000)}\n    ROOT.addEventListener('click',function(e){\n      var p=e.target.closest('.pick');\n      if(p){cur=p.closest('.slot');pinput.value='';pinput.click();return}\n      var r=e.target.closest('.rm');\n      if(r){var el=r.closest('.slot'),k=el.getAttribute('data-key');delete store[k];saveKey(k);paint(el)}\n    });\n    pinput.addEventListener('change',function(){\n      var f=pinput.files&&pinput.files[0];if(!f||!cur)return;\n      var el=cur,rd=new FileReader();\n      rd.onload=function(){\n        var im=new Image();\n        im.onload=function(){\n          var r=Math.min(1,1400\/Math.max(im.width,im.height)),cv=document.createElement('canvas'),cx,k=el.getAttribute('data-key');\n          cv.width=Math.round(im.width*r);cv.height=Math.round(im.height*r);\n          cx=cv.getContext('2d');cx.fillStyle='#fff';cx.fillRect(0,0,cv.width,cv.height);cx.drawImage(im,0,0,cv.width,cv.height);\n          store[k]=cv.toDataURL('image\/jpeg',0.85);\n          var ok=saveKey(k);paint(el);\n          say(ok?'Photo added. It is saved in this browser only.':'Photo added for this visit only. It is too large to keep in this browser.');\n        };\n        im.onerror=function(){say('That file could not be read as an image.')};\n        im.src=rd.result;\n      };\n      rd.readAsDataURL(f);\n    });\n\n  var KW={blind:'closes off the ends',weldneck:'high pressure',slipon:'welded on both sides',socket:'smaller sizes of high-pressure pipe',threaded:'without welding',lapjoint:'stub end',orifice:'pressure tappings'};\n  var TIPS={blind:'Fit it where the line will need to be opened for inspection.',weldneck:'Choose it when the line sees extreme temperature swings or high pressure.',slipon:'Weld it inside and outside. That gives the strength and stops leaks.',socket:'Keep it for smaller sizes of high-pressure pipe.',threaded:'It needs pipe with external threads, so check the pipe end first.',lapjoint:'Pair it with a stub end. The flange then turns freely to line up the bolt holes.',orifice:'Order the pair with the orifice plate or flow nozzle in mind, since the tappings are machined into the flange.'};\n  function emph(t){return t.desc.replace(KW[t.id],'<strong>'+KW[t.id]+'<\/strong>')}\n  var grid=document.getElementById('grid'),html='';\n  TYPES.forEach(function(t){\n    html+='<article class=\"card\" data-tags=\"'+t.tags.join(' ')+'\">'+slot('photo-'+t.id,t.name,'',emptyFb(t.name))+'<div class=\"art\">'+art(t.id)+'<div class=\"fig\">'+t.name+': face view and half section<\/div><\/div><div class=\"body\"><h3>'+t.name+'<\/h3><p>'+emph(t)+'<\/p><p class=\"tip\"><b>Tip<\/b> '+TIPS[t.id]+'<\/p><dl class=\"spec\"><dt>Joint<\/dt><dd>'+t.join+'<\/dd><dt>Duty<\/dt><dd>'+t.duty+'<\/dd><\/dl><\/div><\/article>';\n  });\n  html+='<article class=\"card\" data-tags=\"special\">'+slot('photo-special','special forms','',emptyFb('special forms'))+'<div class=\"art\">'+art('special')+'<div class=\"fig\">Special forms, made to order<\/div><\/div><div class=\"body\"><h3>Also in our range<\/h3><p>Beyond the seven core types we manufacture these special forms to order.<\/p><dl class=\"spec\"><dt>Forms<\/dt><dd>Stub-end fittings, plate flanges, backup flanges, beveled ID flanges, reducing flanges<\/dd><\/dl><\/div><\/article>';\n  grid.innerHTML=html;\n    paintAll();\n\n    \/* filter chips *\/\n  var chips=document.getElementById('chips');\n  chips.addEventListener('click',function(e){\n    var b=e.target.closest('.chip');if(!b)return;\n    var f=b.getAttribute('data-f');\n    [].forEach.call(chips.querySelectorAll('.chip'),function(x){x.setAttribute('aria-pressed',x===b?'true':'false')});\n    [].forEach.call(grid.children,function(cd){\n      var tg=(cd.getAttribute('data-tags')||'').split(' ');\n      cd.hidden=!(f==='all'||tg.indexOf(f)>-1);\n    });\n  });\n  })();\n  <\/script>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-43fd6d3 e-con-full e-flex e-con e-parent\" data-id=\"43fd6d3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bf3574e elementor-widget elementor-widget-html\" data-id=\"bf3574e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Comparison table. Self-contained: its own HTML, CSS and JavaScript. -->\n<section class=\"sec\" id=\"compare\">\n  <link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap\">\n  <style>\n\/* tokens and base *\/\n:root{\n  \/* REALBOLT palette: logo orange and charcoal on white *\/\n  --bg:#FFFFFF; --surface:#F7F5F2; --ink:#262626; --muted:#6B655E; --line:#E4DFD9;\n  --accent:#F47B20; --accent-ink:#B8520A; --straw:#C25A0A;\n  --steel:#DCD8D3; --hole:#FFFFFF; --pipe:#BEB9B2;\n  --font-display:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;\n}\n*{box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;margin:0}\nh1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.02em}\np{margin:0}\na{color:inherit}\n.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}\n.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}\n:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}\n.sec{padding-block:76px 12px}\n.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:end;margin-bottom:30px}\n.head h2{font-weight:800;font-size:clamp(28px,4.2vw,44px);margin-top:12px}\n.head p{color:var(--muted);max-width:56ch}\n@media (max-width:860px){ .sec{padding-top:56px} .head{grid-template-columns:minmax(0,1fr)} }\n.tablewrap{overflow-x:auto;border:1px solid var(--line);background:var(--surface)}\ntable{border-collapse:collapse;width:100%;min-width:760px;font-size:14.5px}\nth,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}\nth{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--bg)}\ntd:first-child{font-family:var(--font-display);font-weight:700;font-size:16px;letter-spacing:-.01em;white-space:nowrap}\ntr:last-child td{border-bottom:0}\n.pill{display:inline-block;font-family:var(--font-mono);font-size:11.5px;padding:3px 9px;border:1px solid var(--line);border-radius:999px;white-space:nowrap}\n.pill.hi{border-color:var(--accent);color:var(--accent-ink)}\n.pill.lo{border-color:var(--straw);color:var(--straw)}\n.tip b{font-style:normal;font-weight:600;color:var(--ink);margin-right:4px}\np.tip.wide{margin-top:18px;font-size:14.5px;font-style:italic;color:var(--muted);border-left:2px solid var(--straw);padding-left:14px;max-width:80ch}\n\/* Responsive: on phones each table row becomes a stacked card *\/\n@media (max-width:640px){\n  .tablewrap{overflow:visible;border:0;background:transparent}\n  table{min-width:0;display:block}\n  thead{display:none}\n  tbody{display:grid;gap:12px}\n  tr{display:block;background:var(--surface);border:1px solid var(--line);padding:6px 14px}\n  td,tr:last-child td{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px dashed var(--line)}\n  td:last-child,tr:last-child td:last-child{border-bottom:0}\n  td::before{content:attr(data-label);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:3px}\n  td:first-child{display:block;font-size:20px;white-space:normal;border-bottom:1px solid var(--line)}\n  td:first-child::before{content:none}\n  .pill{white-space:normal}\n  p.tip.wide{font-size:14px}\n}\n  <\/style>\n    <div class=\"wrap\">\n      <div class=\"head\">\n        <div>\n          <div class=\"eyebrow\">Side by side<\/div>\n          <h2>How the seven compare<\/h2>\n        <\/div>\n        <p>A quick way to choose between them. Each row follows how the flange is joined and the duty it suits.<\/p>\n      <\/div>\n      <div class=\"tablewrap\">\n        <table>\n          <thead><tr><th>Flange<\/th><th>Joined by<\/th><th>Duty<\/th><th>Choose it when<\/th><\/tr><\/thead>\n          <tbody id=\"rows\"><\/tbody>\n        <\/table>\n      <\/div>\n      <p class=\"tip wide\"><b>Tip<\/b> Unsure between a weld neck flange and a slip-on flange? The weld neck suits high pressure and big temperature swings. The slip-on costs less and needs less accuracy when you cut the pipe to length.<\/p>\n    <\/div>\n  \n  <script>\n  (function(){\n  var TYPES=[\n    {id:'blind',name:'Blind flange',join:'Bolted over a pipe end, no centre hole',duty:'Closes the line',hi:0,use:'You need to close a pipe end or vessel opening and still open it easily for inspection.',\n     desc:'A round plate with all the bolt holes but no centre hole. It closes off the ends of piping systems and pressure vessel openings, and gives easy access for inspection.',tags:['seal']},\n    {id:'weldneck',name:'Weld neck flange',join:'Butt welded to the pipe',duty:'High pressure',hi:1,use:'Pressure or temperature swings are extreme, and you want low stress concentration and a bore that matches the pipe.',\n     desc:'A long tapered hub carries stress into the pipe and reinforces the joint. The bore matches the pipe, which cuts turbulence and erosion. Suited to extreme temperature changes and high pressure.',tags:['high']},\n    {id:'slipon',name:'Slip-on flange',join:'Slipped over the pipe, welded inside and outside',duty:'Lower pressure',hi:2,use:'You want lower cost and less accuracy when cutting pipe to length.',\n     desc:'Easy to fit. The flange slips over the pipe and is welded on both sides for strength and a leak-tight joint. Many users prefer it to weld necks because it costs less.',tags:['low']},\n    {id:'socket',name:'Socket weld flange',join:'Pipe inserted into the socket end, then welded',duty:'Small sizes, high pressure',hi:1,use:'You run small, high-pressure pipe and want a smooth bore for better flow.',\n     desc:'The pipe goes into the socket end, leaving a smooth bore and better flow of fluid or gas. Mainly used on smaller sizes of high-pressure pipe.',tags:['high']},\n    {id:'threaded',name:'Threaded flange',join:'Tapered internal threads onto threaded pipe',duty:'Lower pressure',hi:2,use:'You cannot or do not want to weld on site.',\n     desc:'Like a slip-on, but the bore has tapered threads. It fits pipe with external threads, so it attaches without welding. Suited to relatively low-pressure systems.',tags:['low','nowelding']},\n    {id:'lapjoint',name:'Lap joint flange',join:'Slides over the pipe, used with a stub end',duty:'Frequent dismantling',hi:2,use:'The line is taken apart often and the flange must rotate to align the bolt holes.',\n     desc:'Slides over the pipe and is most often paired with a stub end. The pipe is welded to the stub end, and the flange turns freely around it. Common where dismantling is frequent.',tags:['dismantle']},\n    {id:'orifice',name:'Orifice flange',join:'Bolted in line, with an orifice plate between the pair',duty:'Flow measurement',hi:0,use:'An orifice plate or flow nozzle has to be installed in the line.',\n     desc:'Used in place of a standard flange when an orifice plate or flow nozzle is fitted. Pairs of pressure tappings are machined into the flange, so no separate carriers or tappings in the pipe wall are needed.',tags:['seal']}\n  ];\n    var rows='';\n    TYPES.forEach(function(t){\n      var cls=t.hi===1?'hi':(t.hi===2?'lo':'');\n      rows+='<tr><td data-label=\"Flange\">'+t.name+'<\/td><td data-label=\"Joined by\">'+t.join+'<\/td><td data-label=\"Duty\"><span class=\"pill '+cls+'\">'+t.duty+'<\/span><\/td><td data-label=\"Choose it when\">'+t.use+'<\/td><\/tr>';\n    });\n    document.getElementById('rows').innerHTML=rows;\n  })();\n  <\/script>\n<\/section>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7f8ad4a e-con-full e-flex e-con e-parent\" data-id=\"7f8ad4a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-580c685 elementor-widget elementor-widget-html\" data-id=\"580c685\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Bolt terminology article, glossary and photo box. Self-contained: its own HTML, CSS and JavaScript. -->\n<section class=\"sec\" id=\"bolting\">\n  <link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap\">\n  <style>\n\/* tokens and base *\/\n:root{\n  \/* REALBOLT palette: logo orange and charcoal on white *\/\n  --bg:#FFFFFF; --surface:#F7F5F2; --ink:#262626; --muted:#6B655E; --line:#E4DFD9;\n  --accent:#F47B20; --accent-ink:#B8520A; --straw:#C25A0A;\n  --steel:#DCD8D3; --hole:#FFFFFF; --pipe:#BEB9B2;\n  --font-display:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;\n}\n*{box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;margin:0}\nh1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.02em}\np{margin:0}\na{color:inherit}\n.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}\n.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}\n:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}\n.sec{padding-block:76px 12px}\n.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:end;margin-bottom:30px}\n.head h2{font-weight:800;font-size:clamp(28px,4.2vw,44px);margin-top:12px}\n.head p{color:var(--muted);max-width:56ch}\n@media (max-width:860px){ .sec{padding-top:56px} .head{grid-template-columns:minmax(0,1fr)} }\n.tip b{font-style:normal;font-weight:600;color:var(--ink);margin-right:4px}\n.slot{position:relative;overflow:hidden;background:var(--surface)}\n.slot .fb{position:absolute;inset:0}\n.slot .fb svg.bolt{width:100%;height:100%;display:block}\n.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\n.slot.contain img{object-fit:contain;background:var(--bg)}\n.slot .pick{position:absolute;inset:0;z-index:1;width:100%;height:100%;background:transparent;border:0;padding:0;cursor:pointer}\n.slot .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}\n.slot .addpill{position:absolute;right:10px;bottom:10px;background:var(--ink);color:var(--bg);font:500 12px var(--font-body);padding:6px 10px;border-radius:2px}\n.slot .rm{position:absolute;left:10px;bottom:10px;z-index:2;background:var(--bg);color:var(--ink);border:1px solid var(--line);font:500 12px var(--font-body);padding:5px 9px;border-radius:2px;cursor:pointer}\n.empty{position:absolute;inset:10px;border:1.5px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:10px;color:var(--muted);font-size:13px}\n.empty b{color:var(--ink);font-weight:600;font-size:14px}\n.cam{width:30px;height:30px;fill:none;stroke:var(--muted);stroke-width:1.5;stroke-linejoin:round}\n.card .slot{aspect-ratio:4\/3;border-bottom:1px solid var(--line)}\n.slot.fig-slot{aspect-ratio:16\/9;border:1px solid var(--line);background:var(--bg)}\n.bolt .s{fill:var(--steel);stroke:var(--ink);stroke-width:1.5}\n.bolt .th{stroke:var(--ink);stroke-width:1.2}\n.bolt .d{stroke:var(--ink);stroke-width:1;fill:none}\n.bolt .arh{fill:var(--ink)}\n.bolt text{font:14px var(--font-mono);fill:var(--ink);text-anchor:middle}\n.toast{position:fixed;z-index:20;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:10px 14px;font-size:13.5px;max-width:min(420px,calc(100vw - 32px))}\n.toast:empty{display:none}\n.bolting{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}\n.read{display:flex;flex-direction:column;gap:22px;min-width:0}\n.read p{font-size:17px;max-width:70ch}\n.read strong{font-weight:600}\n.read p.tip{font-size:16px;font-style:italic;color:var(--muted);border-left:2px solid var(--straw);padding-left:14px}\n.read figure{margin:0;display:flex;flex-direction:column;gap:12px}\n.read figcaption{text-align:center;font-weight:600;font-size:15px}\n.gloss{background:var(--surface);border:1px solid var(--line);padding:22px}\n.gloss h3{font-size:22px;font-weight:700;margin-bottom:16px}\n.gloss dl{margin:0;display:grid;gap:14px}\n.gloss dt{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink)}\n.gloss dd{margin:2px 0 0;font-size:14px;color:var(--muted)}\n@media (max-width:860px){ .bolting{grid-template-columns:minmax(0,1fr)} }\n\/* Responsive *\/\n@media (max-width:900px){ .gloss{max-width:none} .gloss dl{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 24px} }\n@media (max-width:640px){\n  .read p{font-size:16px}\n  .read p.tip{font-size:15px}\n  #boltFig{overflow-x:auto;-webkit-overflow-scrolling:touch}\n  .slot.fig-slot{min-width:560px}\n  .gloss{padding:18px}\n}\n  <\/style>\n    <div class=\"wrap\">\n      <div class=\"head\">\n        <div>\n          <div class=\"eyebrow\">Fastening the joint<\/div>\n          <h2>Flange bolts and nuts<\/h2>\n        <\/div>\n        <p>Every flange pair is held together by a ring of bolts. Here is how a bolt is built and how to choose the right grip on it.<\/p>\n      <\/div>\n      <div class=\"bolting\">\n        <article class=\"read\">\n          <p>Every flange pair is joined by a ring of <strong>bolts<\/strong> passing through the bolt holes on the bolt circle. A bolt has a <strong>cylindrical body<\/strong> with a <strong>screw thread<\/strong> at one end and a <strong>head<\/strong> at the other. Its counterpart is the <strong>nut<\/strong>, the <strong>female fastener<\/strong> that threads on from the far side. <strong>Steel<\/strong> is the most common material, with the grade and finish chosen to suit the service.<\/p>\n          <figure>\n            <div id=\"boltFig\"><\/div>\n            <figcaption>Bolt terminology<\/figcaption>\n          <\/figure>\n          <p>Most flange bolting uses <strong>hex bolts<\/strong>, which have a <strong>six-sided head<\/strong>. A six-point spanner or socket grips every face, so there is less risk of <strong>rounding the bolt<\/strong> when you apply torque.<\/p>\n          <p>A <strong>12-point<\/strong> head lets a spanner engage from <strong>more angles<\/strong>, which helps in tight spaces. More contact points also let you apply <strong>more torque<\/strong> before the head rounds off.<\/p>\n          <p class=\"tip\"><b>Tip<\/b> Use a spanner with the same point count as the head. A 12-point spanner on a 6-point head touches only the corners, which concentrates the load there and makes rounding more likely.<\/p>\n        <\/article>\n        <aside class=\"gloss\">\n          <h3>Parts of a bolt<\/h3>\n          <dl>\n            <div><dt>Head<\/dt><dd>The enlarged end that the spanner turns.<\/dd><\/div>\n            <div><dt>Shank<\/dt><dd>The plain, unthreaded part of the body.<\/dd><\/div>\n            <div><dt>Thread<\/dt><dd>The helical ridge that engages the nut.<\/dd><\/div>\n            <div><dt>Runout<\/dt><dd>Where the thread fades out into the shank.<\/dd><\/div>\n            <div><dt>Radius<\/dt><dd>The curve where the head meets the shank.<\/dd><\/div>\n            <div><dt>Nut<\/dt><dd>The female fastener that threads onto the bolt.<\/dd><\/div>\n            <div><dt>Thread length<\/dt><dd>The threaded part, measured from the tip.<\/dd><\/div>\n            <div><dt>Grip length<\/dt><dd>The unthreaded part, from the head to where the thread starts.<\/dd><\/div>\n            <div><dt>Nominal length<\/dt><dd>Overall length, from under the head to the tip.<\/dd><\/div>\n          <\/dl>\n        <\/aside>\n      <\/div>\n    <\/div>\n  \n  <input type=\"file\" id=\"photoInput-bolting\" accept=\"image\/*\" hidden>\n  <div class=\"toast\" id=\"photoNote-bolting\" role=\"status\"><\/div>\n  <script>\n  (function(){\n\n    \/* photo boxes: add, replace, remove. Photos are kept in this browser only. *\/\n    var PHOTOS={}; \/* permanent photos: PHOTOS['photo-blind']='images\/blind-flange.jpg' *\/\n    var KEY='forgeline-photos',store={},ROOT=document.getElementById('bolting');\n    try{store=JSON.parse(localStorage.getItem(KEY)||'{}')||{}}catch(e){store={}}\n    function saveKey(k){try{var all=JSON.parse(localStorage.getItem(KEY)||'{}')||{};if(store[k])all[k]=store[k];else delete all[k];localStorage.setItem(KEY,JSON.stringify(all));return true}catch(e){return false}}\n    function emptyFb(name){return '<span class=\"empty\"><svg class=\"cam\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 8h3l2-3h6l2 3h3v11H4z\"\/><circle cx=\"12\" cy=\"13\" r=\"3.5\"\/><\/svg><b>Photo of '+name.toLowerCase()+'<\/b><small>Real product photo goes here<\/small><\/span>'}\n    function slot(key,label,cls,fb){return '<div class=\"slot'+(cls?' '+cls:'')+'\" data-key=\"'+key+'\" data-label=\"'+label+'\"><div class=\"fb\">'+fb+'<\/div><img alt=\"\" hidden><button type=\"button\" class=\"pick\" id=\"pick-'+key+'\"><span class=\"sr\">Add photo of '+label+'<\/span><span class=\"addpill\" aria-hidden=\"true\">Add photo<\/span><\/button><button type=\"button\" class=\"rm\" id=\"rm-'+key+'\" hidden>Remove<\/button><\/div>'}\n    function paint(el){\n      var k=el.getAttribute('data-key'),s=store[k]||PHOTOS[k]||'',img=el.querySelector('img'),fb=el.querySelector('.fb'),rm=el.querySelector('.rm'),pill=el.querySelector('.addpill');\n      if(s){img.src=s;img.alt='Photo of '+el.getAttribute('data-label');img.hidden=false;fb.hidden=true;pill.textContent='Replace photo'}\n      else{img.removeAttribute('src');img.hidden=true;fb.hidden=false;pill.textContent='Add photo'}\n      rm.hidden=!store[k];\n    }\n    function paintAll(){[].forEach.call(ROOT.querySelectorAll('.slot'),paint)}\n    var pinput=document.getElementById('photoInput-bolting'),pnote=document.getElementById('photoNote-bolting'),cur=null,ptimer=null;\n    function say(t){pnote.textContent=t;clearTimeout(ptimer);ptimer=setTimeout(function(){pnote.textContent=''},6000)}\n    ROOT.addEventListener('click',function(e){\n      var p=e.target.closest('.pick');\n      if(p){cur=p.closest('.slot');pinput.value='';pinput.click();return}\n      var r=e.target.closest('.rm');\n      if(r){var el=r.closest('.slot'),k=el.getAttribute('data-key');delete store[k];saveKey(k);paint(el)}\n    });\n    pinput.addEventListener('change',function(){\n      var f=pinput.files&&pinput.files[0];if(!f||!cur)return;\n      var el=cur,rd=new FileReader();\n      rd.onload=function(){\n        var im=new Image();\n        im.onload=function(){\n          var r=Math.min(1,1400\/Math.max(im.width,im.height)),cv=document.createElement('canvas'),cx,k=el.getAttribute('data-key');\n          cv.width=Math.round(im.width*r);cv.height=Math.round(im.height*r);\n          cx=cv.getContext('2d');cx.fillStyle='#fff';cx.fillRect(0,0,cv.width,cv.height);cx.drawImage(im,0,0,cv.width,cv.height);\n          store[k]=cv.toDataURL('image\/jpeg',0.85);\n          var ok=saveKey(k);paint(el);\n          say(ok?'Photo added. It is saved in this browser only.':'Photo added for this visit only. It is too large to keep in this browser.');\n        };\n        im.onerror=function(){say('That file could not be read as an image.')};\n        im.src=rd.result;\n      };\n      rd.readAsDataURL(f);\n    });\n\n  function boltSvg(){\n    var th='',x,i;\n    for(x=66;x<326;x+=13){th+='<line class=\"th\" x1=\"'+x+'\" y1=\"80\" x2=\"'+(x+7)+'\" y2=\"130\"\/>'}\n    var A=' marker-end=\"url(#boltArrow)\"',AB=' marker-start=\"url(#boltArrow)\" marker-end=\"url(#boltArrow)\"';\n    return '<svg class=\"bolt\" viewBox=\"0 0 700 230\" role=\"img\" aria-label=\"Schematic of a bolt and nut with the thread, nut, runout, shank, radius and head labelled, and the thread, grip and nominal lengths dimensioned\">'\n    +'<defs><marker id=\"boltArrow\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto-start-reverse\"><path class=\"arh\" d=\"M0 0L10 5L0 10z\"\/><\/marker><\/defs>'\n    +'<rect class=\"s\" x=\"60\" y=\"80\" width=\"270\" height=\"50\" rx=\"2\"\/>'+th\n    +'<rect class=\"s\" x=\"330\" y=\"80\" width=\"270\" height=\"50\"\/>'\n    +'<rect class=\"s\" x=\"140\" y=\"64\" width=\"72\" height=\"82\" rx=\"3\"\/>'\n    +'<rect class=\"s\" x=\"600\" y=\"62\" width=\"48\" height=\"86\" rx=\"4\"\/>'\n    +'<text x=\"100\" y=\"24\">Thread<\/text><line class=\"d\" x1=\"100\" y1=\"32\" x2=\"100\" y2=\"78\"'+A+'\/>'\n    +'<text x=\"176\" y=\"24\">Nut<\/text><line class=\"d\" x1=\"176\" y1=\"32\" x2=\"176\" y2=\"62\"'+A+'\/>'\n    +'<text x=\"300\" y=\"24\">Runout<\/text><line class=\"d\" x1=\"306\" y1=\"32\" x2=\"330\" y2=\"78\"'+A+'\/>'\n    +'<text x=\"450\" y=\"24\">Shank<\/text><line class=\"d\" x1=\"450\" y1=\"32\" x2=\"450\" y2=\"78\"'+A+'\/>'\n    +'<text x=\"555\" y=\"24\">Radius<\/text><line class=\"d\" x1=\"565\" y1=\"32\" x2=\"598\" y2=\"80\"'+A+'\/>'\n    +'<text x=\"652\" y=\"24\">Head<\/text><line class=\"d\" x1=\"640\" y1=\"32\" x2=\"626\" y2=\"60\"'+A+'\/>'\n    +'<line class=\"d\" x1=\"60\" y1=\"140\" x2=\"60\" y2=\"216\"\/><line class=\"d\" x1=\"330\" y1=\"140\" x2=\"330\" y2=\"182\"\/><line class=\"d\" x1=\"600\" y1=\"150\" x2=\"600\" y2=\"216\"\/>'\n    +'<line class=\"d\" x1=\"62\" y1=\"170\" x2=\"328\" y2=\"170\"'+AB+'\/><text x=\"195\" y=\"163\">Thread length<\/text>'\n    +'<line class=\"d\" x1=\"332\" y1=\"170\" x2=\"598\" y2=\"170\"'+AB+'\/><text x=\"465\" y=\"163\">Grip length<\/text>'\n    +'<line class=\"d\" x1=\"62\" y1=\"205\" x2=\"598\" y2=\"205\"'+AB+'\/><text x=\"330\" y=\"198\">Nominal length<\/text>'\n    +'<\/svg>';\n  }\n    document.getElementById('boltFig').innerHTML=slot('photo-bolt','a bolt','fig-slot contain',boltSvg());\n    paintAll();\n  })();\n  <\/script>\n<\/section>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-40f412d e-con-full e-flex e-con e-parent\" data-id=\"40f412d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-42ed782 elementor-widget elementor-widget-html\" data-id=\"42ed782\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- 18,000 MT per annum capacity band. Self-contained: its own HTML, CSS and JavaScript. -->\n<section class=\"cap-band\" id=\"capacity\">\n  <link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap\">\n  <style>\n\/* tokens and base *\/\n:root{\n  \/* REALBOLT palette: logo orange and charcoal on white *\/\n  --bg:#FFFFFF; --surface:#F7F5F2; --ink:#262626; --muted:#6B655E; --line:#E4DFD9;\n  --accent:#F47B20; --accent-ink:#B8520A; --straw:#C25A0A;\n  --steel:#DCD8D3; --hole:#FFFFFF; --pipe:#BEB9B2;\n  --font-display:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;\n}\n*{box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;margin:0}\nh1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.02em}\np{margin:0}\na{color:inherit}\n.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}\n.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}\n:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}\n.cap-band{background:var(--surface);border-block:1px solid var(--line);margin-top:76px;padding-block:64px}\n.cap-band .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:center}\n.big{font-family:var(--font-display);font-weight:800;font-size:clamp(52px,9vw,104px);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}\n.big small{font-size:.26em;letter-spacing:0;font-weight:700;margin-left:.3em;color:var(--accent)}\n.cap-band p{color:var(--muted);margin-top:16px;max-width:46ch}\n.months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;align-items:end;height:200px}\n.months i{display:block;background:var(--accent);height:100%}\n.months-lab{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;margin-top:8px;font-family:var(--font-mono);font-size:10.5px;color:var(--muted);text-align:center}\n.mnote{font-family:var(--font-mono);font-size:12px;color:var(--muted);margin-top:14px;letter-spacing:.04em}\n@media (max-width:860px){ .cap-band .wrap{grid-template-columns:minmax(0,1fr)} }\n\/* Responsive *\/\n@media (max-width:900px){ .cap-band{padding-block:48px} .cap-band .wrap{gap:32px} }\n@media (max-width:600px){ .cap-band{padding-block:36px;margin-top:56px} .months{height:150px;gap:4px} .months-lab{gap:4px;font-size:9.5px} .mnote{font-size:11px} }\n.cap-band{background:var(--ink);color:#fff;border-color:var(--ink)}\n.cap-band .eyebrow{color:var(--accent)}\n.cap-band p,.cap-band .months-lab,.cap-band .mnote{color:rgba(255,255,255,.72)}\n.cap-band .big small{color:var(--accent)}\n  <\/style>\n    <div class=\"wrap\">\n      <div>\n        <div class=\"eyebrow\">Manufacturing capacity<\/div>\n        <div class=\"big\" style=\"margin-top:14px\">18,000<small>MT \/ year<\/small><\/div>\n        <p>That is about 1,500 MT of stainless steel pipe flanges every month, from one set of facilities.<\/p>\n      <\/div>\n      <div>\n        <div class=\"months\" id=\"months\" role=\"img\" aria-label=\"Twelve equal monthly bars, each about 1,500 metric tons\"><\/div>\n        <div class=\"months-lab\" id=\"mlab\"><\/div>\n        <div class=\"mnote\">Average monthly output: 18,000 MT \/ 12 = 1,500 MT<\/div>\n      <\/div>\n    <\/div>\n  \n  <script>\n  (function(){\n  var m='',l='',mo=['J','F','M','A','M','J','J','A','S','O','N','D'];\n  mo.forEach(function(x){m+='<i><\/i>';l+='<span>'+x+'<\/span>'});\n  document.getElementById('months').innerHTML=m;\n  document.getElementById('mlab').innerHTML=l;\n  })();\n  <\/script>\n<\/section>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f8b7da8 e-con-full e-flex e-con e-parent\" data-id=\"f8b7da8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b7de875 elementor-widget elementor-widget-html\" data-id=\"b7de875\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Enquiry form and contact details. Self-contained: its own HTML, CSS and JavaScript. -->\n<section class=\"sec\" id=\"enquiry\">\n  <link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap\">\n  <style>\n\/* tokens and base *\/\n:root{\n  \/* REALBOLT palette: logo orange and charcoal on white *\/\n  --bg:#FFFFFF; --surface:#F7F5F2; --ink:#262626; --muted:#6B655E; --line:#E4DFD9;\n  --accent:#F47B20; --accent-ink:#B8520A; --straw:#C25A0A;\n  --steel:#DCD8D3; --hole:#FFFFFF; --pipe:#BEB9B2;\n  --font-display:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;\n}\n*{box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;margin:0}\nh1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.02em}\np{margin:0}\na{color:inherit}\n.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}\n.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}\n:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}\n.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--ink);font:600 14px var(--font-body);padding:12px 24px;border:0;border-radius:8px;text-decoration:none;cursor:pointer}\n.btn:hover{filter:brightness(1.08)}\n.sec{padding-block:76px 12px}\n.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:end;margin-bottom:30px}\n.head h2{font-weight:800;font-size:clamp(28px,4.2vw,44px);margin-top:12px}\n.head p{color:var(--muted);max-width:56ch}\n@media (max-width:860px){ .sec{padding-top:56px} .head{grid-template-columns:minmax(0,1fr)} }\n.enq{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:32px;align-items:start}\nform{background:var(--surface);border:1px solid var(--line);padding:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}\nform .full{grid-column:1\/-1}\nlabel{display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}\ninput,select,textarea{font:400 15px var(--font-body);letter-spacing:0;text-transform:none;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:2px;padding:11px 12px;width:100%;min-width:0}\ntextarea{min-height:96px;resize:vertical}\n.formfoot{display:flex;gap:14px;align-items:center;flex-wrap:wrap}\n#status{font-size:13.5px;color:var(--muted)}\n.contact{display:flex;flex-direction:column;gap:18px}\n.contact h3{font-size:22px;font-weight:700}\n.contact dl{margin:0;display:grid;gap:18px}\n.contact dt{font-family:var(--font-mono);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);padding-left:10px;border-left:3px solid var(--accent)}\n.contact dd{margin:4px 0 0 13px;overflow-wrap:anywhere}\n.contact dd a{text-decoration:none;font-weight:500}\n.contact dd a:hover{color:var(--accent-ink);text-decoration:underline}\n.contact address{font-style:normal;line-height:1.7}\n.contact address strong{font-weight:600}\n@media (max-width:860px){ .enq{grid-template-columns:minmax(0,1fr)} form{grid-template-columns:minmax(0,1fr)} }\n\/* Responsive *\/\n@media (max-width:900px){ .enq{gap:24px} }\n@media (max-width:600px){\n  form{padding:18px;gap:14px}\n  input,select,textarea{font-size:16px;padding:13px 12px}\n  .formfoot .btn{width:100%;justify-content:center;padding:14px 18px}\n  .contact h3{font-size:20px}\n}\n@media (pointer:coarse){ .contact dd a{display:inline-block;padding-block:3px} }\n  <\/style>\n    <div class=\"wrap\">\n      <div class=\"head\">\n        <div>\n          <div class=\"eyebrow\">Enquiry<\/div>\n          <h2>Tell us the flange, size and quantity<\/h2>\n        <\/div>\n        <p>Fill in what you know and press Send message. Your email app opens with the enquiry ready to send.<\/p>\n      <\/div>\n      <div class=\"enq\">\n        <form id=\"f\" novalidate>\n          <label for=\"name\">Name<input id=\"name\" autocomplete=\"name\" placeholder=\"Your name\"><\/label>\n          <label for=\"company\">Company<input id=\"company\" autocomplete=\"organization\" placeholder=\"Company name\"><\/label>\n          <label for=\"email\">Email<input id=\"email\" type=\"email\" autocomplete=\"email\" placeholder=\"you@company.com\"><\/label>\n          <label for=\"phone\">Phone<input id=\"phone\" type=\"tel\" autocomplete=\"tel\" placeholder=\"+00 00000 00000\"><\/label>\n          <label for=\"type\">Flange type<select id=\"type\"><\/select><\/label>\n          <label for=\"qty\">Quantity<input id=\"qty\" placeholder=\"e.g. 200 pcs or 5 MT\"><\/label>\n          <label class=\"full\" for=\"size\">Size, rating and material<input id=\"size\" placeholder=\"e.g. 6 in, Class 300, 316L\"><\/label>\n          <label class=\"full\" for=\"msg\">Notes<textarea id=\"msg\" placeholder=\"Drawings, standards, delivery date\"><\/textarea><\/label>\n          <div class=\"full formfoot\">\n            <button class=\"btn\" type=\"submit\">Send message<\/button>\n            <span id=\"status\" role=\"status\"><\/span>\n          <\/div>\n        <\/form>\n        <aside class=\"contact\">\n          <h3>Contact<\/h3>\n          <dl>\n            <div><dt>Enquiry<\/dt><dd><a href=\"mailto:enquiry@real-bolt.com\">enquiry@real-bolt.com<\/a><\/dd><\/div>\n            <div><dt>Accounts<\/dt><dd><a href=\"mailto:accounts@real-bolt.com\">accounts@real-bolt.com<\/a><\/dd><\/div>\n            <div><dt>Quality<\/dt><dd><a href=\"mailto:quality@real-bolt.com\">quality@real-bolt.com<\/a><\/dd><\/div>\n            <div><dt>Phone<\/dt><dd><a href=\"tel:+912267437972\">+91 22 6743 7972<\/a><br><a href=\"tel:+912245938340\">+91 22 4593 8340<\/a><\/dd><\/div>\n            <div><dt>Head Office<\/dt><dd>\n              <address>\n                1st Floor, 74, C.P Tank Road,<br>\n                Mumbai, Maharashtra 400004\n              <\/address>\n            <\/dd><\/div>\n            <div><dt>Warehouse<\/dt><dd>\n              <address>\n                Unique Industrial Estate,<br>\n                Plot No. 1, Golani Naka, Waliv,<br>\n                Vasai (E) 401208\n              <\/address>\n            <\/dd><\/div>\n          <\/dl>\n        <\/aside>\n      <\/div>\n    <\/div>\n\n  <script>\n  (function(){\n  var TO='enquiry@real-bolt.com';\n  var TYPES=[\n    {id:'blind',name:'Blind flange'},\n    {id:'weldneck',name:'Weld neck flange'},\n    {id:'slipon',name:'Slip-on flange'},\n    {id:'socket',name:'Socket weld flange'},\n    {id:'threaded',name:'Threaded flange'},\n    {id:'lapjoint',name:'Lap joint flange'},\n    {id:'orifice',name:'Orifice flange'}\n  ];\n    var sel='';\n    TYPES.forEach(function(t){sel+='<option>'+t.name+'<\/option>'});\n    document.getElementById('type').innerHTML=sel+'<option>Special form (stub-end, plate, backup, beveled ID, reducing)<\/option>';\n\n    \/* build the message and open it in the email app *\/\n    var form=document.getElementById('f'),st=document.getElementById('status');\n    function build(){\n      var v=function(id){return document.getElementById(id).value.trim()||'-'};\n      var subject='Flange enquiry - '+v('type');\n      var body='Name: '+v('name')+'\\nCompany: '+v('company')+'\\nEmail: '+v('email')+'\\nPhone: '+v('phone')+'\\n\\nFlange type: '+v('type')+'\\nSize, rating, material: '+v('size')+'\\nQuantity: '+v('qty')+'\\n\\nNotes: '+v('msg');\n      return {subject:subject,body:body};\n    }\n    form.addEventListener('submit',function(ev){\n      ev.preventDefault();\n      var m=build();\n      st.textContent='Opening your email app...';\n      window.location.href='mailto:'+TO+'?subject='+encodeURIComponent(m.subject)+'&body='+encodeURIComponent(m.body);\n    });\n  })();\n  <\/script>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c2baaf9 e-con-full e-flex e-con e-parent\" data-id=\"c2baaf9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2c4d4eb elementor-widget elementor-widget-html\" data-id=\"2c4d4eb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Footer. Self-contained: its own HTML, CSS and JavaScript. -->\n<section class=\"site-footer\" id=\"footer\">\n  <link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap\">\n  <style>\n\/* tokens and base *\/\n:root{\n  \/* REALBOLT palette: logo orange and charcoal on white *\/\n  --bg:#FFFFFF; --surface:#F7F5F2; --ink:#262626; --muted:#6B655E; --line:#E4DFD9;\n  --accent:#F47B20; --accent-ink:#B8520A; --straw:#C25A0A;\n  --steel:#DCD8D3; --hole:#FFFFFF; --pipe:#BEB9B2;\n  --font-display:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;\n  --font-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;\n}\n*{box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;margin:0}\nh1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.02em}\np{margin:0}\na{color:inherit}\n.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}\n.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}\n:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}\n.site-footer{margin-top:76px;border-top:1px solid var(--line);padding-block:28px;font-size:13.5px;color:var(--muted)}\n.site-footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}\n@media (max-width:600px){ .site-footer{margin-top:56px} .site-footer .wrap{flex-direction:column;gap:6px} }\n.site-footer{background:var(--ink);color:rgba(255,255,255,.72);border-top:4px solid var(--accent)}\n  <\/style>\n  <div class=\"wrap\">\n    <span>&copy; 2026 REALBOLT Engineering Industries<\/span>\n    <span>Stainless steel pipe flanges. Manufacturing capacity 18,000 MT per annum.<\/span>\n  <\/div>\n\n<\/section>\n\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>Flange types Compare Bolting Capacity Enquiry Request a quote Request a quote Stainless steel pipe flanges Flanges for every joint, made at 18,000 MT a year. Blind flange, weld neck flange, slip-on flange, socket weld flange, threaded flange, lap joint flange and orifice flange, produced in our own manufacturing facilities for piping systems and pressure [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-6","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/a182flange.com\/index.php?rest_route=\/wp\/v2\/pages\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/a182flange.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/a182flange.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/a182flange.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/a182flange.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6"}],"version-history":[{"count":49,"href":"https:\/\/a182flange.com\/index.php?rest_route=\/wp\/v2\/pages\/6\/revisions"}],"predecessor-version":[{"id":73,"href":"https:\/\/a182flange.com\/index.php?rest_route=\/wp\/v2\/pages\/6\/revisions\/73"}],"wp:attachment":[{"href":"https:\/\/a182flange.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}