/*=======================

    Vista Companies 

    Murcury #E3E3DD
    Ash #A0D1CA
    Bermuda Grey #7790A8
    Blue #1D4F91
    Brown Rust #C66E4E
    Muesli #A47F4E
    Charcoal #373A36

=======================*/

@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");

/* ==========================================================================
    Global
========================================================================== */

html {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  background: #e3e3dd;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
  font-family: Montserrat;
}

ul {
  list-style-type: none;
  margin-top: 0;
  margin-bottom: 0;
}

/* ==========================================================================
    Text
========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 300;
  font-family: "Lora", "Lato", arial, sans-serif;
  margin: 0;
  padding: 0;
  color: #373a36;
  letter-spacing: 0.02em;
}

h1,
h2,
h3 {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.2em;
}

h1 {
  font-size: 2em;
  padding: 20px 0;
}
h2 {
  font-size: 1.75em;
  padding: 20px 0;
  font-weight: 200;
  letter-spacing: 0.04em;
}
h3 {
  font-size: 1.5em;
  padding: 20px 0;
}

h4 {
  line-height: 1.5em;
  margin-bottom: 15px;
  font-family: Montserrat;
}

p {
  font-weight: 400;
  color: #333;
  font-size: 1.1rem;
  line-height: 1.5em;
  margin-top: 0;
  letter-spacing: 0.03em;
  margin-right: auto;
  margin-left: auto;
  font-family: "Montserrat", "open sans", arial, sans-serif;
  width: 100%;
}

a {
  color: #333;
  text-decoration: none;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  -ms-transition: all 300ms ease-in-out;
  -o-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}

.uppercase {
  text-transform: uppercase;
}

.inline-block {
  display: inline-block;
}

.text-center {
  text-align: center !important;
}

.box-centered {
  margin-right: auto;
  margin-left: auto;
  position: relative;
  display: block;
}

.sans-padded {
  padding-top: 0;
  padding-bottom: 0;
}

.inner-wrapper {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding-left: 60px;
  padding-right: 60px;
}

.inner-wrapper.flex {
  display: flex;
}

.button {
  min-width: 230px;
  padding: 0.6em 0;
  margin-right: 8px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  letter-spacing: 0.04em;
  background: transparent;
  font-size: 12px;
  font-weight: 600;
  -webkit-transition: all 150ms ease-in-out;
  -moz-transition: all 150ms ease-in-out;
  -o-transition: all 150ms ease-in-out;
  transition: all 150ms ease-in-out;
  text-transform: uppercase;
  display: block;
  max-width: 310px;
  font-size: 0.875rem;
  color: #26334a;
  text-align: left;
  border-radius: 0;
  border: 2px solid #26334a;
  position: relative;
  padding-right: 50px;
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 4px;
  height: 30px;
  line-height: 47px;
  height: 50px;
  padding-left: 40px;
  z-index: 1000;
  font-family: montserrat;
}

.button:after {
  content: "";
  width: 25px;
  height: 25px;
  background-image: url(../img/black-button-arrow.png);
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

.white.button {
  color: #fff;
  border: 2px solid #fff;
}

.white.button:hover {
  background: #fff;
  color: #26334a;
}

.white.button:after {
  background-image: url(../img/white-button-arrow.png);
}

.button:hover {
  color: #fff;
  background: #26334a;
}

.button-color {
  background: #145091;
  border: none;
  outline: none;
  -webkit-box-shadow: 0 2px 3px 0 rgba(01, 0, 0, 0.18);
  box-shadow: 0 2px 3px 0 rgba(01, 0, 0, 0.18);
}

h2.title-text {
  padding-top: 0;
  padding-bottom: 15px;
  font-size: 2.4rem;
}

h4.super-title {
  color: #c66e4e;
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: 0;
  padding-bottom: 0;
}

.text-link {
  color: #c66e4e;
  font-family: lora;
  font-weight: 300;
  font-size: 1.8rem;
  margin-top: 20px;
  display: inline-block;
  position: relative;
  transition: 0.3s ease-in-out;
}

.text-link:after {
  content: "";
  height: 2px;
  background: #c66e4e;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  transition: 0.3s ease-in-out;
}

.text-link:hover:after {
  width: 100%;
}

#introduction-text-link {
  opacity: 0;
  transform: translateY(20px);
  transition: 0.3s ease-in-out;
}

#introduction-text-link.active {
  opacity: 1;
  transform: translateY(0px);
}

/* ==========================================================================
    Layout
========================================================================== */

#main-wrapper {
  width: 100%;
  padding: 0;
  margin: 0;
}

.section {
  padding: 0;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  position: relative;
}

.section.tall {
  padding-top: 80px;
  padding-bottom: 80px;
}

.flex {
  width: 100%;
  max-width: 1500px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
  position: relative;
}

.padded {
  padding-top: 60px;
  padding-bottom: 60px;
}

.box-centered {
  margin-right: auto;
  margin-left: auto;
}

hr.clear {
  width: 100%;
  height: 60px;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0px auto;
}

hr.clear-pretty {
  width: 25%;
  height: 6px;
  border: none;
  padding: 0;
  margin: 45px auto 45px;
  background: #d74123 !important;
  max-width: 180px;
}

hr.small-clear {
  margin-top: 30px;
  margin-bottom: 30px;
  height: 1px;
  background: #d1d4d6;
  margin-left: 0;
  max-width: 80px;
}

.full-width {
  width: 100%;
}

.full-width-section {
  width: 100%;
  padding-top: 80px;
  padding-bottom: 80px;
  margin: 0 auto;
  position: relative;
}

.full-width-image {
  margin: 0;
  padding: 0;
  width: 100%;
}

.full-bg {
  transform: scale(1, 1);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: left center;
  padding-top: 80px;
  padding-bottom: 80px;
}

.breaker-bar.offset {
  background: #145091;
  padding: 15px 40px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  max-width: 1300px;
  align-items: center;
  z-index: 1000;
  position: absolute;
  top: 0;
  transform: translateY(-50%) translateX(-50%);
  width: 100%;
  left: 50%;
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
}

.breaker-bar.offset.bottom {
  top: initial;
  bottom: 0;
  transform: translateY(50%) translateX(-50%);
}

.breaker-bar.offset:hover {
  box-shadow: 0 10px 60px -30px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  background: #c66e4e;
}

.breaker-bar.offset h2 {
  color: #fff;
}

.breaker-bar.offset a.text-link {
  font-size: 1.1rem;
  color: #fff;
  margin-top: 0;
  font-weight: 600;
  text-transform: uppercase;
  font-family: Montserrat;
}

.breaker-bar.offset a.text-link:after {
  background: #fff !important;
}

.left {
  float: left;
}

.right {
  float: right;
}

.one-fourth {
  width: 25%;
}

.one-fifth {
  width: 20%;
}

.three-fourths {
  width: 75%;
}

.one-third {
  width: 33.333%;
}

.two-thirds {
  width: 66.66%;
}

.one-half {
  width: 50%;
}

.one-fifth {
  width: 20%;
}

.two-fifths {
  width: 40%;
}

.three-fifths {
  width: 60%;
}

.four-fifths {
  width: 80%;
}

.white-bg {
  background: #f5f5f5 !important;
}

.grey-bg {
  background: #e3e3dd !important;
}

.text-white {
  color: #fff !important;
}

.blue-bg {
  background: #145091;
}

.footer-transition-nav {
  padding-top: 10vh;
  padding-bottom: 10vh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  overflow: hidden;
  background: #c66e4e;
  z-index: 1;
  position: relative;
}

.footer-transition-nav .one-half.left {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.footer-transition-nav .inner-wrapper {
  z-index: 100000;
}

.footer-transition-nav .inner-wrapper h2 {
  color: #fff;
  padding-right: 80px;
  font-size: 2.4rem;
}

.footer-transition-nav .transition-links a {
  display: block;
  font-size: 1.1rem;
  color: #fff;
  border-bottom: 1px solid #fff;
  padding-top: 20px;
  padding-bottom: 20px;
  position: relative;
  font-weight: 300;
  font-weight: 600;
}

.footer-transition-nav .transition-links a:hover {
  background: #fff;
  color: #333;
  padding-left: 20px;
}

.footer-transition-nav .transition-links a:after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: 0;
  width: 20px;
  height: 20px;
  background-image: url(../img/arrow-right-white.webp);
  background-size: 100% auto;
  background-position: center center;
  transform: translateY(-50%);
}

.block-row {
  position: relative;
  display: flex;
  background: #fff;
  overflow: hidden;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
  max-width: 100000% !important;
}

.block-row .stacked-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px;
  padding-left: 100px;
  padding-right: 100px;
  position: relative;
}

.block-row .stacked-box h2 {
  font-size: 3.1rem;
}

.block-row .stacked-box h4 {
  font-family: Montserrat;
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* ==========================================================================
    Header
========================================================================== */

#top-bar {
  height: 22px;
  background: #145091;
  text-align: right;
  padding-top: 0;
  padding-right: 20px;
}

#top-bar a,
#top-bar span {
  color: #fff;
  font-size: 0.675rem;
  font-family: Montserrat;
  text-transform: uppercase;
  line-height: 20px;
  display: inline-block;
  padding-top: 0;
  padding-bottom: 0;
}

#header {
  height: 90px;
  position: fixed;
  top: 0px;
  border-top: 4px solid #145091;
  left: 0;
  width: 100%;
  z-index: 10000;
  background: #e3e3dd;
  -webkit-transition: all 100ms ease-in-out;
  -moz-transition: all 100ms ease-in-out;
  -ms-transition: all 100ms ease-in-out;
  -o-transition: all 100ms ease-in-out;
  transition: all 100ms ease-in-out;
  -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
  max-height: 90px;
  overflow: hidden;
}

#header:hover {
  max-height: 100vh;
  overflow: visible;
}

#nav-wrapper {
  display: flex;
  justify-content: space-between;
  height: 85px;
}

#nav-wrapper #top-logo {
  margin-top: 5px;
  margin-left: 15px;
  height: 73px;
  width: 242px;
  background-image: url(../img/logo.png);
  background-size: auto 100%;
  background-position: left center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0px;
  left: 0px;
}

#nav-wrapper #top-nav {
  width: 60%;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 890px;
  padding-left: 0;
}

#nav-wrapper #top-nav .top-level-nav {
  position: relative;
  padding-bottom: 0px;
  display: block;
  padding-top: 5px;
  line-height: 80px;
}

#nav-wrapper #top-nav .top-level-nav:hover {
  cursor: pointer;
}

#nav-wrapper #top-nav li:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  background: red;
  width: 0;
  transition: width 0.1s ease-in-out;
}

#nav-wrapper #top-nav > li:hover:after {
  width: 100%;
}

#nav-wrapper #top-nav > li.dropdown:hover:after {
  width: 240px;
}

#nav-wrapper #top-nav > li {
  padding-bottom: 0px;
  position: relative;
}

#nav-wrapper #top-nav a {
  font-family: Montserrat;
  font-weight: 600;
  font-size: 0.875rem;
}

#nav-wrapper #top-nav .drop-down-container {
  position: absolute;
  top: 100%;
  left: 0;
  padding-left: 0;
  background: rgb(29, 79, 145, 0.95);
  -webkit-transition: all 2500ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
  z-index: -1;
  opacity: 0;
  display: flex;
  padding: 20px;
  min-width: 270px;
}

#nav-wrapper #top-nav li.dropdown:hover > .drop-down-container {
  opacity: 1;
  z-index: 10000;
}

#nav-wrapper .drop-down-container a {
  font-size: 2rem;
  color: #fff;
  transition: 0.3s ease-in-out;
  position: relative;
  padding-bottom: 0;
}

#nav-wrapper .drop-down-container a:after {
  content: "";
  height: 2px;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  transition: 0.1s ease-in-out;
}

#nav-wrapper .drop-down-container a:hover:after {
  width: 100%;
}

#nav-wrapper .drop-down-container .nav-content-block-video h3 {
  color: #fff;
  padding-top: 0;
  padding-bottom: 10px;
}

#nav-wrapper #top-nav .drop-down-container ul {
  align-content: flex-start;
  padding-top: 0px;
  padding-left: 0;
}

#nav-wrapper #top-nav .drop-down-container ul li {
  display: block;
  padding-bottom: 15px;
}

#nav-wrapper #top-nav .drop-down-container ul li a {
  font-size: 1rem;
  font-weight: 300;
  padding-bottom: 4px;
  font-weight: 500;
}

#nav-wrapper .nav-title {
  position: absolute;
  bottom: 0;
  left: 0;
  padding-bottom: 0;
  left: 20px;
  color: #fff;
  font-size: 4rem;
  font-weight: 300;
  margin-bottom: 0;
  display: none !important;
}

.investor-login {
  height: 40px;
  padding-left: 40px;
  padding-right: 40px;
  line-height: 40px;
  padding-top: 0;
  padding-bottom: 0;
  background: #145091;
  color: #fff;
  border-radius: 5px;
  display: block;
  position: absolute;
  top: 23px;
  right: 20px;
  font-size: 0.675rem;
  font-weight: 400;
  text-transform: uppercase;
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
  letter-spacing: 0.04em;
  -webkit-box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.18);
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.18);
}

.investor-login:hover {
  /* Move the background position to reveal the second color */
  background: #c66e4e;
}

/* Scrolling Header on home page
---------------------------------------------------------------------------*/

body.home #hero {
}

body.home #header {
  background: transparent;
  -webkit-transition: all 150ms ease-in-out;
  -moz-transition: all 150ms ease-in-out;
  -ms-transition: all 150ms ease-in-out;
  -o-transition: all 150ms ease-in-out;
  transition: all 150ms ease-in-out;
  box-shadow: inset 0 66px 40px 0 rgba(0, 0, 0, 0.1);
  height: 110px;
  max-height: 110px;
}

body.home #header #top-logo {
  background-image: url(../img/logo-white.png);
}

body.home.scrolling #header {
  background: #e3e3dd;
  -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
  max-height: 90px;
}

body.home #nav-wrapper #top-nav a {
  color: #fff;
}

body.home.scrolling  .top-level-nav {
  color: #333 !important;
}

body.home.scrolling #nav-wrapper #top-nav .sub-nav a {
  color: #fff;
}


body.home.scrolling #header #top-logo {
  background-image: url(../img/logo.png);
}



/* ==========================================================================
    Home Page
========================================================================== */

#hero {
  width: 100%;
  height: 100vh;
  position: relative;
  padding: 0;
  background: #000;
}

#hero #bgvid {
  width: auto;
  margin: 0 auto;
  height: 100vh;
  display: block;
  text-align: center;
  top: 0;
  left: 0;
  min-width: 100vw;
  opacity: 1;
}

#hero .hero-content {
  position: absolute;
  bottom: 15%;
  left: 60px;
  width: 50%;
}

#hero-tag {
  line-height: 2em;
  margin-bottom: 20px;
}

#hero-tag .word {
  transform: translateY(20px);

  font-size: 4rem;
  color: #fff;
}

#hero-tag .char {
  transform: translateY(20px);
  opacity: 0;
  -webkit-transition: all 400ms ease-in-out;
  -moz-transition: all 400ms ease-in-out;
  -ms-transition: all 400ms ease-in-out;
  -o-transition: all 400ms ease-in-out;
  transition: all 400ms ease-in-out;
}

#hero-tag .char.active {
  opacity: 1;
  transform: translateY(0);
}

#hero .hero-content p {
  color: #fff;
  font-family: Montserrat;
  margin-bottom: 20px;
  opacity: 0;
  transform: translateY(20px);
  -webkit-transition: all 400ms ease-in-out;
  -moz-transition: all 400ms ease-in-out;
  -ms-transition: all 400ms ease-in-out;
  -o-transition: all 400ms ease-in-out;
  transition: all 400ms ease-in-out;
}

#hero .hero-content p.active {
  opacity: 1;
  transform: translateY(0);
}

#hero .hero-content .button {
  transform: translateY(20px);
  opacity: 0;
}

#hero .hero-content .button.active {
  opacity: 1;
  transform: translateY(0);
}

#introduction {
  background: #fff;
}

#introduction .text-container {
  padding-left: 100px;
  padding-right: 60px;
}

#introduction h2 {
  font-size: 2.15rem;
  text-align: left;
  max-width: 85%;
}

#introduction h2 .word {
  color: #fff;
  transform: translateY(1.1rem);
  opacity: 0;
  -webkit-transition: all 400ms ease-in-out;
  -moz-transition: all 400ms ease-in-out;
  -ms-transition: all 400ms ease-in-out;
  -o-transition: all 400ms ease-in-out;
  transition: all 400ms ease-in-out;
}

#introduction h2 .word.active {
  transform: translateY(0);
  opacity: 1;
  color: #373a36;
}

#what-we-do {
  padding-left: 60px;
  padding-right: 60px;
  max-height: 90vh;
  overflow: hidden;
}

#what-we-do .slider-container {
  width: 100%;
  overflow: hidden;
}

#what-we-do .slider-container:hover {
  cursor: grab;
}

.slick-list,
.slider-container {
  overflow: visible !important;
}

.slider-container .slider-card {
  margin-left: 0px;
  margin-right: 20px;
  position: relative;
  -webkit-transition: all 400ms ease-in-out;
  -moz-transition: all 400ms ease-in-out;
  -ms-transition: all 400ms ease-in-out;
  -o-transition: all 400ms ease-in-out;
  transition: all 400ms ease-in-out;
  background: #fff;
}

.slider-card:hover {
  background: #f5f5f5;
  cursor: pointer;
}

.slider-container .slider-card:hover {
  box-shadow: 0 10px 60px -30px rgba(0, 0, 0, 0.5);
  background: #fff;
}

.slider-container .slider-card .slider-image {
  position: relative;
  width: 100%;
}

.slider-container .slider-card .slider-image img {
  width: 100%;
}

.slider-card-content {
  padding: 30px;
  padding-top: 10px;
  -webkit-transition: all 400ms ease-in-out;
  -moz-transition: all 400ms ease-in-out;
  -ms-transition: all 400ms ease-in-out;
  -o-transition: all 400ms ease-in-out;
  transition: all 400ms ease-in-out;
}

.slider-card-content:hover {
  background: #fff;
}

.slider-container .slick-arrow {
  display: none !important;
}

.slider-card-content h4 {
  font-weight: 500;
}

.slider-card .text-link {
  font-size: 0.875rem;
  font-family: Montserrat;
  font-weight: 600;
  text-transform: uppercase;
}

#credit-points {
  background: #fff;
  padding-bottom: 100px;
}

#credit-points .counter {
  font-size: 6rem;
}

#credit-points .counter-box {
  text-align: center;
}

#credit-points .counter-box h4 {
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 600;
}

#property-search.home-page {
  padding-top: 140px;
}

#property-search {
  padding-top: 0;
  padding-left: 50px;
  padding-right: 50px;
  padding-top: 60px;
}

#property-search .map-placeholder {
  width: 100%;
}

#latest-news {
  background: #fff;
}

#latest-news h4 {
  color: #c66e4e;
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 5px;
}

#latest-news h2 {
  padding-top: 0;
  padding-bottom: 5px;
  padding-right: 30px;
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
}

.featured-article,
.feed-article {
  position: relative;
}

.featured-article:hover,
.feed-article:hover {
  cursor: pointer;
}

.featured-article h2:hover,
.feed-article h2:hover {
  color: #c66e4e;
}

.featured-article img,
.feed-article img {
  width: 100%;
  margin-bottom: 15px;
  height: auto;
}

.featured-article {
  padding-right: 40px;
}

.feed-article {
  border-bottom: 1px solid #333;
  padding-bottom: 15px;
  padding-top: 15px;
  align-items: center;
}

.feed-article h2 {
  font-size: 1.2rem;
}

.feed-article:first-child {
  padding-top: 0;
}

.feed-article {
  position: relative;
  display: flex;
}

.feed-article img {
  width: 120px;
  margin-right: 40px;
  height: auto;
}

#bottom-callout {
  height: 90vh;
  position: relative;
  overflow: hidden;
  background: #000;
}

#bottom-callout img {
  position: absolute;
  min-height: 100%;
  width: auto;
  width: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  opacity: 0.7;
}

#bottom-callout img:before {
  content: "";
  background: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  z-index: 2;
  position: absolute;
}

#bottom-callout .cta-text {
  z-index: 3;
  align-items: flex-start;
}

#bottom-callout .cta-text h2 {
  font-size: 3.1rem;
  color: #fff;
  padding-top: 0;
  padding-right: 60px;
}

#bottom-callout .cta-text p {
  color: #fff;
  font-size: 1.4rem;
  margin-bottom: 40px;
}

/* ==========================================================================
    General Layout
========================================================================== */

.inner-hero {
  width: 100%;
  height: 80vh;
  position: relative;
  padding: 0;
  background: #000;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center center;
}

.inner-hero:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.inner-hero .hero-content {
  padding-left: 100px;
  padding-right: 100px;
  padding-bottom: 100px;
  max-width: 1200px;
  z-index: 2;
}

.inner-hero .hero-content h2 {
  color: #fff;
  font-size: 3.4rem;
  padding-top: 0px;
  padding-bottom: 10px;
}

.inner-hero .hero-content p {
  color: #fff;
  max-width: 800px;
  margin-left: 0;
}

/* ==========================================================================
    Our Firm
========================================================================== */

#intro-quote h3 {
  font-size: 2.4rem;
  font-weight: 300;
  font-style: italic;
}

.author-container {
  width: 400px;
  display: flex;
  position: relative;
}

.author-container .author-image-container {
  width: 33%;
  position: relative;
  overflow: hidden;
  padding-top: 33%;
  border-radius: 50%;
}

.author-container .author-image-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 105%;
}

.author-container .author-tag {
  max-width: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 20px;
}

.author-container .author-tag h4 {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 5px;
}

.voice-slider-container {
  padding-top: 40px;
}

#firm-voices {
  padding-bottom: 100px;
  max-height: 120vh;
  overflow: hidden;
}

.voice-slide {
  display: flex !important;
  min-height: 600px !important;
}

.voice-slide .voice-image {
  width: 40%;
  height: 100%;
  background-size: cover;
  background-position: center center;
}

.voice-slide .voice-quote-container {
  background: #145091;
  padding: 40px;
  height: 100%;
  width: 55%;
}

.voice-slide .voice-quote-container h2 {
  color: #fff;
  font-size: 3.1rem;
  font-style: italic;
}

.voice-slide .voice-quote-container h3 {
  color: #fff;
  font-family: Montserrat;
}

.voice-slide .voice-quote-container h4 {
  font-family: Montserrat;
  color: #fff;
  margin-bottom: 5px;
  padding-bottom: 0;
}

.voice-slider-container .slick-prev {
  left: initial;
  right: 45px;
}

body .slick-prev:before,
body .slick-next:before {
  color: #333;
  opacity: 1;
  font-size: 45px;
  opacity: 0;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 0 !important;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0 !important;
}

body .slick-next,
body .slick-prev {
  background-image: url(../img/arrow-right.png) !important;
  background-size: 100% auto !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

body .slick-prev,
body .slick-next {
  top: 98%;
  width: 30px;
  height: 30px;
  transform: translateY(40px);
}

body .slick-prev {
  transform: translateY(40px) rotate(180deg);
}

#our-companies {
  max-height: 80vh;
  overflow: hidden;
}

.history-box-wrapper {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
  height: 70vh;
}

#history-box h2.history-title {
  position: absolute;
  rotate: 90deg;
  font-size: 4rem;
  color: #fff;
  left: 0;
  top: 38%;
  transform: translateY(-50%);
  left: -284px;
  text-transform: uppercase;
}

#history-box {
  height: 70vh;
  position: relative;
  background: #145091;
  position: absolute;
  background: #145091;
  top: 0;
  left: 0;
  transform: translate(0, 0);
  overflow: hidden;
}

/* ==========================================================================
    Leadership
========================================================================== */

.leadership-flex {
  display: flex;
  flex-wrap: wrap;
}

.leadership-container {
  background: #fff;
  border-radius: 20px;
  -webkit-box-shadow: -30px 15px 30px 0 rgb(0 0 0 / 19%);
  box-shadow: 0px 10px 30px 0 rgb(0 0 0 / 15%);
  position: relative;
  z-index: 100;
  padding-top: 60px;
  padding-bottom: 60px;
}

#leadership .header-block-wrapper {
  padding-top: 120px;
}

#leadership .header-block-wrapper h3,
#leadership .header-block-wrapper h2 {
  color: #fff;
}

#leadership .header-block-wrapper img {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.leadership-flex .leader-card {
  width: 31%;
  margin-right: 2%;
  margin-left: 0;
  margin-bottom: 40px;
  background: #fefefe;
  text-align: center;
  position: relative;
  padding-left: 20px;
  padding-right: 20px;
  background-size: cover;
  padding-top: 40%;
  overflow: hidden;
  background-position: center center;
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
}

.leadership-flex .leader-card:hover {
  -webkit-box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.18);
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.18);
}

.leadership-flex .leader-card .title-wrapper {
  position: absolute;
  bottom: 20px;
  left: 0px;
  text-align: left;
  width: 100%;
  padding-left: 20px;
  padding-bottom: 20px;
}

.leadership-flex .leader-card .title-wrapper h3 {
  color: #fff;
  padding-bottom: 0;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

.leadership-flex .leader-card .title-wrapper h4 {
  color: #fff;
  text-shadow: 0 0 5px #212121;
  padding-right: 40px;
  font-weight: 400;
}

.leadership-flex .leader-card.dev-team img {
  margin-bottom: 20px;
}

.leadership-flex .leader-card.dev-team h5 {
  font-size: 2.4rem;
}

.leadership-flex .leader-card a {
  max-width: 210px;
  margin-right: auto;
  margin-left: aUTO;
  text-align: center;
  width: 100%;
  min-width: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.leadership-flex .leader-card:hover {
  cursor: pointer;
}

.leadership-flex .leader-card img {
  width: 66%;
  margin-left: auto;
  margin-right: auto;
}

.leadership-flex .leader-card h3,
.leadership-flex .leader-card h4 {
  padding-left: 10px;
  padding-right: 10px;
  color: #666;
}

.leadership-flex .slick-dots {
  bottom: -40px;
}

.leadership-flex .leader-card h4 {
  color: #1e4664;
  font-weight: 900;
}

.leadership-container .button,
.standard-team .button {
  margin-bottom: 20px;
}

.leadership-flex .leader-card h3 {
  color: #666;
  font-weight: 300;
}

#standards-council {
  padding-top: 180px;
}

#leadership h2.fly-wheel-title,
#standards-council h2.fly-wheel-title {
  padding-top: 5px;
  font-size: 4.1rem;
  padding-bottom: 30px;
}

.leadership-flex .leader-card h4 {
  text-transform: uppercase;
  font-size: 1.4rem;
}

.leadership-flex .leader-card h4 {
  font-size: 1.4rem;
  padding-top: 20px;
  margin-bottom: 0;
}

.leadership-flex .leader-card h3 {
  font-size: 1rem;
  padding-top: 10px;
  font-family: coolvetica, sans-serif;
  padding-bottom: 30px;
  text-transform: capitalize;
  padding-top: 10px;
  padding-bottom: 30px;
}

.leader-card-pop {
  width: 100%;
  max-width: 1200px;
  position: absolute;
  top: 50%;
  left: calc(100% - 50%);
  transform: translateX(-50%) translateY(-50%);
  bottom: -110vh;
  -webkit-transition: all 50ms ease-in-out;
  -moz-transition: all 50ms ease-in-out;
  -ms-transition: all 50ms ease-in-out;
  -o-transition: all 50ms ease-in-out;
  transition: all 50ms ease-in-out;
  background: #fff;
  -webkit-box-shadow: -30px 15px 30px 0 rgb(0 0 0 / 19%);
  box-shadow: 0px 10px 30px 0 rgb(0 0 0 / 15%);
  opacity: 0;
  border-radius: 10px;
  padding: 0px;
  max-height: 0vh;
  overflow: hidden;
}

.pop-name-title {
  max-width: 200000px;
}

.leader-card-pop.active {
  opacity: 1;
  z-index: 1000000000000;
  position: fixed;
  height: 80vh;
  max-height: 1000000vh;
}

.leader-card-pop .clear-both {
  width: 100%;
  clear: both;
  margin-top: 40px;
}

.leader-card-pop .one-third h4,
.leader-card-pop .one-third h3 {
  padding-left: 15px;
  padding-right: 15px;
}

.leader-card-pop .leader-close {
  width: 60px;
  height: 60px;
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 1rem;
  z-index: 10000000;
  color: #145091;
  text-align: center;
  line-height: 60px;
  font-size: 1.8rem;
  font-weight: 300;
}

.leader-card-pop .leader-close:hover {
  cursor: pointer;
}

.leader-card-pop .headshot-holder {
  width: 50%;
  height: 80vh;
  background-size: cover;
  background-position: center center;
}

.leader-card-pop .one-third img {
  width: 100%;
  margin-bottom: 20px;
}

.leader-card-pop .two-thirds {
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
  justify-content: flex-start;
}

.leader-card-pop .pop-name-title {
  display: flex;
  position: relative;
  align-self: center;
}

.leader-card-pop .pop-bio {
  overflow-y: auto;
  height: 80vh;
}

.leader-card-pop .pop-bio h3 {
  font-size: 3rem;
  margin-bottom: 0;
  padding-bottom: 5px;
}

.close-text:hover {
  cursor: pointer;
}

@media only screen and (min-width: 900px) {
  .leader-card-pop .two-thirds {
    min-height: 65vh;
  }
}

/* ==========================================================================
    Solutions Page
========================================================================== */

.solutions-grid {
  display: flex;
  flex-wrap: wrap;
}

.solutions-grid .slider-card {
  width: 48%;
  margin-left: 0%;
  margin-right: 2%;
  margin-bottom: 2%;
  position: relative;
  -webkit-transition: all 150ms ease-in-out;
  -moz-transition: all 150ms ease-in-out;
  -ms-transition: all 150ms ease-in-out;
  -o-transition: all 150ms ease-in-out;
  transition: all 150ms ease-in-out;
}

.solutions-grid .slider-card:hover {
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.18);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.18);
}

.solutions-grid .slider-card img {
  width: 100%;
}

.solutions-grid .slider-card {
  background: #fff;
}

/* ==========================================================================
    Our Clients
========================================================================== */

/* Marquee
------------------------------------*/

#marquee-contain {
  width: 100%;
  padding-top: 60px;
  padding-bottom: 0px;
  margin: 0 auto;
  position: relative;
  position: relative;
  max-width: 100vw;
  overflow: hidden;
  background: #fff !important;
  max-height: 70vh;
  overflow: hidden;
}

.marquee {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
}

.marquee_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-animation: ticker 60s infinite linear;
  animation: ticker 60s infinite linear;
  margin-top: 40px;
  margin-bottom: 40px;
}

.marquee_list .marquee_item {
  color: #fff;
  font-size: 1.4rem;
  padding-left: 40px;
  padding-right: 40px;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
}

#marquee-contain .bottom-scroller {
  padding-right: 200px;
  transform: translateX(-200%);
}

#marquee-contain .bottom-scroller .marquee_list {
  -webkit-animation: ticker-reverse 120s infinite linear;
  animation: ticker-reverse 120s infinite linear;
}

.marquee_list .marquee_item img {
  width: 150px;
}

@-webkit-keyframes ticker {
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes ticker {
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@-webkit-keyframes ticker-reverse {
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}

@keyframes ticker-reverse {
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}

/* ==========================================================================
    Single Service
========================================================================== */

.services-intro {
  display: flex;
}

.services-intro .block-row {
  padding-top: 100px;
  padding-bottom: 100px;
}

.service-hero {
  height: 50vh;
}

.service-hero .hero-content {
  transform: translateY(-10%);
  padding-bottom: 0;
  bottom: 0%;
  position: absolute;
}

.services-intro .text-container h2 {
  font-size: 3rem;
  margin-bottom: 0;
  padding-bottom: 15px;
  padding-top: 10px;
}

.services-intro .text-container h3 {
  font-family: "Montserrat", "open sans", arial, sans-serif;
  font-weight: 600;
  padding-bottom: 0;
}

.services-intro .image-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 50px;
}

.services-intro .image-container img {
  width: 80%;
}

.services-intro .text-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 60px;
}

.service-intro-title {
  padding-top: 60px;
  margin-bottom: 15px;
}

.service-list {
  padding-bottom: 60px;
}

.services-blocks-conatiner {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.services-blocks-conatiner .service-block {
  padding: 30px;
  background: #fff;
  width: 31%;
  margin-right: 2%;
  margin-bottom: 2%;
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
}

.services-blocks-conatiner .service-block:hover {
  cursor: pointer;
  -webkit-box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.1);
}

.service-block h2 {
  font-size: 1.8rem;
  margin-bottom: 15px;
  padding-bottom: 0;
  font-family: "Montserrat", "open sans", arial, sans-serif;
  font-weight: 600;
}

/* ==========================================================================
    Reputation
========================================================================== */

body #reputation {
  padding-bottom: 100px;
}

#reputation h3 {
  font-size: 2.1rem;
  font-weight: 300;
  font-style: italic;
}

.author-container {
  width: 400px;
  display: flex;
  position: relative;
}

.author-container .author-image-container {
  width: 33%;
  position: relative;
  overflow: hidden;
  padding-top: 33%;
  border-radius: 50%;
}

.author-container .author-image-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.author-container .author-tag {
  max-width: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 20px;
}

.author-container .author-tag h4 {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 5px;
}

.reputation-slider-container .slick-prev {
  left: initial;
  right: 45px;
}

.testimonial-block {
  opacity: 0.5;
  -webkit-transition: all 150ms ease-in-out;
  -moz-transition: all 150ms ease-in-out;
  -ms-transition: all 150ms ease-in-out;
  -o-transition: all 150ms ease-in-out;
  transition: all 150ms ease-in-out;
}

.testimonial-block.slick-active {
  opacity: 1;
}

/* ==========================================================================
    Careers
========================================================================== */

.career-list ul {
  list-style-type: none;
  padding-left: 0;
}

.career-list ul li {
  padding: 10px 20px;
  display: flex;
  justify-content: space-between;
  background: #eee;
}

.career-list ul li:nth-child(odd) {
  background: #fff;
}

.form-header {
  max-width: 660px;
  margin-left: auto;
  margin-right: auto;
}

.form {
  background: #eee;
  border-radius: 5px;
  padding: 40px;
  -webkit-box-shadow: 0 2px 3px 0 rgba(01, 0, 0, 0.18);
  box-shadow: 0 2px 3px 0 rgba(01, 0, 0, 0.18);
}

.form label {
  display: block;
  font-weight: 500;
  padding-bottom: 4px;
}

.form input,
.form textarea,
.form select {
  border-radius: 5px;
  width: 100%;
  border: none;
  outline: none;
  height: 50px;
  font-size: 14px;
  background: #fff;
  margin-bottom: 15px;
}

.form input[type="file"] {
  padding-top: 10px;
  padding-left: 20px;
  background: none;
  border: none;
}

.form button[type="submit"] {
}

.wpcf7 .wpcf7-form-control.wpcf7-submit {
    text-align: center;
    line-height: 40px;
    border: 2px solid #fff !important;
}

.wpcf7 .wpcf7-form-control.wpcf7-submit:hover {
    cursor: pointer;
}


/* ==========================================================================
    Case Studies
========================================================================== */

#case-studies-list .inner-wrapper {
  display: flex;
  flex-wrap: wrap;
}

#case-study-container {
  padding-bottom: 80px;
  margin-top: 0px;
  max-height: 100vh;
  overflow: hidden;
}

#case-studies-list .slider-card {
  width: 48%;
  margin-right: 2%;
  margin-bottom: 2%;
  position: relative;
  background: #fff;
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
}

#case-studies-list .slider-card:hover {
  -webkit-box-shadow: 0 2px 8px 0 rgba(01, 0, 0, 0.18);
  box-shadow: 0 2px 8px 0 rgba(01, 0, 0, 0.18);
  cursor: pointer;
}

#case-studies-list .slider-card img {
  width: 100%;
}

.case-study-photo {
  position: relative;
  padding-left: 20px;
  padding-right: 20px;
  height: 75vh !important;
  background-size: cover;
  margin-left: 10px;
  margin-right: 10px;
  background-position: center;
  opacity: 0;
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
  opacity: 0.5;
  overflow: hidden;
}

.case-study-photo .property-info {
  background: rgba(20, 80, 145, 0.9);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  opacity: 0;
  transform: translateY(100%);
  -webkit-transition: all 550ms ease-in-out;
  -moz-transition: all 550ms ease-in-out;
  -ms-transition: all 550ms ease-in-out;
  -o-transition: all 550ms ease-in-out;
  transition: all 550ms ease-in-out;
}

.case-study-photo .property-info h3,
.case-study-photo .property-info p,
.case-study-photo .property-info a.text-link {
  color: #fff;
}

.case-study-photo .property-info h3 {
  font-family: Montserrat;
  font-weight: 500;
  text-transform: uppercase;
  padding-bottom: 5px;
}

.case-study-photo .property-info p {
  margin-bottom: 0;
  padding-bottom: 10px;
}

.case-study-photo .property-info a.text-link {
  font-size: 1rem;
  margin-top: 20px;
  text-transform: uppercase;
  font-weight: 600;
  font-family: Montserrat;
}

.case-study-photo .property-info a.text-link:after {
  background: #fff;
}

.case-study-photo.slick-active {
  opacity: 1;
}

.case-study-photo.slick-active .property-info {
  transform: translateY(0);
  opacity: 1;
}

.case-study-gallery .slick-prev {
  left: initial;
  right: 45px;
  opacity: 8;
}

#case-study-content {
  padding-top: 100px;
  padding-bottom: 100px;
}

#case-study-content ul {
  list-style-type: disc;
}

#case-study-content ul li {
  padding-bottom: 10px;
}

.case-study-info {
  padding-right: 40px;
}

.case-study-stats .grid {
  background: #145091;
  margin-left: 40px;
  -webkit-box-shadow: 0 2px 3px 0 rgba(01, 0, 0, 0.18);
  box-shadow: 0 2px 3px 0 rgba(01, 0, 0, 0.18);
  border-radius: 5px;
  padding: 40px;
}
.case-study-stats h3 {
  border-bottom: 1px solid #fff;
  text-transform: none;
  padding-bottom: 4px;
  margin-bottom: 15px;
}

.case-study-stats h3,
.case-study-stats p {
  color: #fff;
  text-align: left;
}

.single-property-location-map {
  width: 100%;
  height: 50vh;
}

.single-property-location-map iframe {
	width: 100%;
	height: 100%;
}

.property-contact-info {
  background: #fff;
  padding: 20px;
}

/* ==========================================================================
    Company Directory
========================================================================== */

.directory-item {
  width: 100%;
  background: #eee;
  padding: 10px 20px;
  display: flex;
  justify-content: space-between;
}

.directory-item:nth-child(odd) {
  background: #fff;
}

/* ==========================================================================
    Why Vista Credit Points
========================================================================== */

#credit-points.why-vista-credit-points {
  background: #145091;
}

#credit-points.why-vista-credit-points h3,
#credit-points.why-vista-credit-points h4 {
  color: #fff;
}

#why-choose-blocks .get-to-know-grid {
  display: flex;
  flex-wrap: wrap;
}

#why-choose-blocks .get-to-know-grid a {
  display: block;
  height: 50vh;
  background-size: cover;
  position: relative;
  margin-right: 2%;
  margin-bottom: 2%;
  width: 48%;
  overflow: hidden;
}

#why-choose-blocks .get-to-know-grid .get-to-know-content {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 20px;
  background-color: rgb(20, 80, 145, 0.8);
  -webkit-transition: all 150ms ease-in-out;
  -moz-transition: all 150ms ease-in-out;
  -ms-transition: all 150ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 150ms ease-in-out;
  transform: translateY(50%);
}

#why-choose-blocks a:hover .get-to-know-content {
  transform: translateY(0);
}

#why-choose-blocks .get-to-know-grid .get-to-know-content h2,
#why-choose-blocks .get-to-know-grid .get-to-know-content p {
  color: #fff;
}

#why-choose-blocks .get-to-know-grid .get-to-know-content p {
  opacity: 0;
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
}

#why-choose-blocks .get-to-know-grid a:hover .get-to-know-content p {
  max-height: 100000px;
  opacity: 1;
}

/* ==========================================================================
    Latest News
========================================================================== */

body.blog .inner-hero .hero-content {
  padding-bottom: 40px;
}

.breadcrumbs {
  margin-top: 100px;
  padding-left: 20px;
  font-size: 0.875rem;
  font-weight: 800;
  display: none !important;
}

.blog-roll {
  display: flex;
  flex-wrap: wrap;

  padding-top: 40px;
}

.blog-roll article {
  width: 31%;
  margin-right: 1%;
  margin-left: 1%;
  margin-bottom: 2%;
  position: relative;
  align-items: flex-start;
  align-items: stretch;
  background: #fff;
  transition: all 400ms ease-in-out;
}

.blog-roll article:hover {
  cursor: pointer;
  box-shadow: 0 10px 60px -30px rgba(0, 0, 0, 0.5);
}

.blog-roll article img {
  width: 100%;
  height: auto;
}

.post-thumbnail {
  width: 100%;
  padding-top: 66%;
  background-size: cover;
  background-position: center center;
}

.article-entry-content {
  background: #fff;
  padding: 20px;
}

.article-entry-content a.text-link {
  font-size: 0.875rem;
  font-family: Montserrat;
  font-weight: 600;
  text-transform: uppercase;
}

.posted-on {
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 5px;
}

.article-entry-content p {
  font-size: 0.875rem;
}

.article-entry-content .text-link {
  display: inline-block;
}

.article-wrapper {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  margin-top: 120px;
  padding-top: 0;
  background: #fff;
  box-shadow: 0 10px 60px -30px rgba(0, 0, 0, 0.5);
}

.article-wrapper img {
  width: 100%;
  height: auto;
}

.single-post .post-navigation {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}

.single-post .entry-content {
  padding: 40px;
  margin-bottom: 20px;
}

.return-to-news {
  display: block;
  text-align: center;
  margin-bottom: 40px;
  margin-top: 40px;
}

.navigation.pagination {
  margin: 0 auto 20px;
  text-align: center;
}

.nav-links {
  position: relative;
  max-width: 400px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 10px;
  padding-bottom: 10px;
}

.nav-links .prev,
.nav-links .next {
  position: absolute;
  width: 20px;
  height: 20px;
  background-image: url(../img/arrow-right.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  font-size: 0em;
}

.nav-links .prev {
  left: 0;
  top: 10px;
  transform: rotate(180deg);
}

.nav-links .next {
  right: 0;
  top: 10px;
}

.nav-links .page-numbers {
  margin-left: 3px;
  margin-right: 3px;
  font-weight: 600;
}

.nav-links .page-numbers.current {
  border-bottom: 3px solid #333;
}
/* ==========================================================================
    Info Pages
========================================================================== */

.page-template-info-page {
  padding-top: 80px;
}

/* ==========================================================================
    Property List
========================================================================== */

.property-grid {
    display: flex;
    flex-wrap: wrap;
    padding-top: 40px;
    padding-bottom: 40px;
}

.property-grid article {
    background: #fff;
    width: 31%;
    margin-left: 1%;
    margin-right: 1%;
    -webkit-transition: all 250ms ease-in-out;
    -moz-transition: all 250ms ease-in-out;
    -ms-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
    margin-bottom: 2%;
}

.property-grid article p {
    font-size: 1rem;
}

.property-grid article:hover {
    box-shadow: rgba(0, 0, 0, 0.5) 0px 10px 60px -30px;
}

.property-grid .propert-info {
    padding: 20px;
}

.property-grid article .property-image {
    position: relative;
}

.property-grid .propert-info h3 {
    padding-top: 0;
    padding-bottom: 10px;
    padding-top: 10px;
}


.property-grid article .property-image img {
    width: 100%;
}

.property-grid .propert-info .text-link {
    font-size: 1rem;
}

/*===========================================================================
    Property Search
============================================================================*/


.filters {
    padding: 15px 25px;
    background: #f8f9fa;
    border-bottom: 1px solid #ddd;
    font-size: 14px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.filter-group {
    margin-bottom: 8px;
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    align-items: center;
}

.container {
    display: flex;
    flex: 1;
    overflow: hidden;
   
}

#map {
    flex: 2;

}

.sidebar {
    flex: 1;
    display: flex;
    flex-direction: column;
    border-left: 1px solid #ccc;
    background: white;
    min-width: 350px;
}

#results-list {
    flex: 1;
    overflow-y: auto;
    list-style: none;
    padding: 0;
    margin: 0;
}

.location-item {
    padding: 15px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    transition: 0.2s;
    border-left: 5px solid transparent;
}

.location-item:hover {
    background: #fcfcfc;
}

.active-loc {
    color: #f3f6fe !important;
    font-weight: bold;
    background-color: #f3f6fe !important;
    border-left: 5px solid #23376a;
}

.re-search-box {
    padding: 20px;
    border-top: 2px solid #ddd;
    background: #fff;
}

.re-search-box input {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.re-search-box button {
    width: 100%;
    padding: 10px;
    background: #2c3e50;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
}

.type-tag {
    font-size: 0.7em;
    background: #ececec;
    padding: 2px 6px;
    border-radius: 3px;
    text-transform: uppercase;
    color: #666;
    font-weight: bold;
}

#no-results {
    display: none;
    padding: 40px 20px;
    text-align: center;
    color: #888;
}

select {
    padding: 4px 8px;
    border-radius: 4px;
    border: 1px solid #ccc;
}

/*===========================================================================
    Results Container
===========================================================================*/


.map-search-wrapper {

}

.map-search-wrapper .container {
    height: 100%;
    margin-bottom: 60px;
    height: 90vh;
}


.page-template-location-search {

}

#map-search-container .container {
  height: calc(100vh - 80px);
}

#map-search-container .side-bar .re-search-box {
  position: absolute;
  bottom: 0;
}

#results-list .location-item {
  display: flex;
}

#results-list .location-item .image-box {
  width: 20%;
  position: relative;
  margin-right: 3%;
}

#results-list .location-item .image-box img {
  width: 100%;
  border-radius: 5px;
}

#results-list .location-item a.view-location-button {
  display: none;
  margin-top: 15px;
  height: 30px;
  line-height: 30px;
  max-width: 150px;
  font-size: .875rem;
}

#results-list .location-item.active-loc a.view-location-button {
  display: block;
}

#results-list h3 {
  padding-top: 0;
  padding-bottom: 0;
  font-size: 1.4rem;
  margin-bottom: 10px;
  font-weight: 300;
  margin-top: 5px;
}

#results-list p {
  margin-bottom: 0;
  font-size: .875rem;
  padding-bottom: 5px;
  font-weight: 500;
}

#results-list p.miles-from {
  font-weight: 600;
  margin-top: 10px;
} 

.page-template-location-search .sidebar {
  position: relative;
  padding-top: 100px;
}

.page-template-location-search #filters {
  position: absolute;
  top:0;
  right: 0;
  width: 100%;
  height: 100%;
  transform: translateX(100%);
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
  z-index: 1000;
}

.page-template-location-search #filters.active {
  transform: translateX(0);
} 

#map-search-box {
  position: absolute;
  top: 0;
  left: 0;
  height: 100px;
  width: 100%;
  background: #fefefe;
  -webkit-box-shadow: 0 5px 10px 0 rgba(0,0,0,.18);
  box-shadow: 0 5px 10px 0 rgba(0,0,0,.18);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.page-template-location-search .filter-icon {
  display: block;
  width: 10%;
  position: relative;
  font-weight: 600;
  text-transform: uppercase;
  font-size: .875rem;
  color: #23376a;
}

.page-template-location-search .filter-icon:before {
  width: 20px;
  height: 20px;
  content: '';
  position: absolute;
  left: -24px;
  top: 2px;
  background-image: url(../img/filter-icon.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.page-template-location-search .filter-icon:hover {
  cursor: pointer;
}

#map-search-box input {
  width: 78%;
  margin-right: 2%;
  margin-bottom: 0;
}

#filters {
  padding-top: 40px;
}

#filters strong {
  font-size: 1.4rem;
  display: block;
  padding-top: 10px;
  font-weight: 300;
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 20px;
  font-family: "Roslindale Display Light", sans-serif;
}

#filters label {
  display: block;
  padding-top: 10px;
  padding-bottom: 10px;
  font-weight: 300; 
  padding-left: 20px;
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
  font-size: 1.4rem;
  font-weight: 600;
}

#filters label:hover {
  cursor: pointer;
  background: #145091;
  color: #fff;
}


#filters #close-filter {
  width: 20px;
  height: 20px;
  position: absolute;
  right: 10px;
  top: 10px;
  text-align: center;
  line-height: 20px;
}

#filters #close-filter:hover {
  cursor: pointer;
}

#filters #radius-select {
  width: 100%;
  height: 40px;
  line-height: 40px;
  border-radius: 5px;
  border: 1px solid #ccc;
  margin-bottom: 20px;
  font-size: 1.2rem;
  font-weight: 300;
  background: #145091;
  color: #fff;
  border-color: #145091;
  font-family: "Lora", "Lato", arial, sans-serif;

}

.pac-container {
  background: #fefefe;
}


/* ==========================================================================
    Contact Us Page
========================================================================== */

#contact-us-container {
  padding-top: 100px;
}

#contact-us-container .inner-wrapper .contact-us-wrap {
  display: flex;
}

.contact-us-address p {
  font-size: 1.4rem;
  padding-top: 30px;
}

#contact-us-container form {
  background: #145091;
  border-radius: 5px;
  -webkit-box-shadow: 0 2px 3px 0 rgba(01, 0, 0, 0.18);
  box-shadow: 0 2px 3px 0 rgba(01, 0, 0, 0.18);
  padding: 40px;
}

#contact-us-container form label {
  color: #fff;
  display: block;
  margin-bottom: 3px;
}

#contact-us-container input,
#contact-us-container select,
#contact-us-container textarea {
  width: 100%;
  border-radius: 5px;
  height: 50px;
  margin-bottom: 15px;
  border: none;
}

select#inquiry-type {
  font-family: Montserrat;
}

/* ==========================================================================
    Timeline
========================================================================== */

input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.cards-container {
  --base-rotation: 0deg;
  --full-circle: 360deg;
  --radius: 40vw;
  --duration: 200ms;

  --cards-container-size: calc(var(--radius) * 2);
  --cards-container-padding: 2rem;

  --border-color: transparent;

  --label-offset: calc(var(--radius) * -1 - 1rem);
  --label-size: 30px;
  --label-color: #eee;
  --label-color-hover: #fff;
  --label-line-h: 0;
  --label-line-h-current: 2rem;
  --label-dot-size: 10px;

  --title-top: 1.5rem;
  --title-offset-y: 30px;

  --info-top: 5rem;
  --info-width: min(70%, 500px);
  --info-offset-y: 30px;

  box-sizing: content-box;
  position: absolute;
  inset: 0;
  margin: 5rem auto;
  width: var(--cards-container-size);
  height: var(--cards-container-size);
  padding: var(--cards-container-padding);

  @media (width > 600px) {
    clip-path: polygon(0 -19%, 100% -25%, 110% 50%, -15% 50%);
  }
  @media (min-width: 800px) {
    --radius: 30vw;
    --label-size: 40px;
    --label-dot-size: 15px;
    --label-line-h-current: 4rem;
    --title-top: 4rem;
    --info-top: 8rem;
  }
}
@media (min-width: 1200px) {
  --label-size: 50px;
  --border-color: var(--label-color);
}

.cards {
  position: absolute;
  inset: var(--cards-container-padding);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid var(--border-color);
  transition: transform 0.3s ease-in-out var(--duration);
  list-style: none;
}

.cards li {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  transform-origin: center;
  display: grid;
  place-content: center;
  transform: rotate(calc(var(--i) * 360deg / var(--items)));
  pointer-events: none;
}

.cards li > label {
  position: absolute;
  inset: 0;
  margin: auto;
  transform: translateY(var(--label-offset));
  width: var(--label-size);
  height: var(--label-size);
  cursor: pointer;
  pointer-events: initial;
  text-align: center;
  color: #fff;
  font-size: clamp(0.8rem, 2.5vw + 0.04rem, 1rem);
  transition: var(--duration) ease-in-out;
}
.cards li > label::before {
  content: "";
  position: absolute;
  top: var(--cards-container-padding);
  left: 50%;
  translate: -50% 0;
  width: var(--label-dot-size);
  height: var(--label-dot-size);
  aspect-ratio: 50%;
  border-radius: 50%;
  background-color: var(--label-color);
  transition: background-color var(--duration) ease-in-out;
}

.cards li > label::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 5px;
  width: 2px;
  height: var(--label-line-h);
  background-color: #fff;
  transition: height 300ms ease-in-out var(--label-line-delay, 0ms);
}
.cards li > label:hover {
  --label-color: var(--label-color-hover);
}

.cards > li > h2,
.cards > li > p {
  position: absolute;
  left: 50%;
  text-align: center;
  transform: translate(-50%, 0);
  transform-origin: center;
}
.cards > li > h2 {
  top: var(--title-top);
  opacity: var(--title-opacity, 0);
  translate: 0 var(--title-offset-y);
  transition: var(--duration) ease-in-out var(--title-delay, 0ms);
  color: #fff;
}
.cards > li > p {
  top: var(--info-top);
  margin: 0 auto;
  width: var(--info-width);
  z-index: 2;
  font-size: clamp(0.8rem, 2.5vw + 0.05rem, 0.9rem);
  text-align: left;
  text-wrap: pretty;
  color: #fff;
  opacity: var(--info-opacity, 0);
  /*translate: 0 var( --info-offset-y);*/
  transition: var(--duration) ease-in-out var(--info-delay, 0ms);
}

#history-box input[name="gallery-item"]:disabled + label {
  opacity: .3;
  cursor: cursor;
}

/* update custom properties for checked item */
li:has(input:checked) {
  --label-opacity: 1;
  --label-color: var(--label-color-hover);
  --label-line-h: var(--label-line-h-current);
  --label-line-delay: calc(var(--duration) * 2);

  --title-opacity: 1;
  --title-offset-y: 0;
  --title-delay: calc(var(--duration) * 3);

  --info-opacity: 1;
  --info-offset-y: 0;
  --info-delay: calc(var(--duration) * 4);
  /*outline: 1px dashed red;*/
}

/* rotate container based on checked radio */
.cards:has(input:checked) {
  transform: rotate(
    calc(
      var(--base-rotation) - (var(--index) * var(--full-circle) / var(--items))
    )
  );
}
/*
  this would be so much simpler if we could use counter values as custom property values
  */
.cards:has(li:nth-child(1) > input:checked) {
  --index: 0;
}
.cards:has(li:nth-child(2) > input:checked) {
  --index: 1;
}
.cards:has(li:nth-child(3) > input:checked) {
  --index: 2;
}
.cards:has(li:nth-child(4) > input:checked) {
  --index: 3;
}
.cards:has(li:nth-child(5) > input:checked) {
  --index: 4;
}
.cards:has(li:nth-child(6) > input:checked) {
  --index: 5;
}
.cards:has(li:nth-child(7) > input:checked) {
  --index: 6;
}
.cards:has(li:nth-child(8) > input:checked) {
  --index: 7;
}
.cards:has(li:nth-child(9) > input:checked) {
  --index: 8;
}
.cards:has(li:nth-child(10) > input:checked) {
  --index: 9;
}
.cards:has(li:nth-child(11) > input:checked) {
  --index: 10;
}
.cards:has(li:nth-child(12) > input:checked) {
  --index: 11;
}
.cards:has(li:nth-child(13) > input:checked) {
  --index: 12;
}
.cards:has(li:nth-child(14) > input:checked) {
  --index: 13;
}
.cards:has(li:nth-child(15) > input:checked) {
  --index: 14;
}
.cards:has(li:nth-child(16) > input:checked) {
  --index: 15;
}
.cards:has(li:nth-child(17) > input:checked) {
  --index: 16;
}
.cards:has(li:nth-child(18) > input:checked) {
  --index: 17;
}
.cards:has(li:nth-child(19) > input:checked) {
  --index: 18;
}
.cards:has(li:nth-child(20) > input:checked) {
  --index: 19;
}
.cards:has(li:nth-child(21) > input:checked) {
  --index: 20;
}
.cards:has(li:nth-child(22) > input:checked) {
  --index: 21;
}
.cards:has(li:nth-child(23) > input:checked) {
  --index: 22;
}
.cards:has(li:nth-child(24) > input:checked) {
  --index: 23;
}
.cards:has(li:nth-child(25) > input:checked) {
  --index: 24;
}
.cards:has(li:nth-child(26) > input:checked) {
  --index: 25;
}

.cards:has(li:nth-child(27) > input:checked) {
  --index: 26;
}

.cards:has(li:nth-child(28) > input:checked) {
  --index: 27;
}

.cards:has(li:nth-child(29) > input:checked) {
  --index: 28;
}

.cards:has(li:nth-child(30) > input:checked) {
  --index: 29;
}

.cards:has(li:nth-child(31) > input:checked) {
  --index: 30;
}

.cards:has(li:nth-child(32) > input:checked) {
  --index: 31;
}

/* ==========================================================================
    Footer
========================================================================== */

#footer {
  background: #111;
  padding-bottom: 0;
}

#footer a {
  color: #fff;
  font-size: 0.875rem;
  font-family: Montserrat;
}

#footer ul {
  padding-left: 0;
}

#footer .footer-logo {
  position: relative;
}

#footer .footer-logo img {
  max-width: 210px;
}

#footer .footer-logo h5 {
  color: #fff;
  margin-top: 10px;
  text-align: center;
  width: 75%;
  font-size: 0.875rem;
}

#footer .footer-logo img {
  width: 80%;
}

#footer ul#foot-nav {
  display: flex;
  justify-content: space-between;
}

#footer ul > li {
  font-size: 1.4rem;
  color: #fff;
}

#footer .foot-title {
  border-bottom: 2px solid #ccc;
  display: block;
  font-weight: 600;
  margin-right: 60px;
  padding-bottom: 5px;
  margin-bottom: 10px;
}

#footer .sub-footer {
  border-top: 1px solid #fff;
  padding-top: 20px;
  padding-bottom: 10px;
  max-width: 1400px;
  display: flex;
  justify-content: space-between;
  margin-right: auto;
  margin-left: auto;
  margin-top: 30px;
  color: #fff;
  font-size: 0.875rem;
}

#footer .sub-footer p {
  color: #fff;
  font-family: Montserrat;
  font-size: 0.875rem;
}



@media screen and (min-width: 1540px) {
  #hero #bgvid {
    height: auto;
    width: 100%;
    min-height: 100%;
  }

  #nav-wrapper #top-nav .drop-down-container {
    padding-left: 20%;
    padding-right: 20%;
  }

  .services-intro .inner-wrapper.block-row {
    padding-left: 40px;
    padding-right: 40px;
  }

  #why-choose-blocks .get-to-know-grid a {
    max-height: 35vh;
  }
}