Steps taking too long to complete
Your images are probably too large for using just three convolutions. So the number of parameters is huge during flattening (and the net cannot learn global features of the images, but this is a different problem).

Try to 


use more convolution and pooling operations
see if strided convolutions help
check the number of parameters using the summary method of Keras