body {
  margin: 0;
}

.masthead {
  position: fixed;
  top: 0;
  width: 100%;
  height: auto;
}

.main-content{
  margin: 100px 0;
}

.table.sticky th {
  position: sticky;
  top: 100px;
}

.table.sticky th::after{
  content:'';
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #012169;
}

.table {
  font-family: 'Libre Franklin', 'Helvetica', 'Arial', sans-serif;
  border-collapse: collapse;
  width: 100%;
}

.table th,
.table td {
  padding: 10px;
  border: 1px solid #cccccc;
  text-align: center;
}

.table th {
  background: #ffffff;
  color: #000000;
}

/* alternate background of odd rows */
.table tbody tr:nth-child(2n) {
  background-color: #d1eefc;
}

.table h3 {
  margin:0;
  font-size: 1em;
  align-self: end;
  font-weight: normal;
  color: #012169;
}

.table td p {
  margin:0;
  align-self: flex-start;
  font-size: .8em;
  color: #009CDE;
}

.table td p:nth-of-type(2){
  align-self: flex-end;
}

.table > td .details {
  font-size: .7em;
  color:blue;
}

.heading {
  font-size: 1em;
  font-weight: 600;
}

.heading.holiday {
  background-color: #f1d4df;
}

.heading.meeting {
  background-color: #e3ebd5;
}

.heading.misc {
  background-color: #c3ced8;
}

.em-dow {
  font-weight: 600;
  color: red;
}

.table td.current {
  background-color: #ffee85;
}

table td.past h3,
table td.past p,
table td.past .em-dow {
  color: gray;
}

table tr:nth-child(n) {
  font-weight: bold;
}

.footer-content {
  position:fixed;
  width:100%;
  bottom:0;
}
