/*!
Theme Name: furst
Theme URI: https://sparkfirebranding.com
Author: Cody Creswell
Author URI: https://sparkfirebranding.com
Description: Description
Version: 2.0
Text Domain: furst
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

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

    html, body {
      width: 100%;
      min-height: 100vh;
      font-family: "trade-gothic-next", sans-serif;
      font-weight:300;
      line-height: 2.06;
      font-size: 17px;
      color: #4a4a4a;
    }

    body {
      overflow-x:clip;
    }
    img, picture, video, canvas, svg {
      display: block;
      max-width: 100%;
    }

    img.fill {
      width:100%;
      display:block;
      margin:0 auto;
    }

    input, button, textarea, select {
      font: inherit;
    }

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

    ul, ol {
      list-style: none;
    }

    /******end reset styles******/

    /* Grid System */
    .container {
      width: 85%;
      max-width: 1440px;
      margin: 0 auto;
      /*padding: 0 40px;*/
    }

    .row {
      display: flex;
      flex-wrap: wrap;
      align-items:center;
      margin: 0 -30px;
    }

    .row.no-lr-margin {
      margin:0;
    }

    .row.align-top {
      align-items:start;
    }

    .row.equal-height {
      align-items:stretch;
    }

    .row .align-right * {
      margin-left:auto;
      margin-right:0;
    }

    /* Column Classes */
    [class*="col-"] {
      padding: 0 30px;
      flex: 0 0 auto;
    }


    .col-1  { width: 8.3333%; }
    .col-2  { width: 16.6667%; }
    .col-3  { width: 25%; }
    .col-4  { width: 33.3333%; }
    .col-5  { width: 41.6667%; }
    .col-6  { width: 50%; }
    .col-7  { width: 58.3333%; }
    .col-8  { width: 66.6667%; }
    .col-9  { width: 75%; }
    .col-10 { width: 83.3333%; }
    .col-11 { width: 91.6667%; }
    .col-12 { width: 100%; }

  
    @media (max-width: 980px) {
      .col-lg-1  { width: 8.3333%; }
      .col-lg-2  { width: 16.6667%; }
      .col-lg-3  { width: 25%; }
      .col-lg-4  { width: 33.3333%; }
      .col-lg-5  { width: 41.6667%; }
      .col-lg-6  { width: 50%; }
      .col-lg-7  { width: 58.3333%; }
      .col-lg-8  { width: 66.6667%; }
      .col-lg-9  { width: 75%; }
      .col-lg-10 { width: 83.3333%; }
      .col-lg-11 { width: 91.6667%; }
      .col-lg-12 { width: 100%; }

      .row .col-lg-12, 
      .row .col-lg-6,
      .row .col-sm-12 {
        margin-bottom:30px;
      }

      .row .col-lg-12:last-child,
      .row .col-sm-12:last-child {
        margin-bottom:0;
      }

      .no-mob {
        display:none !important;
      }

    }

    @media (max-width: 576px) {
      .col-sm-1  { width: 8.3333%; }
      .col-sm-2  { width: 16.6667%; }
      .col-sm-3  { width: 25%; }
      .col-sm-4  { width: 33.3333%; }
      .col-sm-5  { width: 41.6667%; }
      .col-sm-6  { width: 50%; }
      .col-sm-7  { width: 58.3333%; }
      .col-sm-8  { width: 66.6667%; }
      .col-sm-9  { width: 75%; }
      .col-sm-10 { width: 83.3333%; }
      .col-sm-11 { width: 91.6667%; }
      .col-sm-12 { width: 100%; }
    }

    /* End Grid System */

    /* Utility Classes */
    .text-center { text-align: center; }
    .text-left { text-align: left; }
    .text-right { text-align: right; }
    .relative {position:relative;}

    .max {
      width:100%;
      max-width:750px;
      margin:0 auto;
    }

    .max.m-865 {
      max-width:865px;

    }

    .max.m-640 {
      max-width:640px;
    }

    .max.m-550 {
      max-width:550px;
    }

    .max.m-417 {
      max-width:417px;
    }

    .max.left-align {
      margin-left:0;
    }


/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */


h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 300;
}

h1 {
 font-family: "larken", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size:65px;
  letter-spacing:6px;
  line-height:1.16;
}

h2 {
  font-family: "larken", sans-serif;
  font-weight: 100;
  font-style: normal;
  font-size: 50px;
  line-height:normal;
}

h3 {
  font-family: "larken", sans-serif;
  font-weight: 100;
  font-style: normal;
  line-height:1.22;
  font-size:45px;
}

h4 {
  font-family: "larken", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height:1.33;
  font-size:30px;
}

h5 {
  font-family: "urw-din-condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing:5px;
  line-height:1.27;
  font-size:22px;
}

h5.lot-size {
  letter-spacing:3.5px;
}

h6 {
  font-family: "larken", sans-serif;
  font-weight: 300;
  font-style: italic;
  font-size:21px;
  line-height: 1.52;
}


p,
#terms-modal ul li {
  font-family: "urw-din", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size:17px;
  line-height:1.76;
  margin-bottom:20px;
  color:#000000;
}

#terms-modal ul {
  padding-left:40px;
}

.school-stats ul {
    padding-left:20px;
    padding-top:35px;
}

#terms-modal ul li,
.school-stats ul li,
.two-col-list ul li {
  list-style-type:disc;
}

.school-stats ul li,
.two-col-list ul li {
font-family: "urw-din", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 17px;
  line-height: 1.76;
  color: #000000;
  margin-bottom:10px;
  }

p.disclaimer {
  font-size: 12px;
  line-height:2.5;
  color:#FFF;
}

.sticky-disclaimer p.disclaimer {
    font-size:13px;
    color:#FFF;
    max-width:95%;
    margin:0 auto;
    line-height: 1.4;
}

p strong {
  font-weight: 700;
}
.bold {
  font-weight: 700;
}

.mb-none {
  margin-bottom: 0 !important;
}

.upper {
  text-transform: uppercase;
}
.lower {
    text-transform: lowercase;
}

.italic {
  font-style: italic;
}
.under {
  text-decoration: underline;
}

.hover-under:hover {
  text-decoration:underline;
}

.no-btm {
  margin-bottom:0 !important;
}

.mb-20 {
  margin-bottom:20px;
}

.mb-30 {
  margin-bottom:30px;
}

.mt-5 {
  margin-top:5px !important;
}

.mt-10 {
  margin-top:10px;
}

.mt-15 {
  margin-top:15px;
}

.mt-20 {
  margin-top:20px;
}

.mt-30 {
  margin-top:30px;
}

.mt-40 {
  margin-top:40px;
}

.mt-50 {
  margin-top:50px;
}

.mt-60 {
  margin-top:60px;
}

.mt-70 {
  margin-top:70px;
}

.mt-80 {
  margin-top:80px;
}

.mt-100 {
  margin-top:100px;
}

.mt-110 {
  margin-top:110px;
}

.mt-130 {
  margin-top:130px;
}

.mt-180 {
    margin-top:180px;
}

.lh-70 {
  line-height:70px;
}

/* Links
–––––––––––––––––––––––––––––––––––––––––––––––––– */

a.white,
.white {
  color:#FFF;
}

.cream,
a.cream {
  color:#e6dbcb;
}

.army-green {
  color:#52603a;
}

.green {
  color:#57684b;
}

.grey {
  color:#323537;
}

.navy {
  color: #203c41;
}

.gold {
  color:#b69b68;
}

.brown {
  color: #9c5239;
}

.black {
  color:#000;
}

a.text-under {
  text-decoration:underline;
}

a.text-under:hover {
  text-decoration:none;
}

.btn {
  background-color:#9c5839;
  padding:5px 60px;
  color:#FFF;
  border-radius:25px;
  font-family: "urw-din-condensed", sans-serif;
  font-weight:500;
  font-size:18px;
  letter-spacing:3.6px;
  text-align:center;
  border:2px solid #9c5839;
  transition:all .5s ease-in;
  display:inline-block;
  text-transform:uppercase;
}

.btn span {
    display:none;
}

.btn.lg-btn {
  max-width: 255px;
  padding: 5px 26px;
}

.btn.beige {
  border:2px solid #b69b68;
  background-color:#b69b68;
}

.btn.navy  {
  border:2px solid #203c41;
  background-color:#203c41;
}

#gform_submit_button_1,
#gform_submit_button_3,
#gform_submit_button_4 {
  background-color:#9c5839;
  padding:15px 60px !important;
  color:#FFF;
  border-radius:25px !important;
  font-family: "urw-din-condensed", sans-serif !important;
  font-weight:500 !important;
  font-size:18px !important;
  letter-spacing:3.6px !important;
  text-align:center;
  border:2px solid #9c5839 !important;
  transition:all .5s ease-in !important;
  display:inline-block;
  text-transform:uppercase;
  height:auto !important;
}

#gform_submit_button_3 {
  position:absolute;
  bottom:-125px;
}

#gform_wrapper_3 .gform-footer {
  justify-content:center;
  position:relative;
}

.btn:hover {
  background-color:#FFF;
  color:#9c5839;
}

.btn.trans-hover:hover {
  background-color:transparent;
  color:#9c5839;
}

.btn.navy:hover {
  background-color:transparent;
  color:#203c41;
}

.btn.beige:hover {
  background-color:transparent;
  color:#FFF;
}

#gform_submit_button_1:hover,
#gform_submit_button_4:hover {
  background-color:transparent !important;
  color:#9c5839 !important;
}

.btn.white-trans {
  border:2px solid #FFF;
  color:#FFF;
  background-color:transparent;
}

.btn.white-trans:hover {
   background-color:#FFF;
   color:#52603a;
}

.btn-slide {
  text-decoration: none;
  background: linear-gradient(#9c5839,#9c5839) right bottom no-repeat;
  background-size: auto;
  background-size: 100% 2px;
  transition: all 0.5s;
  padding-bottom: 3px;
  color:#9c5839;
  font-family: "urw-din-condensed", sans-serif;
  font-weight:500;
  font-size:18px;
  letter-spacing:3.6px;
}

.builders .nbh {
  cursor:pointer;
}

.btn-slide.white {
  color:#FFF;
  background: linear-gradient(#FFFFFF,#FFFFFF) right bottom no-repeat;
  background-size: 100% 2px;
}

.btn-slide.gold {
  color: #b69b68;
  background: linear-gradient(#b69b68,#b69b68) right bottom no-repeat;
  background-size: 100% 2px;
}

.btn-slide:hover {
  color:#9c5839;
  background-size: 0% 2px;
}

.btn-slide.gold:hover {
  color: #b69b68;
  background-size: 0% 2px;
}

.btn-slide.white:hover {
  color: #FFFFFF;
  background-size: 0% 2px;
}

/*–––––––––––––––––––––––––––––––––– Custom Styles–––––––––––––––––––––––––––––––––––––––––––––––––– */

/** Navigation Styles **/

#navigation {
  width:100%;
  padding:48px 0;
  position:sticky;
  z-index: 1001;
  background-color:#FFF;
  top:0;
  transition:all .4s ease-in-out;
}

#navigation.scrolled {
  padding:24px 0;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.nav-items {
  display:flex;
}

.nav-items .left-side{
  text-align:left;
}

.nav-items .right-side {
  text-align:right;
}

.nav-items li {
 display:inline-block;
 vertical-align:middle;
  margin-right:60px;
}

.nav-items li.no-right {
  margin-right:0;
}

.nav-items .left-side li:last-child,
.nav-items .right-side li:last-child {
  margin-right:0;
}


.nav-items li a,
#footer li a,
.builders a {
  font-family: "urw-din-condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
  text-transform:uppercase;
  text-decoration:none;
  font-size:18px;
  line-height:1;
  color:#000000;
  letter-spacing:2px;
}

#footer li a,
.builders a {
  color:#FFF;
}

.nav-items li a::before {
    display: block;
    content: attr(title);
    font-weight: 600;
    height: 0;
    overflow: hidden;
    visibility: hidden;
}

.nav-items .furst-logo {
  position:absolute;
  left:50%;
  top:50%;
  opacity:1;
  transform:translate(-50%,-50%);
  transition:opacity .5s ease-in-out;
}

.nav-items .furst-logo:hover {
  opacity:0.6;
}

.nav-items li > ul {
  position:absolute;
  z-index:-1;
  opacity:0;
  width:200px;
  text-align: left;
  transition:none;
   box-sizing: border-box;
   max-height:0;
   top:35px;
   background-color:#FFF;
   padding-top:48px;
}


.scrolled .nav-items li > ul {
  padding-top:24px;
}

@media (min-width:981px) {

  .nav-items li:hover > ul {
    z-index:100;
    opacity:1;
    height:auto;
    max-height:500px;
    transition: opacity 1s linear;
    pointer-events:all;
  }

  .nav-items li > ul {
    pointer-events:none;
  }

  .nav-items li a:hover,
  .nav-items li a.active  {
    font-weight:600;
    color:#9c5839;
  }

  .nav-items li > ul li a:hover,
  .nav-items li > ul li a.active {
    color:#9c5839;
  }

}

.nav-items li > ul li {
  display:block;
 padding:5px 20px 5px 20px;
 background-color:#f9f6f2;
 width:100%;
}

.nav-items li > ul li:first-child {
  padding-top:15px;
}

.nav-items li > ul li:last-child {
  padding-bottom:15px;
}

.nav-items li > ul li a {
  color:#000000;
}



/** End Navigation Styles **/

#footer {
  padding:50px 0 30px 0;
  background-image:url(img/footer-bg.webp);
  background-repeat:repeat;
  background-size: cover;
  background-position: 50% 50%;
}

.footer-logo {
  margin:0 auto;
  display:block;
  width:175px;
}

#footer .social-icons,
.contact-social {
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:60px;
}

#footer.footer-lp .social-icons {
    margin-top:0;
}

#footer.footer-lp .location {
    text-align:center;
    display:block;
}

.contact-social {
  margin:30px 0 70px 0;
}

.contact-social a {
  width:60px;
  transition:opacity .5s ease-in-out;
}

.contact-social a svg {
  width:100%;
}

#footer .social-icons a:first-child {
  margin-right:30px;
}

.contact-social a:first-child {
  margin-right:40px;
}

#footer li {
  margin-bottom:10px;
  list-style-type:none;
}

#footer .link-group a {
  font-family: "larken", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size:20px;
  letter-spacing:2px;
  text-transform:none;
  color:#e6dbcb;
}

.right-divide {
  width:2px;
  height:200px;
  background-color:#e6dbcb;
  position:absolute;
  right:0;
  top:0;
}

.location {
  display:inline-block;
  text-align:left;
}

.address {
  font-size:15px;
  line-height: 1.67;
}

.address:last-child {
  margin-bottom:0;
}

.video-header {
  position: relative;
  width: 100%;
  height: 820px;
  overflow: hidden;
}

.bg-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  transform: translate(-50%, -50%);
  object-fit: cover; /* Keeps video filling the area proportionally */
}

.video-overlay {
  position: absolute;
  top: 0; 
  left: 0;
  width: 100%; 
  height: 100%;
  background: rgba(0,0,0,0.1); /* darkens background */
  z-index: 0;
}

.video-overlay.home {
  background: rgba(0,0,0,0.2);
  z-index: 10;
}

.video-overlay.over {
  z-index:1;
}

.photo-left {
  width:33.3333%;
  padding-bottom:47.99%;
  /*background-image:url(img/hp-hero-fishing.webp);*/
  background-image:url(img/hp-hero-lifestyle1.webp);
  position:absolute;
  left:calc(25%);
  z-index:100;
  top:50%;
  transform:translateY(-50%);
}

.photo-right {
  position:absolute;
  z-index:101;
  width:25%;
  padding-bottom:25%;
  top:50%;
  transform:translateY(-50%);
  right:calc(25%);
  background-image:url(img/hp-hero-girl-flower.webp);
}

.text-circle {
  position:absolute;
  z-index:102;
  width:196px;
  left: 75%;
  top: 28%;
  transform:translate(-50%,-50%);
  animation: spin 20s linear infinite;
  transform-origin: 50% 50%; /* center of the SVG */
}

@keyframes spin {
  from { transform: translate(-50%,-50%) rotate(0deg); }
  to { transform: translate(-50%,-50%) rotate(360deg); }
}

.zos {
  transition: background-size 0.1s linear;
  background-size:cover;
   background-position: center;
    background-repeat: no-repeat;
}

.hero-section h1 {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:102;
  text-shadow: 0 2px 30px rgba(0, 0, 0, 0.9);
  width:98%;
}

.fr-pattern {
  padding:210px 0 100px 0;
  background-image:url(img/fr-white-pattern.webp);
  background-repeat:repeat;
  background-size:100% auto;
  background-position:50% 50%;
}

.fr-pattern.no-top-pad {
  padding-top:0;
}

.fr-pattern.pad-btm-nbh {
  padding-bottom:275px;
}

.fr-pattern.extra-btm {
    padding-bottom:300px;
}

.fr-pattern.beige {
  background-image:url(img/fr-pattern-beige-lg.webp);
  padding:100px 0;
  position:relative;
  background-size:100% auto;
  background-position:50% 50%;
}

.neg-top {
  margin-top:-110px;
}

.neg-top-160 {
  margin-top:-160px;
}

.neg-top.nt-200 {
    margin-top:-200px;
}

.photo-5-col {
  width:91.667%;
  margin-left:auto;
}

.fr-stamp-black {
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  z-index:10;
}

.cream-bg {
  padding:50px 0;
  background-color:#f9f6f2;
}

.flowers {
  position:absolute;
  bottom:-50px;
  right:0;
  pointer-events:none;
}

.inline-img {
  position:absolute;
  width: 73.667%;
  left: 100%;
  top:0;
  height:100%;
  background-image:url(img/hp-ext-landscaping.webp);
  background-size:cover;
  background-position:50% 50%;
}

.inline-img.coffee {
  background-image:url(img/commercial-coffee.webp);
}

.inline-img.kid-kite {
  background-image:url(img/nbhds-pv-section-boy-kite.webp);
}

.inline-img.left-side {
  left:auto;
  right:100%;
  background-image:url(img/man-with-dog.webp);
}

.bike {
  padding-top:115px;
  margin:0 auto;
  position:relative;
  z-index:10;
}

.bike img {
  display:block;
  margin:0 auto;
}

.army-green-bg {
  padding:115px;
  background-color: rgba(82,96,58,0.9);
  margin-top:-50px;
  position:relative;
  z-index:9;
}

.he-photos {
  position:absolute;
  width:25%;
  /*padding-bottom:25%;*/
  /*background-size:cover;
  background-repeat:no-repeat;*/
  background:none;
  z-index:10;
  /*top: calc(50% + 155px);
  transform:translateY(-50%);*/
  left:41.6667%;
}

.he-photos img {
  width:100%;
}

.he-photos.dining {
  left:calc(66.667% + 30px);
}

.commercial-photo {
  position:absolute;
  top:0;
  z-index:8;
  left:calc(41.66667% - 30px);
  /*background-size:cover;
  background-position:50% 50%;*/
  background:none;
  width: 70.667%;
  padding-bottom: 46.14%;
}

.commercial-photo img {
  width:100%;
}

.vert-full {
  width:2px;
  height:100%;
  background-color:#333537;
}

.home-form input,
.contact-form input,
.home-form textarea,
.contact-form textarea,
.home-form select,
.contact-form select,
.ginput_container_select,
#input_2_1 {
  border:none !important;
  outline:none !important;
  border-radius:0 !important;
  font-family: "urw-din", sans-serif !important;
  font-weight: 300 !important;
  font-style: normal;
  font-size:17px !important;
  /*padding: 30px 15px !important;*/
  height:60px !important;
}

.home-form input::placeholder,
.contact-form input::placeholder,
#input_2_1::placeholder,
.home-form textarea::placeholder,
.contact-form textarea::placeholder,
.home-form select::placeholder,
.contact-form select::placeholder,
.home-form select option,
.contact-form select option,
.home-form select option:disabled,
.contact-form select option:disabled {
  color:#000;
  font-family: "urw-din", sans-serif !important;
  font-weight: 300 !important;
  font-style: normal;
  font-size:17px !important;
}

.home-form #gform_fields_1,
.contact-form #gform_fields_3,
.home-form #gform_fields_4 {
  grid-template-columns: 1fr 1fr;
  row-gap:20px;
}

.home-form .gform-theme--foundation .gfield,
.contact-form .gform-theme--foundation .gfield {
  grid-column: auto;
}

.home-form .gform-theme--foundation .gfield.gfield--input-type-textarea,
.contact-form .gform-theme--foundation .gfield.gfield--input-type-textarea {
  grid-column: 1 / -1;
}


.form-wrap.home-form {
  margin-left:9%;
}

.vert-bar-top,
.vert-bar-btm {
  position:absolute;
  top:0;
  width:2px;
  height: calc(50% - 62px);
  background-color:#323537;
}

.vert-logo {
  position:absolute;
  width:60px;
  top:50%;
  left:0;
  transform:translateY(-50%);
}

.vert-bar-btm {
  top:auto;
  bottom:0;
}

.dog-illustration {
  position:absolute;
  bottom:-5px;
  left:7.5%;
}

p.copyright {
  font-size: 13px;
  line-height:2.31;
}

.eho-logo {
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
}

.static-hero {
  height:820px;
}

.hero-photo {
  width:50%;
  height:100%;
  left:0;
  background-size:cover;
  background-position:50% 50%;
  position:absolute;
  top:0;
}

.hero-photo.hero-photo-full {
  width:100%;
}

.hero-photo-right {
  left:50%;
}

.sm-hero-photo {
  position:absolute;
  left:50%;
  top:50%;
  width:417px;
  height:417px;
  background-size:cover;
  background-position:50% 50%;
  transform:translate(-50%,-50%);
}

.beige-container,
.wood-grain-container,
.white-container {
  padding:100px 0;
  background-color:#f3ede5;
}

.wood-grain-container.pad-145 {
  padding:145px 0;
}

.white-container {
  background-color:#FFF;
}

.wood-grain-container {
  background-image:url(img/woodgrain-bg.webp);
  background-size:100% auto;
  background-repeat:repeat;
  background-position:50% 50%;
}

.photo-neg-left {
  margin-left:-150px;
}

.photo-neg-left.right-side {
  margin-left:auto;
  margin-right:-150px;
}

.photo-neg-right {
  margin-right:-150px;
  margin-left:auto;
  width:calc(100% + 150px);
}

.photo-neg-right.lefter {
  margin-left:-150px;
  margin-right:auto;
}

.photo-neg-left {
  width:90%;
}

.small-photo-inset {
  position:absolute;
  top:50%;
  right:0;
  transform:translateY(-50%);
  max-width:417px;
}

.small-photo-inset.left-side {
  right:auto;
  left:0;
}

.blue-text-box {
  position:absolute;
  left:8.33333%;
  width:50%;
  box-sizing:border-box;
  background-color:rgba(32,60,65,0.9);
  padding:60px;
  top:50%;
  transform:translateY(-50%);
}

.blue-text-box.aos-animate {
  transform:translateY(-50%) !important;
}

.blue-text-box.navy {
  background-color:rgba(50,53,55,0.9);
}

.blue-text-box.onyx {
  background-color:rgba(50,53,55,0.9);
  padding:100px 60px;
}

.blue-text-box.righter {
  left:auto;
  right:8.33333%;
}

.camera {
  position:absolute;
  left:8.3333%;
  bottom: 20px;
  margin-left: -140px;
}

.blue-text-box.brown {
  background-color:rgba(163,100,71,0.9);
  padding:100px 60px;
}

.green-fr-bg {
  background-image:url(img/fr-green-pattern.webp);
  background-size:100% auto;
  background-repeat:repeat;
  background-position:50% 50%;
  padding:130px 0;
}

.green-fr-half {
    position:absolute;
    height:calc(50% + 100px);
    width:100%;
     background-image:url(img/fr-green-pattern.webp);
  background-size:100% auto;
  background-position:50% 50%;
  z-index:-1;
  top:0;
}

.dining-districts {
    padding:100px 0;
}

.green-fr-bg.news {
  padding:100px 0 260px 0;
}

.campfire {
  position:absolute;
  right:-50px;
  bottom:-50px;
}

.campfire.top {
    bottom: auto;
    top: -130px;
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 equal columns */
  gap: 30px; /* spacing between boxes */
  margin: 0 auto;
  max-width: 1200px; /* optional */
  padding: 20px;
}

.news-item {
  background-color: #f9f6f2; /* beige tone */
  display: flex; /* use flex inside grid cell to center content */
  flex-direction: column;
  justify-content: center; /* vertical centering */
  align-items: left; /* horizontal centering */
  text-align: left;
  padding: 50px 30px;
  box-sizing: border-box;
  position:relative;
}

.news-item .news-link {
  position:absolute;
  width:100%;
  height:100%;
  left: 0;
  top:0;
}

.news-item h5 {
  text-transform:uppercase;
}

.news-item:hover h5.army-green {
  color:#A36447;
}

.black-divider {
  height:2px;
  width:100%;
  background-color:#000;
}

.newsletter-box {
  padding:35px 80px;
  background-color: #9c5839;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:50px;
}

.join-vert-bar {
  width:2px;
  height:150px;
  background-color:#FFF;
  margin:0 30px;
}

.newsletter-box .join-text,
.newsletter-box .join-form {
  width:calc(50% - 62px);
}

#input_2_1 {
  padding:29px 15px !important;
}

.submit-btn {
  position: absolute;
  width: 50px;
  z-index: 50;
  padding: 12px;
  background-color: #b69b68;
  border-radius: 50%;
  right: -25px;
  top: 50%;
  transform: translateY(-50%);
  cursor:pointer;
}

#gform_2 .gform-body {
  position:relative;
}

#field_2_3 {
  position:absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

#gform_2 .gform-footer {
  position:absolute;
  height:0;
  width:0;
  left:-999999px;
}

.contact-form-holder {
  padding:50px 110px 100px 110px;
  background-color:rgba(82,96,58, 0.8);
  position:relative;
  z-index:6;
}

.boots {
  position:absolute;
  top:0;
  left:-120px;
}

.bottom-half .top-portion,
.bottom-half .bottom-portion {
  position:absolute;
  width:100%;
  height:50%;
  background-size:cover;
  background-position:50% 50%;
  top:0;
  z-index:0;
}

.bottom-half .bottom-portion {
  top:auto;
  bottom:0;
  background-color: #f9f6f2;
}

.bottom-half {
   padding-top:15px;
   margin-top:-150px;
}

.zi-5 {
  z-index:5;
}

.map-holder {
  position:relative;
  height:calc(100vh - 131.317px);
  width:100%;
}

.zoom-btns {
  position:absolute;
  right:20px;
  bottom:20px;
  background-color:#d8d8d8;
}

.zoom-btns .zoom-in,
.zoom-btns .zoom-out {
  display: block;
  cursor: pointer;
  padding: 7px 10px;
}

.zoom-btns img {
  width:12px;
}

.map-holder {
  cursor:pointer;
  background-image:url(img/community-map-v3.webp);
  background-size:cover;
}

.comm-map .map-holder {
    background-image:url(img/comm-map-bg-tile.webp);
    background-size:auto;
    background-repeat:repeat;
}

p.disc-font {
  font-size:12px;
  line-height:18px;
}

.map-disclaimer {
  bottom:0;
  left:0;
  background-color: #f9f6f2;
  padding:20px;
  position:absolute;
  max-width:300px;
}

#hp-bike-illustration.done path {
  fill:#323537;
  stroke:none;
}

#pzMap svg,
#pzMap img {
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  height: 100%;
  max-width: none;
}

#pzMap.fullWidth img {
  /*height: auto;*/
  object-fit:cover;
  width: 100%;
}

#pzMap.no-mh img {
    min-height:none;
}

#pzMap {
  width: 100%;
  height: 100%;
  cursor: pointer !important;
}

.map-overlay {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:100%;
  opacity:1;
  z-index:5;
  transition:opacity .5s ease-in-out;
}

.map-overlay .container {
  position:relative;
  z-index:5;
}

.map-dim {
  width:100%;
  height:100%;
  position:absolute;
  z-index:4;
  left:0;
  top:0;
  background-color:rgba(0,0,0,0.6);
}

.map-overlay.hidden,
.map-dim.hidden {
  opacity:0;
  pointer-events:none;
}

.map-blue-box {
  padding:135px 115px;
  background-color:rgba(32,60,65,0.9);
}

.map-overlay .binoculars {
  position:absolute;
  left:-50px;
  top:-50px;
  pointer-events:none;
}

.map-overlay .close-btn,
.close-btn.only-980 {
  position:absolute;
  right:55px;
  top:20px;
  width:35px;
  z-index:10;
}

.nbh-list {
  position:relative;
  margin-top:-175px;
  padding-bottom:100px;
}

.nbh-list.no-neg {
    margin-top:0;
    padding:90px 0;
}

.nbh-group {
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.nbh-group .nbh {
  width:calc(33.333% - 20px);
  padding-bottom:41%;
  background-size:auto 100%;
  background-position:50% 50%;
  background-repeat:no-repeat;
  transition:all .5s ease-in !important;
  position:relative;
}

.nbh-group .nbh:hover {
  background-size:auto 105%;
}

.nbh-group.schools a {
    position:absolute;
    width:100%;
    height:100%;
    left:0;
    top:0;
    z-index:10;
}

.nbh-group.schools .nbh-overlay {
    width:calc(100% - 80px);
    height:calc(100% - 80px);
    background-color:rgba(163,100,71,0.85);
}

.nbh-group.schools .nbh-overlay.yellow {
    background-color:rgba(182,155,104,0.85);
}

.nbh-group.schools .nbh-overlay.navy {
    background-color:rgba(32,60,65,0.85);
}

.nbh-group.schools .nbh-overlay::after {
    content:" ";
    width:calc(100% - 60px);
    height:calc(100% - 60px);
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border:2px solid #FFF;
}

.schools-label {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:100%;
    max-width:185px;
    margin:0 auto;
    text-align:center;
}

.nbh .nbh-overlay {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:calc(100% - 100px);
}

.fr-pattern-green-abso {
  position:absolute;
  width:100%;
  height:calc(100% - 175px);
  bottom:0;
  left:0;
  background-image:url(img/bkd-fr-pattern-green.webp);
  background-size:cover;
  background-position:50% 50%;
  z-index:-1;
}

.no-neg .fr-pattern-green-abso {
    height:100%;
}

.fr-pattern-green-abso.beige {
  background-image:url(img/bkd-fr-pattern-beige.webp);
  height:calc(100% - 200px);
}

.commercial-form-wrap .fr-pattern-green-abso.beige {
    height:100%;
}

img.fill.max-450 {
  max-width:450px;
}

.photo-with-logo {
  position:absolute;
  width:66.667%;
  right:0;
  top:50%;
  transform:translateY(-50%);
}

.bottom-photo {
  width:100%;
  max-width: 417px;
  margin: 0 auto;
  margin-top: -80px;
  position:relative;
  z-index:4;
}

.photo-logo {
  display:block;
  margin:0 auto;
  position:relative;
  z-index:5;
  max-width: 300px;
}

.pv-logo {
  max-width:300px;
  position:absolute;
  left:-80px;
  top:50%;
  transform:translateY(-50%);
  z-index:4;
}

.birds-illustration {
  position:absolute;
  max-width:275px;
  left:-220px;
  bottom:-30px;
  z-index:5;
}

.commercial-form-wrap {
  width:100%;
  padding:100px 0;
  position:relative;
  /*margin-top:-200px;*/
  z-index:100;
}

/*.parallax-holder {
  width:100%;
  position:relative;
  height:625px;
}*/

.commercial-slider {
  width:100%;
  height:625px;
}

.commercial-slider div {
  position:absolute;
  top:0;
  width:100%;
  height:100%;
  background-size:cover;
  background-position:50% 50%;
}

.commercial-box {
  width:100%;
  padding:85px 110px;
  background-color:rgba(82,96,58,0.9);
}

.fifty-fifty {
  position:relative;
  background-color: #203c41;
  padding:185px 100px;
}

.fifty-fifty.mh-630 {
  min-height:630px;
}

.fifty-fifty.pad-110 {
  padding:110px 100px;
}

.fifty-fifty.beige-bg {
  background-color:#f3ede5;
}

.fifty-fifty .right-img {
  position:absolute;
  right:0;
  top:0;
  width:50%;
  height:100%;
  background-size:cover;
  background-position:50% 0;
}

.fifty-fifty .right-img.left-side {
  right:auto;
  left:0;
}

.fish-illustration {
  position:absolute;
  top:-50px;
  right:-100px;
}

.gmap-holder {
  height:700px;
  overflow:hidden;
}

.army-green-box {
  background-color:rgba(82,96,58,0.9);
  padding:90px 110px;
  z-index:15;
  position:relative;
}

.army-green-box.teal {
    background-color:rgba(32,60,65,0.9);
}

.builder-nav {
  padding: 20px 0 0 0;
  background-color: #323537;
  position:sticky;
  width:100%;
  /*top:83.32px;*/
  top:48px;
  z-index:100;
  overflow-x: scroll;
  scrollbar-width: none;
  /* IE and Edge */
  -ms-overflow-style: none;
}

.builder-nav.map-cats {
  background-color:#b09565;
  padding:13px 0 0 0;
}

.builder-nav .builders {
/*  display: grid;
  grid-template-columns: repeat(5, auto);*/
  width: 1880px;
  overflow-x:auto;
  padding-left:40px;
}

.builder-nav.map-cats .builders {
  width:1135px;
  margin:0 auto;
  padding-left:0;
}

.builder-nav::-webkit-scrollbar {
  display: none;
}

.builders a {
  /*flex: 0 1 calc((100% - 180px) / 4);*/
  box-sizing: border-box;
  min-width: 0;      
  display:inline-block;
  margin-right: 45px;
  padding-bottom: 20px;
  border-bottom: 7px solid #323537;
  transition:all .7s ease-in-out;
}

.map-cats .builders a,
.map-cats .builders a.active:hover {
  opacity:0.5;
  color:#FFF;
  border-bottom:none;
}

.builders a.active,
.builders a:hover {
  color: #e6dbcb;
  border-bottom: 7px solid #e6dbcb;
}

.map-cats .builders a.active,
.map-cats .builders a:hover {
  opacity:1;
  color:#FFF;
  border-bottom:none;
}

.builders a:last-child {
  margin-right:0;
}

.right-img.with-logo {
  display: flex;
  justify-content: center;  /* center horizontally */
  align-items: flex-end;     /* align children to the bottom */
}

.builder-logo {
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:30px;
  max-width:380px;
}

.builder-logo.minus-30 {
  left:calc(50% - 45px);
}

.builder-logo.plus-45 {
  left:calc(50% + 45px);
}

.builder-logo-inside {
  margin-bottom:30px;
  max-width:315px;
}

.last-section {
  margin-bottom:100px;
}

.builder-logo.max-300 {
  max-width:300px;
}

#gform_confirmation_message_1,
#gform_confirmation_message_2,
#gform_confirmation_message_3,
#gform_confirmation_message_4 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#gform_confirmation_message_3 {
  left:50%;
  transform:translate(-50%,-50%);
}

#gform_confirmation_wrapper_1,
#gform_confirmation_wrapper_3,
#gform_confirmation_wrapper_4 {
  min-height:440px;
  position:relative;
}

#gform_confirmation_wrapper_2 {
  min-height:150px;
  position:relative;
}

#gform_confirmation_wrapper_3 {
  background-color:rgba(82,96,58,0.8);
}

#fish-draw path {
  fill:transparent;
  transition:fill 1s ease-in-out;
}

#fish-draw.filled path {
  fill:#323537;
  /*stroke:none;*/
}

.no-pointer {
  cursor:default;
}

.turquoise-block {
  background-color:#203c41;
  padding:65px 0;
}

.starwood-logo {
  display:block;
  margin:0 auto;
  width:220px;
}

.site-wrap {
  overflow-x:clip;
}

.copy-550 {
  position:absolute;
  width:50%;
  top:50%;
  left:0;
  transform:translateY(-50%);
}

.copy-550.static {
    position:static;
    transform:none;
}

#terms-modal h5 {
  text-transform:uppercase;
}

.close-fb {
  position:absolute;
  right:20px;
  top:20px;
  cursor:pointer;
  width:35px;
}

.carousel__button.is-close {
  display:none !important;
}

.modal {
  cursor:pointer;
}

.no-vis {
  visibility:hidden;
}

.photo-neg-right .simpleParallax,
.relative .simpleParallax {
  top:0;
  height:100%;
  position:absolute;
  overflow:hidden;
}

.gform-body select {
  display:flex;
  align-items:center;
}

.error-bg {
  background-size:cover;
  background-position:50% 50%;
  padding:110px 0;
  margin-bottom:50px;
}

.cream-box {
  background-color:rgba(249,246,242,0.9);
  padding:80px 50px;
  width:100%;
  box-sizing:border-box;
}

.page-id-27 #footer,
.page-id-219 #footer,
.page-id-220 #footer {
  display:none;
}

.close-btn.only-980 {
  display:none;
}

.contact-social a:hover {
  opacity:0.7;
}

.photo-strip {
    width:100%;
    padding-top:50px;
}

.photo-strip img.mobile {
        display:none;
    }

.pad-70,
.fifty-fifty.pad-70 {
    padding:70px 0;
}

.of-hidden {
    overflow:hidden;
}

.school-slider {
    height:100%;
}

.school-slider img {
    object-fit:cover;
    object-position:50% 50%;
    width:100%;
    height:100%;
}

.dark-blue-bg {
    background-color: #203c41;
    padding:75px 0;
}

.dark-blue-bg.cream {
    background-color: transparent;
    padding:0 0 75px 0;
    position:relative;
    margin-top:-200px;
}

.cream-abso {
    position:absolute;
    background-color:#f3ede5;
    height:calc(100% - 200px);
    width:100%;
    bottom:0;
    z-index:-1;
}

.strip-container {
    width:100%;
}


 .strip-slider {
  display: flex;
  width: fit-content; /* Ensures the wrapper is as wide as both images */
  animation: scroll-loop 180s linear infinite; /* Adjust '20s' for speed */
}

.strip-slider img {
  height: 100%;
  width: auto;
  max-height: 420px;
  max-width: none;
}

@keyframes scroll-loop {
  0% {
    transform: translateX(0);
  }
  100% {
    /* Moves exactly half of the total wrapper width (one full image) */
    transform: translateX(-100%); 
  }
}


.ranch-map {
    display:flex;
    width:100%;
    height:700px;
    overflow:hidden;
    position:relative;
}

.ranch-map.full-height {
    height:calc(100vh - 131.567px)
}

.ranch-map.full-height #map {
    height:100%;
}

.ranch-map .legend {
    width:25%;
    height:100%;
    background-color: #f3ede5;
    box-sizing:border-box;
    padding:30px;
    overflow-y:auto;
}

.ranch-map.comm-map .legend {
    width:35%;
    background-color:#F9F6F2;
}

.ranch-map .map-image {
    width:75%;
    height:100%;
}

.ranch-map.comm-map .map-image {
    width:65%;
    overflow: hidden;
}

.black-line {
    height:1px;
    width:100%;
    background-color:#000;
}

.black-line.lt {
    background-color:#323537;
}

.plan-legend li {
    font-family: "urw-din-condensed", sans-serif;
  font-weight: 400;
    font-style: normal;
    font-size:17px;
    letter-spacing:2px;
    text-transform:uppercase;
    list-style-type:none;
    margin-bottom:15px;
}

.plan-legend li {
    display:flex;
}

.plan-legend li span:first-child {
    margin-right:10px;
    width: 35px;
}

.plan-legend li .number {
    display:inline-block;
    background-color: #a36447;
    border-radius:50%;
    color:#FFF;
    padding: 0px 0px;
    width:35px;
    text-align:center;
    letter-spacing: 0;
    padding: 0px 6px;
    height: 35px;
}

/* ERROR BOX (For Debugging) */
    #debug-box {
      display: none; /* Hidden by default */
      position: absolute;
      top: 10px;
      right: 10px;
      width: 300px;
      padding: 15px;
      background: #ffe6e6;
      border: 1px solid #ff0000;
      color: #cc0000;
      z-index: 1000;
      font-family: monospace;
      font-size: 12px;
      border-radius: 5px;
      box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    }

    #legend-header {
    margin-bottom:25px;
    }

    .comm-map #legend-header {
        padding:15px 0;
        background-color: #52603a;
    }

.category-section {
    cursor:pointer;
}

.category-section .location-row  {
    display:none;
}

.category-section.open .location-row {
    display:flex;
}

.category-section .category-title {
   font-family: "urw-din-condensed", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size:17px;
    letter-spacing:2px;
    text-transform:uppercase;
    border-bottom: solid 1px #979797;
  margin-bottom: 20px;
  padding-bottom: 10px;
  margin-top: 15px;
  background-repeat: no-repeat;
  background-position: 0 5px;
  padding-left: 35px;
  position:relative;
}

.category-section .category-title::after {
  content: '+';
  position: absolute;
  right: 10px;
  top: -10px;
  font-family: "urw-din", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 27px;
}

.category-section.open .category-title::after {
  content: '-';
}

.location-row {
    margin-bottom:20px;
    display:flex;
}

.location-row label {
    font-family: "urw-din", sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size:17px;
    letter-spacing:1px;
    line-height:1.2;
    }

.location-row input {
  margin-right: 12px;
  -webkit-appearance: none;
  appearance: none;
  width: 23px;
  height: 23px;
  background-color: transparent;
  border: 1px solid #000;
  border-radius: 0;
  position: relative;
  cursor: pointer;
}

.location-row input:checked {
    background-color:transparent;
}

.location-row input:checked::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid #000;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

@keyframes jump {
  0%   { transform: translateY(0); }
  25%  { transform: translateY(-15px); } /* Jump up */
  50%  { transform: translateY(0); }     /* Land */
  75%  { transform: translateY(-7px); }  /* Small bounce */
  100% { transform: translateY(0); }
}

/* The class we will add with JavaScript */
.marker-bounce {
  animation: jump 0.6s ease-out;
  transform-origin: bottom center; /* Ensure it bounces from the bottom pin tip */
}

.gm-style-iw-chr {
    max-height:1px;
}

.clear-filters {
    cursor:pointer;
}

.gm-style-iw-d {
    padding:10px 40px;
}

.gm-style-iw-d h6 {
    text-align:center;
}

.gm-style-iw-d span {
    margin:0 auto;
    display:inline-block;
}

.legend-photo {
    width:100%;
    padding-bottom:62.5%;
    background-size:cover;
    background-position:50% 50%;
}

.legend-listing {
    border-bottom:1px solid #979797;
    padding-bottom:20px;
    margin-bottom:20px;
}

.legend-listing:last-child {
    border-bottom:none;
    margin-bottom:0;
    padding-bottom:60px;
}

.sticky-disclaimer {
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    background-color: #323537;
    padding:13px 0;
    z-index:500;
}

.comm-map .zoom-btns {
    bottom:60px;
}

* pager */
.slider-pager { 
    text-align: center; 
    width:100%;
    margin:0 auto;
}
.slider-pager span { 
  font-size: 0;
  width: 16px;
  height: 16px;
  display: inline-block;
  background-color: transparent;
  cursor: pointer;
  border: 1px solid #52603a;
  border-radius: 50%;
  margin-right:10px;
}

.slider-pager span:last-child {
    margin-right:0;
}
.slider-pager span.cycle-pager-active { background-color: #52603a;}
.slider-pager > * { cursor: pointer;}

.dining-district .cycle-prev,
.dining-district .cycle-next {
    position:absolute;
    top:50%;
    left:20px;
    transform:translateY(-50%);
    width:40px;
    z-index:1000;
    cursor:pointer;
}

.dining-district .cycle-next img,
.dining-district .cycle-prev img {
    width:100%;
}

.dining-district .cycle-prev img {
    transform:rotate(180deg);
}

.dining-district .cycle-next {
    left:auto;
    right:20px;
}

.dining-district {
    width:100%;
}

.dining-district .slide-item {
    padding-bottom:63%;
    background-size:cover;
    background-position:50% 50%;
    background-repeat:no-repeat;
    width:100%;
}

 .amenity-scroller {
    width:100%;
    overflow: hidden;
    white-space: nowrap;
}

.amenity-scroller .strip-slider {
    display: inline-flex;
    animation: am-scroll 130s linear infinite;
    background-color: #52603a;
    padding:12px 0;
}

.amenity-scroller li {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0 20px;
    color:#FFF;
    font-family: "larken", sans-serif;
    font-weight: 300;
    font-style: normal;
    line-height:1.33;
    font-size:22px;
    margin-right:20px;
    padding-right:20px;
    letter-spacing: 2.1px;
}

.amenity-scroller .strip-slider li::after {
  content: "•";
  margin-left: 40px; /* Space between text and bullet */
  color: #FFF;
}

/* The Animation */
@keyframes am-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); } /* Move by exactly half the total width */
}

.two-col-list {
    display:flex;
    padding:0;
}

.two-col-list ul {
    width:50%;
    padding-left:20px;
    box-sizing:border-box;
}

/*****Media Queries*******/

@media (min-width:981px) {
  .hamburger {
    display:none;
  }

  .nav-items li.mob-only,
  .mob-only,
  img.fill.mob-only {
    display:none;
  }

  .mob-filter-btn {
    display:none;
  }

}

@media (max-width:1350px) {
  
 .col-1350-12 {
    width:100% !important;
   }

   /*.commercial-photo {
    width:100%;
    position:static;
   }

   .he-photos {
    top: auto;
    bottom: 0;
    transform: none;
    left: 50%;
    transform: translateX(-100%);
   }

   .he-photos.dining {
      left: calc(74.667% + 30px);
    }*/

    .commercial-photo {
      width:100%;
      position:static;
      padding-bottom:0;
    }

    .commercial-photo .simpleParallax {
      position:static;
    }

   .pad-btm-150-1350 {
    padding-bottom:150px;
   }

   .he-photos,
   .he-photos.dining {
    top:calc(100% - 280px) !important;
    left:50%;
   }
}

@media (max-width:1300px) {
  .nav-items li {
    margin-right:25px;
  }

  .nav-items .furst-logo {
    width:180px;
  }

  .blue-text-box {
    padding:30px;
  }
}

@media (max-width:1100px) {
  .col-1.no-mob,
  .col-2.no-mob,
  .col-3.no-mob,
  .col-4.no-mob,
  .col-5.no-mob,
  .col-6.no-mob {
    /*display:none;*/
  }
}


@media (max-width:980px) {

  html,
  body {
    overflow-x:hidden;
    width:100%;
  }

  .mob-only {
    display:block;
  }

  .mob-center {
    text-align:center;
  }

  .row.mob-flip,
  .ranch-map.mob-flip {
    flex-direction: column-reverse;
  }

  .mob-top-30 {
    margin-top:30px;
  }

  .mob-top-10 {
    margin-top:10px;
  }

  .mob-btm-30 {
    margin-bottom:30px !important;
  }

  /***Mobile Menu Styles***/

  .hamburger {
  padding: 0;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; 
  position: absolute;
  top: 50%;
  height: 24px;
  transform: translateY(-50%);
  right:0;
  }
  .hamburger:hover {
    opacity: 0.7; }
  .hamburger.is-active:hover {
    opacity: 0.7; }
  .hamburger.is-active .hamburger-inner,
  .hamburger.is-active .hamburger-inner::before,
  .hamburger.is-active .hamburger-inner::after {
    background-color: #9c5839; }

  .drop .hamburger.is-active .hamburger-inner,
  .drop .hamburger.is-active .hamburger-inner::before,
  .drop .hamburger.is-active .hamburger-inner::after {
    background-color:#FFF;
  }

.hamburger-box {
  width: 30px;
  height: 24px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 30px;
    height: 4px;
    background-color: #9c5839;
    border-radius: 2px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }

.drop .hamburger-inner, 
.drop .hamburger-inner::before, 
.drop .hamburger-inner::after {
  background-color:#FFF;
}

  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -10px; }
  .hamburger-inner::after {
    width:25px;
    right:0;
    bottom: -10px; }

    .hamburger--stand .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
  .hamburger--stand .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand.is-active .hamburger-inner {
  transform: rotate(90deg);
  background-color: transparent !important;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
  .hamburger--stand.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    width:30px; }
 /****end Mobile Menu STyles**/

 .nav-items .container .row {
  display:none;
 }

 .drop .nav-items .container .row {
  display: block;
  position: fixed;
  top: 96px;
  background-color: #52603a;
  width: 100%;
  margin: 0 auto;
  left: 0;
  height: calc(100vh - 96px);
 }

 .drop .scrolled .nav-items .container .row {
    top:70px;
    height:calc(100vh - 70px);
 }

 .drop #Navigaiton---After-Launch {
  fill:#FFF;
 }

 .nav-items .furst-logo {
    left: 0;
    transform: translate(0, -50%);
 }

 .nav-items .left-side,
 .nav-items .right-side {
  text-align: left;
  width: 100%;
  padding: 0;
  padding-left: 0px;
  margin: 0;
  padding-left: 7.5%;
}

 .mob-nav-abso {
  position:absolute;
 }

 .mob-no-top {
  margin-top:0 !important;
 }

 [class*="col-"].mob-no-pad {
  padding:0;
  margin-left:-7px;
  width:calc(100% + 11px);
 }

 .mob-no-btm {
  margin-bottom:0 !important;
 }

  .drop #navigation {
    background-color:#52603a;
  }

 .drop .mob-nav-abso {
  width: 100%;
  height: calc(100vh - 120px);
  z-index: 1000;
  background-color: #bfd5e2;
  left: 0;
  top: 75px;
 }

 .nav-items li {
  display: block;
  margin: 0 auto;
  margin-bottom: 25px;
 }

 .nav-items li a {
   font-family: "larken", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size:20px;
  letter-spacing:2px;
  text-transform:none;
  color:#e6dbcb;
 }

 .nav-items li:hover::after {
  transform: scaleX(0);
}

.nav-items li > ul {
  position: static;
  display: block;
  opacity: 1;
  background: transparent;
}

.nav-items li > ul li {
  background: transparent;
  padding: 0;
  text-align: left;
  margin-bottom:10px;
}

.nav-items li > ul {
  text-align: center;
  margin: 0 auto;
}

.nav-items .has-sub {
  display:none;
}

.nav-items li > ul li a {
  color:#FFFFFF;
  font-family: "urw-din-condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 2px;
}

.nav-items li > ul {
  max-height:none;
  padding-top:0;
  margin:0;
  padding:0;
  margin-top:10px;
}

.nav-items li > ul li:first-child {
  padding-top:0;
}

.nav-items li > ul li:last-child {
  padding-bottom:0;
  margin-bottom:25px;
}

.nav-items li > ul li a:hover {
  color:#FFF;
}

.drop {
  position:fixed;
}

.mt-110,
.mt-100,
.mt-180 {
  margin-top:50px;
}

.mob-center-content {
  justify-content: space-around;
}

.mt-130 {
  margin-top:50px;
}

.nav-items .social-icons {
  width: 110px;
  display: flex;
  align-content: center;
  align-items: center;
  margin:0 auto;
}

.nav-items .social-icons a:first-child {
  margin-right:30px;
}

.video-header {
  height:500px;
}

.text-circle {
  width: 120px;
  left: 50%;
  transform: translateX(-50%);
  top: 25px;
  right: auto;
}

.text-circle img {
  width:100%;
}

@keyframes spin {
  from { transform: translateX(-50%) rotate(0deg) }
  to { transform: translateX(-50%) rotate(360deg); }
}

.photo-right {
  width: 216px;
  padding-bottom: 0;
  height: 216px;
}

.photo-left {
  height: 60%;
  padding-bottom: 0;
  top: 50px;
  transform: translateX(-50%);
  left: 50%;
  min-width: 289px;
}

.photo-zoom {
  right: auto;
  left: 50%;
  transform: translateX(-50%);
}

.hero-section h1 {
  max-width: 310px;
}

.fr-pattern {
  padding-top:160px;
  padding-bottom:50px;
}

h4 {
  font-size:27px;
   line-height: 1.37;
}

.fr-stamp-black {
  width:175px;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

.dog-photo {
  margin: 0 auto;
  padding-top: 125px;
}

img.mob-62 {
  width: 62%;
  display:block;
  margin:0;
}

.inline-img.mob-38 {
  width: calc(38% - 10px);
  right: 0;
  height:100%;
  left:auto;
}

.mt-100 {
  margin-top:50px;
}

.army-green-bg {
  padding:60px 30px;
}

.mob-fw {
  width:100% !important;
  margin:0 auto !important;
  padding:0 !important;
}

.he-photos {
  width:150px;
  padding-bottom:150px;
}

  .he-photos,
   .he-photos.dining {
    top:calc(100% - 150px) !important;
    left:50%;
   }


.pad-btm-150-1350.mob-fw {
  padding-bottom:75px !important;
}

.fr-pattern.beige {
  background-size: cover;
}

.vert-bar-top,
.vert-bar-btm {
  top: 27px;
  width: calc(50% - 91px);
  height: 2px;
  left:30px;
}

.vert-bar-btm {
  bottom:auto;
  right:30px;
  left:auto;
}

.vert-logo {
  position: static;
  margin: 0 auto;
  margin-top: 30px;
}

.form-wrap.home-form {
  margin:0 auto;
}

.home-form #gform_fields_1,
.contact-form #gform_fields_3,
.home-form #gform_fields_4 {
  grid-template-columns: 1fr;
  row-gap: 20px;
}

.fr-pattern.beige.with-dog {
  padding-bottom:170px;
}

.divider-after {
  position:relative;
  margin-bottom:30px;
  padding-bottom:30px;
}

.divider-after::after {
  position:absolute;
  content: " ";
  bottom:0;
  height:2px;
  width:90%;
  left:50%;
  transform:translateX(-50%);
  background-color:#e6dbcb;
}

.three-by {
  display:flex !important;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
  align-content: center;
}

.three-by li {
  width:48%;
}

.mt-60 {
  margin-top:30px;
}

.eho-logo {
  position:static;
  transform:none;
}

.eho-logo img {
  margin:0 auto;
  margin-top:20px;
}

.static-hero {
  height:500px;
}

.static-hero.schools {
    height:400px;
}

.schools .hero-photo.hero-photo-left {
    height:100%;
}

.static-hero .hero-photo {
  width:100%;
  height:50%;
  bottom:0;
  top:auto;
}

.static-hero .hero-photo.force-100 {
  background-size:cover !important;
}

.static-hero .hero-photo:first-child {
  bottom:auto;
  top:0;
}

.static-hero .sm-hero-photo {
  width:250px;
  height:250px;
}

h1 {
  font-size:45px;
}

.hero-section h1 {
  max-width:250px;
}

.photo-neg-left {
  margin:0 auto;
}

.mob-btm-145 {
  margin-bottom:175px !important;
}

.beige-container {
  padding:50px 0;
}

.photo-neg-left {
  max-width:400px;
  margin:0 auto;
}

.mob-no-btm-pad {
    padding-bottom:0 !important;
}

.mob-no-top-pad {
  padding-top:0 !important;
}

.small-photo-inset,
.small-photo-inset.left-side {
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  top: auto;
  max-width: 250px;
  bottom: -115px;
}

.container.mob-stretch {
  width:100%;
}

.photo-neg-right,
.photo-neg-left,
.photo-neg-left.right-side,
.photo-neg-right.lefter {
  width:100%;
  margin:0 auto;
}

.blue-text-box,
.blue-text-box.righter {
  position: static;
  width: 100%;
  margin: 0 auto;
  padding: 50px;
  transform: none;
}

.green-fr-bg,
.wood-grain-container,
.white-container {
  padding:50px 0;
}

.wood-grain-container.pad-145 {
  padding-bottom:50px;
}

.fifty-fifty,
.fifty-fifty.pad-110 {
  padding:0;
}

.fifty-fifty .right-img {
  position: static;
  display: block;
  width: 100%;
  padding-bottom: 66.67%;
  height: auto;
}

.gmap-holder {
  height:400px;
}

.nbh-group {
  flex-wrap:wrap;
}

.nbh-group .nbh,
.nbh-group .nbh:hover {
  width:100%;
  background-size:cover;
  margin-bottom:20px;
  padding-bottom:55%;
}

.fr-pattern.pad-btm-nbh {
  /*padding-bottom: 205px;*/
  padding-bottom: 295px;
}

.nbh-list {
  padding-bottom:50px;
  margin-top: -245px;
}

.photo-with-logo {
  left: 50%;
  transform: translateX(-50%);
  top: auto;
  bottom: -100px;
}

.mob-pad-top-100 {
    padding-top:100px;
}

.photo-logo {
  max-width:200px;
}

.bottom-photo {
  max-width:250px;
}

.pv-logo {
  max-width: 200px;
  left: 50%;
  transform: translateX(-50%);
  top: -80px;
}

.birds-illustration {
  right: -20px;
  left: auto;
  right: 20px;
  max-width: 175px;
  bottom: -110px;
}

.last-section {
  margin-bottom:50px;
}

.map-blue-box {
  padding:30px;
}

.map-overlay .binoculars {
  max-width: 150px;
  left: 50%;
  transform: translateX(-50%);
  top: -150px;
}

.map-holder {
  /*height: 500px;*/
  height:calc(100dvh - 146px);
}

#pzMap img {
  min-height: 0;
  height: 100%;
  max-width:none;
}

.commercial-box {
  padding:40px;
}

.commercial-form-wrap {
  margin-top:0;
  padding-bottom:50px;
}

.commercial-slider {
  height:400px;
}

.mob-pad-30 {
  padding:0 30px;
}

.mob-tb-pad-30 {
  padding:30px 0 !important;
}

.news-grid {
  grid-template-columns: repeat(1, 1fr);
}

.news-grid .news {
  padding:30px;
}

.green-fr-bg.news {
  padding:0 0 150px 0;
}

.newsletter-box {
  flex-wrap: wrap;
  padding: 35px;
}

.newsletter-box .join-text, 
.newsletter-box .join-form {
  width:100%;
}

.join-vert-bar {
  width: 100%;
  height: 2px;
  margin: 0 auto;
  margin-top: 20px;
}

.newsletter-box {
  margin-bottom:0;
}

.static-hero .hero-photo.hero-photo-full {
  height:100%;
}

.contact-form-holder {
  padding:30px;
}

.boots {
  left: 50%;
  transform: translateX(-50%);
  top: -70px;
  max-width:145px;
}

.mob-pad-top-90 {
  padding-top: 90px;
}

#gform_submit_button_3 {
  bottom:-55px;
}

.contact-social {
  margin-bottom:30px;
}

.army-green-box {
  padding:30px;
}

h3 {
  font-size: 38px;
  line-height: 1.18;
}

.mob-vert-to-hor {
  background-size:cover;
  width:100%;
  padding-bottom:120%;
  background-position:50% 50%;
  background-repeat:no-repeat;
}

.fifty-fifty .builder-logo-inside,
.builder-logo.minus-30,
.builder-logo.plus-45 {
  position: absolute;
  left: 50%;
  bottom:30px;
  margin-bottom:0;
  transform: translateX(-50%);
}

.mob-max-width {
  max-width:100% !important;
}

.fifty-fifty .right-img.with-logo {
  position:relative;
}

.static-hero .hero-photo.hero-photo-left,
.static-hero .hero-photo.hero-photo-right {
  width: calc(100% - 60px);
  left: 50%;
  right:auto;
  transform: translateX(-50%);
}

.bike {
  max-width:250px;
  padding-top:45px;
}

.photo-neg-right .simpleParallax, 
.relative .simpleParallax {
  position:static;
}

.dog-illustration {
  max-width:250px;
}

.video-overlay.over {
  opacity:0;
}

.copy-550 {
  position: static;
  padding: 50px 30px;
  transform:none;
  width:100%;
  top:0;
}

.fish-illustration {
  left: 0;
  right: auto;
  transform:none;
  top:-20px;
}

#fish-draw {
  max-width: 150px;
}

.fish-illustration img {
  width:150px !important;
  height:auto !important;
}

.mob-lr-30 {
  padding:0 30px !important;
}

body {
  overflow-x:clip;
}

#navigation.scrolled {
  padding:35px 0;
}

.builder-nav {
  top:68.32px;
}

.nav-items li > ul li a.active {
  border-bottom:3px solid #FFF;
}

.nav-items li a.active {
  border-bottom:3px solid #e6dbcb;
}

 .fifty-fifty.builder-item .right-img {
  padding-bottom:120%;
 }

 .mob-no-top.mob-top-50 {
  margin-top:50px !important;
 }

 .map-dim {
      background-color: rgba(32,60,65,0.9);
    }

      .map-blue-box {
        background-color:transparent;
    }

    .map-overlay .close-btn {
      top: 20px;
      top: -20px;
    }

.close-btn.only-980 {
  right:20px;
  top:20px;
  display:block;
}

.close-btn.temp-hide {
  opacity:0;
}

.blue-text-box.brown {
  padding:40px;
}

.contact-form-holder {
  background-color: rgba(82,96,58, 1);
}

.error-bg {
  background-image:none !important;
  padding:40px 0;
  margin-bottom:0;
}

.cream-box {
  padding:40px;
}

.error-mobile {
  height:330px;
  width:100%;
  background-size:cover;
  background-position:0 50%;
}

.static-hero.trc .hero-photo-right {
    background-size:cover !important;
}

.strip-slider img {
    max-height:280px;
}

.ranch-map {
    height: auto;
    flex-wrap: wrap;
}

.ranch-map .map-image {
    width:100%;
    height:500px;
    position:relative;
}

.ranch-map .legend {
    width:100%;
    height:auto;
}

.ranch-map #pzMap.fullWidth img {
    min-width:100%;
    min-height:none;
    height:100%;
    width:auto;
}

.neg-top.nt-200 {
    margin-top:-90px;
}

.nbh-group.schools .nbh {
    padding-bottom:85%;
}

.schools-label {
    max-width:215px;
}

.nbh-group.schools .nbh-overlay::after {
    width: calc(100% - 30px);
    height: calc(100% - 30px);
}

.nbh-group.schools .nbh-overlay {
    width: calc(100% - 50px);
    height: calc(100% - 50px);
}

.ranch-map #legend {
    display:none;
}

.ranch-map #legend.dropped {
    position: absolute;
    top: 0;
    width: 100vw;
    height: 100%;
    overflow-y: auto;
    display: block;
    z-index: 1000;
}

.ranch-map.ag .map-image {
height:100%;
}

.page-id-220 {
overflow-x:clip;}

.dining-districts {
    padding:50px 0 0 0;
}

.ranch-map.comm-map .map-image {
    width:100%;
}

.mob-filter-btn {
    position:absolute;
    top:25px;
    left:50%;
    transform:translateX(-50%);
    z-index:100;
    cursor:pointer;
}

.mob-filter-btn.comm {
    position: static;
    width: 100%;
    transform:none;
}

.mob-filter-btn.comm .btn {
    width:100%;
    border-radius:0;
}

.mob-filter-btn.close-filter {
    top:auto;
    margin-top:20px;
    z-index:1001;
    padding-bottom: 30px;
}

.comm-map-legend   .mob-filter-btn.close-filter {
    position:fixed;
    bottom:20px;
}

.legend.dropped {
    display: block;
  width: 100%;
  position: absolute;
  z-index: 1001;
  height: 100%;
}

.sticky-disclaimer {
    display:none;
}

.ranch-map.full-height {
  height: calc(100dvh - 96px);
}

.campfire.trc-hat {
  right:auto;
  left:50%;
  transform:translateX(-50%);
  max-width: 200px;
    top: -90px;
}

.info-disclaimer {
    position:absolute;
    left:20px;
    bottom:20px;
    width:35px;
    height:35px;
    z-index:100;
}

.sticky-disclaimer p.disclaimer {
    color:#000;
}

.comm-map .zoom-btns {
    bottom:20px;
}
/*.cycle-slideshow.dining-district {
    overflow:hidden;
}

.cycle-slideshow.dining-district .cycle-slide {
    max-width:none;
    height:calc(100% + 60px);
}*/

.dining-district .slide-item {
    padding-bottom:calc(63% + 60px);
}

.mob-pad-top-70 {
    padding-top:70px;
}

.btn span {
    display:inline-block;
}

.strip-slider {
  display: flex;
  width: max-content; /* More robust than fit-content for strips */
  animation: scroll-loop 120s linear infinite;
  will-change: transform; /* Crucial for mobile performance */
}

.strip-slider img {
  height: 420px; /* Fixed height is safer for calcs */
  width: auto;
  max-width: none;
  flex-shrink: 0; /* Prevents mobile from "squishing" the images */
}

@keyframes scroll-loop {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* If you have two images, -50% creates the seamless loop */
    transform: translate3d(-50%, 0, 0); 
  }
}

.page-id-220 body {
    height:100vh;
    overflow-y:hidden;
}

.cream-abso {
    height: calc(100% - 140px);
}
.dark-blue-bg.cream {
    margin-top: -140px;
    padding-bottom:40px;
}

.fr-pattern.extra-btm {
  padding-bottom: 170px;
}

}
@media (max-width:650px) {
  .photo-left {
    width:210px;
    min-width:210px;
  }

  .photo-right {
    width: 153px;
    height: 153px;
    bottom: 50px;
    top: auto;
  }

   .static-hero .sm-hero-photo {
    width:180px;
    height:180px;
   }

   .fr-pattern-green-abso {
      height: calc(100% - 310px);
    }

    .fr-pattern-green-abso.mob-fh {
      height:100%;
    }

    .binoculars {
      display:none;
    }

    .mob-pad-20 {
      padding:0 20px;
    }

    .bottom-half.contact {
      padding-top:150px;
    }

    .static-hero.contact {
      height: 330px;
    }

    .static-hero.contact .hero-photo {
      background-size:cover;
      background-position: 80% 50%;
    }

    .fr-pattern.no-top-pad.contact {
      padding-top:110px;
    }

    .fr-pattern.no-top-pad.schools {
    padding-top:90px;
    }

    .blue-text-box.onyx {
      padding:80px 40px;
    }

    .builders a {
      margin-right:35px;
    }

    .hero-photo.mob-move-top {
      background-position: 50% 0%;
      background-size: auto 105%;
    }

    .btn.mob-sm-pad {
      padding:5px 20px;
      min-width:170px;
    }

    .photo-strip img.desktop {
        display:none;
    }

    .photo-strip img.mobile {
        display:block;
    }

    .btn.close-filters {
    padding: 5px 20px;
    font-size: 16px;
    letter-spacing: 2px;
    min-width: 150px;
}

 .mob-filter-btn.comm .btn {
    padding:5px 20px;
    font-size:17px;
  }
}

}

@media (max-height:800px) {
  .map-overlay .close-btn {
    top:100px;
  }

  .map-overlay .binoculars {
    top:-20px;
  }
}