At least 21 homes flooded after culvert fails in Canyon County