/* GLOBAL STYLES */
h1, p, h2, h3, h4, h5, h6 {
  font-family:Cambria, Cochin, Georgia, Times, 'Times New Roman', serif !important;
}
-------------------------------------------------- */
/* Padding below the footer and link color */


/* Make sure navbar spans full width and stays consistent */
.navbar {
  width: 100%;
  padding: 0.75rem 1rem;
  box-sizing: border-box;
}

.navbar-brand {
  font-family: 'Poppins', sans-serif !important; /* Consistent font family */
  font-weight: 300 !important; /* Consistent font weight */
  color: #17181a !important; /* Darker text color for contrast */
  font-size: 1.5rem !important; /* Consistent font size */
}

/* Remove background and outline from the navbar toggler */
.navbar-toggler {
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

 
/* Ensure container-fluid takes up the full screen width */
.container-fluid {
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* GLOBAL FIXES */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body, html {
  margin: 0;
  padding: 0;
  overflow-x: hidden; /* hides horizontal overflow */
  width: 100%;
}

.container-fluid {
  max-width: 100vw;
  overflow-x: hidden;
}
/* Ensure all elements have a border for debugging */

.carousel-item  {
 height: 200px !important; /* Set a fixed height for carousel items */
}
 h6{
  word-spacing: 1.95px;
 }

/* Fix for images in the footer */

.sliderimages {
  width: 100%;
  height: 200px !important;
}

a{
  text-decoration: none !important;
  color: inherit !important; 
}
footer a {
  color: #6c757d !important; 
}
footer a:hover {
  color: #17181a !important; 
}

.btn{
  color: #222222; 
  font-weight: 500 !important; 
  font-family: 'Poppins', sans-serif !important; 
  font-size: 1rem !important; 
  padding: 0.5rem 1rem !important; 
  border-radius: 0.25rem !important; 
  transition:background-color 0.3s ease !important; 
}
.p-2{
  border: none !important;
}
.btn-sm {
  border: none !important;
  font-size: 15px !important;
}

.addressbutton{
  font-size: 0.75rem !important; 
}

.btn-light i {
  font-size: 1.2rem;
}

.btn-outline-secondary {
  white-space: nowrap;
}

.housebutton{
  border: none !important;
}

.housebutton:hover {
  border: #17181a 1.5px solid !important; 
  box-shadow: none !important; 
}

/* random fixes might delete soon*/



/* AGENTS SECTION */

.bio-text {
  font-size: 0.85rem;
}

.name-text {
  font-size: 0.95rem;
}

.lic-text {
  font-size: 0.85rem;
}

.contact-text {
  font-size: 0.80rem;
}

.stat-text {
  font-size: 0.80em;
}

.price-text {
  font-size: 0.80rem;
}


p{
  margin: 0em !important;
}

.agent-layout {
  display: flex;
  flex-direction: column; /* mobile: stack */
  gap: 1.5rem;
}

.agent-headshot {
  width: 100%;
  max-width: 280px;
  height: auto;
  border-radius: 0.5rem;
}

.agent-info {
  flex: 1;
}

.agent-stats {
  display: flex;
  justify-content: center;
  margin: 1.5rem 0;
  text-align: center;
  gap: 2rem;
}

.agent-stats > div {
  display: flex;
  flex-direction: column;    /* stack value above label */
  align-items: center;       /* center horizontally */
}


.agent-name { font-size: 2rem !important; }
.agent-lic { font-size: 1.2rem !important; }
.agent-stat-value { font-size: 1.5em;font-weight: bold; }
.agent-stat-label { font-size: 1em; font-weight: bold;  }
.agent-about-heading { font-size: 1.75rem; }
.agent-bio,
.agent-detail { font-size: 1rem; }
  .display-4 {font-size: 1.75em !important;}

    .agent-social {
    margin-top: auto;
    display: flex;
    gap: 2rem;
    justify-content: flex-start;
  }

  
/* Mobile-first (default = stacked) */
.homepage-columns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

.homepage-columns > div {
  width: 100%;
  max-width: 100%;
}


a.btn-sm{
  background-color: rgba(106, 142, 35, 0.454);
  border: solid .25px black !important;
  padding-bottom: .1em !important;
  padding-top: .1em !important;
}

h6{
  background-color: rgba(106, 142, 35, 0.454);
}

  .display-4 {font-size: 1.95em !important;}


/* modal body*/


.photoscarousel{
  height: 500px !important}

  h5{
    font-size: 15.5px !important;
    font-weight: 800;
    text-align:start;
  }



  /*proeprty cards*/
  .property-card img {
  object-fit: cover;
  width: 100%;
}
.property-card .card-body {
  padding: 1rem;
}
.property-card .btn i {
  vertical-align: middle;
}

/*filter modal*/
/* Make modal background cover the full modal */
/* Full background modal content */
.modal-content {
  background-color: #f9f9f9; /* Full background color */
  border-radius: 0.5rem;
  padding: 0;
  border: none;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  min-height: 525px !important;
  height: 400px !important;

}

/* Modal header and footer with unified background */
.modal-header,
.modal-footer {
  background-color: #f9f9f9;
  padding: 1rem 1.5rem;
  border: none;
}

/* Modal body padding */
.modal-body {
  padding: 1.5rem;
}

/* Optional: Button consistency */
.modal-footer .btn {
  min-width: 120px;
}

/* Typography and spacing common styles */
.text-large {
  font-size: 1.5rem;
}

.word-spacing-medium {
  word-spacing: 0.5em;
}

.realtor-photo{
  width:90px; 
  height:140px; 
  margin-top:.75em; 
  object-fit: fill; 
  margin-left:1em;
}

.agent-headshot{
  height: 350px!important;
  border-radius: 0.25em;
}

.property-btn {
  font-size: 13px;
  color: #6c757d; /* matches Bootstrap's text-muted */
  background: transparent;
  border: none;
  padding: 0.25rem 0.5rem;
  transition: color 0.2s ease;
}

.property-btn:hover {
  color: #343a40; /* darker on hover */
}




.modal-content {min-height: auto !important;}


.movingoutjpg{
 width: 100%; 
}

.homepageimage {
  width: 100%;

}



/* =======================
   Responsive Scaling
   ======================= */
@media (min-width: 768px) {
  .text-large { font-size: 2rem; }

  h1 { font-size: 1.75em !important; }
  h2 { font-size: 3em !important; }
  h3 { font-size: 2.75em !important; }
  h4 { font-size: 1.5em !important; margin-top: 0em !important;} 
  h5 { font-size: 1.25em !important; }
  h6 { font-size: 1.75em !important; }
  .display-4 {font-size: 2.5em !important;}

  p { font-size: 1.5em; }
  .Newsletter { font-size: 1em !important; }

  a { font-size: 0.55em; }
  a.btn { font-size: large !important; }

  .word-spacing-medium { word-spacing: 0em; }
  body { letter-spacing: 0.085em; }

  .agentcardtitle {font-size: 2em;}
  .bio-text { font-size: 1.25rem; }
  .name-text { font-size: 1.5rem; }
  .lic-text { font-size: 1.1rem; }
  .contact-text { font-size: 1.2rem; }
  .stat-text { font-size: 1.2em; }
  .price-text { font-size: 1.2rem; }

  .lead { margin-top: 1em !important; font-size: 2em !important; }
  .list-unstyled { font-size: 1.75em; }

  .btn {
    color: #222222;
    font-weight: 500 !important;
    font-family: 'Poppins', sans-serif !important;
    padding: 0.5rem 1rem !important;
    border-radius: 0.25rem !important;
    transition: background-color 0.3s ease !important;
  }

  .teamheader {
    font-size: 3em !important;
    text-align: center !important;
  }

  a.btn-sm { font-size: 1.55em !important; padding: 0.25em !important; }
 
 
  .sliderimages,
  .carousel-inner {height: 280px !important;}

  .localagentjpg{
    height: 400px !important;
  }

  
.homepageimage {
  width: 100%;
  height: 520px !important;

}

/* =======================
   Agents Page
   ======================= */
.agent-stats {
  display: flex;
  justify-content: center;
  margin: 1.5rem 0;
  text-align: center;
  gap: 2rem;
}

.agent-stats > div {
  display: flex;
  flex-direction: column;    /* stack value above label */
  align-items: center;       /* center horizontally */
}


.realtor-photo {
  width: 900px;
  height: 140px;
  margin-top: 0.75em;
  object-fit: fill;
  margin-left: 1em;
}

/* Three columns stack vertically */
.three-columns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

.three-columns > .col-md-3 {
  width: 100%;
  max-width: 100%;
}

.three-columns > .col-md-3 img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  padding: 1em 1rem;
}

.three-columns > .col-md-3 h2 { margin-bottom: 0.5rem; }
.three-columns > .col-md-3 p { margin-bottom: 0.75rem; }

/* =======================
   Personal Agent Page
   ======================= */
.agent-headshot {
  width: 100%;
  height: 500px !important;
  object-fit: fill; /* full image visible */
  background-color: #f8f9fa;
  display: block;
}

.agent-name { font-size: 2.5rem !important; }
.agent-lic { font-size: 1.75rem !important; }
.agent-stat-value { font-size: 2.95em; }
.agent-stat-label { font-size: 1.75em; font-weight: 500; }
.agent-about-heading { font-size: 2.75rem !important; }
.agent-bio,
.agent-detail { font-size: 1.5rem; }


  .agent-social {
    margin-top: auto;
    display: flex;
    gap: 3rem;
    justify-content: flex-start;
  }
/* =======================
   Property Cards
   ======================= */
.property-image {
  object-fit: cover;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  cursor: pointer;
}

.property-description { font-size: 13px; }

.property-btn {
  font-size: 13px;
  color: #6c757d;
  background: transparent;
  border: none;
  padding: 0.25rem 0.5rem;
  transition: color 0.2s ease;
}

.property-btn:hover { color: #343a40; }


  #property-details,
  #property-extra {
    font-size: 1.25em;
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 2rem; /* spacing between stacked sections */
  }


#property-details h4,
#property-details p {
  margin-bottom: 1rem !important; /* space between each section */
}



/*==================
Sellings Page
=================*/

.selling {
  width: 100% !important;
  margin: 2em;
}

.listingsteps {
  font-size: 1.25em !important;
  margin-top: 1.5em !important;
}


/*==================
FAQ
=================*/

.faqhandler{
  width: 100% !important;
}

.linktext {
 font-size:  1.25rem;
}

/*==================
MODAL
=================*/
/* modal body*/


.photoscarousel{
  height: 500px !important}

  /*proeprty cards*/
  .property-card img {
  object-fit: cover;
  width: 100%;
}
.property-card .card-body {
  padding: 1rem;
}
.property-card .btn i {
  vertical-align: middle;
}

/*filter modal*/
/* Make modal background cover the full modal */
/* Full background modal content */
.modal-content {
  background-color: #f9f9f9; /* Full background color */
  border-radius: 0.5rem;
  padding: 0;
  border: none;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  height: auto !important;
}

/* Modal header and footer with unified background */
.modal-header,
.modal-footer {
  background-color: #f9f9f9;
  padding: 1rem 1.5rem;
  border: none;
}

/* Modal body padding */
.modal-body {
  padding: 1.5rem;
}

/* Optional: Button consistency */
.modal-footer .btn {
  min-width: 120px;
}

.carousel-control-prev-icon {
  margin-bottom: 0em !important;
}

.carousel-control-next-icon{
  margin-bottom: 0em !important;
}

}

@media (min-width: 1024px) {

  .word-spacing-medium {
    font-size: 2em;
  }

.navbar-nav{
margin-left: 1em;  
}

.nav-item{
  font-size: 1.25em !important;
  color: grey;
  margin-left: .5em;
}

  .sliderimages,
  .carousel-inner {height: 500px !important;}

  .text-large { font-size: 2rem; }

  h1 { font-size: 2.5em !important; }
  h2 { font-size: 3.25em !important; }
  h3 { font-size: 2em !important; }
  h4 { font-size: 2em !important; margin-top: 0em !important; word-spacing: 0em !important;} 
  h5 { font-size: 1.25em !important; }
  h6 { font-size: 1.75em !important; }
  .display-4 {font-size: 2.5em !important;}
  .form-control {font-size: 1.5em !important;}
  .localagentjpg {height: 700px !important;}

  p { font-size: 1.25em; }
  .Newsletter { font-size: 1em !important; }

  a { font-size: 0.55em; }
  a.btn { font-size: large !important; }

  .word-spacing-medium { word-spacing: 0em; }
  body { letter-spacing: 0.085em; }

  .agent-stats{margin: 1.5em !important;}
  .agentcardtitle {font-size: 2em;}
  .bio-text { font-size: 1.25rem; }
  .name-text { font-size: 1.5rem; }
  .lic-text { font-size: 1.1rem; }
  .contact-text { font-size: 1.2rem; }
  .stat-text { font-size: 1.2em; }
  .price-text { font-size: 1.2rem; }

  .lead { margin-top: 1em !important; font-size: 2.5em !important; }
  .list-unstyled { font-size: 1.75em; }

  .btn {
    color: #222222;
    font-weight: 500 !important;
    font-family: 'Poppins', sans-serif !important;
    padding: 0.5rem 1rem !important;
    border-radius: 0.25rem !important;
    transition: background-color 0.3s ease !important;
  }

  .teamheader {
    font-size: 3em !important;
    text-align: center !important;
  }

  a.btn-sm { font-size: 1.55em !important; padding: 0.25em !important; }
 
 /* =======================
   Homepage
   ======================= */

  .homepageimage {
  margin: 0 auto;
  width: 100%;
  height: 380px !important;
  }

   .homepage-columns {
    flex-direction: row;   /* side by side */
    flex-wrap: wrap;       /* allows wrapping if needed */
    justify-content: center;
    gap: 1rem;
    margin: .5em !important;
  }

  .homepage-columns > div {
    flex: 1 1 40%;         /* 4 columns across */
    max-width: 40%;
  }

  .homepage-columns > div img {
    width: 100%;
    height: auto;
    display: block;
  }

/* =======================
   Agents Page
   ======================= */

.agent-stats {
  display: flex;
  justify-content: center;
  margin: 1.5rem 0;
  text-align: center;
  gap: 2rem;
}

.agent-stats > div {
  display: flex;
  flex-direction: column;    /* stack value above label */
  align-items: center;       /* center horizontally */
}
  
.realtor-photo {
  width: 900px;
  height: 140px;
  margin-top: 0.75em;
  object-fit: fill;
  margin-left: 1em;
}

/* Three columns stack vertically */
.three-columns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

.three-columns > .col-md-3 {
  width: 70%;
  max-width: 100%;
}

.three-columns > .col-md-3 img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  padding: 1em 1rem;
}

.three-columns > .col-md-3 h2 { margin-bottom: 0.5rem; }
.three-columns > .col-md-3 p { margin-bottom: 0.75rem; }


/* =======================
   Personal Agent Page
   ======================= */
.agent-headshot {
  width: 100%;
  height: 650px !important;
  object-fit: fill; /* full image visible */
  background-color: #f8f9fa;
  display: block;
}

.agent-name { font-size: 2.5rem !important; }
.agent-lic { font-size: 1.75rem !important; }
.agent-stat-value { font-size: 2.5em; font-weight: bold; }
.agent-stat-label { font-size: 1.5em; font-weight: bold; }
.agent-about-heading { font-size: 2.5rem !important; margin-top: 0em !important; }
.agent-bio,
.agent-detail { font-size: 1.5rem; }

.modal-content {min-height: auto !important;}

  /* Agent card layout */
   .agent-card {
    display: flex;
    flex-direction: row;   /* image left, content right */
    align-items: flex-start;
    gap: 2rem;
    padding: 1.5rem !important;
  }

  .agent-headshot {
    width:450px !important;
    height: 870px !important;
    object-fit: cover;
    flex-shrink: 0;        /* stops shrinking */
    border-radius: 0.5rem;
  }

  .agent-info {
    flex: 1;
    display: flex;
    flex-direction: column;
  }

  .agent-stats {
    display: flex;
    justify-content: space-between;
    margin: 1.5rem 0;
  }

 

    .agent-layout {
    flex-direction: row;
    align-items: flex-start;
  }
  
  .agent-headshot {
    flex-shrink: 0;
  }

/* =======================
   Property Cards
   ======================= */
.property-image {
  object-fit: cover;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  cursor: pointer;
}

.property-description { font-size: 13px; }

.property-btn {
  font-size: 13px;
  color: #6c757d;
  background: transparent;
  border: none;
  padding: 0.25rem 0.5rem;
  transition: color 0.2s ease;
}

.property-btn:hover { color: #343a40; }

.btn-photos, .btn-schedule, .btn-details {
  font-size: 0.85em !important;
  padding-bottom: 0em !important;
  padding-top: .75em !important;
  padding-left: .5em !important;
  padding-right: .5em !important;
}

  #property-details,
  #property-extra {
    font-size: .85em;
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 2rem; /* spacing between stacked sections */
  }


#property-details h4,
#property-details p {
  margin-bottom: 1.25rem !important; /* space between each section */
}

#property-features h3,
#property-features p
 {margin-bottom: .95em !important ;}


 #property-features {margin-bottom: 3em;}


/*==================
Sellings Page
=================*/

.selling {
  width: 100% !important;
  margin: 2em;
}

.listingsteps {
  font-size: 1.25em !important;
  margin-top: 1.5em !important;
}

.modal-content{
  height: 650px !important;
}
/*==================
FAQ
=================*/

.faqhandler{
  width: 100% !important;
}

/*==================
SELLING
=================*/

.movingoutjpg{
  display: block;
  margin: 0 auto;
  max-width: 50%; /* keeps it responsive */
  height: auto;

}

/* FAQ Question <p> */
.faq-question-text {
  font-weight: 500;
  font-size: 1.5rem;
  color: #333;
}

/* FAQ Card Body */
.faq-card-body {
  background-color: #f9f9f9;
  border-left: 4px solid #007bff;
  padding: 1rem 1.25rem;
  font-size: 1.25rem;
  color: #555;
}

/* FAQ List Styles */
.faq-list {
  list-style-type: disc;
  padding-left: 1.5rem;
  margin-top: 0.5rem;
}

.faq-list-item {
  margin-bottom: 0.4rem;
  line-height: 1.4;
}

.linktext {
 font-size:  1.25rem;
}

.companylogo{
  height: 400px !important;
}

}  

@media (min-width: 1440px) {
  
  .homepage-columns > div {
    flex: 1 1 100%;         /* 4 columns across */
    max-width: 100%;
  }
  
  .navbar-nav{
    margin-left: 1em !important;
  }

  .nav-item{
  font-size: 1.25em !important;
  color: grey;
  margin-left: 1em;
}

  .agent-stats {
  display: flex;
  justify-content: center;
  margin: 1.5rem 0;
  text-align: center;
  gap: 2rem;
}

.agent-stats > div {
  display: flex;
  flex-direction: column;    /* stack value above label */
  align-items: center;       /* center horizontally */
}


.agent-name { font-size: 2.5rem !important; }
.agent-lic { font-size: 1.75rem !important; }
.agent-stat-value { font-size: 2.5em; font-weight: bold; }
.agent-stat-label { font-size: 1.5em; font-weight: bold; }
.agent-about-heading { font-size: 2.5rem !important; margin-top: 0em !important; }
.agent-bio,
.agent-detail { font-size: 1.5rem; }

.homepage-columns {
    flex-direction: row;   /* side by side */
    flex-wrap: wrap;       /* allows wrapping if needed */
    justify-content: center;
    gap: 1rem;
    margin: .5em !important;
  }

  .homepage-columns > div {
    flex: 1 1 40%;         /* 4 columns across */
    max-width: 100%;
  }

  .homepage-columns > div img {
    width: 100%;
    height: 500px !important;
    display: block;
  }

.btn-photos, .btn-schedule, .btn-details {
  font-size: 0.85em !important;
  padding-bottom: 0em !important;
  padding-top: 1em !important;
  padding-left: 3em !important;
  padding-right: .5em !important;
}

}

