The issue was that I had overlapping CSS.
I had accidentally copy and pasted the same media query above the one I was working on but it hadn't been closed.
For example:
@media all and (max-width:640px) and (min-width:590px)
{
/*Some code here*/
I removed this code and it worked perfectly!