.elementor-4797 .elementor-element.elementor-element-4af26e49:before {

	background: #424243 !important;
	height: 100% !important;
}

.property-wrapper {

	padding-top: 95px !important;
}

@media (max-width: 767px) {

	.elementor-location-header {

		position: sticky;
		top: 0;
		z-index: 1000;
	}

	.property-wrapper {

		padding-top: 74px !important;
	}
}

.elementor-lightbox {

	--lightbox-ui-color: black;
}

.elementor-lightbox .dialog-lightbox-close-button svg, .elementor-lightbox .elementor-swiper-button svg,
.elementor-slideshow__header > svg {

	fill: black !important;
}

.elementor-swiper-button {

	top: 50% !important;
	position: absolute !important;
	transform: translateY(-50%) !important;
	width: 2rem !important;
	color: black !important;
	z-index: 1000;
}

.dialog-type-lightbox {

	background: white !important;
}

.elementor-lightbox .swiper .swiper-pagination-fraction {

	color: black !important;
}

.property-wrapper {

	flex-grow: 1;
	padding-top: 120px;
}

.property-photos {

	position: relative;
}

@media (min-width: 1200px) {
	.container {
		max-width: 1800px !important;
	}
}

.photos-grid {

	display: grid;
	height: 460px;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 0;
	grid-row-gap: 0;
	gap: 2px;
}

.photos-grid img {

	height: 100%;
	width: 100%;
	object-fit: cover;
	max-height: calc(460px / 2);
}

.photo1 {
	grid-area: 1 / 1 / 3 / 3;
}

.photo1 img {

	max-height: 460px !important;
}

.photo2 {
	grid-area: 1 / 3 / 2 / 4;
}

.photo3 {
	grid-area: 1 / 4 / 2 / 5;
}

.photo4 {
	grid-area: 2 / 3 / 3 / 4;
}

.photo5 {
	grid-area: 2 / 4 / 3 / 5;
}

@media (max-width: 767px) {

	.photos-grid {

		display: block;
		width: calc(100% + 1.5rem);
		margin-left: -0.75rem;
		margin-top: -0.75rem;
	}

	.photo1 {

		height: 100%;
	}

	.photo2, .photo3, .photo4, .photo5 {
		display: none;
	}
}

.property-actions {

	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 10;
}

.btn.btn-action {

	padding-left: 1.5rem;
	padding-right: 1.5rem;
	border-radius: 100px;
	color: white;
	background: rgba(0, 0, 0, 0.5);
	border: 1px solid rgba(255, 255, 255, 0.5);
}

.btn.btn-action:hover {

	border: 1px solid white;
	background: var(--brand1);
}

.breadcrumb {

	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.breadcrumb svg {

	fill: transparent;
	width: 6px;
	height: 10px;
}

.breadcrumb a {

	color: var(--brand1);
	text-decoration: none;
}

.breadcrumb a:hover {

	text-decoration: underline;
}

.property-columns {

	display: flex;
}

.property-columns .property-main-info {

	flex-grow: 1;
}

.property-columns .property-sidebar {

	flex-shrink: 0;
	width: 380px;
	margin-bottom: 4rem;
	max-width: 100%;
}

@media (max-width: 767px) {
	.property-columns {

		flex-direction: column;
	}
}

.property-title {

	font-size: 1.6rem;
}

@media (max-width: 767px) {
	.property-title {

		font-size: 1.2rem;
	}
}

.property-heading {

	font-size: 1rem;
	color: #666;
}

.property-price {

	font-size: 1.5rem;
	color: #666;
}

.top-details {

	margin-bottom: 2rem;
}

.top-details .dot {

	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #666;
}

.property-box {

	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid #ddd;
}

.property-box h2 {

	font-size: 1.5rem;
}

.property-description .full-description {

	display: none;
}

.property-description .full-description ul {

	padding-left: 0;
}

.property-description .full-description ul, ol {

	margin: 0 0 1.5em 2em;
}

.description-control {

	text-decoration: none;
	color: black !important;
	font-weight: bold;
}

.sticky-sidebar {

	position: sticky !important;
	top: 1rem;
}

.property-agent-card {

	padding: 2rem;
	margin-top: 2rem;
	margin-bottom: 2rem;
}

@media (max-width: 767px) {

	.property-agent-card {

		padding: 1rem;
	}
}

.office-wrapper {

	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.office-wrapper img {

	width: 120px;
}

.office-wrapper .office-name {

	font-weight: bold;
	margin-bottom: 0;
	font-size: 1.2rem;
}

.office-wrapper .office-email {

	margin-bottom: 0;
}

.office-wrapper .office-email a {

	color: var(--brand1);
	text-decoration: none;
}

.office-wrapper .office-email:hover {

	text-decoration: underline;
}

.agent-wrapper {

	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 2rem;
}

.agent-wrapper img {

	width: 80px;
	height: 80px;
	border-radius: 50%;
}

.agent-wrapper .agent-name {

	font-weight: bold;
}

.agent-wrapper .agent-phone,
.agent-wrapper .agent-email {

	font-size: 0.75rem;
}

.property-features .feature {

	display: flex;
	align-items: center;
	gap: 0.5rem;
}


.property-features .feature .icon {

	width: 24px;
	height: 24px;
}

.property-features .feature .label {

	font-weight: bold;
}

.btn.btn-submit {

	border-color: var(--brand1);
	background: var(--brand1);
	color: black;
}

.map-wrapper {

	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 1000;
	top: 100%;
	left: 0;
	transition: top 0.3s ease-in-out;
	display: flex;
	flex-direction: column;
	background: white;
}

.map-wrapper.active {
	top: 0;
}

.map-wrapper .map-header {

	padding: 1rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.map-wrapper .map-header .map-close svg {

	width: 24px;
	height: 24px;
}

.map-wrapper .map-header h2 {

	font-size: 1.2rem;
	margin-bottom: 0;
}

.map-wrapper .iframe-wrapper {

	position: relative;
	flex-grow: 1;
}

.map-wrapper iframe {

	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.grecaptcha-badge {

	display: none !important;
}

.mobile-cta {

	position: sticky;
	bottom: 0;
	left: 0;
	background: white;
	width: 100%;
	padding: 1rem;
	box-shadow: 0 -2px 1rem rgba(0, 0, 0, 0.1);
	z-index: 1000;
}

@media (min-width: 768px) {

	.mobile-cta {

		display: none;
	}
}


.contact-form-thanks {

	position: absolute;
	top: 0;
	left: 0;
	background: white;
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10;
	opacity: 0;
	pointer-events: none;
}

.contact-form-thanks.active {

	opacity: 1;
	pointer-events: auto;
	transition: opacity 0.3s ease-in-out;
}


.contact-form-thanks h3 {

	text-align: center;
}

.property-contact-form {

	position: relative;
}