20.Bf7?? is a gross blunder. Black equalizes the position with 20. ... Nxd4 21. Bf4+ Kc6 22.Rc1+ Kb5 23. Bxc7 Rc8. Albeit black is still in a messy situation, you no longer have the mating threat you once did.
You played a great game though, black however did not.
I would be grateful for some comments/analysis.