Inspired by a JSfiddle by Loktar (https://jsfiddle.net/loktar/XDpd3/). Enhanced and prepared to work in 1024b by me.