better behaviour
refacto with visibility
fix portal
clean css