changed off canvas service to a provider

now is configurable from the config phase