#zoom-container {
	position:absolute;
	pointer-events: none;
	z-index:auto;
	width: 100%;
	height: 100%;
	&[data-active-element]:hover {
		.zoom-crosshair {
			visibility: visible;
		}
	}
}

#zoom-box {
	width:0;
	height:0;
	top:0;
	left:0;
	position:absolute;
	overflow:hidden;
	border:0;
	padding:0;
	margin:0;
	z-index:auto;
	pointer-events: all;

}

.zoom-crosshair {
	display: none;
	position:relative;
	top:0;
	right:0;
	&.x-axis {
		width:100%;
		height:0;
		border-top: 1px dashed rgba(0,0,0,0.5);
	}
	&.y-axis {
		width:0;
		height:100%;
		border-left: 1px dashed rgba(0,0,0,0.5);
	}
}

#zoom-area {
	display: none;
	width: 0;
	cursor:e-resize;
	background-color:ForestGreen;
	height:0;
	position:absolute;
	z-index:auto;
	filter:alpha(opacity=40);
	-moz-opacity:0.4;
	-khtml-opacity:0.4;
	opacity:0.4;
	overflow:hidden;
	padding:0;
	margin:0;
	box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
	-o-box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
	-webkit-box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
	-moz-box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
	border: 1px solid rgba(0,0,0,0.5);
	border-radius: 2px 2px 2px 2px;
}

.zoom-area-excluded {
	display:none;
	height:0;
	position:absolute;
	z-index:auto;
	filter:alpha(opacity=30);
	-moz-opacity:0.3;
	-khtml-opacity:0.3;
	opacity:0.3;
	overflow:hidden;
	padding:0;
	margin:0;
	background: rgba(0, 0, 0, 0.5);
	box-shadow: 0 2px 6px rgba(0,0,0,0.75), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
	-o-box-shadow: 0 2px 6px rgba(0,0,0,0.75), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
	-webkit-box-shadow: 0 2px 6px rgba(0,0,0,0.75), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
	-moz-box-shadow: 0 2px 6px rgba(0,0,0,0.75), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
	border: 1px solid rgba(0,0,0,0.75);
	border-radius: 2px 2px 2px 2px;
}

.zoom-marker {
	cursor: e-resize;
	border-left: 1px dotted #191970;
	width: 0;
	height: 120px;
	position: absolute;
	z-index: auto;
	display: none;
	&::before {
		position: relative;
		top: -10px;
		left: -4px;
		content: "\f0d7";
		font-family: "Font Awesome 5 Free";
		font-weight: 600;
	}
	&::after {
		left: -4px;
		bottom: -10px;
		position: inherit;
		content: "\f0d8";
		font-family: "Font Awesome 5 Free";
		font-weight: 600;
	}
	.zoom-marker-tooltip {
		display: inline-flex;
		position: absolute;
		z-index:300;
		background: transparent;
		transform: translateX(-100%);
		left: 0;

		&[id$="-1"] { top: 0.5rem; }
		&[id$="-2"] { bottom: 0.5rem; }

		&::before,
		&::after {
			color: rgba(0,0,0,0.75);
			display: none;
			content: "\f0d9";
			font-family: "Font Awesome 5 Free";
			font-weight: 600;
			font-size: 1rem;
			z-index:301;
			margin-top: 0.3rem;
		}
		&::after {
			display: unset;
			content: "\f0da";
		}
		&.relative-right { transform: unset }
		&.relative-right::after { display: none; }
		&.relative-right::before { display: unset; }
	}
}

.zoom-marker-tooltip-value{
	white-space: pre-line;
	font-size: 1em;
	float: left;
	background: #FFE87C;
	padding-left: 3px;
	padding-right: 3px;
	border: 1px solid rgba(0,0,0,0.75);
}

.zoom-menu,
.zoom-livedata {
	border:1px solid #aaa;
	color: black;
	position:absolute;
	background:#fff;
	display:none;
	font-size: 1em;
	z-index:auto;
}

.zoom-menu .first_li span {
	width:150px;
	display:block;
	padding:5px 10px;
	cursor:pointer
}

.zoom-menu .inner_li {
	display:none;
	color: black;
	margin-left:150px;
	position:absolute;
	border:1px solid #aaa;
	border-left:1px solid #ccc;
	margin-top:-28px;
	background:#fff;
}

.zoom-menu .sep_li {
	border-top: 1px solid #c5c5c5;
}

.zoom-menu .fill_title {
	font-size: 1em;
	font-weight:bold;
	overflow:hidden;
	word-wrap:break-word;
}

.zoom-menu .ui-icon {
	float: left;
	margin-left: 0.2em;
	margin-right:0.4em;
	margin-top: 2px;
}

.zoom-menu .ui-icon-right {
	float: right;
	margin-left: 0.4em;
	margin-right:0.2em;
	margin-top: 2px;
}

.zoom-menu .ui-icon-empty {
	width: 16px;
	height: 16px;
	background-image:none;
}

.zoom-menu-hover {
    color: white;
	cursor: pointer;
    vertical-align: middle;
	background: rgba(138,179,105,1);
	background: -moz-linear-gradient(top, rgba(138,179,105,1) 0%, rgba(63,117,15,1) 100%);
	background: -webkit-linear-gradient(top, rgba(138,179,105,1) 0%, rgba(63,117,15,1) 100%);
	background: -o-linear-gradient(top, rgba(138,179,105,1) 0%, rgba(63,117,15,1) 100%);
	background: -ms-linear-gradient(top, rgba(138,179,105,1) 0%, rgba(63,117,15,1) 100%);
}

.zoom-menu-highlight {
    color: white;
    vertical-align: middle;
	background: rgba(138,179,105,1);
	background: -moz-linear-gradient(top, rgba(138,179,105,1) 0%, rgba(63,117,15,1) 100%);
	background: -webkit-linear-gradient(top, rgba(138,179,105,1) 0%, rgba(63,117,15,1) 100%);
	background: -o-linear-gradient(top, rgba(138,179,105,1) 0%, rgba(63,117,15,1) 100%);
	background: -ms-linear-gradient(top, rgba(138,179,105,1) 0%, rgba(63,117,15,1) 100%);
}

.zoom-hidden {
	z-index: -999;
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
}

.zoom-livedata {
	min-width: 15rem;
	padding: 0.5rem 1rem;
}

.zoom-livedata-header {
	vertical-align: central;
	height: 1.25rem;
	margin-bottom: 0.5rem;
	border-bottom: 1px solid #ccc;
}

.zoom-livedata-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.zoom-livedata-color {
	width: 16px;
	height: 16px;
	flex-grow: 0;
	background-color: transparent;
	margin-right: 0.25rem;
	border: 2px solid #fff;
	border-radius: 4px;
}

.zoom-livedata-value {
	font-family: 'Segoe UI monospace', monospace;
	text-align: right;
	white-space-collapse: preserve;
}

.zoom-livedata-title {
	flex: 1;
	text-align: left;
	margin-right: 1rem;
}

.zoom-livedata-unit {
	min-width: 0.5rem;
}