Have you ever tried Oxy Clean? They sell it at grocery stores and drug stores. I swear by that stuff. It has gotten many stains off my carpet that nothing else could. I found the trick is letting the Oxy Clean sit on the stain for awhile before you scrub it off.
Bookmarks