1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2843],{77212:function(e,t,r){Promise.resolve().then(r.bind(r,39802))},48667:function(e,t,r){"use strict";r.d(t,{default:function(){return n.a}});var o=r(88003),n=r.n(o)},40257:function(e,t,r){"use strict";var o,n;e.exports=(null==(o=r.g.process)?void 0:o.env)&&"object"==typeof(null==(n=r.g.process)?void 0:n.env)?r.g.process:r(44227)},63515:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{cancelIdleCallback:function(){return o},requestIdleCallback:function(){return r}});let r="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},o="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},44227:function(e){!function(){var t={229:function(e){var t,r,o,n=e.exports={};function a(){throw Error("setTimeout has not been defined")}function l(){throw Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{r="function"==typeof clearTimeout?clearTimeout:l}catch(e){r=l}}();var i=[],c=!1,u=-1;function d(){c&&o&&(c=!1,o.length?i=o.concat(i):u=-1,i.length&&h())}function h(){if(!c){var e=s(d);c=!0;for(var t=i.length;t;){for(o=i,i=[];++u<t;)o&&o[u].run();u=-1,t=i.length}o=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===l||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function v(){}n.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];i.push(new m(e,t)),1!==i.length||c||s(h)},m.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=v,n.addListener=v,n.once=v,n.off=v,n.removeListener=v,n.removeAllListeners=v,n.emit=v,n.prependListener=v,n.prependOnceListener=v,n.listeners=function(e){return[]},n.binding=function(e){throw Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw Error("process.chdir is not supported")},n.umask=function(){return 0}}},r={};function o(e){var n=r[e];if(void 0!==n)return n.exports;var a=r[e]={exports:{}},l=!0;try{t[e](a,a.exports,o),l=!1}finally{l&&delete r[e]}return a.exports}o.ab="//";var n=o(229);e.exports=n}()},39802:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return i}});var o=r(57437),n=r(2265),a=r(48667),l=r(73253),s=r(63217);function i(){let[e,t]=(0,n.useState)(""),[r,i]=(0,n.useState)("all"),c="csd"===(0,s.N)("craft-spirits"),u=[{href:"/tools/dilution",title:"Alcohol Dilution Calculator",category:"calculators",desc:"Determine the mixing proportions of water and alcohol to hit target ABV.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z"})})},{href:"/tools/sg-plato-converter",title:"\xb0Plato - Gravity Calculator",category:"converters",desc:"Convert between Plato and specific gravity (SG) using the following tools.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})})},{href:"/tools/hydrometer-temperature-correction",title:"Hydrometer Temperature Correction",category:"calculators",desc:"This tool corrects for temperature when measuring specific gravity using a hydrometer.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})}],d=[{href:"/tools/abv-calculator",title:"ABV Calculator",category:"calculators",desc:"Calculate alcohol by volume and attenuation from original and final gravity readings.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"})})},{href:"/tools/calorie-counter",title:"Beer Calorie Calculator",category:"calculators",desc:"Calculate estimated calories in your beer from gravity readings.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})})},{href:"/tools/color-calculator",title:"Beer Color Converter",category:"converters",desc:"Convert between SRM, EBC, and \xb0Lovibond color measurements.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01"})})},{href:"/tools/beer-name-generator",title:"Beer Name Generator",category:"other",desc:"Generate creative and unique names for your homebrew creations.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"})})},{href:"/tools/bottling-volume",title:"Bottling Volume Calculator",category:"calculators",desc:"Calculate bottles needed based on batch size and bottle formats.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"})})},{href:"/tools/dilution",title:"Dilution Calculator",category:"calculators",desc:"Adjust volume and gravity for dilution or calculate boil-off rates.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z"})})},{href:"/tools/fruit-dilution-calculator",title:"Fruit Dilution Calculator",category:"calculators",desc:"Calculate gravity dilution when adding fruit to beer.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"})})},{href:"/tools/hydrometer-temperature-correction",title:"Hydrometer Temperature Correction",category:"calculators",desc:"Adjust hydrometer readings based on sample temperature.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})},{href:"/tools/ibu",title:"IBU Calculator",category:"calculators",desc:"Estimate bitterness using hop weight, alpha acids, boil time, and wort gravity.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"})})},{href:"/tools/keg-carbonation",title:"Keg Force Carbonation",category:"calculators",desc:"Calculate CO2 pressure and time for force carbonating kegs.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})})},{href:"/tools/priming-sugar",title:"Priming Sugar Calculator",category:"calculators",desc:"Calculate priming sugar needed for perfect carbonation levels.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 3v4M3 5h4M6 17v4m-2-2h4m5-16l2.286 6.857L21 12l-5.714 2.143L13 21l-2.286-6.857L5 12l5.714-2.143L13 3z"})})},{href:"/tools/sg-plato-converter",title:"SG â Plato Converter",category:"converters",desc:"Convert between Specific Gravity and Plato/Brix measurements.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})})},{href:"/tools/speise-calculator",title:"Speise Calculator",category:"calculators",desc:"Calculate wort additions for natural carbonation using speise/gyle method.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z"})})}
1,{href:"/tools/strike-water",title:"Strike Water Temperature",category:"calculators",desc:"Calculate mash strike water temperature for target mash temp.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})})},{href:"/tools/water-chemistry",title:"Water Chemistry Calculator",category:"calculators",desc:"Adjust brewing water mineral content for optimal pH and flavor.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"})})},{href:"/tools/whirlpool-calculator",title:"Whirlpool Temperature & Dilution Calculator",category:"calculators",desc:"Calculate water additions to hit target whirlpool temperature while accounting for gravity dilution.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z"})})},{href:"/tools/pitch-rate-calculator",title:"Yeast Pitch Rate Calculator",category:"calculators",desc:"Determine optimal yeast cell count for proper fermentation.",icon:(0,o.jsx)("svg",{className:"h-6 w-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"})})}],h=c?u:d,m=(0,n.useMemo)(()=>[...h].sort((e,t)=>e.title.localeCompare(t.title)),[h]),v=(0,n.useMemo)(()=>m.filter(t=>{let o=t.title.toLowerCase().includes(e.toLowerCase())||t.desc.toLowerCase().includes(e.toLowerCase()),n="all"===r||t.category===r;return o&&n}),[m,e,r]),f=(0,n.useMemo)(()=>({all:h.length,calculators:h.filter(e=>"calculators"===e.category).length,converters:h.filter(e=>"converters"===e.category).length,other:h.filter(e=>"other"===e.category).length}),[h]);return(0,o.jsxs)("div",{className:"min-h-screen bg-white",children:[(0,o.jsx)(a.default,{id:"ld-tools-page",type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify((0,l.JX)({title:c?"Distilling Tools":"Brewing Tools",description:c?"Free distilling calculators: alcohol dilution, gravity conversion, hydrometer temperature correction, and more.":"Free brewing calculators: ABV, IBUs, color, strike water, priming sugar, water chemistry, and more.",url:(0,l.GR)("/tools")}))}}),(0,o.jsx)(a.default,{id:"ld-tools-breadcrumbs",type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:(0,l.GR)("/")},{"@type":"ListItem",position:2,name:"Tools",item:(0,l.GR)("/tools")}]})}}),(0,o.jsx)(a.default,{id:"ld-tools-list",type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"ItemList",name:c?"Distilling Tools":"Brewing Tools",url:(0,l.GR)("/tools"),numberOfItems:h.length,itemListElement:h.map((e,t)=>({"@type":"ListItem",position:t+1,name:e.title,url:(0,l.GR)(e.href)}))})}}),(0,o.jsxs)("div",{className:"mx-auto max-w-7xl px-4 pt-6 pb-2",children:[(0,o.jsx)("h1",{className:"text-3xl md:text-4xl font-extrabold tracking-tight text-slate-900",children:c?"Distilling Tools":"Brewing Tools"}),(0,o.jsx)("p",{className:"mt-2 text-sm md:text-base text-slate-600 max-w-3xl",children:c?"Professional calculators for perfecting your spirits. Calculate dilution ratios, gravity conversions, and temperature corrections.":"Professional calculators for perfecting your brew. Calculate ABV, IBUs, color, and more."})]}),(0,o.jsxs)("div",{className:"mx-auto max-w-7xl px-4 py-6",children:[(0,o.jsx)("div",{className:"bg-slate-50 rounded-lg p-4",children:(0,o.jsxs)("div",{className:"flex flex-col lg:flex-row gap-4",children:[(0,o.jsx)("div",{className:"flex-1",children:(0,o.jsxs)("div",{className:"relative",children:[(0,o.jsx)("svg",{className:"absolute left-3 top-1/2 -translate-y-1/2 h-5 w-5 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),(0,o.jsx)("input",{type:"text",placeholder:"Search tools...",value:e,onCh
1ange:e=>t(e.target.value),className:"w-full pl-10 pr-4 py-2 rounded-lg border border-slate-300 focus:border-amber-500 focus:outline-none focus:ring-2 focus:ring-amber-200"})]})}),(0,o.jsxs)("div",{className:"flex gap-2",children:[(0,o.jsxs)("button",{onClick:()=>i("all"),className:"px-4 py-2 rounded-lg font-medium transition-colors ".concat("all"===r?"bg-amber-600 text-white":"bg-white text-slate-700 border border-slate-300 hover:bg-slate-50"),children:["All (",f.all,")"]}),(0,o.jsxs)("button",{onClick:()=>i("calculators"),className:"px-4 py-2 rounded-lg font-medium transition-colors ".concat("calculators"===r?"bg-amber-600 text-white":"bg-white text-slate-700 border border-slate-300 hover:bg-slate-50"),children:["Calculators (",f.calculators,")"]}),(0,o.jsxs)("button",{onClick:()=>i("converters"),className:"px-4 py-2 rounded-lg font-medium transition-colors ".concat("converters"===r?"bg-amber-600 text-white":"bg-white text-slate-700 border border-slate-300 hover:bg-slate-50"),children:["Converters (",f.converters,")"]}),(0,o.jsxs)("button",{onClick:()=>i("other"),className:"px-4 py-2 rounded-lg font-medium transition-colors ".concat("other"===r?"bg-amber-600 text-white":"bg-white text-slate-700 border border-slate-300 hover:bg-slate-50"),children:["Other (",f.other,")"]})]})]})}),(0,o.jsxs)("div",{className:"mt-4 text-sm text-slate-600",children:["Showing ",v.length," of ",h.length," tools"]})]}),(0,o.jsx)("div",{className:"mx-auto max-w-7xl px-4 pb-8",children:v.length>0?(0,o.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",children:v.map(e=>(0,o.jsxs)("a",{href:e.href,className:"group flex gap-4 p-4 rounded-lg border border-slate-200 bg-white hover:shadow-lg hover:border-amber-300 transition-all duration-200",children:[(0,o.jsx)("div",{className:"flex-shrink-0 w-12 h-12 rounded-lg bg-amber-50 flex items-center justify-center text-amber-600 group-hover:bg-amber-100",children:e.icon}),(0,o.jsxs)("div",{className:"flex-1",children:[(0,o.jsx)("h3",{className:"font-semibold text-slate-900 group-hover:text-amber-600 transition-colors",children:e.title}),(0,o.jsx)("p",{className:"mt-1 text-sm text-slate-600",children:e.desc})]})]},e.href))}):(0,o.jsxs)("div",{className:"text-center py-12",children:[(0,o.jsx)("svg",{className:"mx-auto h-12 w-12 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9.172 16.172a4 4 0 015.656 0M9 10h.01M15 10h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,o.jsx)("h3",{className:"mt-2 text-sm font-medium text-slate-900",children:"No tools found"}),(0,o.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:"Try adjusting your search or filter."})]})})]})}},63217:function(e,t,r){"use strict";r.d(t,{N:function(){return a},Y:function(){return s}});var o=r(40257);let n={cbb:"cbb","cbb-website":"cbb",big:"big","brewing-industry-guide":"big",brewingindustryguide:"big",brewing_industry_guide:"big",csd:"csd",spirits:"csd","craft-spirits":"csd",craft_spirits:"csd",craftspirits:"csd"};function a(e){return n[(e||"").trim().toLowerCase()]||"cbb"}let l=null;function s(){if(l)return l;let e=a(o.env.SITE_ID||"craft-spirits");return l={id:e,DOMAIN:o.env.DOMAIN||"",BRAND_NAME:o.env.BRAND_NAME||o.env.BRAND_Name||e,TAGLINE:o.env.TAGLINE,ACCENT_COLOR:o.env.ACCENT_COLOR||o.env.NEXT_PUBLIC_ACCENT_COLOR,SECONDARY_ACCENT_COLOR:o.env.SECONDARY_ACCENT_COLOR||o.env.NEXT_PUBLIC_SECONDARY_ACCENT_COLOR,NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY:"pk_live_Y2xlcmsuc3Bpcml0c2FuZGRpc3RpbGxpbmcuY29tJA",CLERK_SECRET_KEY:o.env.CLERK_SECRET_KEY,CHARGEBEE_SITE:o.env.CHARGEBEE_SITE,CHARGEBEE_API_KEY:o.env.CHARGEBEE_API_KEY,DATO_ENDPOINT:o.env.DATO_ENDPOINT,DATO_API_TOKEN:o.env.DATO_API_TOKEN,DATO_PREVIEW_ENDPOINT:o.env.DATO_PREVIEW_ENDPOINT,DATO_ARTICLE_SINGULAR:o.env.DATO_ARTICLE_SINGULAR,DATO_ARTICLE_LIST:o.env.DATO_ARTICLE_LIST,GA4_ID:o.env.GA4_ID,UMAMI_KEY:o.env.UMAMI_KEY,DRIP_API_KEY:o.env.DRIP_API_KEY,DRIP_ACCOUNT_ID:o.env.DRIP_ACCOUNT_ID,DRIP_PRIMARY_CAMPAIGN_ID:o.env.DRIP_PRIMARY_CAMPAIGN_ID,DRIP_DOMAIN:o.env.DRIP_DOMAIN,AIRTABLE_REVIEW_DB_ID:o.env.AIRTABLE_REVIEW_DB_ID,AIRTABLE_API_KEY:o.env.AIRTABLE_API_KEY,JWPLAYER_DEFAULT:o.env.JWPLAYER_DEFAULT,JWPLAYER_AUTH_USER:o.env.JWPLAYER_AUTH_USER,JWPLAYER_LIBRARY_ID:o.env.JWPLAYER_LIBRARY_ID,PODCAST_COVER_URL:o.env.PODCAST_COVER_URL,APPLE_PODCAST_URL:o.env.APPLE_PODCAST_URL,SPOTIFY_PODCAST_URL:o.env.SPOTIFY_PODCAST_URL,REDIS_URL:o.env.REDIS_URL,DATABASE_URL:o.env.DATABASE_URL,CRON_SECRET:o.env.CRON_SECRET,ALGOLIA_APP_ID:o.env.ALGOLIA_APP_ID,ALGOLIA_API_KEY:o.env.ALGOLIA_API_KEY,ALGOLIA_INDEX:o.env.ALGOLIA_INDEX,ALGOLIA_DICTIONARY_INDEX:o.env.ALGOLIA_DICTIONARY_INDEX,RECOMBEE_DB:o.env.RECOMBEE_DB,RECOMBEE_TOKEN:o.env.RECOMBEE_TOKEN,RECOMBEE_PUBLIC_TOKEN:o.env.RECOMBEE_PUBLIC_TOKEN,RECOMBEE_SEARCH_SCENARIO:o.env.RECOMBEE_SEARCH_SCENARIO,HEADER_LOGO_URL:o.env.HEADER_LOGO_URL||"https://www.datocms-assets.com/105001/1732661424-logo-wide.png?w=900",OG_IMAGE_URL:o.env.OG_IMAGE_URL||o.env.NEXT_PUBLIC_OG_IMAGE_URL,TWITTER_HANDLE:o.env.TWITTER_HANDLE,FACEBOOK_HANDLE:o.env.FACEBOOK_HANDLE,INSTAGRAM_HANDLE:o.env.INSTAGRAM_HANDLE,PINTEREST_HANDLE:o.env.PINTEREST_HANDLE,SUB_IMAGE_
1URL:o.env.SUB_IMAGE_URL,LATEST_ISSUE_URL:o.env.LATEST_ISSUE_URL,STRIPE_SECRET_KEY:o.env.STRIPE_SECRET_KEY,STRIPE_PUBLISHABLE_KEY:o.env.STRIPE_PUBLISHABLE_KEY,STRIPE_WEBHOOK_SECRET:o.env.STRIPE_WEBHOOK_SECRET,COMPETITION_AIRTABLE_BASE_ID:o.env.COMPETITION_AIRTABLE_BASE_ID}}},73253:function(e,t,r){"use strict";r.d(t,{GR:function(){return l},JX:function(){return s}});var o=r(63217);function n(e){return/^(\d{1,3}\.){3}\d{1,3}$/.test(e)}var a=r(40257);function l(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",{DOMAIN:r}=(0,o.Y)(),l="";return(l=function(e){try{var t;let r=/^https?:\/\//i.test(e)?e:"https://".concat(e),o=new URL(r);return!(t=o.hostname)||"localhost"===t||n(t)||2!==t.split(".").length||t.startsWith("www.")||(o.hostname="www.".concat(o.hostname)),"localhost"===o.hostname||n(o.hostname)||(o.protocol="https:"),o.href.replace(/\/$/,"")}catch(t){return e}}(l=r?"https://".concat(r):(null===(e=window.location)||void 0===e?void 0:e.origin)?window.location.origin:a.env.NEXT_PUBLIC_BASE_URL?String(a.env.NEXT_PUBLIC_BASE_URL):"https://beerandbrewing.com"),t)?t.startsWith("http")?t:"".concat(l).concat(t.startsWith("/")?"":"/").concat(t):l}function s(e){let{title:t,description:r,url:o,image:n,isAccessibleForFree:a=!0,breadcrumbs:s}=e,i={"@context":"https://schema.org","@type":"WebPage",url:o,name:t,description:r,isPartOf:{"@type":"WebSite",url:l("/")},isAccessibleForFree:a};n&&(i.image=n);let c=[i];return s&&s.length&&c.push({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:s.map((e,t)=>({"@type":"ListItem",position:t+1,name:e.name,item:e.item&&e.item.startsWith("http")?e.item:l(e.item||"/")}))}),c}}},function(e){e.O(0,[8003,2971,2117,1744],function(){return e(e.s=77212)}),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.