Competition Between Offline and Online Retailers with Heterogeneous Customers