.controls:not(:empty) {
	padding:10px;
	max-width:100%;
	box-sizing:border-box;
}

.control {
	border-radius:2px;
	overflow:hidden;
	box-shadow: 0 2px 6px rgba(0,0,0,.3);
	margin-left:10px;
	float:left;
	background-color:white;
	box-sizing:border-box;
}

.control:first-child {
	margin-left:0;
}

.controls::after,
.control::after {
	display:block;
	content:"";
	clear:both;
}

.control input,
.control button,
.control select {
	box-shadow:none;
	background-color:white;
	font-family:inherit;
	font-size: 15px;
	box-sizing:border-box;
	height:50px !important;
	outline:none;
	display:block;
	border:solid 1px white;
}

.control input {
	padding:0 20px;
	font-family:Roboto;
	font-size:15px;
	overflow:hidden;
	text-overflow:ellipsis;
}

.control button {
	width:50px;
	padding:15px;
	cursor:pointer;
}

.control button::-moz-focus-inner {
	padding: 0;
	border: 0;
}

.control select {
	border:1px solid rgb(220, 220, 220);
	width:100%;
}

.control input:focus,
.control input:hover,
.control button:focus,
.control button:hover,
.control select:focus,
.control select:hover {
	border-color: rgb(77, 144, 254);
}

.control button:focus,
.control button:hover {
	background-color:rgb(77, 144, 254);
}

.control button:focus svg path,
.control button:hover svg path {
	fill:white;
}

.control svg {
	height:20px;
	width:20px;
}

.control svg:not(.custom) path {
	fill:gray;
}

.control label {
	box-sizing:border-box;
}

.controls.left input, 
.controls.left button {
	float:left;
}

.controls.right input,
.controls.right button {
	float:right;
}

/* AutoComplete List */

.pac-item {
	padding: 6px 15px;
	cursor:pointer;
}

.pac-item:hover {
	background-color:rgb(240,240,240);
}

.pac-logo::after {
	height:0;
	padding:0;
}

/* Overlay */

.overlay svg,
.overlay div,
.overlay span {
	transition:opacity 0.5s;
	pointer-events:none;
	opacity:0;
}

.overlay svg {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:rgba(255,255,255,0.5);
	z-index:99;
}

.overlay div {
	position: absolute;
	border:8px solid rgb(77, 144, 254);
	border-radius:50%;
	height:50px;
	width:50px;
	top:50%;
	left:50%;
	margin:-25px 0 0 -25px;
	z-index:100;
}

.overlay span {
	position:absolute;
	bottom:30px;
	left:50%;
	margin:0px 0px 0px -100px;
	color:white;
	background-color:rgba(0, 0, 0, 0.5);
	padding:20px 0px;
	border-radius:5px;
	text-align:center;
	width:200px;
	z-index:100;
	font-family:Roboto;
	font-size:15px;
}

.overlay.loading svg,
.overlay.loading span {
	opacity:1;
	pointer-events:auto;
}
.overlay.loading div {
	-webkit-animation: pulsate 1s ease-out;
			animation: pulsate 1s ease-out;
	-webkit-animation-iteration-count: infinite;
			animation-iteration-count: infinite;
}

@-webkit-keyframes pulsate {
		0% {
			-webkit-transform: scale(.1);
							transform: scale(.1);
			opacity: 0.0;
		}
		30% {
			opacity: 1;
		}
		60% {
			opacity: 1;
		}
		100% {
			-webkit-transform: scale(1.2);
							transform: scale(1.2);
			opacity: 0;
		}
}
@keyframes pulsate {
		0% {
			-webkit-transform: scale(.1);
							transform: scale(.1);
			opacity: 0.0;
		}
		30% {
			opacity: 1;
		}
		60% {
			opacity: 1;
		}
		100% {
			-webkit-transform: scale(1.2);
							transform: scale(1.2);
			opacity: 0;
		}
}

.control.panel {
	float:none;
	clear:both;
	margin-left:0;
	top:10px;
	max-width:100%;
	width:400px;
	font-size:13px;
	font-weight:300;
	position:relative;
	z-index:1;
}

.control ul {
	padding:0;
	margin:0;
	overflow-y:auto;
	border-top:solid 1px rgb(200,200,200);
	list-style:none;
}
.control li {
	padding:15px 20px 15px 120px;
	border-bottom:solid 1px rgb(200,200,200);
	position:relative;
}
.control li.message {
	padding:15px 20px;
}
.control li:last-child {
	border-bottom:none;
}
.control li:not(.message) {
	cursor:pointer;
}
.control li.selected,
.control li:not(.message):hover {
	background-color:rgb(255,255,225);
}
.control h2,
.gm-style-iw h2 {
	font-family: Calibri,Roboto,Sans-Serif;
	font-size:1.3em;
	margin-top:0;
}
.control small {
	display:block;
	margin-bottom:10px;
}
.control svg.custom {
	height:80px;
	width:80px;
	position:absolute;
	left:20px;
}
.gm-style .gm-style-iw {
	font-size:15px;
}