You cannot use delay() in an ISR. Time does not 'tick' inside the ISR.
Instead, have a look at <util/delay.h> and
_delay_ms()
Warning: you must not use variables as the argument for _delay_ms() or the code will blow up like pop-corn. Only compile-time known constants. If you need it variable, use a wrapper that calls _delay_ms(1).