/*Critical Styles for general use
/*uses flex-box to center > * vertically within this element */
.vertically-centered,
.centered-vertically,
.center-vertically,
.v-center-line {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.justify-bottom {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.soldout_overlay {
  opacity: 0.75 !important;
}

/**
 * Universal Styles
 */
.pas-button,
.hover-transition {
  -webkit-transition: all 250ms linear;
  -moz-transition: all 250ms linear;
  -o-transition: all 250ms linear;
  -ms-transition: all 250ms linear;
  transition: all 250ms linear;
}

a.pas-button.disabled {
  opacity: 0.75;
}

section .section-title {
  font-weight: 500;
  font-size: 20px;
  text-transform: uppercase;
  margin: 0;
}

section .section-subtitle {
  font-weight: 800;
  font-size: 38px;
  text-transform: uppercase;
  margin: 0 0 40px 0;
  /*word-break: break-word;*/
  /*hyphens: auto;*/
}

.pas-button {
  padding: 20px;
  border: none;
  border-radius: 0;
  font-style: normal;
  font-weight: bold;
  font-size: 14px;
  line-height: 17px;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-transition: opacity 250ms linear;
  -moz-transition: opacity 250ms linear;
  -o-transition: opacity 250ms linear;
  -ms-transition: opacity 250ms linear;
  transition: opacity 250ms linear;
}

.pas-button:hover {
  opacity: 0.9;
}

.pas-button.has-icon.check:after {
  content: "\e90d";
}

.pas-button.has-icon.chevron:after {
  content: "\e904";
}

.pas-button.has-icon {
  padding-right: 69px;
  position: relative;
  right: 0px;
  height: 56px;
  top: 0px;
}

.pas-button.has-icon:after {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  font-family: "icomoon" !important;
  font-size: 1.3em;
  vertical-align: text-bottom;
  right: 25px;
  -webkit-transition: right 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -moz-transition: right 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -o-transition: right 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -ms-transition: right 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: right 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.pas-button.has-icon:hover:after {
  right: 20px;
}

.pas-button.open {
  border: solid 1px;
}

/*lists*/
ul.meta-list {
  list-style: none;
  padding-left: 15px;
}

ul.meta-list li {
  position: relative;
  padding-left: 0;
  padding-bottom: 0.2em;
}

ul.meta-list li:before {
  content: "";
  width: 3px;
  height: 3px;
  position: absolute;
  left: -15px;
  top: 9px;
  border-radius: 50%;
}

ul.meta-list .meta-value {
  font-weight: bold;
}

/*horiz lines*/

.v-center-line {
  border: none !important;
  flex-grow: 1;
}

.v-center-line span {
  height: 1px;
  border-bottom: solid 1px;
  opacity: 0.8;
  /*width: 95%;*/
}

.white-border,
.v-center-line.white-border span {
  border-color: #fff;
}

/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

img {
  max-width: 100%;
}

/* Links
--------------------------------------------- */
/* use :any-link, not :-webkit-any-link */
a:not(#simple-banner a):any-link {
  cursor: pointer;
  text-decoration: none;
}

a:not(#simple-banner a, .pas-button, .site-title):any-link {
  opacity: 0.9;
}

a:not(#simple-banner a, .pas-button, .site-title):any-link:hover {
  opacity: 1;
}

a:focus {
  outline: thin dotted;
}

input:focus,
textarea:focus,
select:focus,
button:focus {
  outline: none;
}

a:hover,
a:active {
  outline: 0;
}

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/*background images and overlays*/
a.box {
  display: block;
}

.white-bg {
  background-color: #fff;
}

.bg-contain,
.bg-cover {
  background-position: center center !important;
  background-repeat: no-repeat;
}

.bg-cover {
  background-size: cover !important;
}

.bg-contain {
  background-size: contain !important;
}

.bg-full-bleed {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
}

.bg-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}

/*cards*/
.card {
  display: inline-block;
  width: 24%;
  padding: 0 15px 15px;
}

.card .inner > *:not(.card-image) {
  padding: 0 15px;
}

.card .inner > *:first-child() {
  padding-top: 15px;
}

.card .inner > *:last-child() {
  padding-bottom: 15px;
}

/*ninja forms General*/
.nf-before-form-content {
  display: none;
}

body.pas-theme .nf-form-content input[type="button"] {
  padding: 24px 0 !important;
  font-style: normal;
  font-weight: bold;
  font-size: 14px;
  line-height: 17px;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  border-width: 1px !important;
  border-style: solid !important;
  -webkit-transition: opacity 250ms linear;
  -moz-transition: opacity 250ms linear;
  -o-transition: opacity 250ms linear;
  -ms-transition: opacity 250ms linear;
  transition: opacity 250ms linear;
  -webkit-appearance: none;
  border-radius: 0;
}

body.pas-theme .nf-form-content input[type="button"]:hover {
  opacity: 0.9;
}

body.pas-theme .nf-form-content input:not([type="button"]),
body.pas-theme .nf-form-content textarea {
  border: 1px solid !important;
  padding: 30px 0 !important;
  background: transparent !important;
}

/*nf all inputs*/
body.pas-theme .nf-form-content input,
body.pas-theme .nf-form-content textarea,
body.pas-theme .nf-form-content input::placeholder,
body.pas-theme .nf-form-content textarea::placeholder {
  font-style: normal;
  /*font-weight: bold;*/
  font-size: 14px;
  line-height: 17px;
  text-align: center;
  text-transform: uppercase !important;
}

.nf-pass.field-wrap .nf-field-element:after {
  padding-top: 7px;
}

body.pas-theme .nf-form-content input[type="email"]::placeholder {
  opacity: 0.75;
}

/*Specific to Ninja Forms email subscribe CTA */

.cta.email-subscribe .nf-field-container {
  margin-bottom: 0 !important;
}

.cta.email-subscribe nf-fields-wrap {
  display: flex;
}

.cta.email-subscribe nf-fields-wrap nf-field input {
  width: 100%;
}

.cta.email-subscribe .nf-field-label {
  display: none;
}

/*screen readers*/
/*TY https://gist.github.com/ffoodd/000b59f431e3e64e4ce1a24d5bb36034*/
.sr-only {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important; /* 1 */
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important; /* 2 */
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important; /* 3 */
}

/***********************/
/* Responsive styles */
/***********************/
@media (max-width: 768px) {
  .desktop-only {
    display: none;
  }
}

@media (min-width: 768px) {
  .mobile-only {
    display: none;
  }

  .col-sm-push-6 {
    margin-left: 50%;
  }

  .columns-2 {
    columns: 2;
  }
}

@media (max-width: 992px) {
  .cta.email-subscribe nf-fields-wrap {
    flex-direction: column;
  }

  body.pas-theme .nf-form-content input[type="button"] {
    height: unset !important;
  }

  .nf-input-limit {
    display: none;
  }
}

/* Changing some font sizes so to avoid overlap for lower resolutions -J
@media (min-width: 600px) and (max-width: 1500px) {
  section .section-subtitle {
    font-size: 30px !important;
  }
}
*/

@media (min-width: 992px) {

  section .section-subtitle {
    font-size: 60px;
    margin-bottom: 0;
    width: 70%;
  }


  body.pas-theme .nf-form-content input:not([type="button"]),
  body.pas-theme .nf-form-content textarea {
    padding: 30px 70px 30px 20px !important;
  }

  body.pas-theme .nf-form-content input[type="button"] {
    padding: 24px 70px 36px 20px !important;
    width: 20em;
  }

  .cta.email-subscribe nf-fields-wrap nf-field {
    width: 50%;
  }
}

@media (min-width: 1200px) {
  /**
	 * Grid mods
	 */
  .bootstrap-wrapper .container-fluid-right {
    padding-right: 0 !important;
    padding-left: 15px;
  }

  .bootstrap-wrapper .container-fluid-left {
    padding-left: 0 !important;
    padding-right: 15px;
  }
}

/* Columns change width (Such as in property timeline) */

@media (min-width: 768px) {
  .columns-2 {
    column-gap: 10rem;
  }
}

/******** IMPORTANT, FIXES some misalignment when the width is 100% -J  ***********/

/* Important 1 -> For mobile it centers it */
@media (max-width: 600px) {
  .bootstrap-wrapper .container {
    padding-right: 15px !important;
    padding-left: 15px !important;
    margin-right: 0px !important;
    margin-left: 0px !important;
  }

  .bootstrap-wrapper .super-header .container {
    max-width: 120% !important;
  }

  .soldout_overlay span {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 250px;
    font-size: 30px;
    font-family: "Montserrat";
    font-weight: bold;
    text-align: center;
    text-shadow: 1px 1px black;
  }
}
/* Important 2 -> For medium resolutions it centers it */
@media (min-width: 600px) and (max-width: 1214px) {
  .bootstrap-wrapper .container {
    padding-right: 15px !important;
    padding-left: 15px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .bootstrap-wrapper .super-header .container {
    max-width: unset !important;
  }

  .soldout_overlay span {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 250px;
    font-size: 30px;
    font-family: "Montserrat";
    font-weight: bold;
    text-align: center;
    text-shadow: 1px 1px black;
  }
}

/* Important 3 ->  for the whole website */
@media (min-width: 1200px) {
  .bootstrap-wrapper .container {
    max-width: 80% !important;
  }

  /* Banner Plugin CSS overrides */
  .banner {
    display: flex;
  }

  .bannerLeft {
    flex: 1;
    padding: 0% 1%;
  }

  .bannerRight {
    margin: 0% 10%;
    text-align: right;
  }

  .bannerButton a {
    color: #ffffff !important;
    border: 1px solid #ffffff;
    padding: 10px 40px;
  }

  .bannerButton a:hover {
    color: #3e4443 !important;
    background: #ffffff;
  }

  .bannerButton {
    padding: 10px 0px;
  }

  #closeBanner {
    cursor: pointer;
  }

  .floorPlanLine {
    flex-grow: 0.98;
  }

  .soldout_overlay span {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 250px;
    font-size: 30px;
    font-family: "Montserrat";
    font-weight: bold;
    text-align: center;
    text-shadow: 1px 1px black;
  }
}


/* Changing some font sizes so to avoid overlap for lower resolutions -J
@media (min-width: 600px) and (max-width: 1500px) {

  .hero-type-1 .section-subtitle {
    font-size: 45px !important;
    width: 120%;
  }

  .hero-type-1 .section-title {
    font-size: 25px !important;
  }

  .section-subtitle {
    font-size: 34px !important;
  }

  .section-title {
    font-size: 15px !important;
  }

}
*/



/* Third Subtitle Changes "Sub-sub-title"! -J

.section-sub-subtitle {
  color: white;
  font-weight: 700;
  font-size: 20px;
  text-transform: uppercase;
  margin: 0 0 4% 0;
  margin-top: -2%;

}



@media(min-width: 1400px) and (max-width:1600px){
 section .section-sub-subtitle {
      margin: 0 0 0 0;
      margin-top: -10%;

  }
}


@media(min-width: 1200px) and (max-width:1400px){
 section .section-sub-subtitle {
      margin: 0 0 -5% 0 !important;
      margin-top: -12% !important;
  }

}


@media (min-width: 992px) and (max-width: 1200px) {
  section .section-sub-subtitle {
      top: -10%;
      margin: 0 0 70px 0;
      margin-top: -4rem

  }
}

@media (min-width:600px) and (max-width: 992px) {
  section .section-sub-subtitle {
    width: 100%;
      margin: 0;
      font-weight: 600;
      margin-top: -7%;
      font-size: 17.5px;

  }
}

@media (max-width: 599px){
  section .section-sub-subtitle {
     width: 90%;
     margin: 0 0 80px 0;
     font-weight: 600;
     margin-top: -2.7rem;
     font-size: 16.5px;

  }
}
*/

/* Changing the max width of the nav message */
.center-vertically{
  max-width: 100%;
}
