@charset "UTF-8";
/**
 * GenieBuilder — a whole listing page without a page builder (GB_Single_Page).
 * The parts keep their own styles; this file only places them.
 *
 * Desktop, Tablet and Mobile (1025px and wider, 768–1024px, 767px and
 * narrower) can each have their own options, as classes ending -d, -t and
 * -m; "Screen sizes" at the end lays out each.
 */

.mlsg-gb-page {
	--mlsg-gb-page-gap: var(--genie-section, 2.5rem);
	--mlsg-gb-page-side: 22rem;
	/* Below the pinned section links (gb-listing.js sets their offset). */
	--mlsg-gb-page-sticky: calc(var(--mlsg-gb-listing-nav-offset, 0px) + 1rem);
	display: flex;
	flex-direction: column;
	gap: var(--mlsg-gb-space-lg);
	min-width: 0;
}

.mlsg-gb-page__cols {
	display: flex;
	align-items: flex-start;
	gap: var(--mlsg-gb-page-gap);
	margin-top: var(--mlsg-gb-space-md);
}

.mlsg-gb-page__main {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: var(--mlsg-gb-page-gap);
	min-width: 0;
}

.mlsg-gb-page__part {
	min-width: 0;
	scroll-margin-top: var(--mlsg-gb-page-sticky);
}

.mlsg-gb-page__part + .mlsg-gb-page__part {
	padding-top: var(--mlsg-gb-page-gap);
	border-top: 1px solid var(--mlsg-gb-color-border);
}

.mlsg-gb-page__h2 {
	margin: 0 0 var(--mlsg-gb-space-md);
	font-size: var(--genie-h3-size, 1.5rem);
	line-height: 1.25;
	color: var(--mlsg-gb-color-text);
}

.mlsg-gb-page__side {
	display: flex;
	flex: 0 0 var(--mlsg-gb-page-side);
	flex-direction: column;
	gap: var(--mlsg-gb-space-lg);
	position: sticky;
	top: var(--mlsg-gb-page-sticky);
	min-width: 0;
}

.mlsg-gb-page__contact {
	scroll-margin-top: var(--mlsg-gb-page-sticky);
	padding: var(--mlsg-gb-space-lg);
	border: 1px solid var(--mlsg-gb-color-border);
	border-radius: var(--mlsg-gb-radius-card);
	background: var(--mlsg-gb-color-surface);
	box-shadow: var(--mlsg-gb-shadow-card);
}

.mlsg-gb-page__widgets {
	display: flex;
	flex-direction: column;
	gap: var(--mlsg-gb-space-lg);
}

.mlsg-gb-page > .mlsg-gb-page__part--similar,
.mlsg-gb-page > .mlsg-gb-page__part--recent {
	padding-top: var(--mlsg-gb-page-gap);
	border-top: 1px solid var(--mlsg-gb-color-border);
}

/* Something shown at some sizes only: laid out as if the box were not there. */
.mlsg-gb-page__at {
	display: contents;
}

.mlsg-gb-page__legal {
	display: flex;
	flex-direction: column;
	gap: var(--mlsg-gb-space-md);
}

/* ── Screen sizes ── */
/* Desktop */
@media (min-width: 1025px) {
	/* The side column: right (as drawn), left, below the home, or none. */
	.mlsg-gb-page__cols--side-left-d {
		flex-direction: row-reverse;
	}

	.mlsg-gb-page__cols--side-below-d {
		flex-direction: column;
		align-items: stretch;
	}

	.mlsg-gb-page__cols--side-below-d .mlsg-gb-page__side {
		position: static;
		flex-basis: auto;
	}

	/* Share and print, the photo area's view buttons, the overview's map. */
	.mlsg-gb-page--tools-off-d .mlsg-gb-listing-header__tools,
	.mlsg-gb-page--views-off-d .mlsg-gb-gallery-views__bar,
	.mlsg-gb-page--ovmap-off-d .mlsg-gb-listing-overview__map {
		display: none;
	}

	/* Similar homes: as many as the size shows. */
	.mlsg-gb-page--sim-2-d .mlsg-gb-page__part--similar .mlsg-gb-grid__item:nth-child(n + 3),
	.mlsg-gb-page--sim-3-d .mlsg-gb-page__part--similar .mlsg-gb-grid__item:nth-child(n + 4),
	.mlsg-gb-page--sim-4-d .mlsg-gb-page__part--similar .mlsg-gb-grid__item:nth-child(n + 5),
	.mlsg-gb-page--sim-5-d .mlsg-gb-page__part--similar .mlsg-gb-grid__item:nth-child(n + 6) {
		display: none;
	}
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
	/* The side column: right (as drawn), left, below the home, or none. */
	.mlsg-gb-page__cols--side-left-t {
		flex-direction: row-reverse;
	}

	.mlsg-gb-page__cols--side-below-t {
		flex-direction: column;
		align-items: stretch;
	}

	.mlsg-gb-page__cols--side-below-t .mlsg-gb-page__side {
		position: static;
		flex-basis: auto;
	}

	/* Share and print, the photo area's view buttons, the overview's map. */
	.mlsg-gb-page--tools-off-t .mlsg-gb-listing-header__tools,
	.mlsg-gb-page--views-off-t .mlsg-gb-gallery-views__bar,
	.mlsg-gb-page--ovmap-off-t .mlsg-gb-listing-overview__map {
		display: none;
	}

	/* Similar homes: as many as the size shows. */
	.mlsg-gb-page--sim-2-t .mlsg-gb-page__part--similar .mlsg-gb-grid__item:nth-child(n + 3),
	.mlsg-gb-page--sim-3-t .mlsg-gb-page__part--similar .mlsg-gb-grid__item:nth-child(n + 4),
	.mlsg-gb-page--sim-4-t .mlsg-gb-page__part--similar .mlsg-gb-grid__item:nth-child(n + 5),
	.mlsg-gb-page--sim-5-t .mlsg-gb-page__part--similar .mlsg-gb-grid__item:nth-child(n + 6) {
		display: none;
	}


	.mlsg-gb-page {
		--mlsg-gb-page-side: 17rem;
	}
}

/* Mobile */
@media (max-width: 767px) {
	/* The side column: right (as drawn), left, below the home, or none. */
	.mlsg-gb-page__cols--side-left-m {
		flex-direction: row-reverse;
	}

	.mlsg-gb-page__cols--side-below-m {
		flex-direction: column;
		align-items: stretch;
	}

	.mlsg-gb-page__cols--side-below-m .mlsg-gb-page__side {
		position: static;
		flex-basis: auto;
	}

	/* Share and print, the photo area's view buttons, the overview's map. */
	.mlsg-gb-page--tools-off-m .mlsg-gb-listing-header__tools,
	.mlsg-gb-page--views-off-m .mlsg-gb-gallery-views__bar,
	.mlsg-gb-page--ovmap-off-m .mlsg-gb-listing-overview__map {
		display: none;
	}

	/* Similar homes: as many as the size shows. */
	.mlsg-gb-page--sim-2-m .mlsg-gb-page__part--similar .mlsg-gb-grid__item:nth-child(n + 3),
	.mlsg-gb-page--sim-3-m .mlsg-gb-page__part--similar .mlsg-gb-grid__item:nth-child(n + 4),
	.mlsg-gb-page--sim-4-m .mlsg-gb-page__part--similar .mlsg-gb-grid__item:nth-child(n + 5),
	.mlsg-gb-page--sim-5-m .mlsg-gb-page__part--similar .mlsg-gb-grid__item:nth-child(n + 6) {
		display: none;
	}


	/* No room beside: the side column follows the home. */
	.mlsg-gb-page__cols {
		flex-direction: column;
		align-items: stretch;
	}

	.mlsg-gb-page__side {
		position: static;
		flex-basis: auto;
	}
}
