/* Main Search with Maps */
#map-container .main-search-container {
	position: absolute;
	bottom: 50px;
	left: 50%;
	transform: translate(-50%, 100%);
	z-index: 9999;
	transition: all 0.4s;
	width: auto;
}

#map-container .main-search-container.active {
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translate(-50%, 0);
	z-index: 9999;
}

#map-container .main-search-form { width: 100%; margin-top: 0; }
#map-container .main-search-box { padding-bottom: 15px; margin-top: 0; border-radius: 0 3px 3px 3px; }

#map-container.homepage-map {
	height: 580px;
	overflow: hidden;
}

@media (max-width: 1369px) { #map-container.homepage-map { height: 480px; }  }

#map-container.homepage-map.overflow { overflow: visible; }

.agency-map #propertyMap { max-height: 300px; height: 300px; }

.fs-container #map-container {
	position: relative;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 990;
	margin-bottom: 0px;
}
button.fs-map-btn.button {
	position: relative;
	float: right;
	top: 6px;
	padding: 10px 40px;
	margin: 0;
}


/* Google Maps */
.contact-map { display: flex; }
.contact-map .google-map-container { flex: 1; position: relative; }
.contact-map .address-box-container { flex: 0 auto; width: 440px; height: 450px; }
.contact-map .google-map-container #propertyMap { height: 100%; width: 100%; }

@media (min-width: 1680px) { .contact-map .address-box-container { height: 480px; } }
@media (max-width: 1440px) { .contact-map .address-box-container { height: 420px; } }

/* ---------------------------------- */
/* Google Maps
------------------------------------- */
.infoBox { border-radius: 3px; }

.map-box {
	/*background-color: #fff;*/
	margin-bottom: 20px;
	border-radius: 3px;
	/*box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.12);*/
	position: relative;
	left: -62px;
}

.map-box h4 {
	margin: 0;
	padding: 0;
}

.map-box h4 a {
	padding: 0px;
	font-size: 17px;
	line-height: 25px;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	display: inline-block;
}

.map-box h4 a:hover { color: #66676b; }

.map-box p {
	padding: 0;
	line-height: 25px;
	margin: 2px 0 0 0;
	font-size: 14px;
}

.map-box ul.listing-details {
	padding: 0;
	font-size: 14px;
	display: none;
}

.map-box .listing-title {
	padding: 22px;
	padding-top: 20px;
}


.map-box .listing-img-content {
	padding: 18px 22px;
}


.map-box .listing-img-content span {
	font-size: 21px;
}

.map-box .listing-img-content .listing-price i {
    font-size: 15px;
    margin: 0;
}


.infoBox > img {
	position: absolute !important;
	right: 0px;
	top: 0px;
}


.map-box .listing-img-container:before {
	background: linear-gradient(to bottom, transparent 50%, #2f2f2f);
}

.map-box .listing-img-container:after {
	background: linear-gradient(to bottom, transparent 50%, #66676b);
}


/* Cluster styles */
.cluster img { display:none }

.cluster {
	width: 36px !important;
	height: 36px !important;
}

.cluster div {
	text-align: center;
	font-size: 15px !important;
	color: #fff !important;
	font-weight: 500;
	border-radius: 50%;
	width: 36px !important;
	height: 36px !important;
	line-height: 36px !important;
	background-color: #66676b;
}

.cluster div:before {
	border: 7px solid #66676b;
	opacity: 0.2;
	box-shadow: inset 0 0 0 4px #66676b;
	content: '';
	position:absolute;
	border-radius: 50%;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	animation: cluster-animation 2.5s infinite;
}

@keyframes cluster-animation {
	0%,100% {
		transform:scale(1.3) rotate(0deg)
	}
	50% {
		transform:scale(1.5) rotate(90deg)
	}
}



/* Close Button */
.infoBox-close {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-block;
	z-index: 999;
	text-align: center;
	line-height: 31px;
	cursor: pointer;
	font-size: 15px;
	font-weight: 500;
	height: 31px;
	width: 31px;
	background-color: #fff;
	color: #333;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	font-family: "FontAwesome";
	border-radius: 3px;
	-webkit-text-stroke: 1px #fff;
}

.infoBox-close:hover {
	color: #fff;
	background-color: #66676b;
	-webkit-text-stroke: 1px #66676b;
}


/* Read More Icon */
.map-box-icon {
	height: 38px;
	width: 38px;
	position: absolute;
	bottom:0;
	right:0;
	background-color: #3685cf;
	display: block;
	color: #fff;
	font-size: 12px;
	z-index: 101;
	text-align: center;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	-webkit-transform: translateX(50%);
	-ms-transform: translateX(50%);
	transform: translateX(50%);
	opacity:0;
	visibility: hidden;
}

.map-box-icon:before {
	content: "";
	font-family: "FontAwesome";
	position: relative;
	top: 7px;
	display: block;
}

.map-box-image:hover .map-box-icon {
	opacity: 1;
	visibility: visible;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateX(0);
}

.map-box-image {
	position: relative;
	overflow: hidden;
	display: block;
}

.infoBox {
	-webkit-animation: fadeIn 0.9s;
	animation: fadeIn 0.9s;
}

/* Chrome, Safari, Opera */
@-webkit-keyframes fadeIn {
    from {opacity: 0; }
    to {opacity: 1; }
}

/* Standard syntax */
@keyframes fadeIn {
    from {opacity: 0; }
    to {opacity: 1; }
}


.infoBox:after {
	content: "";
	position: absolute;
	bottom: 0px;
	left: 40px;
	width: 0;
	height: 0;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: 20px solid #efefef;
}

#map {
	height: 100%;
	width: 100%;
	margin: 0;
	z-index: 990;
}

#map-container {
	position: relative;
	top: 0;
	left: 0;
	height: 520px;
	width: 100%;
	z-index: 990;
	margin-bottom: 60px;
}

.gmnoprint { margin: 10px; }


/* Custom Zoom Buttons
------------------------------------- */
.custom-zoom-in,
.custom-zoom-out {
	background-color: #fff;
	color: #333;
	cursor: pointer;
	border-radius: 3px;
	margin: 5px 15px;
	transition: color 0.3s, background-color 0.3s;
	box-shadow: 0px 1px 4px -1px rgba(0, 0, 0, 0.2);
	text-align: center;
	font-size: 15px;
	height: 32px;
	width: 32px;
}

.custom-zoom-in:hover,
.custom-zoom-out:hover {
	background-color: #66676b;
	color: #fff;
}

.custom-zoom-in:before,
.custom-zoom-out:before  {
	font-family: "FontAwesome";
	width: 100%;
	line-height: 34px;
	transition: -webkit-text-stroke 0.3s;
	-webkit-text-stroke: 1px #fff;
}

.custom-zoom-in:before { content: "\f067"; }
.custom-zoom-out:before  { content: "\f068"; }


.custom-zoom-in:hover:before,
.custom-zoom-out:hover:before  { -webkit-text-stroke: 1px #66676b;  }



/* Prev & Next Buttons
------------------------------------- */
#mapnav-buttons {
	position: absolute;
	transform:translate(0,0);
	z-index: 999;
	font-size: 13px;
	display: inline-block;
	bottom: 20px;
	right: 20px;
	list-style: none;
	padding: 0;
}

#mapnav-buttons.top {
	top: 55px;
	right: 10px;
	bottom: initial;
}

#mapnav-buttons li {
	float: left;
	margin-left: 4px;
	line-height: 20px;
}

#streetView,
#geoLocation,
#scrollEnabling,
#mapnav-buttons a {
	color: #333;
	background-color: #fff;
	padding: 8px 12px;
	padding-top: 9px;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-transition: all 0.2s ease-in-out;
	box-sizing: border-box;
	display: inline-block;
	border-radius: 3px;
	box-shadow: 0px 1px 4px -1px rgba(0, 0, 0, 0.2);
}

#mapnav-buttons a .blackButton {
    color: #fff;
    background-color: #333;
    padding: 8px 16px;
    padding-top: 9px;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -transition: all 0.2s ease-in-out;
    box-sizing: border-box;
    display: inline-block;
    border-radius: 3px;
    box-shadow: 0px 1px 4px -1px rgba(0, 0, 0, 0.2);
}

#geoLocation:hover,
#streetView:hover,
#scrollEnabling:hover,
#scrollEnabling.enabled,
#mapnav-buttons a:hover {
	background-color: #66676b;
	color: #fff;
}

#prevpoint:before,
#nextpoint:after {
	font-family: "FontAwesome";
	position: relative;
	font-weight: 500;
	margin: 0 0 0 6px;
	font-size: 16px;
	top: 1px;
	line-height: 1px;
}

#prevpoint:before {
	content: "\f104";
	margin: 0 6px 0 0;
}

#nextpoint:after {
	content:"\f105";
	margin: 0 0 0 6px;
}

#streetView,
#geoLocation,
#scrollEnabling {
	position: absolute;
	top: 16px;
	right: 60px;
	z-index: 999;
	font-size: 13px;
	line-height: 20px;
}

#streetView:before,
#geoLocation:before,
#scrollEnabling:before {
	content: "\e015";
	font-family: "simple-line-icons";
	position: relative;
	top: 2px;
	margin: 0 6px 0 0;
	font-size: 15px;
	line-height: 1px;
}

#scrollEnabling:before {
	margin-left: -3px;
}

#streetView:before {
	content: "\f21d";
	font-family: "FontAwesome";
	font-size: 16px;
	top: 1px;
	margin-right: 8px;
}


#geoLocation {
	right: auto;
	left: 20px;
	padding: 8px 11px;
}

#geoLocation:before {
	content: "\f192";
	font-family: "FontAwesome";
	font-size: 16px;
	margin: 0;
	top: 2px;
}


/* Property Map */
#propertyMap {
	height: 400px;
	border-radius: 3px;
}

#propertyMap-container {
	height: auto;
	position: relative;
	padding-top: 5px;
	display: block;
}
