.manuscrit svg {
  flex: 1 1 auto;
  width: 100%;
  transform: translateZ(0px);
  padding: 0 1em 1em;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.manuscrit svg:hover circle.visible {
  stroke-opacity: .6;
  stroke-width: 3px;
  animation: gonfler 1s;
}
.manuscrit svg circle {
  stroke: #404040;
  stroke-width: 1px;
  stroke-opacity: 0;
  stroke-linecap: round;
  stroke-dasharray: 10,12;
  vector-effect: non-scaling-stroke;
  fill: white;
  fill-opacity: 0;
  cursor: pointer;
  transform-origin: 50% 50%;
  transition: stroke-opacity 1s, fill-opacity 1s, stroke-width 0.4s;
}
.manuscrit svg circle.visible {
  stroke-opacity: 0;
}
.manuscrit svg circle.visible:hover {
  stroke-width: 5px;
  stroke-opacity: 1;
  fill-opacity: .6;
}
.manuscrit svg image {
  opacity: 0;
  transition: opacity 1s;
  pointer-events: none;
}
.manuscrit svg .zoomActuel > circle {
  pointer-events: none;
}
.manuscrit svg .zoomActuel > image {
  opacity: 1;
  pointer-events: auto;
  cursor: pointer;
}
.manuscrit svg .zoomActuel ~ g > image,
.manuscrit svg .zoomActuel ~ g > circle {
  pointer-events: none;
}
.manuscrit svg image.ancetreZoomActuel {
  opacity: 1;
}
.manuscrit svg .filsZoomActuel image {
  opacity: 0;
}
.manuscrit svg .filsZoomActuel > g circle {
  pointer-events: none;
}
.modeEdition svg .zoomActuel > g > image.visible {
  opacity: 1;
}
@keyframes gonfler {
  from {
    transform: scale(-1);
  }
  50% {
    transform: scale(1.1);
  }
  70% {
    transform: scale(1);
  }
}
