@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
  --color0: hsl(193 100% 10%);
  --color1: hsl(193 100% 20%);
  --color2: hsl(193 100% 40%);
  --color3: hsl(193 100% 60%);
  --color4: hsl(193 100% 80%);
  --color5: hsl(193 100% 90%);
  --solid-border: 1px solid black;
  --dashed-border: 1px dashed black;
}

caption {
  margin-left: 7vw;
  text-align: center;
}

table {
  border-collapse: collapse;
  border-spacing: .3px;
}

td {
  border-left: .5px solid black;
  border-right: .5px solid black;
  margin: 0;
  padding: 0;
}
.r1 {
  border-top: .5px solid black;
}
tr, th, td {
  height: 6vh;
  font-size: 4vh;
  width: 11vw;
}

.t1 {
  text-align: center;
}

.t2 {
  text-align: right;
}
.available-0 {
  background-color: var(--color0);
}

.available-1 {
  background-color: var(--color1);
}

.available-2 {
  background-color: var(--color2);
}

.available-3 {
  background-color: var(--color3);
}

.available-4 {
  background-color: var(--color4);
}

.available-5 {
  background-color: var(--color5);
}

.sharp td{
 border-bottom: var(--solid-border);
}

.half td{
  border-bottom: var(--dashed-border);
}
#legend {
  margin-left: -12vw;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-size: 4vh;

}

span {
  margin-right: 5vw;
}

#legend-gradient {
  border: 1px solid black;
  height: 6vh;
  width: 10vw;
  background: blue;
   background-image: linear-gradient(
    90deg,
    var(--color0) 16%, 
    var(--color1) 16% 33%,
    var(--color2) 33% 50%,
    var(--color3) 50% 66%,
    var(--color4) 66% 83%,
    var(--color5) 83%
  );
}
