.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;
	
}