{"title":"Dandy Curb Bag","description":"\u003cdiv id=\"ld-cbu\"\u003e\n  \u003cdiv class=\"in\"\u003e\n\n    \u003cdiv class=\"band\"\u003e\n      \u003cdiv class=\"row\"\u003e\n        \u003cdiv\u003e\n          \u003cp class=\"eyb\"\u003eCurb \u0026amp; Gutter Inlets · 8 Sizes\u003c\/p\u003e\n          \u003ch1\u003eDandy Curb Bag\u003c\/h1\u003e\n          \u003cp class=\"tag\"\u003eGrate Goes In. Sediment Stays Out.\u003c\/p\u003e\n          \u003cp class=\"sub\"\u003ePatented inlet filter for curb and gutter inlets. The grate slides inside the bag, and a dam edge partially blocks the curb hood.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aside\"\u003e\n          \u003cul class=\"bl\"\u003e\n            \u003cli\u003e\n\u003csvg class=\"ck\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpolyline points=\"4 12.5 9.5 18 20 6\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003eFits curb and gutter inlets with a grate\u003c\/li\u003e\n            \u003cli\u003e\n\u003csvg class=\"ck\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpolyline points=\"4 12.5 9.5 18 20 6\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003eBuilt-in protective overflow\u003c\/li\u003e\n            \u003cli\u003e\n\u003csvg class=\"ck\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpolyline points=\"4 12.5 9.5 18 20 6\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003eReusable — install, inspect, maintain\u003c\/li\u003e\n          \u003c\/ul\u003e\n          \u003ca class=\"cta\" href=\"#\" data-scroll-grid\u003eShop dandy curb bag\u003c\/a\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cul class=\"stats\"\u003e\n        \u003cli\u003e\n\u003cspan class=\"n\"\u003e8\u003c\/span\u003e\u003cspan class=\"lb\"\u003eStock sizes\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cspan class=\"n\"\u003e24–48\u003cem\u003ein\u003c\/em\u003e\u003c\/span\u003e\u003cspan class=\"lb\"\u003eGrate range\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cspan class=\"n\"\u003e5\u003c\/span\u003e\u003cspan class=\"lb\"\u003eMinimum order units\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"intro\"\u003e\n      \u003cp class=\"kick\"\u003eChoose Your Size\u003c\/p\u003e\n      \u003ch2\u003eDandy Curb Bag Sediment Inlet Filters\u003c\/h2\u003e\n      \u003cdiv class=\"rd\"\u003e\n        \u003cp\u003eThe \u003cstrong\u003eDandy Curb Bag\u003c\/strong\u003e is the patented inlet filter for curb and gutter inlets. The grate is enclosed inside the bag, storm water entering the inlet is slowed, and suspended solids settle out and are captured by the bright orange monofilament geotextile before they reach the storm system.\u003c\/p\u003e\n        \u003cp\u003eWhat distinguishes it from a plain grate bag is the \u003cstrong\u003edam edge\u003c\/strong\u003e. Installed correctly the unit partially blocks the curb hood, so sediment running along the gutter is intercepted rather than bypassing the grate entirely. A built-in protective overflow means the unit keeps filtering in normal conditions while still passing water when flow exceeds what the geotextile can take.\u003c\/p\u003e\n        \u003cp\u003eEight stock sizes cover grates from 24″ through 48″. Every size is the same product, the same material and the same price — choose on the grate you are fitting it to.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n#ld-cbu{\n  --f:#33471F; --o:#5B7B30; --l:#8fc24a; --ink:#141a0c; --t:#1E1B1C; --b:#4a4744;\n  --cr:#F3F0E7; --ln:#e5e2d8;\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  font-weight:400; width:100%; box-sizing:border-box; color:var(--t);\n}\n.collection--description.rte, .productgrid--masthead .rte, .rte:has(\u003e #ld-cbu){max-width:none !important;}\n.collection--masthead .collection--title, .productgrid--masthead .collection--title,\n.template-collection .collection--title{display:none !important;}\n#ld-cbu *,#ld-cbu *::before,#ld-cbu *::after{box-sizing:border-box;}\n#ld-cbu .in{width:1150px;max-width:100%;margin:0 auto;}\n#ld-cbu .band{position:relative;border-radius:6px;overflow:hidden;background:var(--ink);}\n#ld-cbu .band::before{content:\"\";position:absolute;inset:0;z-index:0;opacity:.5;\n  background-image:linear-gradient(rgba(143,194,74,.15) 2px,transparent 2px),linear-gradient(90deg,rgba(143,194,74,.15) 2px,transparent 2px);\n  background-size:44px 44px;}\n#ld-cbu .band::after{content:\"\";position:absolute;inset:0;z-index:1;\n  background:linear-gradient(105deg,var(--ink) 0%,rgba(20,26,12,.74) 48%,rgba(51,71,31,.56) 100%);}\n#ld-cbu .row{position:relative;z-index:2;display:grid;grid-template-columns:1.45fr 1fr;align-items:center;gap:28px;padding:36px 40px 30px;}\n#ld-cbu .eyb{margin:0 0 12px;font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:700;color:var(--l);}\n#ld-cbu h1{margin:0 0 8px;font-family:'League Spartan','Archivo Narrow',sans-serif;font-size:42px;line-height:.93;letter-spacing:-.5px;font-weight:700;text-transform:uppercase;color:#fff;}\n#ld-cbu .tag{margin:0 0 13px;font-family:'League Spartan','Archivo Narrow',sans-serif;font-size:17px;line-height:1;letter-spacing:.5px;text-transform:uppercase;font-weight:700;color:var(--l);}\n#ld-cbu .sub{margin:0;max-width:470px;font-size:14.5px;line-height:1.5;color:#e4e8da;}\n#ld-cbu .aside{display:flex;flex-direction:column;gap:11px;align-items:flex-start;}\n#ld-cbu .bl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}\n#ld-cbu .bl li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;color:#eef0e6;}\n#ld-cbu .ck{width:17px;height:17px;flex:0 0 auto;margin-top:2px;fill:none;stroke:var(--l);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}\n#ld-cbu .cta{margin-top:4px;background:var(--l);color:#1c2b0c;text-decoration:none;padding:11px 24px;border-radius:3px;font-size:13px;letter-spacing:.5px;text-transform:uppercase;font-weight:700;transition:background .15s ease;}\n#ld-cbu .cta:hover{background:#a3d160;}\n#ld-cbu .stats{position:relative;z-index:2;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(10,14,6,.62);border-top:1px solid rgba(143,194,74,.25);}\n#ld-cbu .stats li{padding:15px 22px;border-right:1px solid rgba(255,255,255,.08);}\n#ld-cbu .stats li:last-child{border-right:0;}\n#ld-cbu .n{display:block;font-family:'League Spartan',sans-serif;font-size:25px;font-weight:700;line-height:1;color:var(--l);}\n#ld-cbu .n em{font-style:normal;font-size:13px;margin-left:2px;}\n#ld-cbu .lb{display:block;margin-top:6px;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#aeb6a2;}\n#ld-cbu .intro{padding:38px 4px 8px;}\n#ld-cbu .kick{margin:0 0 10px;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--o);}\n#ld-cbu h2{margin:0 0 18px;font-family:'League Spartan','Archivo Narrow',sans-serif;font-size:30px;line-height:1.08;font-weight:700;color:var(--t);}\n#ld-cbu .rd p{margin:0 0 14px;font-size:15.5px;line-height:1.65;color:var(--b);}\n#ld-cbu .rd p:last-child{margin-bottom:0;}\n@media (max-width:900px){\n  #ld-cbu h1{font-size:36px;} #ld-cbu .row{grid-template-columns:1fr;gap:20px;padding:30px 28px 24px;}\n  #ld-cbu h2{font-size:26px;} #ld-cbu .n{font-size:22px;}\n}\n@media (max-width:560px){\n  #ld-cbu h1{font-size:29px;} #ld-cbu .eyb{font-size:11px;letter-spacing:2px;}\n  #ld-cbu .row{padding:26px 22px 20px;} #ld-cbu .cta{width:100%;text-align:center;}\n  #ld-cbu .stats{grid-template-columns:1fr;}\n  #ld-cbu .stats li{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);}\n  #ld-cbu .stats li:last-child{border-bottom:0;}\n  #ld-cbu .intro{padding:28px 2px 4px;}\n}\n@media (prefers-reduced-motion:reduce){#ld-cbu .cta{transition:none;}}\n.template-collection .productgrid--outer{display:block!important;grid-template-columns:none!important;max-width:1150px!important;margin:0 auto!important;padding:0!important}\n.template-collection .grid--collection-sidebar{display:none!important}\n.template-collection .productgrid--wrapper{width:100%!important;margin:0!important}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function(){\n  var b=document.querySelector('#ld-cbu [data-scroll-grid]');\n  if(!b)return;\n  b.addEventListener('click',function(e){\n    e.preventDefault();\n    var g=document.querySelector('.productgrid--items, .productgrid--wrapper, [data-productgrid-items]');\n    if(g){g.scrollIntoView({behavior:'smooth',block:'start'});}\n  });\n})();\n\u003c\/script\u003e","products":[{"product_id":"dandy-curb-bag-24-x-24-sediment-inlet-filter","title":"Dandy Curb Bag - 24\" x 24\" - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dcb-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dcb-intro\"\u003e\n\u003cstyle\u003e\n#ld-dcb-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dcb-intro *{box-sizing:border-box;}\n\n#ld-dcb-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dcb-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dcb-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dcb-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dcb-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dcb-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dcb-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dcb-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dcb-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dcb-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dcb-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dcb-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dcb-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dcb-intro .ld-lead{font-size:16px;}\n  #ld-dcb-intro .ld-cell dd{font-size:18px;}\n  #ld-dcb-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Gutter Inlet · 24″ × 24″\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb Bag sediment inlet filter\u003c\/strong\u003e for a \u003cstrong\u003e24″ × 24″\u003c\/strong\u003e curb and gutter\n    grate. A square 24-inch grate — the smallest stock size, common on smaller municipal and parking-lot inlets. The bag encloses the grate so storm water is slowed and suspended solids drop out and are\n    captured before they reach the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eGrate Size\u003c\/dt\u003e\n      \u003cdd\u003e24″ × 24″\u003cspan\u003eFits the grate it encloses\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDCB-24-24\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eBright orange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003ePatented curb inlet design\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eBright orange monofilament geotextile\u003c\/li\u003e\n    \u003cli\u003eReusable — install, inspect, maintain\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182381428,"sku":"DCB-24-24","price":162.82,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DCB-24-24-2.jpg?v=1782096483"},{"product_id":"dandy-curb-bag-36-x-18-sediment-inlet-filter","title":"Dandy Curb Bag - 36\" x 18\" - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dcb-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dcb-intro\"\u003e\n\u003cstyle\u003e\n#ld-dcb-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dcb-intro *{box-sizing:border-box;}\n\n#ld-dcb-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dcb-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dcb-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dcb-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dcb-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dcb-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dcb-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dcb-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dcb-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dcb-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dcb-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dcb-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dcb-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dcb-intro .ld-lead{font-size:16px;}\n  #ld-dcb-intro .ld-cell dd{font-size:18px;}\n  #ld-dcb-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Gutter Inlet · 36″ × 18″\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb Bag sediment inlet filter\u003c\/strong\u003e for a \u003cstrong\u003e36″ × 18″\u003c\/strong\u003e curb and gutter\n    grate. A narrow 18-inch depth on a 36-inch grate, for the shallower curb inlets found on many residential streets. The bag encloses the grate so storm water is slowed and suspended solids drop out and are\n    captured before they reach the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eGrate Size\u003c\/dt\u003e\n      \u003cdd\u003e36″ × 18″\u003cspan\u003eFits the grate it encloses\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDCB-36-18\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eBright orange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003ePatented curb inlet design\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eBright orange monofilament geotextile\u003c\/li\u003e\n    \u003cli\u003eReusable — install, inspect, maintain\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182414196,"sku":"DCB-36-18","price":162.82,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DCB-36-18-2.jpg?v=1782096488"},{"product_id":"dandy-curb-bag-36-x-20-sediment-inlet-filter","title":"Dandy Curb Bag - 36\" x 20\" - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dcb-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dcb-intro\"\u003e\n\u003cstyle\u003e\n#ld-dcb-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dcb-intro *{box-sizing:border-box;}\n\n#ld-dcb-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dcb-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dcb-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dcb-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dcb-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dcb-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dcb-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dcb-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dcb-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dcb-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dcb-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dcb-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dcb-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dcb-intro .ld-lead{font-size:16px;}\n  #ld-dcb-intro .ld-cell dd{font-size:18px;}\n  #ld-dcb-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Gutter Inlet · 36″ × 20″\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb Bag sediment inlet filter\u003c\/strong\u003e for a \u003cstrong\u003e36″ × 20″\u003c\/strong\u003e curb and gutter\n    grate. The 36-inch grate at a 20-inch depth — between the 18″ and 24″ options where neither quite fits. The bag encloses the grate so storm water is slowed and suspended solids drop out and are\n    captured before they reach the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eGrate Size\u003c\/dt\u003e\n      \u003cdd\u003e36″ × 20″\u003cspan\u003eFits the grate it encloses\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDCB-36-20\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eBright orange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003ePatented curb inlet design\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eBright orange monofilament geotextile\u003c\/li\u003e\n    \u003cli\u003eReusable — install, inspect, maintain\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182446964,"sku":"DCB-36-20","price":162.82,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DCB-36-20-2.jpg?v=1782096492"},{"product_id":"dandy-curb-bag-36-x-24-sediment-inlet-filter","title":"Dandy Curb Bag - 36\" x 24\" - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dcb-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dcb-intro\"\u003e\n\u003cstyle\u003e\n#ld-dcb-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dcb-intro *{box-sizing:border-box;}\n\n#ld-dcb-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dcb-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dcb-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dcb-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dcb-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dcb-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dcb-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dcb-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dcb-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dcb-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dcb-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dcb-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dcb-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dcb-intro .ld-lead{font-size:16px;}\n  #ld-dcb-intro .ld-cell dd{font-size:18px;}\n  #ld-dcb-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Gutter Inlet · 36″ × 24″\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb Bag sediment inlet filter\u003c\/strong\u003e for a \u003cstrong\u003e36″ × 24″\u003c\/strong\u003e curb and gutter\n    grate. One of the most widely used combinations, and the first size to check against a standard curb inlet grate. The bag encloses the grate so storm water is slowed and suspended solids drop out and are\n    captured before they reach the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eGrate Size\u003c\/dt\u003e\n      \u003cdd\u003e36″ × 24″\u003cspan\u003eFits the grate it encloses\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDCB-36-24\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eBright orange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003ePatented curb inlet design\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eBright orange monofilament geotextile\u003c\/li\u003e\n    \u003cli\u003eReusable — install, inspect, maintain\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182479732,"sku":"DCB-36-24","price":162.82,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DCB-36-24-2.jpg?v=1782096496"},{"product_id":"dandy-curb-bag-40-x-18-sediment-inlet-filter","title":"Dandy Curb Bag - 40\" x 18\" - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dcb-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dcb-intro\"\u003e\n\u003cstyle\u003e\n#ld-dcb-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dcb-intro *{box-sizing:border-box;}\n\n#ld-dcb-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dcb-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dcb-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dcb-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dcb-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dcb-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dcb-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dcb-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dcb-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dcb-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dcb-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dcb-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dcb-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dcb-intro .ld-lead{font-size:16px;}\n  #ld-dcb-intro .ld-cell dd{font-size:18px;}\n  #ld-dcb-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Gutter Inlet · 40″ × 18″\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb Bag sediment inlet filter\u003c\/strong\u003e for a \u003cstrong\u003e40″ × 18″\u003c\/strong\u003e curb and gutter\n    grate. A wider 40-inch grate at shallow depth, for long narrow curb inlets. The bag encloses the grate so storm water is slowed and suspended solids drop out and are\n    captured before they reach the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eGrate Size\u003c\/dt\u003e\n      \u003cdd\u003e40″ × 18″\u003cspan\u003eFits the grate it encloses\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDCB-40-18\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eBright orange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003ePatented curb inlet design\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eBright orange monofilament geotextile\u003c\/li\u003e\n    \u003cli\u003eReusable — install, inspect, maintain\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182512500,"sku":"DCB-40-18","price":162.82,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DCB-40-18-2.jpg?v=1782096499"},{"product_id":"dandy-curb-bag-40-x-24-sediment-inlet-filter","title":"Dandy Curb Bag - 40\" x 24\" - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dcb-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dcb-intro\"\u003e\n\u003cstyle\u003e\n#ld-dcb-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dcb-intro *{box-sizing:border-box;}\n\n#ld-dcb-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dcb-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dcb-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dcb-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dcb-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dcb-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dcb-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dcb-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dcb-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dcb-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dcb-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dcb-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dcb-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dcb-intro .ld-lead{font-size:16px;}\n  #ld-dcb-intro .ld-cell dd{font-size:18px;}\n  #ld-dcb-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Gutter Inlet · 40″ × 24″\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb Bag sediment inlet filter\u003c\/strong\u003e for a \u003cstrong\u003e40″ × 24″\u003c\/strong\u003e curb and gutter\n    grate. The 40-inch grate at full 24-inch depth — a common commercial and highway inlet size. The bag encloses the grate so storm water is slowed and suspended solids drop out and are\n    captured before they reach the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eGrate Size\u003c\/dt\u003e\n      \u003cdd\u003e40″ × 24″\u003cspan\u003eFits the grate it encloses\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDCB-40-24\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eBright orange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003ePatented curb inlet design\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eBright orange monofilament geotextile\u003c\/li\u003e\n    \u003cli\u003eReusable — install, inspect, maintain\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182545268,"sku":"DCB-40-24","price":162.82,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DCB-40-24-2.jpg?v=1782096503"},{"product_id":"dandy-curb-bag-42-x-28-sediment-inlet-filter","title":"Dandy Curb Bag - 42\" x 28\" - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dcb-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dcb-intro\"\u003e\n\u003cstyle\u003e\n#ld-dcb-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dcb-intro *{box-sizing:border-box;}\n\n#ld-dcb-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dcb-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dcb-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dcb-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dcb-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dcb-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dcb-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dcb-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dcb-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dcb-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dcb-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dcb-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dcb-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dcb-intro .ld-lead{font-size:16px;}\n  #ld-dcb-intro .ld-cell dd{font-size:18px;}\n  #ld-dcb-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Gutter Inlet · 42″ × 28″\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb Bag sediment inlet filter\u003c\/strong\u003e for a \u003cstrong\u003e42″ × 28″\u003c\/strong\u003e curb and gutter\n    grate. A larger grate in both directions, for deeper high-capacity inlets. The bag encloses the grate so storm water is slowed and suspended solids drop out and are\n    captured before they reach the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eGrate Size\u003c\/dt\u003e\n      \u003cdd\u003e42″ × 28″\u003cspan\u003eFits the grate it encloses\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDCB-42-28\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eBright orange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003ePatented curb inlet design\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eBright orange monofilament geotextile\u003c\/li\u003e\n    \u003cli\u003eReusable — install, inspect, maintain\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182578036,"sku":"DCB-42-28","price":162.82,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DCB-42-28-2.jpg?v=1782096507"},{"product_id":"dandy-curb-bag-48-x-24-sediment-inlet-filter","title":"Dandy Curb Bag - 48\" x 24\" - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dcb-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dcb-intro\"\u003e\n\u003cstyle\u003e\n#ld-dcb-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dcb-intro *{box-sizing:border-box;}\n\n#ld-dcb-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dcb-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dcb-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dcb-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dcb-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dcb-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dcb-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dcb-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dcb-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dcb-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dcb-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dcb-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dcb-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dcb-intro .ld-lead{font-size:16px;}\n  #ld-dcb-intro .ld-cell dd{font-size:18px;}\n  #ld-dcb-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Gutter Inlet · 48″ × 24″\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb Bag sediment inlet filter\u003c\/strong\u003e for a \u003cstrong\u003e48″ × 24″\u003c\/strong\u003e curb and gutter\n    grate. The largest stock size — a full 48-inch grate, typical of major road and highway drainage inlets. The bag encloses the grate so storm water is slowed and suspended solids drop out and are\n    captured before they reach the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eGrate Size\u003c\/dt\u003e\n      \u003cdd\u003e48″ × 24″\u003cspan\u003eFits the grate it encloses\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDCB-48-24\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eBright orange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003ePatented curb inlet design\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eBright orange monofilament geotextile\u003c\/li\u003e\n    \u003cli\u003eReusable — install, inspect, maintain\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182610804,"sku":"DCB-48-24","price":162.82,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DCB-48-24-2.jpg?v=1782096510"}],"url":"https:\/\/landscapediscount.com\/collections\/dandy-curb-bag.oembed","provider":"Landscape Discount","version":"1.0","type":"link"}