There can only be a transition for a CSS property from one value to another. For a fade transition, the opacity should go from 0 to one.
transition: all 400ms;
The property display that assign the method toggle () can't be animated with the CSS transitions. Maybe you want to look at fadeIn() and fadeOut().
Another method fadeToggle() i don't know much about it but you can search and use this: