* {
  box-sizing: border-box;
}
@font-face {
  font-family: "Lato Extended";
  font-style: normal;
  font-weight: 400;
  src: url(https://du11hjcvx0uqb.cloudfront.net/br/dist/fonts/lato/extended/Lato-Regular-bd03a2cc27.woff2)
    format("woff2");
  font-display: auto;
}
@font-face {
  font-family: "Lato Extended";
  font-style: normal;
  font-weight: 700;
  src: url(https://du11hjcvx0uqb.cloudfront.net/br/dist/fonts/lato/extended/Lato-Bold-cccb897485.woff2)
    format("woff2");
  font-display: auto;
}
body {
  font-family: "Lato Extended", Lato, sans-serif;
  position: relative;
}
#container {
  padding-bottom: 1em;
}
svg {
  width: 100%;
  height: auto;
}
.hotspot {
  pointer-events: all;
  transition: transform 0.2s;
  cursor: pointer;
}
.hotspot,
.backdrop {
  transform-box: fill-box;
  transform-origin: center;
}
.backdrop {
  transform: scale(1.1);
  stroke: transparent;
  stroke-width: 5px;
  transition: stroke 0.2s;
}
.hotspot:is(:hover, :focus-visible),
.touched {
  transform: scale(1.05);
  outline: none;
}
.hotspot:is(:hover, :focus-visible) .backdrop,
.touched .backdrop {
  stroke: var(--primary);
}
.modal {
  display: none;
  border: 2px solid var(--secondary);
  border-radius: 0.5em;
  margin: 0 auto;
  padding: 0.5em;
  background: white;
  opacity: 0;
  transform: translateY(-20px);
  margin-top: 2em;
}
.modal.shown {
  display: block;
  animation: fade-up 0.5s forwards;
}
h3 {
  text-align: center;
  margin: 0 0 0.5em 0;
}
p {
  margin-top: 0;
}
p:last-of-type {
  margin-bottom: 0;
}
@keyframes fade-up {
  to {
    transform: none;
    opacity: 1;
  }
}
