Trick or Trot run raises almost $25,000 for homeless