*{
  margin: 0;
  padding: 0;
  box-sizing:border-box;
}

body{
  font-family:'Raleway',sans-serif;
  font-size: 17px;
  line-height:25px;
  font-weight:400;
  color:#404040;
}

img{
  border: 0;
  max-width:100%;
}

a{
  text-decoration: none;
  cursor:pointer;
  transition:.7s color;
  color:#404040;
}
a:focus{
  outline: none;
}
a:hover{
  transition:.3s color;
}

h1{
  font-size: 35px;
  line-height:35px;
  font-weight:700;
  margin-bottom: 15px;
}

h2,h3{
  font-size: 25px;
  font-weight:400;
  margin-top: 50px;
  margin-bottom: 10px;
}
h2:first-child{
  margin-top:0;
}
h2{
  font-weight:700;
}
p{
  margin-bottom: 15px;
}

ul, ol{
  margin: 0 0 15px 30px;
}

.clear{ clear:both; }

.container{
  width:90%;
  margin: 0 auto;
  max-width: 1000px;
}

.header{
  padding-top: 10px;
  margin-bottom: 20px;
}
.header h1{
  float:left;
}
.header ul{
  float:right;
  list-style-type:none;
  margin:70px 0 0 0;
}
.header ul li{
  display: inline;
}
.header ul li a{
  margin-left: 15px;
  color:#404040;
  font-size: 15px;
  font-weight:400;
}
.header ul li a.current{
  color: #262262;
  font-weight: 700;
}
.header ul li a:hover{
  color:#262262;
}

.block{
  position:relative;
  background-size:cover;
  background-position:center center;
  height: 500px;
  margin-bottom: 30px;
}
.block .vcenter{
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  text-align:center;
  z-index:5;
}
.block.short{
  height:auto;
  padding: 30px 0;
}
.block.short .vcenter{
  position:relative;
  transform:none;
}

.block .vcenter.home h2{
  text-align:center;
  color:#FFF;
  font-weight:400;
  font-size: 30px;
  line-height:30px;
  margin: 0 0 20px 0;
}

.box{
  display:inline-block;
  margin: 0 auto;
  background-color: rgba(0,0,0,.4);
  border: 2px solid #FFF;
  width: 50%;
  color:#FFF;
  text-align:left;
}
.box.narrow{
  width: 400px;
  max-width: 80%;
}

.box .fields{
  padding: 10px;
}
.box .fields + .fields{
  border-top:2px solid #FFF;
}
.box .fields .input, .box .fields .select{
  border:0;
  background-color:#FFF;
  width:49%;
  height: 40px;
  color:#404040;
  font-family:'Raleway',sans-serif;
  font-size: 17px;
  padding: 0 10px;
}
.box .fields .select{
  margin-right: 2%;
}
.box .fields .select.wide{
  margin:0;
  width:100%;
  text-transform:uppercase;
  font-size: 30px;
  font-weight:700;
  color:#FFF;
  background:none;
  padding:0;
  background-image: url(/images/arrow.png);
  background-repeat: no-repeat;
  background-position: right center;
}
.box .fields .select.wide option{
  font-size: 15px;
  color:#000;
}
.button{
  display:block;
  width:100%;
  height: 40px;
  border:0;
  background-color:#737373;
  color:#FFF;
  font-family:'Raleway',sans-serif;
  font-size: 17px;
  margin-top: 10px;
  cursor:pointer;
  transition:.7s background-color;
  opacity:.9;
}
.button:hover{
  background-color:#262262;
  transition:.3s background-color;
}

.button.main-button{
  opacity:1;
  margin: 15px 0;
  text-align:center;
  height: 40px;
  line-height:40px;
}

.box h3{
  font-weight:700;
  font-size: 35px;
  line-height:35px;
  text-transform:uppercase;
  margin:0;
}

.smallblocks .block{
  float: left;
  width: 32%;
  height: 250px;
  margin-right: 2%;
  margin-bottom:15px;
  font-size: 15px;
}
.smallblocks .block:nth-child(3n+3){
  margin-right:0;
}
.smallblocks .box{
  text-align:left;
}
.smallblocks .box h3{
  font-size: 25px;
  line-height:25px;
}

a.block{
  display:block;
}


.content{
  color:#404040;
}
.content.centered{
  text-align:center;
  max-width: 650px;
  margin: 0 auto;
}
.content.margined{
  margin-top: 50px;
  margin-bottom: 50px;
}


.listings .listing{
  display:block;
  float:left;
  width: 32%;
  height:230px;
  margin-right: 2%;
  margin-bottom: 20px;
  position:relative;
  background-size:cover;
  background-position:center center;
}
.listings .listing:nth-child(3n+3){
  margin-right:0;
}

.fade{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background-color:rgba(0,0,0,.5);
  z-index:1;
  opacity:0;
  transition:2s opacity;
}
a:hover .fade{
  opacity:1;
  transition:.3s opacity;
}

.listings .listing .details{
  display:block;
  position: relative;
  z-index:2;
  top: 50%;
  transform: translateY(-50%);
  text-align:center;
  padding: 0 10px;
}
.listings .listing .details span{
  display:block;
  color:#FFF;
  width:100%;
  text-align:center;
  font-size: 14px;
  line-height:14px;
  text-shadow: 0 0 5px #000;
}
.listings .listing .details .region{
  text-transform:uppercase;
}
.listings .listing .details .title{
  font-size: 25px;
  line-height:25px;
  margin: 10px 0;
}

.listings .listing .specs{
  position:absolute;
  left:0;
  bottom:10px;
  font-size: 17px;
  color:#FFF;
  font-weight:700;
}
.listings .listing .specs i{
  margin-left: 10px;
  font-size: 21px;
  vertical-align:middle;
}



.listings.buttons .listing .details .title{
  font-size: 35px;
  line-height: 35px;
}
.listings.buttons .fade{
  background-color:rgba(0,0,0,.2);
  opacity: 1;
  transition:2s background-color;
}
.listings.buttons a:hover .fade{
  background-color:rgba(0,0,0,.5);
  transition:.3s background-color;
}



.footer{
  border-top: 1px solid #CCC;
  margin-top: 50px;
  padding: 20px 0;
}
.footer .footerlogo{
  float:left;
}
.footer .contactdetails{
  margin: 0 0 0 100px;
  line-height:30px;
}
.footer a{
  color:#404040;
}
.footer a:hover{
  color: #262262;
}

.footer .copy{
  font-size: 11px;
  padding-top:15px;
}
.footer .copy a{
  color:#404040;
}
.footer .highlanders{
  float:right;
}
.footer .dunedin{
  float:right;
  margin-right: 25px;
}

.accordion .accordiontoggle{
  background-color: rgba(0,0,0,.05);
  height: 50px;
  line-height:50px;
  padding: 0 10px;
  cursor:pointer;
  transition:.7s background-color;
  margin-top: 20px;
}
.accordion .accordiontoggle h2{
  font-size: 30px;
  font-weight:400;
  margin-top:0;
}
.accordion .accordiontoggle img{
  float:right;
  width: 30px;
  height:30px;
  margin-top:10px;
  transform: rotate(-90deg);
  transition:.3s transform;
}
.accordion .accordiontoggle:hover{
  background-color: rgba(0,0,0,.1);
  transition:.3s background-color;
}

.accordion .accordiontoggle.spin img{
  transform: rotate(0deg);
  transition:.3s transform;
}

.accordion .accordioncontent{
  margin: 10px 0 20px 0;
}
.columns{
  column-count: 3;
  column-gap: 40px;
}
.accordion.faq .accordiontoggle{
  background: none;
  height: auto;
  line-height:25px;
  padding: 0;
  cursor:pointer;
  margin-top: 15px;
}
.accordion.faq .accordiontoggle img{
  display:none;
}
.accordion.faq .accordioncontent{
  background-color:#f1f1f1;
  padding: 10px;
}


.contact{
  background-color: rgba(0,0,0,.05);
  padding: 15px;
  margin-top: 20px;
}
.contact .twothirds{
  float:left;
  width: 60%;
}
.contact .third{
  float:right;
  width:38%;
}
.contact label{
  display:block;
  font-weight:700;
  font-size: 15px;
  line-height:20px;
}
.contact textarea, .contact input{
  width:100%;
  border:1px solid #CCC;
  padding: 10px;
  font-family:'Raleway',sans-serif;
  font-size: 16px;
}
.contact input{
  margin-bottom:10px;
}
.contact textarea{
  height: 283px;
}
.check{
  position:absolute;
  left: -10000px;
}
.error{
  background-color: #E8A12B;
  padding: 10px;
  color:#FFF;
  text-align: center;
}

.photos{
  margin-bottom: 30px;
}

.photos .thumbs{
  margin-top: 15px;
}
.photos .thumbs a{
  display:block;
  float:left;
  width: 19%;
  margin-right: 1.25%;
  position:relative;
}
.photos img{
  display:block;
  width:100%;
}
.photos .thumbs a:nth-child(5){
  margin-right:0;
}
.photos .thumbs a .more{
  display:block;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color:rgba(0,0,0,.5);
  color:#FFF;
  text-align:center;
  line-height:100%;
}
.photos .thumbs a .more .vcenter{
  display:block;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}


.propertylisting .details{
  float: left;
  width: 65%;
}

.propertylisting .specs .spec{
  margin-left: 15px;
}
.propertylisting .specs .spec:first-child{
  margin-left:0;
}

.bedrooms{
  display:flex;
  flex-wrap:wrap;
}
.bedrooms .bedroom{
  width: 32%;
  margin-right: 2%;
  border: 1px solid #CCC;
  padding: 10px;
  margin-bottom: 15px;
}
.bedrooms .bedroom:nth-child(3n+3){
  margin-right:0;
}
.bedrooms .bedroom i{
  font-size: 35px;
  margin-right:20px;
}
.bedrooms .bedroom .label{
  font-weight:700;
  margin-bottom: 0px;
}
.bedrooms .bedroom .beds{
  margin-bottom:0;
}

.amenities{
  display:flex;
  flex-wrap:wrap;
  margin-bottom: 40px;
}
.amenities .amenity{
  width: 32%;
  margin-right: 2%;
  margin-bottom: 15px;
}
.amenities .amenity:nth-child(3n+3){
  margin-right:0;
}
.amenities img{
  vertical-align:bottom;
}

.map{
  font-size: 13px;
}
.map iframe{
  height: 45vh;
  width:100%;
  border:0;
}

.propertylisting .book{
  float:right;
  width: 30%;
}

.propertylisting .book .tab{
  display: block;
  float:left;
  width: 49%;
  background-color: #737373;
  color:#fff;
  text-transform:uppercase;
  text-align:center;
  line-height:35px;
  position:relative;
  z-index:2;
}
.propertylisting .book .tab:first-child{
  margin-right:2%;
}

.propertylisting .book .form{
  clear:both;
  border: 1px solid #CCC;
  padding: 15px;
  position:relative;
  z-index:1;
  top:-1px;
  text-align:center;
  display:none;
  font-size:15px;
  overflow-x:hidden;
}
.propertylisting .book .form .price{
  font-size: 25px;
  font-weight:700;
  color:#000;
}

.propertylisting .book .form .button{
  display:block;
  text-align:center;
  padding: 8px;
  transition:.7s background-color, .7s background-color;
}
.propertylisting .book .form .button:hover{
  background-color:#262262;
  color:#FFF;
  transition:.3s background-color, .3s color;
}

.propertylisting .book .tab.selected{
  background-color:#FFF;
  color:#737373;
  border: 1px solid #CCC;
  border-bottom:0;
}
.propertylisting .book .form.selected{
  display:block;
}

.propertylisting .book .input, .propertylisting .book .textarea, .propertylisting .book .select{
  width: 100%;
  border: 1px solid #CCC;
  margin-bottom: 15px;
  padding: 10px;
  color:#404040;
  font-family:'Raleway',sans-serif;
  font-size: 14px;
}
.propertylisting .book .input::placeholder, .propertylisting .book .textarea::placeholder{
  color:#CCC;
}


.propertylisting .book .textarea{
  height:100px;
}

.contactpage .contactdetails{
  float:right;
  width: 30%;
}
.contactpage .contactmap{
  width: 65%;
}
.contactpage .contactmap iframe{
  width:100%;
  height: 440px;
  max-height: 60vh;
}

.desktopgone{ display:none; }

.imagecredit{
  float:right;
}

.review{
  margin-top: 25px;
  font-weight:300;
  font-size: 16px;
  line-height: 22px;
  text-align:center;
}
.review.centered{
  text-align:center;
  margin: 25px auto 0 auto;
  max-width: 600px;
}
.review .reviewname{
  color:#333;
  font-size: 14px;
  font-weight:400;
}
