/******************************************************************

Theme Name: Eight Wire
Theme URI: https://eightwire.uk
Description: Web Design & Development
Author: Eight Wire
Author URI: https://eightwire.uk
Version: 200414
Tags: one-column, two-columns, right-sidebar, custom-header, custom-menu, featured-images
Text Domain: eightwire

******************************************************************/
/**********
BREAKPOINTS
**********/
/* xs | mobile default 1 col | 320px-479px */

/* s | landscape mobile & portrait tablet | 480px-959px
@media screen and (min-width:480px)  { } */

/* m | landscape tablet & laptop | 960px-1439px
@media screen and (min-width:960px)  { } */

/* l | hd desktop | 1440px-1920px
@media screen and (min-width:1440px) { } */

/* xl | fhd desktop | 1921px-2399px
@media screen and (min-width:1921px) { } */

/* xxl | 2k desktop | 2400px-3359
@media screen and (min-width:2400px) { } */

/* xxxl | 4k desktop | 3360px+
@media screen and (min-width:3360px) { } */

/***
VARS
***/
:root {
    --lite: #FFFFFF;
    --grey: #CED1D4;
    --dark: #353535;
    --blue : #0C1A29;
    --green : #A8CA59;

    --primary: var(--blue,#0C1A29);
    --secondary: var(--green,#A8CA59);
    --text: var(--blue,#0C1A29);

    --font-sys: -apple-system, BlinkMacSystemFont, "Segoe UI", "Quattrocento Sans", "Oxygen", "Oxygen-Sans", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;

    --width-max:     1920px;
    --width-content: 1280px;
    --headerheight: 133; /* set using JS if height varies responsively */
    --fullheight: 0;
    --bannerheight: 0;

    --vh:0;
    --uivh: calc(var(--vh,1vh) * 100px); /* --vh calculated by script */
    --adminbarheight: 0;

    --transition-attr:all;
    --transition-time:0.2s;
    --transition-type:ease;

	--pad: 40px;

}
/***
BASE
***/
html, body {
    margin: 0;
    padding:0;
    font-family: "Quattrocento Sans", var(--font-sys);
	max-width: 100vw;
}
html {
    height: var(--uivh,100vh);
    font-size: 62.5%;
    -ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
*,
*:after,
*:before {
    -webkit-box-sizing: inherit;
            box-sizing: inherit;
}
body {
	font-weight: 400;
	font-size: 1.7rem;
	line-height: 1.5;
	color: var(--text);
	-webkit-font-smoothing: antialiased;
    background-color: #fff;
	overflow-y: scroll;
	overflow-x: hidden;
    min-height:100%;
	min-width: 160px;
}
@media screen and (min-width: 2400px) {
	body { -moz-zoom: 1.5; zoom: 1.5; } /* magnifies the screen on QuadHD+ to look more like FullHD design */
}
@media screen and (min-width: 3500px) {
	body { -moz-zoom: 2; zoom: 2; } /* magnifies the screen on 4K+ to look more like FullHD design */
}
body.admin-bar {
    --adminbarheight: 32;
}
@media screen and (max-width: 782px) {
    body.admin-bar {
        --adminbarheight: 46;
    }
}
@media screen and (max-width: 959px) {
    :root {
        --headerheight: 120; /* may need JS to set if height varies responsively */
    }
}
@media only screen and (max-device-width : 1024px) and (orientation : portrait) {
    .fullheight {
        height: 100vh; /* fallback */
    }
    .fullheight {
        --fullheight:calc(var(--uivh) - var(--adminbarheight) * 1px);
        height: var(--fullheight,100vh);
    }
}
/*@supports ( backdrop-filter: blur(3px) ) {
    #wpadminbar {
        -webkit-backdrop-filter: blur(3px) contrast(.8) hue-rotate(45deg);
        backdrop-filter: blur(3px) contrast(.8) hue-rotate(45deg);
        background: rgba(0,0,0,0.7);
    }
}*/

/****
RESET
****/
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
	display: block;
}
audio, canvas, progress, video {
	display: inline-block;
	vertical-align: baseline;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
[hidden], template {
	display: none;
}
abbr[title] {
	border-bottom: 1px dotted;
}
b, strong {
	font-weight: 700;
}
dfn, i. em {
	font-style: italic;
}
mark {
	background: #ff0;
	color: #000;
}
small {
	font-size: 80%;
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
img {
	max-width: 100%;
	height: auto;
	display: block;
}
figure {
	margin: 0;
	display: inline-block;
}
figcaption {
	margin: 0.5em 0;
	padding: 0.5em 0;
	border-top: 1px solid rgba(127,127,127,0.5);
	border-bottom: 1px solid rgba(127,127,127,0.5);
}
svg:not(:root) {
	overflow: hidden;
}
code, kbd, pre, samp {
	font-family: monospace;
	font-size: 1em;
}
pre {
	overflow: auto;
}
code, pre {
	text-align: left;
	padding: 5px 10px;
	background: #f5f5f5;
}
blockquote {
	padding: 0 0 0 1em;
	margin: 0 0 0 .1em;
	-webkit-box-shadow: inset 5px 0 rgba(17, 17, 17, 0.3);
	        box-shadow: inset 5px 0 rgba(17, 17, 17, 0.3);
}
button, input, optgroup, select, textarea {
	color: inherit;
	font: inherit;
	margin: 0;
    outline: none;
}
button {
	overflow: visible;
}
button, select {
	text-transform: none;
}
.btn,
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
    outline: none;
	background-color: var(--secondary);
	color: #fff;
	border: none;
	box-shadow: none;
	padding: 0.5em 1em;
	text-decoration: none;
	display: inline-block;
}
.btn:hover,
button:hover,
html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	background-color: var(--primary);
	color: #fff;
}
button[disabled],
input[disabled] {
	cursor: default
}
button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}
input {
	line-height: normal;
	max-width: 100%;
}
input[size], textarea[cols] {
	width: 100%;
}
input[type="checkbox"],
input[type="radio"] {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
fieldset {
	border: 0;
	padding: 0;
}
legend {
	border: 0;
	padding: 0;
}
label, select {
	cursor: pointer;
}
textarea {
	overflow: auto;
}
optgroup {
	font-weight: bold;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	text-align: left;
}
td, th {
	padding: 5px 2.4em 5px 10px;
}
th {
	text-align: left;
	font-weight: 900;
	color: #fff;
	background-color: var(--primary);
}
@media screen and (max-width:480px) {
    td, th {
        /*display: block;*/
        width: auto;
        padding:5px 1px;
    }
    th {
        word-break: break-all;
        word-wrap: break-word;
    }
    table {
        table-layout: fixed;
        width: auto;
    }

}





/******
STYLING
******/
.wrapper,
.content {
	max-width: var(--width-max);
	margin: 0 auto;
    padding: 0 20px;
}
.content {
	max-width: var(--width-content);
}
hr {
    height:0;
	border: none;
	border-bottom: 3px solid var(--primary);
    margin: 50px 0;
}
h1, h2, h3, h4, h5, h6 {
    font-family: "Quattrocento Sans", var(--font-sys);
    text-rendering: optimizelegibility;
	line-height: inherit;
	margin: 0 0 1em 0;
    font-weight: 400;
    color: inherit;
    font-size: inherit;
	text-transform: uppercase;
}
h1,.h1 {
	font-size: 4.0rem;
}
h2,.h2 {
	font-size: 3.0rem;
}
h3,.h3 {
	font-size: 2.3rem;
}
.primary {
    color: var(--primary);
}
.secondary {
    color: var(--secondary);
}
p {
	font-weight: inherit;
	text-rendering: optimizeSpeed;
    font-size: inherit;
	line-height: inherit;
	margin: 0 0 1em 0;
	/*letter-spacing: -0.013em;*/
}
a {
	text-decoration: none;
	color: inherit;
    display: inline-block;
}
a:active, a:hover {
	outline: 0;
}
main {
	background-color: #EBEDEE;
}
main p a {
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--primary);
}
main p a:hover {
    color: var(--secondary);
    text-decoration-color: var(--secondary);
}

/*****
HEADER
*****/
header.header {
	text-align:center;
	padding: 20px 60px;
    position: relative;
	background: var(--primary);
	color: #fff;
	display: -ms-grid;
	display: grid;
	grid-template-columns: 1fr;
}
@media screen and (min-width:768px) {
    header.header {
        grid-template-columns: 210px 1fr;
    }
}

@media screen and (max-width:768px) {
    header.header {
        padding: 20px 60px 20px 20px !important;
    }
}
.sitelogo {
	margin: 0 auto;
	display: -ms-grid;
	display: grid;
}
.sitelogo a {
	display:block;
    max-width: 250px;
	height:auto;
	margin: auto;

}
.sitelogo img ,
.sitelogo svg {
    width:100%;
    height: auto;
	display:block;
}
/*.sitelogo svg path {
	fill: var(--primary);
}*/
.sitelogo a:hover svg path {
	fill: var(--secondary);
}

@media screen and (max-width:1119px) {
    .sitelogo {
        margin: 0 0 0 0;
        max-width: 150px;


    }
}

/*@media screen and (max-width 1119px) {
  .sitelogo a {
    display:block;
    max-width: 150px !important;
  	height:auto;
  	margin: auto;
  }
}*/

/**
NAV
**/
.nav {
	margin: 0 auto;
	display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}
nav.primary-menu {
    margin: 0;
	-webkit-transition: all .3s;
	-o-transition: all .3s;
	transition: all .3s;
/*	-webkit-transform-style: preserve-3d;
	        transform-style: preserve-3d;*/
}
@media screen and (min-width:768px) {
    .nav {
        margin: 0 0 0 auto;

    }
	nav.primary-menu {
    	margin: auto 50px auto auto;
		text-align: right;
	}
}
nav.primary-menu .menu {
    list-style: none;
}
nav.primary-menu .menu li {
    display: inline-block;
}
nav.primary-menu .menu li li {
    display: block;
}
nav.primary-menu .menu li ,
nav.primary-menu .menu a {
    color: #fff;
}
nav.primary-menu .menu > li a {
    padding:0.5em 1em;
    color: #fff;
    text-align: center;
	text-transform: uppercase;
}
nav.primary-menu .sub-menu > li a {
    text-align: left;
}
nav.primary-menu .menu ul li a {
    display: block;
}
nav.primary-menu .menu > li a:hover,
nav.primary-menu .menu > li.menu-item-has-children:hover > a,
nav.primary-menu .menu li.current-menu-ancestor > a,
.single-mooring nav.primary-menu .menu > li.menu-item-120 > a,
.single-post nav.primary-menu .menu > li.menu-item-87 > a {
    color: var(--secondary);
}
nav.primary-menu .menu li.current-menu-item > a/*,
nav.primary-menu .menu > li.menu-item-has-children:hover > a*/ {
    color: var(--secondary) !important;
}
nav.primary-menu .menu ul {
    display: none;
}
nav.primary-menu .menu > li.menu-item-has-children {
    position: relative;
}
@media all and (min-width: 1120px) {
	nav.primary-menu .menu > li.menu-item-has-children:hover > ul {
		display: block;
		position: absolute;
		z-index: 999;
		top: 100%;
		padding: 0;
		background-color: var(--primary);
		color: #fff;
		left:50%;
		white-space: nowrap;
		max-width: 300px;
		overflow: hidden;
		text-transform: uppercase;
		-webkit-transform: translateX(-50%);
			-ms-transform: translateX(-50%);
				transform: translateX(-50%);
	}
	nav.primary-menu .menu ul li:not(:last-child):after {
		content: "";
		display:block;
		border-bottom: 1px solid #fff;
		margin: 0 1em;
	}
}
nav.primary-menu .menu > li.menu-item-has-children > ul a {
    color: #fff;
}
nav.primary-menu .menu > li.menu-item-has-children > ul a:hover {
    color: var(--secondary);
}
nav.primary-menu .burger {
	display: none;
    cursor: pointer;
    position: relative;
    z-index: 200;
    font-size: 24px;
    border: 1px solid #eee;
    padding: 0 0.4em;
}
nav.primary-menu .burger span::before {
    /*content: "≡";*/
    content: "\2261";
}
nav input[type="checkbox"] {
	display: none;
}

@media all and (max-width: 1119px) {
   /* .nav {
        position: fixed;
        top: 0;
		left: 0;
        right: 0;
        z-index: 100;
        margin: 0;
        display: block;
    }*/
	nav.primary-menu .burger {
		display: block;
		position: absolute;
		z-index: 1010;
		height: auto;
        width: 40px;
		right: 25px;
        top: 24px;
        background: var(--secondary);
        border-color: var(--secondary);
		color: var(--primary);
		-webkit-transition: all .5s ease;
		-o-transition: all .5s ease;
		transition: all .5s ease;
		text-align: center;
	}
    nav.primary-menu .show:checked~.burger span::before {
        content: "\d7";
    }

	nav.primary-menu .burger~.menu {

	}
/*	nav.primary-menu .show:checked~.burger {
		color: transparent;
		width: 100%;
		border-radius: 0;
		background: rgba(0, 0, 0, 0.2);
		-webkit-transition: all .5s ease;
		-o-transition: all .5s ease;
		transition: all .5s ease;
	}*/
	nav.primary-menu .show~.menu {
        opacity: 0;
        position: fixed;
        z-index: 1000;
        left:0;
		right: 0;
        top:0;
        height: 100vh;
        overflow: auto;
        padding:22vh 20px 100px 20px;
        background: rgba(0,0,0,0.6);
        text-align: center;
		-webkit-transform-origin: top center;
		    -ms-transform-origin: top center;
		        transform-origin: top center;
		-webkit-transition: all .25s ease-out;
		-o-transition: all .25s ease-out;
		transition: all .25s ease-out;
		-webkit-transform: scale(0);
		    -ms-transform: scale(0);
		        transform: scale(0);
        border-bottom-left-radius: 50%;
        border-bottom-right-radius: 50%;
    }
    nav.primary-menu .show:checked~.menu {
        opacity: 1;
		-webkit-transform: none;
		    -ms-transform: none;
		        transform: none;
        border-radius: 0;
	}
    nav.primary-menu .menu > li {
		display: -webkit-box;
        display: -webkit-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
		-webkit-box-align: center;
-webkit-align-items: center;
   -moz-box-align: center;
    -ms-flex-align: center;
        align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
        width:100%;
        background: var(--primary);
        font-size: calc(calc(var(--fontsize-body) * 1px) + 1vmin);
    }
    nav.primary-menu .menu > li a {
        display: block;
        width: 100%;
    }
    nav.primary-menu .menu > li a:hover {
        color: var(--secondary);
    }
    nav.primary-menu .menu > li:first-child {
        border-top-left-radius: 1em;
        border-top-right-radius: 1em;
        overflow: hidden;
    }
    nav.primary-menu .menu > li:last-child {
        border-bottom-left-radius: 1em;
        border-bottom-right-radius: 1em;
        overflow: hidden;
    }
	nav.primary-menu .menu > li.menu-item-has-children > a {
		pointer-events: none;
	}
	/*nav.primary-menu .menu > li.menu-item-has-children:hover ul {
		display: block;
	}*/ /* using jquery instead */
    nav.primary-menu .menu ul {
		padding: 0;
		width: 75%;
    }
    nav.primary-menu .menu li li {
		margin: 0 0.5em;
    }
    nav.primary-menu .menu li li a {
        font-size: 75%;
    }
	header.header nav.primary-menu .menu ul li:after {
		content:"";
		display: none;
	}
}
.header-telephone {

	margin: auto;
	display: inline-block;
	border: 1px solid var(--secondary);
	color: var(--secondary);
	border-radius: 1.5em;
	padding: 0.5em 1em;
	font-size: 2.3rem;
	white-space: nowrap;
}
.header-telephone:hover {
	background-color: var(--secondary);
	color: #fff;
}
@media screen and (max-width:1119px) {
	.header-telephone {
    display: none !important;
		margin: 1em 0 0 0;

	}
}
/*hides phone number menu item on desktop */
@media screen and (min-width:1119px) {
	.mobile-tel {

    display: none !important;
		margin: 1em 0 0 0;

	}
}
@media screen and (max-width:1119px) {
	.mobile-tel  {

    padding: 5px;

	}
}

@media screen and (max-width:1119px) {
	.mobile-tel a {

    border: 1px solid var(--secondary);
  	color: var(--secondary);
  	border-radius: 1.5em;

	}
}


/*****
PAGES
*****/
article.article {
    padding: 50px 0;
}

.text {
    color: var(--primary);
    font-weight: 400;
    font-family: "Quattrocento Sans", var(--font-sys);
    font-size: 1.7rem;
	/*letter-spacing: -0.013em;*/
	position: relative;
}
.text em, .text i{
    color: var(--primary);
    font-weight: 400;
    font-family: "Lora", var(--font-sys);
	font-style: italic;
    font-size: 2.4rem;
	line-height: 2;
	letter-spacing: normal;
}
.text input#readmore {
	display: none;
}
.text input#readmore ~ label {
	display: block;
	position: absolute;
	bottom:-20px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}
.home .text p:not(:first-of-type) {
	opacity: 0;
	height: 0;
	margin: 0;
	overflow: hidden;
	transition-timing-function: linear, step-end;
}
.home .text input:checked ~ p {
	transition: opacity 1s linear, height 1s step-start;
	height: auto !important;
	margin: 0 0 0.5em 0;
	opacity: 1 !important;
}
.home .text label::before {
	content: "READ MORE";
}
.home .text input:checked ~ label::before {
	content: "READ LESS";
}

/* CTA */
.cta {
	background-color: var(--secondary);
	color: var(--primary);
	font-weight: 700;
	font-size: 3rem;
	font-size: clamp(1.7rem, 0.5rem + 5vw, 3rem);
	letter-spacing: 0.08em;
	text-align: center;
	padding:0 1em;
	text-transform: uppercase;
}
.cta a {
	color: #fff;
	border: 1px solid #fff;
	padding: 0.3em 1em;
}
.cta a:focus,
.cta a:hover,
.cta a:active {
	background-color: var(--primary);
	border-color: var(--primary);
}
.cta a ,
.cta span {
	margin: 0.8em;
	display: inline-block;
}

/* PROPERTY SEARCH */
body:not(.post-type-archive-property) .propertysearch { display:none !important;}

.propertysearch,
.property-search-form {
	background-color: var(--grey);
	color: var(--primary);
	text-align: center;
	padding: 20px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.propertysearch form {
	display: -ms-grid;
	display: grid;
    grid-gap: 10px;
    gap: 10px;
    grid-template-columns: 1fr 1fr 1fr 150px;
	margin: 10px auto;
	max-width: var(--width-content);
}
@media screen and (max-width:1320px) {
	.propertysearch form {
		grid-template-columns: 1fr 1fr;
	}
	.propertysearch label {
		display: block;
	}
	.propertysearchsubmit {
		margin-top: 1.5em;
	}
}
@media screen and (max-width:1070px) {
	.post-type-archive-property .propertysearch .propertysearchsubmit {
		grid-column: 1 / -1;
	}
}
@media screen and (max-width:640px) {
	.propertysearch form {
		grid-template-columns: 1fr;
	}
}
.post-type-archive-property .propertysearch form {
	grid-template-columns: repeat( auto-fit, minmax(250px, 1fr) );
	max-width: none;
}
.post-type-archive-property .propertysearch label {
	display: block;
}
.post-type-archive-property .propertysearch .propertysearchsubmit {
	margin-top: 1.5em;
}
.propertysearch .minimum_bedrooms ,
.propertysearch .availability {
	display: none !important;
}
.post-type-archive-property .propertysearch .minimum_bedrooms ,
.post-type-archive-property .propertysearch .availability {
	display: block !important;
}
.propertysearch span,
.property-search-form::before {
	content: "PROPERTY SEARCH";
	display: block;
	font-size: 2.3rem;
	text-align: center;
}
.propertysearch form div,
.property-search-form .control{
	/*display: inline-block;
	margin: 0.5em 1em;*/
}
.propertysearch form select,
.property-search-form select {
	margin: 0 0.5em;
	padding: 0.4em 1.7em 0.4em 0.9em;
	width: 204px;
	color: var(--primary);
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	border: none;
	border-radius: 0;
	background: #fff url('data:image/svg+xml,%3Csvg viewBox="0 0 64 46" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-miterlimit="10"%3E%3Cpath d="M13.4 14.192a.79.79 0 011.35-.56l16.834 16.834 16.832-16.834a.792.792 0 111.12 1.12L32.144 32.144c-.31.31-.81.31-1.12 0L13.632 14.752a.789.789 0 01-.232-.56z" fill="none" stroke="%230c1a29" stroke-width="2.66667"/%3E%3C/svg%3E') right 5px center no-repeat scroll;
	background-size: 20px 12px;
	text-transform: uppercase;
}
.propertysearch form select:focus,
.propertysearch form select:hover,
.propertysearch form select:active,
.property-search-form select:active,
.property-search-form select:hover,
.property-search-form select:active {
	background-color: var(--secondary);
	color: #fff;
}
.propertysearch form select option,
.property-search-form select option {
	background-color: #fff;
	color: var(--primary);
}
body:not(.post-type-archive) .propertysearch .orderbysort {
	display: none;
}

/* AREA SEARCH */
.areasearch {
	background-color: var(--grey);
	color: var(--primary);
	padding: 8px 20px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: normal;
}
.areasearchtitle {
	font-size: 1.9rem;
	font-weight: 500;
}
.areasearch .flex {
	gap: 10px 40px;
}
.areasearch .flex>* {
	flex: 0 1 auto;
}
.areasearch input::placeholder {
	color: #000;
	letter-spacing: 0.1em;
}
.areasearch input[type="text"] {
	flex-grow: 1;
	padding: 0.3em 1em;
	font-size: 1.6rem;
	color: #0C1A29;
	border: none;
}
.areasearch .extra {
	width: auto;
	margin: auto;
}
@media screen and (max-width:410px) {
	.areasearch .extra {
		gap: 10px 20px;
	}
}
@media screen and (max-width:410px) {
	.areasearch .extra .btn {
		font-size: 4vw;
	}
}
.areasearch .btn {
	padding: 0.3em 1em;
	line-height: normal;
}

/* PROPERTY HIVE */
.propertyhive h1.page-title {
	text-align: center;
	font-size: 3rem;
	letter-spacing: 0.1em;
}
.propertyhive section.text {
	max-width: 1109px;
	margin: 0 auto;
}
.property-search-form {
    display: block;
    width: auto;
}
.property-search-form input[type="submit"] {
    text-transform: uppercase;
}
.property-search-form .control {
    display: inline-block;
    vertical-align: middle;
    padding: 0 10px;
    position: relative;
}
.property-search-form .control.control-department,
.property-search-form .control.control-minimum_floor_area,
.property-search-form .control.control-maximum_floor_area,
.property-search-form .control.control-minimum_rent,
.property-search-form .control.control-maximum_rent,
.property-search-form .control.control-property_type,
.property-search-form .control.control-commercial_property_type {
	display: none;
}

.propertyhive-result-count {
	/*font-weight: 700;*/
	text-transform: uppercase;
	text-align: center;
}
.propertyhive ul.properties {
	display: -ms-grid;
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 20px;
	gap: 20px;
}
@media screen and (min-width:640px) {
	.propertyhive ul.properties {
		grid-template-columns: 1fr 1fr;
	}
}
.propertyhive ul.properties li {
	border: none;
}
.propertyhive ul.properties::after,
.propertyhive ul.properties li.clear::after {
	content: none
}
.propertyhive ul.properties li {
	display: -ms-grid;
	display: grid;
    grid-template-areas: 'overlay';
	width:100% !important;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	float: none !important;
	clear: none !important;
	padding: 0 !important;
	margin: 0 !important;
	position: relative;
	background-color: var(--grey);
}
.propertyhive ul.properties li > div,
.propertyhive ul.properties li::before {
	position: relative;
    grid-area: overlay;
	width:100% !important;
	aspect-ratio: 3 / 2;
	float: none !important;
	clear: none !important;
	-webkit-transition: all .2s ease;
	-o-transition: all .2s ease;
	transition: all .2s ease;
}
/* .propertyhive ul.properties li::before {
	z-index: 5;
	content: "";
	background-color: var(--primary);
	opacity:0.3;
	pointer-events: none;
}
.propertyhive ul.properties li:hover::before {
	opacity:0.6;
} */
.featuredproperties {
	margin-bottom: 40px;
	text-align: center;
}
.acf-map .thumbnail,
.featuredproperty {
	position: relative;
}
.acf-map .thumbnail::after,
.featuredproperty .thumbnail::after,
.propertyhive ul.properties li .thumbnail::after { /* tags */
	content: none;
	position: absolute;
	z-index: 50;
	top:20px;
	left:0;
	pointer-events: none;
	display: inline-block;
	color:#fff;
	padding:2px 20px;
	background-color: var(--primary);
}
/*.page-id-4671 .propertyhive ul.properties li .thumbnail::after {
	background-color: #a21f1f;
}*/
.acf-map .thumbnail.avail-for-sale::after,
.featuredproperty.avail-for-sale .thumbnail::after,
.propertyhive ul.properties li.availability-for-sale .thumbnail::after { /* for sale */
	content: none;
}
.acf-map .thumbnail.avail-under-offer::after,
.featuredproperty.avail-under-offer .thumbnail::after,
.propertyhive ul.properties li.availability-under-offer .thumbnail::after { /* under offer */
	content: "UNDER OFFER";
}
.acf-map .thumbnail.avail-sold_stc::after,
.featuredproperty.avail-sold_stc .thumbnail::after,
.propertyhive ul.properties li.availability-sold-stc .thumbnail::after { /* sold stc */
	content: "SOLD STC";
	background-color: #a21f1f;
}
.acf-map .thumbnail.avail-sold::after,
.featuredproperty.avail-sold .thumbnail::after,
.propertyhive ul.properties li.availability-sold .thumbnail::after , /* sold */
.page-id-4671 .propertyhive ul.properties li .thumbnail::after { /* recent sales */
	content: "SOLD";
	background-color: #a21f1f;
}

.featuredproperty h3 {
	font-family: "Lora", var(--font-sys);
	text-transform: none;
	margin: 0.5em 0;
}
.featuredproperty {
	border-bottom: 3px solid #0C1A29;
	margin-bottom: 20px;
}
.featuredproperty .thumbnail {
	overflow: hidden;
}
.featuredproperty .thumbnail img {
    width: 100% !important;
    height: 100%;
    max-height: 407px;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    -o-object-fit: cover;
    object-fit: cover;
	-webkit-transition: all .2s ease; */
    -o-transition: all .2s ease;
    transition: all .2s ease;
}
.featuredproperty .thumbnail:hover img {
	transform: scale(1.2);
}
.featuredproperty .price span:last-child {
	font-family: "Lora", var(--font-sys);
	font-size: 2.4rem;
}
.featuredproperty .actions {
	position: relative;
	top: 22px;
}

.page-id-4671 .propertyhive ul.properties li > div.details .actions,
.propertyhive ul.properties li > div.details .property-availability { display: none !important; }

.property-availability {
	font-weight: 700;
}

.page-id-4671 .propertyhive ul.properties li .thumbnail a { pointer-events: none !important; }

.page-id-4674 .propertyhive ul.properties li .thumbnail::after { /* new homes */
	content: "NEW HOME";
}
@media screen and (max-width:960px){
	.propertyhive ul.properties li .thumbnail::after { /* tags */
		top:0;
		font-size: 1.5rem;
		z-index: 9;
	}
}
.propertyhive ul.properties li > div.details {
    z-index: 10;
	width: fit-content !important;
	width: 100% !important;
	height: auto !important;
	place-self: end;
	aspect-ratio: auto;
	color: #fff;
	text-align: left;
	padding: 10px;
	pointer-events: none;
	display: -webkit-box;
display: -ms-flexbox;
display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.propertyhive ul.properties li > div.details > *:not(.actions) {
  color: var(--blue);
  /*text-shadow: 1px 1px 1px #fff, 1px 0 #fff, 0 1px #fff, -1px 0 #fff, 0 -1px #fff, -1px -1px #fff, -1px 1px #fff, 1px -1px #fff, 1px 1px #fff;*/
  text-shadow: 1px 1px 1px rgba(255,255,255,0.5), 1px 0 rgba(255,255,255,0.5), 0 1px rgba(255,255,255,0.5), -1px 0 rgba(255,255,255,0.5), 0 -1px rgba(255,255,255,0.5), -1px -1px rgba(255,255,255,0.5), -1px 1px rgba(255,255,255,0.5), 1px -1px rgba(255,255,255,0.5), 1px 1px rgba(255,255,255,0.5);
}

.propertyhive ul.properties li .details h3 {
	margin: 0 auto 0.3em auto;
	font-size: 3rem;
	font-size: clamp(1.7rem, 0.5rem + 4vw, 2.5rem);
	font-weight: 700;
	text-transform: none;
	flex-basis: 100%;
}
.propertyhive ul.properties li .details a.btn {
	pointer-events: all;
}
.propertyhive ul.properties li .details .btn {
	font-size: 1.6rem;
	text-transform: uppercase;
}
.propertyhive ul.properties li .details .price {
	margin: 0 auto 0 0;
	font-size: 2.3rem;
	font-size: clamp(1.6rem, 0.4rem + 3vw, 2.2rem);
	font-weight: 700;
	line-height: 40px;
}
.propertyhive .summary .price {
	margin: 0 auto 0.6em auto;
	font-size: 2.3rem;
	text-align: center;
	/*font-size: clamp(1.7rem, 0.4rem + 4vw, 2.33rem);*/
	border-bottom: 3px solid var(--primary);
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.propertyhive ul.properties img {
	width:100% !important;
    height: 100%;
    max-height: 407px;
	aspect-ratio: 3 / 2;
    overflow: hidden;
    -o-object-fit: cover;
       object-fit: cover;
	-webkit-transition: all .2s ease;
	-o-transition: all .2s ease;
	transition: all .2s ease;
}
.propertyhive ul.properties li:hover img {
	transform: scale(1.2);
}
.propertyhive ul.page-numbers {
	text-align: center;
	margin: 60px auto 30px auto;
	font-size: 0;
}
.propertyhive ul.page-numbers li {
	font-size: 1.7rem;
}
.propertyhive ul.page-numbers span ,
.propertyhive ul.page-numbers a {
	padding: 0.3em 0.5em;
	display: inline-block;
	min-width: 2em;
	text-align: center;
}
.propertyhive ul.page-numbers a:hover {
	color: #fff;
	background-color: var(--primary);
}
.propertyhive ul.page-numbers span.current {
	color: #fff;
	background-color: var(--secondary);
}
.propertygallery {
	display: -ms-grid;
	display: grid;
    grid-gap: 20px;
    gap: 20px;
    grid-template-columns: 1fr;
	margin: 40px auto;
	max-width: var(--width-content);
}
@media screen and (min-width:640px) {
	.propertygallery {
		grid-template-columns: 1fr 1fr;
	}
}
@media screen and (min-width:1024px) {
	.propertygallery {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
}
.description-contents a {
	word-wrap: break-word;
	word-break: break-all;
}
.description-contents .accordion .accordion__content {
	padding: 0 20px;
}
.property_title.entry-title {
	text-align: center;
}
.property_actions ul {
	list-style: none;
	margin: 40px 0 20px 0;
	padding: 0;
}
.property_actions li {
	display: inline-block;
	margin: 0 20px 20px 0;
}
.property_actions a {
	background-color: var(--secondary);
	color: #fff;
	text-transform: uppercase;
	padding: 10px 20px;
}
/* NEW INSTRUCTIONS */
.page-id-4665 .propertyhive-result-count,
.page-id-4665 .propertyhive-pagination {
	display: none !important;
}

/* TESTIMONIALS */
section.testimonials {
	background-color: #fff;
	color: var(--primary);
	text-align: center;
	padding:1em;
}
section.testimonials a {
	color: #fff;
	background-color: var(--secondary);
	padding: 0.5em 1em;
	text-transform: uppercase;
	margin: 1.5em 0 0.5em 0;
	display: inline-block;
	font-size: 1.6rem;
    font-family: "Quattrocento Sans", var(--font-sys);
	font-style: normal;
}
section.testimonials a:focus,
section.testimonials a:hover,
section.testimonials a:active {
	background-color: var(--primary);
}
.testimonials-title {
	font-size: 3rem;
	font-size: clamp(1.7rem, 0.5rem + 5vw, 3rem);
	text-align: left;
	display: inline-block;
	margin: 0 3em;
}
.testimonials-text {
	text-align: left;
	display: inline-block;
	color: var(--primary);
    font-weight: 400;
    font-family: "Lora", var(--font-sys);
	font-style: italic;
    font-size: 2.4rem;
	letter-spacing: normal;
	max-width: 550px;
	vertical-align: top;
	margin:42px 3em 1em 3em;
}
@media screen and (max-width:767px) {
	.testimonials-title,
	.testimonials-text {
		margin-left:1em;
		margin-right:1em;
		display: block;
	}
}
.testimonials-list {
	max-width: 722px;
	margin: 50px auto;
}
.testimonial + .testimonial {
	margin-top: 25px;
}

/* ABOUT TEAM */
.team-grid {
	display: -ms-grid;
	display: grid;
	grid-gap: 50px;
	gap: 50px;
	grid-template-columns: repeat( auto-fill, minmax(250px, 1fr) );
	max-width: 1500px;
    margin: 0 auto;
    padding: 0 25px;
}
.page-id-57 .team-grid {
	margin: 50px auto;
}
.team-grid .team {
	max-width: 250px;
	width: 100%;
	justify-self: center;
	display: -webkit-box;
        display: -webkit-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
.team-grid .team .creds {
	margin-bottom: auto;
}
.team-name {
	font-weight: 700;
	text-transform: uppercase;
}
.team-email {
	font-weight: 700;
	text-decoration: none;
}
.team-email:hover {
	color: inherit;
	text-decoration: underline;
}
.team-info {
	display: -ms-grid;
	display: grid;
	grid-gap: 50px;
	gap: 50px;
}
.team-photo {
	justify-self: center;
	display: block;
	margin-bottom: 0.5em;
	max-width: 350px;
    width: 100%;
}
.team-photo img {
	background-color: var(--dark);
	width: 100%;
	aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
}
@media screen and (min-width:768px) {
	.team-info {
		grid-template-columns: 1fr minmax(170px, 350px)  minmax(350px, 700px) 1fr;
	}
}

/* OTHER PAGES */
.otherpages-wrap {
	background-color: #CED1D4;
	padding:50px 0;
}
.otherpages-grid {
	display: -ms-grid;
	display: grid;
	grid-gap: 50px;
	gap: 50px;
	grid-template-columns: repeat( auto-fit, minmax(280px, 1fr) );
	justify-items: center;
	max-width: 1319px;
    margin: 0 auto;
}
.otherpages-grid .otherpages-card {
	max-width: 380px;
	width: 100%;
	align-items: center;
	text-align: center;
	font-weight: 700;
	font-size: 2.3rem;
	text-transform: uppercase;
	color: #fff;
	position: relative;
	overflow: hidden;
}
.otherpages-grid .otherpages-card::after {
	content:"";
	display: block;
	position: absolute;
	pointer-events: none;
	z-index: 2;
	top:0;right:0;bottom:0;left:0;
	background: rgba(12,26,41,0.25);
}
.otherpages-name {
	z-index: 3;
	pointer-events: none;
}
.otherpages-photo {
	justify-self: center;
	display: block;
	max-width: 380px;
    width: 100%;
}
.otherpages-photo img {
	background-color: var(--dark);
	width: 100%;
	aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
}
.otherpages-grid .otherpages-card a:focus img,
.otherpages-grid .otherpages-card a:hover img,
.otherpages-grid .otherpages-card a:active img {
	transform: scale(1.2);
}

/* AREA GUIDES */
.areas-wrap {
	padding:50px 20px;
}
.areas-wrap > .content{
	max-width: 1332px;
    margin: 0 auto;
}
.areas-grid {
	display: -ms-grid;
	display: grid;
	grid-gap: 40px;
	gap: 40px;
	grid-template-columns: repeat( auto-fit, minmax(280px, 1fr) );
	justify-items: center;
}
.areas-grid .areas-card {
	max-width: 303px;
	width: 100%;
	align-items: center;
	text-align: center;
	font-weight: 700;
	font-size: 2.3rem;
	text-transform: uppercase;
	color: #fff;
	position: relative;
	overflow: hidden;
}
.areas-grid .areas-card::after {
	content:"";
	display: block;
	position: absolute;
	pointer-events: none;
	z-index: 2;
	top:0;right:0;bottom:0;left:0;
	background: rgba(12,26,41,0.35);
}
.areas-name {
	z-index: 3;
	pointer-events: none;
}
.areas-photo {
	justify-self: center;
	display: block;
	max-width: 303px;
    width: 100%;
}
.areas-photo img {
	background-color: var(--dark);
	width: 100%;
	aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
}
.areas-grid .areas-card:hover img {
	transform: scale(1.2);
}

/* LINKS */

.links .grid {
	max-width: 740px;
	padding:50px 20px;
	margin:0 auto;
	grid-gap: 50px;
	gap: 50px;
	grid-template-columns: 1fr;
	align-items: center;
}
.links .inner + .inner {
	border-top: 1px solid var(--primary);
}
.linkimg {
	background-color: var(--dark);
	max-width: 180px;
	margin: 0 auto;
}
@media screen and (min-width:768px) {
	.links .grid {
		grid-template-columns: 180px 1fr;
	}
}
/* MEDIA PARTNERS */

.mediapartners .grid {
	max-width: 913px;
	padding:50px 20px;
	margin:0 auto;
	grid-gap: 50px;
	gap: 50px;
	grid-template-columns: repeat( auto-fit, minmax(180px, 1fr) );
	align-items: center;
	justify-items: center;
}
.mediapartnersimg {
	background-color: var(--dark);
	max-width: 180px;
	margin: 0 auto;
}

/*CONTACT*/
.contact-info {
	display: -ms-grid;
	display: grid;
	grid-gap: 50px;
	gap: 50px;
}
.contact-form input:not([type="submit"]) {
	height: 40px;
	line-height: 40px;
}
.contact-form textarea {
	min-height: 227px;
	line-height: 1.5;
}
@media screen and (min-width:768px) {
	.contact-info {
		grid-template-columns: 1fr 1fr;
	}
}

/*****
POSTS
*****/

/*
* ACCORDION
*/
.accordion {

}
.accordion input[name=panel] {
	display: none;
}
.accordion label {
	position: relative;
	display: block;
	padding: 0 0 1em 0;
	font-size: 2.3rem;
	transition: all 0.3s cubic-bezier(0.865, 0.14, 0.095, 0.87);
	user-select: none;
}
.accordion label::before {
	content: "+";
	margin-right: 1em;
	display: inline-block;
	width: 1em;
	height: 1em;
	line-height: 0.9em;
	background-color: var(--primary);
	color:#fff;
	text-align: center;
	transition: all 0.3s cubic-bezier(0.865, 0.14, 0.095, 0.87);
}
.accordion label:hover {
	color: var(--secondary);
}
.accordion label:hover::before {
	background-color: var(--secondary);
}
.accordion input:checked + label {
	color: var(--secondary);
}
.accordion input:checked + label::before {
	background-color: var(--secondary);
}
.accordion input:checked + label::before {
	content: "-";
	line-height: 0.9em;
}
.accordion .accordion__content {
	overflow: hidden;
	max-height: 0em;
	position: relative;
	padding: 0 3em;
	transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
}
.accordion .accordion__content .accordion__header {
	padding: 1em 0;
}
.accordion .accordion__content .accordion__body {
	padding: 0 0 0.5em;
}
input[name=panel]:checked ~ .accordion__content {
	max-height:1000em;
	transition: max-height 1s ease-in-out;
}

/* INFO MESSAGE */
.infomessage {
	position: fixed;
	display: none; /* cookie checked */
	z-index: 900;
	bottom:0;
	width: 100%;
	text-align: right; /* center for centered panel */
	pointer-events: none;
}
.infomessage > div {
	position: relative;
	display: inline-block;
	margin: 2em;
	text-align: left;
	padding: 2em;
	border: 2px solid #fff;
	background-color: var(--primary);
	color: #fff;
	border-radius: 1em;
	line-height: 1.5;
	max-width: 73ch;
	overflow: hidden;
	pointer-events: all;
}
footer.footer .infomessage > div p:not(:last-child) {
	margin: 0 0 0.5em 0;
}
footer.footer .infomessage > div strong {
	font-size: 150%;
}
footer.footer .infomessage > div a {
	color: var(--secondary);
}
footer.footer .infomessage > div button {
	color: var(--primary);
	font-size: 36px;
    line-height: 1;
    min-width: 2ch;
    padding: 5px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5;
}
footer.footer .infomessage > div button:hover {
	background-color: #fff;
}

/*****
FOOTER
*****/
footer.footer {
    background-color: var(--primary);
    color: #fff;
    font-size: 1.6rem;
	line-height: 2;
	margin-top: auto;
}
footer.footer .footer-main {
    padding: 1em 2em;
}
footer.footer .footer-main > .content {
	display: -ms-grid;
	display: grid;
    padding: 1em 1em;
}
footer.footer .footer-main section {
	display: -ms-grid;
	display: grid;
    padding: 1em;
}

footer.footer p {
	margin: 0;
}
footer.footer .nav-secondary ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
footer.footer .nav-secondary ul li {
	margin: 0;
	padding: 0;
	display:block;
	text-transform: uppercase;
}
footer.footer h6 {
    color: var(--secondary);
	margin-bottom: 0;
}
footer.footer .footer-sub {
    border-top: 1px solid var(--secondary);
    text-align: center;
	padding: 2em 2em;
	position: relative;
}
footer.footer .footer-sub p {
    text-transform: uppercase;
}
footer.footer a:hover {
    text-decoration: underline;
}

footer .credit {
  width: auto;
  flex-grow: 0;
  text-align: center;
}

footer .credit .separator {
	margin: 0 6px;
}

footer.footer .social {
	margin: 1em;
	display: inline-block;
  vertical-align: middle;
  line-height: 0;
  flex-grow: 0;
}
footer.footer .social a {
	display: inline-block;
	width: 38px;
	margin: 0 0.3em;
}
footer.footer .social a path {
	transition: all 0.3s;
}
footer.footer .social a:hover path:first-child {
	stroke: #fff;
}
footer.footer .social a:hover path:first-child {
	stroke: var(--secondary);
}
footer.footer .social a:hover path:not(:first-child) {
	fill: var(--secondary);
}

footer .company-info p {
  font-size: 14px;
  text-transform: none !important;
}

.footer-logos {
    padding: 2em;
    background: #202020;
    gap: 32px;
}

.footer-logos > div {
    flex-grow: 0;
}
.footer-logos .rics {
    width: 53px;
    flex-shrink: 0;
    line-height: 0;
}

@media screen and (min-width:768px) {
	footer.footer .footer-main > .content {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	footer.footer .footer-main section:not(:first-child) {
		border-left: 1px solid var(--secondary);
	}
	footer.footer .footer-main section .inner {
		margin: 0 auto;
	}
}

@media screen and (max-width: 660px) {
  .footer .credit {
    width: 100%;
		flex-direction: column;
	}

	.footer .credit .separator {
		display: none;
	}

  .footer .social {
    width: 100%;
  }
}

@media screen and (max-width: 500px) {
  footer.footer .footer-sub {
    padding: 2em 1em;
  }
  footer.footer .footer-sub .content {
    padding: 0;
  }
}

@media screen and (max-width: 360px) {
  footer .credit span,
  footer .credit a {
    font-size: 15px;
  }

  footer .company-info p {
    margin-bottom: 8px;
    line-height: 1.4;
  }
}

/******
UTILITY
******/
.lightgallery .lg {
	cursor: pointer;
}
.lg-on #wpadminbar {
	display: none;
}
@media screen and (max-width:479px) {
    .equal {
        height: auto !important;
    }
}
.transition-all, .ta  {
	-webkit-transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
	-moz-transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
	-o-transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
	-ms-transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
	transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
}
/* ALIGN */
.alignleft {
	float: left;
}
.aligncenter {
    display: inline-block;
    position: relative;
    left: 50%;
    -webkit-transform: translate(-50%, 0px);
        -ms-transform: translate(-50%, 0px);
            transform: translate(-50%, 0px);
}
.alignright {
	float: right;
}
article .alignwide {
	margin-left: auto;
	margin-right: auto;
	max-width: 75vw;
	width: 100%;
}
article .alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}
.textcenter {
    text-align: center;
}
#gototop {
    display:none; /* script shows on scroll */
    font-size: 32px;
    background: #fff;
    border: 1px solid #000;
    opacity:0.5;
    color:#000;
    border-radius: 50%;
    text-align: center;
    line-height: 38px;
    width:40px;
    height:40px;
    position:fixed;
    left:40px;
    bottom:40px;
    z-index: 999;
}
#gototop:hover {
    opacity: 1;
}
iframe {
	max-width: 100%;
}
/* RATIO EMBED */
/*https://codepen.io/cvn/pen/WbXEoX/ */
.video-bg {
  background: white;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
}
.video-bg .video-fg,
.video-bg iframe,
.video-bg video,
.video-bg .youtubevideo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*
  Full page video background
  Simulate object-fit: cover
  Based on http://fvsch.com/code/video-background/
*/
/*
@media (min-aspect-ratio: 16/9) {
  .video-bg.cover .video-fg {
    height: 300%;
    top: -100%;
  }
}
@media (max-aspect-ratio: 16/9) {
  .video-bg.cover .video-fg {
    width: 300%;
    left: -100%;
  }
}
*/
@media screen and (max-width: 1082px) {
  .video-bg.cover .video-fg {
    width: 300%;
    left: -100%;
  }
}
@media screen and (min-width:1083px) {
  .video-bg.cover .video-fg {
    height: 300%;
    top: -100%;
  }
}
@supports (-o-object-fit: cover) {
  .video-bg.cover .video-fg.supports-cover {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }
  .video-bg.cover iframe,
  .video-bg.cover video,
  .video-bg.cover .youtubevideo {
    -o-object-fit: cover;
  }
}
@supports ((-o-object-fit: cover) or (object-fit: cover)) {
  .video-bg.cover .video-fg.supports-cover {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }
  html:not(.safari) .video-bg.cover iframe,
  html:not(.safari) .video-bg.cover video,
  html:not(.safari) .video-bg.cover .youtubevideo {
       -o-object-fit: cover;
          object-fit: cover;
  }
}
/*
  Vertical centering for 16/9 youtube iframes and video elements
  Simulate object-fit: contain for entire element, not just contents of element
*/
.video-bg.contain {
  font-size: 0;
}
.video-bg.contain * {
  font-size: 16px;
}
.video-bg.contain:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}
.video-bg.contain .video-fg {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  /* 16:9 */
  pointer-events: none;
}
.video-bg.contain iframe,
.video-bg.contain video {
  pointer-events: auto;
}
@media (min-aspect-ratio: 16/9) {
  .video-bg.contain .video-fg {
    height: 100%;
    padding-bottom: 0;
    max-width: 53.33333333vh;
    left: 50%;
    margin-left: -26.66666667vh;
  }
}
/* 16x9 Aspect Ratio */
.ratio {
  position: relative;
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
}
/* 4x3 Aspect Ratio */
.ratio-4x3 {
  padding-bottom: 75%;
}
.ratio iframe {
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  border:none;
}
/* CLEARFIX */
.cf {
	zoom: 1;
}
.cf:before, .cf:after {
	content: ' ';
	display: table;
}
.cf:after {
	clear: both;
}
/* MAP */
.acf-map {
    width: 100%;
    height: 400px;
}
.acf-map img {
   max-width: inherit !important;
}
/* GREY */
.greyscale {
    -webkit-filter: saturate(0%);
    filter: saturate(0%);
}

/* GUTENBERG BLOCKS */


/****************
HERO
****************/
.lSSlideOuter  {
	width: 100%;
	margin: 0 auto;
    position: relative;
}
.lightSlider {
	position: relative;
}
.lightSlider > div {
    height:100%;
    margin: 0;
	background-size: cover;
    background-repeat: no-repeat;
    background-color: var(--dark);
	position: absolute;
	top:0;
}
.lSSlideOuter .lightSlider > div {
	position: relative;
}
.propertylightslider,
.propertylightslider > div {
	height: auto;
	overflow: hidden;
	max-height: calc(100vw / 4 * 3);
}
@media screen and (min-width:640px) {
	.propertylightslider,
	.propertylightslider > div {
		max-height: calc(100vw / 8 * 3);
	}
}
@media screen and (min-width:961px) {
	.propertylightslider,
	.propertylightslider > div {
		max-height: calc(100vw / 12 * 3);
	}
}
.propertylightslider > div > span {
	display: block;
	float:left;
	width:0;
	padding-top:67%;
}
.lightslider {
   padding-bottom: 31.5% !important;
    /* (1920x600) */
   /* padding-bottom: 39.063% !important; / / (1920x750) */
   /* padding-bottom: 66.6% !important; / / (1920x900) */
   min-height: 600px;
}
@media screen and (max-width:960px) {

body .lightslider {
    padding-bottom: 66.6% !important;
    min-height: auto;
}

}

@supports (aspect-ratio: 4 / 3) {
	.propertylightslider > div {
		aspect-ratio:4/3;
		height: auto;
	}
	.propertylightslider > div > span {
		display: none;
	}
}
.lightslider {
   padding-bottom: 31.5% !important;  /* (1920x600) */
  /*padding-bottom: 39.063% !important;*/  /* (1920x750) */
  /*padding-bottom: 47.875% !important;*/ /* (1920x900) */
  	min-height: 600px;
}
.lslide:before  {
  content: "";
  position: absolute;
  z-index: 10;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(12, 26, 41, 0.5);
  mix-blend-mode: multiply;
}

body.single-property .lslide:before {
  content: none;
}

.lightslider.hero > div {
    /*--bannerheight:calc(calc(calc(var(--uivh) - var(--headerheight)) - var(--adminbarheight)) * 1px);*/
    --bannerheight:calc(calc(var(--uivh) - var(--adminbarheight)) * 1px);
    min-height:750px;
    height:var(--bannerheight);
    background-size: cover;
    margin: 0;
}
.lightslider .caption {
    position: relative;
    z-index: 12;
    color: #fff;
    text-align: center;
    font-size: 2.5rem;
	font-size: clamp(1.6rem, 0.4rem + 4vw, 2.5rem);
	letter-spacing: 0.08em;
	margin: 0 0.5em;
	/*color: var(--blue);
    text-shadow: rgb(255 255 255) 1px 1px 6px, rgb(255 255 255) 1px 0px, rgb(255 255 255) 0px 1px, rgb(255 255 255) -1px 0px, rgb(255 255 255) 0px -1px, rgb(255 255 255) -1px -1px, rgb(255 255 255) -1px 1px, rgb(255 255 255) 1px -1px, rgb(255 255 255) 1px 1px;*/
}
}
.lightslider .caption span {
    color: var(--secondary);
}
.lightslider .caption-heading {
    font-size: 4rem;
    font-size: clamp(1.7rem, 0.5rem + 5vw, 4rem);
	margin: 0 0 0.5em 0;
	letter-spacing: 0.103em;
	/*color: var(--blue);
    text-shadow: rgb(255 255 255) 1px 1px 6px, rgb(255 255 255) 1px 0px, rgb(255 255 255) 0px 1px, rgb(255 255 255) -1px 0px, rgb(255 255 255) 0px -1px, rgb(255 255 255) -1px -1px, rgb(255 255 255) -1px 1px, rgb(255 255 255) 1px -1px, rgb(255 255 255) 1px 1px;*/
}
}
.lightslider .caption-heading:empty {
    display: none;
}
.lightslider .caption .rics {
	position: absolute;
	bottom:-83px;
	left:50%;
	margin-left: -31px;
	width: 62px;
	height:58px;
}
.lightslider .caption .rics {
	display: none !important;
}
.home .lightslider .caption .rics {
	display: block !important;
}
@media screen and (max-width:767px) {
  /* .lightslider {
    min-height: calc(100vh - 215px - calc(var(--adminbarheight) * 1px));
  } */

  .lightslider .caption .rics {
    bottom:-60px;
    margin-left: -26px;
    width: 53px;
    height:49px;
  }

  .lightslider .caption {
    display: none;
  }
}
@media screen and (min-width:768px) and (max-width:960px) {
   .lightslider {
       min-height: 50vh;
    }
}
@media screen and (orientation:landscape) and (max-width:767px) {
   /* .lightslider {
       min-height: 100vh;
    } */
}
.lSSlideOuter .lSPager.lSpg{
    position: absolute;
    z-index: 10;
    right:50px;
    bottom: 20px;
}
.lSSlideOuter .lSPager.lSpg li:only-child{
    display: none;
}
.lSSlideOuter .lSPager.lSpg>li a {
    background-color: transparent;
    border: 1px solid #fff;
    border-radius: 0;
}
.lSSlideOuter .lSPager.lSpg>li.active a {
    background-color: #fff !important;
    border: 1px solid #fff !important;
}
.lSSlideOuter .lSPager.lSpg>li:hover a {
    border: 1px solid var(--primary);
    background-color: transparent;
}
.lSAction>a {
	background-position: 0 0 !important;
	background-repeat: no-repeat;
	width:25px;
	height:41px;
	margin-top: -20px;
}
.lSAction>a.lSPrev {
	background-image: url("assets/images/left2.png");

}
.lSAction>a.lSNext {
	background-image: url("assets/images/right2.png");

}

/* Hiring Badge */
.banner { position: relative; }
.banner-badge {
    position: absolute;
    top: 30px;
    right: 60px;
    background-color: var(--secondary,#a8ca59);
    border-radius: 40px;
    display: inline-block;
	text-align: center;
    color: white;
    font-size: 1.7rem;
	line-height: 1.2;
    font-weight: bold;
    z-index: 15;
    transition: all 0.3s ease-in;
	padding:10px 15px;
}

.banner-badge:hover {
    background-color: var(--primary,#0c1a29);
    transform: scale(1.05);
}

@media only screen and (max-width: 768px) {
    .banner-badge {
        top: 0;
		left:0;
        right: 0;
        border-radius: 0;
        width: 100%;
		border-top: 2px solid var(--primary,#0c1a29);
    }
	.banner-badge:hover {
		transform: scale(1);
		border-top: 2px solid var(--secondary,#a8ca59);
	}
}

/* LOGOS */
.logos {
	background: #fff;
	border-top: 30px solid #fff;
}
.logos .content {
	padding: 30px 0 80px 0;
}
.logos::before {
	content: "";
	background: #0C1A29;
	max-width: 1100px;
	margin:0 auto;
	height: 3px;
	width: 100%;
	pointer-events: none;
	display: block;
}
.logos img {
	margin:0 auto;
}

/*********
PAGINATION
*********/
.custom-pagination {
	clear:both;
	margin: 30px auto 60px auto;
	text-align:center;
    font-size: 1.4rem;
}
.custom-pagination span,
.custom-pagination a {
  display: inline-block;
  padding: 2px 10px;
  text-decoration:none !important;
}
.custom-pagination a {
	color: #CCCCCC;
	border: 1px solid #CCCCCC;
	border-radius:0;
	display:inline-block;
	padding:5px 20px;
	background:none;
	position:relative;
	text-transform:uppercase;
}
.custom-pagination a:hover {
  background-color: var(--secondary);
  color: #fff;
}
.custom-pagination span.page-num {
  margin-right: 10px;
  padding: 0;
}
.custom-pagination span.dots {
  padding: 0;
  color: #CCCCCC;
}
.custom-pagination span.current {
  background-color: var(--primary);
  color: #fff;
  padding:6px 21px;
}



/***
CF7
***/
/*
div.wpcf7 input,
div.wpcf7 textarea {
	width:100%;
	border:1px solid #666666;
	color:#666666;
	padding:5px 10px;
}
div.wpcf7 textarea {
	max-height:8em;
	overflow:auto;
}
div.wpcf7 input::-webkit-input-placeholder, div.wpcf7 textarea::-webkit-input-placeholder {
	color:#999999;
}
div.wpcf7 input::-moz-placeholder, div.wpcf7 textarea::-moz-placeholder {
	color:#999999;
}
div.wpcf7 input:-ms-input-placeholder, div.wpcf7 textarea:-ms-input-placeholder {
	color:#999999;
}
div.wpcf7 input::-ms-input-placeholder, div.wpcf7 textarea::-ms-input-placeholder {
	color:#999999;
}
div.wpcf7 input::placeholder,
div.wpcf7 textarea::placeholder {
	color:#999999;
}
div.wpcf7 input[type="submit"]{
	width:auto;
	color:#CCCCCC;
	padding:10px 30px;
	font-weight:400;
	background:none;
	font-size:16px;
	border: 1px solid #CCCCCC;
}
div.wpcf7 input[type="submit"]:hover{
	width:auto;
	color:#fff;
	background: #CCCCCC;
}
*/

/***
GRID
***/

.grid {
	--gridcols: 1;
	--gap: 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
    gap: var(--gap);
}
.grid > * {
	width:100%;
	max-width: calc(100% / var(--gridcols));
}
@supports (display: grid) OR (display: -ms-grid) {
    .grid {
        display: -ms-grid;
        display: grid;
		grid-template-columns: repeat(var(--gridcols), minmax(0, 1fr));
		grid-gap: var(--gap);
		gap: var(--gap);
	}
	/*
	.grid>* {
		width:auto;
		max-width: none;
	}
	*/
}
.gridreverse {
    direction: rtl;
}
.gridreverse > * {
    direction: ltr;
}
.gridcenter {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
    justify-items: center;
}
.gridstretch {
	-webkit-box-pack: stretch;
	-webkit-justify-content: stretch;
	-ms-flex-pack: stretch;
	justify-content: stretch;
}
.gridvcenter {
	-webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.gridgap {
	--gap: var(--pad);
}
.grid,
.grid21,
.grid31,
.grid321,
.grid4321,
.grid421 {
    gap: var(--gap);
	-ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
}
.grid2 {
	-ms-grid-columns: 1fr var(--gap) 1fr;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid3 {
	-ms-grid-columns: 1fr var(--gap) 1fr var(--gap) 1fr;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (min-width:640px) {
    .gridauto {
        /*grid-template-columns: repeat( auto-fill, minmax(min(calc(180px + 12vmin), 100%), 1fr));*/
        grid-template-columns: repeat( auto-fit, minmax(236px, 1fr) );
    }
	.grid4321,.grid421 {
		-ms-grid-columns: 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.grid21 {
		-ms-grid-columns: 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media screen and (max-width:960px) {
	.grid21 .grid21 {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
	}
}
@media screen and (min-width:768px) {
	.grid31 {
		-ms-grid-columns: 1fr var(--gap) 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (min-width:640px) {
	.grid321 {
		-ms-grid-columns: 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media screen and (min-width:960px) {
	.grid4321,.grid321 {
		-ms-grid-columns: 1fr var(--gap) 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (min-width:1280px) {
	.grid421 {
		-ms-grid-columns: 1fr var(--gap) 1fr var(--gap) 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
@media screen and (min-width:1600px) {
	.grid4321 {
		-ms-grid-columns: 1fr var(--gap) 1fr var(--gap) 1fr var(--gap) 1fr;
    	grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
.gridfull > * /*,
.grid > *:only-child*/ {
    grid-column: 1/-1;
}
.grid.overlay {
    grid-template-areas: 'overlay'
}
.grid.overlay > * {
    grid-area: overlay;
}


/****
 FLEX
****/
.flex {
    display: -webkit-box;
	display: -moz-box;
	display: box;
	display: -ms-flexbox;
	display: flex;
	margin: 0;
	width: 100%;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

.flex>* {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
	padding: 0;
}

.flex.margin {
	margin-left: -10px;
	margin-right: -10px;
	width: calc(100% + 20px);
}
.flex.margin>*{
	padding: 5px;
}

.flex.nowrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.flexgrow ,
.flex.grow>* {
	-webkit-box-flex: 1 !important;
	    -ms-flex-positive: 1 !important;
	        flex-grow: 1 !important;
}

.flexcol {
	-webkit-box-orient: vertical;
	box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.flexrow {
	-webkit-box-orient: horizontal;
	box-orient: horizontal;
	-ms-flex-direction: row;
	flex-direction: row;
}
.flexdirection {
	-webkit-box-direction: normal;
	box-direction: normal;
}
.flexdirectionreverse {
	-webkit-box-direction: reverse;
	box-direction: reverse;
}
.flexstretch {
	-webkit-box-pack: justify;
	box-pack: justify;
	-ms-flex-pack: stretch;
	justify-content: space-between;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	-webkit-box-align: stretch;
	box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.flexstart {
	-ms-flex-line-pack: flex-start;
	align-content: flex-start;
	-webkit-box-align: flex-start;
	box-align: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
}
.flexwrap {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flexfirst {
	-webkit-box-ordinal-group: 0;
	box-ordinal-group:-1;
	-ms-flex-order: -1;
	order: -1;
}
.flexorder {
	-webkit-box-ordinal-group: 1;
	box-ordinal-group:0;
	-ms-flex-order: -1;
	order: -1;
}
.flexistretch {
	-webkit-align-self: stretch;
	-ms-flex-item-align: stretch;
	-ms-grid-row-align: stretch;
	    align-self: stretch;
}
.flexaround {
	-moz-justify-content: space-around;
	-ms-justify-content: space-around;
 -ms-flex-pack: distribute;
     justify-content: space-around;
}
.flexspaceb {
	-webkit-box-pack: space-between;
	box-pack: space-between;
	-ms-flex-pack: space-between;
	-moz-flex-pack: space-between;
	justify-content: space-between;
}
.center,
.flexcenter {
	-moz-justify-content: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.flexend {
	-moz-justify-content: flex-end;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

.flexvcenter,
.vcenter {
	-webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/************
THEME CHECKER
************/
.sticky {}
.gallery-caption {}
.bypostauthor {}

/* *********
PRINT STYLES
***********/

@media print {
	* {
		background: transparent !important;
		color: black !important;
		text-shadow: none !important;
		-webkit-filter: none !important;
		        filter: none !important;
		-ms-filter: none !important;
	}
	a, a:link, a:visited {
		color: #444 !important;
		text-decoration: underline;
	}
	main a:after, main a:visited:after {
		/*content: " (" attr(href) ")";*/
	}
	a abbr[title]:after, a:visited abbr[title]:after {
		content: " (" attr(title) ")";
	}
	.ir a:after,  a[href^="javascript:"]:after,  a[href^="#"]:after {
		content: "";
	}
	pre, blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	thead {
		display: table-header-group;
	}
	tr, img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	@page {
		margin: 0.5cm;
	}
	p, h2, h3 {
		orphans: 3;
		widows: 3;
	}
	h2,  h3 {
		page-break-after: avoid;
	}
	.sitelogo a {
		background-color: var(--primary) !important;
		border: 10px solid var(--primary) !important;
		margin: 10px;
		box-sizing: content-box;
	}
	nav, .lSSlideOuter, .lightslider, .propertysearch, .property_actions, .properties .actions, .description-content .accordion label, .cta, .otherpages-wrap, .nav-secondary, .propertyhive-pagination {
		display: none !important;
	}
	.accordion__content {
		max-height: none !important;
	}
	.propertygallery, .properties {
		grid-template-columns: repeat(4, 1fr) !important;
	}
	.properties *, .properties a:link, .properties a:visited {
		color: #fff !important;
		text-decoration: none !important;
	}
}
