Richmond half marathon recap