/* ==========================================================================
   Oak Grove Display Village
   Namespaced under .ogdv so it never collides with the theme. Reproduces the
   approved File 1 / File 2 designs while working with dynamic CMS data and the
   theme's header/footer.
   ========================================================================== */

:root{
	--ogdv-dark-blue: #162b3f;
	--ogdv-cream-light: #f9f3e7;
	--ogdv-card: #fffaf1;
	--ogdv-mint: #e0e7df;
	--ogdv-hyper-green: #9cffaa;
	--ogdv-orange: #db582e;
	--ogdv-family-versailles: 'Versailles LT Pro', serif;
	--ogdv-family-gt-walsheim: 'GT Walsheim', sans-serif;
}

.ogdv *,
.ogdv *::before,
.ogdv *::after {
	box-sizing: border-box;
}


.o-wrapper--medium {max-width: 1060px;}
.b-text-header .c-editor-cont{max-width: 868px;}
.cst-b-text-header .highlight{font-family: var(--ogdv-family-gt-walsheim);}
.cst-b-text-header.b-text-header h1{margin-bottom: 16px;}
.cst-b-text-header .c-editor-cont p{font-size: 18px;font-style: normal;font-weight: 300;line-height: 32px;letter-spacing: 0.23px;margin-bottom:16px;}
.cst-b-text-header .c-editor-cont p:last-child{margin-bottom:0;}
.cst-b-text-header .c-editor-cont p:has(a[rel="noopener"]){padding-top: 28px;}
.cst-b-text-header .c-editor-cont p.highlight {font-size: 18px;font-style: normal;font-weight: 600;line-height: normal;color:var(--ogdv-hyper-green); margin-bottom: 24px;}
.cst-b-text-header .c-editor-cont p strong{font-weight:600;font-family: var(--ogdv-family-gt-walsheim);}
.cst-section-header-content.b-text-block h2{font-family: var(--ogdv-family-versailles); font-size:60px;line-height:1.3em;margin-bottom:5px;}
.cst-section-header-content.b-text-block p{font-size: 18px;max-width: 678px;letter-spacing: 0;margin-left: auto;margin-right: auto;}



.cst-b-button .c-editor-cont a{
	background-color: var(--ogdv-hyper-green);
    color: var(--ogdv-dark-blue);
    text-align: center;
    font-family: var(--ogdv-family-gt-walsheim);
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 32px;
    cursor: pointer;
    border-radius: 100px;
    padding: 10px 30px;
    height: 50px;
    text-decoration: none;
    display: inline-block;
}

.cst-b-button .c-editor-cont a:hover {
	background-color: var(--ogdv-cream-light);
}

/* ------------------------------------------------------------------ Listing */
.ogdv-listing {
	background: var(--ogdv-cream-light);
	padding: 0;
	max-width: 1220px;
	margin: 0 auto;
}

.ogdv-listing .ogdv-section{margin-bottom: 80px;}
.ogdv-listing  .ogdv-section:last-child {margin-bottom: 0;}
.ogdv-section:last-child {
	margin-bottom: 0;
}

.ogdv-section .title {
	border-bottom: 1px solid var(--ogdv-dark-blue);
	padding-bottom: 20px;
	margin-bottom: 30px;
	text-align: left;
}

.ogdv-section .now-open2 {

	font-weight: 500;
	font-size: 20px;
	color: var(--ogdv-dark-blue);
}

.ogdv-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

/* Builder card */
.ogdv-logo-card {
	background: var(--ogdv-card);
	border-radius: 10px;
	width: calc(100% / 4 - 15px);
	max-width: 290px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.ogdv-logo {
	height: 146px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0px;
	text-decoration: none !important;
}

.ogdv-logo img {
	max-width: 100%;
	max-height: 146px;
	width: auto;
	height: auto;
	object-fit: contain;
	padding:10px;
}

.ogdv-opening-soon .ogdv-logo{
	opacity: 0.5;
	filter: grayscale(100%) brightness(0.4) contrast(1.2);
}

.ogdv-logo-fallback {

	font-weight: 600;
	color: var(--ogdv-dark-blue);
	text-align: center;
}

.card.ogdv-card [href^="#"]{pointer-events: none !important;}

.ogdv-card-body {
	padding: 10px 20px 20px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	align-items: center;
	text-align: center;
}

.ogdv-card-body ._2-display-homes,
.ogdv-card-body ._4-display-homes,
.ogdv-card-body ._1-display-home {

	font-size: 20px;
	color: var(--ogdv-dark-blue);
}

/* Buttons */
.ogdv-btn {
	border: 1px solid var(--ogdv-dark-blue);
	border-radius: 33px;
	padding: 10px 30px;
	min-height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
	transition: background 0.15s ease, color 0.15s ease;
}

.ogdv-btn .copy2,
.ogdv-btn .copy5 {

	font-size: 20px;
	color: var(--ogdv-dark-blue);
}

.ogdv-btn:hover {
	background: var(--ogdv-dark-blue);
}

.ogdv-btn:hover .copy2,
.ogdv-btn:hover .copy5 {
	color: var(--ogdv-cream-light);
}

/* Load More */
.ogdv-loadmore-wrap {
	width: 100%;
	display: flex;
	justify-content: center;
	margin-top: 50px;
}

.ogdv-loadmore {
	cursor: pointer;
	/* border: none;
	background: var(--ogdv-hyper-green);
	border-radius: 33px;
	padding: 12px 34px; */
}

.ogdv-loadmore-wrap .b-home-header__bottom-arrow:hover span {
	transform: translateY(5px);
}
.ogdv-loadmore-wrap .b-home-header__bottom-arrow{padding:0;}
.ogdv-loadmore-wrap .b-home-header__bottom-arrow span{width: 30px;height: 30px;background-size: 30px;margin:auto;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='11' viewBox='0 0 20 11' fill='none'%3E%3Cg clip-path='url(%23clip0_703_17060)'%3E%3Cpath d='M0.995362 0.000294343L-0.000488281 0.996521L9.99941 11.0002L10.9953 10.004L0.995362 0.000294343Z' fill='%23162B3F'/%3E%3Cpath d='M19.0038 -0.000622262L9.00391 10.0031L9.99976 10.9993L19.9997 0.995604L19.0038 -0.000622262Z' fill='%23162B3F'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_703_17060'%3E%3Crect width='20' height='11' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");}

.ogdv-loadmore .copy2 {
	font-family: var(--ogdv-family-versailles);
	font-size: 15px;
	font-weight: 400;
	text-decoration: underline;
	color: var(--ogdv-dark-blue);
	margin-bottom: 10px;
}

.ogdv-loadmore.is-loading {
	opacity: 0.6;
	cursor: progress;
}

.ogdv-loadmore.has-error {
	outline: 2px solid var(--ogdv-orange);
}

.ogdv-empty {

	font-size: 18px;
	color: var(--ogdv-dark-blue);
}

/* --------------------------------------------------- Builder profile (File 2) */

.ogdv-wrap.o-wrapper::after{display: none !important;}

.ogdv-wrap {
	max-width: 1220px;
}

.ogdv-builder-hero {
	background: var(--ogdv-dark-blue);	
}

.ogdv-builder-hero .ogdv-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: 91px;
	text-align: center;
}

.ogdv-builder-logo{max-width: 422px; width: 100%; height: auto;}

.ogdv-builder-logo img {
	max-width: 100%;
	max-height: 100%;    
    width: auto;
    height: auto;
    object-fit: contain;
}

.ogdv-builder-name {
	color: var(--ogdv-cream-light);

	font-weight: 400;
}

.ogdv-builder-about,
.ogdv-builder-about * {
	color: var(--ogdv-cream-light);

	font-size: 18px;
	line-height: 1.6;
}

.ogdv-builder-about {
	max-width: 745px;
}

.ogdv-builder-about p{margin-bottom: 0px;}

.ogdv-builder-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap:30px 40px;
}

.ogdv-builder-meta .copy {
	width: 282px;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	color: var(--ogdv-cream-light);
}

.ogdv-builder-meta .display-address,
.ogdv-builder-meta .opening-hours {

	font-size: 20px;
}

.ogdv-builder-meta .xx-street-suburb-vic-xxxx,
.ogdv-builder-meta .day-day-day,
.ogdv-builder-meta .time-x-xpm {
	font-family: 'versailles lt pro', serif;
	font-size: 18px;
}

.ogdv-builder-meta .button-text-underline-serif .text {
	color: var(--ogdv-hyper-green);
	font-family: 'versailles lt pro', serif;
	font-size: 18px;
	text-decoration: none;
}

.ogdv-builder-meta .button-text-underline-serif .text:hover{
	text-decoration: underline;
	color: var(--ogdv-cream-light);
}

/* Display homes grid */
.ogdv-homes {
	background: var(--ogdv-cream-light);	
}

.ogdv-homes-head {
	max-width: 1220px;
	margin:auto;
}

.ogdv-homes .our-display-homes {
	text-align: center;
	font-weight: 300;
	font-family: "Versailles LT Pro", serif;
	font-size: 60px;
	line-height: 1.2em;
	color: var(--ogdv-dark-blue);
	margin-bottom: 50px;
}




.ogdv-sort-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ogdv-sort-label {

	font-size: 16px;
	color: var(--ogdv-dark-blue);
}

.ogdv-sort {

	font-size: 16px;
	color: var(--ogdv-dark-blue);
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 24px;
	padding: 8px 38px 8px 16px;
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23163020' stroke-width='1.5' d='M1 1.5L6 6.5L11 1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
}

.is-hidden {
	display: none !important;
}

.ogdv-homes.is-busy .ogdv-cards {
	opacity: 0.5;
	transition: opacity 0.15s ease;
}

.ogdv-cards {
	max-width: 1220px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 60px 20px;
}

.ogdv-card {
	width: calc(100% / 3 - 14px);
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.ogdv-card-img {
	display: block;
	height: 259px;
	overflow: hidden;
}

.ogdv-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ogdv-img-fallback {
	display: block;
	width: 100%;
	height: 100%;
	background: #dcd6c8;
}

.ogdv-card-copy {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.ogdv-card-copy .frame-9 {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
}

.ogdv-card-copy .house-type-xxxxxx {

	font-size: 20px;
	color: var(--ogdv-dark-blue);
	text-decoration: none;
}

.ogdv-card-copy .xm-2 {

	font-size: 20px;
	color: var(--ogdv-dark-blue);
	white-space: nowrap;
}

.ogdv .icons {
	display: flex;
	gap: 32px;
}

.ogdv .icon {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.ogdv .icon .x {
	font-family: 'versailles lt pro', serif;
	font-size: 18px;
	color: var(--ogdv-dark-blue);
}

.ogdv .ogdv-ic {
	color: var(--ogdv-dark-blue);
	flex-shrink: 0;
}

.ogdv .frame-8 {
	display: flex;
	flex-direction: column;
}

.ogdv .copy3 {
	border-top: 1px solid var(--ogdv-dark-blue);
	padding: 20px 0;
}

.ogdv .xx-street-suburb-vic-xxxx2 {
	font-family: var(--ogdv-family-versailles);
	font-size: 18px;
	color: var(--ogdv-dark-blue);
}

.ogdv-card-copy .copy4 {
	border-top: 1px solid var(--ogdv-dark-blue);
	border-bottom: 1px solid var(--ogdv-dark-blue);
	padding: 20px 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ogdv .area {
	display: flex;
	gap: 10px;
}

.ogdv .area2,
.ogdv .frontage {
	width: 102px;
	font-family: var(--ogdv-family-versailles);
	font-size: 18px;
	color: var(--ogdv-dark-blue);
}

.ogdv .xm-22,
.ogdv .xm {

	font-size: 18px;
	color: var(--ogdv-dark-blue);
}

.ogdv-card .ogdv-btn {
	align-self: flex-start;
}

/* House & Land CTA */
.ogdv-hl {
	background: var(--ogdv-mint);	
}

.ogdv-hl .ogdv-wrap {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 22px;
	margin: 0 auto;	
}

.ogdv-hl .ogdv-content-hl{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 22px;
}

.ogdv-hl .explore {
	color: var(--ogdv-orange);
	font-size: 24px;
	line-height: 1.2em;
}

.ogdv-hl .explore-carlisle-homes-house-land-package-options-available-at-oak-grove {
	color: var(--ogdv-dark-blue);
	font-size: 32px;
	font-family: var(--ogdv-family-versailles);
	font-weight: 300;
	letter-spacing: -1%;
	line-height: 1.2em;
}

.ogdv-hl-image {
	width: 100%;
}

.ogdv-hl-image img {
	display: block;
	width: 100%;
	max-width: 760px;
	height: auto;
	border-radius: 12px;
	object-fit: cover;
	transform: scaleX(-1);
}

/* --------------------------------------------------------- Single home page */
.ogdv-single-home {
	background: var(--ogdv-cream-light);
	padding: 80px 20px;
}

.ogdv-single-grid {
	display: flex;
	gap: 48px;
	flex-wrap: wrap;
	align-items: flex-start;
}

.ogdv-single-img {
	flex: 1 1 420px;
	max-width: 620px;
	height: auto;
}

.ogdv-single-img img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.ogdv-single-info {
	flex: 1 1 360px;
	max-width: 480px;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.ogdv-back {

	color: var(--ogdv-orange);
	text-decoration: none;
	margin-bottom: 10px;
}

.ogdv-single-info .house-type-xxxxxx {

	font-size: 32px;
	font-weight: 400;
	color: var(--ogdv-dark-blue);
	margin: 0;
}

.cst-display-builders .o-wrapper--medium {
	max-width: 100%;
}

.ogdv-opening-soon .ogdv-logo-card{pointer-events: none !important;}

/* ---------------------------------------------------------------- Responsive */

@media (min-width: 63.0524em) {
	h1{font-size:60px;}	
}

@media (max-width: 63.0525em) {
	.ogdv-hl .ogdv-wrap{padding: 0 40px;}
}

@media (max-width: 1024px) {
	.cst-section-header-content.b-text-block h2{font-size:40px; line-height:1.2em;}
	.ogdv-logo-card {
		width: calc(100% / 3 - 14px);
	}
	.ogdv-builder-logo{max-width: 260px;}
	.ogdv-card{width: calc(100% / 2 - 10px);}
}

@media (max-width: 768px) {
	.ogdv-builder-hero .ogdv-wrap{
		row-gap: 50px;
	}
	.ogdv-cards {gap: 30px 20px;}
	
}

@media (max-width: 767px) {
	.ogdv-hl .ogdv-wrap{padding: 0 20px; flex-direction: column; align-items: flex-end;}
	.ogdv-hl-image img{max-width: 360px;}
}

@media (max-width: 640px) {
	.cst-b-text-header.b-text-header h1{margin-bottom: 24px;}
	.cst-b-text-header .c-editor-cont p{font-size: 15px; line-height: 1.4em; margin-bottom: 24px;}
	.cst-b-text-header .c-editor-cont p strong{font-size: 18px;}
	.cst-b-text-header .c-editor-cont p.highlight{font-weight:400;}
	.cst-b-text-header .c-editor-cont p:has(a[rel="noopener"]){padding-top: 0;}
	.cst-b-text-header .c-editor-cont p:last-child{margin-bottom:0;}
	.cst-section-header-content.b-text-block h2{margin-bottom: 30px;}
	.cst-section-header-content.b-text-block p{font-size: 15px;line-height: 1.4em;}
	
	.ogdv-card {
		width: 100%;
	}

	.ogdv-logo-card {
		width: calc(100% / 2 - 10px);
		max-width: 100%;
	}

	.ogdv-logo-card .ogdv-logo {
		height: 86px;
	}

	.ogdv-card-body ._2-display-homes, .ogdv-card-body ._4-display-homes, .ogdv-card-body ._1-display-home {
		font-size: 16px;
	}

	.ogdv-btn .copy2{
		font-size: 16px;
	}

	.ogdv-btn .copy5 {
		font-size: 20px;
	}
	.ogdv-btn {
		padding: 10px 16px;
	}

	.ogdv-homes .our-display-homes {
		font-size: 34px;
	}

	.ogdv-homes-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}	
	.ogdv-card .ogdv-btn{width: 100%; justify-content: center;}	
	.ogdv-hl .ogdv-content-hl{text-align: center;align-items: center;}
	.ogdv-hl-image img{max-width: 300px;}


}


@media (max-width: 420px) {
	.ogdv-card-body{padding: 10px 10px 20px;}
	.ogdv-btn .copy2 {
		font-size: 14px;
	}
}