@charset "utf-8";
/* CSS Document */

/* GLOBALS */
*
{
	box-sizing:border-box;
}
:root {

  --primary-color: rgb(241,240,235);
  --secondary-color:rgb(153,146,135);
 --grey-color:rgb(61,61,61);
}


html,body
{
	scroll-behavior: smooth;
	margin:0;
	padding:0;
	font-size:16px;
	line-height:130%;
	background-color:var(--primary-color);
	  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight:400;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
	color:var( --grey-color);
}
.flx
{
	display:flex;
	flex-wrap:wrap;
}
img.resp
{
	max-width:100%;
	height:auto;
	display:block;
}
.posRel
{
	position:relative;
}
h1
{
	font-weight:300;
	font-size:30px;
	color:var(--secondary-color);
	line-height:130%;
	margin:0;
	padding:0 0 20px 0;
}
h1 span
{
	font-weight:400;
	font-size:16px;
	display:block;
	line-height:100%;
	padding-bottom:15px;
	color:var( --grey-color);
}
h2
{
	font-weight:300;
	font-size:30px;
	color:var(--secondary-color);
	line-height:130%;
	margin:0;
	padding:0 0 20px 0;	
}
p
{
	line-height:170%;
	margin:0;
	padding:0 0 15px 0;
	font-size:16px;
}
header
{
	position:fixed;
	top:0;
	right:0;
	left:0;
	z-index:100;
}
header .headBarContainer
{
	padding:30px;
	position:relative;
}
header .headBarContainer:before
{
	    background: #000000;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%);
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 150px;
    display: block;
    content: " ";
    z-index: 1;
	opacity:0;
    transition: height ease-out 0.4s, opacity ease-out 0.4s;
}
.scrolled header .headBarContainer:before
{
opacity:0.7;
	height: 100px;
	  transition: height ease-out 0.4s, opacity ease-out 0.4s;
}
.indexLink

{
	padding-top:20px;
}
.indexLink a
{
	font-weight:500;
	color:var(--secondary-color);
	position:relative;
	display:inline-block;
	text-decoration:none;
	padding:6px 6px 6px 0;
}
.indexLink a::after
{
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:115%;
	border-bottom:3px solid var(--secondary-color);
	content:" ";
	transition:width ease-out 0.2s;
}
.indexLink a:hover::after
{
width:125%;
	transition:width ease-out 0.2s;
}
.indexLink.white a
{
	
	color:#fff;

}
.indexLink.white a::after
{

	border-bottom:3px solid #fff;

}
.indexLink.white a:hover::after
{
width:125%;
	transition:width ease-out 0.2s;
}

.hero {
  height: 100vh;
  position: relative;
  display: flex;
  align-items: flex-end;
	min-height:650px;
}
.hero .heroVisual {
  position: absolute;
  overflow: hidden;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #000;
}
.heroMessage {
  flex: 1 0 100%;
  text-align: Center;
  z-index: 5;
  position: relative;
  padding: 0 20px 80px 20px;
}
.heroMessage img {
  display: inline-block;
}
.heroMessage h1 {
  font-size: 34px;
  color: #fff;
  padding-bottom: 20px;
  margin-bottom: 20px;
  position: relative;
  margin-top: 0;
	text-shadow: 0px 0px 13px rgba(0,0,0,0.87);
  /*text-shadow: 0px 0px 8px rgba(0,0,0,0.3);*/
}
.heroMessage .heroSubTitle {
  color: #fff;
  letter-spacing: 0.1em;
  font-family: "Marcellus", serif;
  /*text-shadow: 0px 0px 8px rgba(0,0,0,0.3);*/
}
.mobileVisual
{
	padding:20px 0;
}
.visual
{
	position:relative;
	height:100%;
	width:100%;
}
.visual > img
{
height: 100%;
        left: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        width: 100%;
        object-fit: cover;	
}
header .brandLogo
{
	text-align:left;
	z-index:3;
	position:relative;
}
header .brandLogo img
{
	max-width:100px;
	display:inline-block;
	transition:max-width ease-out 0.4s;
}
.scrolled header .brandLogo img
{
max-width:100px;
	transition:max-width ease-out 0.4s;
}
header .navControls
{
	position:absolute;
	top:30px;
	right:30px;
	z-index:3;
}
header .navControls a
{
	border:1px solid #fff;
	color:#fff;
	display:block;
	padding:10px 15px;
	text-decoration:none;
	transition:border-color ease-out 0.4s, background-color ease-out 0.4s;
}
header .navControls a:hover
{
	background-color:#000;
	border-color:#000;
	transition:border-color ease-out 0.4s, background-color ease-out 0.4s;
}
.scrolled  header .navControls a
{
	background-color:#000;
	border-color:#000;
	transition:border-color ease-out 0.4s, background-color ease-out 0.4s;
}
footer .footerInner
{
	padding:60px 20px;
	background-color:var(--secondary-color);
}
footer .footerInner .header
{
padding-bottom:20px;
	max-width:800px;
	margin:0 auto;
	text-align:Center;
}
footer .footerInner .header h2,
footer .footerInner .header p
{
	color:#fff;
}
footer .footerCta .formMap 
{
max-width:1400px;
	margin:0 auto;
}
footer .footerCta  .googleMap,
footer .footerCta .ctaForm
{
	flex:1 0 100%;
}
footer .footerCta .ctaForm
{
	padding-bottom:30px;
}
/* END GLOBALS */

/* home classed */
/* welcome */
.homeWelcome
{
	
}

.homeWelcome .flx .visual img
{
	object-position:right;
}
.homeWelcome .homeWelcomeInner
{
	padding:60px 20px;
}
.homeWelcomeInner .left,
.homeWelcomeInner .right
{
	flex:1 0 100%;
}
.homeWelcomeInner .left
{
	display:none;
}
/* end welcome */

/* property feature */
.homePropertyFeature
{
padding-bottom:40px;	
}
.homePropertyFeature .header
{
max-width:1200px;
	margin:0 auto;
	padding:0 20px 30px 20px;
}
.homePropertyFeature .flx .left,
.homePropertyFeature .flx .right
{
flex:1 0 100%;	
}
.homePropertyFeature .flx .left
{
	padding-bottom:30px;
}
.propertyImage .visual,
.stackImg .visual
{
	height:auto;
	width:auto;
	padding-bottom:80%;
}
.homePropertyFeature .flx .left .content
{
	padding:20px;
}
.homePropertyFeature .flx .left .content .quote
{
	font-size:24px;
	font-weight:300;
	line-height:130%;
	margin-top:30px;
	padding:40px 0 0 40px;
	position:relative;
		color:var(--secondary-color);
}
.homePropertyFeature .flx .left .content .quote span
{
	position:relative;
	z-index:3;
}
.homePropertyFeature .flx .left .content .quote::before{
	width:78px;
	height:63px;
	display:block;
	content:" ";
	position:absolute;
	top:0;
	left:0;
	z-index:0;
	opacity:0.5;
	background:url(../img/quote-mark.svg) center no-repeat;
	background-size:100%;
}
.homePropertyFeature .flx .right .stackImg.second
{
	display:none;
}
.homePropertyFeature .flx .right .stackImg.first
{
	padding-bottom:20px;
}
/* end property feature */
.homeLocationFeatureInner
{
	padding:50px 20px;
	background-color:var(--secondary-color);
}
	.homeLocationFeatureInner .content h2,
	.homeLocationFeatureInner .content p
	{
	color:#fff;
	}

.homeAmenitiesServices
{
	padding:50px 0;
	max-width:1400px;
	margin:0 auto;
}
.homeAmenitiesServicesInner
{
	padding:0 20px;
}
.homeAmenitiesServicesInner .header
{
	padding-bottom:30px;
}
.amenitiesCols{
	padding-bottom:30px;
}
.amenitiesCols .emenEntry
{
	flex:1 0 50%;
	padding-bottom:15px;
}
.amenitiesCols .emenEntry span
{
	display:block;
	text-align:Center;
}
.amenitiesCols .emenEntry span.icon
{
padding-top:10px;	
}
.amenitiesCols .emenEntry span.icon img
{
	display:inline-block;
}

.amenitiesSubCols
{
	column-count:2;
	text-align:center;
	gap:30px;
}
.homeGalleryFeature
{
	padding: 0 0 50px 0;
    max-width: 1400px;
    margin: 0 auto;
}
.homeGalleryFeature::after{
	clear:both;
	display:block;
	content:" ";
	width:100%;
}
.homeGalleryFeatureInner
{
	    padding: 0 20px;
}
.homeGalleryFeatureInner .header
{
	max-width:768px;
	padding-bottom:40px;
}
.galleryEntries.masonry .galImg
{
	float: left;
    width: 50%;
}
.galleryEntries.masonry .galImg a
{
	display:block;
	padding:8px;
}
.gform-theme--foundation .gform_fields
{
row-gap:15px!important;	
}
footer .footerCta input[type="submit"]
{
	background-color:#000000!important;
	padding:15px!important;
	font-weight:300!important;
	font-size:24px!important;
	text-align:center!important;
	width:100%!important;
	border:none;
}
.gform-theme--foundation .gform_footer, .gform-theme--foundation .gform_page_footer {
    margin-block-start: 15px;
}
.gform-theme--foundation .gfield textarea.large {
    min-block-size: 12rem;
}
input.datepicker 
{
	width:100%!important;
}
/* end home classes */

@media(min-width:768px)
{
	footer .footerCta  .googleMap,
footer .footerCta .ctaForm
{
	flex:1 0 50%;
	padding-bottom:0;
}
		footer .footerCta  .googleMap
	{
	padding-left:30px;	
		position:relative;
	}
	footer .footerCta  .googleMap a
	{
		position:relative;
		display:block;
		width:100%;
		height:100%;
	}
	footer .footerCta  .googleMap a img
	{
		height: 100%;
    left: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%;
    object-fit: cover;
		
	}
footer .footerCta .ctaForm
	{
	padding-right:30px;	
	}
	header .brandLogo
	{
		text-align:center;
	}
	header .brandLogo img{
		max-width:250px;
	}
	.scrolled header .brandLogo img
{
max-width:130px;
	transition:max-width ease-out 0.4s;
}
	.heroMessage h1
	{
		font-size:42px;
	}
	
	.galleryEntries.masonry .galImg
{
	float: left;
        width: 33.333%;
}
	.amenitiesCols .emenEntry
	{
		display:flex;
		align-items:center;
	}
	.amenitiesCols .emenEntry span
	{

		text-align:left;
	
	}
	.amenitiesCols .emenEntry span.icon
	{
		padding-top:0;
		flex:0 0 46px;
	}
	.amenitiesCols .emenEntry span.label
	{
		flex:1;
		padding:0 0 0 15px;
	}
	/* GLOBALS */
	.mobileVisual
	{
		display:none;
	}
	h1
{
	line-height:110%;
	font-size:40px;
	color:var(--secondary-color);
}
	h2
	{
		line-height:110%;	
	font-size:40px;
	color:var(--secondary-color);
	}
	/* END GLOBALS */
	
	.homeWelcome .flx
{
	min-height:60vh;
}
	.homeWelcome .homeWelcomeInner
{
	padding:80px 0 60px 0;
}
	.homeWelcomeInner .left,
.homeWelcomeInner .right
	{
		flex:1 0 50%;
	}
	.homeWelcomeInner .right
	{
		display:flex;
		align-items:center;
	}
	.homeWelcomeInner .right .inner
	{
		padding:50px 30px 50px 30px;
		max-width:650px;
	}
	
	.homeWelcomeInner .left
	{
		display:block;
	}
	
	.homePropertyFeature .flx .left,
.homePropertyFeature .flx .right
{
flex:1 0 50%;
	
}
		.homePropertyFeature .flx .left
	{
		padding-right:10px;
	}
			.homePropertyFeature .flx .right
	{
		padding-left:10px;
	}
	.stackImg.second
	{
		padding-bottom:10px;
	}
.stackImg.second .visual
	{
		padding-bottom:120%;
	}
	.homePropertyFeature .flx .left .content .quote
	{
		font-size:32px;
	
	
	}
	.homePropertyFeature .flx .left .content .quote::before
	{
		width:120px;
		height:96px;
	}
	.homePropertyFeature .flx .right .stackImg.second
{
	display:block;
}
	.homeLocationFeatureInner
	{
		min-height:100vh;
		overflow:hidden;
		position:relative;
		padding:0;
		background:none;

	}
	.homeLocationFeatureInner .locationVisual
	{
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-size:cover;
		background-position:center;
		background-repeat:no-repeat;
	}
	.homeLocationFeatureInner
	{
		display:flex;
		align-items:flex-end;
		
	}
	.homeLocationFeatureInner .content
	{
	position:relative;
		z-index:3;
		padding:40px;
		color:#fff;
		max-width:500px;
	}

	.homeLocationFeatureInner .content .contentInner
	{
		position:relative;
		z-index:3;
	}
	.homeLocationFeatureInner .content::before
	{
		background-color:var(--secondary-color);
		opacity:0.7;
		
		display:block;
		position:Absolute;
			top:0;
		right:0;
		bottom:0;
		left:0;
		content:" ";
	}
	.homeAmenitiesServices
{
	padding:80px 0;
}
	.amenitiesCols .emenEntry span.label
{
padding:0 10px;	
}
	.homeAmenitiesServices .amenitiesSubCols
	{
	text-align:left;
		gap:30px;
	}
}
@media(min-width:992px)
{
		.heroMessage h1
	{
		font-size:52px;
	}
		.homeWelcome .homeWelcomeInner
{
	padding:100px 0 60px 0;
}
	
.homeWelcomeInner .right .inner
	{
		padding:50px 30px 50px 80px;
	}
	h1
	{
		font-weight:100;
		font-size:50px;
		
	}
	h2
	{
		font-weight:100;
		font-size:50px;
			
	}
	.homePropertyFeature
{
padding-bottom:80px;	
}
	.homePropertyFeature .flx .left
	{
		flex:1 0 60%;
	}
.homePropertyFeature .flx .right
{
flex:1 0 40%;	
}
		.homePropertyFeature .flx .left
	{
		padding-right:10px;
	}
			.homePropertyFeature .flx .right
	{
		padding-left:10px;
	}
	.stackImg.second
	{
		padding-bottom:10px;
	}
	.homePropertyFeature .flx .left .content 
	{
		padding:40px;
		max-width:992px;
	}
		.homePropertyFeature .flx .left .content .quote
	{
	
		font-weight:100;
	
	}
		.homeLocationFeatureInner .content
	{

		max-width:650px;
	}
	
	.homeAmenitiesServicesInner .grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(12, 1fr);
    gap: 40px;
}
    
.leftContent {
        grid-column: span 5 / span 5;
        grid-row: span 3 / span 3;
}

.rightData {
grid-column: span 7 / span 7;
        grid-row: span 7 / span 7;
        grid-column-start: 6;
}

.tailVisual {
grid-column: span 7 / span 7;
        grid-row: span 5 / span 5;
        grid-column-start: 6;
        grid-row-start: 8;
}

.leftVisual {
        grid-column: span 5 / span 5;
        grid-row: span 9 / span 9;
        grid-column-start: 1;
        grid-row-start: 4;
}
		.homeAmenitiesServices .amenitiesSubCols
	{
		column-count:3;
		gap:30px;
	}
}
@media(min-width:1200px)
{
		.heroMessage h1
	{
		font-size:60px;
	}
	.homeWelcome .flx
{
	min-height:90vh;
}	

	h2
	{
		font-size:70px;
			
	}
		.homePropertyFeature .flx .left .content .quote
	{
		font-size:50px;
		padding-left:90px;
		padding-top:70px;
		line-height:110%;
	
	}
	.homePropertyFeature .flx .left .content .quote::before
	{
		width:192px;
		height:155px;
		
	}
	    .homePropertyFeature .flx .left {
        padding-right: 20px;
    }
	.homePropertyFeature .flx .right {
        padding-left: 20px;
    }
	.homePropertyFeature .flx .right .stackImg.first
	{
		padding-bottom:40px;
	}
	
		.homePropertyFeature .flx .left .content 
	{
		padding:60px;
		
	}
			.homeLocationFeatureInner .content
	{

		max-width:750px;
		padding:60px;
	}
	.homeAmenitiesServicesInner .grid
	{
		gap:60px;
	}
}
