Custom Millis() delay

What will make the pin go low? External pulldown resistor?
Assuming you have one, the tiime test will never be true:

Timer = millis();
if (( Timer - millis()) >= 15000)

Timer- millis() will never be more than 1 most likely as the two instructions are mere microseconds apart.
Need to revise your logic.

Also, this can go before setup:
int button = digitalRead(7);
no need to declare it every pass thru loop; it can also just be a byte vs an int.