Preheat oven to 350 degrees. Line regular-sized cupcake or muffin pans with cupcake liners. In medium bowl sift together flour, sugar, baking soda, cocoa powder, and salt. In mixing bowl, beat eggs and oil till combined. In another bowl, whisk together buttermilk, food coloring, vinegar, and vanilla. Gradually add dry ingredients and buttermilk mixture to egg mixture, starting and ending with the dry ingredients. Add batter to cupcake liners ¾ full and bake for about 18 to 22 minutes. Test cupcakes by inserting toothpick into center. If clean, cupcakes are done. Remove from oven and cool completely before frosting. In large mixing bowl beat cream cheese, butter, salt and vanilla until smooth. Add sugar on low speed, beat until incorporated. Increase speed to high and mix until light and fluffy. Spread frosting with a knife or pipe frosting with a pastry bag on top of cupcake.