* {
	
}
html,
body {
	margin: 0;
	padding: 0;
	position: relative;
	height: 100%;
	width: 100%;
}

#codes {
	padding: 10px;
}
#codes > div {
	padding: 10px;
	float: left;
}

label.input-group-prepend,
label.input-group-append {
	margin-bottom: 0;
}
.full-map {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1;
}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 0;
	border-radius: 4px;
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
}

.button {
	position: absolute;
	z-index: 2;
	width: 30px;
	height: 30px;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
}
.button i {
	line-height: 30px;
	width: 30px;
	height: 30px;
	
	text-align: center;
}

.button#fullScreen {
	right: 10px;
	top: 10px;
}
.button#fullScreen i.fa-compress {
	display: none;
}
.fullscreen .button#fullScreen i.fa-expand {
	display: none;
}
.fullscreen .button#fullScreen i.fa-compress {
	display: block;
}

.button#centerMap {
	right: 10px;
	top: 50px;
}
.button#addRoute {
	right: 10px;
	top: 90px;
}
.button#addClient {
	right: 10px;
	top: 130px;
}

#clients {
	position: absolute;
	z-index: 2;
	width: 30px;
	top: 70px;
	left: 10px;
}
#clients i {
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
}

.button.close {
	right: 10px;
	top: 10px;
}
.button#login {
	left: 10px;
	bottom: 10px;
}
#logout-form .button {
	left: 10px;
	bottom: 10px;
	
    padding: 0;
    border: 0;
    display: block;
    -webkit-appearance: none;
}
#logout-form .user {
	position: absolute;
	z-index: 2;
	left: 50px;
	bottom: 10px;
	line-height: 30px;
	text-shadow: 0px 0px 2px #fff;
	pointer-events: none;
}
.overlay {
	position: relative;
	overflow: hidden;
	border: 1px solid #cc6633;
	border-radius: 3px;
	background: #fff;
	box-sizing: border-box;
	z-index: 2;
	margin: 0 5px;
	top: 5px;
	display: none;
}
#loginForm {
	z-index: 1;
	position: relative;
	padding: 10px;
    min-height: 100%;
	
	display: flex;
	align-items: center;
	justify-content: center;
}
#loginForm > div {
	width: 100%;
}

.overlay.active {
	display: block;
}
.form-overlay {
	display: none;
	min-height: 46px;
	padding: 10px;
}
.overlay h2 {
	font-size: 22px;
	line-height: 26px;
}

#qrScanner::after {
	content: "";
	display: block;
	padding-bottom: 100%;
}
#qrScanner video {
	position: absolute;
}

#status {
	min-height: 46px;
	padding: 10px;
}
#status #load {
	display: none;
	margin: 0 auto;
}
#status.load #load {
	display: block;
}
#status.active button.close,
#status #message {
	display: none;
}
#status.load,
#status.active,
#status.active #message,
#status.active button.close {
	display: block;
}

div.svg-marker {
	position: relative;
}
div.svg-marker i {
	top: 8px;
    right: 0;
    left: 0;
    font-size: 16px;
    display: block;
    position: absolute;
    text-align: center;
}