/*
Theme Name: Custom Site
Author: Alex Bolton King
Text Domain: customsite
Version: 1.0
*/

/* =Reset
-------------------------------------------------------------- */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: var(--primaryFont);
  vertical-align: baseline;
}

html {
  overflow-x: hidden;
  height: 100%;
}

body {
  line-height: 1.25em;
  overflow-x: hidden;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

a {
  text-decoration: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th,
td {
  font-weight: normal;
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

p,
li {
  margin-bottom: 1em;
}

li {
  list-style-position: outside;
}

html {
  overflow-y: scroll;
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

a:focus {
  outline: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
}

del {
  color: #333;
}

ins {
  background: #fff9c0;
  text-decoration: none;
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin: 24px;
  margin-bottom: 1.714285714rem;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

small {
  font-size: smaller;
}

img {
  border: 0;
  -ms-interpolation-mode: bicubic;
  max-width: 100%;
  height: auto !important;
}

/*.table {display:table;width:100%;table-layout:fixed;}
.row {display:table-row;}
.col {display:table-cell;vertical-align:top;}*/

.lhs {
  float: left;
}

.rhs {
  float: right;
}

.alignleft {
  text-align: left;
}

.alignright {
  text-align: right;
}

.aligncenter {
  text-align: center;
}

img.alignright {
  float: right;
  margin: 0 0 10px 10px;
}

img.alignleft {
  float: left;
  margin: 0 10px 10px 0;
}

h1 {
  color: var(--red);
  font-size: 40px;
  font-weight: 500;
  font-family: var(--headingFont);
  line-height: 1.25em;
  margin-bottom: 25px;
  text-wrap: pretty;
}

h1.white {
  color: var(--white);
}

h2 {
  color: var(--red);
  font-size: 26px;
  font-family: var(--headingFont);
  line-height: 1.25em;
  margin-bottom: 20px;
  font-weight: 500;
}

h2.white {
  color: var(--white);
}

h3 {
  font-size: 26px;
  font-weight: 500;
  font-family: var(--primaryFont);
  line-height: 1.25em;
  margin-bottom: 25px;
  color: var(--bluegrey);
}

h3.white {
  color: var(--white);
}

h4 {
  color: var(--bluegrey);
  font-size: 18px;
  font-weight: bold;
  font-family: var(--primaryFont);
  margin-bottom: 20px;
  line-height: 1.25em;
}

ul,
ol {
  padding-left: 20px;
}

ul li {
  list-style: disc;
  list-style-position: outside;
  font-family: var(--primaryFont);
  color: var(--bluegrey);
  /*font-weight: 300;*/
}

ol li {
  list-style: decimal;
  list-style-position: inside;
  font-family: var(--primaryFont);
  /*font-weight: 300;*/
}

.displaynone {
  display: none;
}

p:last-child {
  margin-bottom: 0;
}


span,
td,
a,
li {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

strong {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

p {
  font-size: 16px;
  font-family: var(--primaryFont);
  color: var(--bluegrey);
  line-height: 1.4em;
}

.fw100 {
  font-weight: 100;
}

.fw300 {
  font-weight: 300;
}

.fw500 {
  font-weight: 500;
}

.fw600 {
  font-weight: 600;
}

.fw700 {
  font-weight: 700;
}

.fw800 {
  font-weight: 800;
}

.largeText {
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.25em;
}

.smallText {
  font-size: 16px !important;
}

.whiteBackground {
  background: #fff;
  position: relative;
  z-index: 9999;
}

.centerCols {
  text-align: center;
}

.whiteText,
.whiteText li,
.whiteText p {
  color: var(--white) !important;
}

.purpleText,
.purpleText p {
  color: var(--red) !important;
}

.brownText,
.brownText p {
  color: var(--brown) !important;
}

.greyText,
.greyText p {
  color: var(--darkgrey) !important;
}

.content800 .inner {
  max-width: 800px;
}

.valignBottom .grid {
  align-items: end;
}

.valignCenter .grid {
  align-items: center;
}

hr {
  margin: 24px 0;
}

.noPaddingBottom,
.noPaddingBottom>div {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.noPaddingTop,
.noPaddingTop>div {
  padding-top: 0 !important;
}

.gridNoPadding .gridModule {
  padding: 0 !important;
}

img.aligncenter {
  display: block;
  margin: 0 auto;
}

/*-- Variables --*/

:root {
  --black: #202124;
  --white: #ffffff;
  --lightgrey: #f1f1f1;
  --midgrey: #A6ADB4;
  --darkgrey: #797979;
  --ivory: #ead4be;
  --brown: #b98757;
  --purple: #4e1b54;
  --red: #A51B14;
  --darkbluegrey: #434653;
  --midbluegrey: #6F7E87;
  --lightbluegrey: #76848D;
  --bluegrey: #434754;
  --lightpurple: #c1afc3;
  --primaryFont: "Open Sans", sans-serif;
  --headingFont: "Cormorant Garamond", serif;
}

/*-- Float Clearing --*/
.propertyhive-ordering:after,
.clear:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

/*-- Header Styles --*/

#mainHeader {
  position: fixed;
  z-index: 99999;
  width: 100%;
  background: var(--white);
  transition: all 500ms ease;
}

#mainHeader.scrolled {
  padding: 10px 0;
}

#mainHeader.scrolled .logo img {
  width: 100px;
}

#mainHeader .inner {
  position: relative;
  max-width: 1630px;
}

#mainHeader .grid {
  display: grid;
  position: relative;
  grid-template-columns: 100px auto 250px;
  grid-gap: 100px;
  align-items: end;
}

#mainHeader .logo {
  display: inline-block;
  padding: 20px 0;
  width: 100px;
}

#mainHeader .logo img {
  width: 100%;
}

#mainHeader .col:last-child {
  align-self: center;
}


/*-- Footer Styles --*/
#siteFooter {
  padding: 100px 0;
  background: var(--darkbluegrey);
}

#footerLogos {
  border-top: 1px solid var(--bluegrey);
}

#footerLogos .inner {
  display: flex;
  gap: 60px;
  justify-content: space-between;
  box-sizing: border-box;
  padding: 40px 0;
}

#siteFooter .grid {
  grid-template-columns: 1fr 2fr;
  gap: 50px;
  margin-bottom: 50px;
  color: var(--white);
}

.propertyAlerts {
  padding: 30px 50px;
  background: #4c505d;
  border-radius: 8px;
  text-align: center;
}

.propertyAlerts h3 {
  font-size: 60px;
  font-family: var(--headingFont);
  color: var(--white);
}

.propertyAlerts p {
  font-size: 16px !important;
}

.safe-agent {
  max-width: 300px;
}

#siteFooter>.inner {
  padding: 0 40px;
}

#siteFooter>.inner p {
  font-size: 18px;
  color: var(--white);
}

#footerBar {
  color: var(--white);
  font-size: 16px;
}

#siteFooter>.inner #footerBar p {
  font-size: 16px !important;
}

#siteFooter a:hover {
  color: var(--black);
}

@media screen and (max-width:1010px) {
  #footerLogos a {
    padding: 0 10px;
  }
}

@media screen and (max-width:780px) {
  #footerLogos .inner {
    flex-wrap: wrap;
    justify-content: center;
  }

  #footerBar p {
    text-align: center;
  }

  #footerLogos a {
    width: calc(50% - 60px);
    text-align: center;
    margin-bottom: 20px;
  }
}

/*-- Navigation Styles --*/
#mainMenu #menu-main-menu {
  display: flex;
  justify-content: space-between;
  padding: 0;
}

#mainMenu ul>li {
  list-style: none;
  display: inline-block;
  margin: 0;
  position: relative;
  text-align: center;
  padding-bottom: 20px;
}

#mainMenu li a {
  padding: 0 5px 0;
  color: var(--bluegrey);
  text-align: center;
  font-size: 17px;
  text-transform: uppercase;
  font-weight: 400;
}

.menu-item-has-children {
  padding-right: 20px;
  position: relative;
}

.menu-item-has-children:after {
  position: absolute;
  top: 0;
  right: 0;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f078";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: var(--midbluegrey);
}

.sub-menu .menu-item-has-children {
  position: relative;
}

.sub-menu .menu-item-has-children .sub-menu {
  top: 0;
  left: 100%;
  display: none;
}

.sub-menu .menu-item-has-children:hover .sub-menu {
  display: block;
}

.sub-menu .menu-item-has-children a {
  padding-right: 15px !important;
}

.sub-menu .menu-item-has-children:after {
  position: absolute;
  top: 50%;
  right: 0;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f078";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: var(--white);
  transform: rotate(-90deg) translate(60%, -50%);
}

.current-menu-item>a,
#mainMenu li.current>a,
#mainMenu li a:hover {
  color: var(--red) !important;
}

li:hover .sub-menu {
  display: block;
}

.sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 250px;
  background: #6E7D86;
  padding: 0;
  -webkit-box-shadow: 0px 10px 30px -5px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 10px 30px -5px rgba(0, 0, 0, 0.5);
}

.sub-menu li:last-child {
  border-bottom: 0 !important;
}

#mainMenu .sub-menu>li {
  border-bottom: 1px solid var(--white);
  padding: 10px;
  width: calc(100% - 20px);
}

#mainMenu .sub-menu>li>a {
  color: var(--white);
  display: block;
}

#mainMenu .sub-menu .current-menu-item,
#mainMenu .sub-menu li.current,
#mainMenu .sub-menu li:hover {
  background: var(--red);
}

#mainMenu .sub-menu .current-menu-item>a,
#mainMenu .sub-menu li.current>a,
#mainMenu .sub-menu li:hover a {
  color: var(--white) !important;
}


@media screen and (max-width: 930px) {
  #mainHeader {
    padding: 15px 0;
  }

  #outerPage {
    padding-top: 138px !important;
  }

  #logo {
    width: 110px;
    height: 90px;
  }

  html body.admin-bar .mobmenu,
  body.admin-bar .mob-menu-header-holder,
  body .mob-menu-header-holder {
    float: right;
    top: 35px !important;
    width: 60px !important;
  }
}

/*-- Custom Styles --*/

body {
  background: #ffffff;
}

.inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 20px;
}

#outerPage {
  padding-top: 120px;
}

.nopaddingBottom>div {
  padding-bottom: 0;
}

.leftAlignInner .inner {
  margin: 0;
}

.inner500 .inner {
  max-width: 500;
}

/*.button {
  display: inline-block;
  padding: 5px 30px;
  color: var(--black);
  font-size: 16px;
  font-weight: 400;
  font-family: var(--primaryFont);
  background: none;
  border-radius: 6px;
  border: 2px solid var(--black);
}

.button:hover {
  color: var(--white);
  background: var(--yellow);
}*/

.whiteButton {
  display: inline-block;
  padding: 5px 30px;
  color: var(--white);
  font-size: 16px;
  font-weight: 400;
  font-family: var(--primaryFont);
  background: none;
  border-radius: 6px;
  border: 2px solid var(--white);
}

.whiteButton:hover {
  color: var(--blue);
  background: var(--white);
}

.button,
.redButton {
  display: inline-block;
  padding: 15px 30px;
  border-radius: 8px;
  color: var(--white);
  background: var(--red);
  font-weight: 500;
  text-decoration: none !important;
}

.button:hover,
.redButton:hover {
  background: var(--darkbluegrey);
}

.brownButton {
  display: inline-block;
  padding: 5px 30px;
  color: var(--brown);
  font-size: 16px;
  font-weight: 400;
  font-family: var(--primaryFont);
  background: none;
  border-radius: 6px;
  border: 2px solid var(--brown);
}

.brownButton:hover {
  color: var(--white) !important;
  background: var(--brown) !important;
}

.purpleButton {
  display: inline-block;
  padding: 5px 30px;
  color: var(--red);
  font-size: 16px;
  font-weight: 400;
  font-family: var(--primaryFont);
  background: none;
  border-radius: 6px;
  border: 2px solid var(--red);
}

.purpleButton:hover {
  color: var(--white);
  background: var(--red);
}

.overflowHidden {
  overflow: hidden;
}

.centerCol30Percent .col:nth-child(2) {
  opacity: 0.3;
}

.page-template-default #outerPage a,
.page-template-flex #outerPage a {
  text-decoration: underline;
}

.page-template-default #outerPage table,
.page-template-flex #outerPage table {
  margin-bottom: 20px;
}

.page-template-default #outerPage td,
.page-template-flex #outerPage td {
  padding: 10px !important;
  border: 1px solid #000 !important;
  vertical-align: middle;
}

.page-template-flex #outerPage li,
.page-template-flex #outerPage p,
.page-template-flex #outerPage p li {
  font-family: var(--primaryFont);
  font-size: 16px;
  color: var(--bluegrey);
  line-height: 1.25em;
}

.page-template-flex #outerPage p strong,
.page-template-flex #outerPage p li strong {
  font-weight: bold;
}

.breadcrumbs,
#breadcrumbs {
  padding: 20px 0 !important;
  font-size: 12px;
  max-width: 1630px;
  margin: 0 auto;
}

.breadcrumbs span,
.breadcrumbs a,
#breadcrumbs span,
#breadcrumbs a {
  font-size: 12px;
}

@media screen and (max-width:1690px) {
  .page-template-flex #breadcrumbs {
    padding: 20px;
  }
}

#breadcrumbs a:hover {
  color: var(--yellow);
}

.blueGradientBG {
  background: linear-gradient(60deg, rgba(13, 76, 105, 1) 0%, rgba(16, 97, 135, 1) 50%, rgba(13, 76, 105, 1) 100%);
}

/*-- Banner Block --*/

.page-template-flex .banner {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.page-template-flex .banner h1 {
  color: #fff;
  margin-bottom: 0;
  font-size: 100px;
  text-transform: uppercase;
}

.swiperModule .swiper {
  overflow: initial;
}

.swiper-pagination {
  bottom: -40px !important;
}

.swiper-pagination-bullet-active,
.swiper-pagination-bullet {
  background: var(--blue) !important;
  display: block;
}

.swiper-button-next,
.swiper-button-prev {
  color: var(--white) !important;
}

@media screen and (max-width: 600px) {
  .page-template-flex .banner {
    min-height: 280px;
  }

  .page-template-flex .banner {
    min-height: 200px !important;
  }

  .swiper-slide .inner {
    padding: 0 50px;
  }
}

/*-- Full Width Block --*/

.fullwidthBlock {
  padding: 60px 0;
}

.fullwidthBlock .inner {
  box-sizing: border-box;
}

.fullwidthBlock p:last-child {
  margin-bottom: 0;
}

.stretchWidth img {
  width: 100%;
}

.fullwidthBlock .sideBySide ul {
  display: flex;
  justify-content: center;
}

.fullwidthBlock .sideBySide ul li {
  margin: 0 10px !important;
  color: var(--white);
}

.listradio-wrap label {
  color: var(--white);
}

.listradio-wrap .nf-field-element label.nf-checked-label::before {
  background: var(--brown) !important;
}

.propertyEnquiryForm form input[type="text"],
.propertyEnquiryForm form input[type="email"],
.propertyEnquiryForm form input[type="tel"],
.propertyEnquiryForm form textarea,
#outerPage .columnsModule form input[type="text"],
#outerPage .columnsModule form input[type="email"],
#outerPage .columnsModule form input[type="tel"],
#outerPage .columnsModule form textarea,
#outerPage .fullwidthBlock form input[type="text"],
#outerPage .fullwidthBlock form input[type="email"],
#outerPage .fullwidthBlock form input[type="tel"],
#outerPage .fullwidthBlock form textarea {
  color: var(--black) !important;
  border-radius: 6px;
  font-family: var(--primaryFont);
}

#outerPage .columnsModule form .html-container p,
#outerPage .fullwidthBlock form .html-container p {
  font-size: 14px;
  margin-bottom: 1em;
}

#outerPage .columnsModule form select,
#outerPage .fullwidthBlock form select {
  border-radius: 6px;
  appearance: auto !important;
  -webkit-appearance: auto !important;
}

#outerPage .columnsModule .list-select-wrap .nf-field-element div,
#outerPage .fullwidthBlock .list-select-wrap .nf-field-element div {
  display: none !important;
}

#outerPage .columnsModule .submit-wrap,
#outerPage .fullwidthBlock .submit-wrap {
  text-align: center;
}

.propertyEnquiryForm form .submit-wrap input[type="button"],
#outerPage .columnsModule .submit-wrap input[type="button"],
#outerPage .fullwidthBlock .submit-wrap input[type="button"] {
  background: none;
  border: 2px solid var(--brown);
  border-radius: 6px;
  padding: 5px 20px;
  text-transform: uppercase;
  color: var(--brown);
  cursor: pointer;
}

.propertyEnquiryForm form .submit-wrap {
  text-align: center;
}

.propertyEnquiryForm .nf-response-msg p {
  color: var(--white);
  font-size: 16px;
}

.propertyEnquiryForm form .submit-wrap input[type="button"]:hover,
#outerPage .columnsModule .submit-wrap input[type="button"]:hover,
#outerPage .fullwidthBlock .submit-wrap input[type="button"]:hover {
  background: var(--brown);
  color: var(--white);
}

.propertyEnquiryForm .nf-field-container,
#outerPage .columnsModule .nf-field-container,
#outerPage .fullwidthBlock .nf-field-container {
  margin-bottom: 10px;
}

.propertyEnquiryForm .checkbox-wrap {
  display: block !important;
}
.propertyEnquiryForm .checkbox-wrap p {color:#fff;}

.propertyEnquiryForm .nf-field-element p:last-child {margin-bottom:1em !important;}

#outerPage .columnsModule .checkbox-wrap,
#outerPage .fullwidthBlock .checkbox-wrap {
  align-items: center;
}

.propertyEnquiryForm .checkbox-container .nf-field-label,
#outerPage .columnsModule .checkbox-container .nf-field-label,
#outerPage .fullwidthBlock .checkbox-container .nf-field-label {
  width: 30px;
  position: relative;
  top: -10px;
}

.propertyEnquiryForm .checkbox-container .nf-field-description,
#outerPage .columnsModule .checkbox-container .nf-field-description,
#outerPage .fullwidthBlock .checkbox-container .nf-field-description {
  width: calc(100% - 30px);
  margin: 0;
  color: #fff;
}

.propertyEnquiryForm .checkbox-container .nf-field-description {
  transform: translate(30px, -10px);
}

/*-- Icon Text Block --*/

.iconTextRow {
  display: grid;
  grid-template-columns: 130px auto;
  grid-gap: 30px;
  margin-bottom: 40px;
}

.iconTextRow h3 {
  color: #1d1d1b;
  font-size: 22px;
  text-transform: uppercase;
}

/*-- Columns Module --*/

.grid {
  display: grid;
}

/*-- Two Col Block --*/

.twoColModule {
  padding: 45px 0;
}

.twoColModule .grid {
  display: grid;
  grid-gap: 30px;
}

/*grid-gap:128px;align-items: center;*/
.valignCenter .twoColModule .grid {
  align-items: center;
}

.alignTop .grid {
  align-items: flex-start !important;
}

.twoColModule .grid.l5050 {
  grid-template-columns: 1fr 1fr;
}

.twoColModule .grid.l2575 {
  grid-template-columns: 1fr 2fr;
}

.twoColModule .grid.l7525 {
  grid-template-columns: 2fr 1fr;
}

.twoColModule .grid.l4060 {
  grid-template-columns: calc(40% - 15px) calc(60% - 15px);
}

.twoColModule .grid.l6040 {
  grid-template-columns: calc(60% - 15px) calc(40% - 15px);
}

.sixColModule p:last-child,
.fiveColModule p:last-child,
.fourColModule p:last-child,
.threeColModule p:last-child,
.twoColModule p:last-child {
  margin-bottom: 0;
}

.imageCol {
  text-align: center;
}

.imageCol img {
  display: block;
}

.ctaCol {
  background: var(--green);
}

.ctaCol .ctaImage {
  min-height: 310px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.ctaCol .ctaText {
  padding: 35px;
  color: #fff !important;
}

body #outerPage .ctaCol .ctaText .quote p {
  font-size: 24px;
  font-weight: 300;
  line-height: 1.4em;
  margin-bottom: 40px;
  color: #fff;
}

body #outerPage .ctaCol .ctaText .quoter p {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.4em;
  color: #fff;
}

.ctaCol p:last-child {
  margin-bottom: 0 !important;
}

.noGap .grid {
  grid-gap: 0;
}

.noGap .textCol {
  background: var(--blue);
  padding: 40px;
}

.noGap .textCol h1 {
  font-size: 38px;
}

#outerPage .noGap .textCol p {
  color: #fff;
  font-weight: 100;
  font-size: 18px;
}

.noGap .imageCol {
  background-size: cover;
  background-position: center;
}

.noGap .imageCol img {
  display: block;
}

.noGap .textCol a {
  color: var(--green) !important;
}

.noGap .textCol a:hover {
  color: #fff !important;
}

@media screen and (max-width: 870px) {
  .twoColModule .grid {
    grid-template-columns: 1fr !important;
  }

  .twoColModule .TextImage {
    grid-template-areas: "imageCol" "textCol";
  }

  .twoColModule .TextImage .textCol {
    grid-area: textCol;
  }

  .twoColModule .TextImage .imageCol {
    grid-area: imageCol;
  }

  .twoColModule .TextImage .imageCol,
  .twoColModule .ImageText .imageCol {
    text-align: center;
  }
}

/*-- Three Col Block --*/

.threeColModule {
  padding: 45px 0;
}

.threeColModule .grid {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(3, 1fr);
}

/*align-items: center;*/
.valignCenter .threeColModule .grid {
  align-items: center;
}

.topAlign .grid {
  align-items: initial;
}

@media screen and (max-width: 820px) {

  .gridModule .gc3,
  .threeColModule .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 500px) {

  .gridModule .gc3,
  .threeColModule .grid {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}

/*-- Four Col Block --*/

.fourColModule {
  padding: 45px 0;
}

.fourColModule .grid {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(4, 1fr);
}

/*align-items: center;*/
.valignCenter .fourColModule .grid {
  align-items: center;
}

@media screen and (max-width: 820px) {

  .gridModule .gc4,
  .fourColModule .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 500px) {

  .gridModule .gc4,
  .fourColModule .grid {
    grid-template-columns: repeat(1, 1fr);
  }
}

/*-- Five Col Block --*/

.fiveColModule {
  padding: 45px 0;
}

.fiveColModule .grid {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(5, 1fr);
}

/*align-items: center;*/
.valignCenter .fiveColModule .grid {
  align-items: center;
}

@media screen and (max-width: 1045px) {

  .gridModule .gc5,
  .fiveColModule .grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (max-width: 630px) {

  .gridModule .gc5,
  .fiveColModule .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 500px) {

  .gridModule .gc5,
  .fiveColModule .grid {
    grid-template-columns: repeat(1, 1fr);
  }
}

/*-- Six Col Block --*/

.sixColModule {
  padding: 45px 0;
}

.sixColModule .grid {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(6, 1fr);
}

/*align-items: center;*/
.valignCenter .sixColModule .grid {
  align-items: center;
}

@media screen and (max-width: 1045px) {

  .gridModule .gc6,
  .sixColModule .grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (max-width: 630px) {

  .gridModule .gc6,
  .sixColModule .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 500px) {

  .gridModule .gc6,
  .sixColModule .grid {
    grid-template-columns: repeat(1, 1fr);
  }
}

/*-- Grid Block --*/

.gridModule {
  padding: 70px 0;
}

.gridModule h1 {
  margin-bottom: 50px;
}

.gridModule .grid {
  display: grid;
  grid-gap: 30px;
}

.gridModule .gc1 {
  grid-template-columns: 1fr;
}

.gridModule .gc2 {
  grid-template-columns: repeat(2, 1fr);
}

.gridModule .gc3 {
  grid-template-columns: repeat(3, 1fr);
}

.gridModule .gc4 {
  grid-template-columns: repeat(4, 1fr);
}

.gridModule .gc5 {
  grid-template-columns: repeat(5, 1fr);
}

.gridModule .gc6 {
  grid-template-columns: repeat(6, 1fr);
}

.banner {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

@media screen and (max-width: 1210px) {
  .gridModule .gc6 {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (max-width: 940px) {
  .gridModule .gc5 {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (max-width: 760px) {

  .gridModule .gc4,
  .gridModule .gc5,
  .gridModule .gc6 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 600px) {
  .gridModule .gc3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 460px) {

  .gridModule .gc4,
  .gridModule .gc5,
  .gridModule .gc6,
  .gridModule .gc2 {
    grid-template-columns: 1fr;
  }
}

/*-- Responsive Styles --*/

@media screen and (max-width: 600px) {
  #siteFooter p {
    line-height: 1.25em;
    font-size: 16px;
  }

  h1 {
    font-size: 38px;
  }

  .largeText {
    font-size: 22px !important;
  }
}

.mob-menu-header-holder {
  z-index: 99999 !important;
}

.mobmenu-right-alignment {
  z-index: 10;
}

.mobmenur-container i {
  color: var(--white) !important;
}

.mobmenu-content li,
.mobmenu-content a {
  font-family: var(--primaryFont);
}


/*-- Faq module Styles --*/
.faq {
  border-radius: 6px;
  border-left: 4px solid var(--red);
  background: hsl(from var(--darkbluegrey) h s 90%);
  padding: 5px 0;
  margin-bottom: 5px;
}

.faq:hover,
.faq.active {
  background: hsl(from var(--darkbluegrey) h s 80%);
}

.faqQuestion {
  padding: 0 10px 0 35px;
  color: #343638;
  cursor: pointer;
  font-size: 18px;
  font-weight: 400;
  position: relative;
  margin: 10px 0;
}

.faqQuestion:before {
  position: absolute;
  top: 0;
  left: 10px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\2b";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: var(--red);
}

.faq.active .faqQuestion:before {
  content: "\f00d";
  left: 12px;
}

.faqAnswer {
  display: none;
  padding: 0 35px 5px;
}

.faqAnswer p,
.faqAnswer li {
  font-size: 16px !important;
  font-family: var(--primaryFont);
}

.faq.active .faqAnswer {
  display: block;
}

/*-- Tabs Module Styles --*/
.tabsBlock {
  margin-bottom: 30px;
}

.tabsBlock .tabsHolder {
  display: flex;
}

.tabsBlock .tabTitle {
  background: hsl(from var(--bluegrey) h s 90%);
  padding: 15px 30px;
  cursor: pointer;
  font-size: 18px !important;
  border-right: 1px solid #e4dde5;
  font-family: var(--headingFont);
  font-weight: bold;
  border-bottom: 1px solid var(--bluegrey);
}

.tabsBlock .tabsHolder .tabTitle:first-child {
  border-radius: 6px 0 0 0;
}

.tabsBlock .tabsHolder .tabTitle:last-child {
  border-radius: 0 6px 0 0;
  border-right: none;
}

.tabsBlock .tabsHolder .tabTitle:hover,
.tabsBlock .tabsHolder .tabTitle.active {
  background: hsl(from var(--darkbluegrey) h s 95%);
  color: var(--red);
  border-bottom: none;
}

.tabsBlock .tabContentHolder {
  background: hsl(from var(--bluegrey) h s 95%);
  border-radius: 0 0 6px 6px;
}

.tabsBlock .tabContentHolder .tabTitle {
  display: none;
}

.tabsBlock .tabContent {
  display: none;
  padding: 15px;
}

.tabsBlock .tabContent.active {
  display: block;
}

.tabsBlock .tabContent p,
#outerPage .tabsBlock .tabContent li {
  font-size: 18px !important;
}

@media screen and (max-width:930px) {
  .tabsBlock .tabsHolder {
    display: none;
  }

  .tabsBlock .tabContentHolder {
    display: block;
  }

  .tabsBlock .tabContentHolder .tabTitle {
    display: block;
    border-bottom: 1px solid var(--red);
  }
}

/*-- Column Module Styles --*/

.columnsModule {
  margin-bottom: 50px;
}

.columnsModule .inner {
  box-sizing: border-box;
}

.noMargin .columnsModule {
  margin-bottom: 0;
}

@media screen and (max-width: 1200px) {

  .columnsModule .grid.cols-5,
  .columnsModule .grid.cols-6 {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .columnsModule .grid.cols-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media screen and (max-width: 1000px) {
  .columnsModule .grid.cols-3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media screen and (max-width: 900px) {

  .columnsModule .grid.cols-5,
  .columnsModule .grid.cols-6 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media screen and (max-width: 650px) {

  .columnsModule .grid.cols-2,
  .columnsModule .grid.cols-3,
  .columnsModule .grid.cols-4,
  .columnsModule .grid.cols-5,
  .columnsModule .grid.cols-6 {
    grid-template-columns: 1fr !important;
  }

  .mobilePaddingBottom>div {
    padding-bottom: 40px !important;
  }

  .columnsModule .mobileImageFirst {
    grid-template-areas: "image" "content";
  }

  .columnsModule .mobileImageFirst .contentCol {
    grid-area: content;
  }

  .columnsModule .mobileImageFirst .imageCol {
    grid-area: image;
  }
}

/*-- Contact Styles --*/

.nf-form-fields-required {
  display: none;
}

#nf-form-6-cont .nf-form-cont .nf-form-content .list-select-wrap .nf-field-element>div,
.nf-form-cont .nf-form-content input:not([type="button"]),
.nf-form-cont .nf-form-content textarea {
  color: var(--black) !important;
  border: none;
  background: var(--lightgrey) !important;
}

body .nf-form-cont .submit-wrap input[type="submit"] {
  background: var(--red) !important;
  color: var(--white) !important;
  border-radius: 8px !important;
  padding: 15px 30px !important;
  cursor: pointer !important;
  border:2px solid transparent;
}

.single-property .nf-form-cont .submit-wrap input[type="submit"] {background: var(--darkbluegrey) !important;}

body .nf-form-cont .submit-wrap input[type="submit"]:hover {
  background: var(--darkbluegrey) !important;
  border:2px solid var(--white);
}

.nf-form-cont ::placeholder {
  color: var(--darkgrey);
}

body .nf-form-cont .nf-form-content select:active,
body .nf-form-cont .nf-form-content select {
  color: var(--black) !important;
  background: var(--lightgrey) !important;
}

body .nf-form-cont .nf-form-content select option {
  background: var(--lightgrey) !important;
}

.nf-pass.field-wrap .nf-field-element::after,
.list-select-wrap div::after {
  color: var(--white) !important;
}

.nf-pass.field-wrap .nf-field-element::after,
.nf-error.field-wrap .nf-field-element::after {
  z-index: 9999;
}

.nf-pass.field-wrap .nf-field-element::after {
  background: #23dc3d;
  width: 50px;
  right: 0 !important;
  padding-left: 10px;
}

.nf-field-description span[style] {
  font-family: var(--primaryFont) !important;
  font-weight: 400;
  color: var(--white);
  font-size: 16px !important;
}

/*.nf-form-cont input[type="button"] {
  background: none !important;
  border: 2px solid var(--brown) !important;
  border-radius: 30px;
  padding: 10px 20px !important;
  text-transform: uppercase;
  color: var(--brown) !important;
  cursor: pointer;
}
.nf-form-cont input[type="button"]:hover {
  color: var(--white) !important;
  background: var(--brown) !important;
}*/


/*-- Home Styles --*/
#videoBanner {
  height: 680px;
  overflow: hidden;
  position: relative;
}

#videoBanner video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.mainContent {
  padding-top: 100px;
}

.mainContent .grid {
  grid-template-columns: auto 412px;
  grid-gap: 50px;
}

.propSearchBoxOuter .inner {
  padding: 0;
}

.propSearchBox {
  padding: 15px 35px 30px;
  background: var(--darkbluegrey);
  border-radius: 10px;
  position: relative;
}

.propSearchBox p {
  text-align: center;
  color: var(--white) !important;
  font-size: 22px !important;
  font-family: var(--headingFont);
}

.property-search-form {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
}


.property-search-form>input[type="submit"] {
  width: 135px;
  background: var(--red);
  border: none;
  color: var(--white);
  font-size: 16px;
  text-transform: uppercase;
  padding: 8px 10px;
  border-radius: 6px;
  cursor: pointer;
  margin: 0 auto;
}

.property-search-form>input[type="submit"]:hover {
  background: var(--white);
  color: var(--darkbluegrey);
}

.property-search-form .searchRow {
  margin-bottom: 15px;
}

.desktopForm {
  margin: 20px 0;
}

.desktopForm .property-search-form .searchRow:first-child {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 10px;
}

.desktopForm .property-search-form .searchRow:first-child .control {
  display: flex;
  justify-content: center;
}

.desktopForm .property-search-form .searchRow:nth-child(2) {
  display: grid;
  grid-template-columns: 3fr 1fr;
  grid-gap: 0;
}

.desktopForm .property-search-form .searchRow:nth-child(3) {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 10px;
}

.desktopForm .property-search-form .searchRow:nth-child(4) {
  display: grid;
  grid-template-columns: 1fr;
}

.property-search-form .control {
  display: inline-block;
  padding: 0;
}

.desktopForm .property-search-form>.control {
  display: block;
  margin-bottom: 15px;
  margin-top: 0 !important;
}


.property-search-form .control-department {
  padding-right: 15px;
}

.property-search-form .control-department input {
  display: none;
}

.property-search-form .control-department label {
  background: var(--white);
  padding: 10px 35px;
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
}

.property-search-form .control-department label:first-child {
  border-radius: 6px 0 0 6px;
  border-right: 1px solid var(--brown);
}

.property-search-form .control-department label:last-child {
  border-radius: 0 6px 6px 0;
}

.property-search-form .control-department label:hover,
.property-search-form .control-department label.isChecked {
  background: var(--red);
  color: var(--white);
}

.property-search-form .control-address_keyword input {
  width: calc(100% - 24px);
  padding: 0 10px;
  line-height: 35px;
  font-size: 16px;
  border: 2px solid var(--lightgrey);
  border-radius: 6px 0 0 6px;
}

.mac.chrome .property-search-form .control-address_keyword input {
  line-height: 36px;
}

.mac.safari .property-search-form select {
  appearance: none !important;
  padding: 11px 10px !important;
  background-image: url('images/chevron-down-solid.svg') !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  background-size: 12px !important;
  color: var(--black) !important;
}

.mobile.mac.safari .property-search-form select {
  padding: 10px 10px 11px !important;
}

.mobile.pc.chrome .property-search-form select {
  padding: 10px 10px 9px !important;
}

.mobile.chrome .property-search-form select {
  padding: 9px 10px 9px !important;
}


.property-search-form .control-radius select {
  width: 100%;
  background: var(--lightgrey);
  border: 2px solid var(--lightgrey);
  border-radius: 0 6px 6px 0;
  padding: 10px 10px 9px;
}

.desktopForm .property-search-form .searchRow select,
.mobileForm .property-search-form .searchRow:nth-child(4) select,
.mobileForm .property-search-form .searchRow:nth-child(3) select,
.desktopForm .property-search-form .searchRow:nth-child(2) select {
  width: 100%;
  background: var(--white);
  border: 2px solid var(--lightgrey);
  border-radius: 6px;
  padding: 8px 10px;
}

#radius {
  border-radius: 0 6px 6px 0;
  padding: 9px 10px 10px;
}

.property-search-form .current-location {
  bottom: 6px !important;
  width: 20px !important;
}

/*
.mobileForm {
  margin-bottom: -60px;
}

.mobileForm .property-search-form {
  padding-right: 0;
  width: 100%;
}

.mobileForm .searchRow:first-child {
  text-align: center;
}

.mobileForm .property-search-form .control-department {
  padding: 0;
}

.mobileForm .property-search-form .searchRow:nth-child(2) {
  display: grid;
  grid-template-columns: auto 150px;
}

.mobileForm .property-search-form .searchRow:nth-child(3) {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 15px;
}
*/

.page-template-front-page .mainContent {
  margin-bottom: 100px;
}

.page-template-front-page .mainContent p.purpleText {
  font-size: 24px;
  font-family: var(--headingFont);
}

.page-template-front-page .mainContent p {
  font-size: 18px;
  color: var(--darkgrey);
}

.featuredProperties {
  text-align: center;
  margin-bottom: 100px;
}

.featuredProperties h2 {
  color: var(--red);
  font-size: 21px;
  font-family: var(--headingFont);
  text-align: center;
  margin-bottom: 30px;
}

.featuredProperties .inner {
  max-width: 1630px;
}

.propertyhive ul.properties li .thumbnail,
.featuredProperties .propertyhive ul.properties li .thumbnail {
  float: none;
  width: 100%;
}

.featuredProperties .slick-slider {
  position: relative;
  padding-bottom: 30px !important;
}

.featuredProperties .slick-dots {
  text-align: center;
  bottom: 0;
}

#outerPage .featuredProperties .slick-dots li {
  border-bottom: 0 !important;
  display: inline !important;
}

.page-template-front-page .ctas {
  position: relative;
  padding: 100px 0;
  background: url('images/ctabg.webp') no-repeat center / cover;
}

.page-template-front-page .ctas:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  z-index: 1;
  content: "";
}

.page-template-front-page .ctas .grid {
  position: relative;
  z-index: 99;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 16px;
  display: grid;
}

.page-template-front-page .ctas .cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 60px;
  background: var(--red);
  border-radius: 8px;
}

.page-template-front-page .ctas .cta:hover {
  background: var(--darkbluegrey);
}

.page-template-front-page .ctas .cta .ctaTitle {
  color: var(--white);
  font-family: var(--headingFont);
  font-size: 25px;
}

.page-template-front-page .ctas .col {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: auto;
  grid-gap: 16px;
}

.page-template-front-page .ctas .col:first-child .ctaTitle {
  font-size: 40px;
}


@media screen and (max-width:500px) {
  .post-type-archive-property .propSearchBoxOuter .inner {
    padding: 0;
  }

  .propSearchBox {
    padding: 15px;
  }
}


.testimonials {
  background: hsl(from var(--bluegrey) h s 90%);
}

.testimonials .inner {
  padding: 120px 20px 80px;
  position: relative;
  max-width: 1310px;
}

.testimonials .testimonialsInner {
  max-width: 750px;
  margin: 0 auto;
  min-height: 200px;
  position: relative;
  z-index: 9;
}

.testimonial {
  margin-bottom: 60px;
}

.testimonial .quoteMark {
  font-size: 96px;
  font-family: var(--headingFont);
  color: var(--red);
  text-align: center;
  margin-bottom: 20px;
}

.testimonial .quote {
  text-align: center;
  font-size: 18px;
  font-family: var(--primaryFont);
  color: var(--darkgrey);
  margin-bottom: 30px;
  line-height: 1.25em
}

.testimonial .quoter {
  text-align: center;
  color: var(--red);
  font-size: 21px;
  font-family: var(--headingFont);
}


/*-- Properties --*/
.page-template-favourites #banner,
.post-type-archive-property .banner {
  min-height: 680px;
}

.single-property #container,
.post-type-archive-property #container {
  max-width: 1365px;
  padding: 0 20px;
  width: calc(100% - 40px);
}

.propertyhive ul.properties {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1px;
}

.propertyhive ul.properties li {
  list-style: none;
  float: none;
  width: 100%;
  padding: 0 !important;
  margin: 0 !important;
}

li.featuredProperties {
  background: var(--red);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 40px;
}

.featuredProperties h2 {
  color: var(--white);
  font-size: 60px;
}

.featuredProperties .button {
  color: var(--white);
  text-transform: uppercase;
  background: var(--darkbluegrey);
  border: none;
  font-weight: 500;
}

.featuredProperties .button:hover {
  color: var(--darkbluegrey);
  background: var(--white);
}

body.post-type-archive-property ul.properties li {
  width: 100%;
}

.propertyhive ul.properties li[style] {
  height: auto !important;
}

.propertyhive ul.properties li .thumbnail a {
  overflow: hidden;
  border-radius: 0;
}

.propertyhive ul.properties li .thumbnail a img {
  display: block;
}

.propertyhive ul.properties li .details {
  background: var(--darkbluegrey);
  padding: 25px;
  width: calc(100% - 50px) !important;
  border-radius: none;
  display: flex;
  flex-wrap: wrap;
  float: none;
}

.propertyhive ul.properties li .details h3 {
  color: var(--white);
  font-size: 24px;
  font-family: var(--headingFont);
  width: 100%;
  margin-bottom: 25px;
}

.propertyhive ul.properties li .details .price {
  width: 50%;
}

.propertyhive ul.properties li .details .rooms {
  width: 50%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
}


.propertyhive ul.properties li .details .room-count {
  color: var(--white);
  font-weight: bold;
  font-family: var(--primaryFont);
  font-size: 16px;
}

.propertyhive ul.properties li .details .room-label {
  text-indent: -9999px;
  display: inline-block;
  width: 20px;
  height: 20px;
  background-size: contain;
  margin-left: 2px;
  background-repeat: no-repeat;
  background-position: center;
}

.propertyhive ul.properties li .details .room-bedrooms .room-label {
  background-image: url('images/bedrooms.svg');
  filter: brightness(100);
}

.propertyhive ul.properties li .details .room-bathrooms .room-label {
  background-image: url('images/bathrooms.svg');
  filter: brightness(100);
}

.propertyhive ul.properties li .details .room-receptions .room-label {
  background-image: url('images/reception.svg');
  filter: brightness(100);
}

.propertyhive ul.properties li .details .price {
  font-size: 18px;
  font-family: var(--headingFont);
  color: var(--white);
  text-align: right;
}

.propertyhive ul.properties li .details .price-qualifier {
  display: none;
}

/*
.propertyhive ul.properties li .flag {
  text-indent: -9999px;
  display: none;
}*/

.propertyhive ul.properties li .flag-sold {
  background: url('images/sold.svg') no-repeat center top !important;
  width: 90px;
  height: 90px;
  display: block;
}

.propertyhive ul.properties li .flag-sold-stc {
  background: url('images/sstc.svg') no-repeat center top !important;
  width: 90px;
  height: 90px;
  display: block;
}

.propertyhive ul.properties li .flag-let-agreed {
  background: url('images/let.svg') no-repeat center top !important;
  width: 90px;
  height: 90px;
  display: block;
}


.propertyImage {
  min-height: 293px;
  background-size: cover;
  background-position: center;
  display: block;
}

.propertyhive-pagination {
  margin-bottom: 100px;
}

.propertyhive .page-numbers {
  text-align: center;
}

.propertyhive .page-numbers a {
  color: var(--darkgrey);
  font-size: 20px;
  font-family: var(--primaryFont);
}

.propertyhive .page-numbers a:hover,
.propertyhive .page-numbers .current {
  color: var(--red);
  font-size: 20px;
  font-family: var(--primaryFont);
}

.propertyhive-result-count {
  float: left;
}

.propertyhive-ordering {
  float: right;
}

/*-- Property Styles --*/

.flex-direction-nav li {
  list-style: none;
}

.single-property #breadcrumbs {
  max-width: 1630px;
  padding: 20px;
  color: var(--darkgrey);
}


.single-property .images {
  position: relative;
}

.single-property .images .flag {
  /*text-indent: -9999px;
  display: none;*/
  top: 4px !important;
  right: 4px !important;
}

.single-property .images .flag-sold {
  background: url('images/sold.svg') no-repeat center top !important;
  width: 90px;
  height: 90px;
  display: block;
}

.single-property .images .flag-sold-stc {
  background: url('images/sstc.svg') no-repeat center top !important;
  width: 90px;
  height: 90px;
  display: block;
}

.single-property #carousel {
  margin-top: -20px;
}

.single-property .flexslider {
  margin-bottom: 0 !important;
}

.propertyIntro {
  padding: 15px 35px;
  background: var(--red);
  border-radius: 10px;
}

.propertyInfo {
  position: relative;
  top: -16px;
  z-index: 10;
  padding: 15px 35px 30px;
  background: var(--red);
  border-radius: 10px;
}

.piTop {
  display: grid;
  grid-template-columns: auto 200px;
  grid-gap: 30px;
  align-items: center;
}

.piTop h1 {
  color: var(--white);
  font-family: var(--headingFont);
  font-size: 24px;
  text-transform: uppercase;
  margin-bottom: 0;
}

.piTop .col:last-child {
  color: var(--white);
  font-size: 18px;
  text-align: right;
  font-family: var(--headingFont);
}

.single-property .propertyIntro .piTop .col:last-child {
  font-size: 28px;
  line-height: 1em;
}

.piLower {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
}

.piLower .col:first-child {
  width: 75%;
  min-width: 400px;
}

.piLower .col:last-child {
  color: var(--white);
  width: 200px;
}

.piLower .col:first-child ul {
  columns: 2;
  padding: 0;
  column-gap: 20px;
}

.piLower .col:first-child li {
  color: var(--white);
  list-style: none;
  padding: 0 0 0 15px;
  margin-bottom: 5px;
}

.piLower .col:first-child li:before {
  content: "\2022";
  font-weight: bold;
  display: inline-block;
  width: 1em;
  color: var(--white);
  margin-left: -15px;
}

.piLower .col:last-child>div {
  position: relative;
  padding-left: 50px;
  font-size: 16px;
  margin-bottom: 15px;
}

.piLower .col:last-child>div:before {
  position: absolute;
  top: 2px;
  left: 0;
  width: 30px;
  height: 30px;
  content: "";
}

.piLower .bedrooms:before {
  background: url('images/bedrooms.svg') no-repeat center top;
  filter: brightness(100);
}

.piLower .bathrooms:before {
  background: url('images/bathrooms.svg') no-repeat center top;
  filter: brightness(100);
}

.piLower .reception:before {
  background: url('images/reception.svg') no-repeat center top;
  filter: brightness(100);
}

.piTabs {
  display: flex;
  justify-content: center;
}

.piTabs .tab {
  background: var(--white);
  padding: 12px;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  border-left: 1px solid var(--darkbluegrey);
}

.piTabs .tab.active,
.piTabs .tab:hover {
  color: var(--white);
  background: var(--darkbluegrey);
}

.piTabs .tab:first-child {
  border-radius: 10px 0 0 10px;
  border-left: 0;
}

.piTabs .tab:last-child {
  border-radius: 0 10px 10px 0;
}


.piTabContent {
  margin-bottom: 100px;
}

.piTabContent .tab {
  padding: 0 35px;
  display: none;
}

.piTabContent .tab.active {
  display: block;
}

.piTabContent #description strong.name {
  color: var(--red);
  font-size: 24px;
  font-family: var(--headingFont);
  margin-bottom: 20px;
  display: inline-block;
}

.piTabContent #description p {
  color: var(--darkgrey);
  font-size: 18px;
}


.propertyEnquiryForm {
  background: var(--red);
  padding: 25px;
  border-radius: 6px;
  margin-bottom: 60px;
}

.propertyEnquiryForm h2 {
  color: var(--white);
  font-size: 26px;
  text-align: center;
}


@media screen and (max-width:930px) {
  .propertyInfo {
    padding: 15px;
  }

  .piLower .col:first-child {
    width: 100%;
    margin-bottom: 30px;
    min-width: 0;
  }

  .piLower .col:last-child {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

  .piTop {
    display: block;
  }

  .piTop .col:first-child {
    margin-bottom: 10px;
  }

  .piTop .col:last-child {
    text-align-last: left;
  }
}

@media screen and (max-width:730px) {
  .piLower .col:first-child ul {
    columns: 1;
  }

  .piLower .col:last-child {
    display: block;
  }
}

@media screen and (max-width:690px) {
  .piTabs {
    display: block;
  }

  .piTabs .tab {
    border-bottom: 1px solid var(--ivory);
    text-align: center;
  }

  .piTabs .tab:first-child {
    border-radius: 10px 10px 0 0;
  }

  .piTabs .tab:last-child {
    border-radius: 0 0 10px 10px;
    border-bottom: 0;
  }

  #carousel {
    display: none;
  }
}

/*-- Team Styles --*/

.breadcrumbs .inner {
  max-width: 1630px;
}

#outerPage .breadcrumbs p {
  color: var(--midgrey);
  font-size: 11px;
  font-family: var(--primaryFont);
}

.introText {
  margin-bottom: 30px;
}

.introText .inner {
  max-width: 1080px;
}

.introText li,
.introText p {
  font-size: 16px;
  color: var(--darkgrey);
}

.teamMembers {
  margin-bottom: 60px;
}

.teamMembers.hidden {
  display: none;
}

.teamMembers .inner {
  max-width: 1080px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 22px;
}

.lowerContent {
  padding: 20px 0;
  background: hsl(from var(--bluegrey) h s 90%);
}

.lowerContent .inner {
  max-width: 1080px;
}

.teamMember {
  cursor: pointer;
}

.teamMember .image {
  display: block;
  min-height: 258px;
  margin-bottom: 10px;
  border-radius: 6px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center right;
}

.teamMember:hover .image {
  filter: grayscale(60%);
}

.teamMemberBio {
  padding-bottom: 80px;
  position: relative;
  margin: 0 auto;
  max-width: 800px;
  background: hsl(from var(--bluegrey) h s 90%);
  border-radius: 8px;
}


.teamMemberBio .name,
.teamMember .name {
  font-size: 24px;
  color: var(--red);
  font-family: var(--headingFont);
  display: block;
  margin-bottom: 5px;
}

.teamMemberBio .role,
.teamMember .role {
  font-size: 16px;
  color: var(--midgrey);
}

.teamMemberBio {
  margin-bottom: 60px;
  display: none;
}

.teamMemberBio .role {
  margin-bottom: 10px;
  display: inline-block;
}

.teamMemberBio.active {
  display: block;
}

.teamMemberBio .inner {
  max-width: 1365px;
  position: relative;
  padding-top: 30px;
}

.teamMemberBio .close {
  font-size: 28px;
  color: var(--red);
  cursor: pointer;
  position: absolute;
  top: 5px;
  right: 10px;
}

.teamMemberBio .image {
  display: block;
  min-height: 500px;
  margin-bottom: 10px;
  border-radius: 6px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center right;
}

.teamMemberBio .bio {
  padding-top: 10px;
  display: block;
}

.teamMemberBio .bio p {
  font-size: 16px;
  color: var(--bluegrey);
}


@media screen and (max-width:990px) {
  .teamMembers .inner {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width:650px) {
  .teamMembers .inner {
    grid-template-columns: 1fr;
  }

  .teamMemberBio .image {
    min-height: 250px;
  }
}

/*-- News Styles --*/
.single-post .banner,
.page-template-news .banner {
  min-height: 300px;
}

.newsOuter {
  padding: 50px 0;
}

.newsTitle {
  text-align: center;
}

.newsTitle img {
  max-width: 500px;
}

.newsOuter .inner {
  max-width: 1010px;
}

.newsArticles .newsArticle {
  display: grid;
  grid-template-columns: 315px auto;
  grid-gap: 20px;
  background: hsl(from var(--bluegrey) h s 90%);
  border-radius: 6px;
  margin-bottom: 20px;
  padding: 20px;
}

.newsOuter .newsArticle .articleImage {
  min-height: 215px;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.newsOuter .newsArticle h1 {
  color: var(--red);
  font-size: 21px;
  font-weight: bold;
  font-family: var(--primaryFont);
  line-height: 1.25em;
  margin-bottom: 10px;
}

.newsOuter .newsArticle .articleDate {
  font-size: 14px;
  font-style: italic;
  margin-bottom: 10px;
  display: block;
}

.newsOuter .newsArticle .excerpt {
  margin-bottom: 20px;
  font-weight: 400;
  font-size: 16px;
}

.newsOuter .newsArticle .readmore {
  color: var(--white);
  background: var(--red);
  border-radius: 30px;
  padding: 10px 20px;
  display: inline-block;
  font-weight: bold;
}

.newsOuter .newsArticle .readmore:hover {
  background: var(--red);
}

.post-navigation {
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
}

#post-navigation {
  /*display: flex;
  justify-content: space-between;*/
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  padding-top: 60px;
  margin-bottom: 10px;
}

#post-navigation span,
#post-navigation a {
  color: var(--white);
  margin: 0 10px;
  font-size: 16px;
}

#post-navigation span,
#post-navigation a.current,
#post-navigation a:hover {
  color: var(--red) !important;
}

.single-post #outerPage .newsOuter {
  padding: 0;
}

.single-post #outerPage .articleWrapper {
  background: var(--white);
  padding: 30px;
  margin-bottom: 50px;
}

.single-post .featuredImage {
  margin-bottom: 30px;
}

.single-post #outerPage h1 {
  font-size: 26px;
  font-weight: bold;
}

.single-post #outerPage p,
.single-post #outerPage li {
  font-size: 18px;
  color: var(--darkgrey);
}

.single-post .sharing {
  text-align: center;
  margin-top: 50px
}

.single-post .sharing a {
  font-size: 16px;
  font-weight: bold;
  font-family: var(--robotoFont);
  color: var(--white);
  margin: 0 10px;
  border-radius: 30px;
  padding: 5px 10px;
}

.single-post .sharing a:hover {
  color: var(--black);
}

.twitterButton {
  background: #4bc7f0;
}

.facebookButton {
  background: #425fa0;
}

.pinterestButton {
  background: #cc1c26;
}

/*
.single .newsOuter .grid {
  grid-template-columns: repeat(2, 1fr);
}
.single figure {
  margin-bottom: 30px;
}
.single #outerPage .newsOuter p {
  font-size: 16px;
}

@media screen and (max-width: 850px) {
  
  .single .newsOuter .grid {
    grid-template-columns: 1fr;
  }
}
*/
@media screen and (max-width:730px) {
  .newsArticles .newsArticle {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 550px) {

  .newsOuter .newsArticle h1 {
    font-size: 25px;
  }

  /*
  .single .newsOuter .col {
    overflow: hidden;
  }
  .single .newsOuter a {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
  }
  */
}


/*-- Favourite Feature --*/
.properties .thumbnail {
  position: relative;
}

.favourite {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 9999;
  font-size: 20px;
  cursor: pointer;
}

.favourite .fa-regular.fa-heart {
  color: var(--brown);
}

.favourite .fa-solid.fa-heart {
  color: var(--red);
  display: none;
}

.favourite:hover .fa-regular.fa-heart,
.favourite.active .fa-regular.fa-heart {
  display: none;
}

.favourite:hover .fa-solid.fa-heart,
.favourite.active .fa-solid.fa-heart {
  display: block;
}

.favouriteLink {
  text-align: right;
}

.favouriteLink a {
  color: var(--brown);
  font-weight: bold;
  cursor: pointer;
}

.favouriteLink a:hover {
  color: var(--red);
}

.page-template-favourites .favourites {
  padding: 50px 0;
}

/*-- Mobile Menu --*/

#mobileNav.active {
  display: block;
}

#mobileNav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background: var(--red);
  z-index: 9999999;
  overflow-y: auto;
}

#mobileNav .top {
  background: var(--white);
  padding: 15px 0 40px;
}

#mobileNav #mainMenu {
  padding: 0 20px;
}

#mobileNav .sub-menu .sub-menu {
  display: none !important;
}

#mobileNav .logo {
  margin: 0 auto;
  max-width: 120px;
  width: 100%;
  display: block;
  margin-bottom: 40px;
}

#mobileNav .logo img {
  width: 100%;
}

#mobileNav .nav-menu {
  padding: 0;
}

#mobileNav #mainMenu li {
  display: block;
  padding: 0;
}

#mobileNav .current-menu-item>a,
#mobileNav #mainMenu li.current>a,
#mobileNav #mainMenu li a:hover {
  color: var(--black) !important;
}

#mobileNav .menu-item-has-children {
  padding-left: 0;
}

#mobileNav .menu-item-has-children:before {
  left: auto;
  right: 85px;
  top: 13px;
}

#mobileNav #mainMenu li a {
  color: var(--darkgrey);
  display: block;
  padding: 15px 85px;
  text-align: left;
  position: relative;
  font-weight: 400;
}

#mobileNav #mainMenu .sub-menu li a {
  color: var(--white) !important;
}

#mobileNav .sub-menu {
  position: relative;
  top: 0;
  width: auto;
  background: var(--lightbluegrey);
  box-shadow: none;
}

#mobileNav .sub-menu li {
  width: 100%;
}

#mobileNav #mainMenu li a:before {
  position: absolute;
  top: 16px;
  left: 40px;
  width: 16px;
  height: 16px;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  opacity: 0.5;
}

#mobileFooterBar .home a,
#mobileNav .home>a:before {
  background-image: url('images/home.svg');
}

#mobileFooterBar .about a,
#mobileNav .about>a:before {
  background-image: url('images/about.svg');
}

#mobileFooterBar .properties a,
#mobileNav .properties>a:before {
  background-image: url('images/properties.svg');
}

#mobileFooterBar .selling a,
#mobileNav .selling>a:before {
  background-image: url('images/selling.svg');
}

#mobileFooterBar .buying a,
#mobileNav .buying>a:before {
  background-image: url('images/buying.svg');
}

#mobileFooterBar .landlords a,
#mobileNav .landlords>a:before {
  background-image: url('images/landlords.svg');
}

#mobileFooterBar .tenants a,
#mobileNav .tenants>a:before {
  background-image: url('images/tenants.svg');
}

#mobileFooterBar .journal a,
#mobileNav .journal>a:before {
  background-image: url('images/journal.svg');
}

#mobileFooterBar .contact a,
#mobileNav .contact>a:before {
  background-image: url('images/contact.svg');
}

#mobileFooterBar .news a,
#mobileNav .news>a:before {
  background-image: url('images/news.svg');
}

#mobileNav .current-menu-item a:before,
#mobileNav #mainMenu li.current a:before,
#mobileNav #mainMenu li a:hover:before {
  opacity: 1 !important;
}

#mobileNav .lower {
  padding: 80px 40px 40px;
}

#mobileNav .lowerLinks {
  padding-left: 45px;
  padding-bottom: 80px;
}

#mobileNav .lowerLinks p {
  color: var(--white);
  font-weight: bold;
  font-size: 16px;
}

#mobileNav .socialLinks a:hover,
#mobileNav .lowerLinks a:hover {
  color: var(--lightbluegrey);
}

#mobileNav .socialLinks {
  color: var(--white);
}

#mobileNav .socialLinks a {
  margin-right: 20px;
  font-size: 20px;
  color: var(--white);
}

#mobileToggle {
  display: none;
  position: absolute;
  top: 30px;
  right: 30px;
  color: var(--red);
  font-size: 30px;
  cursor: pointer;
}

#mobileToggle:hover {
  color: var(--bluegrey);
}

#mobileNavClose {
  position: absolute;
  top: 30px;
  right: 30px;
  color: var(--red);
  font-size: 20px;
  cursor: pointer;
}

#mobileNavClose:hover {
  color: var(--bluegrey);
}


/*-- Mobile FooterBar --*/

#mobileFooterBar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: calc(100% - 80px);
  background: var(--white);
  padding: 25px 40px;
  z-index: 9999999;
  border-top: 1px solid var(--ivory);
}

#mobileFooterBar ul {
  display: flex;
  justify-content: space-evenly;
}

#mobileFooterBar li {
  list-style: none;
  margin-bottom: 0;
}

#mobileFooterBar li a {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
  width: 18px;
  height: 18px;
  text-indent: -99999px;
}



/*-- Google Reviews --*/

.reviews {
  padding: 80px 0;
  background: var(--midbluegrey);
}

.reviews h2 {
  font-size: 40px;
  text-align: center;
  font-family: var(--headingFont);
  color: var(--white);
}

.wp-gr .grw-review-inner>svg:last-child,
.wp-google-time,
.grw-review-avatar {
  display: none !important;
}

.wp-gr .grw-review-inner {
  flex-direction: initial !important;
  flex-wrap: wrap !important;
}

.wp-gr .grw-review .wp-google-stars,
.wp-gr .grw-review .wp-google-left {
  width: calc(50% - 2px) !important;
  margin: 0 !important
}

.wp-gr .grw-review .wp-google-left .wp-google-name {
  font-size: 20px !important;
  font-family: var(--headingFont) !important;
  line-height: 1em !important;
}

.wp-gr .grw-review .wp-google-stars {
  text-align: right !important;
}

.wp-gr .wp-google-wrap {
  width: 100% !important;
  padding-top: 30px !important;
}

/*-- Responsive --*/

.mobileForm {
  display: none;
}

@media screen and (max-width:1480px) {
  #mainHeader .grid {
    grid-gap: 80px;
  }
}

@media screen and (max-width:1280px) {
  #mainHeader .grid {
    grid-gap: 40px;
    grid-template-columns: 150px auto;
  }

  #mainHeader .col:last-child {
    position: absolute;
    top: 10px;
    right: 10px;
  }

  #outerPage {
    padding-top: 88px;
  }
}

@media screen and (max-width:1080px) {
  #mainHeader .grid {
    display: block;
  }

  #mainHeader .col:first-child {
    max-width: 250px;
    margin: 0 auto;
    text-align: center;
  }


  #outerPage {
    padding-top: 158px;
  }

  #siteFooter .grid {
    grid-template-columns: 1fr;
  }

}

@media screen and (max-width:930px) {

  #mainHeader .col:nth-child(2),
  #mainHeader .col:last-child {
    display: none;
  }

  #mobileToggle {
    display: block;
  }

  #mainHeader .logo {
    padding: 15px 0;
  }

  #outerPage {
    padding-top: 108px;
  }

  #videoBanner {
    height: 430px;
  }

  /*.mobileForm {
    display: block;
  }

  .desktopForm {
    display: none;
  }*/

  #mobileFooterBar {
    display: block;
  }

  #siteFooter {
    padding-bottom: 69px;
  }

  .propertyhive ul.properties {
    grid-template-columns: repeat(2, 1fr);
  }

  .propertyhive ul.properties li:last-child {
    display: none;
  }

  .page-template-favourites #banner,
  .post-type-archive-property .banner {
    min-height: 360px;
  }

  .propertyhive ul.properties li {
    margin: 0 5px !important;
  }

  .page-template-front-page .ctas .grid,
  .mainContent .grid {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width:730px) {
  .propertyhive ul.properties {
    display: block;
  }

  .propertyhive ul.properties li {
    display: inline-block !important;
    width: 100%;
  }

  .post-type-archive-property #outerPage .properties li {
    margin-bottom: 20px !important;
  }

  .propertyhive ul.properties li a {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .page-template-favourites #banner,
  .post-type-archive-property .banner {
    min-height: 250px;
  }
}

@media screen and (max-width:600px) {

  #mainHeader .col:first-child,
  #mobileNav .logo {
    max-width: 120px;
  }

  #outerPage {
    padding-top: 123px !important;
  }

  .propertyhive ul.properties li .details h3 {
    font-size: 22px;
  }

  .page-template-front-page .ctas .cta {
    padding: 20px;
  }

  .page-template-front-page .ctas .col:first-child .ctaTitle {
    line-height: 1.25em;
  }

  .propertyAlerts {
    padding: 20px;
  }

  .propertyAlerts h3 {
    font-size: 32px;
  }
}