:root {
 --green:#72a736;
 --purple:#3d2851;
}
@font-face {
    font-family: 'ProximaNova';
    src: url('../fonts/ProximaNova.otf');
}
@font-face {
    font-family: 'ProximaNovaBold';
    src: url('../fonts/ProximaNova-Bold.otf');
}
html {
  scroll-behavior: smooth;
}
body {
 font-family: "ProximaNova", Tahoma, Verdana, Geneva, sans-serif;
 margin: 0;
 position: relative;
}
strong {
 font-family: "ProximaNovaBold";
 font-weight: normal;
}
header {
 height: 80px;
 width: 100%;
 background-color: var(--purple);
 background-image: url("../images/archerlogo.svg");
 background-repeat: no-repeat;
 background-size: contain;
 position: fixed;
 top:0;
 left: 0;
 z-index: 100;
}
header nav ul {
 list-style: none;
 font-size: 32px;
 font-weight: 100;
}
header nav ul li {
 opacity: 0;
 transition: transform .3s, opacity .3s;
 transform: translateY(-15px);
 text-align: center;
 position: relative;
 padding: 10px 0;
}
header nav ul li ul {
 font-size: 22px;
 padding: 0;
 display: none;
}
header nav ul li+li+li+li+li+li {
 transition-delay: 0.5s;
}
header nav ul li+li+li+li+li {
 transition-delay: 0.4s;
}
header nav ul li+li+li+li {
 transition-delay: 0.3s;
}
header nav ul li+li+li {
 transition-delay: 0.2s;
}
header nav ul li+li {
 transition-delay: 0.1s;
}
header nav ul li {
 transition-delay: 0.0s;
}
header nav ul li a.active {
 color: var(--green);
}
#navbarSupportedContent>ul {
 margin: 10px auto;
 padding: 0;
 width: 300px;
}
.expand {
 transform: rotate(0deg);
 transition: transform .3s;
 width: 30px;
 height: 30px;
 cursor: pointer;
 color: #fff;
 position: absolute;
 top:12px;
 right:0;
}
.expand:before {
 content: url('../images/arrow.gif');
}
header a {
 text-decoration: none;
 color: #fff;
}
.homepagelink {
 width: 400px;
 height: 85px;
 display: block;
 float: left;
}
.constrainedwidth {
 max-width: 1080px;
 margin: 0 auto;
}
#widget {
 margin-top: 80px;
}
#homepagetop {
 text-align: center;
 height: 100vh;
 background-image: url('../images/homepage.jpg');
 background-position: center center;
 background-repeat: no-repeat;
 background-size: cover;
}
.homepagetopoverlay {
 height: 100vh;
 background-color: rgb(0,0,0,0.65);
 position: relative;
}
.hptopbox {
 position: absolute;
 bottom:-350px;
 width:100%;
 color: #fff;
 opacity: 0;
}
.hptopbox p {
 margin-top:50px;
 font-size: 30px;
}
@media (max-width: 650px) {
 .hptopbox p {
  font-size: 15px;
 }
 .hptopbox svg {
  width: 80px;
 }
}
.hpsearcharea {
 text-align: left;
 width: fit-content;
 margin: 0 auto;
 font-size: 21px;
}
.hpsearcharea ul {
 list-style: none;
 margin: 50px 0 15px 0;
 padding: 0;
}
.hpsearcharea li {
 display: inline-block;
 margin-right: 20px;
 cursor: pointer;
}
.hpsearcharea li.active {
 font-weight: bold;
 text-decoration: underline;
}
#hpsearchcriteria {
 width:400px;
 height:26px;
 padding:14px 20px;
 font-size: 21px;
 border: none;
 border-radius: 0;
 -webkit-appearance: none;
}
#hpsearch {
 width:250px;
 height:54px;
 padding:14px 20px;
 font-size: 21px;
 border: 0px;
}
h1,h4 {
 color: var(--purple);
 text-align: center;
}
#homepagetop h1 {
 font-size: 60px;
 line-height: 62px;
 margin: 0;
 color: #fff;
}
#homepagetop h4 {
 color: #fff;
}
#hpflipboxes {
 margin-top: 54px;
}
.statictop {
 text-align: center;
 min-height: 400px;
 background-repeat: no-repeat;
 background-color: var(--purple);
 margin-top: 80px;
 background-size: auto 150%;
 background-position: 50% 0;
}
.statictop h1 {
 font-size: 60px;
 line-height: 62px;
 margin: 0;
 color: #fff;
 padding-top: 180px !important;
 text-transform: uppercase;
}
h4 {
 font-size: 19px;
 margin: 5px;
}
.greybg {
 background-color: #eee;
}
.propinfobox {
 background-color: #f5f5f7;
 padding: 10px 20px;
}
.counciltax {
 font-size: 22px;
}

@media (max-width: 1080px) {
 header {
  height: 50px;
 }
 #homepagetop {
  min-height: 500px;
 }
 #widget {
  margin-top: 50px;
 }
 .statictop {
  min-height: 300px !important;
  margin-top: 50px;
 }
 .topmenubutton {
  top:3px;
 }
 #homepagetop h1 {
  font-size: 50px;
  line-height: 52px;
  padding-top: 350px;
 }
 .statictop h1 {
  font-size: 50px;
  line-height: 52px;
  padding-top: 130px !important;
 }
 h4 {
  font-size: 16px;
  margin: 5px;
 }
 #hpsearchcriteria {
  width:350px;
 }
 #hpsearch {
  width:200px;
 }
}
@media (max-width: 650px) {
 #homepagetop {
  min-height: 300px;
 }
 .statictop {
  min-height: 200px !important;
 }
 #homepagetop h1 {
  font-size: 24px;
  line-height: 26px;
  padding-top: 180px;
 }
 .statictop h1 {
  font-size: 24px;
  line-height: 26px;
  padding-top: 90px !important;
 }
 h4 {
  font-size: 14px;
  margin: 5px;
 }
 #hpsearchcriteria {
  width:220px;
  font-size: 14px;
  padding: 0 10px;
  height: 44px;
 }
 #hpsearch {
  width:100px;
  font-size: 14px;
  height:44px;
 }
}

.whitebox {
 color: #fff;
 padding: 8px;
 border: 1px #fff solid;
 font-size: 12px;
 text-decoration: none;
 margin-right: 20px;
 transition: .3s ease;
 background-color: var(--purple);
}
.whitebox:hover {
 background-color: var(--green);
}
#topvmp {
 position: absolute;
 top: -5px;
 right: calc(10% + 50px);
}
 #menuvmp {
  display: none;
 }
.topmenubutton {
 position: absolute;
 top: 20px;
 background: no-repeat center center;
 background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
 width: 40px;
 height: 40px;
 content: "";
 background-size: 100% 100%;
 right:10%;
}
#navbarSupportedContent {
 background: var(--purple);
 display: none;
 position: absolute;
 top: 80px;
 left: 0;
 width: 100%;
}
ul.nav>li {
 display: block;
 padding-bottom: 20px;
}
.whitebox {
 margin-top:30px;
}
@media (max-width: 1080px) {
 .topmenubutton {
  top:5px;
 }
 #topvmp {
  top: -21px;
 }
 #navbarSupportedContent {
  top: 50px;
 }
}
@media (max-width: 650px) {
 #topvmp {
  display: none;
 }
 #menuvmp {
  display: block;
 }
}

.flip-box {
/*  background-color: transparent; */
  background-color:var(--purple);
  width: 25%;
  height: 200px;
  perspective: 1000px;
  float: left;
}
.flip-box-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}
.flip-box:hover .flip-box-inner {
  transform: rotateY(180deg);
}
.flip-box-front, .flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  color: white;
}
.flip-box-front a {
 text-decoration: none;
 color: #fff;
}
.flip-box-back {
  background-color: var(--purple);
  transform: rotateY(180deg);
  background-size: cover;
}
.flip-box-back p {
  padding: 0 10px;
}
.flip-box-back a {
  color: #fff;
  text-decoration: underline;
}
.flip-box-back a:hover {
  text-decoration: none;
}
.flip-box-front {
 background-repeat: no-repeat;
 background-size: cover;
}
.flip-box-front h2 {
 position: relative;
 top:75px;
 font-weight: normal;
 font-size: 20px;
}
#landlords .flip-box-front {
 background-image: url("../images/house1bg.jpg");
}
#renters .flip-box-front {
 background-image: url("../images/house2bg.jpg");
}
#vendors .flip-box-front {
 background-image: url("../images/house3bg.jpg");
}
#buyers .flip-box-front {
 background-image: url("../images/house4bg.jpg");
}
#propertyvaluation .flip-box-front {
 background-image: url("../images/house5bg.jpg");
}
#auctions .flip-box-front {
 background-image: url("../images/house6bg.jpg");
}
#mortgages .flip-box-front {
 background-image: url("../images/house7bg.jpg");
}
#insurance .flip-box-front {
 background-image: url("../images/house8bg.jpg");
}
@media (max-width: 1080px) {
 .flip-box {
  width: 50%;
 }
 .flip-box:hover .flip-box-inner {
  transform: none;
 }
}
/*
@media (max-width: 1080px) {
 .flip-box {
  width: 50%;
 }
 .flip-box-front {
  display: none;
 }
 .flip-box-back,.flip-box:hover .flip-box-inner {
  transform: none;
 }
 #landlords .flip-box-back {
  background-image: url("../images/house1bg.jpg");
 }
 #renters .flip-box-back {
  background-image: url("../images/house2bg.jpg");
 }
 #vendors .flip-box-back {
  background-image: url("../images/house3bg.jpg");
 }
 #buyers .flip-box-back {
  background-image: url("../images/house4bg.jpg");
 }
 #propertyvaluation .flip-box-back {
  background-image: url("../images/house5bg.jpg");
 }
 #auctions .flip-box-back {
  background-image: url("../images/house6bg.jpg");
 }
 #mortgages .flip-box-back {
  background-image: url("../images/house7bg.jpg");
 }
 #insurance .flip-box-back {
  background-image: url("../images/house8bg.jpg");
 }
 .flip-box-back p {
  font-size: 18px;
 }
}
*/
@media (max-width: 650px) {
 .flip-box {
  width: 100%;
 }
}

.homepagepropertysearch,.homepageusp {
 text-align: center;
 clear: left;
}
.homepagepropertysearch {
 min-height: 264px;
}
.homepagepropertysearch h1,.homepageusp h1 {
 font-size: 41px;
 line-height: 43px;
 margin: 0 0 34px 0;
 padding-top: 54px;
}
@media (max-width: 1080px) {
 .homepagepropertysearch {
  min-height: 200px;
 }
 .homepagepropertysearch h1,.homepageusp h1 {
  font-size: 30px;
  line-height: 32px;
  padding-top: 35px;
 }
}
@media (max-width: 650px) {
 .homepagepropertysearch {
  min-height: 160px;
 }
 .homepagepropertysearch h1,.homepageusp h1 {
  font-size: 20px;
  line-height: 25px;
  margin: 0 0 0 0;
  padding-top: 24px;
 }
}
.greenbutton {
 font-size: 22px;
 color: #fff;
 background-color: var(--green);
 padding: 13px 32px;
 text-decoration: none;
 transition: .3s ease;
}
.greenbutton:hover {
 background-color: var(--purple);
}
.big {
 text-align: center;
 padding: 18px 0;
 clear: left;
}
.big a {
 padding: 13px 45px;
}
hr {
 margin-top: 26px;
 margin-bottom: 15px;
 width:98%;
}
#stats {
 background-color: var(--purple);
 color:#fff;
 min-height: 309px;
}
.statsbox {
 float: left;
 width: calc(33% - 20px);
 padding: 0 10px;
 position: relative;
 min-width: 300px;
 margin-top: 80px;
 text-align: center;
}
.statscaveat {
 text-align: center;
 padding:30px 0 20px 0;
 font-size: 12px;
}
@media (max-width: 1080px) {
 .statsbox {
  min-width: 180px;
 }
}
@media (max-width: 650px) {
 .statsbox {
  float: none;
  margin: 0 auto;
  padding: 20px 0;
 }
}
.circular-progress{
    position: relative;
    height: 120px;
    width: 120px;
    border-radius: 50%;
    background: conic-gradient(var(--green) 3.6deg, var(--green) 0deg);
    display: flex;
    align-items: center;
    justify-content: center;
    margin:0 auto 20px auto;
}
.circular-progress::before{
    content: "";
    position: absolute;
    height: 112px;
    width: 112px;
    border-radius: 50%;
    background-color: var(--purple);
}
.progress-value{
    position: relative;
    font-size: 40px;
    color: #fff;
}
.circletext{
    font-size: 18px;
    color: #fff;
}

.homepageusp {
 min-height: 620px;
}
.uspboxarea {
 width: 95%;
 margin: auto;
}
.uspbox {
 text-align: left;
 width: 28%;
 margin: 30px 24px;
 float: left;
 height: 230px;
}
.uspboxleft {
 width: 80px;
 height: 80px;
 background-color: var(--green);
 border-radius: 50%;
 overflow: hidden;
 margin-right: 10px;
 position: relative;
 z-index: 1;
 float: left;
}
.uspboxleftblackcircle {
 width: 80px;
 height: 80px;
 background-color: var(--purple);
 border-radius: 50%;
 left:-80px;
 position: absolute;
 z-index: 2;
 transition: .3s ease;
}
.uspbox:hover .uspboxleftblackcircle {
  left: 0;
}
.uspboxleft {
 float: left;
}
.uspboxleft img {
 position: absolute;
 top: 20px;
 left: 20px;
 width: 40px;
 height: 40px;
 z-index: 3;
}
.uspboxright {
 float: left;
 width: calc(100% - 90px);
 overflow: hidden;
}
.uspboxright h2 {
 margin: 0;
 color: #686868;
 font-size: 18px;
}
.uspboxright p {
 font-size: 16px;
 color: #686868;
 margin-top: 8px;
}
@media (max-width: 1080px) {
 .uspbox {
  width: 42%;
  height: 300px;
 }
 .uspboxright h2 {
  font-size: 20px;
 }
 .uspboxright p {
  font-size: 18px;
 }
}
@media (max-width: 650px) {
 .uspbox {
  width: 86%;
  height: 240px;
 }
}

#archerteam {
 text-align: center;
 min-height: 412px;
 padding-top: 190px;
 background-image: url('../images/shopbg.jpg');
 clear: left;
}
#archerteam h1 {
 font-size: 40px;
 line-height: 60px;
 color: #fff;
}
@media (max-width: 1080px) {
 #archerteam {
  min-height: 230px;
  padding-top: 90px;
  margin-top: 30px;
 }
 #archerteam h1 {
  font-size: 30px;
  line-height: 35px;
 }
}
@media (max-width: 650px) {
 #archerteam {
  min-height: 190px;
  padding-top: 80px;
  margin-top: 30px;
 }
 #archerteam h1 {
  font-size: 16px;
  line-height: 24px;
 }
}

#currentproperties {
 margin-bottom: 60px;
}
#currentproperties h1 {
 font-size: 40px;
 padding: 20px 0 0 0;
 line-height: 42px;
 margin-bottom: 15px;
}
.propertybox {
 text-align: left;
 width: 30%;
 margin: 15px 14px;
 float: left;
 height: 370px;
 min-width: 290px;
 position: relative;
}
.propertybox .pricearea {
 color: var(--purple);
 font-size: 20px;
}
.lastpbox {
  display: none;
}
@media (max-width: 1080px) {
 #currentproperties h1 {
  font-size: 30px;
  line-height: 32px;
 }
 .propertybox {
  width: 44%;
 }
 .lastpbox {
  display: block;
 }
}
@media (max-width: 650px) {
 #currentproperties h1 {
  font-size: 20px;
  line-height: 22px;
 }
 .propertybox {
  width: 90%;
 }
}
.imgarea {
 overflow: hidden;
 height:232px;
 position: relative;
}
.imgarea img {
 object-fit: cover;
}
.slideshow {
 position: absolute;
 width:99999px;
}
.propertybox h2 {
 font-size: 20px;
 font-family: "ProximaNovaBold";
 line-height: 21px;
 color: var(--purple);
}
.theprice {
 position: absolute;
 bottom: 0;
 left: 0;
 font-weight: bold;
}
.pricearea a {
 position: absolute;
 right:0;
 bottom:-6px;
 color: #fff;
 background-color: var(--green);
 padding: 8px 12px;
 text-decoration: none;
 transition: .3s ease;
}
.pricearea a:hover {
 background-color: var(--purple);
}
.sliderContainer {
 display: none;
 position: relative;
 overflow: hidden;
 width:100%;
 height: 72vw;
}
.sliderContainer img {
 width: 100%;
 position: absolute;
 left:-100%;
}
.sliderContainer img:first-child {
 left:0;
}
.fswrapper {
 position: absolute;
 left: 0;
 top:-100px;
 width:calc(100vw - 20px);
}
.floatingslideshow {
  margin: 0;
  height: 100vh;
  display: none;
  align-items: center;
  justify-content: center;
}
.fscontainer {
  background-color: #ffffff;
  padding: 20px;
  border: 2px solid #ccc;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 1001;
}
.fsslides {
  position: relative;
  width: 80vw;
  height: 58vw;
  overflow: hidden;
  border-radius: 8px;
}
.fsslides img {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
}
.fsslides img.active {
  opacity: 1;
}
.fsslides .arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 28px;
  background-color: rgba(0, 0, 0, 0.3);
  color: white;
  border: none;
  padding: 8px 12px;
  cursor: pointer;
  z-index: 2;
  border-radius: 4px;
  transition: background 0.3s;
}

.fsslides .arrow:hover {
  background-color: rgba(0, 0, 0, 0.6);
}

.fsslides .arrow.left {
  left: 10px;
}

.fsslides .arrow.right {
  right: 10px;
}

.leftarrow,.rightarrow,.leftarrowbig,.rightarrowbig {
 top: 42%;
 width: 32px;
 opacity: 0.9;
 background-color: var(--purple);
 position: absolute;
 text-align: center;
 font-weight: bold;
 font-size: 30px;
 color: #fff;
 cursor: pointer;
}
.leftarrow,.leftarrowbig {
 left: -32px;
}
.rightarrow,.rightarrowbig {
 right: -32px;
}
.listingbanner {
 background-color: var(--green);
 color: #fff;
 position: absolute;
 top:10px;
 right:10px;
 z-index: 10;
 padding: 10px;
}
.searchbar {
 padding: 20px 0 0 0;
 position: fixed;
 width: 100%;
 z-index: 99;
}
.searchbar .constrainedwidth {
 position: relative;
}
.bigtoppadding {
 padding-top: 100px!important;
}
.valutionbanner {
 background-color: var(--purple);
 position: relative;
 color: #fff!important;
 padding:20px 50px;
 margin:20px 0;
}
.valutionbanner h3 {
 font-size: 50px!important;
 margin:0;
 line-height: 55px;
 color: #fff!important;
}
.valutionbanner p {
 font-size: 25px;
 margin:0;
}
.valutionbanner strong {
 font-family: "ProximaNovaBold";
}
.valutionbanner .greenbutton {
 position: absolute;
 right:50px;
 top:37px;
 border: 1px var(--green) solid;
}
.valutionbanner.smaller {
 padding:15px 30px;
}
.valutionbanner.smaller h3 {
 font-size: 26px!important;
 line-height: 30px;
}
.valutionbanner.smaller p {
 font-size: 15px!important;
}
.valutionbanner.smaller .greenbutton  {
 font-size: 15px!important;
 right:20px;
 top:17px;
}
@media (max-width: 1080px) {
 .searchbar {
  position: unset;
  padding: 70px 5px 20px 5px;
  width: calc(100% - 10px);
  margin-bottom: 20px;
 }
 .bigtoppadding {
  padding-top: 0!important;
 }
 .maincontent {
  margin-top: 0!important;
 }
 #saleform {
  margin:0!important;
 }
 .valutionbanner {
  padding:20px 10px;
 }
 .valutionbanner h3 {
  font-size: 30px;
  line-height: 46px;
 }
 .valutionbanner p {
  font-size: 15px;
 }
 .valutionbanner .greenbutton {
  right:10px;
  top:19px;
  padding: 13px 12px;
 }
 .valutionbanner.smaller .greenbutton {
  top:17px;
 }
 .displaylayout li {
  margin-bottom: 3px;
 }
}
@media (max-width: 650px) {
 .valutionbanner {
  text-align: center;
 }
 .valutionbanner h3 {
  font-size: 25px;
 }
 .valutionbanner .greenbutton {
  position: unset;
  display: inline-block;
  margin-top:10px;
 }
}

#socialmedia {
 color: #fff;
 background-color: var(--purple);
 margin-bottom: 70px;
}
#socialmedia .row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}
.column {
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
  flex: 1;
  min-height: 395px;
}
#socialmedia .column:first-child {
 flex-basis: 10%;
}
#socialmedia .leftcol {
 height: 100%;
 min-width: 300px;
 padding-top: 40px;
}
#socialmedia .leftcol p {
 width: 80%;
 margin: 20px auto;
 line-height: 25px;
}
#socialmedia .rightcol {
 height: 100%;
 background-repeat: no-repeat;
 background-size: cover;
 background-image: url('../images/devices.jpg');
}
.socialimg {
 width: 80%;
 margin: 70px auto 10px auto;
}
.socialimg img {
 float: left;
 margin: 0 35px 0 0;
 height: 105px;
 margin-bottom: 40px;
}
@media (max-width: 1080px) {
 #socialmedia {
  margin-bottom: 40px;
 }
 .socialimg {
  width: 85%;
 }
 .socialimg img {
  height: 80px;
  margin: 0 16px 20px 0;
 }
}
@media (max-width: 650px) {
 #socialmedia {
  margin-bottom: 30px;
 }
 #socialmedia .leftcol {
  padding-top: 10px;
 }
 #socialmedia .column:last-child {
  display:none;
 }
 .socialimg {
  width: 80%;
  margin: 30px auto 10px auto;
 }
}

.reviewslider {
 width:100%;
 position: relative;
}
.reviewsliderouter {
 width:calc(100% - 60px);
 margin: 0 auto;
 overflow: hidden;
 position: relative;
}
.reviewsliderinner {
 width:1650px;
 position: relative;
 left: 0;
}
.reviewsliderleftarrow,.reviewsliderrightarrow {
 width: 30px;
 height: 230px;
 position: absolute;
 left: 0;
 display: block;
 padding-top: 150px;
 text-align: center;
 font-size: 55px;
 font-weight: bold;
 cursor: pointer;
}
.reviewsliderrightarrow {
 right: 0;
 left: auto;
}
#reviews h1 {
 font-size: 40px;
 line-height: 40px;
 margin-bottom: 70px;
}
@media (max-width: 1080px) {
 #reviews h1 {
  font-size: 30px;
  line-height: 32px;
  margin: 0 5px;
 }
}
@media (max-width: 650px) {
 #reviews h1 {
  font-size: 20px;
  line-height: 22px;
  margin: 0 5px;
 }
}
.bubblecontainer {
 float: left;
 width:330px;
 position: relative;
 height:340px;
 margin-bottom: 40px;
}
.bubble {
   position: relative;
   width: 250px;
   height: 250px;
   padding: 20px;
   margin: 20px;
   background: #fff;
   border-radius: 10px;
   border: #D6D2D2 solid 1px;
}
.bubble:after {
    content: '';
    position: absolute;
    border-style: solid;
    border-width: 20px 15px 0;
    border-color: #fff transparent;
    display: block;
    width: 0;
    z-index: 1;
    margin-left: -15px;
    bottom: -20px;
    left: 15%;
}
.bubble:before {
    content: '';
    position: absolute;
    border-style: solid;
    border-width: 20px 15px 0;
    border-color: #D6D2D2 transparent;
    display: block;
    width: 0;
    z-index: 0;
    margin-left: -15px;
    bottom: -21px;
    left: 15%;
}
.bubble .bubblescore {
 position: absolute;
 right: 10px;
 bottom: 10px;
}
.reviewer {
 position: absolute;
 left: 50px;
}

footer {
/* margin-top: 40px; */
 clear: left;
}
footer nav {
 text-align: center;
}
footer nav a {
 margin: 20px 10px;
 width: 275px;
 display: inline-block;
}
footer nav a:hover {
 background-color: var(--green);
}
footer .credentials {
 clear: left;
 margin: 0 auto;
 padding: 30px 0 50px 0;
 text-align: center;
}
footer .credentials a {
 width:19%;
 display: inline-block;
}
footer .credentials a img {
 width:80%;
}
footer .bottomlinks {
 background-color: var(--purple);
 color: #fff;
 font-size: 16px;
 padding: 20px 20px 5px 20px;
}
footer .bottomlinks a {
 text-decoration: none;
 color: #fff;
}
footer .footer-menu {
 list-style: none;
 padding-left: 0;
}
footer .footer-addresses {
 color:#aaa;
}
footer .bottomlinks a:hover {
 text-decoration: underline;
}
footer .greybg {
 padding-top: 40px;
}
footer .footleft {
 width:500px;
 float:left;
}
footer .footright {
 max-width:580px;
 float:left;
}
@media (max-width: 540px) {
 footer .footleft,footer .footright {
  width:100%;
  float:none;
 }
}

.warning {
 color: #f00;
 font-weight: bold;
}
.modal-form {
 display: none;
 z-index: 102;
 background-color: #fff;
 border-radius: 8px;
 top: 50%;
 left: 50%;
 width: 80%;
 transform: translate(-50%,-50%);
 overflow-x: hidden;
 overflow-y: auto;
 position: fixed;
}
@media (max-width: 430px) {
 .modal-form {
  width: 100%;
  transform: translate(0,0);
  top:0;
  left:0;
  position: absolute;
 }
}
.modal-body {
 padding: 10px;
 position: relative;
 flex: 1 1 auto;
}
.modal-header h5 {
 text-align: center;
 font-size: 16px;
 margin: 12px 0 20px 0;
 padding-bottom: 12px;
 border-bottom: 1px #ccc solid;
}
.modalbg {
 position: absolute;
 top:-120px;
 left: 0;
 display: none;
 width: 100%;
 height: calc(100% + 120px);
 z-index: 101;
 background-color: #000;
 opacity: 0.5;
}
.modal-header button {
 position: absolute;
 top:8px;
 right: 8px;
}
.modal-content {
 position: relative;
 display: flex;
 flex-direction: column;
 width: 100%;
 pointer-events: auto;
 background-color: #fff;
 background-clip: padding-box;
 border: 1px solid rgba(0,0,0,.2);
 border-radius: .3rem;
 outline: 0;
}
.modal-content fieldset {
 border: 0;
 margin-top: 20px;
}
.modal-content label {
 font-weight: bold;
 margin-bottom: 15px;
}
.modal-content .row {
 margin-bottom: 15px;
 display: flex;
 flex-wrap: wrap;
 margin-right: -15px;
 margin-left: -15px;
}
.modal-content .col {
 flex-basis: 0;
 flex-grow: 1;
 max-width: 100%;
 position: relative;
 width: 100%;
 padding-right: 15px;
 padding-left: 15px;
}
.modal-content .col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}
@media (max-width: 430px) {
 .modal-content .row {
  margin-bottom: 5px;
 }
 .modal-content input[type=text],.modal-content input[type=email],.modal-content input[type=tel] {
  width: 85%;
  padding: 2px 2px;
 }
 .modal-content .col {
  padding-right: 10px;
  padding-left: 10px;
 }
 .modal-content .d-block {
  margin-top: 2px;
 }
}
@media (min-width: 992px) {
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-lg-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
}
.modal-content input[type=text],.modal-content input[type=email],.modal-content input[type=tel] {
 width: calc(100% - 20px);
}
.modal-content input {
 overflow: visible;
}
.modal-content button, .modal-content input, .modal-content optgroup, .modal-content select, .modal-content textarea {
 margin: 0;
 font-size: inherit;
 line-height: inherit;
}
.modal-content .d-block {
 margin-top: 10px;
 display: block !important;
}
.modal-content input[type=radio] {
 margin-left: 15px;
}
.modal-content .w-100 {
 width: 100%;
}
.modal-content textarea {
 min-height: 60px;
 width: calc(100% - 20px) !important;
 overflow: auto;
 resize: vertical;
 margin: 0 0 0 10px;
 font-size: inherit;
 line-height: inherit;
}
.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: .375rem .75rem;
  font-size: 1rem;
  line-height: 1.5;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  border-radius: 0;
  text-decoration: none;
}
.btn-green {
  background: var(--green);
  color: #fff;
}
.tu {
 text-transform: uppercase;
}
.btn:hover {
 background-color: var(--purple);
}


.maincontent {
 padding:20px;
 margin-top: 60px;
}
.cmspages h2 {
 color: var(--purple);
 margin: 30px 0;
 font-size: 28px;
 font-weight: 700;
 font-family: "ProximaNovaBold", Tahoma, Verdana, Geneva, sans-serif;
}
.cmspages h3 {
 line-height: 25px;
}
.cmspages p {
 line-height: 150%;
}

.page-title {
	font-size: 64px;
	line-height: 100%;
	color: var(--purple);
	margin-bottom: 35px;
}
@media (max-width: 430px) {
 .page-title {
	 font-size: 45px;
 }
}
.purplecolumn {
  float: left;
  width: 100%;
  text-align: left;
  margin-top: 0;
  margin-right: 1px;
  margin-left: 0px;
  margin-bottom: 0;
}
.purplecolumn h2 {
	font-size: 28px;
	color: var(--purple);
	margin-bottom: 0;
	line-height: 125%;
	padding: 10px 10px 0 10px;
	margin-top: 15px;
	margin-right: 15px;
	margin-left: 15px;
}
.purplecolumn p {
  margin-bottom: 15px;
  line-height: 150%;
  padding: 0 10px;
  margin-top: 15px;
  margin-right: 15px;
  margin-left: 15px;
}

.toletforsale {
 list-style: none;
 padding: 0;
}
@media (max-width: 1080px) {
 .toletforsale {
  margin-top:0;
 }
}
.toletforsale li,.view {
 display: inline-block;
 background-color: #eee;
 text-align: center;
 color: #666;
 border: solid #ddd 1px;
 padding: 4px;
 font-weight: bold;
 width:110px;
 cursor: pointer;
 transition: .3s ease;
}
.toletforsale li:hover, .toletforsale li.active {
 background-color: var(--purple);
 color: #fff;
}
#saleform {
 display: flex;
 flex-flow: row;
 margin:20px 0;
}
#saleform input[name=criteria] {
 width:calc(100% - 690px);
}
#saleform select {
 border: none;
 margin: 0px;
 width: 110px;
 text-align: center;
 height: 28px;
 background-color:#eee;
}
@media (max-width: 750px) {
 #saleform {
  display: inline-block;
 }
 #saleform input[name=criteria] {
  width:calc(100% - 10px);
  height: 25px;
  margin-bottom: 3px;
 }
 #saleform select {
  margin-bottom: 3px;
 }
}
.sale {
 display: none;
}
.purplebutton {
 background-color: var(--purple);
 color: #fff;
 border: solid #ddd 1px;
 padding: 4px;
 font-weight: bold;
 width:110px;
}
.displaylayout {
 list-style: none;
 padding: 0;
}
.displaylayout li {
 display: inline-block;
 margin-right: 20px;
}
.view {
 width: 70px;
}
.view:hover,.view.active {
 background-color: #666;
 color: #fff;
}
#maparea {
 height: 600px;
 display: none;
}
#pages {
 clear: left;
}
.pagination {
  margin-right: 20px;
  font-size: 18px;
  padding-left: 0;
  list-style: none;
}
.pagination li:first-child,.previouspg {
  border-left: none !important;
}
.pagination li {
  padding: 0 10px;
  border-left: 1px solid #333;
  display: inline-block;
}
.pagination li a {
  color: #333;
  text-decoration: none;
}
.pgbuttons {
 display: flex;
 justify-content: flex-end;
 clear: left;
 align-items: center;
}
#viewall {
 text-align: center;
 text-decoration: none;
 transition: .3s ease;
}
#viewall:hover {
 background-color: var(--green);
}
#pages .active {
 color: var(--green);
}
#pages a:hover {
 color: var(--green);
}

.bigslideshow {
 margin-top: 120px;
}
.topimagearea {
 position: relative;
}
.topimages {
 display: flex;
 gap: 10px;
 width: 100%;
 margin: auto;
 position: relative;
}
.largetopimage {
 width: 60%;
 height: auto;
 object-fit: cover;
}
.smalltopimages {
 display: flex;
 flex-direction: column;
 gap: 10px;
 width: 40%;
}
.smalltopimages img {
 width: 100%;
 height: auto;
 object-fit: cover;
}
.picbuttons {
 position: absolute;
 bottom: 10px;
 left:0;
 width: 70%;
 margin-left: 10px;
}
.picbuttons a {
 display: inline-flex;
 background-color:#fff;
 color: #000;
 margin:0 1px;
 padding: 5px;
 text-decoration: none;
 transition: .3s ease;
 align-items: center;
}
.picbuttons a:hover {
 background-color: var(--green);
 color: #fff;
}
.picbuttons img {
 margin-right: 5px;
}
.price {
 font-size: 24px;
 font-weight: bold;
}
.tenancyinfobutton {
 font-family: "ProximaNovaBold";
 text-decoration: none;
 color: var(--green);
}
.tenancyinfobutton:hover {
 text-decoration: underline;
}
.thumbcontainer {
 position: relative;
}
.thumbs {
 width: calc(100% - 90px);
 overflow: hidden;
 position: relative;
 margin: 20px auto 0 auto;
 clear: left;
}
.thumbslider {
 top: 0;
 left: 0;
 white-space: nowrap;
 position: relative;
}
.thumbslider img {
 opacity: 0.5;
 transition: .3s ease;
}
.thumbslider img:first-child {
 opacity: 1;
}
.thumbleftarrow,.thumbrightarrow {
 height: 40px;
 top: 36%;
 width: 40px;
 opacity: 0.9;
 background-color: var(--purple);
 position: absolute;
 text-align: center;
 font-weight: bold;
 font-size: 35px;
 color: #fff;
 cursor: pointer;
}
.thumbleftarrow {
 left: 0;
}
.thumbrightarrow {
 right: 0;
}
.propdetails {
 line-height: 23px;
 margin: 25px 0;
}
.propdetails h1 {
 line-height: 26px;
}
.propwrapper {
 display: flex;
 justify-content: space-between;
}
.propdesc {
 width: calc(60% - 20px);
 padding: 0 10px 20px 10px;
/*
 display: flex;
 flex-direction: column;
*/
}
.propdesc h1 {
 text-align: left;
 font-family: "ProximaNovaBold";
 font-size: 30px;
 margin-top: 0;
}
.propdesc h2 {
 font-size: 20px;
 color:var(--purple);
}
.propdesc h3 {
 font-family: "ProximaNovaBold";
 font-size: 24px;
 color:var(--purple);
}
.propdesc h4,.map h4 {
 font-family: "ProximaNovaBold";
 font-size: 26px;
 color:var(--purple);
 text-align: left;
 margin: 0 0 20px 0;
}
.propdesc hr {
 width: 100%;
 color: #eee;
}
.keyfeatures {
 margin-top:50px;
}
.keyfeatures ul {
 list-style: none;
 padding: 0;
 margin: 0 30px 0 0;
 font-size: 20px;
 color:var(--purple);
 float: left;
}
.keyfeatures li::before {
 content: '✔';
 display: block;
 float: left;
 width: 1.2em;
 color: #00AA00;
}
.keyfeatures li {
 margin-bottom: 10px;
}
.floatrightbox {
 width: calc(40% - 83px);
 top:100px;
 position: -webkit-sticky;
 position: sticky;
 height:100%;
 background-color: #eee;
 padding:20px;
}
@media (max-width: 940px) {
 .picbuttons {
  position:unset;
  width:calc(100% - 20px);
  margin-right: 10px;
 }
 .topimages,.slideshowbutton {
  display: none!important;
 }
 .sliderContainer {
  display: block;
 }
 .propwrapper {
  display: block;
 }
 .propdesc {
  width:calc(100% - 20px);
 }
 .floatrightbox {
  width:calc(100% - 40px);
  position:inherit;
 }
}
.propfeatures {
 background-color: var(--purple);
 padding: 40px 0 0 0;
}
.propfeatures a,.propfeatures span {
 align-items: center;
 display: flex;
 text-decoration: none;
 color: #fff;
 text-transform: uppercase;
 font-size: 18px;
}
.propfeatures a:hover {
 text-decoration: underline;
}
.propfeatures img {
 width: 50px;
 height: 50px;
 margin-right: 20px;
}
.propfeature {
 margin-bottom: 40px;
 float: left;
 width: calc(33% - 15px);
 padding-left: 15px;
}
.sharedropdown {
 top: 50px;
 left: 25px;
 display: none;
 list-style: none;
 position: absolute;
 margin: 0;
 padding: 5px;
 background-color: #fff;
}
.sharedropdown li {
 margin: 10px;
}
.sharedropdown li img {
 margin-right: 10px;
 width: 20px;
 height: 20px;
}
.sharedropdown a {
 color: #000;
}
.pf-request-viewing-button {
 margin-top: 20px;
 font-size: 15px;
 font-weight: bold;
 padding: 12px 50px;
}
.floatrightbox .pf-request-viewing-button {
 margin-top: 0;
 width: calc(100% - 20px);
 font-size: 26px;
 padding: 12px 10px;
}
.telbutton {
 margin: 20px 0;
 width: calc(100% - 22px);
 font-size: 26px;
 padding: 17px 10px;
 font-weight: bold;
 border: 2px solid var(--green);
 color: var(--green);
 text-decoration: none;
 display: block;
 text-align: center;
 transition: .3s ease;
}
.telbutton:hover {
 background-color: var(--purple);
 color: #fff;
 border-color: var(--purple);
}
.floatrightbox h5 {
 font-size: 24px;
 font-family: "ProximaNovaBold";
 font-weight: normal;
 margin:0;
 padding: 8px 0 0 5px;
}
.floatrightbox p {
 font-size: 24px;
 line-height: 28px;
 margin:0;
 padding: 0 0 25px 5px;
}
.telemail {
 font-family: "ProximaNovaBold";
 padding: 15px 0 25px 5px!important;
 border-bottom: 1px solid var(--green);
}
.telemail a {
 color: #000;
 text-decoration: none;
}
.telemail a:hover {
 text-decoration: underline;
}
.share {
 font-size: 24px;
 margin: 20px 0 0 0;
 display: flex;
 align-items: center;
 justify-content: left;
}
.share img {
 height: 60px;
 margin: 0 10px 0 0;
}
.share img.firstimg {
 margin-left: 40px;
}
@media (max-width: 1080px) {
 .bigslideshow {
  margin-top: 80px;
 }
 .mainimage {
  float: none;
  width: 95%;
 }
 .sideimages {
  float: none;
  width: calc(100% - 20px);
  text-align: center;
 }
 .floatrightbox {
  top:70px;
 }
}
@media (max-width: 650px) {
 .propdesc {
  width: 95%;
  float: none;
  padding: 0;
  margin:0 auto;
 }
 .keyfeatures {
  float: none;
  width: 95%;
  padding-left: 0;
  margin:0 auto;
 }
 .propfeatures {
  padding-bottom: 1px;
 }
 .propfeature {
  float: none;
  width: auto;
 }
}

.feescolumn {
 float: left;
 width: 268px;
 text-align: center;
 height:895px;
 margin:0 1px;
}
.double {
 width: 560px;
}
.feescolumn h3 {
 font-size: 22px;
 color: #fff;
 background-color: #599531;
 padding:5px;
}
.feescolumn h4 {
 font-size: 16px;
 color: var(--purple);
 margin-bottom: 0;
 line-height: 18px;
 border-top: solid 2px #fff;
 margin-top: 0;
 padding: 10px 10px 0 10px;
}
.feescolumn p {
 margin-bottom: 10px;
 line-height: 18px;
 padding:0 10px;
}
.tablewithborders {
 font-size: 12pt;
 border: 2px solid #000;
 border-color: #3c2851;
 background-color: #effcd0;
}
.tablewithborders td {
 padding: 3px;
 border: 1px solid #000;
}
.tablewithborders p {
 font-size: 12pt;
}
.rentarrearstable {
 width:100%;
 border-spacing: 0 5px;
 border-collapse: separate;
 font-size: 22px;
}
.rentarrearstable th {
 background-color: #e6e3ea;
 color:#3c2851;
 padding: 30px 5px 20px 5px;
 text-align: center;
}
.rentarrearstable h3 {
 font-size: 30px;
 line-height: 100%;
 padding-bottom: 10px;
 margin:0;
}
.rentarrearstable h4 {
 font-size: 22px;
 font-weight: normal;
}
.rentarrearstable td {
 color:#fff;
 padding: 20px 10px;
 background-color: #624d70;
}
.rentarrearstable tr td:nth-of-type(2) {
 background-color: #96b65c;
 text-align: right;
}
.rentarrearstable tr:last-child td {
 background-color: #3c2851;
}
.rentarrearstable tr:last-child td:nth-of-type(2) {
 background-color: #74a637;
}

.branchbox {
 width:calc(50% - 20px);
 float: left;
 padding: 10px;
 margin-bottom: 20px;
}
.branchbox img {
 width:100%;
 height: 400px;
 object-fit: cover;
 border-bottom: 2px solid #000;
 padding-bottom: 10px;
}
.branchbox h4 {
 text-align: left;
 font-weight: bold;
 font-size: 22px;
 border-bottom: 2px solid #ccc;
 padding:4px 0;
 margin:0;
}
@media (max-width: 650px) {
 .branchbox {
  width:calc(100% - 20px);
  float: none;
  padding: 0 10px;
 }
 .branchbox img {
  width:100%;
  height: 250px;
  object-fit: cover;
 }
}

.siteforms {
    background: var(--purple);
    padding: 15px 20px 50px;
    color: #fff;
}
.siteforms h3 {
 font-size: 40px;
 margin-bottom: 50px;
}
.siteforms form input[type="text"],.siteforms form input[type="email"],.siteforms form input[type="tel"] {
    width: calc(100% - 50px);
    padding: 10px;
}
.siteforms form textarea {
    min-height: 300px;
    padding: 5px;
    width: calc(100% - 50px);
}
.siteforms .warning,#cfsent {
 display: none;
}
.siteforms label {
 padding-bottom: 10px;
 display: block;
}
.twocol {
 display: flex;
 flex-wrap: wrap;
}
.field {
  margin-bottom: 20px;
}
.twocol .field {
  width: 50%;
  box-sizing: border-box;
  margin-bottom: 30px;
}
.siteforms .constrainedwidth {
 position: relative;
}
.siteforms {
  display: none;
}
.nohide {
  display: block;
}
#vfclose,#cfclose {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 60px;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
}
@media (max-width: 650px) {
 .twocol .field {
  width: 100%;
 }
}

.halfcol {
 width:50%;
 float: left;
}
.halfcol:first-of-type {
 margin-bottom: 60px;
}
.halfcol label,#cmscontactform label {
 display: block;
 margin: 15px 0 5px 0;
 font-size: 14px;
}
.halfcol input[type=text],.halfcol input[type=email],.halfcol input[type=tel],.halfcol textarea {
 width: 90%;
 padding:5px;
 margin: 5px;
}
.forcefullwidth {
 width: 100vw;
 left: calc(50% - 50vw);
 position: relative;
 text-align: center;
}
@media (max-width: 850px) {
 .halfcol {
  width:100%;
  float: none;
 }
}

#cmscontactform {
 color: #fff;
 background-color: var(--purple);
 margin-bottom: 30px;
 padding-bottom: 30px;
}
#cmscontactform h1 {
 color: #fff;
 font-size: 40px;
 text-align: left;
 padding-top:30px;
}
#cmscontactform input[type=text],#cmscontactform input[type=email],#cmscontactform input[type=tel],#cmscontactform textarea {
 width: 90%;
 padding:5px;
 display: block;
 margin: 0;
 font-size: 14px;
}
#cmscontactform textarea {
 width: 95%;
 height: 200px;
}
#cmscontactform .halfcol:first-of-type {
 margin-bottom: 0;
}
#cmscfsent,#thecmscontactform .warning {
 display: none;
}
@media (max-width: 1130px) {
 #cmscontactform {
  padding: 0 20px 30px 20px;
 }
}
@media (max-width: 850px) {
 #cmscontactform input[type=text],#cmscontactform input[type=email],#cmscontactform input[type=tel],#cmscontactform textarea {
  width: 95%;
 }
}
.redbg {
 background-color: #c00;
}
#affordcalc .header {
 background-color: var(--purple);
 padding:1px;
 color: #fff;
 text-align: center;
 font-size: 30px;
}
#affordcalc .main {
 padding:15px;
 text-align: center;
 font-size: 20px;
}
#affordcalc .calcbig {
 font-size: 40px;
 font-weight: bold;
}
#affordcalc .main input[type=number] {
 height:40px;
 border: #000 solid 1px;
 font-size: 30px;
 width:150px;
}
#acresult {
 display: none;
}
.propbanner {
 overflow: hidden;
 text-align: center;
}
