body {
    font-family: Tahoma;
}

header {
    text-align: center;
}

ul.topnav {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #373B44;
}

ul.topnav li {float: left;}

/* Style the links inside the list items */
ul.topnav li a {
    display: inline-block;
    color: #f2f2f2;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    transition: 0.3s;
    font-size: 16px;
}

/* Change background color of links on hover */
ul.topnav li a:hover {background-color: #555;}

/* Hide the list item that contains the link that should open and close the topnav on small screens */
ul.topnav li.icon {display: none;}


#calendar {
    width: 100%;    
}

#calendar a {
    color: #8e352e;
    text-decoration: none;
}

#calendar ul {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}

#calendar li {
    display: block;
    float: left;
    width:14.28%;
    padding: 5px;
    box-sizing:border-box;
    border: 1px solid #ccc;
    margin-right: -1px;
    margin-bottom: -1px;
}

#calendar ul.weekdays {
    height: 20px;
    background: #FFF;
}

#calendar ul.weekdays li {
    text-align: right;
    line-height: 5px;
    border: none !important;
    padding: 10px 6px;
    color: #000;
    font-size: 16px;
}

#calendar .days li {
    height: 350px;
}

#calendar .days li:hover {
    background: #d3d3d3;
}


#calendar .date-past {
    text-align: right;
    color: #afafaf;
}

#calendar .date-today {
    text-align: center;
    margin-bottom: 5px;
    padding: 4px;
    background: #CC0000;
    color: #fff;
    width: 20px;
    border-radius: 50%;
    float: right;
}

#calendar .date-future {
    text-align: right;
    color: #000;
}

#calendar .meal-breakfast {
    clear: both;
    display: block;
    font-size: 14px;
    border-radius: 4px;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: 14px;
    background: #888;
    border: 1px solid #888;
    color: #FFF;
    text-decoration: none;
}

#calendar .z9ni {
    clear: both;
    display: block;
    font-size: 14px;
    border-radius: 4px;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: 14px;
    background: #999;
    border: 1px solid #999;
    color: #FFF;
    text-decoration: none;
}

#calendar .meal-lunch {
    clear: both;
    display: block;
    font-size: 14px;
    border-radius: 4px;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: 14px;
    background: #AAA;
    border: 1px solid #AAA;
    color: #FFF;
    text-decoration: none;
}

#calendar .z4i {
    clear: both;
    display: block;
    font-size: 14px;
    border-radius: 4px;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: 14px;
    background: #999;
    border: 1px solid #999;
    color: #FFF;
    text-decoration: none;
}

#calendar .meal-dinner {
    clear: both;
    display: block;
    font-size: 14px;
    border-radius: 4px;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: 14px;
    background: #AAA;
    border: 1px solid #AAA;
    color: #fff;
    text-decoration: none;
}


#calendar .meal-breakfast-today {
    clear: both;
    display: block;
    font-size: 14px;
    border-radius: 4px;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: 14px;
    background: #EDB92E;
    border: 1px solid #EDB92E;
    color: #111;
    text-decoration: none;
}

#calendar .z9ni-today {
    clear: both;
    display: block;
    font-size: 14px;
    border-radius: 4px;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: 14px;
    background: #A3A948;
    border: 1px solid #A3A948;
    color: #111;
    text-decoration: none;
}

#calendar .meal-lunch-today {
    clear: both;
    display: block;
    font-size: 14px;
    border-radius: 4px;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: 14px;
    background: #F85931;
    border: 1px solid #F85931;
    color: #111;
    text-decoration: none;
}

#calendar .z4i-today {
    clear: both;
    display: block;
    font-size: 14px;
    border-radius: 4px;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: 14px;
    background: #A3A948;
    border: 1px solid #A3A948;
    color: #111;
    text-decoration: none;
}


#calendar .meal-dinner-today {
    clear: both;
    display: block;
    font-size: 14px;
    border-radius: 4px;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: 14px;
    background: #CE1836;
    border: 1px solid #CE1836;
    color: #111;
    text-decoration: none;
}

#calendar .past {
    background: #f5f5f5;
    color: #666;
}

/* ============================
                Mobile Responsiveness
   ============================*/


@media screen and (max-width:568px) {
  ul.topnav li:not(:first-child) {display: none;}
  ul.topnav li.icon {
    float: right;
    display: inline-block;
  }
    
}


@media screen and (max-width:568px) {
  ul.topnav.responsive {position: relative;}
  ul.topnav.responsive li.icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  ul.topnav.responsive li {
    float: none;
    display: inline;
  }
    
  ul.topnav.responsive li a {
    display: block;
    text-align: left;
  }
}

@media screen   
  and (max-device-width: 568px)
  and (orientation: portrait) {
  ul.topnav li:not(:first-child) {display: none;}
  ul.topnav li.icon {
    float: right;
    display: inline-block;
  }

ul.topnav li a {
    font-size: 40px;
    }
}


@media screen 
  and (max-device-width: 568px)
  and (orientation: portrait){
  ul.topnav.responsive {position: relative;}
  ul.topnav.responsive li.icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  ul.topnav.responsive li {
    float: none;
    display: inline;
  }
    
  ul.topnav.responsive li a {
    display: block;
    text-align: left;
  }
}

/* iPhone screen portrait */
@media only screen
  and (max-device-width: 568px)
  and (orientation: portrait)

{

    #calendar .weekdays, #calendar .date-past, #calendar .meal-breakfast, #calendar .z9ni,  #calendar .meal-lunch, #calendar .z4i, #calendar .meal-dinner {
        display: none;
    }
    
    #calendar .meal-breakfast-today, #calendar .z9ni-today, #calendar .meal-lunch-today, #calendar .z4i-today, #calendar .meal-dinner-today {
    font-size: 64px;
    line-height: 64px;
    padding: 20px;
}
    
#calendar .date-today, #calendar .date-future {
    float: left;
    font-size: 32px; 
}

    #calendar li {
        height: auto !important;
        border: 1px solid #ededed;
        width: 100%;
        padding: 10px;
        margin-bottom: -1px;
    }

    #calendar .date {
        float: none;
    }
}

/* Screen Max 568px */
@media screen and (max-width: 568px) {

    #calendar .weekdays, #calendar .date-past, #calendar .z9ni, #calendar .meal-breakfast, #calendar .meal-lunch, #calendar .z4i, #calendar .meal-dinner {
        display: none;
    }
    
    #calendar .meal-breakfast-today, #calendar .z9ni-today, #calendar .meal-lunch-today, #calendar .z4i-today, #calendar .meal-dinner-today {
    font-size: 22px;
    line-height: 22px;
    padding: 15px;
}
    
 #calendar .date-today, #calendar .date-future {
    float: left;
    font-size: 18px; 
}

    #calendar li {
        height: auto !important;
        border: 1px solid #ededed;
        width: 100%;
        padding: 10px;
        margin-bottom: -1px;
    }

    #calendar .date {
        float: none;
    }
}

View Compiled
