/* @group Map
------------------------------------ */

.map-point-interest li {
    font-size: 1rem;
}
.map-point-interest .map-container {
	height: 85rem;
}

.map-point-interest #locationsMap {
	width: 100%;
	height: 100%;
}
.map-point-interest .row {
	position: relative;
}

@media only screen and (min-width: 961px) {
}
@media only screen and (min-width: 961px) and (max-width: 1440px) {
}
@media only screen and (min-width: 0) and (max-width: 960px) {
}

/* @end */

/* @group Filters
------------------------------------ */

.map-point-interest .col-filters {
	position: absolute;
}
.map-point-interest .filter-content {
	background: var(--white);
	position: relative;
	border-radius: 0 5rem;
	overflow: hidden;
	box-shadow: 0 0 5rem 0.8rem rgba(0, 0, 0, 0.25);
}
.map-point-interest .filter-content::before {
	content: '';
	position: absolute;
	inset: 0;
	opacity: 0.35;
	background-image: url('../../img/layout/globals/texture-grained.png');
	background-size: cover;
}
.map-point-interest .filter-content > * {
	position: relative;
	z-index: 1;
}
.map-point-interest .col-filters ul {
	list-style: none;
	padding: 0;
}

.map-point-interest .filter-content ul li {
	font: unset;
	font-size: 1rem;
}
.map-point-interest .filter-content button {
	padding-left: 4.9rem;
	position: relative;
}

.map-point-interest .filter-content button:not(.active)::after {
	opacity: 0;
}

.map-point-interest ul button,
.map-point-interest h2 {
	text-transform: uppercase;
	color: var(--green, #2c714f);
}
body:not(.home) .map-point-interest .textlink {
	display: none;
}
.page-template-retail .map-point-interest .col-filters { opacity: 0; pointer-events: none; }
@media only screen and (min-width: 961px) {
	body:not(.page-template-retail) .map-point-interest .col-filters {
		top: 5.5rem;
		bottom: 12.4rem;
		right: 5.4rem;
		width: 49.6rem;
	}
	body:not(.page-template-retail) .map-point-interest .filter-content {
		padding: 8.3rem 8.8rem 12.7rem 8.8rem;
	}
    .map-point-interest .filter-content {
        border-radius: 0 5rem ;
    }
	.map-point-interest .filter-content button::before {
		content: '';
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		border: 0.1rem var(--green) solid;
		width: 2.9rem;
		height: 2.9rem;
		border-radius: 50px;
	}
	.map-point-interest .filter-content button::after {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		background: var(--gold, #df8d13);
		width: 1.5rem;
		height: 1.5rem;
		margin: 0.7rem;
		border-radius: 50px;
		transition: 0.5s;
	}
	.map-point-interest header {
		padding-bottom: 9.1rem;
		max-width: 25rem;
	}

	.map-point-interest .filter-content ul {
		margin-bottom: 5.8rem;
	}
	.map-point-interest .filter-content h2 {
		font: normal 700 3.3em/1.08em var(--nobel-font);
		letter-spacing: var(--header-letterspacing);
	}
	.map-point-interest .filter-content button {
		position: relative;
		font: normal 700 1.97em var(--brandon-font);
	}
	body:not(.page-template-retail)
		.map-point-interest
		.filter-content
		ul
		li:not(:last-child) {
		margin-bottom: 2.7rem;
	}
}
@media only screen and (min-width: 961px) and (max-width: 1440px) {
}
@media only screen and (min-width: 0) and (max-width: 960px) {
	.map-point-interest {
		margin-bottom: 15rem;
	}
	.map-point-interest .col-filters {
		bottom: -15rem;
		width: 100%;
		z-index: 2;
		padding: 0;
	}
	.map-point-interest .fake-wrapper {
		position: relative;
		z-index: 2;
	}
	.map-point-interest .col-map {
		padding: 0;
	}
	.map-point-interest .filter-content {
		padding: 4rem 3rem;
		text-align: center;
		overflow: visible;
	}
	body:not(.page-template-retail)
		.map-point-interest
		.filter-content::before {
		overflow: hidden;
		border-radius: 0 5rem;
	}
	.map-point-interest ul {
		background-color: var(--med-green);
		position: absolute;
		width: 100%;
		margin: 0;
		max-height: 0;
		overflow: hidden;
		transition: 0.5s;
	}
	.map-point-interest .mobile-open ul {
		max-height: 25rem;
	}
	.map-point-interest .mobile-open button:first-child i {
		transform: rotate(180deg);
	}

	.map-point-interest .filter-content h2 {
		font: normal 700 3em/1.2em var(--nobel-font);
		letter-spacing: var(--header-letterspacing);
		max-width: 32rem;
		margin: auto;
		margin-bottom: 4rem;
	}
	.map-point-interest .fake-wrapper > button {
		font: unset;
		font-size: 1rem;
	}
	.map-point-interest ul button,
	.map-point-interest .fake-wrapper span {
		font: normal 400 1.5em/1.2em var(--nobel-font);
		letter-spacing: var(--header-letterspacing);
		text-transform: uppercase;
		color: var(--white);
	}
	.map-point-interest .filters .fake-wrapper button {
		background-color: var(--med-green);
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		padding: 0.8rem 2.2rem;
		border-radius: 0;
	}
	.map-point-interest ul button {
		width: 100%;
		padding: 1rem 2.2rem;
		text-align: left;
	}
	.map-point-interest .filters .fake-wrapper i {
		font-size: 1rem;
		color: var(--white);
		pointer-events: none;
		transition: transform 0.4s ease;
	}
	.map-point-interest .textlink {
		margin-top: 7.4rem;
	}
}

/* @group Animations
------------------------------------ */

.map-point-interest .map,
.map-point-interest .filter-content {
    opacity: 0;
}

.map-point-interest.animateActive .map {
    animation: var(--fade);
}

.map-point-interest.animateActive .filter-content {
    animation: var(--fadeUp);
    animation-delay: calc(var(--delay-short) * 3);
}

.bubble {
	border-radius: 0!important;
	width: 32rem!important;
	min-height: 10rem!important;
	height: fit-content!important;
	border-color: var(--white)!important;
	box-shadow: 0px 0px 17px rgba(0, 0, 0, 0.25);
	padding: 2.3rem!important;
}

.bubble .box {
	text-align: center;
}
.bubble .box h4 {
	font: 900 2.4rem / 1em var(--brandon-font);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--black);
	margin: 0 0 1rem;
}
.bubble .box p {
	font: 400 1.4rem / 1em var(--brandon-font);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--green);
}
.bubble .box a {
	font: 700 1.4rem / 1em var(--brandon-font);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--gold);
	margin: 1.5rem 0 0;
}