@font-face { font-family: 'Helvetica Neue'; src: url('/resources/7/6/7699577b-9450-4905-b68d-38e912864c70/helveticaneue-bold.woff2?MOD=AJPERES') format('woff2'), url('/resources/4/5/45352472-a9b9-4f65-a45f-c68572fff608/helveticaneue-bold.woff?MOD=AJPERES') format('woff'); font-weight: bold; font-style: normal; font-display: swap; }
@font-face { font-family: 'Helvetica Neue'; src: url('/resources/e/5/e5a7cff4-b635-444b-a76f-9615970d4aea/helveticaneue-light.woff2?MOD=AJPERES') format('woff2'), url('/resources/2/9/29f41eba-210e-4174-9b7b-1455e781f8dc/helveticaneue-light.woff?MOD=AJPERES') format('woff'); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: 'Helvetica Neue'; src: url('/resources/7/9/790e7254-3c13-4dc5-92df-267810d303e3/helveticaneue-medium.woff2?MOD=AJPERES') format('woff2'), url('/resources/e/0/e02a7a5e-b97c-4506-9974-f60c0b673d56/helveticaneue-medium.woff?MOD=AJPERES') format('woff'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Helvetica Neue'; src: url('/resources/0/0/0081bd65-b54e-4d59-8bae-86fc264b39d8/helveticaneue-ultralight.woff2?MOD=AJPERES') format('woff2'), url('/resources/7/f/7f3318d4-dc7a-4065-82ae-6c540c6ccc9c/helveticaneue-ultralight.woff?MOD=AJPERES') format('woff'); font-weight: 200; font-style: normal; font-display: swap; }

body { color: #000000; background-color: #ffffff; margin: 0; font-family: 'Helvetica Neue', sans-serif; font-weight: 300; }
	
h1 { font-size: 1.6rem; margin: 30px 0; font-weight: 400; }
h1.completed { margin-top: 100px; }
h2 { font-size: 1.4rem; font-weight: 400; }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.1rem; }

p { font-size: 1.1rem; margin-bottom: 2rem; }
p.small { font-size: 1rem; margin-bottom: 0; }
a { font-weight: 400; color: #333333; text-decoration: none; }
a.chain { border-bottom: 1px solid transparent; }
a.chain:hover { color: #333333; border-bottom: 1px solid #333333; }
a.chain::after { content: "";display: inline-block;width: 16px; height: 16px; margin-left: 5px; background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg width='100px' height='100px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.16488 17.6505C8.92513 17.8743 8.73958 18.0241 8.54996 18.1336C7.62175 18.6695 6.47816 18.6695 5.54996 18.1336C5.20791 17.9361 4.87912 17.6073 4.22153 16.9498C3.56394 16.2922 3.23514 15.9634 3.03767 15.6213C2.50177 14.6931 2.50177 13.5495 3.03767 12.6213C3.23514 12.2793 3.56394 11.9505 4.22153 11.2929L7.04996 8.46448C7.70755 7.80689 8.03634 7.47809 8.37838 7.28062C9.30659 6.74472 10.4502 6.74472 11.3784 7.28061C11.7204 7.47809 12.0492 7.80689 12.7068 8.46448C13.3644 9.12207 13.6932 9.45086 13.8907 9.7929C14.4266 10.7211 14.4266 11.8647 13.8907 12.7929C13.7812 12.9825 13.6314 13.1681 13.4075 13.4078M10.5919 10.5922C10.368 10.8319 10.2182 11.0175 10.1087 11.2071C9.57284 12.1353 9.57284 13.2789 10.1087 14.2071C10.3062 14.5492 10.635 14.878 11.2926 15.5355C11.9502 16.1931 12.279 16.5219 12.621 16.7194C13.5492 17.2553 14.6928 17.2553 15.621 16.7194C15.9631 16.5219 16.2919 16.1931 16.9495 15.5355L19.7779 12.7071C20.4355 12.0495 20.7643 11.7207 20.9617 11.3787C21.4976 10.4505 21.4976 9.30689 20.9617 8.37869C20.7643 8.03665 20.4355 7.70785 19.7779 7.05026C19.1203 6.39267 18.7915 6.06388 18.4495 5.8664C17.5212 5.3305 16.3777 5.3305 15.4495 5.8664C15.2598 5.97588 15.0743 6.12571 14.8345 6.34955' stroke='%23000000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); background-size: contain; } 

header {
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.4);
	-moz-box-shadow:	0px 0px 10 0px rgba(0, 0, 0, 0.4);
	box-shadow:		 0px 0px 10 0px rgba(0, 0, 0, 0.4);
	position: absolute;
	width: 100%;
	z-index: 10;
	background-color: rgba(255,255,255,0.6);
	top: 0;
}
#logo {
	max-width: 300px;
	display: inline;
	padding-bottom: 14px;
}
/* ------------------ COMMON - WEBSITE NAVIGATION ------------------ */
#topnav a { vertical-align: bottom; font-weight: 300; border-bottom: 1px solid transparent; }
#topnav a:hover, #topnav a:focus { border-bottom: 1px solid transparent; }
#open-sidenav { display: none; }
#cssmenu { padding: 20px 0 0 20px; display: inline; }
#cssmenu ul { list-style: none outside none; margin: 0px; display: inline; }
#cssmenu ul ul { left: 0; margin-top: 0; padding: 5px; position: absolute; top: 100%; width: 225px; z-index:1000; border-radius: 2px; }
#cssmenu > ul > li { display: inline-block; margin: 0; margin-left: 15px; padding: 0; position: relative; }
#cssmenu > ul > li:first-child { margin-left: 0px; }
#cssmenu a { color: #000000; display: block; font-weight: 300; padding: 0px 10px 10px; text-decoration: none; font-size: 1.1rem; background-image: none; }
#cssmenu ul ul a { text-transform: none; background-color: #ffffff; line-height: 120%; padding: 10px; }
#cssmenu a:hover, #cssmenu li a:hover { color: #000000; transition: color 0.2s ease 0s; filter: none; border-bottom: 1px solid #000000; }
#cssmenu ul ul {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 250px;
    padding: 5px 0;
    font-size: 1.1rem;
    text-align: left;
    list-style: none;
    background-color: #fff;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid #ccc;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: 4px;
    -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
    box-shadow: 0 6px 12px rgba(0,0,0,.175);
}
#cssmenu li.dd > li { background-color: #333333; }
#cssmenu li li:last-child a { border-bottom: none; }
#cssmenu li.active a.active { color: #ffffff; filter:none; }
#cssmenu li.active a { filter:none; border-bottom: 1px solid #ffffff; }

.row-np { padding: 0; }
.portfolio img { object-fit: cover; width: 100%; height: 40vh; display: block; box-sizing: border-box; }
.responsive { object-fit: cover; width: 100%; min-height: 30vh; display: block; box-sizing: border-box; object-position: bottom; }
.banner { max-height: 100vh; width: 100%; object-position: bottom; }

h2.large,
.heading { font-size: 1.5rem; margin: 40px 0; font-weight: 400; }
.heading-no-margin { font-size: 1.5rem; }
.button { font-size: 0.9rem; padding: 5px 30px; border: 1px solid #000000; border-radius: 2rem; text-transform: uppercase; background-color: #ffffff; color: #000000; text-decoration: none; font-weight: 400; display: inline-block; display: inline-block; }
.button:hover { background-color: #f8f8f8; color: #000000; }

.link { color: #000000; text-decoration: none; font-weight: 400; border-bottom: 1px solid transparent; }
.link:hover { color: #000000; border-bottom: 1px solid #000000; }

.v-center { align-items: center; }
.v-center * { margin: 0; }

.full-image_wrapper { position: relative; overflow: hidden; }
img.full-image { object-fit: cover; width: 100vw; height: 100vh; display: block; }
.house { padding: 20px; font-size: 1rem; border: 1px solid #000000; }
.house-icons { font-size: 1rem; border-bottom: none; }
.house-areas { border-bottom: none; }
.house-features { border-bottom: none; }
.house-price { font-size: 1.25rem; background-color: #000000; color: #ffffff; }
.spacer { height: 10px; padding: 0 5px; }

.development .title,
.forsale .title { font-size: 1.2rem; font-weight: 400; margin-top: 20px; }
.development .address,
.forsale .address { font-size: 0.9rem; text-transform: uppercase; margin-bottom: 20px;}
.development .description,
.forsale .description { font-size: 1rem; padding-right: 40px; margin-bottom: 30px; }
.development p,
.forsale p { margin: 10px 0; font-size: 1rem; line-height: 1.6rem; }
.forsale span { margin: 10px; color: transparent; border-right: 1px solid #999999; }

.ribbon { max-height: 750px; }

.forsale .button,
.gallerylocations .button,
.development .button { margin: 10px 0 100px 0; display: inline-block; }
.gallery { padding-bottom: 10px; }

.swiper-slide { min-height: 300px; background-position: center; background-size: cover; text-align: center; font-size: 18px; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; cursor: zoom-in; }
#superfeature .swiper-slide { min-height: 600px; }
.swiper-button-prev::after,
.swiper-button-next::after { color: #ffffff; background-color: rgba(0,0,0,0.5); padding: 2px; }

.g-0 { overflow: hidden }
.w55 { width: 100%; }
.h600 { height: 600px; }
.padded { padding: 0 10px 80px 10px; }
.padded-lrt { padding: 80px 10px 0px 10px; }
.padded-tb { padding: 40px 0; }

.pad-r-40 { padding-right: 40px; }
.pad-l-10 { padding-left: 10px; overflow: hidden;}
.pad-r-10 { padding-right: 10px; overflow: hidden;}

.right { text-align: right; }

.hidden { display: none; }

#contact_form label, #contact_form input,
#register_form label, #register_form input { border: 0 none; display: block; padding: 30px 0 0 0; color: #262626; }
#contact_form input,
#contact_form select,
#contact_form textarea,
#register_form input,
#register_form textarea,
#register_form select { background: none repeat scroll 0 0 #f8f8f8; border: 1px solid #444; border-radius: 5px; padding: 8px 8px; width: 100%; }
#contact_form select { padding: 10px 7px; }
#contact_form option { font-weight: 300; }
#contact_form p.required { font-size: 1rem; }

#contact_form textarea,
#register_form textarea { height: 150px; }
#contact_form .btn6,
#register_form .btn6 { float: left;	margin-right: 14px; background: none repeat scroll 0 0 #17191f; box-shadow: none; color: #ffffff; padding: 0 32px; position: relative; text-decoration: none !important; text-shadow: none; text-transform: uppercase; transition: all 0.25s ease 0s; border-color: #cccccc; }
#contact_form .btn6:hover, #register_form .btn6:hover { background: none repeat scroll 0 0 #1670e5; transition: all 0.25s ease 0s; }
#contact_form p, #register_form p { margin: 6px 0 0; }
#contact_form .radio input, #contact_form .checkbox input { width: auto; display: inline-block; }
.success_box, .error_box { display: none; }
#contact_form a.button { margin: 20px 0 80px 0; }

footer { padding: 10px; background-color: #000000; color: #ffffff; overflow: hidden; }
footer h5 { font-size: 16px; }
footer p { padding: 0 0 10px 0; font-size: 1rem; margin: 0; }
footer p a:hover { color: #ffffff; border-bottom: 1px solid #ffffff; }
footer p a { color: #eeeeee; font-weight: 300; transition: all 0.25s ease 0s; text-decoration: none; }

.xs-spacer { height: 30px; }

.w25 { width: 25%; }
.w20 { width: 20%; }
.sm-show { display: block; }
.sm-hide { display: none; }

.related ul { list-style: none outside none; margin: 0px; display: inline; padding: 0}
.related li, .related li a { color: #000000; display: inline; font-weight: 400; padding: 0 2px 0 0; text-decoration: none; font-size: 0.9rem; background-image: none; }
.related li a { font-weight: 300; filter:none; border-bottom: 1px solid #ffffff; }
@media screen and (max-width: 480px) {
	header .container { padding: 0; }
	.contactinfo span { margin: 0; display: block; }
}

footer .table { width: 100%; margin-bottom: 0; }
footer .logo { width: 100%; }
footer .address { width: 100%; }
footer .address p { font-size: 1.1rem; }
footer .links { width: 100%; }
footer .social { width: 100%; position: relative; }
footer > > p { padding: 0; }
footer p { color: #ffffff; }
footer a { color: #f5f5f5; }
footer a:hover,
footer a:visited,
footer a:active { color: #ffffff; }
footer p, footer li, footer a { font-size: 1rem; }
footer em { font-style: normal; }
footer .copyright { margin-bottom: 10px; font-size: 0.9rem;}

#footerlogo { max-width: 350px; margin-top: 10px; }
.footernav { position: relative; list-style: none outside none; margin: 0px; padding-left: 0; }
.footernav a { vertical-align: bottom; font-weight: 300; }
.footernav li { font-size: 1.1rem; }
.footernav a { color: #ffffff; text-decoration: none; border-bottom: 1px solid #000000; }
.footernav a:hover { color: #ffffff; transition: color 0.2s ease 0s; filter: none; border-bottom: 1px solid #ffffff; }

#assurance { max-width: 80px; margin-top: 10px; }
#footerag { max-width: 110px; bottom: -5px; right: 15px; position: absolute; }

@media screen and (max-width: 567px) {
	h2.large { margin: 40px 0; }
	.right { text-align: left; }
	.padded { padding: 0 0 40px 0; }
	.padded-lrt { padding: 40px 0 0 0; }

	.pad-r-40 { padding-right: 0; }
	.pad-l-10 { padding-left: 0; overflow: hidden;}
	.pad-r-10 { padding-right: 0; overflow: hidden;}

	.col-12 { width: 100%; }
	.sectionheader .container { margin-bottom: 0; margin-top: 0; }
	.section-slider .padded { min-height: 350px; }
	.banner { min-height: 50vh; }
}
@media screen and (min-width: 568px) {
	.sm-show { display: none; }
	.sm-hide { display: block; }
}
@media screen and (min-width: 768px) AND (max-width: 991px) {
	.contact-box { padding: 7px 0 0; font-size: 10px; }
	#sidemenu li.has-sub > a:after { top: 20px; }
}
@media screen and (min-width: 768px) {
	h2.large { margin: 20px 0; }
	.padded { padding: 0px 20px 80px 20px; }
	.padded-lrb { padding: 10px 10px 80px 10px; }
	.md-pad-all { padding: 20px; }
	.md-pad-r { padding-right: 20px; }
	.md-pad-l { padding-left: 20px; }
	.md-pad-lrb { padding: 0 20px 20px 20px; }
	h1 { margin: 0 0 40px 0; padding-top: 40px; }
	h1.completed { padding-top: 0px; }
	.forsale h2 { margin: 40px 0 10px; }
	.w55 { width: 55%; }
	.fixed { height: 30vw; }
	.gallery a.button, .development a.button { margin: 10px 0 60px 0; }
	footer { padding: 25px 25px 15px 25px; }
	footer .address p { font-size: 1rem; }
	footer .logo { width: 100%; }
	footer .address { width: 33%; }
	footer .links { width: 33%; }
	footer .social { width: 33%; }
	#footerlogo { width: 100%; max-width: 300px; margin-top: 0px; }
	#footerag { max-width: 105px; top: 5px; right: 0px; position: absolute; }
	#assurance { width: 75px; margin-top: 12px; }
}
@media screen and (max-width: 991px) {
	body.active { overflow:hidden; }
	#topnav { text-align: center; padding: 15px; }
	#topnav a { display: block; }
	#logo { padding-bottom: 0px; }
	#open-sidenav { display: block; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; position: absolute; z-index: 1002; cursor: pointer; user-select: none; float: left; top: 20px; width: 28px; height: 34px;}
	.top-bar, .middle-bar, .bottom-bar { height: 3px; top: 0px; width: 25px; display: block; background-color: rgba(0,0,0,1); position: absolute; transition: transform 0.5s, background-color 0.5s, top 0.5s, opacity 0.5s; }
	.middle-bar { top: 8px; }
	.bottom-bar { top: 16px; }
	body.active #open-sidenav .top-bar { background-color: rgba(255,255,255,1); top: 16px; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); transition: transform 0.5s, background-color 0.5s, top 0.5s; }
	body.active #open-sidenav .middle-bar { background-color: rgba(0,0,0,0); transition: background-color 0.5s; }
	body.active #open-sidenav .bottom-bar { background-color: #ffffff; top: 16px; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); transition: transform 0.5s, background-color 0.5s, top 0.5s; background-color: rgba(255,255,255,1); }
	#cssmenu { text-align: left; list-style: none; background: #111; max-width: 300px; height: 100%; position: fixed; top: 0; right: 0; bottom: 0; left: -300px; z-index: 100; color: #ffffff; transition: left 0.5s; }
	body.active #cssmenu { left: 0; transition: 0.25s; }
	body.active #overlay { display: block; }
	#cssmenu ul { list-style: none outside none; margin: 30px 0 0 0; padding: 0; position:absolute; }
	#cssmenu ul ul { left: 0; margin-top: 0; padding: 0 0 0 15px; top: 100%; width: 100%; z-index:1000; border-radius: 2px; background-color: transparent; position: relative; -webkit-box-shadow: none; box-shadow: none; border: 0; }
	#cssmenu li.open ul { display: block; }
	#cssmenu > ul > li { display: block; margin: 0; padding: 0; position: relative; }
	#cssmenu > ul > li:first-child { margin-left: 0px; }
	#cssmenu li a { color: #ffffff; display: inline-block; font-weight: 400; padding: 10px 10px 5px 0px; text-decoration: none; font-size: 16px; background-image: none; }
	#cssmenu li a:hover { color: #ffffff; border-bottom: 1px solid #ffffff; }

	#cssmenu li.active > a { font-weight: 600; }
	#cssmenu ul ul a { text-transform: none; line-height: 120%; padding: 10px; background-color: transparent; }
	#cssmenu li.dd > a:after { content: "+"; }
	#cssmenu li.dd.open > a:after { content: "-"; }
	#cssmenu li.dd > li { background-color: #333333; }
	#cssmenu li li:last-child a { border-bottom: none; }
	#cssmenu li.active a.active { color: #ffffff; filter:none; }
	#cssmenu li.active a { filter:none; }
	#cssmenu .caret { display: none; }
	#overlay { position: fixed; display: none; width: 100%; height: 100%; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0,0,0,0.5); z-index: 2; cursor: pointer; }
	.section-slider h2 { font-size: 4vh; }
	#faqlist { padding-top: 20px; }
	#faqs i.fa-4x { font-size: 3rem; }

	.partneritem a { padding-left: 3px; padding-right: 3px; font-size: 12px; }

	.sm-pad-t { margin-top: 40px; }
	.pad20__bl { padding: 0 0 5px 5px; }
	.pad20t__l { padding: 5px 0 0 5px; }
	.pad20tr__ { padding: 5px 5px 0 0; }
	.pad20t_bl { padding: 5px 0 5px 5px; }
	.pad20trbl { padding: 5px; }

	.fa-5x { font-size: 4rem; }

	#teamlist .details .contact-info { padding: 0 15px; }
	#staff .item a { font-size: 10pt; }

	#sidemenu > ul > li { margin: 0 0 0 5px; }
	#sidemenu a { padding-top: 15px; }
	.contactinfo { text-align: right; float: right; width: 600px; }
	.contactinfo span { margin: 0 1px; }
}
@media screen and (min-width: 992px) {
	.md-pad-all { padding: 20px; }
	.forsale img { height: 25vw; }
	.development img { height: 25vw; }

	#cssmenu { padding: 10px 0 0 0; }
	#cssmenu li.active a { filter:none; border-bottom: 1px solid #000000; }
	#cssmenu li a { font-size: 1rem; }
	#topnav { display: block; padding: 25px 50px; }
	.padded { padding: 70px; }
	.padded-lrb { padding: 0 70px 70px 70px; }
	.padded-lrt { padding: 70px 70px 0 70px; }
	#logo { max-width: 250px; padding-bottom: 3px; }
	#bars { display:none; }
	#cssmenu .dd:hover ul { display: block; }
	#cssmenu li a { padding: 0px 5px 0px; }

	footer { padding: 10px; }
	footer .logo { width: 29%; }
	footer .address { width: 25%; }
	footer .links { width: 22%; }
	footer .social { width: 22%; }
	#footerlogo { width: 100%; max-width: 325px; margin-top: 0px; }
	#footerag { max-width: 105px; top: 0px; right: 0px; position: absolute; }
	#assurance { width: 70px; }
}
@media screen and (min-width: 1200px) {
	.banner { max-height: 100vh; }
	#cssmenu a { padding: 0px 5px 5px; }
	.padded { padding: 80px 20px; }
	.padded-lrb { padding: 0 20px 80px 20px; }
	.padded-lrt { padding: 80px 20px 0 20px; }
	.md-pad-all { padding: 80px 20px 80px 20px; }
	.md-pad-lrb { padding: 0 20px 20px 20px; }
	.gallery a.button, .development a.button { margin: 10px 0 100px 0; }

	footer { padding: 20px; }
	footer p, footer li, footer a { font-size: 1rem; }
	#footerlogo { width: 100%; max-width: 350px; }
	footer .logo { width: 29%; }
	footer .address { width: 25%; }
	footer .links { width: 22%; }
	footer .social { width: 22%; }
	#footerag { max-width: 120px; top: 0px; right: 0px; position: absolute; }
	#assurance { width: 88px; }
}
@media screen and (min-width: 1400px) {
	footer p, footer li, footer a { font-size: 1rem; }
	footer .logo { width: 30%; }
	footer .address { width: 20%; }
	footer .links { width: 26%; }
	footer .social { width: 22%; }
	#assurance { width: 85px; margin-top: 52px; }
	#footerag { max-width: 140px; top: 0px; right: 0px; position: absolute; }
}
@media screen and (min-width: 1500px) {
	footer { padding: 55px 55px 25px 55px; }
	#footericon { padding-right: 0; max-width: 100px; position: relative; top: -50px; }
}
@media screen and (min-width: 1600px) {
	#topnav { max-width: 1600px; margin-left: auto; margin-right: auto; }
	.responsive { min-height: 25vw; }
	#assurance { width: 85px; margin-top: 52px; }
	footer .logo { width: 26%; }
	footer .address { width: 18.5%; }
	footer .links { width: 33%; }
	footer .social { width: 22%; }
}
@media screen and (min-width: 1920px) {
	footer div.table { max-width: 1800px; margin-left: auto; margin-right: auto; }
}

@media (min-width: 576px) {
	.container-fluid { max-width:720px; }
	.g-0 { max-width: 100%; }
}

@media (min-width: 768px) {
	.container-fluid { max-width:720px; }
	.g-0 { max-width: 100%; }
}

@media (min-width: 992px) {
	.container-fluid { max-width:960px; }
	.g-0 { max-width: 100%; }
}

@media (min-width: 1200px) {
	.container-fluid { max-width:1600px; }
	.g-0 { max-width: 100%; }
}
