/*

TemplateMo 591 villa agency

https://templatemo.com/tm-591-villa-agency

*/

/* ---------------------------------------------
Table of contents
------------------------------------------------
01. font & reset css
02. reset
03. global styles
04. header
05. banner
06. features
07. testimonials
08. contact
09. footer

--------------------------------------------- */
/* 
---------------------------------------------
font & reset css
--------------------------------------------- 
*/
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900");

/* 
---------------------------------------------
reset
--------------------------------------------- 
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
div pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
figure,
header,
nav,
section,
article,
aside,
footer,
figcaption {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.clearfix {
  display: inline-block;
}

html[xmlns] .clearfix {
  display: block;
}

* html .clearfix {
  height: 1%;
}

ul,
li {
  padding: 0;
  margin: 0;
  list-style: none;
}

header,
nav,
section,
article,
aside,
footer,
hgroup {
  display: block;
}


* {
  box-sizing: border-box;
}

html,
body {
  font-family: 'Poppins', sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  text-decoration: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #1e1e1e;
  margin-top: 0px;
  margin-bottom: 0px;
  font-weight: 700;
}

ul {
  margin-bottom: 0px;
}

p {
  font-size: 14px;
  line-height: 28px;
  color: #4a4a4a;
}

img {
  width: 100%;
  overflow: hidden;
}

/* 
---------------------------------------------
Global Styles
--------------------------------------------- 
*/
html,
body {
  font-family: 'Poppins', sans-serif;
}

::selection {
  background: #0071f8;
  color: #fff;
}

::-moz-selection {
  background: #0071f8;
  color: #fff;
}

.section {
  margin-top: 120px;
}

.section-heading {
  margin-bottom: 70px;
}

.section-heading h2 {
  font-size: 40px;
  font-weight: 700;
  text-transform: capitalize;
  margin-top: 20px;
  line-height: 56px;
}

.section-heading h2 em {
  font-style: normal;
  color: #0071f8;
}

.section-heading h6 {
  color: #ee626b;
  font-size: 15px;
  text-transform: uppercase;
  font-weight: 700;
}

.icon-button a {
  display: inline-block;
  background-color: #1e1e1e;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  height: 50px;
  line-height: 50px;
  padding: 0px 30px 0px 0px;
  border-radius: 25px;
  transition: all .3s;
}

.icon-button a i {
  background-color: #f35525;
  height: 50px;
  width: 50px;
  text-align: center;
  border-radius: 50%;
  line-height: 50px;
  display: inline-block;
  margin-right: 15px;
  margin-left: -1px;
}

.icon-button a:hover {
  color: #f35525;
}

.icon-button a:hover i {
  color: #fff;
}

.main-button a {
  display: inline-block;
  background-color: #1e1e1e;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  height: 40px;
  line-height: 40px;
  padding: 0px 30px;
  border-radius: 25px;
  transition: all .3s;
}

.main-button a:hover {
  background-color: #f35525;
  color: #fff;
}

/* 
---------------------------------------------
Pre-loader Style
--------------------------------------------- 
*/

.js-preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.99);
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  opacity: 1;
  visibility: visible;
  z-index: 9999;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

.js-preloader.loaded {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@-webkit-keyframes dot {
  50% {
    -webkit-transform: translateX(96px);
    transform: translateX(96px);
  }
}

@keyframes dot {
  50% {
    -webkit-transform: translateX(96px);
    transform: translateX(96px);
  }
}

@-webkit-keyframes dots {
  50% {
    -webkit-transform: translateX(-31px);
    transform: translateX(-31px);
  }
}

@keyframes dots {
  50% {
    -webkit-transform: translateX(-31px);
    transform: translateX(-31px);
  }
}

.preloader-inner {
  position: relative;
  width: 142px;
  height: 40px;
  background: transparent;
}

.preloader-inner .dot {
  position: absolute;
  width: 16px;
  height: 16px;
  top: 12px;
  left: 15px;
  background: #f35525;
  border-radius: 50%;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  -webkit-animation: dot 2.8s infinite;
  animation: dot 2.8s infinite;
}

.preloader-inner .dots {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  margin-top: 12px;
  margin-left: 31px;
  -webkit-animation: dots 2.8s infinite;
  animation: dots 2.8s infinite;
}

.preloader-inner .dots span {
  display: block;
  float: left;
  width: 16px;
  height: 16px;
  margin-left: 16px;
  background: #f35525;
  border-radius: 50%;
}



/* 
---------------------------------------------
Header Style
--------------------------------------------- 
*/

.sub-header {
  background-color: #fff;
  padding: 10px 0px;
  border-bottom: 1px solid #eee;
}

.sub-header ul li {
  display: inline-block;
}

.sub-header ul.social-links {
  text-align: right;
}

.sub-header ul.social-links li {
  margin-left: 8px;
}

.sub-header ul.social-links li a {
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: #cdcdcd;
  border-radius: 50%;
  text-align: center;
  line-height: 30px;
  color: #fff;
  font-size: 14px;
  transition: all .3s;
}

.sub-header ul.social-links li a:hover {
  background-color: #f35525;
}

.sub-header ul.info li {
  font-size: 14px;
  color: #7a7a7a;
  border-right: 1px solid #eee;
  margin-right: 25px;
  padding-right: 25px;
}

.sub-header ul.info li:last-child {
  margin-right: 0px;
  padding-right: 0px;
  border-right: none;
}

.sub-header ul.info li i {
  font-size: 20px;
  color: #f35525;
  margin-right: 8px;
}

.background-header {
  background-color: #fff;
  height: 80px !important;
  position: fixed !important;
  top: 0 !important;
  left: 0;
  right: 0;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15) !important;
  -webkit-transition: all .5s ease 0s;
  -moz-transition: all .5s ease 0s;
  -o-transition: all .5s ease 0s;
  transition: all .5s ease 0s;
}

.header-area {
  position: relative;
  background-color: #fff;
  height: 100px;
  z-index: 100;
  -webkit-transition: all .5s ease 0s;
  -moz-transition: all .5s ease 0s;
  -o-transition: all .5s ease 0s;
  transition: all .5s ease 0s;
}

.header-area .main-nav {
  background: transparent;
  display: flex;
}

.header-area .main-nav .logo {
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  display: inline-block;
}

.header-area .main-nav .logo h1 {
  line-height: 100px;
  font-size: 28px;
  text-transform: uppercase;
  color: #1e1e1e;
  font-weight: 700;
  letter-spacing: 2px;
}

.background-header .main-nav .logo h1 {
  line-height: 80px;
}

.header-area .main-nav ul.nav {
  flex-basis: 100%;
  margin-top: 30px;
  justify-content: right;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  position: relative;
  z-index: 999;
}

.header-area .main-nav .nav li:last-child {
  padding-right: 0px;
}

.header-area .main-nav .nav li {
  padding-left: 10px;
  padding-right: 10px;
  height: 100px;
  line-height: 100px;
}

.header-area .main-nav .nav li a {
  display: block;
  padding-left: 20px;
  padding-right: 20px;
  font-weight: 500;
  font-size: 15px;
  height: 40px;
  line-height: 40px;
  text-transform: capitalize;
  color: #1e1e1e;
  -webkit-transition: all 0.4s ease 0s;
  -moz-transition: all 0.4s ease 0s;
  -o-transition: all 0.4s ease 0s;
  transition: all 0.4s ease 0s;
  border: transparent;
  letter-spacing: .25px;
}


.header-area .main-nav .nav li:hover a {
  color: #f35525;
}

.header-area .main-nav .nav li a.active {
  color: #f35525;
}


.background-header .main-nav .nav li a.active {
  color: #f35525;
}

.header-area .main-nav .menu-trigger {
  cursor: pointer;
  position: absolute;
  top: 23px;
  width: 32px;
  height: 40px;
  text-indent: -9999em;
  z-index: 99;
  right: 20px;
  display: none;
}

.background-header .main-nav .menu-trigger {
  top: 22px;
}

.background-header .main-nav ul.nav {
  margin-top: 20px;
}

.header-area .main-nav .menu-trigger span,
.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after {
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  background-color: #1e1e1e;
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 0;
}

.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after {
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  background-color: #1e1e1e;
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 0;
  width: 75%;
}

.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after {
  content: "";
}

.header-area .main-nav .menu-trigger span {
  top: 16px;
}

.header-area .main-nav .menu-trigger span:before {
  -moz-transform-origin: 33% 100%;
  -ms-transform-origin: 33% 100%;
  -webkit-transform-origin: 33% 100%;
  transform-origin: 33% 100%;
  top: -10px;
  z-index: 10;
}

.header-area .main-nav .menu-trigger span:after {
  -moz-transform-origin: 33% 0;
  -ms-transform-origin: 33% 0;
  -webkit-transform-origin: 33% 0;
  transform-origin: 33% 0;
  top: 10px;
}

.header-area .main-nav .menu-trigger.active span,
.header-area .main-nav .menu-trigger.active span:before,
.header-area .main-nav .menu-trigger.active span:after {
  background-color: transparent;
  width: 100%;
}

.header-area .main-nav .menu-trigger.active span:before {
  -moz-transform: translateY(6px) translateX(1px) rotate(45deg);
  -ms-transform: translateY(6px) translateX(1px) rotate(45deg);
  -webkit-transform: translateY(6px) translateX(1px) rotate(45deg);
  transform: translateY(6px) translateX(1px) rotate(45deg);
  background-color: #1e1e1e;
}

.background-header .main-nav .menu-trigger.active span:before {
  background-color: #1e1e1e;
}

.header-area .main-nav .menu-trigger.active span:after {
  -moz-transform: translateY(-6px) translateX(1px) rotate(-45deg);
  -ms-transform: translateY(-6px) translateX(1px) rotate(-45deg);
  -webkit-transform: translateY(-6px) translateX(1px) rotate(-45deg);
  transform: translateY(-6px) translateX(1px) rotate(-45deg);
  background-color: #1e1e1e;
}

.background-header .main-nav .menu-trigger.active span:after {
  background-color: #1e1e1e;
}

.visible {
  display: inline !important;
}

@media (max-width: 1200px) {
  .header-area .main-nav .nav li {
    padding-left: 5px;
    padding-right: 5px;
  }

}

@media (max-width: 767px) {
  .background-header .main-nav {
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
    border-radius: 0px 0px 25px 25px;
    width: 100%;
  }

  .background-header .main-nav .nav,
  .header-area .main-nav .nav {
    background-color: #fff;
  }

  .background-header .main-nav .nav li a,
  .header-area .main-nav .nav li a {
    line-height: 50px;
    height: 50px;
    font-weight: 400;
    color: #1e1e1e;
    background-color: #fff;
    border-radius: 0px 0px 25px 25px;
  }

  .background-header .main-nav .nav li,
  .header-area .main-nav .nav li {
    border-top: 1px solid #ddd;
    background-color: #f1f0fe;
    height: 50px;
    border-radius: 0px 0px 25px 25px;
  }

  .header-area .main-nav .nav {
    height: auto;
    flex-basis: 100%;
  }

  .header-area .main-nav .logo {
    position: absolute;
    left: 30px;
    top: 0px;
  }

  .background-header .main-nav .logo {
    top: 0px;
  }

  .background-header .main-nav .border-button {
    top: 0px !important;
  }

  .header-area .main-nav .border-button {
    position: absolute;
    top: 15px;
    right: 70px;
  }

  .header-area.header-sticky .nav li a:hover,
  .header-area.header-sticky .nav li a.active {
    color: #ee626b !important;
    opacity: 1;
  }

  .header-area.header-sticky .nav li.search-icon a {
    width: 100%;
  }

  .header-area .nav li:last-child a {
    background-color: transparent !important;
    font-weight: 300 !important;
    text-transform: capitalize !important;
  }

  .header-area {
    padding: 0px 15px;
    height: 80px;
    box-shadow: none;
    text-align: center;
  }

  .header-area .container {
    padding: 0px;
  }

  .header-area .logo {
    margin-left: 0px;
  }

  .header-area .menu-trigger {
    display: block !important;
  }

  .header-area .main-nav {
    overflow: hidden;
  }

  .header-area .main-nav .nav {
    float: none;
    width: 100%;
    display: none;
    -webkit-transition: all 0s ease 0s;
    -moz-transition: all 0s ease 0s;
    -o-transition: all 0s ease 0s;
    transition: all 0s ease 0s;
    margin-left: 0px;
  }

  .header-area .main-nav .nav li:first-child {
    border-top: 1px solid #eee;
  }

  .header-area.header-sticky .nav {
    margin-top: 80px !important;
  }

  .background-header.header-sticky .nav {
    margin-top: 80px !important;
  }

  .header-area .main-nav .nav li {
    width: 100%;
    background: #fff;
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

}

/* 
---------------------------------------------
Banner Style
--------------------------------------------- 
*/

.main-banner .item {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 220px 20% 320px 20%;
  margin-top: 0px;
}

.main-banner .item-1 {
  background-image: url(../images/banner-01.jpg);
}

.main-banner .item-2 {
  background-image: url(../images/banner-02.jpg);
}


.main-banner .item span.category {
  background-color: #fff;
  color: #1e1e1e;
  font-size: 16px;
  font-weight: 500;
  text-transform: capitalize;
  padding: 6px 15px;
  display: inline-block;
  margin-bottom: 30px;
}

.main-banner .item span.category em {
  font-style: normal;
  color: #f35525;
}

.main-banner .item h2 {
  font-size: 62px;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  line-height: 72px;
  width: 52%;
  margin-bottom: 0px;
}

.main-banner .item p {
  font-size: 14px;
  text-transform: uppercase;
  color: #fff;
  width: 52%;
  margin-top: 10px;
}

.main-banner .owl-dots {
  position: absolute;
  bottom: 60px;
  left: 20%;
}

.main-banner .owl-dots .owl-dot {
  width: 10px;
  height: 10px;
  background-color: #fff;
  border-radius: 50%;
  margin-right: 10px;
  transition: all .5s;
}

.main-banner .owl-dots .active {
  background-color: #f35525;
}

.main-banner .owl-nav {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50px);
}

.main-banner .owl-nav .owl-prev i,
.main-banner .owl-nav .owl-next i {
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 24px;
  display: inline-block;
  color: #fff;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  opacity: 1;
  transition: all .3s;
}

.main-banner .owl-nav .owl-prev i {
  position: absolute;
  left: 45px;
}

.main-banner .owl-nav .owl-next i {
  position: absolute;
  right: 45px;
}

.main-banner .owl-nav .owl-prev i:hover,
.main-banner .owl-nav .owl-next i:hover {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.5);
}



/* 
---------------------------------------------
Featured Style
--------------------------------------------- 
*/

.featured .left-image {
  position: relative;
}

.featured .left-image img {
  padding-left: 55px;
}

.featured .left-image a {
  display: inline-block;
  width: 110px;
  height: 110px;
  line-height: 110px;
  background-color: #f35525;
  border-radius: 50%;
  text-align: center;
  position: absolute;
  left: 0;
  bottom: -55px;
}

.featured .section-heading {
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 20px;
}

.featured .section-heading h2 {
  width: 70%;
}

.featured .accordion {
  margin-left: 10px;
  margin-right: 10px;
  --bs-accordion-border-radius: 10px;
  --bs-accordion-inner-border-radius: 10px;
  --bs-accordion-bg: #fafafa;
  --bs-accordion-border-color: none;
  border: none !important;
}

.featured .accordion-header {
  border-bottom: 1px solid #eaeaea;
}

.featured .accordion-button {
  box-shadow: none;
  font-size: 17px;
  font-weight: 500;
  color: #1e1e1e;
}

.featured .accordion-button:not(.collapsed) {
  color: #f35525;
  background-color: #fafafa;
  outline: none;
}

.featured .accordion-button::after {
  display: none;
}

.featured #headingThree {
  border-bottom: none;
}

.featured .accordion-item:last-of-type .accordion-collapse {
  border-top: 1px solid #eaeaea;
}

.featured .info-table {
  border-radius: 10px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
  padding: 35px 30px;
}

.featured .info-table ul li {
  display: block;
  margin-bottom: 35px;
  padding-bottom: 35px;
  border-bottom: 1px solid #eee;
}

.featured .info-table ul li:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.featured .info-table ul li img {
  float: left;
  margin-right: 25px;
}

.featured .info-table ul li h4 {
  font-size: 22px;
  font-weight: 600;
}

.featured .info-table ul li h4 span {
  font-size: 15px;
  color: #aaa;
  font-weight: 400;
}

/* 
---------------------------------------------
Video Style
--------------------------------------------- 
*/

.video {
  background-image: url(../images/video-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding: 100px 0px 250px 0px;
  position: relative;
}

.video-content {
  margin-top: -240px;
}

.video .section-heading h2 {
  color: #fff;
}

.video-content .video-frame {
  position: relative;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
  border-radius: 10px;
}

.video-content .video-frame img {
  border-radius: 10px;
}

.video-content .video-frame a {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-26px, -26px);
  width: 52px;
  height: 52px;
  background-color: #fff;
  border-radius: 50%;
  display: inline-block;
  text-align: center;
  line-height: 52px;
  color: #f35525;
  outline: 15px solid rgba(254, 85, 37, 0.5);
  font-size: 18px;
}

/* 
---------------------------------------------
Fun Facts Style
--------------------------------------------- 
*/

.fun-facts {
  text-align: center;
  margin-top: 125px;
}

.fun-facts .counter {
  background-color: #ffeee9;
  position: relative;
  border-radius: 10px;
  width: 270px;
  padding: 20px 0px;
  display: inline-block;
}

.fun-facts .counter h2,
.fun-facts .counter p {
  display: inline-flex;
  vertical-align: middle;
}

.fun-facts .counter p {
  text-align: left;
  font-size: 16px;
  color: #1e1e1e;
  font-weight: 600;
  line-height: 28px;
}

.fun-facts .counter h2 {
  margin-right: 25px;
  font-size: 40px;
  color: #f35525;
}

.fun-facts .counter:after {
  position: absolute;
  width: 50px;
  height: 50px;
  background-color: #f35525;
  border-radius: 50%;
  content: '';
  right: -25px;
  top: -25px;
}


/* 
---------------------------------------------
Best Deal Style
--------------------------------------------- 
*/

.best-deal {
  background-color: #fafafa;
  padding: 100px 0px;
}

.best-deal .tab-content img {
  padding: 0px 45px;
}

.best-deal .tabs-content .nav-link {
  font-size: 16px;
  font-weight: 500;
  background-color: #1e1e1e !important;
  border-radius: 5px;
  height: 50px;
  line-height: 50px;
  display: inline-block;
  padding: 0px 25px;
  color: #fff;
}

.best-deal .tabs-content .nav-tabs .nav-link.active {
  background-color: #f35525 !important;
  color: #fff;
}

.best-deal .tabs-content ul.nav-tabs {
  border-bottom: none !important;
  margin-bottom: 80px;
  align-items: end;
  justify-content: end;
  margin-top: -130px;
}

.best-deal .tabs-content ul.nav-tabs li {
  padding-right: 0px;
  border-right: none;
  margin-left: 20px;
}

.best-deal .info-table {
  border-radius: 10px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
  padding: 35px 30px;
}

.best-deal .info-table ul li {
  display: block;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #eee;
  text-align: left;
  font-size: 15px;
  color: #aaa;
  font-weight: 400;
}

.best-deal .info-table ul li:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.best-deal .info-table ul li span {
  font-size: 20px;
  color: #1e1e1e;
  font-weight: 700;
  float: right;
  display: inline-block;
}

.best-deal .tabs-content {
  padding: 0px;
  background-color: transparent;
}

.best-deal .tabs-content h4 {
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 30px;
}

.best-deal .icon-button {
  margin-top: 30px;
}


/* 
---------------------------------------------
Properties Style
--------------------------------------------- 
*/

.properties .item {
  background-color: #fafafa;
  border-radius: 10px;
  padding: 30px;
  margin-bottom: 30px;
}

.properties .item img {
  border-radius: 10px;
}

.properties .item span.category {
  background-color: #fbd9cf;
  font-weight: 500;
  border-radius: 5px;
  font-size: 14px;
  color: #1e1e1e;
  padding: 5px 12px;
  display: inline-block;
  margin-top: 25px;
}

.properties .item h4 {
  font-size: 19px;
  margin: 25px 0px;
}

.properties .item h4 a {
  color: #1e1e1e;
}

.properties .item ul li {
  display: inline-block;
  font-size: 15px;
  color: #4a4a4a;
  margin-right: 20px;
}

.properties .item ul li span {
  font-weight: 600;
  color: #1e1e1e;
}

.properties .item ul {
  border-bottom: 1px solid #eaeaea;
  margin-bottom: 30px;
  padding-bottom: 30px;
}

.properties .item h6 {
  font-size: 20px;
  color: #f35525;
  margin-top: 6px;
  display: inline-block;
  float: right;
  margin-top: 30px;
}

.properties .item .main-button {
  text-align: center;
}


/* 
---------------------------------------------
Contact Style
--------------------------------------------- 
*/

.contact {
  background-image: url(../images/contact-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding: 100px 0px 250px 0px;
  position: relative;
}

.contact .section-heading h2 {
  color: #fff;
}

.contact-content {
  margin-top: -240px;
  position: relative;
  z-index: 1;
}

.contact-content #map {
  border-radius: 10px;
  margin-bottom: 60px;
}

.contact-content .item {
  border-radius: 10px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
  padding: 35px 30px;
  background-color: #fff;
}

.contact-content .phone {
  margin-right: 15px;
}

.contact-content .email {
  margin-left: 15px;
}

.contact-content .item img {
  float: left;
  margin-right: 25px;
  vertical-align: middle;
}

.contact-content .item h6 {
  font-size: 20px;
  font-weight: 600;
  vertical-align: middle;
}

.contact-content .item h6 span {
  font-size: 15px;
  color: #aaaaaa;
  font-weight: 400;
}

.contact-content #contact-form {
  margin-left: 30px;
  border-radius: 10px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
  padding: 35px 30px;
  background-color: #fff;
}

.contact-content #contact-form label {
  font-size: 15px;
  color: #3a3a3a;
  margin-bottom: 15px;
}

.contact-content #contact-form input {
  width: 100%;
  height: 44px;
  border-radius: 22px;
  background-color: #f6f6f6;
  border: none;
  margin-bottom: 30px;
  font-size: 14px;
  padding: 0px 15px;
}

.contact-content #contact-form textarea {
  width: 100%;
  height: 150px;
  max-height: 180px;
  border-radius: 22px;
  background-color: #f6f6f6;
  border: none;
  margin-bottom: 40px;
  font-size: 14px;
  padding: 15px 15px;
}

.contact-content #contact-form button {
  background-color: #1e1e1e;
  height: 44px;
  border-radius: 22px;
  padding: 0px 20px;
  color: #fff;
  border: none;
  font-size: 15px;
  font-weight: 500;
  transition: all .5s;
}

.contact-content #contact-form button:hover {
  background-color: #f35525;
}


/* 
---------------------------------------------
Footer Style
--------------------------------------------- 
*/

footer.footer-no-gap {
  margin-top: 0px;
}

footer {
  margin-top: 150px;
  background-color: #1e1e1e;
  min-height: 100px;
}

footer p {
  text-align: center;
  line-height: 100px;
  color: #fff;
  font-size: 16px;
  font-weight: 400;
}

footer p a {
  color: #fff;
  transition: all .3s;
  position: relative;
  z-index: 3;
}

footer p a:hover {
  opacity: 0.75;
}


/* 
---------------------------------------------
Page Header Style
--------------------------------------------- 
*/

.page-heading {
  background-image: url(../images/page-heading-bg.jpg);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 110px 0px;
  text-align: center;
}

.page-heading span {
  background-color: #fff;
  color: #1e1e1e;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  padding: 10px 25px;
  display: inline-block;
  margin-bottom: 30px;
}

.page-heading span a {
  color: #1e1e1e;
}

.page-heading h3 {
  font-size: 48px;
  font-weight: 900;
  text-transform: uppercase;
  color: #fff;
}


/* 
---------------------------------------------
Properties Style
--------------------------------------------- 
*/

.properties ul.properties-filter {
  list-style: none;
  text-align: center;
  margin-bottom: 70px;
}

.properties ul.properties-filter li {
  display: inline-block;
  margin: 5px 8px;
}

.properties ul.properties-filter li a {
  display: inline-block;
  text-align: center;
  font-size: 15px;
  text-transform: capitalize;
  font-weight: 500;
  color: #fff;
  background-color: #1e1e1e;
  padding: 12px 25px;
  border-radius: 5px;
  transition: all .3s;
}

.properties ul.properties-filter li a.is_active {
  background-color: #f35525;
  color: #fff;
}

.properties ul.properties-filter li a.is_active:hover {
  color: #fff;
}

.properties ul.properties-filter li a:hover {
  color: #f35525;
}

.properties ul.pagination {
  margin-top: 50px;
  text-align: center;
  width: 100%;
  display: inline-block;
}

.properties ul.pagination li {
  display: inline-block;
  margin: 0px 5px;
}

.properties ul.pagination li a {
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  background-color: #1e1e1e;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  border-radius: 50%;
  transition: all .3s;
}

.properties ul.pagination li a:hover,
.properties ul.pagination li a.is_active {
  background-color: #f35525;
  color: #fff;
}


/* 
---------------------------------------------
Single Page Style
--------------------------------------------- 
*/

.single-property .main-image img {
  float: none;
}

.single-property .main-content h4 {
  font-size: 25px;
  margin-top: 25px;
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #eee;
}

.single-property .main-content span.category {
  background-color: #fbd9cf;
  font-weight: 500;
  border-radius: 5px;
  font-size: 14px;
  color: #1e1e1e;
  padding: 5px 12px;
  display: inline-block;
  margin-top: 40px;
}

.single-property .accordion {
  margin-top: 60px;
  margin-left: 0px;
  margin-right: 0px;
  --bs-accordion-border-radius: 10px;
  --bs-accordion-inner-border-radius: 10px;
  --bs-accordion-bg: #fafafa;
  --bs-accordion-border-color: none;
  border: none !important;
}

.single-property .accordion-header {
  border-bottom: 1px solid #eaeaea;
}

.single-property .accordion-button {
  box-shadow: none;
  font-size: 17px;
  font-weight: 500;
  color: #1e1e1e;
}

.single-property .accordion-button:not(.collapsed) {
  color: #f35525;
  background-color: #fafafa;
  outline: none;
}

.single-property .accordion-button::after {
  display: none;
}

.single-property #headingThree {
  border-bottom: none;
}

.single-property .accordion-item:last-of-type .accordion-collapse {
  border-top: 1px solid #eaeaea;
}

.single-property .info-table {
  border-radius: 10px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
  padding: 35px 30px;
  margin-left: 60px;
}

.single-property .info-table ul li {
  display: block;
  margin-bottom: 35px;
  padding-bottom: 35px;
  border-bottom: 1px solid #eee;
}

.single-property .info-table ul li:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.single-property .info-table ul li img {
  float: left;
  margin-right: 25px;
}

.single-property .info-table ul li h4 {
  font-size: 22px;
  font-weight: 600;
}

.single-property .info-table ul li h4 span {
  font-size: 15px;
  color: #aaa;
  font-weight: 400;
}


/* 
---------------------------------------------
Contact Page Style
--------------------------------------------- 
*/

.contact-page #map {
  margin-top: 100px;
}

.contact-page .section-heading {
  margin-bottom: 40px;
  margin-right: 280px;
}

.contact-page p {
  margin-bottom: 50px;
}

.contact-page .item {
  border-radius: 10px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
  padding: 35px 30px;
  background-color: #fff;
  display: inline-block;
  min-width: 360px;
}

.contact-page .phone {
  margin-bottom: 30px;
}

.contact-page .item img {
  float: left;
  margin-right: 25px;
  vertical-align: middle;
}

.contact-page .item h6 {
  font-size: 20px;
  font-weight: 600;
  vertical-align: middle;
}

.contact-page .item h6 span {
  font-size: 15px;
  color: #aaaaaa;
  font-weight: 400;
}

.contact-page #contact-form {
  margin-left: 30px;
  border-radius: 10px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
  padding: 35px 30px;
  background-color: #fff;
}

.contact-page #contact-form label {
  font-size: 15px;
  color: #3a3a3a;
  margin-bottom: 15px;
}

.contact-page #contact-form input {
  width: 100%;
  height: 44px;
  border-radius: 22px;
  background-color: #f6f6f6;
  border: none;
  margin-bottom: 30px;
  font-size: 14px;
  padding: 0px 15px;
}

.contact-page #contact-form textarea {
  width: 100%;
  height: 150px;
  max-height: 180px;
  border-radius: 22px;
  background-color: #f6f6f6;
  border: none;
  margin-bottom: 40px;
  font-size: 14px;
  padding: 15px 15px;
}

.contact-page #contact-form button {
  background-color: #1e1e1e;
  height: 44px;
  border-radius: 22px;
  padding: 0px 20px;
  color: #fff;
  border: none;
  font-size: 15px;
  font-weight: 500;
  transition: all .5s;
}

.contact-page #contact-form button:hover {
  background-color: #f35525;
}


/* 
---------------------------------------------
Responsive Style
--------------------------------------------- 
*/

body {
  overflow-x: hidden;
}

@media (max-width: 767px) {
  .header-area .main-nav .logo h1 {
    line-height: 80px !important;
  }

  .best-deal .tabs-content .nav-link {
    font-size: 14px;
    padding: 0px 15px;
    height: 44px;
    line-height: 44px;
  }

  .best-deal .tabs-content ul.nav-tabs li {
    margin: 0px 5px;
  }

  .properties ul.properties-filter li a {
    font-size: 14px;
    padding: 10px 15px;
  }

  .properties ul.properties-filter li {
    margin: 5px;
  }
}

@media (max-width: 992px) {
  .sub-header {
    display: none;
  }

  .header-area .main-nav .logo h1 {
    line-height: 100px;
  }

  .background-header .main-nav .logo h1 {
    line-height: 80px;
  }

  .header-area .main-nav .nav li a {
    padding-left: 3px;
    padding-right: 3px;
  }

  .main-banner .item h2 {
    width: 100%;
  }

  .featured .section-heading {
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 100px;
  }

  .featured .accordion {
    margin-left: 0px;
    margin-right: 0px;
  }

  .featured .info-table {
    margin-top: 45px;
  }

  .fun-facts .counter {
    margin-bottom: 45px;
  }

  .best-deal .section-heading {
    text-align: center;
  }

  .best-deal .tabs-content ul.nav-tabs {
    margin-top: 0px;
    justify-content: center;
  }

  .best-deal .info-table {
    margin-bottom: 45px;
  }

  .best-deal .tab-content img {
    padding: 0px;
  }

  .best-deal .tabs-content h4 {
    margin-top: 45px;
  }

  .properties .item h6 {
    text-align: center;
    margin-bottom: 15px;
  }

  .properties .item .main-button {
    text-align: center;
  }

  .properties .item ul li {
    margin-right: 10px;
    font-size: 13px;
  }

  .contact-content .phone {
    margin-right: 0px;
    margin-bottom: 20px;
  }

  .contact-content .email {
    margin-left: 0px;
    margin-bottom: 45px;
  }

  .contact-content #contact-form {
    margin-left: 0px;
  }

  .single-property .info-table {
    margin-left: 0px;
    margin-top: 45px;
  }

  .contact-page .section-heading {
    margin-right: 0px !important;
  }

  .contact-page #contact-form {
    margin-left: 0px;
    margin-top: 60px;
  }

  .best-deal .info-table ul li span {
    float: right !important;
    width: auto !important;
  }
}

@media (max-width: 1200px) {
  .best-deal .info-table ul li span {
    float: none;
    width: 100%;
  }

  .contact-page .section-heading {
    margin-right: 100px;
  }
}

.item.email {
  display: flex;
  align-items: center;
  /* vertically center text with icon */
  gap: 10px;
  /* space between icon and text */
}

.item.email img {
  max-width: 52px;
}

.item.email h6 {
  margin: 0;
  /* remove default margin */
  line-height: 1.4;
}

/* Existing media query for tablet/small desktop (max-width: 992px) */
@media (max-width: 992px) {

  /* ... existing styles ... */
  .main-banner .item h2 {
    width: 100%;
    /* Already set, but good to keep */
  }

  /* ... existing styles ... */

  /* New styles for better tablet experience (under 992px) */
  .main-banner .item {
    padding: 180px 10% 200px 10%;
    /* Reduce padding and side margins */
  }

  .main-banner .item p {
    width: 100%;
    /* Make paragraph full width */
  }

  .main-banner .owl-nav .owl-prev i {
    left: 20px;
    /* Bring controls closer to the edge */
  }

  .main-banner .owl-nav .owl-next i {
    right: 20px;
    /* Bring controls closer to the edge */
  }
}

/* New media query for actual mobile devices (max-width: 576px) */
@media (max-width: 576px) {
  .main-banner .item {
    /* Significantly reduce padding for small mobile screens */
    padding: 100px 5% 120px 5%;
  }

  .main-banner .item span.category {
    /* Reduce padding/margin for the small category box */
    font-size: 14px;
    padding: 4px 10px;
    margin-bottom: 20px;
  }

  .main-banner .item h2 {
    /* Reduce the massive font size for mobile */
    font-size: 36px;
    line-height: 44px;
    width: 100%;
    /* Ensure full width */
  }

  .main-banner .item p {
    /* Reduce font size and ensure full width */
    font-size: 12px;
    width: 100%;
    margin-top: 5px;
  }

  .main-banner .owl-dots {
    /* Reposition dots closer to the bottom/center */
    bottom: 30px;
    left: 5%;
  }

  .main-banner .owl-nav {
    /* Adjust arrow position to prevent them from hugging the content too closely */
    top: 55%;
    transform: translateY(-45%);
  }

  .main-banner .owl-nav .owl-prev i,
  .main-banner .owl-nav .owl-next i {
    /* Reduce arrow size for mobile */
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 18px;
  }

  .main-banner .owl-nav .owl-prev i {
    left: 10px;
    /* Closer to the edge */
  }

  .main-banner .owl-nav .owl-next i {
    right: 10px;
    /* Closer to the edge */
  }
}


/* --- 1. Container Positioning and Layout --- */
.fixed-svg-stack {
  /* Make the bar stay put on the screen */
  position: fixed;

  /* Position the stack in the bottom-right corner */
  bottom: 40px;
  right: 20px;

  /* Ensure the stack appears above everything else */
  z-index: 9999;

  /* Stack icons vertically */
  display: flex;
  flex-direction: column;

  /* Vertical space between icons (like Tailwind's space-y-4) */
  gap: 16px;
}

/* --- 2. Individual Icon Button Styling --- */
.fixed-svg-stack .stack-icon {
  /* Reset link appearance */
  text-decoration: none;

  /* Sizing and Shape (48px circle) */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;

  /* Shadow (like Tailwind's shadow-lg) */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 10px 15px rgba(0, 0, 0, 0.1);

  /* Hover/Animation setup (like Tailwind's transition-transform) */
  transition: transform 0.3s ease-in-out;
}

/* Hover Effect (like Tailwind's hover:scale-110) */
.fixed-svg-stack .stack-icon:hover {
  transform: scale(1.1);
}

/* --- 3. Icon Color and Type Styling --- */

/* Phone Icon (using a common Blue color) */
.fixed-svg-stack .phone {
  background-color: #3b82f6;
}

/* WhatsApp Icon (using WhatsApp Green) */
.fixed-svg-stack .whatsapp {
  background-color: #22c55e;
}

/* Email Icon (using an Orange color) */
.fixed-svg-stack .email {
  background-color: #f97316;
}

/* SVG Icon Coloring */
.fixed-svg-stack svg {
  color: white;
  /* Makes the icons white */
  /* Width and height are set in the HTML, but can be set here too if needed */
}

/* --- FOOTER STYLES (Consolidated and Fixed for Centered Logo) --- */

/* Main Footer Background and Padding */
.footer-section-bg {
  background-color: #2e2e2e;
  color: #ddd;
  padding-top: 50px;
  padding-bottom: 50px;
}

.footer-item {
  padding-right: 15px;
}

.footer-item h4 {
  color: #fff;
  font-size: 20px;
  margin-bottom: 25px;
  font-weight: 600;
}


/* --- FIXES FOR LOGO COLUMN (LOGO CENTERING) --- */

.logo-column {
  /* Use flexbox to take up the full height of the column, and center content */
  display: flex !important;
  justify-content: center !important;
  /* Center horizontally */
  align-items: center !important;
  /* Center vertically */
  height: 100%;
  /* Essential for vertical centering */
  padding-right: 0 !important;
  /* Prevent logo from being pushed right by padding */
}

/* Ensure the logo is the correct size */
.footer-logo-block img {
  width: 150px !important;
  height: auto !important;
  margin-bottom: 0 !important;
  /* Ensure no extra space is below the logo */
}



.footer-item a {
  display: flex;
  align-items: flex-start;
  color: #ccc;
  text-decoration: none;
  margin-bottom: 10px;
  transition: color 0.3s;
  font-size: 14px;
}

/* Hover effect for links */
.footer-item a:hover {
  color: #f35525;
}

/* Icon Styles */
.footer-item i {
  color: #f35525;
  margin-right: 8px;
  flex-shrink: 0;
}


/* --- SOCIAL ICONS STYLING --- */

.social-icons-group a {
  background-color: #444;
  color: #fff;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  font-size: 16px;
  margin-right: 10px;
  transition: background-color 0.3s;
}

.social-icons-group a:hover {
  background-color: #f35525;
  color: #fff;
}


/* --- COPYRIGHT SECTION STYLING --- */

.copyright-section {
  background-color: #222;
  border-top: 1px solid #444;
}

/* --- COPYRIGHT SECTION STYLING FIX --- */
.copyright-section p {
  color: #999;
  margin: 0;
  font-size: 14px;
  white-space: normal;
  line-height: 1.5;
}

/* --- FIX UNWANTED HORIZONTAL SCROLLBAR FROM BOOTSTRAP GUTTER --- */
@media (max-width: 991.98px) {

  /* Targets all devices smaller than desktop (col-lg) */
  .footer-section-bg .row {
    /* Set the negative margins to zero */
    margin-left: 0 !important;
    margin-right: 0 !important;
    /* Also ensure the gutter variable is zeroed out if possible */
    --bs-gutter-x: 0 !important;
  }
}

/* ===========================
   1. HERO VIDEO SECTION
   =========================== */

.hero-video-section {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

#video-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 1;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

.video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2;
}

/* ===========================
   2. SUB-HEADER (TOP BAR)
   =========================== */

.sub-header-content {
  padding: 10px 0;
  position: relative;
  z-index: 10;
  background: rgba(0, 0, 0, 0.2);
}

.sub-header-content ul.info li,
.sub-header-content ul.info li i {
  color: #fff;
}

.sub-header-content .social-links {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: right;
}

.sub-header-content .social-links li {
  display: inline-block;
  margin-left: 15px;
}

.sub-header-content .social-links li a {
  color: #fff;
  font-size: 16px;
  transition: all 0.3s;
}

.sub-header-content .social-links li a:hover {
  color: #ff6600;
}

/* ===========================
   3. MAIN HEADER & NAVIGATION
   =========================== */

.header-area.header-sticky,
.header-area {
  background-color: transparent !important;
  position: relative;
  z-index: 100;
  padding-top: 5px;
  box-shadow: none !important;
}

.main-nav ul.nav li a {
  color: #fff !important;
  padding: 10px 15px;
  font-weight: 500;
  transition: all 0.3s;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}

.main-nav ul.nav li a.active,
.main-nav ul.nav li a:hover {
  color: #ff6600 !important;
}

/* ===========================
   4. HERO TEXT OVERLAY
   =========================== */

.header-text-overlay {
  position: absolute;
  top: 55%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  text-align: center;
  padding: 0 15px;
  z-index: 20;
}

.header-text-overlay .category {
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.5px;
  margin-bottom: 5px;
}

.header-text-overlay h2 {
  color: #fff;
  font-size: 60px;
  font-weight: 900;
  margin-bottom: 20px;
}

.header-text-overlay p {
  color: #fff;
  font-size: 18px;
  line-height: 1.6;
  max-width: 700px;
  margin: 0 auto;
}

.header-text-overlay .category,
.header-text-overlay h2,
.header-text-overlay p {
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 1) !important;
}

/* ===========================
   5. MOBILE RESPONSIVENESS
   =========================== */

@media (max-width: 767px) {
  .hero-video-section {
    height: 80vh;
  }

  .header-text-overlay h2 {
    font-size: 36px;
    top: 20%;
  }

  .header-text-overlay .category,
  .header-text-overlay p {
    font-size: 14px;
    top: 20%;
  }

  .sub-header-content .col-lg-8,
  .sub-header-content .col-lg-4 {
    text-align: center;
  }

  .sub-header-content .social-links {
    text-align: center;
    margin-top: 5px;
  }
}

/* ===========================
   6. MOBILE NAV FIX (HAMBURGER)
   =========================== */

@media (max-width: 991px) {
  .main-nav ul.nav {
    float: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: rgba(30, 30, 30, 0.95);
    border-top: 1px solid #333;
    z-index: 2950;
    display: block;
    text-align: center;
    padding: 10px 0;
  }

  .main-nav ul.nav li {
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .main-nav ul.nav li a {
    padding: 15px;
    display: block;
    color: white !important;
    text-shadow: none !important;
  }

  .main-nav .menu-trigger {
    position: absolute;
    right: 15px;
    top: 30px;
    z-index: 3000;
  }

  .main-nav:not(.active) ul.nav {
    display: none;
  }
}

/* ========================================================= */
/* === ABOUT PAGE: Full Screen Image Header Styles === */
/* ========================================================= */

/* 1. Base Container for the Full Image Header */
.hero-image-section {
  position: relative;
  width: 100%;
  /* Set the height to fill the entire viewport for the hero effect */
  height: 50vh;
  overflow: hidden;

  /* Apply the static background image here */
  background-image: url(../images/page-heading-bg.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  /* Ensures the image covers the whole area */
}

/* 2. Content Overlay (Similar to the video overlay) */
.image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Dark semi-transparent layer for text contrast */
  background: rgba(0, 0, 0, 0.4);
  z-index: 2;
}

/* 3. Positioning the Page Heading Text */
.page-heading-content {
  position: absolute;
  top: 55%;
  /* Center vertically, adjusted for header height */
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  text-align: center;
  z-index: 15;
  /* Ensure it's above the overlay */
  color: #fff;
  /* Default text color white */
}

/* 4. Style the text within the Page Heading */
.page-heading-content .breadcrumb {
  color: #fff;
  font-size: 16px;
  margin-bottom: 10px;
  display: block;
  /* Text shadow for better visibility over a busy image */
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}

.page-heading-content .breadcrumb a {
  color: #fff;
  text-decoration: none;
}

.page-heading-content h3 {
  color: #fff;
  font-size: 60px;
  /* Large heading size for impact */
  font-weight: 900;
  margin-bottom: 0;
  /* Text shadow for better visibility over a busy image */
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}

/* 5. Ensure Navigation (sub-header/header-area) remains transparent and on top */
/* (Use the same .sub-header-content and .header-area styles you used for the index page) */

/* Example: These styles from the index page are still needed to keep the nav transparent and on top */
.sub-header-content,
.header-area {
  position: relative;
  z-index: 20;
  background-color: transparent !important;
}

/* --- ALTERNATIVE CSS FIX FOR MOBILE MENU TEXT (Black Text on Light BG) --- */

/* This targets the navigation list container in mobile view */
@media (max-width: 991px) {
  /* Use your mobile breakpoint */

  .hero-image-section {
    height: 60vh;

  }

  .page-heading-content h3 {
    margin-top:15%;
    font-size: 34px;
  }

  .info{
    display: none !important;
  }

  .main-nav .menu-trigger {
    display: block !important;
    position: absolute;
    right: 15px;
    top: 30px;
    z-index: 100;
  }

  .main-nav ul.nav {
    /* Set a light background for visibility */
    background-color: #fff;
    /* Solid white background */

    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 50;

    display: block;
    text-align: center;
    padding: 10px 0;
  }

  .main-nav ul.nav li {
    width: 100%;
    /* Use a light grey border to separate links */
    border-bottom: 1px solid #eee;
  }

  .main-nav ul.nav li a {
    padding: 15px;
    display: block;
    color: #000 !important;
    text-shadow: none !important;
  }

  /* Ensure the active/hover color is still visible against black text */
  .main-nav ul.nav li a.active,
  .main-nav ul.nav li a:hover {
    color: #ff6600 !important;
    /* Your accent color */
  }
}

/* --- CSS FIX: Ensure the hamburger ICON (and its 'X' open state) is WHITE --- */

/* 1. Ensure the default bars are white (from previous step, included here for context) */
.main-nav .menu-trigger span,
.main-nav .menu-trigger span::before,
.main-nav .menu-trigger span::after {
  /* Sets the color of the three bars */
  background-color: #fff !important;
  transition: background-color 0.3s;
}

/* 2. FIX: Target the bars when the menu is OPEN (to ensure the 'X' is white) */

/* Check your JavaScript/theme; it usually adds a class like 'active' or 'menu-opened' */
.main-nav.active .menu-trigger span,
.main-nav .menu-trigger.active span,
.main-nav .menu-trigger.active span::before,
.main-nav .menu-trigger.active span::after {
  /* This overrides any color change when the bars are forming the 'X' */
  background-color: #fff !important;
}

/* If the 'X' is formed by the original bar disappearing and the pseudo-elements rotating: */
.main-nav .menu-trigger.active span {
  /* The middle bar usually disappears; if it becomes black, this ensures it's white/transparent */
  background-color: transparent !important;
}

/* Fallback: Simply ensure the overall trigger and its bars are white when active/open */
.main-nav .menu-trigger.active {
  color: #fff !important;
}


/* --- Mobile CSS: Base Hero Height (Menu Closed) --- */
@media (max-width: 991px) {
    /* Default height when the menu is closed (30vh) */
    .hero-image-section {
        height: 40vh !important; 
        transition: height 0.3s ease; /* Smooth transition */
    }

    /* Height when the menu is open (60vh) */
    .hero-image-section.menu-open-hero {
        height: 60vh !important;
    }

    /* Optional: Hide the main banner text when the menu is open to focus on the menu */
    .hero-image-section.menu-open-hero .page-heading-content {
        opacity: 0;
    }
}