style should adapt to user device type