This laboratory consumable provides sterile, breathable sealing for tissue culture plates, specifically supporting 96-well cell growth.<br><br><div style="margin-left: 20px; text-indent: -20px; padding-left: 20px; line-height: 1.4; margin-bottom: 0.1em;"><strong>Brand:</strong> Axygen</div><div style="margin-left: 20px; text-indent: -20px; padding-left: 20px; line-height: 1.4; margin-bottom: 0.1em;"><strong>Model:</strong> Sealing Film</div><div style="margin-left: 20px; text-indent: -20px; padding-left: 20px; line-height: 1.4; margin-bottom: 0.1em;"><strong>Model Number/MPN:</strong> BF-400-S</div><div style="margin-left: 20px; text-indent: -20px; padding-left: 20px; line-height: 1.4; margin-bottom: 0.1em;"><strong>Units in Lot:</strong> 2</div><div style="margin-left: 20px; text-indent: -20px; padding-left: 20px; line-height: 1.4; margin-bottom: 0.1em;"><strong>Country of Manufacture:</strong> United States</div><div style="margin-left: 20px; text-indent: -20px; padding-left: 20px; line-height: 1.4; margin-bottom: 0.1em;"><strong>Functional Testing: </strong>New-Open Box</div><br>This Axygen Sealing Film BF-400-S lot is new-open-box. The outer packaging of one box exhibits a minor crease on the front left edge, while the second box is in pristine condition. The sealing film sheets are individually sealed in plastic bags, indicating an unused state. Please review all photos for more details!<br><br>Hassle Free 30 day guarantee on our entire inventory!<br><br><strong>International Buyers</strong>: Please contact us directly for a shipping quote. Calculations are not always accurate!<br><br><hr><br><em>All photos are of the item(s) you will receive!</em>