/* Table of Content
==================================================
	#Site Variables
	#Site Styles
	#Typography
	#UIKit Styles
	#Layout & Container Styles
	#Navigation & Header
	#Page Styles
	#Homepage Specific
	#Forms & Buttons
	#Gallery & Images
	#Footer
	#Media Queries
	#Font-Face */
	

/* #Site Variables
================================================== */
:root {
  --primary: #004000;
  --secondary: #000000;
  --gray: #F7F7F7;
  --light: #EDF2ED;
  --dark: #EAE5C3;
  --white: #ffffff;
  --text: #004000;
  --navigation: #ffffff;
  
  --primary-font: "proxima-nova", sans-serif;
  --secondary-font: "adobe-garamond-pro", serif;
  --tertiary-font: "Breathing", serif;
}


/* #Site Styles
================================================== */
*				{ outline:none; }
html, body		{ color:var(--text); font-size:16px; font-weight:400; font-family:var(--primary-font); line-height:1.5rem; }

.aligncenter 	{ text-align:center; }
.alignleft		{ text-align:left; }
.alignright		{ text-align:right; }
	img.aligncenter { float:none; display:block; margin:0 auto 15px; }
	img.alignleft	{ float:left; margin-right:15px; }
	img.alignright	{ float:right; margin-left:15px; }

.border-radius { border-radius:0px; }
.border-radius-small { border-radius:0px; }

.overlay { position:absolute; left:0; width:100%; height:33%; }
	.overlay.top { background: #000000; background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .75) 100%); top:0; }
	.overlay.bottom { background: #000000; background: linear-gradient(0deg, rgba(0, 0, 0, .75) 0%, rgba(0, 0, 0, 0) 100%); bottom:0; }

.inside-border { border:1.5px solid var(--primary); width:calc(100% - 40px); height:calc(100% - 40px); position:absolute; top:0; bottom:0; left:0; right:0; margin:auto; }

.border-bottom-primary { border-bottom:10px solid var(--primary); }

.embed-container { position:relative; padding-bottom:56.25%; overflow:hidden; max-width:100%; height:auto; } 
	.embed-container iframe, .embed-container object, .embed-container embed {  position:absolute; top:0; left:0; width:100%; height:100%; }

#breadcrumbs { font-size:.875em; opacity:.8; }

.editor-styles-wrapper { color:var(--text); font-size:16px !important; font-weight:300; font-family:var(--primary-font) !important; line-height:1.5rem !important; }
.editor-styles-wrapper p { line-height:inherit !important; }

.uk-slider-items.myItems {
    display: flex !important;
    flex-wrap: wrap !important;
}



/* #Typography
================================================== */
.w900 			{ font-weight:900; }
.w800			{ font-weight:800; }
.w700			{ font-weight:700; }
.w600			{ font-weight:600; }
.w500			{ font-weight:500; }
.w400			{ font-weight:400; }
.w300			{ font-weight:300; }
.w200			{ font-weight:200; }
.w100			{ font-weight:100; }

.font6			{ font-size:0.625em; }
.font7			{ font-size:0.750em; }
.font8			{ font-size:0.875em; }
.font10			{ font-size:1.0em; }
.font12			{ font-size:1.2em; }
.font13			{ font-size:1.3em; }
.font15			{ font-size:1.5em; }
.font18			{ font-size:1.8em; }
.font20			{ font-size:2.0em; }
.font25			{ font-size:2.5em; }
.font30			{ font-size:3.0em; }
.font35			{ font-size:3.5em; }
.font40			{ font-size:4.0em; }
.font45			{ font-size:4.5em; }

.s1				{ letter-spacing:1px; }
.s2				{ letter-spacing:2px; }
.s3				{ letter-spacing:3px; }
.s4				{ letter-spacing:4px; }
.s5				{ letter-spacing:5px; }
.s6				{ letter-spacing:6px; }
.s7				{ letter-spacing:7px; }
.s8				{ letter-spacing:8px; }

.lh0			{ line-height:1em; }
.lh1			{ line-height:1.1em; }
.lh2			{ line-height:1.2em; }
.lh3			{ line-height:1.3em; }
.lh4			{ line-height:1.4em; }
.lh5			{ line-height:1.5em; }
.lh8			{ line-height:1.8em; }
.lh20			{ line-height:2.0em; }
.lh25			{ line-height:2.5em; }

h1, h2, h3, h4, h5, .uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5	{ font-family:var(--secondary-font); font-weight:400; color:inherit; line-height:1em; }

h1, .uk-h1 	{ font-size:4.500em; }
h2, .uk-h2 	{ font-size:3.000em; }
h3, .uk-h3 	{ font-size:2.500em; }
h4, .uk-h4 	{ font-size:1.500em; }
h5, .uk-h5 	{ font-size:0.875em; font-family:var(--primary-font); font-weight:600; text-transform:uppercase; letter-spacing:2px; }

p			{ line-height:1.8em; }

b, strong, .uk-text-bold	{ font-weight:700; }

a, .uk-link	{ color:var(--primary); }
	a:hover, .uk-link:hover { color:inherit; text-decoration:underline; }

em 			{ color:inherit; }

blockquote	{ font-style:italic; font-family:var(--secondary-font); color:inherit; font-size:2em; margin:0; }
	blockquote p { line-height:1.5em; }
	blockquote cite { font-style:normal; font-family:var(--primary-font); display:block; font-size:.75rem; font-weight:700; line-height:1rem; text-transform:uppercase; text-align:center; margin-top:25px; }

.font-secondary { font-family:var(--secondary-font); }
.font-tertiary { font-family:var(--tertiary-font); }


/* #UIKit Styles
================================================== */
.uk-text-default { color:var(--text); }
.uk-text-contrast { color:var(--white) !important; }

.uk-background-muted, .uk-section-muted { background:var(--light); }
.uk-background-dark, .uk-section-dark { background-color:var(--dark); color:var(--text); }

.uk-height-1-4 { height:25%; }
.uk-height-1-3 { height:33%; }
.uk-height-1-2 { height:50%; }
.uk-height-3-4 { height:75%; }
.uk-height-1-1 { height:100%; }
.uk-height-small { display:none; }

.uk-card { color:inherit; }
.uk-card-border { padding:10px; border-bottom:10px solid var(--primary); background:var(--white); box-shadow:0 0 5px rgba(0,0,0,0.2); color:inherit; border-radius:0px; }
.uk-card-xsmall { padding:10px; }
.uk-card.uk-card-border.uk-card-body { max-width: 1400px; margin: auto; }

.uk-nav li>a { text-align: left; }


/* #Layout & Container Styles
================================================== */


.light-bkgrd { background: var(--light); }

.text-padding {
	padding-top:30px;
	padding-bottom:30px;
}

.text-margin {
	margin-bottom:20px!important;
	padding-bottom:20px!important;
}

.section-padding {
	padding-top:20px;
	padding-bottom:20px;
}

.top-section-padding { padding-top:20px; }

.bottom-pad { margin-bottom:100px!important; }

.middle-content { margin:auto; }

/* canvas { max-height: 500px; } */


/* #Navigation & Header
================================================== */
.header { position:absolute; top:0; left:0; width:100%; z-index:999;s }
	.header .logo { width:260px; margin:10px; }
	.header .logo.sticky { display:none; width:200px; }

	.header .nav-btn { background:var(--primary); color:var(--white); text-align:center; text-transform:uppercase; font-size:.875em; font-weight:500; padding:40px 30px; margin-left:25px; line-height:1.5em; display:inline-block; }
	.header .nav-btn i { display:block; }
	.header .btn-phone { color:var(--white); }
	.header .uk-navbar-toggle { color:var(--white); }

	.header .uk-navbar-nav { gap:10px; }
	.header .uk-navbar-nav>li>a { color:var(--navigation); font-family:var(--primary-font); font-weight:600; padding:0 15px; min-height:40px; }
	.header .uk-navbar-nav>li>a:hover { background:var(--white); color:var(--primary) !important; }
	
	.header .uk-navbar-dropdown { width:250px; }
	.header .uk-navbar-dropdown > .uk-nav>li>a { text-transform:uppercase; color:var(--primary); font-weight:700; }

	.header .uk-navbar-dropdown .uk-dropdown-nav { padding-left:15px; }
	.header .uk-navbar-dropdown .uk-dropdown-nav.uk-nav { margin-bottom:5px; }
	.header .uk-navbar-dropdown .uk-dropdown-nav.uk-nav>li>a { padding:0; }

	.header.uk-active { background:var(--primary); box-shadow:0 0 20px rgba(0,0,0,0.2); }
	.header.uk-active .logo { display:none; }
	.header.uk-active .logo.sticky { display:block; }
	.header.uk-active .uk-navbar-nav>li>a { color:var(--navigation); }
	.header.uk-active .nav-btn { padding:20px 30px; }
	
	.single-homes .header, .single-floorplans .header, .single-communities .header { position:static; background:var(--primary); }
	
	.header .uk-nav ul { padding:0 10px; background:var(--light); margin-bottom:10px; }
	.header #mobile-menu { padding:10px; }


/* #Page Styles
================================================== */
.page-title { position:relative; }

.hero {}

.title { position:relative; padding-bottom:25px; margin-bottom:30px; }
	.title:before { content:''; width:100%; height:1px; background:var(--primary); position:absolute; bottom:0; left:0; }
	.title.uk-text-center:before, .uk-text-center .title:before { max-width:250px; width:50%; right:0; margin:0 auto; }
	.title.uk-text-contrast:before, .uk-text-contrast .title:before { background:var(--white); }
	
.section-title { padding:50px 0 150px; margin-bottom:-100px; text-align:center; }	

.comm-cat { background:var(--light); padding:75px 0 150px; text-align:center; margin-bottom:-150px; }

.comm-nav { background:var(--primary); border-radius:30px; margin:50px 0 -25px !important; position:relative; }
	.comm-nav.uk-subnav>*>:first-child { color:var(--white); text-transform:inherit; font-size:.875rem; font-weight:600; padding:15px 0; text-transform:uppercase; }

.comm-shadow { position:absolute; bottom:0; left:0; width:100%; height:50%; background: #000000; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%); }
.comm-stats { height:0; overflow:hidden; opacity:0; transition: all 0.3s ease-in-out; border-top:1px solid rgba(255,255,255,0.3); }

.comm:hover .comm-stats { height:auto; opacity:1; }
.comm:hover .comm-shadow { height:100%; }

.test-pull { margin-bottom:-150px !important; }

.map-gradient { position:relative; }
	.map-gradient .top { position:absolute; top:0; left:0; width:100%; height:100px; background: #ffffff; background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%); }
	.map-gradient .bottom { position:absolute; bottom:0; left:0; width:100%; height:100px; background: #ffffff; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%); }
	.map-gradient .left { position:absolute; top:0; left:0; width:100px; height:100%; background: #ffffff; background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%); }
	.map-gradient .right { position:absolute; top:0; right:0; width:100px; height:100%; background: #ffffff; background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%); }

/* WordPress blocks */
html :where(.wp-block-acf-hero), 
html :where(.wp-block-acf-contact), 
html :where(.wp-block-acf-testimonial), 
html :where(.wp-block-acf-cta), 
html :where(.wp-block-acf-featured-communities), 
html :where(.wp-block-acf-communities), 
html :where(.wp-block-acf-designs), 
html :where(.wp-block-acf-homes), 
html :where(.wp-block-acf-communities-map), 
html :where(.wp-block-acf-intro), 
html :where(.wp-block-acf-page-title), 
html :where(.wp-block-acf-jobs), 
html :where(.wp-block-acf-team), 
html :where(.wp-block-acf-photo-gallery), 
html :where(.wp-block-acf-gallery), 
html :where(.wp-block-acf-featured-homes),
html :where(.wp-block-acf-home-page-2-1-1),
html :where(.wp-block-acf-home-page-1-1-2) { 
	margin-top:0 !important; margin-bottom:0 !important; max-width:100% !important; 
}

.wp-block-post-title { font-size:1.5rem; text-transform:inherit; letter-spacing:0; font-weight:600; }


/* #Homepage Specific
================================================== */


/* Home map */
.home div#map { margin-top: -120px; }


/* #Forms & Buttons
================================================== */
.uk-button, .line-button a { font-family:var(--secondary-font); font-size:1.8em; letter-spacing:-1px; padding:5px 25px; border:1px solid var(--text); color:var(--text); background:none; text-transform:inherit; border-radius:0px; }
.uk-button-primary, .line-button a { border-color:var(--primary); color:var(--primary); }
.uk-button-primary:hover, .line-button a:hover { background:var(--primary); color:var(--white); }
.uk-button-secondary, .green-button a { background:var(--primary); border-color:var(--primary); color:var(--white); }
.uk-button-secondary:hover, .green-button a:hover { background:var(--secondary); }
.uk-button-contrast { border-color:var(--white); color:var(--white); }
.uk-button-contrast:hover { background:var(--white); color:var(--primary); }
.uk-button.alt, .green-button a, .line-button a { font-family:var(--primary-font); font-size:.75em; letter-spacing:1px; text-transform:uppercase; padding: 10px 30px; border-radius: 0px; font-weight:600; }

.uk-button-text { background:none; text-transform:uppercase; letter-spacing:1px; font-weight:500; color:var(--primary); border:0; font-size:.875rem; padding:0; font-family:var(--primary-font); }

.wp-block-button__link { background:var(--primary); border-radius:0; font-size:.875em; padding:0 30px; line-height:38px; vertical-align:middle; text-align:center; text-decoration:none; background:var(--secondary); text-transform:uppercase; font-weight:300; letter-spacing:1px; position:relative; color:var(--text); }
.wp-block-button__link:hover { color:var(--white); text-decoration:none; }

/* Warranty page button */
.page-id-424 a.wp-block-button__link.wp-element-button {
	font-family: var(--primary-font);
	font-size: .75em;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 10px 30px;
	border-radius: 0px;
	font-weight: 600;
	background: var(--primary);
	border-color: var(--primary);
	color: var(--white);
}
.page-id-424 a.wp-block-button__link.wp-element-button:hover { background: var(--secondary); }

.contact-form .uk-input, .contact-form .uk-textarea { background:rgba(255,255,255,.8); text-align:center; color:var(--dark); }

.wp-block-contact-form-7-contact-form-selector { padding-top: 10px; }

/* Popup form */
div#popmake-1601 input.wpcf7-form-control.wpcf7-submit.has-spinner.uk-button.uk-button-primary {
	background: transparent;
	border: 1px solid #ffffff;
	color: #ffffff;
	font-family: var(--primary-font);
	font-size: .75em;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 10px 30px;
	border-radius: 0px;
	font-weight: 600;
	margin-left:17%;
}

div#popmake-1601 img.wp-image-1223 {
	max-height: 200px;
	object-fit: cover;
}

div#popmake-1601 h3 { color: #ffffff; }


/* #Gallery & Images
================================================== */
.gallery-item { padding: 3px; margin: 0 !important; }
.gallery-item.hidden {
	display: none;
	pointer-events: none;
	position: absolute;
	z-index: -1;
}

.custom-gallery-filter .uk-subnav {
	background-color: var(--light);
	padding: 20px 0px;
}

.custom-gallery-filter .uk-subnav-pill li a {
	background-color: var(--primary);
	color: #fff;
	font-size: 17px;
}

.custom-gallery-filter .uk-subnav-pill li a:hover {
	background-color: var(--light);
	color: #000;
}

.custom-gallery-filter .uk-subnav-divider>::before { display: none; }
.custom-gallery-filter .uk-subnav>* { padding-left: 4px; }
.custom-gallery-filter .uk-subnav-pill>*>:first-child { padding: 8px 16px; }


/* #Footer
================================================== */
div#top, .footer.uk-section.uk-section-default {
	margin-left: auto;
	margin-right: auto;
	padding-left:40px!important;
	padding-right:40px!important;
}

.footer .uk-grid>* { padding-left: 0px; }

/* ===========================================
   #Homepage Blocks – 1-1-2 and 2-1-1
   =========================================== */

/* Desktop ≥1200px
   ------------------------------------------- */
@media (min-width: 1200px) {
	/* 1-1-2: one row (25 / 25 / 50) */
	.homepage-1-1-2 [uk-grid] { flex-wrap: nowrap; }

	/* 2-1-1: one row (50 / 25 / 25) */
	.homepage-2-1-1 [uk-grid] { flex-wrap: nowrap; }
}

/* Tablet 760–1199px
   ------------------------------------------- */
/* 1-1-2:
   - Hide LEFT
   - Keep one row
   - CENTER min-width: 360px
   - RIGHT fills remaining space
*/
@media (min-width: 760px) and (max-width: 1199px) {
	.homepage-1-1-2 [uk-grid] { flex-wrap: nowrap; }

	.homepage-1-1-2 .center-col {
		min-width: 360px;   /* only at this breakpoint */
		flex: 0 1 auto;     /* allow natural growth/shrink */
	}
	.homepage-1-1-2 .right-col {
		flex: 1 1 auto;     /* fill remaining space */
		max-width: none;
	}
	/* In addition to uk-visible@l, ensure LEFT is hidden here */
	.homepage-1-1-2 .left-col { display: none !important; }
}

/* 2-1-1:
   - RIGHT hidden (uk-visible@l + safety)
   - Keep one row
   - CENTER min-width: 360px
   - LEFT fills remaining width
*/
@media (min-width: 760px) and (max-width: 1199px) {
	.homepage-2-1-1 [uk-grid] { flex-wrap: nowrap; }

	.homepage-2-1-1 .center-col {
		min-width: 360px;   /* only at this breakpoint */
		flex: 0 1 auto;     /* allow natural growth/shrink */
	}
	.homepage-2-1-1 .left-col {
		flex: 1 1 auto;     /* fill remaining space */
		max-width: none;
	}
	.homepage-2-1-1 .right-col { display: none !important; }
}

/* Mobile
   ------------------------------------------- */
/* 1-1-2 ≤767px:
   - RIGHT hidden
   - LEFT shown full-width ABOVE CENTER (overrides uk-visible@l)
   - Stack full-width
*/
@media (max-width: 767px) {
	.homepage-1-1-2 [uk-grid] { flex-wrap: wrap; }

	/* LEFT: show & full width */
	.homepage-1-1-2 .left-col {
		display: block !important; /* override uk-visible@l */
		width: 100%;
		max-width: 100%;
	}

	/* CENTER: full width under LEFT */
	.homepage-1-1-2 .center-col {
		width: 100%;
		max-width: 100%;
	}

	/* RIGHT: hide on phones */
	.homepage-1-1-2 .right-col { display: none !important; }

	/* optional spacing between left image and text */
	.homepage-1-1-2 .center-col .uk-padding { padding-top: 16px; }
}

/* 2-1-1 ≤759px:
   - Stack (LEFT → CENTER)
   - RIGHT remains hidden via uk-visible@l
*/
@media (max-width: 759px) {
	.homepage-2-1-1 [uk-grid] { flex-wrap: wrap; }

	.homepage-2-1-1 .left-col,
	.homepage-2-1-1 .center-col {
		width: 100%;
		max-width: 100%;
	}
}


/* #Media Queries
================================================== */
@media (min-width: 781px) {
	body .home-50.is-layout-flex {
		display: grid;
		grid-auto-rows: 1fr;
		grid-template-columns: 50% 1fr 1fr;
	}
	
	.home .uk-sticky-fixed .nav-right .uk-width-auto { margin-top:0px; }
	
	/* Center nav on home */
	.home .uk-sticky-fixed .uk-visible\@l.nav-center { margin-top:0px; }
	
	body .home-10.is-layout-flex {
		display: grid;
		grid-auto-rows: 1fr;
		grid-template-columns: 1fr 1fr 50%;
	}
}


@media (max-width: 960px) {
	
	div#top, .footer.uk-section.uk-section-default {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
	
	/* Home image show on mobile */
	.home-ex-bkgrd, .home-ex-bkgrd-2, .home-ex-bkgrd-4 {
		content:'';
		height:200px;
		object-fit:fill;
	}
	
	body .home-10 .text-padding, body .home-50 .text-padding {
		padding-left:5%;
		padding-right:5%;
	}
	
	/* Side spacing on mobile */
	.plans, .uk-grid.uk-grid-large, .steps, .custom-gallery-filter, 
	.wp-block-contact-form-7-contact-form-selector, .page-id-424 .is-layout-flex, .page-id-445 .uk-grid {
		padding-left: 5%;
		padding-right: 5%;
	}
	
	div#map { margin-top: -200px; }
}


@media only screen and (max-width: 1220px) {
	h1, .uk-h1 	{ font-size:3.500em; }
	h2, .uk-h2 	{ font-size:2.500em; }
	h3, .uk-h3 	{ font-size:1.750em; }
	h4, .uk-h4 	{ font-size:1.000em; }
}

/* Smaller than standard 960 (devices and browsers) */
@media only screen and (max-width: 959px) {
	h1, .uk-h1 	{ font-size:2.500em; }
	h2, .uk-h2 	{ font-size:1.750em; }
	h3, .uk-h3 	{ font-size:1.250em; }
	h4, .uk-h4 	{ font-size:1.000em; }

	.hero .sup-title { font-size:2em;}
	.hero .title { font-size:7em; }
	.hero .highlight { top:0; right:-30px; width:170px; height:170px; }

	.call-to-action .text { font-size:1.75em; }
	.call-to-action .text span { padding:10px; }

	.highlight2 { width:180px; left:50px; }
}

/* Tablet Portrait size to standard 960 (devices and browsers) */
@media only screen and (min-width: 768px) and (max-width: 959px) {}

/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 767px) {
	h1, .uk-h1 	{ font-size:2.500em; }
	h2, .uk-h2 	{ font-size:1.750em; }
	h3, .uk-h3 	{ font-size:1.250em; }
	h4, .uk-h4 	{ font-size:1.000em; }
	
	blockquote { font-size:1.3em; }
	
	.header .logo { width:175px; margin:5px; }
	.test-pull { margin-bottom:0 !important; }
	
	.hero .uk-button.alt { padding:0 10px; }
	
	.page-title canvas { min-height:200px; }
}

/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {}


/* #Font-Face
================================================== */
@font-face {
	font-family: 'Elgoc';
	src: url('../fonts/Elgoc-Regular.woff2') format('woff2'),
		url('../fonts/Elgoc-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Breathing';
	src: url('../fonts/Breathing-Reg.woff2') format('woff2'),
		url('../fonts/Breathing-Reg.woff') format('woff');
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}