.map_wrapper {
	max-width: 100%;
	width:100%;
	overflow:hidden;
}

.map_box {
	max-width: 100%;
	margin: 0 auto;
	overflow:hidden;
}

.map_wrapper .map_aspect_ratio {
	max-width: 100%;
	width:100%;
	position: relative;
	height: 0;
}

.map_wrapper:fullscreen {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 999999;
	text-align: center;
	padding:10px;
}


.map_wrapper:fullscreen .map_aspect_ratio {
	position: inherit;
	padding-bottom: 100%;
	overflow:hidden;
}



.map_wrapper .map_container {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

.map_container .map_render {
	height:100%;
}

/* Pointer events for marker labels */
.imapsCircle-group + .imapsLabel-group {
	pointer-events:none;
}


/* Tooltip */
.imapsLabel foreignObject br {
	height:0px;
	content: '';
	clear:both;
	display: block;
}

.imapsLabel foreignObject p {
	margin:0;
	padding:0;
}

.imapsLabel foreignObject {
	box-sizing: content-box;
}

.imapsLabel foreignObject img {
	margin:0;
	padding:0;
	display: block;
	position: relative;
	max-width:100%;
	box-sizing: content-box;
}

.imapsLabel foreignObject img.aligncenter {
	margin:0 auto;
}

.imapsInnerTooltip {
	display:block;
	white-space:initial;
	word-break: initial;
	word-wrap: initial;
	width:100%;
}

/* twentytwenty fix for css rule affecting all svg paths */
.map_wrapper path {
	transition: inherit;
}

.imaps_fullscreen_button_only_mobile,
.igm_select_mobile_only {
	display:none;
}

.igm_select_container {
	margin-bottom:20px;
}

.map_wrapper:fullscreen .imaps_fullscreen_button {
	display:none;
}

/* External Controls */
.map_controls {
	display: none;
}

@media only screen and (max-width: 768px) {
	.imaps_fullscreen_button_only_mobile,
	.igm_select_mobile_only {
		display:block;
	}
	.map_wrapper:fullscreen .imaps_fullscreen_button_only_mobile {
		display:none;
	}

	/* External Controls */
	.map_controls {
		width:100%;
		display:flex;
		flex-direction:row;
		justify-content:space-between;
		padding:20px 0;
	}

	.map_controls > div {
		background:#d9d9d9;
		font-size:1.5em;
		cursor:pointer;
		width:30%;
		text-align:center;
		border-radius: 3px;
	}

	.map_controls .map_home_button {
		display:flex;
		align-items: center;
		justify-content: center;
	}

	.map_has_external_controls .imapsZoomControl-group {
		display:none;
	}

	.map_wrapper.map_has_external_controls:fullscreen .imapsZoomControl-group {
		display:inherit;
	}
}

/* Elementor Preview */
.elementor-editor-active .map_wrapper .map_render {
	content: 'Map';
	color: #FFF;
	background-color: #CCC;
	padding:20px;
}

.oxygen-body .map_wrapper .map_render {
	content: 'map';
	background-color: #CCC;
	padding:20px;
}

/* List of Maps Styles */
.igm_preview_list ul.igm_preview_main_list {
	list-style-type: none;
	display: flex;
	justify-content: space-between;
	padding:0px;
	max-width:100%;
	flex-wrap: wrap;
} 

.igm_preview_list ul.igm_preview_main_list li {
	text-align: left;
	padding: 0 25px 0px 0px;
	width: 265px;
	font-size: 0.8em;
	white-space: nowrap;
	margin: 0 0 5px 0;
}

.igm_preview_list ul.igm_preview_main_list li .igm_small_list_text {
	font-size:0.8em;
}

.igm_preview_list h2 {
	text-align: center;
}

h2.igm_preview_list_title {
	padding:20px 0;
}

.igm_preview_map_list_dropdown {
	margin:20px 0;
	width:100%;
}