/* General formatting */
body {
  padding: 0 10px;
  font: 18px/1.5 -apple-system, BlinkMacSystemFont, "avenir next", avenir,
    "Segoe UI", "lucida grande", "helvetica neue", helvetica, "Fira Sans",
    roboto, noto, "Droid Sans", cantarell, oxygen, ubuntu,
    "franklin gothic medium", "century gothic", "Liberation Sans", sans-serif;
}

h1,
h2,
h3 {
  line-height: 1.2;
}

/* Narrow Column */
.content-column {
  max-width: 65%;
  margin: 40px auto;
}

/* Full-width and Full-heaight */
.vis-holder {
  width: 100%;
  height: 100%;
}

.town {
  fill: #ccc;
}

table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
  border: 1px solid #eceeef;
}

th,
td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #eceeef;
}

thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #eceeef;
}

tbody + tbody {
  border-top: 2px solid #eceeef;
}

tbody tr:hover {
  background-color: rgba(0, 0, 0, 0.075);
}

input {
  width: 95%;
}

table td {
  border-left: 1px solid rgba(0, 0, 0, 0.075);
  border-right: 1px solid rgba(0, 0, 0, 0.075);
}

table td:first-child {
  border-left: none;
}

table td:last-child {
  border-right: none;
}

.selected {
  fill: deepskyblue;
}

/* Tooltips */
.tooltip {
  position: relative;
  display: inline-block;
}

.tooltip .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: black;
  color: #fff;
  text-align: center;
  padding: 5px 0;
  border-radius: 6px;

  position: absolute;
  z-index: 1;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
}
