.poi-map {
	height: 100%;
	width: 100%;
}

#poi-map {
	width: 100%;
	height: 40vh;
}

.poi-map .gm-style-iw {
	font-family: "FiraSans" !important;
	border-radius: 0 !important;
	border: 2px solid #1c1c1c;
	padding-inline: 1.125rem;
}

.poi-map .gm-style-iw.gm-style-iw-c {
	max-width: 340px !important;
}

.poi-map .gm-style-iw div {
	margin-bottom: 0 !important;
}

.poi-map .gm-style-iw-t {
	bottom: 45px !important;
}

.poi-map .gm-ui-hover-effect {
	top: 0 !important;
	right: 0 !important;
	opacity: 1;
}

.poi-map .gm-style-iw .infobox-image {
	display: block;
	width: calc(100% - 0.5rem);
	max-height: 130px;
	object-fit: cover;
	margin-top: 0.65rem;
	margin-bottom: 1rem;
}

.poi-map .gm-style-iw .infobox-title {
	font-size: 1.5rem;
	margin-top: 0;
	margin-bottom: 4px;
}

.poi-map .gm-style-iw .infobox-excerpt {
	font-size: 0.9rem;
	margin-bottom: 1.1rem;
}

.poi-map .gm-style-iw .infobox-events {
	font-size: 1.1rem;
	margin-top: 0;
	margin-bottom: 4px;
}

.poi-map .gm-style-iw .infobox-event {
	background-color: var(--wp--preset--color--rosa);
	margin-top: 0;
	margin-bottom: 5px;
	padding: 0.5rem 1.75rem 0.5rem 0.9rem;
	font-size: 0.9rem;
	font-weight: normal;
	display: block;
	position: relative;
	color: #1c1c1c;
}

.poi-map .gm-style-iw p:empty {
	display: none;
}

.poi-map .gm-style-iw .infobox-event::after {
	border-right: 2px solid #1c1c1c;
	border-top: 2px solid #1c1c1c;
	width: 10px;
	height: 10px;
	content: '';
	transform: rotate(45deg) translateX(calc(sqrt(2) * -50%)); /* sqrt(2) to account for rotation */
	position: absolute;
	top: 50%;
	right: 5px;
}

.poi-map .gm-style .gm-style-iw-tc {
	-webkit-filter: none;
	filter: none;
}

.poi-map .gm-style .gm-style-iw-tc::after {
	background: #fff;
	content: "";
	height: 25px;
	left: 0;
	position: absolute;
	clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 90%, 90% 0); /* clip out top half of the rotated square to prevent overlap */
	-webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 90%, 90% 0);
	top: -13px;
	width: 25px;
	transform: rotate(45deg);
	border-right: 2px solid #1c1c1c;
	border-bottom: 2px solid #1c1c1c;
}

.mod-dm .poi-map .gm-style-iw.gm-style-iw-c {
	background-color: #1c1c1c;
	border-color: #fff;
}

.mod-dm .poi-map .gm-style .gm-style-iw-tc::after {
	background-color: #1c1c1c;
	border-color: #fff;
}

.mod-dm .gm-ui-hover-effect > span {
	background-color: #fff;
}