body {
  font-family: 'Lato', sans-serif;
}

.container {
  width: 900px;
}

#graphic {
  padding-top: 60px;
}

.hidden {
  display: none;
}

#dot-explain {
  margin-top: 2em;
}
.item {
  display: block;
  position: absolute;
  left: 0;
}
.indent {
  display: block;
  position: absolute;
  right: 0;
  width: 225px;
  line-height: 1.2em;
  margin: 0;
}

#sections {
  position: relative;
  display: inline-block;
  width: 250px;
  top: 0px;
  z-index: 90;
  padding-bottom: 300px;
}

section.step {
  margin-bottom: 300px;
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  line-height: 23px;
  color: #767678;
}

#sections .title {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 2px;
  color: #262626;
  line-height: 1.2em;
}

#extra-space {
  height: 300px;
}

#vis {
  display: inline-block;
  position: fixed;
  top: 60px;
  z-index: 4;
  margin-left: 0;
  /* height: 600px; */
  /* width: 600px; */
  /* background-color: #ddd; */
}

#vis>svg {
  position: absolute;
}

.dot:hover {
  stroke-width: 4px;
  transition: stroke-width 300ms;
}

.axis path,
.axis line {
  fill: none;
  stroke: #666;
  shape-rendering: crispEdges;
}

.cough-arrow {
  stroke: #000;
  stroke-width: 4px;
}

g.hl rect {
  border: 2px solid #d7443f !important;
}

g.hl text {
  font-weight: bold;
  color: #fff;
}

.node rect {
  cursor: move;
  fill-opacity: 1;
  shape-rendering: crispEdges;
}

.node text {
  pointer-events: none;
  font-size: small;
}

.link {
  fill: none;
  stroke: #56BFB1;
  transition: stroke-opacity 300ms, stroke 300ms;
}

.link:hover {
  stroke: #F97171;
  stroke-opacity: 0.65 !important;
}

.link.hl {
  stroke: #F97171;
  stroke-opacity: 0.5 !important;
  transition: stroke-opacity 300ms, stroke 300ms;
}

.emphasis {
  color: #D7443F;
  fill: #D7443F;
  font-weight: 900;
}

.contact {
  position: absolute;
  width: 100%;
  bottom: 90px;
  z-index: 2;
}

.contact > p {
  display: block;
  width: 900px;
  margin: 0 auto;
  padding: 0 190px 0 15px;
  text-align: end;
}
