.openlime {
	position: relative;
	background-color: #000;
	height: 100%;
	touch-action: none; /* Remove default behavior of the user agent */
}

.openlime > canvas {
	width: 100%; /* leave this at 100%, it's needed to align annotations correctly */
	height: 100%;
	overflow: hidden;
	/* this is important, it would cause firefox flickering! */
	padding: 0px;
}

.openlime-overlay,
.openlime-svgoverlay {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
}

.openlime-overlay {
	position: absolute;
	top: 0px;
	width: 100%;
	height: 100%;
}

.openlime-scale {
	position:absolute;
	bottom:25px;
	left:0px;
	width:200px;
	height:40px;
	padding:15px;
	fill:white;
}

.openlime-scale>text {
	font-size: 24px;
}

.openlime-scale>line {
	stroke: white;
	stroke-width: 2px;
}

/* DIALOG */

.openlime-dialog-background {
	opacity: 1.0;
	transition: visibility 0s linear 300ms, opacity 300ms;

	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	color: #fff;
	background: rgb(0, 0, 0, 0.5);
	padding: 20px 40px;
	border-radius: 5px;
	cursor: pointer;
}

.openlime-dialog {
	position: absolute;
	top: 10%;
	left: 15%;
	right: 15%;
	bottom: 7%;
	color: #fff;
	font-family: "Open Sans", sans-serif;
	background: rgb(32, 32, 32, 0.9);
	opacity: 0.95;
	padding: 20px 40px;
	border-radius: 5px;
	cursor: auto;
	transition: visibility 0s linear 0s, opacity 300ms;
	overflow-y: auto;
}

.openlime-dialog.openlime-info {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 25%;
	height: fit-content;
	background-color: rgb(20, 20, 20, 0.9);
	padding: 0px 10px;
	color: white;
	border-radius: 3px;
	border: 1px solid rgb(60, 60, 60);
}

.openlime-dialog.fading {
	opacity: 0.0;
}

.openlime-dialog.hidden, .openlime-dialog-background.hidden {
	visibility:hidden;
	opacity:0.0;
}

.openlime-dialog .openlime-close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 30px;
	height: 30px;
	cursor: pointer;
}

.openlime-close * {
	stroke: #fff !important;
	fill: #fff !important;
}

.openlime-close:hover * {
	opacity: 70%;
}

/* TOOLBAR */

.openlime-toolbar rect[style] {
	fill: rgb(255, 255, 255, 0) !important;
	stroke: none !important;
}

.openlime-toolbar path[style] {
	stroke: white !important;
	fill: white !important
}

.openlime-toolbar text {
	stroke: white !important;
	fill: white !important
}

.openlime-toolbar {
	position: absolute;
	bottom: 0px;
	right: 0px;
	padding: 5px;
	background-color: transparent;
	display: flex;
}

.openlime-toolbar svg:not(:root) {
	width: auto;
	height: 5vh;
	display: block;
}

.openlime-toolbar .openlime-button:hover {
	cursor: pointer;
	opacity: 70%;
}

.openlime-light path[style] {
	fill: #80808011 !important;
}

.openlime-light-active .openlime-light path[style] {
	fill: #ffcc00 !important;
}

.openlime-lightdir {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.openlime-lightdir line {
	stroke: #ff0;
	opacity: 0.4;
	stroke-width: 1.5px;
	vector-effect: non-scaling-stroke;
}

g.openlime-compact {
	visibility: hidden !important;
}

g.openlime-expand {
	visibility: visible !important;
}

.openlime-fullscreen-active g.openlime-compact {
	visibility: visible !important;
}

.openlime-fullscreen-active g.openlime-expand {
	visibility: hidden !important;
}

.openlime-help-window.shown {
	visibility: visible;
	opacity: 0.95;
	transition: visibility 0s linear 0s, opacity 300ms;

}

.openlime-help-window {

	opacity: 0.0;
	visibility: hidden;
	transition: visibility 0s linear 300ms, opacity 300ms;

	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	color: #fff;
	background: rgb(0, 0, 0, 0.5);
	padding: 20px 40px;
	border-radius: 5px;
	font-family: "Open Sans", sans-serif;
	cursor: pointer;
}

.openlime-help-content {
	position: absolute;
	top: 10%;
	left: 30%;
	right: 30%;
	bottom: 10%;
	color: #fff;
	background: #222;
	opacity: 0.95;
	padding: 20px 40px;
	border-radius: 5px;
	cursor: auto;
}

.openlime-help-window .openlime-close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 30px;
	height: 30px;
	cursor: pointer;
}

/* ATTRIBUTION */

.openlime-attribution {
	position: absolute;
	left: 20px;
	bottom: 0;
	font-family: "Open Sans", sans-serif;
	font-size: 10px;
	color: white;
}

/* LAYERS MENU */

.openlime-layers-menu {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: start;
	top: 0px;
	left: 0px;
	height: 100%;
	width: 0%;
	max-width: 200px;
	overflow: hidden;

	transition: width 0.3s;

	font-family: "Open Sans", sans-serif;
	color: #ccc;
	background-color: rgb(20, 20, 20, 0.8);
	list-style: none;
	padding: 0px;
	margin: 0px;
	z-index: 1;
}

.openlime-layers-menu>* {
	margin: 10px 10px 0px 10px;
}

.openlime-layers-menu.open {
	width: 100%
}

.openlime-list {
	margin-left: 20px;
	display: flex;
	flex-direction: column;
	justify-content: start;
	height: 0;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s;
	transition: height 0.5s;
}

.active+.openlime-list {
	height: auto;
	max-height: 100%;
}

.openlime-layers-menu .openlime-entry {
	color: #ccc;
	background-color: rgb(20, 20, 20, 0.8);
	padding: 8px 20px;
	border-radius: 3px;
	cursor: pointer;
	text-decoration: none;
}

.openlime-layers-menu .openlime-entry:hover,
.openlime-layers-menu .openlime-entry:focus {

	background-color: rgb(40, 40, 40);
	color: #fff;
}

.openlime-layers-menu .openlime-entry:active {
	position: relative;
	top: 1px;
}

.openlime-layers-menu .openlime-entry.active,
.openlime-layers-menu .openlime-entry:active {
	background-color: rgb(80, 80, 80);
	color: #fff;
}

.openlime-layers-menu .openlime-entry.selected {
	background-color: rgb(80, 80, 80);
	color: #fff;
}

.openlime-layers-menu .openlime-list .openlime-entry {
	font-size: 90%;
	max-width: 100%;
	padding: 5px 5px 0px 20px;
}

.openlime-layers-menu .openlime-tool {
	padding: 0px !important;
}

.openlime-list .openlime-tools {
	flex-direction: row;
}

.openlime-annotations {
	padding: 0px 5px;
	margin: 0px;
}

.openlime-list.openlime-annotations {
	overflow: auto;
}


/* Works on Firefox */
.openlime-list.openlime-annotations {
	scrollbar-width: thin;
	scrollbar-color: rgb(80, 80, 80);
}

/* Works on Chrome, Edge, and Safari */
.openlime-list.openlime-annotations::-webkit-scrollbar {
	width: 10px;
}

.openlime-list.openlime-annotations::-webkit-scrollbar-track {
	background: transparent;
}

.openlime-list.openlime-annotations::-webkit-scrollbar-thumb {
	background-color: rgb(80, 80, 80);
	border-radius: 10px;
	border: 0px solid black;
}

/* editor */

.openlime-annotation-edit.hidden {
	display: none;
}

.openlime-annotation-edit-tools svg,
.openlime-tools svg {
	height: 25px;
	cursor: pointer;
	margin-right: 10px
}

.openlime-annotation-edit-tools {
	margin-top: 5px;
}

.openlime-tool {
	height: 25px;
	width: 25px;
}

.openlime-annotation-edit select,
.openlime-annotation-edit option {
	width: 40px;
}

.openlime-annotation-edit option:hover {
	background: red;
}

.openlime-eye,
.openlime-eye-off {
	height: 14px;
	float: right;
}

.openlime-eye,
.hidden .openlime-eye-off {
	display: block;
}

.openlime-eye-off,
.hidden .openlime-eye {
	display: none;
}

.openlime-eye:hover,
.openlime-eye-off:hover {
	color: #ffa;
}

/*.openlime-annotation-edit-tools .active {  background-color:rgb(80, 80, 80); } */

.openlime-tool.active,
.openlime-tool.active * {
	stroke: #fff !important;
}

.openlime-annotation-edit-tools .active * {
	stroke: #fff !important;
}

.openlime-overlay.erase {
	cursor: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'><circle fill='rgba(255, 255, 255, 0.7)' cx='11' cy='11' r='10'/></svg>") 11 11, pointer;
}

.openlime-overlay.crosshair {
	cursor: crosshair;
}

/* Editor select */

.openlime-select {
	background: #888;
	position: relative;
	cursor: pointer;
	display: inline-block;
	height: 24px;
	width: 100%;
}

.openlime-select-button {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #888;
	padding: 2px 15px;
}

.openlime-select-button:after {
	content: "";
	width: 0;
	height: 0;
	border: 7px solid transparent;
	border-color: #fff transparent transparent transparent;
	position: absolute;
	top: 8px;
	right: 10px;
}

.openlime-select-button:hover {
	background-color: #444;
}

.active .openlime-select-button {
	background-color: #888;
}

.active .openlime-select-button:after {
	top: 1px;
	border-color: transparent transparent #fff transparent;

}

.openlime-select-menu {
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	z-index: 999;
	margin: 0;
	padding: 0;
	list-style: none;
}

.active .openlime-select-menu {
	display: block;
}

.openlime-select-menu li {
	margin: 0;
	padding: 2px 0;
	text-indent: 15px;
	/* border-top: 1px solid darken($select-background, 10); */
	/*	@include transition(all 0.15s ease-in); */
}

.openlime-select-menu li:hover {
	color: #fff;
	border: 1px #aaa;
}

/*****************************************************/
/* LensDashboard */

.openlime-lens-dashboard {
	/* -webkit-animation: fadein 1s linear forwards;
	animation: fadein 1s linear forwards; */
	visibility: visible !important;
	/* background-color: rgb(200, 0, 0, 0.8) !important; */
}

.openlime-lens-dashboard.closed {
	/* -webkit-animation: fadeout 1s linear forwards;
	animation: fadeout 1s linear forwards; */
	visibility: hidden !important;
}

.openlime-lens-dashboard-button-bkg {
	fill: #333 !important;
	pointer-events: none;
}

.openlime-lens-dashboard-button.enabled {
	pointer-events: auto;
	cursor: pointer;
}

.enabled .openlime-lens-dashboard-button-bkg {
	fill: #aaa !important;
}

.openlime-lens-dashboard-button:hover .openlime-lens-dashboard-button-bkg {
	fill: #ccc !important;
}

.openlime-lens-dashboard-camera-active .openlime-lens-dashboard-button-bkg {
	fill: #fff !important;
}

.openlime-lens-dashboard-light-active .openlime-lens-dashboard-button-bkg {
	fill: #fff !important;
}


/*****************************************************/
/* Ruler */

.openlime-ruler {
	width:100%;
	height:100%;
}

.openlime-ruler path, .openlime-ruler line {
	stroke:yellow;
	stroke-width:2px;
	vector-effect:non-scaling-stroke;
}
.openlime-ruler text {
	fill: yellow;
} 

.openlime-overlaymsg {
	background:white;
	opacity:80%;
	position:absolute;
	top:0px;
	width:100%;
	height:100%;
	display:flex;
	align-items: center;
	justify-content: center;

	animation: fadeOut 3s;
}

@keyframes fadeOut {
	0% { opacity: 0.8; }
	33% { opacity: 0.8; }
	66% { opacity: 0; }
	100% { opacity: 0; }
  }
