ul.cal {
  list-style: none;
  width: 100%;
  padding: 0;
  display: grid;
  grid-template-columns: 2rem repeat(7, 1fr);
  margin: 0;
  border: 1px solid #c0c0c0;
  border-spacing: 0;
  border-radius: 3px;
}

.cal .calhead {
  background-color: #eee;
  text-align: center;
  font-weight: bold;
  padding: 4px;
}

.cal .week-number {
  background-color: #eee;
  border: none;
  font-size: 1em;
  padding: 4px;
  text-align: center;
}

.cal .week-number .label-week {
  display: none;
}

.cal .calbody {
  border: 1px solid #d7d7d7;
  vertical-align: top;
  font-size: 0.9em;
  border-bottom: 0;
  border-right: 0;
  line-height: 1.2;
  min-height: calc(1.2em * 6);
  padding: 2px;
}

.cal .calbody p.day-num {
  font-size: 1.1em;
  text-align: right;
}
.cal .calbody .abbr-day { display: none; }
.cal .calbody.odd p.day-num { color: #bbb; }
.cal .calbody.today { background: #ffd; }
.cal .calbody.today p.day-num { font-weight: bold; }

.cal .calbody .icon {
  padding-top: 2px;
  padding-bottom: 3px;
}

.cal .calbody.nwday:not(.odd) { background-color: #f1f1f1; }

.cal .starting a.issue,
p.cal.legend .starting {
  background: url('../../../images/bullet_go.png') no-repeat -1px -2px;
  padding-left: 16px;
}

.cal .ending a.issue,
p.cal.legend .ending {
  background: url('../../../images/bullet_end.png') no-repeat -1px -2px;
  padding-left: 16px;
}

.cal .starting.ending a.issue,
p.cal.legend .starting.ending {
  background: url('../../../images/bullet_diamond.png') no-repeat -1px -2px;
  padding-left: 16px;
}

@media screen and (max-width: 899px) {
  /* Calendar */
  ul.cal {
    display: block;
  }
  .cal .calhead { display: none; }

  .cal .calbody {
    min-height: calc(1.2em * 3);
  }

  .cal .calbody .abbr-day {
    display: inline;
  }

  .cal .week-number {
    border: 1px solid #c0c0c0;
    text-align: left;
    font-weight: bold;
    background-color: #def;
  }

  .cal .week-number .label-week {
    display: inline;
  }

  .cal .calbody p.day-num {
    font-size: 1.1em;
    text-align: left;
  }
}
