color transition
fix isValid