
/* =======
   LAYOUT
   ======= */
 
 .map__wrapper {
	min-height: 90vh;
	position: relative; }  
   
   
.map__wrapper .map {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%; }  
   


@media all and (max-width: 800px) {



}

/* ================
   FILTERS - LAYOUT
   ================ */

/* .map__filters * {
	outline: 1px solid red; } */
	
.map__filters {
	position: absolute;
	border-radius: 10px;
	z-index: 90000;
	top: 20px;
	left: 50%;
	display: flex;
	text-align: left;
	transform: translateX(-50%);
	width: auto;
	background: #F3F3F3; }


.map__filter {
	border-left: 1px solid #D8D8D8;
   background: #F3F3F3; }	

.map__filter button {
	text-align: left;
	background: none;
	color: inherit;
	border: none;
	padding: 0;
	font: inherit;
	cursor: pointer;
	outline: inherit;
   	white-space: nowrap;
	min-width: 24rem; }

button.map__filter__btn {
	position: relative;
	padding: .4em 1em; }

.map__filter__btn:after {
	content: '';
	position: absolute;
	display: block;
	top: 50%;
	transform: translateY(-50%) rotate(0deg);
	transition: transform .3s;
	right: .5em;
	width: 2rem;
	height: 2rem;
	z-index: 1;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url("data:image/svg+xml,%3Csvg width='19px' height='12px' viewBox='0 0 19 12' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-456, -912)' fill='%230072CE'%3E%3Cg transform='translate(465, 917.5) rotate(90) translate(-465, -917.5)translate(459.5, 908.5)'%3E%3Cpolygon id='Fill-1' transform='translate(5.5316, 8.9684) rotate(90) translate(-5.5316, -8.9684)' points='12.1810081 14.4683868 5.53225163 8.02372672 -1.11810081 14.4683868 -3.46838675 12.1907941 5.53241122 3.46838675 14.5316132 12.1907941'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }


.map__filter__btn[aria-expanded="true"]:after {
	transform: translateY(-50%) rotate(180deg); }
	
	


.map__filter .count {
	font-size: 1.6rem;
	background: var(--color__sky);
   border-radius: 4px;
   min-width: 1.5em;
   text-align: center;
   display: inline-block;
  color: var(--color__white); }
	

		
.map__search-input {
	height: 1em; }


.map__search-suggestions {
	overflow: auto;
	margin-top: 5px;
	border-radius: 6px;
	height: 400px; }

.map__filters,
.map__filter__dropdown {
	box-shadow: 0 0 6px rgba(0,0,0,.15); }

.map__filter {
	position: relative; }

/* Dropdown */
.map__filter__dropdown,
.map__search-suggestions {
	position: absolute;
	background: var(--color__light-gray); }

.map__filter__dropdown {
	z-index: -10;
	border-radius:  0 0 10px 10px;
	font-size: 1.8rem; }

.map__filter__dropdown,
.map__search-suggestions {
	min-width: 100%; }


.map__filter__dropdown label {
	font-weight: 400; }
	
.map__filter__dropdown ul {
	margin: .5em 0; }
	
.map__filter__dropdown li {
	white-space: nowrap;
	padding: .2em 1em; }


/* Checks */
.map__filter__dropdown input[type="checkbox"] {
	display: none; }
	
.map__filter__dropdown .check {
	display: inline-block;
	border-radius: 3px;
	background: var(--color__lime);
	border: 3px solid var(--color__lime);
	width: 1.25rem;
	height: 1.25rem;
	margin-right: 1rem;
	position: relative; }	

.map__filter__dropdown input[type="checkbox"]:checked + .check:after {
	content: '';
	position: absolute;
	display: block;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	font-size: 1.5rem;
	line-height: 1em;
	text-align: center;
	background: no-repeat center;
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 436.5 366.5' style='enable-background:new 0 0 436.5 366.5;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M376.3,24.4c-11.8,0.3-23,5.3-31.2,13.7C274.4,109,219.9,168.4,155,234.8l-65.9-55.7 c-9.1-8.2-21.2-12.4-33.4-11.5s-23.6,6.6-31.5,15.9S12.5,205,13.7,217.2c1.2,12.2,7.3,23.4,16.9,31l98.2,83.1 c8.7,7.4,19.8,11.2,31.2,10.7c11.4-0.5,22.2-5.2,30.2-13.3c81.5-81.7,139.5-146.9,219.2-226.7c8.7-8.6,13.6-20.3,13.6-32.5 c0-12.2-5-23.9-13.8-32.4C400.4,28.6,388.6,24,376.3,24.4L376.3,24.4z'/%3E%3C/svg%3E%0A");
	background-size: contain; }

	
/* Search input */
.map__filter--search { 
	border-radius: 0 10px 10px 0;
	background-color: none;  }

.map__filter--search input {
	border-radius: 0 10px 10px 0 !important;
	min-width: 30rem;
	border-radius: 0; }

.map__filters__active .map__filter--search input {
	border-radius: 0 !important; }
	
		
/* Clear search */
.map__filters .map__filter--clear { 
	display: none;
	border-radius: 0 10px 10px 0; }

#clear-all {
	width: 3rem;
	text-align: center;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url("data:image/svg+xml,%3Csvg width='16px' height='15px' viewBox='0 0 16 15' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-1403, -909)' fill='%230C2340' fill-rule='nonzero'%3E%3Cpath d='M1416.30374,911.196662 C1413.37486,908.267779 1408.62595,908.267779 1405.69707,911.196662 C1402.76818,914.125545 1402.76818,918.874455 1405.69707,921.803338 C1408.62595,924.732221 1413.37486,924.732221 1416.30374,921.803338 C1419.23263,918.874455 1419.23263,914.125545 1416.30374,911.196662 Z M1413.65161,920.477738 L1411.00022,917.8256 L1408.34883,920.477738 L1407.02244,919.15135 L1409.67458,916.499963 L1407.02244,913.848575 L1408.34883,912.522187 L1411.00022,915.174325 L1413.65161,912.522187 L1414.97799,913.848575 L1412.32586,916.499963 L1414.97799,919.15135 L1413.65161,920.477738 Z'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }

#clear-all span {
	display: none; }	
	
.map__filters__active .map__filter--clear { 
	display: flex; }

.map__filter--clear .tooltip { 
	position: absolute;
	width: 10rem;
	display: none;
	background: var(--color__light-gray);
	font-size: 1.4rem;
	text-align: center;
	border-radius: 5px;
	padding: 5px;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	margin-top: 10px; }

.map__filter--clear .tooltip::after {
	content: "";
	position: absolute;
	top: -8px;
	left: 50%;
	transform: translateX(-50%);
	border-width: 0 8px 8px 8px;
	border-style: solid;
	border-color: transparent transparent var(--color__light-gray) transparent;
	width: 0;
	height: 0; }

.map__filter--clear:hover .tooltip { 
	display: block !important; }
	

/* Status */
.map__filter--status {
	display: none; }
	
/* Agent network */
.map__search__fallback {
	padding: 2rem 1.5rem ; }

.map__search__fallback h2 {
	font-size: 2rem; }
	
.map__search__fallback p {
	font-size: 1.4rem; }	

.map__search__fallback p a {
	text-align: center;
	width: 100%; }	


/* Mobile search */
.map__filter--mobilesearch {
	display: none; }
			
/* ================
    FILTERS - MOBILE
    ================ */

@media (max-width:1150px) {
	
	
	.map__filters {
		background: var(--color__white);
		border-radius: 0 10px 10px 0;
		overflow: hidden;
		height: calc(100% - 40px);
		top: 20px;
		width: calc(100% - 40px);
		transform: unset;
	   	flex-direction: column; }

	.map__filters__icon {
		display: none; }
	
	.map__filter {
		border-bottom: 2px solid #F3f3f3;
		background: var(--color__white);
	   	width: calc(100% - 50px); }
		
	.map__filter button {
		width: 100%; }
		
	button.map__filter__btn	{
		padding: .75em 1em .75em 5rem; }
		
	.map__filter__dropdown {
		background: var(--color__white);
		position: relative;
		z-index: 1;
		border-radius: 0;
		box-shadow: none; }
	
	.map__filter__dropdown ul {
		margin: 0;
		margin-left: 4rem;
	   padding: .5em 0 1em; }
						
	/* Status */
	.map__filter--status {
		z-index: 900;
		background: var(--color__light-gray);
		width: 50px;
		right: 0;
		height: 100%;
		position: absolute;
		display: block; }
	
	
	/* Toggle icon */
	.map__filter__btn:after {
		left: .5em;
		right: auto; }
	
	
	/* Count */
	.map__filter button .count {
		display: none; }
	
	/* Move search */
	.map__filter--search {
		padding: .75em 1em;
		border-radius: 0;
		box-sizing: border-box;
		order: -1; }
		
	.map__search-suggestions {
		background: var(--color__white);
		height: auto;
		max-height: 400px;
		position: relative; }
		
	.map__filter--search input,
	.map__filters__active .map__filter--search input {
		background: none;
		border: 2px solid #F3f3f3;
		border-radius: 6px !important;
		width: 100%; }
	
	
		
	/* Toolbar */
	.map__filters {
		transition: left .6s;
		left: calc(-100% + 90px); }
		   
	.map__filters.active {
		left: 0; }
	
	.toolbar {
		text-align: center;
		align-items: center;
		display: flex;
		flex-direction: column;
		gap: 5rem; }
		 
	.toolbar__icon {
		width: 100%;
		height: 4rem;
		padding: 1rem 0;
		display: flex;
		justify-content: center;
		align-items: center;
		 padding: 1rem 0;
	   text-align: center;
	  position: relative; 	}
	
	.toolbar__icon .filters,
	.toolbar__icon .close {
	  position: absolute;
	  left: 50%;
	  top: 50%;
	  height: 2rem;
	  transform: translate(-50%, -50%); }
	.toolbar__icon .close {
	  display: none; }
	
	.map__filters.active .toolbar__icon .filters {
	  display: none;
	}
	.map__filters.active .toolbar__icon .close {
	  display: block;
	}
	
		
		
	.toolbar__label .label {
		display: inline-block;
		width: auto; 
	    height: auto;
		transform: rotate(-90deg); }	
	
	
	/* Mobile search */
	.map__filter--mobilesearch {
		text-align: center;
		display: block;
	   padding: 1em; }
		
	.map__filter--mobilesearch .btn {
		min-width: 50%; }	
	
	/* Clear */
	
	.map__filter--clear {
		text-align: center; }
	
	.map__filters .map__filter--clear .tooltip {
		display: none !important; }	
	
	#clear-all {
		margin: 0 auto;
		height: 6rem;
		line-height: 6rem;
		background-position: left center;
		width: 10rem; }
			
	#clear-all span {
		display: inline-block; }		
		
}

/* Narrow toolbar on smallest screens */
@media (max-width:600px) {
	
	.map__filter--status {
		width: 35px; }
		
	.map__filters {
		left: calc(-100% + 70px);
		width: calc(100% - 35px); }
}
	



/* ========
   LISTINGS
   ======== */

#maps .heading {
	background: #fff;
	border-bottom: 1px solid #eee;
	height: 60px;
	line-height: 60px;
	padding: 10px; }
  
.listings .item {
	display: none;
	border-bottom: 1px solid #eee;
	padding: 10px;
	text-decoration: none; }
 
.listings .item.filtered {
	display: block; }  
	   
.listings .item:last-child {
	border-bottom: none;  }
   
.listings .item .title {
	display: block;
	color: var(--color__midnight);
	font-weight: 700; }
  
   
.listings .item.active {
	background-color: var(--color__light-gray); }
   
 .listings .item div {
	font-size: 1.6rem; }

.listings a.item {
	display: block;
	color: var(--color__midnight); }
	
/* =======
   FILTERS
   ======= */


		
/* Icon */
.icon__filter {
	margin: .3em .5em; }


		

/* =====
   FLAGS
   ===== */

.listings .item .flag,
.mapboxgl-popup-content .flag {
	width: 1.6rem;
	height: 1.2rem;
	margin-right: .5em;
	display: inline-block;
	background-repeat: no-repeat;
	background-size: contain; }	   

.mapboxgl-popup-content .flag {
	width: 1.85rem;
	height: 1.4rem;
	margin-right: .2em; }	  
	
.mapboxgl-popup-content .flag.australia,
.listings .item .flag.australia { background-image: url('../../images/flags/4x3/au.svg'); }
	
.mapboxgl-popup-content .flag.brazil,
.listings .item .flag.brazil { background-image: url('../../images/flags/4x3/br.svg'); }
	
.mapboxgl-popup-content .flag.canada,
.listings .item .flag.canada { background-image: url('../../images/flags/4x3/ca.svg'); }

.mapboxgl-popup-content .flag.china,
.listings .item .flag.china { background-image: url('../../images/flags/4x3/cn.svg'); }

.mapboxgl-popup-content .flag.czechia,
.listings .item .flag.czechia { background-image: url('../../images/flags/4x3/cz.svg'); }

.mapboxgl-popup-content .flag.france,
.listings .item .flag.france { background-image: url('../../images/flags/4x3/fr.svg'); }

.mapboxgl-popup-content .flag.germany,
.listings .item .flag.germany { background-image: url('../../images/flags/4x3/de.svg'); }

.mapboxgl-popup-content .flag.hong-kong,
.listings .item .flag.hong-kong { background-image: url('../../images/flags/4x3/hk.svg'); }

.mapboxgl-popup-content .flag.hungary,
.listings .item .flag.hungary { background-image: url('../../images/flags/4x3/hu.svg'); }

.mapboxgl-popup-content .flag.india,
.listings .item .flag.india { background-image: url('../../images/flags/4x3/in.svg'); }

.mapboxgl-popup-content .flag.indonesia,
.listings .item .flag.indonesia { background-image: url('../../images/flags/4x3/id.svg'); }

.mapboxgl-popup-content .flag.ireland,
.listings .item .flag.ireland { background-image: url('../../images/flags/4x3/ie.svg'); }

.mapboxgl-popup-content .flag.italy,
.listings .item .flag.italy { background-image: url('../../images/flags/4x3/it.svg'); }

.mapboxgl-popup-content .flag.japan,
.listings .item .flag.japan { background-image: url('../../images/flags/4x3/jp.svg'); }

.mapboxgl-popup-content .flag.korea,
.listings .item .flag.korea { background-image: url('../../images/flags/4x3/kr.svg'); }

.mapboxgl-popup-content .flag.malaysia,
.listings .item .flag.malaysia { background-image: url('../../images/flags/4x3/my.svg'); }

.mapboxgl-popup-content .flag.mexico,
.listings .item .flag.mexico { background-image: url('../../images/flags/4x3/mx.svg'); }

.mapboxgl-popup-content .flag.netherlands,
.listings .item .flag.netherlands { background-image: url('../../images/flags/4x3/nl.svg'); }

.mapboxgl-popup-content .flag.new-zealand,
.listings .item .flag.new-zealand { background-image: url('../../images/flags/4x3/nz.svg'); }

.mapboxgl-popup-content .flag.philippines,
.listings .item .flag.philippines { background-image: url('../../images/flags/4x3/ph.svg'); }

.mapboxgl-popup-content .flag.poland,
.listings .item .flag.poland { background-image: url('../../images/flags/4x3/pl.svg'); }

.mapboxgl-popup-content .flag.romania,
.listings .item .flag.romania { background-image: url('../../images/flags/4x3/ro.svg'); }

.mapboxgl-popup-content .flag.singapore,
.listings .item .flag.singapore { background-image: url('../../images/flags/4x3/sg.svg'); }

.mapboxgl-popup-content .flag.south-africa,
.listings .item .flag.south-africa { background-image: url('../../images/flags/4x3/za.svg'); }

.mapboxgl-popup-content .flag.spain,
.listings .item .flag.spain { background-image: url('../../images/flags/4x3/es.svg'); }

.mapboxgl-popup-content .flag.taiwan,
.listings .item .flag.taiwan { background-image: url('../../images/flags/4x3/tw.svg'); }

.mapboxgl-popup-content .flag.thailand,
.listings .item .flag.thailand { background-image: url('../../images/flags/4x3/th.svg'); }

.mapboxgl-popup-content .flag.turkey,
.listings .item .flag.turkey { background-image: url('../../images/flags/4x3/tr.svg'); }

.mapboxgl-popup-content .flag.united-kingdom,
.listings .item .flag.united-kingdom { background-image: url('../../images/flags/4x3/gb.svg'); }

.mapboxgl-popup-content .flag.united-states,
.listings .item .flag.united-states { background-image: url('../../images/flags/4x3/us.svg'); }

.mapboxgl-popup-content .flag.vietnam,
.listings .item .flag.vietnam { background-image: url('../../images/flags/4x3/vn.svg'); }






/* ===========
   MAP MARKERS
   =========== */

.marker {
   border: none;
   cursor: pointer;
   height: 56px;
   width: 56px;
   background-image: url('../../images/ui/map-marker.png'); }

.marker.sky-blue {
	background-image: url('../../images/ui/map-marker__sky.png'); }

.marker.ocean-blue {
	background-image: url('../../images/ui/map-marker__ocean.png'); }

.mapboxgl-popup {
	min-width: 260px;
	max-width: 290px;
	padding-bottom: 50px; }
   
.mapboxgl-popup-close-button {
	   display: none;  }
   
.mapboxgl-popup-content {
	   padding: 0;
	   width: auto; }
   
.mapboxgl-popup-content h3 {
	   margin: 0;
	   font-size: 2.1rem;
	   font-weight: 700; }
   
.mapboxgl-popup-content h4 {
	   margin: 0;
	   padding: 10px;
	   font-weight: 400; }

.mapboxgl-popup-content p {
	   font-size: 1.4rem;
	   margin: 0; }
		  
.mapboxgl-popup-content div {
	   padding: 10px; }
   
.mapboxgl-popup-anchor-top > .mapboxgl-popup-content {
	   margin-top: 15px; }
   
.mapboxgl-popup-anchor-top > .mapboxgl-popup-tip {
	   border-bottom-color: #91c949;  }	
	   
.mapboxgl-popup p.contact-email {
	margin-top: 1em; }

.mapboxgl-popup p.contact-email + p.contact-email {
	margin-top: 0; }
		   
.mapboxgl-popup-content a.btn {
	background: var(--color__lime);
	color: var(--color__midnight);
	margin: 1rem auto;
	font-size: 1.4rem;
	padding: 10px;
	border-radius: 6px;
	border: 1px solid var(--color__lime) !important;
	display: block;
	font-weight: 500;
	text-align: center;  } 	

.mapboxgl-popup-content a.inline {
	display: block;
	color: var(--color__midnight);
	position: relative;
	padding: .5em 0 .5em 2em; }

.mapboxgl-popup-content a.inline .name {
	font-weight: 500; }
	
.mapboxgl-popup-content a.inline:before {
	content: '';
	display: inline-block;
	height: 1.3em;
	width: 1.3em;
	left: 0;
	position: absolute;
	transform: translate(0, 0.3em);
	transition: transform .3s;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 384'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%2337c4e5;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='m469.33,0H42.67C19.14,0,0,19.14,0,42.67v298.67c0,23.53,19.14,42.67,42.67,42.67h426.67c23.53,0,42.67-19.14,42.67-42.67V42.67c0-23.53-19.14-42.67-42.67-42.67ZM42.67,21.33h426.67c1.57,0,2.96.57,4.43.9-36.94,33.81-159.42,145.86-202.29,184.48-3.35,3.02-8.76,6.62-15.48,6.62s-12.12-3.6-15.49-6.64C197.65,168.09,75.16,56.03,38.23,22.23c1.48-.32,2.87-.9,4.44-.9Zm-21.33,320V42.67c0-2.09.63-3.99,1.19-5.9,28.27,25.88,113.74,104.06,169.15,154.45-55.24,47.45-140.72,128.49-169.22,155.67-.5-1.81-1.13-3.59-1.13-5.56Zm448,21.33H42.67c-1.7,0-3.22-.59-4.81-.97,29.45-28.07,115.48-109.59,169.74-156.01,7.07,6.42,13.54,12.27,18.63,16.86,8.79,7.94,19.08,12.12,29.77,12.12s20.98-4.19,29.76-12.11c5.1-4.59,11.56-10.45,18.64-16.87,54.27,46.42,140.29,127.93,169.74,156.01-1.59.38-3.1.97-4.81.97Zm21.33-21.33c0,1.97-.62,3.75-1.13,5.56-28.51-27.19-113.98-108.23-169.22-155.67,55.42-50.39,140.87-128.57,169.15-154.46.56,1.91,1.19,3.81,1.19,5.9v298.67Z'/%3E%3C/svg%3E"); } 

.mapboxgl-popup-content a.inline span {
	display: block; }
				   
.mapboxgl-popup-content a:focus {
	  outline: none !important; }
 

/* Services List */
.mapboxgl-popup-content ul.location-services-list {
	font-size: 1.1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 5px; }
	
.mapboxgl-popup-content ul.location-services-list li {
	display: inline-block; }

.mapboxgl-popup-content ul.location-services-list li span.btn__disabled,
.mapboxgl-popup-content ul.location-services-list li a.btn {
	border-radius: 2rem;
	margin: 0;
	padding: .25em .6em;
	display: block;
	font-size: 1.2rem; }

.mapboxgl-popup-content ul.location-services-list li span.btn__disabled {
	background-color: var(--color__light-gray);
	border: 1px solid #eee; }	
	
/* Custom - Pan */
.pan-control {
	box-shadow: none !important;
	background: none !important;
	display: grid;
	grid-template-columns: repeat(3, 30px);
	grid-template-rows: repeat(3, 30px);
	gap: 2px; }

.pan-control button {
	width: 30px;
	height: 30px;
	font-size: 18px;
	cursor: pointer; }

.mapboxgl-ctrl-group.pan-control button.pan {
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 0 0 2px #0000001a !important; }

.mapboxgl-ctrl-group.pan-control button.pan:hover {
	background: #f2f2f2; }
	
.mapboxgl-ctrl-group.pan-control button+button	{
	border: none; } 
	
.pan-control .empty {
	pointer-events: none;
	background: transparent;
	border: none; }

@media (max-width:1050px) {
	.pan-control {
		display: none; }	
}


@media (max-width:460px) {
	
	.mapboxgl-popup-content ul.location-services-list li span.btn__disabled,
	.mapboxgl-popup-content ul.location-services-list li a.btn {
		font-size: 1.1rem; }
}

	
	