* {
    margin: 0; padding: 0; border: 0; box-sizing: border-box;
}

body {
    background-color: white;
    color: #333;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
}

h1 {
    text-align: center;
    font-weight: 900;
    font-size: 2.5em;
    padding: 20px 8px;
    color: black;
}

table.training_plan {
    margin: 40px auto;
    font-size: 1.2em;
    border-collapse: collapse;
    width: 50%;
    max-width: 600px;
}

.training_plan th, .training_plan td {
    border: none;
    padding: 12px 10px;
    text-align: center;
    vertical-align: middle;
    height: auto;
    color: black;
    background-color: white;
}

/* styling for the ROW headers */
.training_plan th[scope="row"] {
    text-align: left; 
    font-weight: bold;
    padding-left: 0;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
}

/* styling for the COLUMN headers */
.training_plan th[scope="column"] {
    text-transform: uppercase;
    font-weight: 900;
    border-bottom: 2px solid black;
}

/* green highlight for the EDANAME column */
.training_plan tr th:nth-child(2),
 .training_plan tr td:nth-child(2) {
    background-color: lime;
    font-weight: bold;
 }

 /* adds bottom border line */
 .training_plan tr:last-child th, 
 .training_plan tr:last-child td {
    border-top: 2px solid black !important;
    font-size: 1.5em;
    font-weight: 900;
    padding: 15px 10px;
    border-bottom: none;
 }

 /* styling for CALORIES row */
 .training_plan tr:last-child th[scope="row"] {
    font-size: 1.2em;
    font-weight: bold;
 }

 /* add horzonal lines */
 .training_plan tr:not(:last-child) td, 
 .training_plan tr:not(:last-child) th[scope="row"] {
    border-bottom: 2px solid black;
 }

/* add verticle lines */
.training_plan tr th:nth-child(4), 
.training_plan tr td:nth-child(4) {
    border-left: 2px solid black;
}
