/* Project widgets: theme project-details styles, own layout */
.e-con :is(.elementor-widget-tg-project-header, .elementor-widget-tg-project-gallery, .elementor-widget-tg-project-features, .elementor-widget-tg-project-location, .elementor-widget-tg-project-plans, .elementor-widget-tg-project-downloads) {
	width: 100%;
}
.reland-project-empty {
	margin: 0;
	padding: 20px;
	border: 1px dashed currentColor;
	text-align: center;
}

/* Header */
.reland-project-header .project-details-top {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 30px;
	align-items: end;
}
.reland-project-header .project-details-top.is-title-only {
	grid-template-columns: minmax(0, 1fr);
}
/* Old site: text 20 above the title line, 65 to the facts */
.reland-project-header .project-details-title {
	margin-bottom: 15px;
}
.reland-project-header .right-side {
	margin-bottom: 35px;
}
.reland-project-header :is(.project-details-title span, .right-side p) {
	line-height: 1.86;
}
.reland-project-header .right-side p + p {
	margin-top: 15px;
}
/* Box = icon size (theme: line-height 0) */
.reland-project-header .info-item .icon,
.reland-project-header .info-item .icon i {
	line-height: 1;
}
.reland-project-header .info-item .icon i {
	display: block;
}

/* Gallery: slider */
.reland-pgallery.is-slider {
	--pg-w: min(var(--container-max-width, 1290px), calc(100% - 30px));
	position: relative;
	overflow: hidden;
}
/* Room for the tab shadow */
.reland-pgallery.is-slider:has(.reland-pgallery__tabs) {
	padding-bottom: 45px;
}
.reland-pgallery__slider.swiper {
	overflow: visible;
}
.reland-pgallery .swiper-slide {
	width: var(--pg-w);
	opacity: .4;
	transition: opacity .4s ease;
}
.reland-pgallery .swiper-slide-active {
	opacity: 1;
}
.reland-pgallery .swiper-slide:not(.swiper-slide-active) a {
	pointer-events: none;
}
.reland-pgallery .reland-gallery-item,
.reland-ptabs .reland-gallery-item {
	position: relative;
	margin: 0;
}
:is(.reland-pgallery, .reland-ptabs) .reland-gallery-item :is(img, .reland-pgallery__blank, .apartment-view) {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	aspect-ratio: var(--pg-ratio, 1290 / 785);
	object-fit: cover;
	border-radius: var(--pg-radius, 16px);
}
.reland-pgallery__blank {
	background: var(--tg-secondary-color, #202020);
}
:is(.reland-pgallery, .reland-ptabs) .apartment-view iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: inherit;
}
.reland-pgallery__open {
	display: block;
}
.reland-pgallery__play {
	z-index: 1;
}
.reland-pgallery__play:hover {
	color: var(--youtube, #ff0000);
	transform: translate(-50%, -50%) scale(1.08);
}
.reland-pgallery__arrows {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: flex;
	justify-content: space-between;
	width: calc(var(--pg-w) + 60px);
	transform: translate(-50%, -50%);
	pointer-events: none;
}
.reland-pgallery__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--tg-white, #fff);
	box-shadow: 0 12px 30px rgba(32, 32, 32, .2);
	color: var(--tg-heading-font-color, #202020);
	cursor: pointer;
	pointer-events: auto;
	transition: background-color .3s, color .3s;
}
.reland-pgallery__arrow:is(:hover, :focus-visible) {
	background: var(--tg-primary-color);
	color: var(--tg-white, #fff);
}
.reland-pgallery__arrow.swiper-button-disabled {
	opacity: .5;
}
.reland-pgallery .project-nav-wrap {
	display: flex;
	justify-content: center;
}
/* Template nav-tabs look, own classes */
.reland-pgallery__tabs {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -26px 15px 0;
	padding: 7px 15px;
	border-radius: 8px;
	background: var(--tg-white, #fff);
	box-shadow: 0 12px 30px rgba(32, 32, 32, .2);
}
.reland-pgallery__tab,
.reland-ptabs__tab {
	padding: 8px 16px;
	border: 0;
	background: transparent;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--tg-secondary-color);
	cursor: pointer;
	transition: color .3s;
}
.reland-pgallery__tab:is(.is-active, :hover, :focus-visible),
.reland-ptabs__tab:is(.is-active, :hover, :focus-visible) {
	color: var(--tg-primary-color);
}

/* Video lightbox: 16:9, centred (Video Popup's rules) */
.elementor-lightbox:is([id^="reland-pg-lightbox-"], [id^="reland-pt-lightbox-"]) .elementor-video-container .elementor-video-landscape {
	width: min(85vw, 85vh * 16 / 9);
	height: auto;
	max-height: none;
}
.elementor-lightbox:is([id^="reland-pg-lightbox-"], [id^="reland-pt-lightbox-"]) .elementor-video-container .elementor-video-landscape :is(iframe, video) {
	display: block;
	width: 100%;
	height: auto;
	max-height: none;
	aspect-ratio: 16 / 9;
}
@media (max-width: 1024px) {
	.elementor-lightbox:is([id^="reland-pg-lightbox-"], [id^="reland-pt-lightbox-"]) .elementor-video-container .elementor-video-landscape {
		width: min(95vw, 90vh * 16 / 9);
	}
}

/* Gallery: mosaic */
.reland-pgallery.is-mosaic .reland-grid-style {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 24px;
	height: var(--pg-mosaic-h, 700px);
}
.reland-pgallery.is-mosaic .grid-gallery-item {
	display: block;
	min-height: 0;
}
.reland-pgallery.is-mosaic .grid-gallery-item a {
	position: relative;
	height: 100%;
}
.reland-pgallery.is-mosaic .grid-gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--pg-radius, 16px);
}
.reland-pgallery.is-mosaic .see-all-btn {
	border-radius: var(--pg-radius, 16px);
}
/* Text at every width (theme swaps it for an icon) */
.reland-pgallery.is-mosaic .see-all-btn span {
	display: inline-block;
	margin: 0 10px;
	text-align: center;
}
.reland-pgallery.is-mosaic .see-all-btn::after {
	content: none;
}
.reland-pgallery.is-mosaic a:is(:hover, :focus-visible) .see-all-btn span {
	background: var(--tg-primary-color);
	color: var(--tg-white, #fff);
}
/* Fewer photos: the big one stays, the rest share the side */
.reland-grid-style.is-count-1 .item-1 {
	grid-column: 1 / -1;
	grid-row: 1 / -1;
}
.reland-grid-style.is-count-2 .item-2 {
	grid-column: 3 / 5;
	grid-row: 1 / 3;
}
.reland-grid-style.is-count-3 .item-2 {
	grid-column: 3 / 5;
	grid-row: 1;
}
.reland-grid-style.is-count-3 .item-3 {
	grid-column: 3 / 5;
	grid-row: 2;
}
.reland-grid-style.is-count-4 .item-4 {
	grid-column: 3 / 5;
	grid-row: 2;
}

/* Features */
.reland-pfeatures {
	display: grid;
	grid-template-columns: repeat(var(--pf-cols, 3), minmax(0, 1fr));
	gap: 55px 30px;
}

/* Location */
.reland-plocation {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 30px;
	align-items: center;
}
.reland-plocation.is-text-only {
	grid-template-columns: minmax(0, 1fr);
}
/* Theme box: 470 wide, centred */
.reland-plocation .direction-map {
	width: 100%;
}
.reland-plocation .direction-map iframe {
	display: block;
	width: 100%;
	border: 0;
}
/* Own size, centred (template) */
.reland-plocation .direction-img img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
.reland-plocation .section-title {
	margin-bottom: 40px;
}

/* Tabs: floor plans, videos */
.reland-ptabs__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 40px;
	margin-bottom: 55px;
}
.reland-ptabs__tab {
	padding: 0;
	line-height: 1.86;
}
.reland-ptabs__plan {
	display: block;
}
.reland-ptabs__plan img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--pg-radius, 16px);
}

/* Downloads */
.reland-pdownloads.file-wrap {
	margin-top: 0;
}
.reland-pdownloads .list-wrap {
	flex-wrap: wrap;
}
/* Icon box 40 tall: 20 less above and below (theme: line-height 0) */
.reland-pdownloads .list-wrap li a {
	padding-top: 10px;
}
.reland-pdownloads .list-wrap li a i {
	margin-bottom: 20px;
	font-size: 40px;
	line-height: 1;
}
.reland-pdownloads__size {
	display: block;
	margin-top: 4px;
}

/* Template: 720 tall below 1500 */
@media (max-width: 1500px) {
	.reland-pgallery.is-slider {
		--pg-w: min(1183px, calc(100% - 30px));
	}
	/* Old site mosaic */
	.reland-pgallery.is-mosaic .reland-grid-style {
		gap: 15px;
		height: var(--pg-mosaic-h, 550px);
	}
}

/* Tablets */
@media (max-width: 1199.98px) {
	.reland-project-header .project-info-wrap .list-wrap {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 24px;
	}
	.reland-project-header .project-info-wrap .list-wrap .info-item {
		max-width: none;
	}
	.reland-pgallery.is-mosaic .reland-grid-style {
		height: var(--pg-mosaic-h, 400px);
	}
	.reland-pgallery__arrow {
		width: 60px;
		height: 60px;
	}
	.reland-pgallery__arrows {
		width: calc(var(--pg-w) + 30px);
	}
}
@media (max-width: 991.98px) {
	.reland-pfeatures {
		row-gap: 40px;
	}
	.reland-project-header .project-details-top,
	.reland-plocation {
		grid-template-columns: minmax(0, 1fr);
	}
	.reland-project-header .right-side {
		margin: 0;
	}
	.reland-project-header .project-details-title {
		margin-bottom: 25px;
	}
	.reland-project-header .project-details-top {
		margin-bottom: 35px;
	}
	.reland-plocation {
		row-gap: 50px;
	}
	/* Theme margin doubled the gap */
	.reland-plocation .direction-content {
		width: 100%;
		margin-top: 0;
	}
	.reland-plocation .direction-map {
		max-width: none;
	}
	.reland-pgallery.is-mosaic .reland-grid-style {
		height: var(--pg-mosaic-h, 350px);
	}
}
/* Phones */
@media (max-width: 767.98px) {
	/* Title to text: 20 */
	.reland-project-header .project-details-title {
		margin-bottom: 20px;
	}
	.reland-pfeatures {
		row-gap: 30px;
	}
	.reland-plocation {
		row-gap: 40px;
	}
	.reland-project-header .project-info-wrap .list-wrap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 16px;
	}
	.reland-project-header .info-item .icon {
		margin-inline-end: 14px;
		font-size: 32px;
	}
	.reland-pgallery {
		--pg-ratio: 4 / 3;
	}
	.reland-pgallery__arrows {
		width: var(--pg-w);
	}
	.reland-pgallery__arrow {
		width: 44px;
		height: 44px;
	}
	.reland-pgallery__tab {
		padding: 6px 10px;
		font-size: 13px;
	}
	/* Big photo on top, the rest two by two */
	.reland-pgallery.is-mosaic .reland-grid-style {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: none;
		grid-auto-rows: 150px;
		gap: 10px;
		height: auto;
	}
	.reland-pgallery.is-mosaic .reland-grid-style .grid-gallery-item {
		grid-column: auto;
		grid-row: auto;
	}
	.reland-pgallery.is-mosaic .reland-grid-style .item-1 {
		grid-column: 1 / -1;
		grid-row: span 2;
	}
	/* Odd one out: full row */
	.reland-pgallery.is-mosaic .reland-grid-style.is-count-2 .item-2,
	.reland-pgallery.is-mosaic .reland-grid-style.is-count-4 .item-4 {
		grid-column: 1 / -1;
	}
	.reland-pgallery.is-mosaic .see-all-btn span {
		display: block;
		padding: 10px 14px;
		font-size: 12px;
	}
	.reland-ptabs__list {
		gap: 8px 20px;
		margin-bottom: 30px;
	}
}
