/* Typography */

.blank-heading {font-size:medium;margin:0;font-weight:normal;}
.overflow-text {overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.bold-text {font-weight: bold;}
.center-text {text-align:center;}
.responsive-m-text {font-size:32px;}
.responsive-text {font-size:14px;}

.baja-title {
  color: #ffffff;
  background-color: var(--second-color);
  padding: 16px 32px;
  font-size: 32px;
  text-transform: uppercase;
  font-weight: 500;
  text-align: center;
  line-height: 1;
}

.baja-detils {
  color: #ffffff;
  background-color: var(--second-color);
  padding: 16px;
  text-align: center;
}

.baja-detils h3,
.baja-detils p {
  color: #ffffff;
}
.container-fluid {
    position: fixed;
    padding-bottom: 1px;
    top: 0px;
    z-index: 2;
    background: #d9d9d9;
    padding-top: 15px;
top:73px;
}

@media only screen and (max-width: 667px) {.container-fluid {top:53px}}

.results-row{    margin-top: 20px!Important;}

@media only screen and (max-width: 667px) {
  .results-row{    margin-top: -20px!Important;}
  .responsive-m-text {font-size:24px;}
  .responsive-text {font-size:14px;}
.baja-title{font-size:24px;padding-left:0;padding: 16px 32px;}
}

/* Padding */

.paragraph-padding {padding: 20px 10%;}
.no-padding {padding:0;} 
.xs-padding {padding:8px;} 
.s-padding {padding:12px;} 
.padding {padding:16px;} 
.m-padding {padding:32px;} 
.l-padding {padding:48px;} 
.xl-padding {padding:64px;}
.responsive-padding {padding:12px 8px;}
@media only screen and (max-width: 600px) {
  .responsive-padding {padding:4px 8px;}
  .paragraph-padding {padding: 16px;}
}

/* Row */

.row {-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
.row::after {content:"";clear:both;display:table;}

/* Colunm */

[class*="col-"] {float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width 0.5s;-moz-transition:width 0.5s;-o-transition:width 0.5s;transition:width 0.5s;}
.col-1 {width:8.33%;}
.col-2 {width: 16.66%;}
.col-2-4 {width: 20%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}
@media only screen and (max-width: 768px) {
    .col-s-1 {width:8.33%;}
    .col-s-2 {width:16.66%;}
    .col-s-3 {width:25%;}
    .col-s-4 {width:33.33%;}
    .col-s-5 {width:41.66%;}
    .col-s-6 {width:50%;}
    .col-s-7 {width:58.33%;}
    .col-s-8 {width:66.66%;}
    .col-s-9 {width:75%;}
    .col-s-10 {width:83.33%;}
    .col-s-11 {width:91.66%;}
    .col-s-12 {width:100%!Important}
}
@media only screen and (max-width: 900px) {
    [class*="col-"] {width: 100%;}
}

/* Width */

.max-half-width {max-width:50%;}
.max-width {max-width:1366px;margin:auto;}

/* Cover Image */

.cover-image, .search-image {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.cover-image img, .search-image img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

.cover-image img.portrait, .search-image img.portrait{
  width: 100% !important;
  height: auto !important;
}

.cover-image img.landscape, .search-image img.landscape{
  width: auto !important;
  height: 100% !important;
}

.search-image {
  width:100%;
  padding-top:100%;
  background-color: #f2f2f2;
  background: #f2f2f2 url("/images/icon.gif") no-repeat center;
  -webkit-background-size: 33.33%;
  -moz-background-size: 33.33%;
  -o-background-size: 33.33%;
  background-size: 33.33%;
}

/* Hero */

.hero {
  width: 100%;
  height: 500px;
  position: relative;
  overflow: hidden;
  background-color: var(--second-color);
}

.hero-image {
  display: none;
  height: 500px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

.hero-video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.hero-video iframe {
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-transform: scale(1.6);
  -moz-transform: scale(1.6);
  -ms-transform: scale(1.6);
  -o-transform: scale(1.6);
  transform: scale(1.6);
}

.hero-text {
  width: 90%;
  max-width: 600px;
  padding: 16px;
  background-color: rgba(255,255,255, 0.7);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

.hero-heading {
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 16px;
  line-height: 1;
}

.hero-tab {
  background-color: var(--second-color);
  padding: 4px 8px;
  font-size: 16px;
  float: left;
  color: #ffffff;
  width: 33.33%;
}

.hero-tab:hover,
.hero-tab.active {
  background-color: var(--third-color);
  color: var(--second-color);
}

.hero-text .input-clear.ui-widget {
  display: block;
  font-size: 0.8em;
  overflow:hidden;
}

.hero-text .keyword-search {
  width: 100%;
  padding: 12.9px;
  padding-right: 55.1px;
  font-size: 16px;
}

.hero-text .input-search-button {
  position: absolute;
  top: 0;
  right: 0;
  background-color: var(--second-color);
  color: #ffffff;
  padding: 14px;
  font-size: 18px;
  -webkit-transition: background-color 0.3s;
  -moz-transition: background-color 0.3s;
  -o-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.hero-text .input-search-button:hover {
  background-color: var(--third-color);
}

.hero-text .input-clear .input-clear-button {
  right: 61.2px;
  top: 15px;
  font-size: 18px;
}

.ui-menu-item:nth-child(n+6) {
  display: none;
}

@media only screen and (min-width: 1400px) {
  .hero-video iframe {
    -webkit-transform: scale(2.2);
    -moz-transform: scale(2.2);
    -ms-transform: scale(2.2);
    -o-transform: scale(2.2);
    transform: scale(2.2);
  }
}

@media only screen and (max-width: 992px) {
  .hero-heading {
    font-size: 24px;
    margin-bottom: 8px;
  }
  .hero-text .input-clear.ui-widget {
    font-size: 16px;
  }
}

@media only screen and (max-width: 768px) {
  .hero-image {
    display: block;
  }

  .hero-video {
    display: none;
  }

  .hero-text .input-search-button {
    top:3px;
  }
}

@media only screen and (max-width: 600px) {
  .hero-video iframe {
    -webkit-transform: scale(2.4);
    -moz-transform: scale(2.4);
    -ms-transform: scale(2.4);
    -o-transform: scale(2.4);
    transform: scale(2.4);
  }
}

.heading {
  text-transform: uppercase;
  letter-spacing: 8px;
  font-weight: bold;
}

.signup-header {
  text-align:right;
}

@media only screen and (max-width: 677px) {
  .signup-header {
    font-size: 13px;
  }
  
}

.subnavsearch {
  height: 33px;
  border: none;
  padding: 9px 20px 9px 20px;
  border: 0;
  display: inline-block;
}

.subnavholder a {
  height: 35px;
}

.subnavsearch {
  /* margin-top: 0.45px; */
}

.subnavsearch,
.subnavholder a {
  vertical-align: middle;
}

.sidenav-search {
  padding: 16px;
  width: 100%;
  display:none;
}

.sidenav-search input {
  border:1px solid var(--second-color);
  width:100%;
}

.sidenav-search a {
  z-index: 1;
  position: relative;
}

@media only screen and (max-width: 677px) {
  .sidenav-search {
    display:inline-block;
  }
  .subnav .subnavsearch, .subnav a.search-site-glass-ico {
    display: none;
  }
}

@media only screen and (max-width: 900px) {
	.hero-video {
		width: auto;
		height: 100%;
	}
}

@media only screen and (max-width: 768px) {
  .hero-text {
    font-size: 48px;
  }
}

@media only screen and (max-width: 377px) {
	.subnavsearch {
		width: 144px;
	}	
}

.heading a {
  color: var(--second-color);
}

.white-link {
  color: #fff;
}

.heading a:hover,
.white-link:hover {
  color: var(--third-color);
}

/* Home News */

.limit-1400 {
  max-width: 1400px;
  margin: auto;
  padding: 1rem;
}

.limit-1400 .article:nth-child(1) .article-description,
.limit-1400 .article:nth-child(2) .article-description,
.limit-1400 .article:nth-child(3) .article-description {
    width: 100%;
    color: white;
    top: 0px;
    background: var(--panel-head-trans);
    height: fit-content;
}

.limit-1400 .article:nth-child(1) .article-description .article-title,
.limit-1400 .article:nth-child(2) .article-description .article-title,
.limit-1400 .article:nth-child(3) .article-description .article-title {color:white;font-family:var(--second-font);}
.limit-1400 .article:nth-child(1) .article-description .article-category,
.limit-1400 .article:nth-child(1) .article-description .article-details {font-size:16px}

.limit-1400 .article:nth-child(1) .article-image {padding-top: 80%;}
@media only screen and (max-width: 667px) {
  .limit-1400 .article:nth-child(1) .article-image {padding-top: 54.5%;}
}
.limit-1400 .article:nth-child(2) .article-image,
.limit-1400 .article:nth-child(3) .article-image {padding-top: 54.5%;}

.limit-1400 .article:nth-child(3){margin-bottom:0px}

/* Box */

.box-row {display:block; background-color:var(--fourth-color);box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;    padding: 50px 2%;}
.box-row-alt {color:white; display:block; background-color:var(--second-color);box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;    padding: 50px 2%;}

.box-row::after {content:"";clear:both;display:table;}
.box-row-title {width: 100%;display:block;text-align: center;    margin-bottom: 20px;}
.box-row h2, .box-row h1 {
    text-transform: uppercase;
    font-weight: 400;
    padding-bottom: 5px;
    font-size: 23px;
    border-bottom: 1px solid var(--second-color);
    display: inline;
	line-height:40px;
}
.box-row-alt h2, .box-row-alt h1 {
    text-transform: uppercase;
    font-weight: 400;
    padding-bottom: 5px;
    font-size: 23px;
    border-bottom: 1px solid white;
    display: inline;
    color:white;
}
.box-row-alt h4, .box-row-alt h4 {color:white}
.box-col {
  float:left;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
  background-position: center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  width: 23%;
  margin: 16px 1%;
  padding-top: 23%;
  -webkit-transition: width 0.5s, padding-top 0.5s;
  -moz-transition: width 0.5s, padding-top 0.5s;
  -o-transition: width 0.5s, padding-top 0.5s;
  transition: width 0.5s, padding-top 0.5s;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.box-title {
  position: absolute;
  top:0;
  left: 0;
  width:100%;
  color:#ffffff;
  background-color: var(--panel-head-trans);
  padding: 8px;
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 500;
  text-align: center;
  z-index: 0;
  -webkit-transition: background-color 0.3s;
  -moz-transition: background-color 0.3s;
  -o-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.box-col:hover .box-title,
.location-col:hover .box-title {
  background-color: var(--second-color);
}

.box-text {
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  padding: 8px;
  background-image: linear-gradient(transparent, var(--second-color));
  -webkit-transition: max-height 0.5s, padding-top 0.5s;
  -moz-transition: max-height 0.5s, padding-top 0.5s;
  -o-transition: max-height 0.5s, padding-top 0.5s;
  transition: padding 0.5s;
  color:#ffffff;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.box-featured-text {
    padding: 5px 0px;
    height: 65px;
    overflow: hidden;
}
.box-featured-left {
    width: 63%;
    position:absolute;
    left:0px;
}


.box-featured-left h3{      font-weight: normal;  text-align: left;font-size: 14px;text-transform: uppercase;    margin: 0px;color: inherit;}

.box-featured-left h4{      font-weight: normal;  text-align: left;font-size: 13px;color: inherit;}
.box-featured-text p {
    width: 37%;
    position:absolute;
    right:0px;
    text-align:right;
    line-height: 14px;
    font-size: 12px;
}
@media only screen and (max-width: 480px) {
 .slidegrid-container .box-feature {height:90px}
  .slidegrid-container .box-featured-left{height:50px;width:100%}
 .slidegrid-container .box-featured-text {height: 110px;}
 .slidegrid-container .box-featured-text p {text-align: left;}
  .slidegrid-container .box-featured-text p,.box-featured-left h3,.box-featured-left h4{font-size:15px;text-align: left;line-height: 18px;}
  .slidegrid-container  .box-featured-text p{width:100%;        bottom: 20px;}}



.box-col:hover .box-text,
.location-col:hover .box-text {
  padding: 15% 8px;
}

.box-text .title,
.box-text .text {
  display: block;
  color: #ffffff;
  margin-bottom: 8px;
  text-shadow: 0px 0px 5px rgba(0,0,0,0.75);
}

.box-text .title {
  font-size: 32px;
  margin-bottom: 14px;
}

.box-text h3,
.box-text p {
  color: #ffffff;
  text-shadow: 0px 0px 5px rgba(0,0,0,0.75);
}

.box-text h3  {
  font-size: 24px;
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
  .box-col {width:98%;padding-top: 64.66%;}
}

/* Medium devices (landscape tablets, 768px and up)
@media only screen and (min-width: 768px) {
  .box-col {width:48%;padding-top: 48%;}
}*/

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
  .box-col {width:48%;padding-top: 33.33%;}
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
  .box-col {width:23%;padding-top: 23%;}
}

@media only screen and (max-width:600px) {
  .box-col {
    width: 90%;
    padding-top: 90%;
    margin: 5%;
  }
  .box-icon {
    width: 78px;
    height: 78px;
    font-size: 39px;
  }
}

/* Listing Agent */
.flex-column {
  display: flex;
  flex-direction: column;
}
.flex-row {
  display: flex;
  align-items: stretch; /* Make columns equal height */
}

@media only screen and (max-width: 900px) {
  .flex-row {
  display: unset;
}
}

.stretch-col {
  display: flex;
  flex-direction: column; /* Keep nested layout vertical */
  background-color: none;
}


.listing-agent {
width:100%;
    max-width: 360px;
    position: sticky;
    top: 90px;
    border: 1px solid #ccc;
    margin:0 auto;
    background-color: white;
}
@media only screen and (max-width: 900px) {.stretch-col{background-color: var(--fourth-color);}.listing-agent {max-width: 280px;}}

.agent-image {
 width: 100%;
}
.agent-title {
  background-color: var(--second-color);
  color: white;
  font-size: 14px;
  padding: 8px;
  margin: 0;
  text-transform: uppercase;
}
.agent-name {
  font-size: 20px;
  color: var(--second-color);
}
.agent-num {
  font-size: 14px;
  padding:  0px 8px 8px 8px;
  color: grey;
}
.agent-button {
  display: block;
  width: 100%;
  border: 0;
  font-weight: normal;
  background-color: var(--third-color);
  text-align: center;
  font-size: 16px;
  line-height: 16px;
  padding: 16px;
  color: var(--first-color);
  cursor: pointer;
  -webkit-transition: background-color 0.3s;
  -moz-transition: background-color 0.3s;
  -o-transition: background-color 0.3s;
  transition: background-color 0.3s;
  margin-bottom:8px;
  border:1px solid var(--second-color);
  text-transform: uppercase;
}
.agent-button:hover {
  background-color: var(--second-color);
  color:white;
}
.agent-button i {
  margin-right: 8px;
}

/* Navigation Select */

.select-plus,
.select-downarrow {
  position: relative;
}

.select-plus::before,
.select-downarrow::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 14px;
  position: absolute;
  top: 0;
  right: 10px;
}

.select-plus::before {
  content: "\f067";
}

.select-downarrow::before {
  content: "\f078";
}

.select-plus select,
.select-downarrow select {
  padding-right: 32px !important;
}

.select-grey,
.select-blue {
  background-image: none;
  padding: 14.6px 16px;
  margin-right: -5px;
}

.select-grey {
  background-color: lightgrey;
  color: var(--second-color);
  font-weight: 600;
}

.select-blue {
  background-color:lightblue;
  color: #ffffff;
}

/* Loaction */

.location-row {-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:16px 1%;text-align: center;}
.location-row::after {content:"";clear:both;display:table;}

.location-col {
  width: 31%;
  margin:16px 1%;
 /* padding-top: 17%;*/
  display: inline-block;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
/*  background-position: center;*/
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  -webkit-transition: width 0.5s, padding-top 0.5s;
  -moz-transition: width 0.5s, padding-top 0.5s;
  -o-transition: width 0.5s, padding-top 0.5s;
  transition: width 0.5s, padding-top 0.5s;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.location-icon {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 48px;
  height: 48px;
  background-color:rgba(95, 200, 217, 0.7);
  color: #ffffff;
  font-size: 24px;
  -webkit-transition: background-color 0.5s;
  -moz-transition: background-color 0.5s;
  -o-transition: background-color 0.5s;
  transition: background-color 0.5s;
}

.location-col:hover .location-icon {
  background-color:rgba(95, 200, 217, 0.9);
}

.location-icon i {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

.location-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    height: 280px;
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (max-width: 992px) {
  .location-col {
    width: 29.33%;
    padding-top: 29.33%;
  }
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (max-width: 600px) {
  .location-col {
    width: 96%;
    padding-top: 64.66%;
    margin: 2%;
  }
  .location-icon {
    width: 32px;
    height: 32px;
    font-size: 16px;
  }
}

/* Slider */

.opengallery {
    position: relative;
    z-index: 1;
    right: 20px;
    top: 20px;
    height: 0px;
    float: right;
    font-size: 25px;
    color: white;
    opacity: 0.8;
}

/*.slider-block-slick-slides .slick-slide::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 150px;
    background-image: url(/images/curve-dark.png);
    background-position: center;
    -webkit-background-size: 100% 100%;
    -moz-background-size: 100% 100%;
    -o-background-size: 100% 100%;
    background-size: 100% 100%;
    z-index: 2;
    opacity: 0.7;
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }*/
  
  .slider-block-slick-slides  .slick-slide:hover::before {
    opacity: 0.9;
  }

  .property .slick-slide::before {
    content: none;
    background-image: none;
  }

  /* Property Listing */

.property-col {
  float:left;
  padding: 16px;
  -webkit-transition: width 0.5s;
  -moz-transition: width 0.5s;
  -o-transition: width 0.5s;
  transition: width 0.5s;
}

/* Small devices (portrait tablets and large phones) */
@media only screen and (max-width: 600px) {
  .property-col {width:100%;}
}

/* Medium devices (landscape tablets) */
@media only screen and (min-width: 768px) {
  .property-col {width:50%;}
}

/* Large devices (laptops/desktops) */
@media only screen and (min-width: 992px) {
  .property-col {width:33.33%;}
}

/* Extra large devices (large laptops and desktops) */
@media only screen and (min-width: 1200px) {
  .property-col {width:25%;}
}

#divsavesearch {
  overflow: auto;
}

.map-listing {
  max-width: 500px;
  color: white;
  font-size: 16px;
  text-align: center;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 1px;
}

.map-title {
  background-color: #474a4b;
  padding: 8px 16px;
  text-align: center;
  display: table;
  width: 100%;
  color: #ffffff;
  font-size: 20px;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
}

.map-video {
  /*width: 100%;
  padding-top: 56.25%;
  position: relative;
  display: block;*/
}

.map-video iframe {
  width: 100%;
  /*height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);*/
}

.property-desc{margin-bottom:20px;margin-top:20px}

.map-info {
  padding: 8px;
}

.reults-container {
  padding: 16px 32px 0;
}

@media only screen and (max-width: 600px) {
  .reults-container #heading {
    text-align: center;
    float: none !important;
    margin-bottom: 16px !important;
  }
  .reults-container #divsavesearch {
    width: 100%;
    text-align: center;
  }
  #saveSearchButton {
    float: none !important;
  }
}

.key-stats {
    display: flex;
    border: 1px solid #ccc;
    border-radius: 23px;
    box-sizing: border-box;
    width: calc(100% - 24px) !important;
    margin-left: 12px;
}

.stat {width: 100%;
    border-left: 1px solid #ccc;
    padding: 6px 10px;
      font-size: initial;}

.stat i {
    margin: 0 5px;
}

@media only screen and (max-width: 667px) {.stat{font-size:14px;    padding: 5px 8px;}}

.key-stats .stat:first-child {border-left:none}

.property-listing {
  -webkit-transition: transform 0.3s;
  -moz-transition: transform 0.3s;
  -o-transition: transform 0.3s;
  transition: transform 0.3s;
  color: white;
  font-size: 16px;
  text-align: center;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 1px;
  cursor: pointer;
}

.property-listing:hover {
  -webkit-transform: scale(1.03);
  -moz-transform: scale(1.03);
  -ms-transform: scale(1.03);
  -o-transform: scale(1.03);
  transform: scale(1.03);
}

.property-listing .property-title {
  background-color: var(--second-color);
  padding: 8px 16px;
  text-align: center;
  height: 60.8px;
  display: table;
  width: 100%;
  color: #ffffff;
  font-size: 20px;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;

  position: relative;
}

.property-listing .property-title span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  display: block;
  width: 90%;
  max-height: 44.8px;
  overflow: hidden;
}

.property-listing .property-image {
  position: relative;
  height: 0;
  padding-top: 66.66%;
  background-color: #f2f2f2;
  background: #f2f2f2 url("/images/icon.gif") no-repeat center;
  -webkit-background-size: 33.33%;
  -moz-background-size: 33.33%;
  -o-background-size: 33.33%;
  background-size: 33.33%;
}

.property-listing .property-image img {
  width: 100%;
  display: block;
}

.property-listing .property-favourite {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background-color: rgba(89, 198, 210, 0.7);
  color: #ffffff;
  font-size: 16px;
  padding: 6.8px 0 6.8px 36px;
  cursor: pointer;
  white-space: nowrap;
  letter-spacing: normal;
  font-weight: 600;
  text-transform: capitalize;
  overflow: hidden;
  width: 0;
  -webkit-transition: width 0.5s;
  -moz-transition: width 0.5s;
  -o-transition: width 0.5s;
  transition: width 0.5s;
  -webkit-border-radius: 36px;
  -moz-border-radius: 36px;
  border-radius: 36px;
  z-index: 2;
}

.property-listing .property-favourite::before, .property-favourite::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 7px;
  left: 11px;
}

.property-listing .property-favourite::before {
  content: '\f067';
}

.property-listing .property-favourite::after {
  content: '\f068';
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.property-listing .property-favourite:hover {
  width: 175px;
  padding: 6.8px 6.8px 6.8px 36px;
}

.property-listing .property-favourite.active {
  width: 0;
  padding: 6.8px 0 6.8px 36px;
}

.property-listing .property-favourite.active::before {
  opacity: 0;
}

.property-listing .property-favourite.active::after {
  opacity: 1;
}

.property-listing .property-info {
  padding: 10px 5px;
  background-color: var(--second-color);
  margin-bottom: 0;
  min-height: 220.8px;
}

.property-listing .property-info .property-details, 
.property-listing .property-info .property-address, 
.property-listing .property-info .property-type {
  padding: 4px;
}

.property-listing .property-info .property-details {
  font-size: 20px;
}

.property-listing .property-info .property-details span {
  margin:0 16px;
}

.property-listing .property-info .property-details span.m2-to-ac {
  margin:0;
}


.property-listing .property-info .property-address {
  font-size: 14px;
}

.property-listing .property-info .property-price {
  padding-top: 3px;
  font-size: 16px;
  font-weight: bold;
  color: var(--third-color);
}

/*.property-listing .property-info div:nth-child(1) {
  padding: 4px;
  font-size: 20px;
  font-weight: bold;
}

.property-listing .property-info div:nth-child(1) span {
  margin:0 15px;
}

.property-listing .property-info div:nth-child(1) span:nth-child(1) {
  margin-left:0px;
}

.property-listing .property-info div:nth-child(1) span i {
  margin-left:8px;
}*/

.property-info .agent-button {
  margin-top: 24px;
}

.property-info .agent-button:hover {
  background-color: lightgrey;
}


/* Property */

.property .property-title,
.property .property-address {
  padding: 12px;
  font-size: 26px;
  text-transform: uppercase;
  font-weight: 500;
  text-align: center;
  line-height: 1;
}

.property .property-title {background-color: var(--second-color);color:white}

.property .property-address {
  color: white;
  background-color: var(--panel-head-trans);
  font-size: 20px;
}

@media only screen and (max-width: 667px) {.property .property-title,
.property .property-address {font-size:18px}}

.property-image {
  position: relative;
  padding-top: 33.33%;
  overflow: hidden;
}

.property-image img {
  width: 100%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

.property-image .property-gallery {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background-color: rgba(89, 198, 210, 0.7);
  color: #ffffff;
  font-size: 16px;
  padding: 8px 9px;
  cursor: pointer;
  -webkit-border-radius: 36px;
  -moz-border-radius: 36px;
  border-radius: 36px;
  -webkit-transition: background-color 0.3s;
  -moz-transition: background-color 0.3s;
  -o-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.property-image .property-gallery:hover {
  background-color: rgba(89, 198, 210, 1);
}

.property-price {
    font-family: 'Poppins Bold';
  color: var(--first-color);
      font-size: 24px;
}
@media only screen and (max-width: 667px) {.property-price{font-size:20px}}

.property-info {
  text-transform: uppercase;
  font-weight: 500;
  font-size: 20px;
}



.property-video {
  width: 100%;
  padding-top: 56.25%;
  position: relative;
  display: block;
}

.property-video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

.property-map {
  height: 450px;
  position: relative;
  margin-bottom: 150px;
}

.property-map iframe {
  position:absolute;
  top:0;
  left:0;
  border:0;
  height:100%;
  width:100%;
}

@media only screen and (max-width: 600px) {

  .property-info {
    font-size:20px;
    margin-bottom:16px;
  }

  .property-map {
    margin-bottom:16px;
  }
  
}

/* Tabs */

.tab-nav {
  overflow: auto;
  white-space: nowrap;
  scroll-behavior: smooth;
  width: calc(100% + 1px);
}

.tab-nav::-webkit-scrollbar {
  height: 10px;
}

.tab-nav::-webkit-scrollbar-track {
  background: darkgray; 
}

.tab-nav::-webkit-scrollbar-thumb {
  background: gray; 
}

.tab-nav::after {
  content: "";
  clear: both;
  display: table;
}

.tab-button {
  text-align: center;
  background-color: lightgray;
  color: var(--second-color);
  font-weight: bold;
  width: 20%;
  display: inline-block;
  padding: 16px;
  cursor: pointer;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: background-color 0.3s, color 0.3s;
  -moz-transition: background-color 0.3s, color 0.3s;
  -o-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  margin-right: -4px;
  font-size:16px;
    text-transform: uppercase;}

.tab-button:last-of-type {
  margin-right: 0;
}

.tab-button:hover, .tab-button.active {
    background-color: var(--second-color);
    color: white;
    text-transform: uppercase;
}

.tabs {
    padding: 0 12px;
    position: relative;
    border: 1px solid #ccc;
}


.tabs-prev, .tabs-next {
  position: absolute;
  top: 0;
  height: 100%;
  background-color:#f5f5f5;
  color: darkgray;
  font-size: 24px;
  padding:4.8px 11.5px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
}

.tabs-prev {
  left: 0;
}

.tabs-next {
  right: 0;
}

.tabs-prev i, .tabs-next i {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

.tab {
  padding: 16px;
  display: none;
  text-align: left;
}

.tab.active {
  display: block;
}

@media only screen and (max-width: 768px) {
  .tab-nav {
    overflow: hidden;
  }
  .tab-button {
    width: 100% !important;
    font-size:14px;
  }
}

.toolbar {
  z-index: 2;
  position: fixed;
  right: 0;
  top: 50%;
  height: 160px;
  width: 32px;
  -webkit-transform: translate(0,-50%);
  -moz-transform: translate(0,-50%);
  -ms-transform: translate(0,-50%);
  -o-transform: translate(0,-50%);
  transform: translate(0,-50%);
}

a.toolbar-button {
  display: block;
  background-color: rgba(89, 198, 210, 0.7);
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 4.8px 32px 4.8px 0px;
  font-size: 16px;
  position: relative;
  max-width: 0;
  white-space: nowrap;
  overflow: hidden;
  -webkit-transition: max-width 0.5s, padding 0.5s;
  -moz-transition: max-width 0.5s, padding 0.5s;
  -o-transition: max-width 0.5s, padding 0.5s;
  transition: max-width 0.5s, padding 0.5s;
  cursor: pointer;
  position: absolute;
  right: 0;
  top: 0;
}

.toolbar-button:nth-child(2) {
  top: 32px;
}

.toolbar-button:nth-child(3) {
  top: 64px;
}

.toolbar-button:nth-child(4) {
  top: 96px;
}

.toolbar-button:nth-child(5) {
  top: 128px;
}

.toolbar-text {
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.toolbar-button i {
  position: absolute;
  top: 16px;
  right: 0;
  width: 32px;
  text-align: center;
  -webkit-transform:translate(0,-50%);
  -moz-transform:translate(0,-50%);
  -ms-transform:translate(0,-50%);
  -o-transform:translate(0,-50%);
  transform:translate(0,-50%);
}

.toolbar-button:hover {
  padding: 4.8px 38.8px 4.8px 8px;
  max-width: 500px;
}

.toolbar-button:hover .toolbar-text{
  opacity: 1;
}

.tool-buttons {
  text-align: center;
}

.tool-button {
  cursor: pointer;
  display: inline-block;
  margin: 8px;
  padding: 8px;
  background-color: var(--third-color);
  color: #ffffff;
  -webkit-transition: background-color 0.3s;
  -moz-transition: background-color 0.3s;
  -o-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.tool-button:hover {
  background-color: var(--second-color);
  color: #ffffff;
}

.tool-button i {
  margin-right: 8px;
}

/* CTA Block */

.cta-block {
  display: inline-block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 367.4px;
  -webkit-transition: width 0.5s, padding-top 0.5s;
  -moz-transition: width 0.5s, padding-top 0.5s;
  -o-transition: width 0.5s, padding-top 0.5s;
  transition: width 0.5s, padding-top 0.5s;
  position: relative;
  cursor: pointer;
  background-color: var(--fourth-color);
  overflow: hidden;
}

.cta-title {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  color: #ffffff;
  background-color: var(--second-color);
  font-size: 21px;
  padding: 10px 5%;
  text-transform: uppercase;
  font-weight: 500;
  text-align: center;
  z-index: 2;
}

.cta-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  text-align: center;
  width: 90%;
  color: var(--second-color);
  font-size: 24px;
  -webkit-transition: color 0.3s;
  -moz-transition: color 0.3s;
  -o-transition: color 0.3s;
  transition: color 0.3s;
  line-height: 1.3;
}

.cta-text i {
  font-size: 48px;
  margin-bottom: 16px;
  display: block;
}

.cta-block:hover .cta-text {
  color: #efefef;
}
.cta-text:hover {
    color: var(--third-color);
}
.cta-image {
  position: absolute;
  height: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  -webkit-transition: filter 0.3s;
  -moz-transition: filter 0.3s;
  -o-transition: filter 0.3s;
  transition: filter 0.3s;
}

.cta-block:hover .cta-image {
  -webkit-filter: brightness(83%);
filter: brightness(83%);
}

#testimonial {
  clear: both;
  padding: 16px 32px;
  background-color: var(--fourth-color);
}

blockquote.baja {
  font-size: 16px;
  color: #ffffff;
}

blockquote.baja a {
  color: #ffffff;
  text-decoration: underline;
  -webkit-transition: color 0.3s;
  -moz-transition: color 0.3s;
  -o-transition: color 0.3s;
  transition: color 0.3s;
}

blockquote.baja a:hover {
  color: gray !important;
}

.signup {
  margin-bottom: 16px;
}

/*.signup a {
  background-image: url(../images/join-list.png);
  background-repeat: no-repeat;
  background-position: 98% center;
  background-color: #5fc8d9;
  color: #ffffff;
  font-size: 16px;
  padding: 16px;
  display: block;
  -webkit-transition: background-color 0.3s, color 0.3s;
  -moz-transition: background-color 0.3s, color 0.3s;
  -o-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
}/**/

.signup a:hover {
  background-color: #bed72d;
  color: #000;
  text-decoration: none;
  cursor: pointer;
}

.listing-block {
  vertical-align: top;
  text-align: center;
  display:inline-block;
  width: 31.33%;
  padding: 16px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
  .listing-block {
    width: 50%;
  }
}

@media only screen and (max-width: 600px) {
  .listing-block {
    width: 100%;
  }
}

.login {
  width: 100%;
  max-width: 750px;
  margin: auto;
  text-align: center;
  padding: 32px;
}

.login input {
  margin-bottom: 16px;
}

.signup {
  width: 100%;
  max-width: 750px;
  /*margin: auto;/**/
  padding: 32px;
}

.signup .colse {
  color: var(--second-color);
  float: right;
  cursor: pointer;
  -webkit-transition: color 0.3s;
  -moz-transition: color 0.3s;
  -o-transition: color 0.3s;
  transition: color 0.3s;
}

.signup .colse:hover {
  color: var(--first-color);
}

.signup label {
  display: block;
  margin-bottom: 4px;
}

.signup input {
  width: 80%;
  margin-bottom: 16px;
}

.signup input[type=submit] {
  width: auto;
  margin-bottom: 0;
}

.signup input[type=submit].largecta, .signup .largecta {
  margin: 4px;
}

.facebook-button {
  position: relative;
}

.facebook-button input {
  background: #3B5998;
  color: white;
  position: relative;
}

.facebook-button i {
  pointer-events: none;
  font-size: 16px;
  color: #ffffff;
  position: absolute;
  top: 0;
  left: 16px;
  z-index: 1;
}

.contactpopup .facebook-button i {
  top: 2px;
}

/* View Buttons */

.view-buttons {
  float: right;
  line-height: 22px;
}

.view-map,
.view-gallery {
  border: 2px solid var(--second-color);
  color: var(--second-color);
  padding: 8px 16px;
  font-size: 16px;
  cursor: pointer;
  -webkit-transition: background-color 0.3s, color 0.3s;
  -moz-transition: background-color 0.3s, color 0.3s;
  -o-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
}

.view-map {
  -webkit-border-radius: 8px 0 0 8px;
  -moz-border-radius: 8px 0 0 8px;
  border-radius: 8px 0 0 8px;
}

.view-gallery {
	margin-left: -9px;
  -webkit-border-radius: 0 8px 8px 0;
  -moz-border-radius: 0 8px 8px 0;
  border-radius: 0 8px 8px 0;
}

.view-map:hover,
.view-map.active,
.view-gallery:hover,
.view-gallery.active {
  background-color: var(--second-color);
  color: var(--third-color);
}

@media only screen and (max-width: 768px) {
  .view-buttons {
    float: none;
    line-height: 44px;
  }
}

/* Snackbar */

.snackbar {
  visibility: hidden;
  min-width: 250px;
  margin-left: -125px;
  background-color: var(--third-color);
  color: #ffffff;
  text-align: center;
  padding: 16px;
  position: fixed;
  z-index: 1;
  left: 50%;
  bottom: 30px;
  font-size: 17px;
  cursor: pointer;
  -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
  -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
  box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
  -webkit-transition: background-color 0.3s;
  -moz-transition: background-color 0.3s;
  -o-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.snackbar:hover {
  background-color: var(--first-color);
}

.snackbar.active {
  visibility: visible;
  -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
  -moz-animation: fadein 0.5s, fadeout 0.5s 2.5s;
  -o-animation: fadein 0.5s, fadeout 0.5s 2.5s;
  animation: fadein 0.5s, fadeout 0.5s 2.5s;
}

@-webkit-keyframes fadein {
  from {bottom: 0; opacity: 0;} 
  to {bottom: 30px; opacity: 1;}
}

@-moz-keyframes fadein {
  from {bottom: 0; opacity: 0;} 
  to {bottom: 30px; opacity: 1;}
}

@-o-keyframes fadein {
  from {bottom: 0; opacity: 0;} 
  to {bottom: 30px; opacity: 1;}
}

@keyframes fadein {
  from {bottom: 0; opacity: 0;}
  to {bottom: 30px; opacity: 1;}
}

@-webkit-keyframes fadeout {
  from {bottom: 30px; opacity: 1;} 
  to {bottom: 0; opacity: 0;}
}

@-moz-keyframes fadeout {
  from {bottom: 30px; opacity: 1;} 
  to {bottom: 0; opacity: 0;}
}

@-o-keyframes fadeout {
  from {bottom: 30px; opacity: 1;} 
  to {bottom: 0; opacity: 0;}
}

@keyframes fadeout {
  from {bottom: 30px; opacity: 1;}
  to {bottom: 0; opacity: 0;}
}

/* Gallery */

#gallery {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 150;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

#gallery.active {
  visibility: visible;
  opacity: 1;
}

#gallery .background{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0,0,0,0.7);
}

#gallery .propertybutton {
  display: none;
}

#gallery .slider-block-slick-slides{
  width: 90%;
  height: 90%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

#gallery .slider-block-slick-slides .slick-slide,
#gallery .slick-slider .slick-track, 
#gallery .slick-slider .slick-list {
  height: 100% !important;
}

@media only screen and (orientation: portrait) and (max-width: 700px) {
  #gallery .slider-block-slick-slides {
    height: auto;
  }
  #gallery .slider-block-slick-slides .slick-slide,
  #gallery .slick-slider .slick-track, 
  #gallery .slick-slider .slick-list {
    height: 500px !important;
  }
}

@media only screen and (orientation: portrait) and (max-width: 600px) {
  #gallery .slider-block-slick-slides .slick-slide,
  #gallery .slick-slider .slick-track, 
  #gallery .slick-slider .slick-list {
    height: 300px !important;
  }
}

/* Interactive Map */

.int-map-listing {
  overflow:auto;
}

.int-map-listing::-webkit-scrollbar {
  width: 10px;
}

.int-map-listing::-webkit-scrollbar-thumb {
  background: var(--second-color);
}

.int-map-listing .property-col {
  float:left;
  padding: 16px;
  width: 50%;
  -webkit-transition: width 0.5s;
  -moz-transition: width 0.5s;
  -o-transition: width 0.5s;
  transition: width 0.5s;
}

@media only screen and (max-width: 1100px) {
  .int-map-listing .property-col {width:100%;}
}

@media only screen and (max-width: 600px) {
  .int-map-listing {display: none;}
}

/* Save Search */

#saveSearchButton::before {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f067";
}

.save-search {
  float: right;
}

.save-search #reqsavsearch {
  line-height: 29.6px;
}

.save-search #txbsavesearch,
.save-search #btnsavesearch {
  vertical-align: top;
}

.save-search #txbsavesearch {
  margin-right: -4px;
}

.save-search #btnsavesearch {
  height: 29.6px;
  line-height: 14.2px;
}
.saved-search {
  background-color: var(--second-color);
  padding: 8px;
  margin: 8px 0;
  max-width: 300px;
}

.saved-search .search-name,
.saved-search .search-delete {
  color: #fff;
  font-size: 16px;
  line-height: 1;
  vertical-align: middle;
}

.saved-search .search-delete {
  float: right;
  margin-left: 16px;
}

.saved-search .search-name:hover  {
  color: var(--third-color);
}
.saved-search .search-delete:hover {
  color: #f44336;
}

.staff-image {
  width: 300px;
  margin-right: 24px;
  margin-bottom: 8px;
  float: left;
}

@media only screen and (max-width: 600px) {
  .staff-image {
    width: 100%;
    margin-right: 0;
  }
}
.office-cta {padding: 30px;
    text-align: center;
}
.office-cta p {max-width:800px;margin:0 auto}
.office-cta .largecta-inv {margin-top:12px}
/* Animation */

[class*="animate-"] {
  opacity: 0;
}

[class*="trigger-"] {
  position: relative;
  -webkit-animation: 0.7s ease-in-out;
  -moz-animation: 0.7s ease-in-out;
  -o-animation: 0.7s ease-in-out;
  animation: 0.7s ease-in-out;
}

.trigger-top {
  -webkit-animation-name: animatetop;
  -moz-animation-name: animatetop;
  -o-animation-name: animatetop;
  animation-name: animatetop;
}

.trigger-bottom {
  -webkit-animation-name: animatebottom;
  -moz-animation-name: animatebottom;
  -o-animation-name: animatebottom;
  animation-name: animatebottom;
}

.trigger-left {
  -webkit-animation-name: animateleft;
  -moz-animation-name: animateleft;
  -o-animation-name: animateleft;
  animation-name: animateleft;
}

.trigger-right {
  -webkit-animation-name: animateright;
  -moz-animation-name: animateright;
  -o-animation-name: animateright;
  animation-name: animateright;
}

.trigger-fade {
  -webkit-animation-name: animatefade;
  -moz-animation-name: animatefade;
  -o-animation-name: animatefade;
  animation-name: animatefade;
}

.trigger-zoom {
  -webkit-animation-name: animatezoom;
  -moz-animation-name: animatezoom;
  -o-animation-name: animatezoom;
  animation-name: animatezoom;
}

@-webkit-keyframes animatetop {
  from {
      top: -150px;
      opacity: 0;
  }
  to {
      top: 0;
      opacity: 1;
  }
}

@-moz-keyframes animatetop {
  from {
      top: -150px;
      opacity: 0;
  }
  to {
      top: 0;
      opacity: 1;
  }
}

@-o-keyframes animatetop {
  from {
      top: -150px;
      opacity: 0;
  }
  to {
      top: 0;
      opacity: 1;
  }
}

@keyframes animatetop {
  from {
      top: -150px;
      opacity: 0;
  }
  to {
      top: 0;
      opacity: 1;
  }
}

@-webkit-keyframes animatebottom {
  from {
      bottom: -150px;
      opacity: 0;
  }
  to {
      bottom: 0;
      opacity: 1;
  }
}

@-moz-keyframes animatebottom {
  from {
      bottom: -150px;
      opacity: 0;
  }
  to {
      bottom: 0;
      opacity: 1;
  }
}

@-o-keyframes animatebottom {
  from {
      bottom: -150px;
      opacity: 0;
  }
  to {
      bottom: 0;
      opacity: 1;
  }
}

@keyframes animatebottom {
  from {
      bottom: -150px;
      opacity: 0;
  }
  to {
      bottom: 0;
      opacity: 1;
  }
}

@-moz-keyframes animateleft {
  from {
      left: -150px;
      opacity: 0;
  }
  to {
      left: 0;
      opacity: 1;
  }
}

@-o-keyframes animateleft {
  from {
      left: -150px;
      opacity: 0;
  }
  to {
      left: 0;
      opacity: 1;
  }
}

@keyframes animateleft {
  from {
      left: -150px;
      opacity: 0;
  }
  to {
      left: 0;
      opacity: 1;
  }
}

@-moz-keyframes animateright {
  from {
      right: -150px;
      opacity: 0;
  }
  to {
      right: 0;
      opacity: 1;
  }
}

@-o-keyframes animateright {
  from {
      right: -150px;
      opacity: 0;
  }
  to {
      right: 0;
      opacity: 1;
  }
}

@keyframes animateright {
  from {
      right: -150px;
      opacity: 0;
  }
  to {
      right: 0;
      opacity: 1;
  }
}

@-webkit-keyframes animatefade {
  from {
      opacity: 0;
  }
  to {
      opacity: 1;
  }
}

@-moz-keyframes animatefade {
  from {
      opacity: 0;
  }
  to {
      opacity: 1;
  }
}

@-o-keyframes animatefade {
  from {
      opacity: 0;
  }
  to {
      opacity: 1;
  }
}

@keyframes animatefade {
  from {
      opacity: 0;
  }
  to {
      opacity: 1;
  }
}

@-webkit-keyframes animatezoom {
  from {
      -webkit-transform:scale(0,0);
      opacity: 0;
  }
  to {
      -webkit-transform:scale(1,1);
      opacity: 1;
  }
}

@-moz-keyframes animatezoom {
  from {
      -moz-transform:scale(0,0);
      opacity: 0;
  }
  to {
      -moz-transform:scale(1,1);
      opacity: 1;
  }
}

@-o-keyframes animatezoom {
  from {
      -o-transform:scale(0,0);
      opacity: 0;
  }
  to {
      -o-transform:scale(1,1);
      opacity: 1;
  }
}

@keyframes animatezoom {
  from {
      -ms-transform:scale(0,0);
      transform:scale(0,0);
      opacity: 0;
  }
  to {
      -ms-transform:scale(1,1);
      transform:scale(1,1);
      opacity: 1;
  }
}
/* MOBILE NAV: let lists scroll, not the wrapper */
@media (max-width: 768px) {
  /* restore wrapper so opening animation works */
  .nav-holder {
    max-height: none;              /* undo the cap */
    overflow: visible;             /* allow dropdowns to escape */
  }

  /* top-level list inside the nav becomes the scroll container */
  .nav-holder nav > ul {
    max-height: 100vh;             /* never exceed screen height */
    overflow-y: auto;              /* enable scroll on menu items */
    -webkit-overflow-scrolling: touch;
  }

  /* first-level dropdowns (Search, Explore, Buy, etc.) */
  .nav-holder nav ul > li.has-sub > ul {
    max-height: 70vh;              /* leave room for header */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* second-level dropdowns (Explore ? Communities list) */
  .nav-holder nav ul > li.has-sub > ul > li.has-sub > ul {
    max-height: 60vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* Helpful baseline so 100vh behaves as expected on iOS */
html, body { height: 100%; }

/* Mobile nav: kill horizontal scroll on submenus */
@media (max-width: 768px) {
  /* Make sure nested ULs never exceed the viewport width */
  .nav-holder nav ul > li.has-sub > ul,
  .nav-holder nav ul > li.has-sub > ul > li.has-sub > ul {
    max-height: 70vh;               /* vertical scroll only */
    overflow-y: auto;
    overflow-x: hidden;
    max-width: 100vw;
    width: 100%;
    box-sizing: border-box;         /* include padding in width */
    margin: 0;
    /* optional: tiny right padding so the OS scrollbar doesn't overlap text */
    padding-right: 8px;
    -webkit-overflow-scrolling: touch;
  }

  /* Ensure the whole menu stack doesn't push wider than the viewport */
  .nav-holder nav > ul {
    overflow-x: hidden;
  }

  /* Let long labels wrap instead of forcing a horizontal scrollbar */
  .nav-holder nav a {
    display: block;
    white-space: normal;            /* was often nowrap in themes */
    word-break: break-word;
  }

  /* Reset default list spacing that can cause overflow on narrow screens */
  .nav-holder nav ul,
  .nav-holder nav li {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
}
/* MOBILE: keep the whole menu on-screen and let submenus scroll */
@media (max-width: 768px) {
  /* Cap the full nav height and allow vertical scrolling */
  .nav-holder nav {
    max-height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Submenus: scroll inside, not push the whole menu down */
  .nav-holder nav ul > li.has-sub > ul,
  .nav-holder nav ul > li.has-sub > ul > li.has-sub > ul {
    max-height: 60vh;         /* adjust if you want more/less */
    overflow-y: auto;
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding-right: 8px;        /* space for scrollbar */
    margin: 0;
    -webkit-overflow-scrolling: touch;
  }

  /* Avoid accidental horizontal overflow */
  .nav-holder nav > ul { overflow-x: hidden; }
  .nav-holder nav a { white-space: normal; word-break: break-word; }
}
@media (max-width: 768px) {
  /* hide submenus by default on mobile */
  .nav-holder nav li.has-sub > ul { display: none; }

  /* show when toggled */
  .nav-holder nav li.has-sub.open > ul { display: block; }

  /* long lists shouldn’t push the menu off-screen */
  .nav-holder nav li.has-sub > ul {
    max-height: 60vh;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }
}
