linear-gradient class improvement

made the linear-gradient class cleaner and always have a fallback