     //wait for the specified period of time (in milliseconds)
     delay(delayVal);
   }  //for i
+}
+
+//Set a single color one column at a time across the array.
+//Used to 'fade' into a new color
+void swapColor(uint32_t c, int delayVal) {
+  for (uint16_t i = 0; i < pixels.numPixels(); i++) {
+    pixels.setPixelColor(i, c);
+    //Display the new row color
+    pixels.show();
+    //wait for the specified period of time (in milliseconds)
+    delay(delayVal);
+  }
 }
 
 int getTime24() {

    } else {
      //otherwise, pick a random color and set each pixel individually to that color
      //with a random time delay between setting each pixel
      stepLights(colors[(int)random(1, numColors + 1)], (int)random(50, 500));
    }
  } else {
    //Use wasOn to make sure we only turn the lights off once (after they've

//time during the summer if you live in an area that observes daylight time.
const int timeZone = EDT;

//Wi-Fi settings are in an external file: wifi-config.h
//Set your Wi-Fi SSID and password there.

//Populate the following variable with the number of rows in the slots array
//I'm doing this way because Arduino doesn't have an easy way to determine
//the size of an array at runtime, especially multidimensional arrays.
#define NUMSLOTS 8
//Use the Slots array to define when the relay(s) go on and off
//Slots array values: {onTime, offTime };
// Examples:
