/* #Site Styles
================================================== */

.hide-desktop {
  display: none !important;
}

.hide-desktop-sr {
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
}

.secondary.module .tabs.three a:last-of-type {
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .tabs.three a {
    width: 50% !important;
  }
  .secondary.module .tabs.three a:last-of-type {
    width: 50%;
  }
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin-bottom: -5px;
  z-index: 0;
}

.video-wrapper iframe,
.video-wrapper object,
.video-wrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 90%;
  height: 90%;
}

.screen-reader-text {
  position: absolute;
  top: -9999px;
  left: -9999px;
}

.container,
.columns {
  max-width: 100%;
}

.flex {
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex;
}

/* ::::::::: GDPR Styles ::::::::: */

.wpcf7 .pop-up-wrap {
  position: relative;
  display: block;
}

.wpcf7 .pop-up-field {
  display: none;
  position: absolute;
  top: -38px;
  left: 0px;
  padding: 7px 5px;
  background-color: #371a43;
  width: 100%;
}

h3.accordion-title {
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

h3.accordion-title:hover {
  color: #9baad5;
}

h3.accordion-title.open:hover {
  color: #371a43;
  cursor: auto;
}

h3.accordion-title:focus {
  outline: none;
}

/* ::::::::: Header Styles ::::::::: */

header {
  background: #371a43;
  padding: 20px;
  position: fixed;
  width: 100%;
  z-index: 10;
}

header .site-logo {
  background: #371a43;
}

header h1 {
  margin-bottom: 0;
}

header h1 a {
  display: inline-block;
}

header h1 a img {
  display: block;
}

header a {
  color: #fff;
  text-decoration: none;
}

header .nav-wrapper {
  padding-top: 7px;
  text-align: right;
  background: #371a43;
}

header .show-menu {
  color: #fff;
  display: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  text-decoration: none;
  color: #fff;
  border: solid 1px #fff;
  text-align: center;
  position: absolute;
  top: 10px;
  right: 0px;
  -webkit-transition:
    color 0.5s,
    border-color 0.5s;
  transition:
    color 0.5s,
    border-color 0.5s;
}

header .show-menu:hover {
  color: #9baad5;
  border-color: #9baad5;
}

header .show-menu .icon {
  padding-top: 7px;
  display: inline-block;
  font-size: 15px;
}

header nav {
  display: inline-block;
}

header nav a {
}

header nav ul {
  margin-bottom: 0;
}

header nav ul li {
  font-size: 18px;
  line-height: 20px;
  display: inline-block;
  border-right: solid 1px #fff;
  padding: 0 12px;
}

header nav ul li:last-child {
  border-right: none;
}

header nav ul li.current_page_item a,
header nav ul li.current-page-ancestor a {
  color: #9baad5;
}

.social-links {
  display: inline-block;
  margin-left: 20px;
}

.social-links a {
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  text-decoration: none;
  color: #fff;
  border: solid 1px #fff;
  text-align: center;
  margin: 0 5px;
  -webkit-transition:
    color 0.5s,
    border-color 0.5s;
  transition:
    color 0.5s,
    border-color 0.5s;
}

.social-links path {
  transition: 0.5s;
}

.social-links a:hover {
  color: #9baad5;
  border-color: #9baad5;
}

.social-links a:hover path {
  fill: #9baad5;
}

.footer-socials {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

.footer-socials svg {
  width: 19px;
}

.social-links a .icon {
  padding-top: 5px;
  display: inline-block;
  font-size: 14px;
}

header .quick-contact {
  position: absolute;
  top: calc(
    100% + 20px
  ); /* this is because is positioned relative to the header > .container not the header */
  right: 30px;
  background: #3e4543;
  padding: 10px 10px 0;
  text-align: center;
  border-radius: 0 0 10px 10px;
  width: 200px;
  -webkit-transition: top 0.5s;
  transition: top 0.5s;
}

header .quick-contact h2 {
  color: #fff;
  font-size: 20px;
  line-height: 25px;
}

header .quick-contact div {
  height: 0;
  overflow: hidden;
  -webkit-transition: height 0.5s;
  transition: height 0.5s;
}

header .quick-contact:hover div {
  height: 145px;
}

header .quick-contact span {
  display: inline-block;
  border-radius: 50%;
  border: solid 1px #fff;
  width: 20px;
  height: 20px;
  vertical-align: bottom;
  font-size: 12px;
  line-height: 18px;
  margin-left: 10px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: transform 0.5s;
  transition: transform 0.5s;
}

header .quick-contact:hover span {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

header .quick-contact .button {
  width: 100%;
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 21px;
}

header.compact .quick-contact {
  top: calc(100% + 2px);
}

/* ::::::::: Main Content ::::::::: */

main {
  padding-top: 85px; /* start content where fixed header ends */
}

main.generic,
main.contact {
  padding: 105px 0 20px;
}

/* ::::::::: Slider Styles ::::::::: */

.slide {
  position: relative;
}

.slide img {
  display: block;
  width: 100%;
  height: auto;
}

.slick-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 5;
  width: 35px;
  height: 35px;
  display: block;
  border: solid 2px #fff;
  border-radius: 50%;
  padding: 0;
  cursor: pointer;
  color: #fff;
  text-align: center;
  -webkit-transition:
    color 0.5s,
    border-color 0.5s;
  transition:
    color 0.5s,
    border-color 0.5s;
}

.slick-arrow:hover {
  color: #3e4543;
  border-color: #3e4543;
}

.slick-arrow .icon {
  font-size: 22px;
  padding-top: 5px;
  display: inline-block;
}

.slick-arrow.slick-prev {
  left: 20px;
}

.slick-arrow.slick-next {
  right: 20px;
}

.main-banner-slider-wrapper {
  position: relative;
}

.main-banner-slider img {
  width: 100%;
  height: auto;
}

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

.slick-dots li {
  display: inline-block;
  margin: 0 5px;
}

.slick-dots li button {
  width: 15px;
  height: 15px;
  display: inline-block;
  border-radius: 50%;
  text-indent: -9999px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.4);
  border: solid 3px rgba(255, 255, 255, 0.4);
  padding: 0;
  margin-bottom: 0;
  min-width: 15px; /* override default button width */
}

.slick-dots li button:hover,
.slick-dots li.slick-active button {
  background: #fff;
  border-color: #fff;
  cursor: pointer;
}

.circle-overlay {
  background: #371a4399;
  width: 310px;
  height: 310px;
  border-radius: 50%;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  justify-content: center;
  padding: 40px;
}

a.circle-overlay.no-link {
  pointer-events: none;
}

.circle-overlay > div {
  width: 100%;
}

.circle-overlay h1,
.circle-overlay h2,
.circle-overlay p {
  color: #fff;
}

.circle-overlay h2 {
  font-size: 26px;
  line-height: 32px;
}

.circle-overlay p:last-of-type {
  margin-bottom: 0;
}

.circle-overlay p strong {
  display: block;
  margin-bottom: 20px;
  font-size: 22px;
  line-height: 28px;
}

.slide .picture-caption {
  position: absolute;
  bottom: 0;
  right: 0;
  background: #fff;
  padding: 5px 10px;
}

.main-banner-slider .circle-overlay h2 {
  font-size: 28px;
  line-height: 34px;
  margin-bottom: 0;
}

.main-banner-slider .circle-overlay h2 + p {
  font-size: 20px;
  line-height: 26px;
  padding-top: 10px;
}

a.circle-overlay {
  text-decoration: none;
}

.main-banner-slider a.circle-overlay,
.home-developments-slider a.circle-overlay {
  text-decoration: none;
  transition: background 0.5s;
}

.main-banner-slider a.circle-overlay:hover,
.home-developments-slider a.circle-overlay:hover {
  background: #371a43;
}

/* ::::::::: Homepage Styles ::::::::: */

.home .main-banner-slider .circle-overlay h2 {
  font-size: 46px;
  line-height: 50px;
}

#buying-options {
  background-color: #f7f5f5;
}

/* ::::::::: Promotional Badge ::::::::: */

.badge {
  width: 180px;
  height: 180px;
  padding: 20px;
  background: #371a43;
  border-radius: 50%;
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 20px auto 0 auto;
  position: relative;
  transition: background 0.5s;
}

.badge:hover {
  background-color: #371a43d9;
}

.badge p,
.badge strong {
  color: #fff;
}

.badge p {
  font-size: 16px;
  line-height: 22px;
}

.badge.home-spiral p {
  font-size: 22px;
  line-height: 24px;
  margin-bottom: 0px;
}

.badge.home-badge a {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  top: 0px;
  left: 0px;
}

.badge strong {
  display: block;
  font-size: 36px;
  line-height: 42px;
}

.content-block {
  padding: 40px 0;
  text-align: center;
  background: #fff;
}

.content-block.single-column-centered.dark-bg {
  background-color: #eeeceb;
}

.content-block.single-column-centered .container > div {
  max-width: 540px;
  margin: 0 auto;
  padding: 20px;
}

.content-block.single-column-centered > div > .graphic {
  width: 95px;
}

.content-block.single-column-centered .container > div > .graphic {
  width: 95px;
}

.content-block.single-column-centered h2,
.content-block.single-column-centered h3 {
  color: #371a43;
}

.content-block.single-column-centered .key-selling-points {
  text-align: center;
}

.content-block.single-column-centered .key-selling-points li {
  display: inline-block;
  padding: 0;
  max-width: 160px;
  margin: 0 10px;
  vertical-align: top;
  text-align: center;
}

.content-block.single-column-centered .key-selling-points li .graphic {
  position: static;
  display: block;
  margin: 0 auto 10px;
}

.actions .button {
  margin: 0 10px 20px;
  color: #3e4543;
  border: 2px solid #3e4543;
}

.actions .button:hover {
  background: #3e4543;
  color: #ffffff;
}

.content-block.two-column-with-graphic {
  text-align: left;
  padding: 60px 0;
}

.content-block.two-column-with-graphic .columns:first-of-type {
  border-right: solid 3px rgba(97, 35, 101, 0.1);
}

.content-block.two-column-with-graphic .columns {
  position: relative;
  padding-left: 120px; /* this should match the width of the img */
}

.content-block.two-column-with-graphic .columns img {
  position: absolute;
  top: 0;
  left: 0;
  width: 120px;
}

.content-block.two-column-with-graphic .columns .inner {
  padding: 0 40px;
}

.graphic {
  border: solid 3px #371a43;
  border-radius: 50%;
}

/* ::::::::: News and Announcements ::::::::: */

.news-and-announcements .column {
  padding: 0 50px 70px;
  border-right: solid 3px rgba(97, 35, 101, 0.1);
  margin-bottom: 20px;
  position: relative;
}

.news-and-announcements .column:last-of-type {
  border-right: 0;
}

.news-and-announcements em {
  font-style: normal;
  font-size: 14px;
  line-height: 20px;
}

.news-and-announcements .graphic {
  margin-bottom: 10px;
}

.news-and-announcements h2 {
  color: #371a43;
  margin-bottom: 40px;
}

.news-and-announcements h3 {
  font-size: 18px;
  line-height: 24px;
}

.news-and-announcements h3 a {
  text-decoration: none;
  color: #371a43;
}

.news-and-announcements .button {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

/* #Page Styles
================================================== */

/* ::::::::: Housing Grid ::::::::: */

.housing {
  background: #f5f4f3;
  text-align: center;
  padding: 40px 0;
}

.housing.blue {
  background: #9baad5;
}

.housing h2 {
  color: #371a43;
  margin-bottom: 40px;
}

.housing .container {
  text-align: center;
}

.housing .container .column,
.housing .container .columns {
  float: none;
  display: inline-block;
  vertical-align: top;
}

.housing .column:nth-child(4n + 1) {
  clear: both; /* If more than 3, make the 4th, 7th 10th etc jump to new line */
}

a.image-wrapper {
  overflow: hidden;
  display: block;
}

a.image-wrapper img {
  display: block;
  transition: 0.5s;
}

a.image-wrapper:hover img {
  transform: scale(1.1);
}

.housing .inner {
  padding: 20px 40px;
}

.housing h3 {
  font-size: 26px;
  line-height: 32px;
  color: #371a43;
  margin-bottom: 10px;
}

.housing em {
  font-style: normal;
  font-size: 23px;
  line-height: 28px;
  color: #371a43;
  margin-bottom: 10px;
  display: block;
}

.housing p {
  color: #371a43;
}

.housing .inner ul.key-selling-points {
  margin: 0 -20px;
}

.housing .inner ul.key-selling-points li {
  text-align: left;
  padding-left: 55px;
  font-size: 14px;
  line-height: 20px;
  min-height: 45px;
}

.housing .inner ul.key-selling-points li img.graphic {
  border-width: 1px;
  margin-top: -10px;
}

.housing.blue .button {
  color: #ffffff;
  border: 2px solid #ffffff;
}

.housing.blue .button:hover {
  color: #371a43;
  background: #ffffff;
}

/* ::::::::: Testimonials Slider ::::::::: */

.testimonials {
  background: #371a43 url(../images/testimonials-bg.jpg) no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
}

.testimonials .container {
  position: relative;
}

.testimonials .slide {
  padding: 60px 0;
  min-height: 350px;
}

.testimonials blockquote {
  border-left: 0;
  padding: 20px 20px 20px 40px;
  margin: 0;
}

.testimonials blockquote:before,
.testimonials blockquote:after {
  display: none;
}

.testimonials blockquote .icon-open-quotes {
  color: #9baad5;
  font-size: 30px;
}

.testimonials blockquote p {
  color: #371a43;
  font-size: 26px;
  line-height: 34px;
  font-style: normal;
  font-family: "open-sans-bold";
  font-weight: 400;
}

.testimonials blockquote cite:before {
  display: none;
}

.testimonials blockquote cite {
  font-style: normal;
  font-size: 18px;
  line-height: 24px;
  color: #9baad5;
}

.testimonials .promotional-message {
  padding-top: 20px;
  padding-left: 40px;
  position: relative;
  max-width: 550px;
  color: #fff;
}

.testimonials .promotional-message .graphic {
  width: 75px;
  height: 75px;
  position: absolute;
  top: 10px;
  left: 0;
}

.testimonials .promotional-message p {
  color: #9baad5;
  font-size: 18px;
  line-height: 24px;
}

.testimonials .promotional-message a.button {
  border-color: #fff;
  color: #fff;
  margin-bottom: 0;
}

.testimonials .promotional-message a.button:hover {
  border-color: #ffffff;
  background: #ffffff;
  color: #371a43;
}

.testimonials .pips {
  position: absolute;
  left: 0;
  top: 50%;

  transform: rotate(90deg) translateX(-50%);
  transform-origin: 0 50%;
}

.testimonials .pips ul,
.testimonials .pips ul li button {
  margin-bottom: 0;
}

.testimonials .spiral {
  left: 16%;
  top: 100px;
  position: absolute;
}

.testimonials .spiral img {
  width: 90px;
}

.testimonials .graphic {
  border-color: #fff;
}

/* ::::::::: Contact Form ::::::::: */

.contact-form {
  background: #bbb3b0 url(../images/contact-bg.png) no-repeat right top;
  background-size: cover;
  padding: 40px 0 40px 0;
  text-align: center;
}

.contact-form.homepage-form {
  padding-top: 0;
}

.contact-form form br {
  display: none;
}

.contact-form > .tab {
  max-width: 760px;
  margin: 0 auto;
  padding: 20px;
}

.contact-form h2,
.contact-form p {
  color: #fff;
}

.contact-form form {
  margin-bottom: 0;
}

.contact-form p {
  max-width: 570px;
  margin: 0 auto 20px;
}

.contact-form form p {
  max-width: 100%;
  margin: 0;
}

.contact-form label {
  position: absolute;
  top: -9999px;
  left: -9999px;
}

.contact-form .mc4wp-checkbox label {
  position: relative;
  top: auto;
  left: auto;
}

.contact-form form .half {
  width: calc(50% - 10px);
  float: left;
}

.contact-form form .third {
  width: calc(33.33% - 13.33px);
  float: left;
  margin-right: 20px;
}

.contact-form form .first {
  clear: both;
}

.contact-form form .third.last {
  margin-right: 0;
}

.contact-form form .half.last {
  margin-left: 20px;
}

.contact-form form .button {
  border-color: #fff;
  color: #fff;
  margin-bottom: 0;
}

.contact-form form .button:hover {
  border-color: #3e4543;
}

.wpcf7-form-control-wrap {
  display: block;
  clear: both;
}

span.wpcf7-not-valid-tip {
  display: block;
  margin: -20px 0 20px;
  background: red;
  color: #fff !important;
}

.wpcf7 .ajax-loader {
  position: absolute !important;
}

.contact-form .newsletter-opt-in {
  display: block;
  clear: both;
}

.contact-form .newsletter-opt-in p {
  margin-bottom: 20px;
}

.contact-form .newsletter-opt-in .mc4wp-checkbox span {
  font-family: "open-sans-regular", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 18px;
  color: #fff;
}

.contact-form .newsletter-opt-in a:link,
.contact-form .newsletter-opt-in a:visited {
  color: #371a43;
  font-size: 20px;
  line-height: 24px;
  display: block;
  margin-top: 5px;
}

.contact-form .newsletter-opt-in a:hover {
  color: #7a7976;
}

.contact-form form p a {
  color: #371a43;
}

.contact-form form p.privacy-note {
  padding-top: 20px;
}

.contact-form .wpcf7-form-control-wrap.newsletter-signup {
  margin-bottom: 20px;
  display: block;
}

.wpcf7-response-output {
  background: #371a43;
  border: none !important;
  color: #fff;
}

.contact-form-gravity {
  background: #f5f4f2;
  color: #3f4544;
}

.contact-form-gravity h2,
.contact-form-gravity h3 {
  color: #371a43;
}

.contact-form-gravity .gform_body {
  padding: 0 250px;
  text-align: left;
  font-size: 18px;
}

.contact-form-gravity .gform_body ul {
  list-style: disc inside;
}

.contact-form-gravity
  .gform_wrapper.gravity-theme
  .gf_step_active
  .gf_step_number {
  background: #371a43;
  border: 2px solid #371a43;
  color: #fff;
}
.contact-form-gravity .gform_wrapper.gravity-theme .gf_step_number {
  border: 2px solid #371a43;
}

.contact-form-gravity label {
  font-size: 16px;
  color: #3f4544;
  font-weight: normal;
}

.contact-form-gravity .gform_wrapper.gravity-theme .gfield_label {
  font-size: 20px;
  color: #3f4544;
}

.contact-form-gravity .ginput_container {
  display: flex;
}
.contact-form-gravity .ginput_container.ginput_container_number,
.contact-form-gravity .ginput_container.ginput_container_textarea {
  display: inline;
}
.contact-form-gravity .ginput_container textarea {
  text-align: left;
}
.contact-form-gravity .ginput_container input[type="checkbox"],
.contact-form-gravity .ginput_container input[type="radio"] {
  margin-right: 10px;
  height: 14px;
  width: 14px;
}

.contact-form-gravity
  .gform_wrapper.gravity-theme
  .gf_step_completed
  .gf_step_number:before {
  width: 100%;
  height: 100%;
  background: #585c5a;
  border: 2px solid #585c5a;
}

.contact-form-gravity .gform_wrapper.gravity-theme .gfield_checkbox label,
.contact-form-gravity .gform_wrapper.gravity-theme .gfield_radio label,
.contact-form-gravity .gform_wrapper.gravity-theme .gfield select {
  font-size: 18px;
}

.contact-form-gravity
  .gform_wrapper.gravity-theme
  .gfield-choice-input
  + label {
  max-width: unset;
}

.contact-form-gravity .gform_heading .gform_title {
  font-size: 50px;
  padding: 0 310px;
  line-height: 1;
  margin-bottom: 20px;
}

.contact-form-gravity .gform_wrapper.gravity-theme .gf_page_steps {
  margin-bottom: 50px;
  padding-bottom: 20px;
}

main.apply .apply-btn-wrap {
  margin-top: 50px;
}
main.apply .apply-btn-wrap a {
  min-width: 180px;
  border: 2px solid #3e4543;
  color: #3e4543;
}

main.apply .apply-btn-wrap a:hover {
  background: #3e4543;
  color: #ffffff;
}
main.apply .apply-btn-wrap a:first-child {
  margin-right: 10px;
  border: 2px solid #3e4543;
  color: #3e4543;
}
main.apply .apply-btn-wrap a:first-child:hover {
  background: #3e4543;
  color: #ffffff;
}

/* ::::::::: Tabs ::::::::: */

.tabs {
  margin-bottom: 20px;
  overflow: hidden;
}

.tabs a {
  color: #fff;
  text-decoration: none;
  display: block;
  padding: 15px 20px;
  line-height: 18px;
  float: left;
  transition: background 0.5s;
  text-align: center;
}

.tabs.two a {
  width: 50%;
}

.tabs.three a {
  width: 33.33%;
}

.tabs a:not(.active) {
  background: #371a43;
}

.tabs a:not(.active):hover {
  background: #3e45434d;
}

.tab {
  position: absolute;
  top: -9999px;
  left: -9999px;
  height: 0;
  overflow: hidden;
}

.tab.active {
  position: static;
  left: auto;
  top: auto;
  height: auto;
}

.tab img {
  width: 70%;
}

/* ::::::::: Contact ::::::::: */

main.contact {
  padding-bottom: 0;
  padding-top: 85px;
}

.contact .banner-image {
  margin-bottom: 0;
}

.showroom-contact-details {
  padding: 60px;
}

.showroom-contact-details .one-third.column {
  min-height: 70px;
  margin-bottom: 20px;
}

.showroom-contact-details h3 a {
  color: #3e4543;
  text-decoration: none;
  font-size: 23px;
  line-height: 27px;
}

.showroom-contact-details em {
  font-style: normal;
  font-size: 20px;
  line-height: 24px;
}

/* ::::::::: Footer ::::::::: */

footer {
  background: #fff;
}

footer .container {
  position: relative;
}

footer .container:first-of-type {
  padding-top: 50px;
  border-top: solid 3px rgba(97, 35, 101, 0.1);
}

footer .columns {
  border-right: dotted 2px #b2b1b1;
  padding-right: 20px;
}

footer .columns:last-of-type {
  border-right: none;
}

footer p,
footer li {
  font-size: 12px;
  line-height: 18px;
}

footer img {
  margin-bottom: 10px;
}

footer a {
  text-decoration: none;
}

footer .columns ul.menu > li:last-child {
  margin-bottom: 0;
}

footer .columns ul.menu > li > a {
  font-weight: 700;
  color: #371a43;
}

footer .columns ul.menu > li > a:hover {
  color: #3e4543;
}

footer .columns ul.menu > li ul a:hover {
  text-decoration: underline;
}

footer .columns ul.menu {
  margin-left: 0;
}

footer .columns ul.menu + .menu {
  padding-top: 10px;
}

footer .columns ul.menu.get-social > li:first-of-type {
  font-weight: 700;
  color: #371a43;
}

footer .legal-info {
  padding-top: 20px;
}

footer .legal-info span {
  display: inline-block;
  margin: 0 10px;
}

footer .legal-info img {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 0;
}

footer ul {
  margin-bottom: 0;
}

footer .icon {
  color: rgba(62, 69, 67, 0.8);
  font-size: 20px;
}

/* Virtual Property shop */
footer .vps {
  background: #371a43;
  padding: 25px 25px 25px 120px;
  border-radius: 10px 10px 0 0;
  position: relative;
}

footer .vps p {
  font-size: 15px;
  line-height: 22px;
  padding: 10px 0 10px;
}

footer .vps p,
footer .vps strong {
  color: #fff;
}

footer .vps strong {
  display: block;
}

footer .vps .graphic {
  border-color: #fff;
  width: 75px;
  position: absolute;
  top: 25px;
  left: 25px;
}

footer .vps .button {
  color: #fff;
  border-color: #fff;
  min-width: auto;
}

footer .vps .button:hover {
  background-color: #867b75;
  border-color: #867b75;
}

.pop-up {
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 600px;
  height: auto;
  z-index: 9999;
  background: #fff;
  padding: 30px;
  display: none;
  text-align: center;
}

.pop-up h2 {
  font-size: 26px;
  line-height: 32px;
}

.pop-up .button {
  margin-bottom: 0;
}

.pop-up-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background-color: #000;
  opacity: 0.8;
  z-index: 9998;
  display: none;
}

/* ::::::::: Search Bar ::::::::: */

#site-search {
  position: fixed;
  top: -150px; /* Positioned off the top of the page */
  left: 0;
  right: 0;
  background: #f1f0ef;
  z-index: 50;
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex;
  display: flex;
  -webkit-transition: top 0.5s;
  transition: top 0.5s;
}

#site-search > form {
  width: 100%;
  margin-bottom: 0;
}

#site-search > form > div {
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex;
  display: flex;
  height: 100%;
}

#site-search > form input[type="text"] {
  width: 100%;
}

#site-search > form button,
#site-search a.button {
  border: none;
}

#site-search a.button {
  font-size: 19px;
  line-height: 35px;
  color: #867b75;
  margin-top: 0;
}

#site-search a.button span {
  margin-top: 30px;
}

#site-search.compact a.button span {
  margin-top: 12px;
}

#site-search > form input,
#site-search > form button,
#site-search a.button {
  margin-bottom: 0;
}

#site-search.search-open {
  top: 0;
}

/* ::::::::: Development Listings ::::::::: */

.development-listings .introduction .container > div {
  max-width: 600px;
}

.development-listings .introduction h3 {
  padding-top: 20px;
}

.development-listings .developments-map h2 {
  margin-bottom: 30px;
}

.development-listings .developments-map h3 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 24px;
  line-height: 26px;
  color: #371a43;
}

.development-listings .developments-map a:link,
.development-listings .developments-map a:visited {
  font-family: "open-sans-regular", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 18px;
  text-decoration: none;
  border-bottom: 1px #919595 solid;
  margin-bottom: 20px;
  display: inline-block;
}

.development-listings .developments-map a:hover {
  color: #939393;
}

.development-listings .developments-map .info_content {
  height: auto !important;
  min-height: auto !important;
  max-height: auto !important;
  padding: 0px 20px !important;
}

.development-listings .developments-map .info_content p {
  font-family: "open-sans-regular", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 16px;
}

.development-listings .developments-map .gm-style-iw div {
  overflow: visible !important;
  max-height: auto !important;
}

.development-listings .developments-map #map_wrapper {
  height: 520px;
}

.development-listings .developments-map #map_canvas {
  width: 100%;
  height: 100%;
}

.development-listings .developments-map .key-wrap {
  padding-top: 20px;
}

.development-listings .developments-map .key-wrap .item {
  display: inline-block;
  margin-right: 20px;
}

.development-listings .developments-map .key-wrap .item img {
  display: inline-block;
  float: left;
  margin-right: 10px;
}

.development-listings .developments-map .key-wrap .item span {
  font-size: 20px;
  line-height: 22px;
  display: block;
  float: left;
  margin-top: 5px;
}

.development-listings .developments-map .gm-style-iw {
  padding-left: 0px;
  min-width: 280px;
  min-height: 100px;
}

.development-listings .developments-map .info_content h3 {
  max-width: 220px;
  margin-left: auto;
  margin-right: auto;
}

.blue .promotional-badge {
  position: absolute;
  margin-left: 219px;
  margin-top: 13px;
  background: #ffffff;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  border: 4px solid #371a43;
  z-index: 100;
}

.promotional-badge {
  position: absolute;
  margin-left: 219px;
  margin-top: 13px;
  background: #371a43;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  border: 4px solid #ffffff;
  z-index: 100;
}

.two-thirds.column.similar-developments .promotional-badge {
  margin-left: 200px;
}

.promotional-badge p {
  width: 130px;
  padding-left: 10px;
  padding-right: 10px;
  border-radius: 50%;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "open-sans-bold";
  color: #ffffff;
  font-size: 18px;
  line-height: 21px;
  text-align: center;
}

.blue .promotional-badge p {
  width: 130px;
  padding-left: 10px;
  padding-right: 10px;
  border-radius: 50%;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "open-sans-bold";
  color: #877c75;
  font-size: 18px;
  line-height: 21px;
  text-align: center;
}

/* ::::::::: Single Development ::::::::: */

.sub-nav {
  background: rgba(62, 69, 67, 0.5);
  padding: 10px;
  position: fixed;
  top: 90px;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 5;
  transition:
    top 0.5s,
    padding 0.5s;
}

.sub-nav.compact {
  top: 54px;
  padding: 5px 10px;
}

.sub-nav .container {
  padding-right: 250px;
}

.sub-nav h2 {
  color: #fff;
  font-size: 22px;
  line-height: 28px;
  text-align: center;
  margin-bottom: 0;
  cursor: pointer;
}

.sub-nav h2 span {
  color: #fff;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  text-decoration: none;
  color: #fff;
  border: solid 1px #fff;
  text-align: center;
  transition:
    color 0.5s,
    border-color 0.5s;
  display: inline-block;
  font-size: 14px;
  vertical-align: bottom;
  line-height: 19px;
  margin-left: 5px;
  transition: transform 0.5s;
}

.sub-nav h2.open span {
  transform: rotate(90deg);
}

.sub-nav ul {
  margin-bottom: 0;
}

.sub-nav li {
  display: inline-block;
  margin-bottom: 0;
}

.sub-nav a {
  display: inline-block;
  padding: 10px 15px;
  text-decoration: none;
  color: #fff;
  margin: 0 10px;
  transition:
    padding 0.5s,
    background 0.5s,
    color 0.5s;
}

.sub-nav a:hover,
.sub-nav li.active a {
  background: #fff;
  color: #333;
}

.sub-nav .highlight {
  border: solid 1px #fff;
}

.sub-nav.compact a {
  padding: 5px 15px;
}

.sub-nav li.social-media-sharing {
  padding: 10px 15px;
}

.sub-nav li.social-media-sharing h3 {
  font:
    16px "open-sans-regular",
    Helvetica,
    Arial,
    sans-serif;
  display: inline-block;
  color: #fff;
  margin-bottom: 0;
}

.sub-nav li.social-media-sharing a {
  display: inline-block;
  padding: 0;
  font-size: 20px;
  vertical-align: sub;
  width: 20px;
  height: 20px;
  border-radius: 50%;
}
.sub-nav li.social-media-sharing a:hover {
  background: none;
  color: #371a43;
}

.single-development .overview {
  text-align: left;
}

.single-development .home-overview .columns {
  padding: 0 20px;
}

.single-development .overview h1 {
  color: #371a43;
  font-size: 32px;
  line-height: 40px;
}

.single-development .overview h1 span {
  color: #867b75;
  font-size: 23px;
  line-height: 30px;
  display: block;
  font-family: "open-sans-regular", Helvetica, Arial, sans-serif;
}

ul.promotions-list {
  padding-bottom: 20px;
  border-bottom: 1px solid #b4b2b1;
  margin-bottom: 40px;
  margin-top: 10px;
}

ul.promotions-list li {
  height: 70px;
}

ul.promotions-list li .promotion-graphic-wrap {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 3px solid #371a43;
  float: left;
}

ul.promotions-list img.graphic.promotion {
  border: none;
  border-radius: 0px;
  position: relative;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
}

ul.promotions-list p {
  float: left;
  position: relative;
  top: 21px;
  padding: 0px;
  padding-left: 20px;
  font-size: 21px;
  line-height: 24px;
  text-align: left;
  color: #371a43;
}

ul.key-selling-points {
  padding-top: 20px;
  text-align: left;
  margin-bottom: 0;
}

ul.key-selling-points li,
p.opening-hours {
  position: relative;
  min-height: 70px;
  padding: 0px 0 0 90px;
  font-size: 18px;
  line-height: 24px;
  text-align: left;
}

ul.key-selling-points li img.graphic,
p.opening-hours img.graphic {
  position: absolute;
  left: 0;
  top: 0;
  margin-top: -22px;
}

.single-development .overview .image-wrapper {
  max-height: 500px;
  overflow: hidden;
}

.single-development .overview .picture-caption {
  display: block;
  text-align: right;
}

#site-map .tabs {
  margin-bottom: 50px;
}

.content-block.google-map {
  background: #fff;
  padding-top: 0;
}

.content-block.google-map #development-map img {
  max-width: 800px;
  max-height: 700px;
  margin: 0 auto;
}

.content-block.google-map .tabs a {
  color: #3e4543;
}

.content-block.google-map .tabs a:not(.active) {
  color: #fff;
}

.content-block.google-map h2 {
  color: #371a43;
  margin-bottom: 40px;
}

.content-block #tour iframe {
  width: 100%;
  height: 600px;
}

.content-block #tour h3 {
  font-size: 26px;
  line-height: 32px;
  color: #371a43;
  margin-bottom: 10px;
  margin-top: 50px;
}

/*Google map*/
.acf-map {
  width: 100%;
  height: 400px;
  border: none;
  margin-bottom: 20px;
}

/* fixes potential theme css conflict */
.acf-map img {
  max-width: inherit !important;
}

.legal-note {
  font-size: 14px;
  line-height: 20px;
  color: #b6aeaa;
  clear: both;
  max-width: 700px;
  margin: 0 auto;
}

.legal-note p {
  margin-bottom: 5px;
}

.legal-note p:last-of-type {
  margin-bottom: 0;
}

/* ::::::::: Single House ::::::::: */

.main-banner-slider .slick-dots,
.house-banner-slider .slick-dots {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.single-house .overview h1 {
  color: #371a43;
  font-size: 32px;
  line-height: 38px;
  margin-bottom: 10px;
}

.single-house .overview h2 {
  font-size: 24px;
  line-height: 30px;
  margin-bottom: 20px;
}

.single-house .overview .container {
  padding: 20px 0;
}

.single-house .detailed-selling-points {
  padding-top: 20px;
  padding-left: 40px;
  text-align: left;
}

.single-house .detailed-selling-points ul li {
  margin-bottom: 20px;
}

.single-house .detailed-selling-points ul li:before {
  content: "";
  background: #371a43;
  width: 5px;
  height: 5px;
  display: inline-block;
  border-radius: 50%;
  margin-right: 5px;
  margin-top: 8px;
  vertical-align: top;
}

.single-house .overview .badge {
  width: 250px;
  height: 250px;
  margin: 20px auto 0 auto;
}

.floor-plans {
  background: rgba(221, 218, 215, 0.3);
  text-align: left;
}

.floor-plans h2.title {
  color: #371a43;
  margin-bottom: 40px;
  text-align: center;
}

.floor-plans .floor-plan-tabs a {
  display: block;
}

.floor-plans .tab-content {
  display: none;
}

.floor-plans .tab-content.active {
  display: block;
}

.floor-plans .floor-plan-image {
  border-right: solid 2px rgba(97, 35, 101, 0.1);
  padding: 0 40px;
}

.floor-plans .floor-plan-image img {
  display: block;
  margin: 0 auto;
  width: auto;
  height: auto;
  max-width: 378px;
  max-height: 378px;
}

.floor-plans .room-dimensions {
  padding: 0 40px;
}

.floor-plans h2 {
  color: #867b75;
}

.floor-plans table {
  width: 100%;
  margin-bottom: 20px;
}

.floor-plans table tr {
  border-bottom: dotted 1px #3e4543;
}

.floor-plans table tr:last-of-type {
  border-bottom: none;
}

.floor-plans table tr td {
  padding: 20px 5px;
}

.floor-plans table tr td:first-of-type {
  font-family: "open-sans-bold";
}

/* .other-home-styles h2, .other-home-styles h3{
	color:#867b75;
} */

.related-developments .similar-developments {
  margin: 0;
  padding: 0;
}

.related-developments h2 {
  text-align: left;
  margin-bottom: 30px;
  font-size: 26px;
  line-height: 32px;
  margin-bottom: 20px;
}

.related-developments .similar-developments .column > div {
  padding: 0;
}

/* ::::::::: Buying with Us ::::::::: */

.buying-with-us .banner-image {
  margin-bottom: 0;
}

.buying-with-us .single-column-centered {
  background: #f5f4f2;
  color: #3f4544;
}

.buying-with-us .single-column-centered h2 {
  font-size: 26px;
  line-height: 32px;
  color: #371a43;
}

.buying-with-us .secondary {
  background: #bbb3b0 url(../images/torus-blue-background.jpg) no-repeat right
    top;
  background-size: cover;
}

.buying-with-us .secondary h3 {
  font-style: 24px;
  line-height: 28px;
  color: #371a43;
  margin-bottom: 15px;
}

.buying-with-us .secondary p,
.buying-with-us .secondary strong,
.buying-with-us .secondary li,
.buying-with-us .secondary a {
  color: #fff;
  font-size: 18px;
  line-height: 22px;
}

.buying-with-us .secondary .button {
  border: 2px solid #ffffff;
}

.buying-with-us .secondary .button:hover {
  border: 2px solid #3e4543;
  background: #3e4543;
  color: #ffffff;
}
.buying-with-us .tab {
  padding: 40px 0;
}

.buying-with-us .side-image {
  text-align: center;
}

.side-text ul li {
  list-style: disc;
  list-style-position: outside;
  margin-left: 20px;
}

/* ::::::::: News Listings ::::::::: */

.news.archive {
  padding: 90px 0 20px;
}

.news.archive .title-bar {
  background: #fff;
  padding: 15px 10px;
  /* margin-bottom: 40px; */
}

.news.archive .title-bar h1 {
  margin-bottom: 15px;
  padding: 0 10px;
  color: #371a43;
}

.news.archive .title-bar h1 img.graphic {
  display: inline-block;
  vertical-align: text-bottom;
}

select.month-selector {
  border: solid 1px #dddad7;
  background: #fff;
  padding: 10px 20px;
  margin-bottom: 0;
  text-align: left;
  width: 100%;
  margin-bottom: 20px;
  /* margin-top: 50px; */
}

.facetwp-dropdown {
  background-color: #371a43;
  color: white;
  width: 275px;
}

.facetwp-facet {
  margin-bottom: 0px !important;
}

.post-category-div {
  width: fit-content;
  background-color: #371a43;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  /* border-radius: 8px; */
  margin-bottom: 20px;
}

/* Style the entire facet container */
.facetwp-facet-news_filter {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 0;
}

/* Style each checkbox item */
.facetwp-facet-news_filter .facetwp-checkbox {
  display: flex;
  align-items: center;
  padding: 10px 15px;
  background: #f9f9f9;
  border: 1px solid #ddd;
  /* border-radius: 6px; */
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 16px;
}

.clear-all-filter-div {
  padding: 10px 0;
}

.clear-all-filter-div:hover {
  /* background-color: #f1f1f1;
    border-color: #bbb; */
}

.facetwp-clear-all {
  display: flex;
  width: 100%;
  font-size: 14px;
  align-items: center;
  padding: 10px 15px;
  background: #f9f9f9;
  border: 1px solid #ddd;
  /* border-radius: 6px; */
  cursor: pointer;
  transition: all 0.3s ease;
  /* font-size: 16px; */
}

.facetwp-clear-all:hover {
  background-color: #f1f1f1 !important;
  border-color: #bbb !important;
  color: unset !important;
}

/* Hover effect */
.facetwp-facet-news_filter .facetwp-checkbox:hover {
  background-color: #f1f1f1;
  border-color: #bbb;
}

/* Active (checked) state */
.facetwp-facet-news_filter .facetwp-checkbox.checked {
  background-color: #371a43;
  border-color: #371a43;
  color: #fff;
}

/* Category name */
.facetwp-facet-news_filter .facetwp-display-value {
  flex-grow: 1;
  font-size: 14px;
}

/* Count */
select.month-selector {
  height: 46px;
  margin-top: 10px;
  width: 210px;
}

.facetwp-checkbox,
.checked {
  background-image: unset !important;
}

.facetwp-facet-news_filter .facetwp-checkbox[data-value="uncategorised" i] {
  display: none;
}

.facetwp-facet-news_filter .facetwp-counter {
  display: none;
}

.post-category {
  margin-bottom: 0px;
  color: white !important;
}

.filter-container-div {
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  padding-top: 10px;
}

.news.archive .news-article-overview {
  background: #fff;
  padding: 20px 20px 80px;
  margin-bottom: 20px;
  position: relative;
  min-height: 460px;
}

.news.archive .news-article-overview h2 {
  font-size: 20px;
  line-height: 26px;
}

.news.archive .news-article-overview h2 a {
  color: #371a43;
  text-decoration: none;
}

.news.archive .news-article-overview a.image-wrapper {
  margin: -20px -20px 20px;
}

.news.archive .news-article-overview a.button {
  margin-bottom: 0;
  position: absolute;
  bottom: 20px;
  left: 20px;
  border: 2px solid #3e4543;
  color: #3e4543;
}

.news.archive .news-article-overview a.button:hover {
  background: #3e4543;
  color: #ffffff;
}

.news.archive .news-message {
  background: #371a43;
  padding: 20px 20px 80px;
  margin-bottom: 20px;
  position: relative;
}

.news.archive .news-message h2 {
  color: #fff;
}

.news.archive .news-message p,
.news.archive .news-message li {
  color: #fff;
  font-size: 22px;
  line-height: 28px;
}

.paging {
  clear: both;
  overflow: hidden;
  padding: 0 10px;
}

.paging .left {
  float: left;
}

.paging .right {
  float: right;
}

.paging a {
  margin-top: 20px;
  border: 2px solid #3e4543;
}

.paging a:hover {
  background: #3e4543;
  color: #ffffff;
}

.paging a:hover span {
  color: #ffffff;
}

.paging a span {
  display: inline-block;
  color: #371a43;
  font-size: 15px;
  margin-top: 2px;
  transition: color 0.5s;
}

/* ::::::::: Single News Item ::::::::: */

.breadcrumb {
  padding: 10px 10px 20px;
  color: #757a78;
}

.breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.breadcrumb span {
  display: inline-block;
  vertical-align: baseline;
  color: #371a43;
  font-size: 12px;
}

.generic article {
  margin-bottom: 40px;
}

.generic article h1 {
  color: #371a43;
  font-size: 32px;
  line-height: 40px;
}

.generic article h2,
.subpage-content article h3 {
  color: #371a43;
  font-size: 28px;
  line-height: 36px;
}

.generic article p,
.subpage-content article p {
  font-size: 16px;
  line-height: 20px;
  color: rgb(62, 69, 67);
}

.news em.post-date {
  font-style: normal;
  font-size: 16px;
  line-height: 22px;
}

.banner-image {
  max-height: 350px;
  overflow: hidden;
  margin: 0px 0 60px;
  position: relative;
}

.banner-image picture,
.banner-image img {
  width: 100%;
  height: auto;
  display: block;
}

.related-content {
  background: #371a43;
  padding: 20px;
  margin-bottom: 40px;
}

.related-content h2 {
  font-size: 18px;
  line-height: 24px;
  color: #fff;
  margin-bottom: 20px;
}

.related-content ul li {
  border-bottom: dotted 2px #fff;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.related-content ul li em {
  display: block;
  font-style: normal;
  margin-bottom: 5px;
  font-size: 14px;
  line-height: 20px;
  color: #9baad5;
}

.related-content ul li.current_page_item a {
  color: #9baad5;
}

.related-content ul li a {
  text-decoration: none;
  color: #fff;
}

.related-content ul li a:hover {
  color: #9baad5;
}

/* Generic content page and news */

.page .generic .banner-image {
  max-height: 350px;
  overflow: hidden;
}

.page .generic .circle-overlay h1 {
  font-size: 36px;
  line-height: 44px;
}

.generic article table td {
  padding: 10px;
  border: solid 1px #371a43;
}

.generic article ul li:before {
  content: "";
  background: #371a43;
  width: 5px;
  height: 5px;
  display: inline-block;
  border-radius: 50%;
  margin-right: 5px;
  margin-top: 8px;
  vertical-align: top;
}

.generic article ol {
  margin-left: 15px;
}

.generic article img {
  margin-bottom: 20px;
  width: 100%;
  height: auto;
}

.generic article p img.size-large {
  margin-bottom: 0;
}

.generic article img.alignleft {
  float: left;
  margin-right: 20px;
  max-width: 45%;
  height: auto;
}

.generic article img.alignright {
  float: right;
  margin-left: 20px;
  max-width: 45%;
  height: auto;
}

article .gallery {
  margin-bottom: 20px !important;
}

div.wp-caption {
  max-width: 100%;
  position: relative;
  margin-bottom: 20px;
}

div.wp-caption img {
  margin-bottom: 0;
}

div.wp-caption p.wp-caption-text {
  color: #371a43;
  font-size: 16px;
  line-height: 22px;
}

div.wp-caption.alignleft {
  float: left;
  margin: 10px 40px 20px 0px;
  max-width: 45%;
}

div.wp-caption.alignright {
  float: right;
  margin: 10px 0px 20px 40px;
  max-width: 45%;
}

.quote-widget {
  background: #371a43;
  padding: 20px;
  margin-bottom: 20px;
}

.quote-widget blockquote {
  margin-bottom: 0;
}

.quote-widget blockquote p {
  color: #fff;
  font-size: 22px;
  line-height: 28px;
}

/* Extra Subpage Styles (inc. forms) */

.subpage-push {
  width: 100%;
  height: 50px;
  display: inline-block;
}

.subpage-content form label {
  font-size: 16px;
  line-height: 20px;
  font-weight: normal;
  color: rgb(62, 69, 67);
}

.subpage-content form .wpcf7-form-control-wrap {
  padding-top: 10px;
}

.subpage-content form .wpcf7-radio {
  padding-top: 0px;
  margin-bottom: 10px;
  display: inline-block;
}

.subpage-content form .wpcf7-radio.wpcf7-not-valid {
  height: 40px;
}

.subpage-content form .wpcf7-list-item-label {
  font-size: 16px;
  line-height: 20px;
}

.subpage-content form input[type="text"],
.subpage-content form input[type="password"],
.subpage-content form input[type="email"],
.subpage-content form input[type="tel"],
.subpage-content form textarea,
.subpage-content form select {
  text-align: left;
}

.subpage-content form input.hasDatepicker {
  width: 200px;
}

.subpage-content form .wpcf7-acceptance label {
  display: flex;
}

.subpage-content form .wpcf7-acceptance input {
  margin-right: 10px;
}

.subpage-content form select.wpcf7-select {
  background-image: url(../images/down-arrow.png) !important;
  background-repeat: no-repeat !important;
  background-position: right 9px !important;
}

.subpage-content form .wpcf7-submit {
  margin-top: 20px;
}

/* #Media Queries
================================================== */

/* Smaller than standard 1280 (devices and browsers) */
@media only screen and (max-width: 1280px) {
  /* header mobile/tablet */

  header {
    text-align: center;
    padding: 0px 10px;
  }

  header .show-menu {
    display: block !important;
  }

  header .columns.nav-wrapper {
    padding-top: 0;
    display: none;
    text-align: center;
  }

  .social-links,
  header nav {
    float: none;
    display: block;
  }

  .social-links {
    margin-left: 0;
    padding-bottom: 10px;
  }

  header nav ul li {
    border-right: none;
    display: block;
  }

  header .quick-contact {
    top: 0;
    right: 0;
  }

  .sub-nav {
    top: 50px !important;
  }

  .sub-nav ul {
    text-align: center;
    padding-top: 10px;
    display: none;
  }

  .sub-nav ul li {
    margin: 0 2px 7px;
  }

  .sub-nav ul li a {
    margin: 0 5px;
  }

  main {
    padding-top: 150px !important; /* start content where fixed header ends */
  }

  main.generic,
  main.archive,
  main.contact {
    padding: 50px 0 20px !important;
  }

  /*:::::::::::::::: Development Listings :::::::::::::*/
  .promotional-badge {
    margin-left: 137px;
    margin-top: 8px;
    width: 110px;
    height: 110px;
  }

  .two-thirds.column.similar-developments .promotional-badge {
    margin-left: 131px;
  }

  .promotional-badge p {
    width: 110px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 15px;
    line-height: 18px;
  }

  /*::::::::::::::::: Single House ::::::::::::: */
  .floor-plans .floor-plan-image img {
    max-width: 258px;
    max-height: 258px;
  }
}

/* 960 to 1280 size (devices and browsers) */
@media only screen and (min-width: 960px) and (max-width: 1279px) {
  .development-listings .developments-map img {
    max-width: 100%;
  }

  footer .vps {
    padding-left: 90px;
  }

  footer .vps .graphic {
    width: 50px;
  }

  footer .vps p {
    font-size: 15px;
    line-height: 20px;
    padding-top: 5px;
  }

  footer .vps .button {
    font-size: 15px;
  }
}

/* Tablet Portrait size to standard 960 (devices and browsers) */
@media only screen and (min-width: 768px) and (max-width: 959px) {
  /*:::::::::::::::: Development Listings :::::::::::::*/
  .promotional-badge {
    margin-left: 116px;
    margin-top: 5px;
  }

  .two-thirds.column.similar-developments .promotional-badge {
    margin-left: 103px;
  }

  .development-listings .developments-map img {
    max-width: 100%;
  }

  /* gravity forms tablet */

  .contact-form-gravity .gform_body {
    padding: 0;
  }

  .contact-form-gravity .gform_heading .gform_title {
    font-size: 50px;
    padding: 0 100px;
    line-height: 1;
    margin-bottom: 20px;
  }

  .contact-form-gravity .gform_wrapper.gravity-theme .gf_page_steps {
    margin-bottom: 50px;
    padding-bottom: 20px;
  }
}

@media only screen and (max-width: 768px) {
  /* This section is just for filtering buttons on news page */
  .filter-container-div {
    flex-direction: column;
    gap: 0px;
  }

  .facetwp-display-value {
    font-family: "open-sans-regular";
    font-size: 14px;
  }

  select.month-selector {
    width: unset;
    margin-top: 0px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1279px) {
  .nav-wrapper {
    clear: both;
    width: 100% !important;
  }

  header .quick-contact,
  header.compact .quick-contact {
    top: calc(100% + 0px);
    right: 0;
  }

  header nav,
  header .social-links,
  header nav ul li {
    display: inline-block;
  }
}

/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 767px) {
  .hide-mobile {
    display: none !important;
  }

  .hide-desktop {
    display: block !important;
  }

  .hide-desktop-sr {
    position: relative !important;
    top: auto !important;
    left: auto !important;
  }

  .flex {
    display: block;
  }

  .button {
    min-width: 200px;
  }

  /* Header mobile */
  header .site-logo {
    padding-right: 50px;
  }

  header .quick-contact,
  header.compact .quick-contact {
    width: 100%;
    top: 0;
    z-index: -1;
  }

  .nav-wrapper.active + .quick-contact {
    top: calc(100%) !important;
  }

  .sub-nav .container {
    padding-right: 0;
  }

  .sub-nav li {
    display: block;
    text-align: center;
  }

  .sub-nav li a {
    display: block;
  }

  .sub-nav li a.highlight:first-of-type {
    margin-bottom: 7px;
  }

  .circle-overlay {
    width: 250px;
    height: 250px;
  }

  .circle-overlay {
    width: 200px;
    height: 200px;
    padding: 20px;
  }

  .circle-overlay h1 {
    font-size: 40px;
  }

  .circle-overlay h2 {
    font-size: 22px !important;
    line-height: 28px !important;
  }

  /* Content blocks */
  .content-block.two-column-with-graphic .columns {
    padding-left: 60px; /* this should match the width of the img */
  }

  .content-block.two-column-with-graphic .columns img {
    width: 60px;
  }

  .content-block.two-column-with-graphic .columns .inner {
    padding: 0 20px;
  }

  .content-block.two-column-with-graphic .columns:first-of-type {
    border-right: none;
    margin-bottom: 20px;
  }

  .housing .column:nth-child(4n + 1) {
    clear: none; /* Turn off clear */
  }

  .testimonials .slide blockquote p,
  .testimonials .slide blockquote cite {
    font-size: 16px;
    line-height: 22px;
  }

  .testimonials .pips {
    position: relative;
    left: 50;
    top: 0%;

    transform: rotate(0deg) translateY(-50%);
    transform-origin: 0 50%;
  }

  .testimonials .promotional-message h3 {
    font-size: 22px;
    line-height: 23px;
  }

  .testimonials .slide blockquote p {
    font-size: 20px;
    line-height: 24px;
  }

  /* Developments Overview */

  .development-listings .developments-map img {
    max-width: 100%;
  }

  .development-listings .developments-map .key-wrap {
    text-align: left;
  }

  .development-listings .developments-map .gm-style-iw {
    padding-left: 0px;
    min-width: 200px;
    min-height: 100px;
  }

  .development-listings .developments-map .gm-style-iw div {
    margin: 0px auto;
  }

  .development-listings .developments-map .info_content h3 {
    max-width: 150px;
  }

  .content-block #tour iframe {
    height: 450px;
  }

  /* Contact form mobile */

  .contact-form form .half,
  .contact-form form .third {
    width: 100%;
  }

  .contact-form form .half.last,
  .contact-form form .third.last {
    margin-left: 0;
  }

  /* News and announcements */

  .news-and-announcements .column {
    border-right: none;
  }

  /* footer */

  footer .columns {
    border-right: none;
  }

  #site-search {
    height: 50px !important;
  }

  #site-search a.button {
    min-width: 1px;
  }

  #site-search a.button span {
    margin-top: 12px;
  }

  /*::::::::::::::: Developments Listings ::::::::::::*/
  .promotional-badge,
  .two-thirds.column.similar-developments .promotional-badge {
    margin-left: 271px;
    margin-top: 13px;
    width: 130px;
    height: 130px;
  }

  .promotional-badge p {
    width: 130px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 18px;
    line-height: 21px;
  }

  /*::::::::::::::::: Single House ::::::::::::: */
  .floor-plans .floor-plan-image img {
    max-width: 400px;
    max-height: 400px;
  }

  /* Extra Subpage Styles (inc. forms) */

  .subpage-content form > div {
    width: 100% !important;
  }

  /* gravity form mobile */

  .contact-form-gravity .gform_body {
    padding: 0;
  }
  .contact-form-gravity .gform_wrapper.gravity-theme .gf_page_steps {
    text-align: left;
  }

  .contact-form-gravity h2,
  .contact-form-gravity h3 {
    font-size: 25px;
  }

  .contact-form-gravity .gform_heading .gform_title {
    font-size: 33px;
  }

  .contact-form-gravity .ginput_container input[type="checkbox"],
  .contact-form-gravity .ginput_container input[type="radio"] {
    margin-top: 7px;
  }

  .contact-form-gravity .ginput_container .gchoice {
    display: flex;
    margin-bottom: 8px;
  }

  .contact-form-gravity .gform_page_footer input[type="button"],
  .contact-form-gravity .gform_page_footer input[type="submit"] {
    min-width: unset;
    flex-grow: 1;
    max-width: 50%;
  }

  .contact-form-gravity .gform_wrapper.gravity-theme .gform_save_link.button {
    width: 100%;
    margin-left: 0;
  }
  .contact-form-gravity .gform_page_footer {
    display: flex;
    flex-wrap: wrap;
  }

  .contact-form-gravity .gform_wrapper.gravity-theme .gfield_label {
    font-size: 18px;
  }

  .contact-form-gravity .gform_wrapper.gravity-theme .gfield_checkbox label,
  .contact-form-gravity .gform_wrapper.gravity-theme .gfield_radio label,
  .contact-form-gravity .gform_wrapper.gravity-theme .gfield select {
    font-size: 16px;
  }

  .gform_wrapper.gravity-theme .instruction {
    font-size: 14px;
  }

  .contact-form-gravity .gform_heading .gform_title {
    font-size: 33px;
    padding: 0 0px;
    line-height: 1;
    margin-bottom: 20px;
  }

  .contact-form-gravity .gform_wrapper.gravity-theme .gf_page_steps {
    margin-bottom: 40px;
  }
}

video.responsive-video {
  /* width: 100%;
  height: auto; */
  width: 620px;
  height: 500px;
  object-fit: cover;
}

/* 1280px > screen width > 960px */
@media screen and (max-width: 1280px) and (min-width: 961px) {
  video.responsive-video {
    width: 460px;
    height: 500px;
  }
}

/* 960px > screen width > 767px */
@media screen and (max-width: 960px) and (min-width: 768px) {
  video.responsive-video {
    width: 364px;
    height: 500px;
  }
}

/* 767px > screen width > 479px */
@media screen and (max-width: 767px) and (min-width: 480px) {
  video.responsive-video {
    width: 420px;
    height: 350px;
  }
}

/* 767px > screen width > 479px */
@media screen and (max-width: 479px) {
  video.responsive-video {
    width: 300px;
    height: 350px;
  }
}

/* Mobile Landscape Size */
@media only screen and (max-width: 479px) {
  .generic article img.alignleft {
    max-width: 100%;
  }
  div.wp-caption.alignleft,
  div.wp-caption.alignright {
    max-width: 100% !important;
  }

  /*::::::::::::::: Developments Listings ::::::::::::*/
  .promotional-badge,
  .two-thirds.column.similar-developments .promotional-badge {
    margin-left: 177px;
    margin-top: 10px;
    width: 110px;
    height: 110px;
  }

  .promotional-badge p {
    width: 110px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 15px;
    line-height: 18px;
  }

  /*::::::::::::::::: Single House ::::::::::::: */
  .floor-plans .floor-plan-image img {
    max-width: 300px;
    max-height: 300px;
  }
}

/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {
}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {
}

/* Retina Backgrounds */
@media (-webkit-min-device-pixel-ratio: 1.5) {
}

@media only screen and (max-width: 959px) {
  .news-and-announcements .button {
    font-size: 15px;
    line-height: 21px;
    padding: 6px 10px 8px 10px;
  }

  .page-template-tnh-home-promotion-test .badge,
  .home .badge,
  .single-house .overview .badge {
    margin: 20px auto 0 !important; /*override the prralax styles added with jquery*/
    position: static !important;
  }

  .floor-plans .floor-plan-tabs {
    text-align: center;
  }

  .floor-plans .floor-plan-tabs a {
    display: inline-block;
  }

  .floor-plans .floor-plan-image {
    border-right: none;
    padding: 0px;
  }
}

@media only screen and (min-width: 768px) {
  .sub-nav h2 {
    display: none !important;
  }

  .sub-nav ul {
    display: block !important;
  }

  /* Single House */

  .other-home-styles {
    border-right: solid 3px #371a43;
  }

  .housing .column.other-home-styles > div {
    padding: 0 40px 0 0;
  }

  .other-home-styles a.image-wrapper {
    max-height: 351px;
  }

  .related-developments h2 {
    font-size: 32px;
    line-height: 38px;
    margin-bottom: 30px;
  }

  .related-developments .similar-developments .column {
    float: left;
    width: calc(50% - 20px);
  }

  .similar-developments h2 {
    padding-left: 30px;
  }

  /* News */

  .news.archive .title-bar h1 {
    float: left;
    margin-bottom: 0px;
  }

  select.month-selector {
    float: right;
    /* width:275px; */
    margin-right: 17px;
  }
}

@media only screen and (min-width: 960px) {
  .page-template-tnh-home-promotion-test .badge,
  .home .badge {
    position: absolute;
    left: 12%;
    top: 90%;
    transform: translate(-50%, -50%);
  }

  .single-house .overview .badge {
    position: absolute;
    right: -14%;
    top: 90%;
    transform: translate(-50%, -50%);
  }

  .housing .column > div,
  .housing .columns > div {
    padding: 0 20px;
  }

  footer .vps {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 27%;
  }
}

@media only screen and (min-width: 1281px) {
  .nav-wrapper {
    display: block !important;
  }

  header {
    transition: padding 0.5s;
  }

  header.compact {
    padding: 2px 20px;
  }

  main {
    transition: padding-top 0.5s;
  }

  header.compact + main {
    padding-top: 40px;
  }

  .page-template-tnh-home-promotion-test .badge,
  .home .badge {
    left: 16.5%;
  }

  .single-house .overview .badge {
    right: -8%;
  }

  main.generic article {
    padding-right: 100px;
  }
}

/* #Font-Face
================================================== */
@font-face {
  font-family: "open-sans-regular";
  src:
    url("../fonts/open-sans/open-sans-regular.woff2") format("woff2"),
    url("../fonts/open-sans/open-sans-regular.woff2") format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "open-sans-bold";
  src:
    url("../fonts/open-sans/open-sans-bold.woff2") format("woff2"),
    url("../fonts/open-sans/open-sans-bold.woff2") format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon/icomoon.eot?8mzdb9");
  src:
    url("../fonts/icomoon/icomoon.eot?8mzdb9#iefix") format("embedded-opentype"),
    url("../fonts/icomoon/icomoon.ttf?8mzdb9") format("truetype"),
    url("../fonts/icomoon/icomoon.woff?8mzdb9") format("woff"),
    url("../fonts/icomoon/icomoon.svg?8mzdb9#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-close-quotes:before {
  content: "\e906";
}
.icon-triangle-left:before {
  content: "\e907";
}
.icon-triangle-right:before {
  content: "\e908";
}
.icon-arrow-left:before {
  content: "\e904";
}
.icon-arrow-right:before {
  content: "\e905";
}
.icon-open-quotes:before {
  content: "\e900";
}
.icon-facebook:before {
  content: "\e901";
}
.icon-search:before {
  content: "\e902";
}
.icon-twitter:before {
  content: "\e903";
}
.icon-menu:before {
  content: "\e916";
}
.icon-cross:before {
  content: "\e90a";
}

.icon-instagram:before {
  content: "\e905";
}

/* #Sliding Sections - used with the slidingSections function in tnh-custom-scripts.js
================================================== */
.module {
  opacity: 0;
}

.come-in {
  transform: translateY(150px);
  animation: come-in 0.8s ease forwards;
  opacity: 1;
}
.come-in:nth-child(odd) {
  animation-duration: 0.6s;
}
.already-visible {
  transform: translateY(0);
  animation: none;
  opacity: 1;
}

.ie9 .come-in {
  transform: none !important;
}

@keyframes come-in {
  to {
    transform: translateY(0);
  }
}

/* # Parallax objects - used with the parallaxItems function in tnh-custom-scripts.js
================================================== */
.spiral {
  position: absolute;
}

img.parallax {
  transition: margin 1s;
  margin: 100px 0 0 0;
}

/* # IE9 Hacks
================================================== */
.ie9 .social-links a[href="#site-search"] {
  display: none;
}
