.diagram-wrapper {
  position: relative;
  display: inline-block; }

.diagram-wrapper img {
  position: relative;
  top: 0px;
  left: 0px; }

.diagram-label {
  position: absolute; }

.diagram-label-circle {
  border-radius: 50%;
  background-color: rgba(245, 192, 26, 0.72);
  width: 32px;
  height: 32px;
  cursor: pointer;
  transition: background 300ms; }

.diagram-label.active .diagram-label-circle {
  background-color: #f5c01a; }

.diagram-label .diagram-label-circle:hover {
  background-color: #f5c01a; }

.diagram-label-box {
  display: block;
  opacity: 0;
  position: absolute;
  top: -100vh;
  left: -100vw; }

.diagram-label.active .diagram-label-box {
  opacity: 1;
  margin-top: 15px;
  margin-left: 40px;
  background-color: #f2f2f2;
  padding: 20px;
  top: 0px;
  left: 0px;
  transition: opacity 300ms;
  z-index: 1; }

.diagram-label-box:before {
  position: absolute;
  top: -50px;
  left: -21px;
  content: "";
  display: block;
  width: 60px;
  height: 50px;
  border-bottom: 3px solid #f5c01a;
  -webkit-transform: rotate(45deg); }

@media only screen and (min-width: 980px) {
  .diagram-label.active .diagram-label-box {
    position: relative;
    min-width: 190px; } }
@media only screen and (max-width: 980px) {
  .diagram-label-circle {
    width: 16px;
    height: 16px; }

  .diagram-wrapper.active {
    position: unset !important; }

  .diagram-wrapper.active .diagram-label.active {
    top: 0px !important;
    left: 0px !important; }

  .diagram-wrapper.active .diagram-label.active .diagram-label-box {
    margin: -20px 0px 0px 0px;
    width: 100vw;
    min-height: 337px; }

  .diagram-wrapper.active .diagram-label.active .diagram-label-box:before {
    display: none; } }
.spare-menu {
  background-color: #1975b8;
  width: 100%;
  height: 100%;
  padding-top: 20px;
  padding-bottom: 20px; }

.spare-menu a {
  display: block;
  padding: 0px 15px;
  color: #FFFFFF; }

.spare-menu h2 {
  display: block;
  padding: 0px 12px;
  color: #FFFFFF;
  margin: 10px 0px 5px 0px;
  font-size: 22px; }

.spare-menu a.active {
  background-color: #FFFFFF;
  color: #3A376D; }

.diagram-label-box span {
  display: block; }

.diagram-label-box .bloba {
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #f5c01a; }

.diagram-label-box a {
  font-weight: bold;
  text-transform: uppercase;
  display: block;
  width: 100%;
  margin-top: 10px; }

.diagram-wrapper .diagram-label.diagram-label-left.active .diagram-label-box {
  left: -100%; }

.diagram-wrapper .diagram-label.diagram-label-left.active .diagram-label-box:before {
  left: auto;
  right: -21px;
  -webkit-transform: rotate(-59deg);
  top: -56px; }
