body, html {
	margin: 0;
	padding: 0;
	background-color: #19388a;
	background: #19388a; /* Old browsers */
	background: -moz-linear-gradient(left, #19388a 50%, #194c9a 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #19388a 50%,#194c9a 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #19388a 50%,#194c9a 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#19388a', endColorstr='#194c9a',GradientType=1 ); /* IE6-9 */
	font-family: arial,helvetica, sans-serif;
}
h1,h2,h3,h4, p, ul {
	margin: 0;
}

header {
	/*background-color: #19388a;*/
	padding: 1em;
	color: #fff;
	max-width: 960px;
	margin: auto;
	font-weight: bolder;

}
header:after {
	clear: both;
	content: "";
	display: table;
	height: auto;
}
header h1 {
	font-weight: bolder;
	font-size: 2.75em;
	width: 500px;
	float: left;
	margin: 0;
	padding-bottom:0;
	font-weight:700;
}
header h1 a{ text-decoration:none; color:#fff;}
h1{ font-size:2em;  padding-bottom:.75em; color:#19388a;}
h2{ font-size:1.5em; padding-bottom:.75em; color:#19388a;}
h3{ font-size:1.2em;  padding-bottom:.75em; color:#19388a;}
.what-we-do {
	float: left;
	background-color: #fff;
	color: #000066;
	padding: .5em;
	text-align: center;
	text-justify: inter-character;
	font-size: 1.75em;
	padding: .5em 2em .5em 2em;
	min-width: 280px;
	clear: right;
}
.what-we-do a{ text-decoration:none; color: #000066; }
nav {
	/*background-color: #19388a;*/
	color: #fff;
	max-width: 960px;
	margin: auto;
	clear: both;
	padding-top: 0em;
	display: block;
}
nav:before {
	content: "";
	clear: both;
	height: auto;
	display: table;
	margin-top: .5em;
}
nav ul {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	padding-left: 500px;
}
nav ul:after {
	clear: both;
	height: auto;
	content: "";
	display: table;
}
nav li {
	float: left;
	padding: .5em 0.25em .5em .25em;
	list-style-type: none;
	border-right: 1px solid #6699CC;
}
nav li:first-child {
	border-left: 1px solid  #6699CC;
}
nav li:hover, nav li.current {
	background-color: #fff;
	border-top-right-radius: 4px;
	border-top-left-radius: 4px;
}
nav li a {
	color: #fff;
	padding: .5em;
	text-decoration: none;
}
nav li:hover a, nav li.current a {
	color: #000066;
}

.banner {
	width: 100%;
	background-color: #19388a;
	box-shadow: inset 0em 0em 2em #000;
	position: relative;
	height: 480px;
	min-height:480px;
	overflow: hidden;
	border-top: 1px solid #fff;
}
.banner ul{ margin:0 0 0 0; padding-left:0; list-style-type:none;}
.banner ul li{ background-color:#000; height: 500px;}
.banner ul li{  }
/*.banner ul li:first-child{ display:block; } */
.banner ul li figure{ padding-bottom:0;}
.banner ul li figure img{ margin-bottom:0;}

figure:after {
	content : "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	/*
	background-image: url(buckingham-palace-long.jpg);
	background-position: 50% 0;
	background-size: 100% 100%;
	*/
	width: 100%;
	height: 100%;
	opacity : .5;
	z-index: -1;
}
.banner figure {
	margin: 0 auto 0 auto;
	position: relative;
	max-width:1000px;
	overflow-x:hidden;
}
.banner figure img {
	margin: auto;
	display: block;
	max-height: 550px;
	z-index: 100;
	position: relative;
}
.banner figcaption {
	color: #fff;
	width:100%;
	max-width: 1000px;
	margin: auto;
	text-align: center;
	position: relative;
	bottom: 1.5em;
	position:absolute;
	font-style: italic;
	right: 0;
	z-index: 110;
	text-shadow: 0px 0px 6px #000;
}
.banner figure {
	position: relative;
	z-index: 1;
}
.banner .previous, .banner .next {
	position: absolute;
	top: 0;
	height: 100%;
	width: 40%;
	z-index: 1200;
}
.banner .previous {
	left: 0;
	text-align: right;
}
.banner .next {
	right: 0;
}
.banner .previous span, .banner .next span {
	width: 0;
	height: 0;
	top: 40%;
	left: 45%;
	position: absolute;
	overflow: hidden;
}
.banner .next span{
	right: 45%;
}
.banner .previous span {
	border-top: 40px solid transparent;
	border-bottom: 40px solid transparent;
	border-right: 60px solid rgba(25,56,138,.75);
}
.banner .next span {
	border-top: 40px solid transparent;
	border-bottom: 40px solid transparent;
	border-left: 60px solid rgba(25,56,138,.75);
}
.banner .previous span:hover {
	border-right: 60px solid rgba(255,255,255,.75);
}
.banner .next span:hover {
	border-left: 60px solid rgba(255,255,255,.75);
}
.banner figcaption{ margin:auto; }
.banner figcaption a{ color:#fff; text-decoration:none; }
section {
	background-color: #fff;
	padding: 1em;
	min-height: 7em;
	min-height: 300px;
	box-shadow: 0px -6px 8px #99CCFF inset;

	background: #e3edef; /* Old browsers */
	background: -moz-linear-gradient(45deg, #e3edef 0%, #ffffff 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(45deg, #e3edef 0%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(45deg, #e9e4e1 0%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e3edef', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.container {
	max-width: 960px;
	margin: auto;

}
.introduction {
	font-size: 1.25em;
	margin-bottom: 1em;
}
.introduction p{
	padding-bottom:.5em;
}
section a {
	color: #3333CC;
}

.items ul {
	margin: 0;
	padding: 0;
	padding-top: 1em; /*grid: repeat(1, 60px) / auto-flow 80px;*/
	/*display: grid;
	justify-items: stretch;
	justify-items: center;
	grid-template-columns: 30% 30% 30%;*/
}
.items ul:after {
	content: "";
	clear: both;
	height: auto;
	display: table;
}
.items li {
	width: 30%;
	float: left;
	list-style-type: none;
	padding: 0;
	margin: 0;
	position: relative;
	box-sizing: border-box;
}
.items li{
	margin-right: 5%;
	min-height:375px;
	min-height:400px;

		/* border: 1px solid #ccc; */
}
.items li:nth-child(3n) {
	margin-right: 0%;
}
.items li h2 {
	padding: .5em 0 .5em 0;
	font-weight: 600;
	color: #19388a;
}
.items li img {
	background-color: #19388a;
	width: 100%;
	height: 10em;
	display: block;
	border-top: 1px solid #19388a;
}
.items li a img { border-bottom:0px solid transparent; border-left:0px solid transparent; border-right:0px solid transparent;}
.items li div {
	padding: .5em 0 .5em 0;
}
.items h2 a{ text-decoration:none; color:#19388a;}

.available, .for-sale{ background-color:red; color:#fff; width:150px; font-size:.75em; padding:.25em; border-bottom:1px solid #990000; display:block; border-top:1px solid #CC0000; transform:rotate(45deg); text-align:center; position:absolute; right:-42px; top:22px;}
.coming-soon, .reserved, .sold, .let{ background-color:#339900; color:#fff; width:150px; font-size:.75em; padding:.25em; border-bottom:1px solid #336600; display:block; border-top:1px solid #336600; transform:rotate(45deg); text-align:center; position:absolute; right:-42px; top:22px;}
.coming-soon, .reserved{  background-color:#CC3300; }

.items li{ overflow:hidden; }

.more {
	clear: both;
	display: block;
	text-align: right;
	text-decoration: none;
	border-bottom: 1px dotted #3333CC;
}
/* .items .past-projects{ background-color:#ccc;} */

article{ margin-bottom:1em;}
article h1+small.date{ margin-top:0; margin-top:-1.25em; display:block;}
small.date{ color:#666; margin-bottom:1em;}
figure{ margin:0 0 1em 0;}
figure img{ max-width:100%; max-height:660px;}

figure#frame { position:relative;  }
figure#frame a#forward{ width:30%; height:100%; right:0; display:block; position:absolute;}
figure#frame a#backward{ width:30%; height:100%; left:0; display:block; position:absolute;}

figure#frame a#backward:hover i{
	background-color:rgba(0,0,0,.5);
	width:60px;
	height:60px;
	position:absolute;
	top:45%;
	left:35%;
	border-radius:30px;
}
figure#frame a#forward:hover i{
	background-color:rgba(0,0,0,.5);
	width:60px;
	height:60px;
	position:absolute;
	top:45%;
	right:35%;

	border-radius:30px;
}
figure#frame a#forward:hover i span{
	width: 0;
	height: 0;
	position:absolute;
	top:15px;
	left:19px;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	border-left: 30px solid #fff;
}
figure#frame a#backward:hover i span{
	width: 0;
	height: 0;
	position:absolute;
	top:15px;
	left:10px;
	width: 0;
	height: 0;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	border-right: 30px solid #fff;
}

.previousAndNext{ min-height:2em; clear:both;}
.previousAndNext .next{ float:right;}
.previousAndNext .previous{ float:left;}
article img{ border: 1px solid #ccc; max-width:100%; }
article p{ padding-bottom:1em;}

.gallery{ list-style-type:none; padding-left:0; margin-left:0; margin-bottom:1em;}
.gallery li{ float:left; max-width:150px;margin-right:2em; margin-bottom:2em; padding-right:0em; padding-bottom:0; }
.gallery li a { text-decoration:none; color:#444; display:block; line-height:.5em;}
.gallery:after{ content:""; clear:both; height:auto; display:table;}
#map{ height:300px; }

.half{ width:48%; float:left;height:auto;}
.wp-caption{ max-width:100%;}
.sitemap{ clear:both; height:auto;}
article:after, .half:after, .sitemap:after{ content:""; clear:both; height:auto; display:table; }
.sitemap li{ padding-bottom:.5em;}

.alignright{ float:right;}
.key{ width:1.5em; height:1.5em; display:inline-block; border: 1px solid #ddd; margin-bottom:-.5em; margin-left:.5em; margin-right:1em;}
.keys{ list-style-type:none; padding-left:0; margin-left:0;  min-width:40%; float:left;}
.fleft{ float:left;}
.keys li{ min-height:110px;}

.sold { background-color:green; color:#fff; font-size:.75em; float:left; padding:.25em .5em .25em .5em; margin-left:4.5em; }
article ul li{ padding-bottom:.5em;}
article a, .introduction a, section a {text-decoration:none;}

section{ padding-bottom:2em;}

blockquote{
	margin-left:3.5em;
	color:#19388a;
	max-width:600px;
	margin-bottom:2em;
}
blockquote p{ padding-bottom:.5em;}

blockquote:before{ display:block;
	content: '“';
	opacity:.5; color:#19388a; float:left; margin-left:-.5em; margin-top:-.125em; font-size:7em; font-family:georgia, serif;
	width:.5em; height:2em;
}
blockquote .person{ font-style:italic; font-size:.75em; color:#222;}

footer {
	/*background-color: #19388a;*/
	padding: 1em;
	padding-top:2em;
	color: #cbe2fb;
	max-width: 960px;
	margin: auto;
	position: relative;
	clear:both;
}
footer:after {
	clear: both;
	content: "";
	display: table;
	height: auto;
}
footer h3{ color:#cbe2fb;}
footer a {
	color: #cbe2fb;
	border-bottom: 1px dotted #6699CC;
	text-decoration: none;
}
footer .address span {
	display: block;
}
footer .address {
	float: left;
	width: 35%;
}
footer .address a{
	display:inline-block;
	margin-bottom:.5em;
}
footer ul {
	float: left;
	width: 30%;
	margin-left: 0;
	padding-left: 0;
	list-style-type: none;
}

footer li{ margin-bottom:.5em;}
footer li:first-child{ margin-bottom:0;}
footer .colophon {
	clear: both;
	width: auto;
	padding-left: 0;
	padding-top: 1em;
	color: #6699CC;
	font-size: .9em;
}
footer .colophon a {
	color: #6699CC;
}
footer h3 {
	padding-bottom: .5em;
}
footer ul.blocklet:nth-child(4n) {
	float: right;
}
footer .help-to-buy{
	border-bottom-width:0;
	padding-top:1em;
	display:block;
}
.telephone {
	font-size: 2.8em;
	text-align: right;
	line-height: .8em;
}
.opening-hours {
	font-size: .75em;
	text-align: right;
	padding-top: .5em;
}
.home-icon {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 30%;
}
.colophon li {
	float: left;
	list-style-type: none;
	padding: 0 .5em 0 .5em;
	border-left: 1px solid #6699CC;
}
.colophon li:first-child {
	border-left: 0px solid red;
	padding-left: 0 ;
}

@media all and (max-width:950px) {

	header h1 {
		width: 50%;
	}
	.banner ul li {
		height: 400px;
	}
	.banner {
		height: 400px;
		min-height: auto;
	}
	.banner figure img {
		max-height: 400px;
	}
	footer .blocklet:nth-child(2) {
		width: 20%;
	}
	footer .blocklet:nth-child(4) {
		width: 40%;
	}
}

@media all and (max-width:925px) {
	body, html {
		min-width: 300px;
	}
	header h1 {
		font-size: 2.5em;
		width: 50%;
		padding-bottom: .5em;
	}
	header .what-we-do {
		font-size: 1.5em;
	}
}

@media all and (max-width:890px) {
	nav {
	}
	nav ul {
		padding-left: 0;
	}
	nav ul li:first-child {
		border-left-width: 0;
	}
}

@media all and (max-width:840px) {
	.banner ul li {
		height: 300px;
	}
	.banner {
		height: 300px;
	}
	.banner figure img {
		max-height: 300px;
	}
}

@media all and (max-width:800px) {
	header h1 {
		font-size: 2em;
		padding-top: .25em;
		width: 50%;
	}
	header .what-we-do {
		min-width: 49%;
		box-sizing: border-box;
	}

	.items li:nth-child(3n) {
		margin-right: inherit;
	}
	.items li {
		width: 47%;
		margin-right: 5% !important;
		margin-bottom: 1em;
	}
	.items li:nth-child(2n) {
		margin-right: 0 !important;
	}
}

@media all and (max-width:655px) {
	header h1 {
		font-size: 1.75em;
		width: 49%;
		padding-top: .125em;
	}
	header .what-we-do {
		font-size: 1.25em;
		min-width: 49%;
	}
}

@media all and (max-width:620px) {
	header h1 {
		font-size: 1.55em;
	}
}

@media all and (max-width:570px) {
	header h1 {
		font-size: 1.5em;
	}
	header .what-we-do {
		font-size: 1em;
	}
	.banner {
		display: none;
	}
	footer ul.blocklet, footer div.address {
		clear: both;
		text-align: center;
		margin-bottom: 2em;
		width: 100%;
		text-align: center;
	}
	footer .telephone, footer .opening-hours, footer .colophon {
		text-align: center;
	}
	footer .colophon {
		border-top: 1px solid #eee;
	}
	footer .colophon li {
		width: 100%;
		padding-bottom: .25em;
		border-width: 0px ;
	}
	footer .blocklet:nth-child(2) {
		width: 100%;
	}
	footer .blocklet:nth-child(4) {
		width: 100%;
	}
}
@media all and (max-width:540px) {
	header h1 {
		font-size: 1.25em;
	}
}

@media all and (max-width:500px) {
	header h1 {
		font-size: 1em;
	}
	header .what-we-do {
		font-size: .75em;
	}
	.gallery li {
		margin-right:.75em;
		margin-bottom:.75em;
	}
}

@media all and (max-width:400px) {
	nav {
		font-size: .9em;
	}
	nav li {
		padding-right: 0;
	}
}

@media all and (max-width:360px) {
	header h1 {
		clear: both;
		width: 100%;
	}
	header .what-we-do {
		display: none;
	}
	nav {
		font-size: .75em;
	}
	.gallery li {
		max-width:47%;
		margin-right:.5em;
	}
}