

table.heatmap {
  --square: .7rem;
  font-size: 75%;
  border-collapse: separate;
  border-spacing: 2px;
  line-height: var(--square);
}

table.heatmap tr.empty {
  height:6px;
}

table.heatmap th {
  font-weight: normal;
  background-color: transparent;
  border: none;
}
table.heatmap tbody td {
  --bgcodeopacity: 0;
  --bgsupportopacity: 0;
  --orangered: rgba(255, 80, 0, var(--bgsupportopacity) );
  --green: rgba(0, 128, 0, var(--bgcodeopacity) );
  width: var(--square);
  border: 1px solid #ccc;
  border-color: rgb(255, 80, 0) green green rgb(255, 80, 0);
  background: linear-gradient(135deg, var(--orangered), var(--orangered) 50%, var(--green) 50%, var(--green) );
  position: relative;
}

table.heatmap td.ver::before {
  content: "*";
  position: absolute;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 4rem;
  text-align: center;
  letter-spacing: -2px;
/*   border: 1px dotted red; */
  font-size: 1.2rem;
  z-index: 2;
  height: 0;
  pointer-events: none;
}

table.heatmap td.ver-2::before {
  content: "* *";
}

table.heatmap td.ver-3::before {
  content: "***";
}

table.heatmap td.life {
  border-color: #ccc;
}

table.heatmap b.demover {
  font-size: 1.4em;
/*   line-height: 0; */
/*   height: 0; */
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translateX(-50%);
}


.monthnames span {
  display: inline-block;
  text-align: left;
}
.monthnames span.month-31 {
  width: calc(100% * 31 / 365 );
}
.monthnames span.month-30 {
  width: calc(100% * 30 / 365 );
}
.monthnames span.month-28 {
  width: calc(100% * 28 / 365 );
}



table.heatmap tbody td.support-1 { --bgsupportopacity: .25; }
table.heatmap tbody td.support-2 { --bgsupportopacity: .5; }
table.heatmap tbody td.support-3 { --bgsupportopacity: .75; }
table.heatmap tbody td.support-4 { --bgsupportopacity: 1; }

table.heatmap tbody td.code-1 { --bgcodeopacity: .25; }
table.heatmap tbody td.code-2 { --bgcodeopacity: .5; }
table.heatmap tbody td.code-3 { --bgcodeopacity: .75; }
table.heatmap tbody td.code-4 { --bgcodeopacity: 1; }


