

:root {
  --brand: #0073aa;                 /* adjust to your brand */
  --panel-radius: 10px;
  --panel-border: 1px solid rgba(0,0,0,.06);
  --panel-shadow: 0 10px 28px rgba(0,0,0,.18);
  --divider: 1px solid rgba(0,0,0,.06);
  --hover-bg: rgba(0,115,170,.08);  /* brand-tinted hover */
}


/* CTA cards */
.borderRadiuscta {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border-radius: 12px;
  display: block;
  width: 100%;
}

.borderRadiuscta:hover {
  transform: scale(1.03);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

/* Desktop tweaks */
@media (max-width: 1080px) {
  .column1 > .column_inner {
    padding: 6vh 0 0 !important;
    text-align: justify;
  }
}

/* Later override (kept for cascade) */
.borderRadiuscta {
  border-radius: 10px;
}
.community_card a {
    display: flex;
    flex-direction: column;
    align-items: center;      /* horizontal centering */
    justify-content: center;  /* vertical centering */
    text-align: center;       /* keeps wrapped text centered */
}
/* Tablet / phone tweaks */
@media (max-width: 769px) {
  .column1 > .column_inner {
    padding: 6vh 0 0 !important;
    text-align: justify;
  }
.sidx-container .sidx-small-screen .sidx-searchform .sidx-basic>.sidx-locations-field-wrapper {
    min-width: 75vw !important;
}.sidx-searchform.sidx-widget {
  padding-left:10px;padding-right:10px;
}

  .jumbo-menu-button {
    padding: 18px 23px 16px 23px;
  }

  a.qode-btn.qode-btn-solid {
    width: 95%;
  }

  .home_community {
    flex-direction: column;
    align-items: center;
  }

  .home_community_section {
    grid-template-columns: repeat(auto-fill, minmax(15rem, 20rem));
    width: 80%;
  }

  .home_community_title > h1 {
    font-size: 32px;
    margin-bottom: 2rem;
  }

  .community_card {
    height: 15vh;
  }

  .community_card > a > h2 {
    margin-top: 6%;
  }

  .community_card > a > span {
    margin-bottom: 6%;
    margin-top: 2%;
  }

  .carousel-inner p {
    margin-top: 350px;
  }

  .thankYou_empty {
    display: none;
  }

  .content .container .container_inner {
    padding: 8vh 0 0 0;
  }

  .full_section_inner {
    flex-direction: column;
  }

  .footer_top {
    padding-top: 0;
  }
} /* End of 769px */

body .gform_wrapper .chzn-container .chzn-single,
body .gform_wrapper .chzn-container-single .chzn-single,
body .gform_wrapper .gf_progressbar {
  background-color: #fff;
}

.drop_down .wide .second .inner ul li.flexslider.widget_flexslider ul li h3 a,
.flexslider.widget_flexslider ul li h3 a {
  color: #fff;
}

.carousel-inner .slider_content .text .qode-btn {
  margin-bottom: 10px !important;
}

/* Small phones */
@media only screen and (max-width: 600px) {
  .vc_row.full_screen_section {
    padding: 0 !important;
  }
}

@media only screen and (max-width: 480px) {
  .q_slider .carousel,
  .qode_slider_preloader,
  .carousel-inner > .item {
    height: 100vh !important;
  }

  #gform-conversational > main > header > a > img {
    margin: 1.2rem;
  }

  .header_bottom,
  footer .container_inner {
    padding: 0 3%;
  }
}

.round-headshot { border-radius: 50%; }

/* GF #5 styling */
#gform_wrapper_6 {
  max-width: 640px;
  margin: 40px auto;
  padding: 40px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
  font-family: 'Inter', 'Helvetica Neue', sans-serif;
}

#gform_wrapper_6 .gfield_label {
  font-size: 15px;
  font-weight: 600;
  color: #111;
  margin-bottom: 6px;
  display: block;
}

#gform_wrapper_6 input[type="text"],
#gform_wrapper_6 input[type="email"],
#gform_wrapper_6 input[type="tel"],
#gform_wrapper_6 input[type="number"],
#gform_wrapper_6 textarea {
  width: 100%;
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 15px;
  background-color: #fafafa;
  transition: border 0.3s ease;
}

#gform_wrapper_6 input:focus,
#gform_wrapper_6 textarea:focus {
  border-color: #6c63ff;
  background: #fff;
  outline: none;
}

#gform_wrapper_6 textarea {
  min-height: 100px;
  resize: vertical;
}

#gform_wrapper_6 .ginput_container_name {
  display: flex;
  gap: 10px;
}

#gform_wrapper_6 .gform-grid-col {
  flex: 1;
}

#gform_wrapper_6 .gfield_consent_label {
  font-size: 13px;
  color: #444;
}

#gform_wrapper_6 .gform_footer {
  text-align: center;
  margin-top: 30px;
}

#gform_wrapper_6 .gform_button {
  background: linear-gradient(135deg, #6c63ff, #8e72ff);
  color: #fff;
  padding: 0 32px;
  height: 48px;
  font-size: 16px;
  font-weight: 600;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background 0.3s ease;
}

#gform_wrapper_6 .gform_button:hover {
  background: linear-gradient(135deg, #5a52e6, #7b60e6);
}

#gform_wrapper_6 .charleft {
  font-size: 12px;
  color: #999;
  margin-top: 6px;
}

#gform_wrapper_6 .gfield_required_legend {
  font-size: 13px;
  color: #c00;
  text-align: center;
  margin-bottom: 20px;
}

@media (max-width: 600px) {
  #gform_wrapper_6 {
    padding: 25px;
  }
  #gform_wrapper_6 .ginput_container_name {
    flex-direction: column;
  }
  #gform_wrapper_6 .gform-grid-col {
    width: 100%;
  }
}
#gform_wrapper_6 .charleft {
  font-size: 12px;
  color: #999;
  margin-top: 6px;
}

#gform_wrapper_6 .gfield_required_legend {
  font-size: 13px;
  color: #c00;
  text-align: center;
  margin-bottom: 20px;
}

@media (max-width: 600px) {
  #gform_wrapper_6 {
    padding: 25px;
  }
  #gform_wrapper_6 .ginput_container_name {
    flex-direction: column;
  }
  #gform_wrapper_6 .gform-grid-col {
    width: 100%;
  }
}
/* --- Fix Gravity Forms "left_label" offsets (Form 6) --- */

/* 1) The footer gets pushed right in left_label layouts */
#gform_wrapper_6 .gform_footer.left_label,
#gform_wrapper_6 .gform_footer {
  padding-left: 0 !important;
  margin-left: 0 !important;
  width: 100%;
  display: flex;
  justify-content: center;
}

/* Button: center reliably even if GF adds weird wrappers */
#gform_wrapper_6 .gform_footer .gform_button,
#gform_wrapper_6 #gform_submit_button_6 {
  display: inline-flex;     /* instead of flex */
  margin: 0 auto;           /* hard-center */
}

/* 2) Consent/disclaimer block: the checkbox causes an "optical" left shift */
#gform_wrapper_6 #field_6_6 .ginput_container_consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  max-width: 560px;         /* optional: keeps it nicely centered */
  margin: 0 auto;           /* centers the whole consent block */
}

/* Make the label behave nicely in the flex row */
#gform_wrapper_6 #field_6_6 .gfield_consent_label {
  margin: 0;
  text-align: left;         /* keep the text readable */
  flex: 1;
}

/* Nudge checkbox down a hair so it aligns with first line of text */
#gform_wrapper_6 #field_6_6 input[type="checkbox"] {
  margin-top: 3px;
}
/* --- Consent block centering fix (Form 6) --- */

/* Ensure the entire consent field isn’t inheriting left_label offsets */
#gform_wrapper_6 #field_6_6 {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Center the consent container itself */
#gform_wrapper_6 #field_6_6 .ginput_container_consent {
  width: 100% !important;
  max-width: 100%;     /* adjust if you want wider */
  margin: 0 auto !important;
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
}

/* Checkbox spacing */
#gform_wrapper_6 #field_6_6 #input_6_6_1 {
  margin-top: 3px;
  flex: 0 0 auto;
}

/* Label takes remaining space */
#gform_wrapper_6 #field_6_6 .gfield_consent_label {
  flex: 1 1 auto;
  margin: 0 !important;
}

/* OPTIONAL:
   If by "off center" you literally want the disclaimer TEXT centered too,
   uncomment this block.
*/
/*
#gform_wrapper_6 #field_6_6 .gfield_consent_label {
  text-align: center;
}
*/
/* Conversational GF tweaks */
.gform-conversational.gform-theme--foundation {
  --gf-convo-header-inset-y-start: var(--gf-convo-content-gap);
  --gf-convo-header-inset-x-start: var(--gf-convo-content-gap);
  --gf-convo-header-logo-max-height: 60px;
  --gf-convo-header-logo-max-width: 65px;
}

/* Sliders */
.flexslider .slides img,
.portfolio_slider .portfolio_slides img,
.qode_carousels .slides img {
  border-radius: 5px;
}

/* ============================
   GRID LAYOUT / BACKDROP
   ============================ */
.sidx-search-results .sidx-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
  gap: 1.5rem;
  padding: 2rem 1.5rem;
  background-color: #f8fafc;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Inter", "Roboto", "Segoe UI", sans-serif;
}

/* ============================
   CARD WRAPPER
   ============================ */
.sidx-search-results .sidx-grid .sidx-search-result-grid-item {
  position: relative;
  background-color: #ffffff;
  border-radius: 0.75rem;
  border: 1px solid #e5e7eb;
  box-shadow: 0 8px 24px rgba(0,0,0,0.04);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.sidx-search-results .sidx-grid .sidx-search-result-grid-item:hover,
.sidx-search-results .sidx-grid .sidx-search-result-grid-item:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.08);
  border-color: #94a3b8;
}

.sidx-search-results .sidx-grid .sidx-content > a {
  display: block;
  color: inherit;
  text-decoration: none;
}

/* ============================
   IMAGE / MEDIA
   ============================ */
.sidx-search-results .sidx-grid .sidx-thumbnail {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 0.75rem 0.75rem 0 0; /* make room for ribbon */
}

.sidx-search-results .sidx-grid .sidx-thumbnail .sidx-gallery-image img {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  max-width: none !important;
  max-height: none !important;
  transform: scale(1);
  transition: transform .25s ease;
}

.sidx-search-results .sidx-grid .sidx-search-result-grid-item:hover .sidx-thumbnail .sidx-gallery-image img {
  transform: scale(1.03);
}

.sidx-search-results .sidx-grid .sidx-gallery-controls {
  display: none;
}

/* ============================
   RIBBONS / FEATURED BAR
   ============================ */
.sidx-search-results .sidx-grid .sidx-ribbons {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  pointer-events: none;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  line-height: 0;
}

/* Base shared ribbon style */
.sidx-search-results .sidx-grid .sidx-ribbons .sidx-ribbon {
  display: block !important;
  width: 100% !important;
  text-align: center;
  font-size: .7rem;
  font-weight: 600;
  line-height: 1.2;
  padding: .5rem .75rem;
  text-transform: uppercase;
  letter-spacing: .03em;
  border-radius: .5rem .5rem 0 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  box-shadow: 0 6px 12px rgba(0,0,0,.15);
  border: none;
}

/* FEATURED — warm, subdued amber/gold */
.sidx-search-results .sidx-grid .sidx-ribbon.sidx-featured {
  background: linear-gradient(90deg, #fcd34d 0%, #fbbf24 100%) !important;
  color: #1f2937 !important;
}

/* NEW LISTING — elegant emerald/teal blend */
.sidx-search-results .sidx-grid .sidx-ribbon.sidx-new-listing {
  background: linear-gradient(90deg, #059669 0%, #0d9488 100%) !important;
  color: #ffffff !important;
}

/* OPEN HOUSE — soft coral to amber */
.sidx-search-results .sidx-grid .sidx-ribbon.sidx-open-houses {
  background: linear-gradient(90deg, #fb7185 0%, #f59e0b 100%) !important;
  color: #fff !important;
}

/* kill any layout offset */
.sidx-search-results .sidx-grid .sidx-ribbons ~ .sidx-thumbnail,
.sidx-search-results .sidx-grid .sidx-ribbons + .sidx-thumbnail {
  margin-top: 0 !important;
}

/* ============================
   PHOTO POSITION BADGE (1 / 46)
   ============================ */
.sidx-search-results .sidx-grid .sidx-thumbnail-actions .sidx-gallery-position {
  position: absolute;
  right: .75rem;
  bottom: .75rem;
  background: rgba(0,0,0,.6);
  color: #fff;
  font-size: .7rem;
  font-weight: 500;
  line-height: 1;
  padding: .4rem .5rem;
  border-radius: .5rem;
  min-width: 2.5rem;
  text-align: center;
  backdrop-filter: blur(4px);
}

/* ============================
   DETAILS BLOCK
   ============================ */
.sidx-search-results .sidx-grid .sidx-details {
  display: flex;
  flex-direction: column;
  padding: 1rem 1rem 0 1rem;
  color: #0f172a;
  gap: 1rem;
}

/* PRICE */
.sidx-search-results .sidx-grid .sidx-primary-info .sidx-price {
  font-size: 1.25rem;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.2;
  display: flex;
  align-items: baseline;
  gap: .5rem;
  margin-bottom: .5rem;
}

.sidx-search-results .sidx-grid .sidx-price-type {
  font-size: .75rem;
  font-weight: 500;
  color: #475569;
}

/* PROPERTY TYPE + STATUS */
.sidx-search-results .sidx-grid .sidx-mls-details {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  font-size: .7rem;
  line-height: 1.2;
  font-weight: 500;
  color: #475569;
  margin-bottom: .5rem;
}

/* e.g. "Single Family Residence For Sale" */
.sidx-search-results .sidx-grid .sidx-sale-type {
  color: #0f172a;
  font-weight: 600;
  text-transform: uppercase;
  font-size: .7rem;
  line-height: 1.3;
  word-break: break-word;
}

/* e.g. "ACTIVE", "PENDING", ..." */
.sidx-search-results .sidx-grid .sidx-mls-info {
  align-self: flex-start;
  background-color: #e0f2fe;
  color: #0369a1;
  font-size: .7rem;
  font-weight: 600;
  line-height: 1.2;
  padding: .4rem .6rem;
  border-radius: .5rem;
  border: 1px solid rgba(3,105,161,.15);
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: .02em;
}

/* SPECS ROW (BEDS / BATHS / SQFT) */
.sidx-search-results .sidx-grid .sidx-info-blocks {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  padding: 1rem 0;
  margin-top: .75rem;
  margin-bottom: 1rem;
}

.sidx-search-results .sidx-grid .sidx-info-block {
  flex: 1;
  min-width: 0;
  text-align: left;
  padding-right: 1rem;
  font-size: .75rem;
  line-height: 1.2;
}

.sidx-search-results .sidx-grid .sidx-info-block:not(:last-child) {
  border-right: 1px solid #e5e7eb;
  margin-right: 1rem;
}

.sidx-search-results .sidx-grid .sidx-info-value {
  font-size: 1rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: .25rem;
}

.sidx-search-results .sidx-grid .sidx-info-title {
  font-size: .65rem;
  font-weight: 500;
  color: #64748b;
  letter-spacing: .03em;
  text-transform: uppercase;
}

/* ADDRESS / SUBDIVISION */
.sidx-search-results .sidx-grid .sidx-listing-heading {
  font-size: .9rem;
  line-height: 1.4;
  font-weight: 500;
  color: #0f172a;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e5e7eb;
}

.sidx-search-results .sidx-grid .sidx-listing-heading em,
.sidx-search-results .sidx-grid .sidx-listing-heading small {
  display: block;
  margin-top: .5rem;
  font-style: normal;
  font-size: .7rem;
  font-weight: 500;
  color: #64748b;
  line-height: 1.3;
  letter-spacing: .02em;
  text-transform: none;
}

/* ACTION BAR */
.sidx-search-results .sidx-grid .sidx-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .75rem 1rem 1rem 1rem;
  color: #64748b;
  font-size: .9rem;
  margin-top: auto;
  border-top: 0;
}

.sidx-search-results .sidx-grid .sidx-actions > div,
.sidx-search-results .sidx-grid .sidx-actions .sidx-comments {
  display: flex;
  align-items: center;
  cursor: pointer;
  border-radius: .5rem;
  padding: .5rem;
  line-height: 0;
  transition: background-color .15s ease, color .15s ease;
}

.sidx-search-results .sidx-grid .sidx-actions i {
  font-size: 1rem;
  line-height: 1;
}

.sidx-search-results .sidx-grid .sidx-actions > div:hover,
.sidx-search-results .sidx-grid .sidx-actions .sidx-comments:hover {
  background-color: #f1f5f9;
  color: #0f172a;
}

.sidx-search-results .sidx-grid .sidx-save-action {
  color: #eab308;
}

/* Responsive tweaks for cards */
@media (max-width: 600px) {
  .sidx-search-results .sidx-grid .sidx-search-result-grid-item {
    border-radius: 0.75rem;
    border: 1px solid #e5e7eb;
    box-shadow: 0 8px 24px rgba(0,0,0,0.04);
    overflow: hidden;
  }

  .sidx-search-results .sidx-grid .sidx-details {
    padding: 1rem 1rem 0 1rem;
    gap: .75rem;
  }

  .sidx-search-results .sidx-grid .sidx-primary-info .sidx-price {
    font-size: 1.125rem;
    margin-bottom: .25rem;
  }

  .sidx-search-results .sidx-grid .sidx-mls-details {
    font-size: .7rem;
    gap: .4rem;
    margin-bottom: .25rem;
  }

  .sidx-search-results .sidx-grid .sidx-sale-type {
    font-size: .7rem;
    line-height: 1.3;
  }

  .sidx-search-results .sidx-grid .sidx-mls-info {
    font-size: .65rem;
    padding: .35rem .5rem;
    line-height: 1.2;
    border-radius: .4rem;
  }

  .sidx-search-results .sidx-grid .sidx-info-blocks {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    padding: .75rem 0;
    margin-top: .5rem;
    margin-bottom: .75rem;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
  }

  .sidx-search-results .sidx-grid .sidx-info-block {
    flex: 1 1 33.333%;
    padding-right: .75rem;
    margin-right: 0;
    border-right: 1px solid #e5e7eb;
    margin-bottom: 0;
    font-size: .7rem;
    line-height: 1.2;
    text-align: left;
  }

  .sidx-search-results .sidx-grid .sidx-info-block:last-child {
    border-right: 0;
    padding-right: 0;
  }

  .sidx-search-results .sidx-grid .sidx-info-value {
    font-size: .95rem;
    font-weight: 600;
    margin-bottom: .25rem;
    color: #0f172a;
    line-height: 1.2;
  }

  .sidx-search-results .sidx-grid .sidx-info-title {
    font-size: .6rem;
    line-height: 1.2;
    color: #64748b;
    letter-spacing: .03em;
    text-transform: uppercase;
  }

  .sidx-search-results .sidx-grid .sidx-listing-heading {
    font-size: .8rem;
    line-height: 1.4;
    padding-bottom: .75rem;
  }

  .sidx-search-results .sidx-grid .sidx-listing-heading em,
  .sidx-search-results .sidx-grid .sidx-listing-heading small {
    font-size: .65rem;
    line-height: 1.3;
    margin-top: .4rem;
  }

  .sidx-search-results .sidx-grid .sidx-actions {
    padding: .75rem 1rem 1rem 1rem;
    gap: .5rem;
  }
}

/* SIDX overrides */
.sidx-container .sidx-main-app-body {
  background-color: #f8fafc00 !important;
}

.sidx-container .sidx-listing-details .sidx-powered-by {
  display: none;
}

body.properties-page .content .container .container_inner.page_container_inner,
body.properties-page .full_page_container_inner {
  padding: 0 !important;
  min-width: 100vw !important;
}

body.properties-page .content {
  margin-top: 60px;
}

/* Misc */
img.popup { display: none !important; }

/* Community Section */
.home_community {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  width: 100%;
}

.home_community_section {
  display: grid;
  justify-content: space-around;
  grid-template-columns: repeat(auto-fill, minmax(10rem, 15rem));
  grid-gap: 1rem;
  width: 65%;
  height: auto;
  padding: 0 1%;
}

.home_community_title {
  display: flex;
  width: 30%;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.home_community_title > h1 {
  font-size: 62px;
  font-weight: 400;
}

.community_card {
  display: flex;
  height: 30vh;
  border-radius: 6px;
  background-size: cover;
  transition: all 0.5s ease-out;
}

.community_card > a > h2,
.community_card > a > span {
  font-weight: 300;
  color: white;
  z-index: 2;
}

.community_card > a > h2 {
  font-size: 24px;
}

.community_card > a > span {
  border-color: white;
  width: 50%;
  text-align: center;
  border-style: solid;
  border-width: 1px 0;
  margin: 0.9rem;
  padding: 6px;
  font-size: 15px;
}

.community_card > a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: relative; /* needed for the overlay positioning */
  overflow: hidden;
  transition: transform 0.5s ease-out;
}

.community_card > a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.3); /* adjust color/opacity as needed */
  transition: background 0.5s ease-out;
  z-index: 1;
}

.community_card:hover {
  filter: none;
  transform: scale(1.05);
}

.community_card > a:hover::before {
  background: transparent;
}
.video-fallback { display: none; position: absolute; inset: 0; background-size: cover; background-position: center; z-index: -1; /* Behind content */ } /* Show fallback if video can't autoplay (basic mobile rule) */ @media (max-width: 767px) { .video-fallback { display: block; } }

/* ===== Hero content ===== */
.homeHeroContent {
  position: absolute;
  z-index: 1;
  inset: 0;                
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 2rem;
  color: #fff;
  box-sizing: border-box;
transform: translateY(-12%);
}

/* IDX container widths */
/* .sidx-container { width: 50vw; margin: 0 auto; } */

/* ===== Typography (shared) ===== */
.homeHeading {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  letter-spacing: -0.6px;
  font-size: clamp(2.4rem, 6vw, 5rem);
  text-shadow: 2px 3px 5px rgba(0,0,0,0.5);
}

.homeHeadingSmall {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  letter-spacing: 0.25px;
  font-size: 1.2rem;
text-shadow: 2px 3px 5px rgba(0,0,0,0.5);
}



.homeHeadingSmall {
  font-size: 26px;
  line-height: 1.4;
  margin-bottom: 3rem;
}

.homeHeading {
  font-size: 66px;
  line-height: 1.2;
  margin-bottom: 5rem;
  word-break: break-word;
}

/* ===== Font Awesome icon sizing/tint ===== */
.fa-user,
.fa-search,
.fa-home {
  font: normal normal normal 48px/1 FontAwesome !important;
  color: #fff !important;
}

/* ===== Carousel / theme tweaks ===== */
.carousel-inner h2.with_title_border span { display: none; }

.carousel-inner .slider_content {
  position: absolute;
  top: calc(50% + 70px) !important; /* adjust based on heading height */
  left: 50%;
}

.homeCarousel .sidx-search-results .sidx-grid { background-color: #f8fafc00 !important; }

.homeCarousel .sidx-container .sidx-gallery-listings .sidx-gallery-listings-next i,
.sidx-container .sidx-gallery-listings .sidx-gallery-listings-prev i {
  color: #fff !important;
}

/* ===== Layout helpers ===== */
.custom-inner-row,
.full_section_inner {
  display: flex;
  align-items: center;
  width: 100%;
}
.custom-inner-row { justify-content: center; }

.centered-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
}


/* ===== Inputs ===== */
.sidx-suggestions-input {
  box-shadow:
    0 2px 4px rgba(255,255,255,0.4),
    0 4px 10px rgba(0,0,0,0.25);
  border-radius: 8px;
  padding: 0.5rem 1rem;
  background: #fff;
}

/* ===== Qode button tweak ===== */
.qode-btn.qode-btn-solid {
  background-color: #fff;
  border: none;
  color: #303030;
  width: 103% !important;
  text-align: center;
  font-size: 26px !important;
}

/* ===== Hero action buttons ===== */
.homeActions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  margin-top: 0.75rem;
  flex-wrap: wrap;
}

.btnHero {
  flex: 1 1 0px;              /* equal widths */
  min-width: 180px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.95rem 1.6rem;
  border-radius: 9999px;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", sans-serif;
  font-weight: 500;
  letter-spacing: 0.3px;
  font-size: 1rem;
  text-decoration: none;
  color: #fff;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.35);
  backdrop-filter: blur(6px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
  transition: all .2s ease;
}

.btnHero:hover {
  background: rgba(255,255,255,0.20);
  border-color: rgba(255,255,255,0.55);
  box-shadow: 0 10px 24px rgba(0,0,0,0.45);
  transform: translateY(-2px);
}

.btnHero:active {
  transform: translateY(0);
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}

.btnHero.btnOutline {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.6);
}

.btnHero.btnOutline:hover {
  background: rgba(255,255,255,0.22);
  border-color: #fff;
}

/* ===== Mobile (≤ 769px to cover your existing rule) ===== */
@media only screen and (max-width: 769px) {
  .homeVideos { min-width: 90vw; }

  .homeHeading {
    font-size: 38px;
    line-height: 1.3;
    margin-bottom: 3rem;
  }

  .homeHeadingSmall {
    font-size: 18px;
    margin-bottom: 2rem;
  }

  .sidx-container { width: 100vw; }

  .homeHeroContent { padding: 1rem; }


  .bring_home_section { padding: 0 6%; }

  .subHero,
  .home_form_reviews { padding: 0 8%; }
  .subHero {
        padding-left: 2rem;
    padding-right: 1rem;
  }

  .home_mid_banner h1 { font-size: 42px !important; }

  .q_icon_with_title.center.center .icon_holder { margin: 20px 0; }

  .home.page-template .vc_row.wpb_row.section.vc_row-fluid:nth-last-child(1) p {
    margin-top: 0 !important;
  }

  .homeActions {
    flex-direction: column;
    gap: 0.75rem;
  }

  .btnHero {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
  }
    .content .container .container_inner {
        padding-left: 5% !important;
        padding-right: 5% !important;
    }
}

/* ===== Tablet (769px–1024px) ===== */
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .sidx-container { width: 70vw; }
}
.homeHeroContent .btnHero,
.homeHeroContent .btnHero:hover,
.homeHeroContent .btnHero:active,
.homeHeroContent .btnHero.btnOutline:hover {
  color: #fff !important;
}
/* Parent hero (make sure it's relatively positioned) */
.hero-wrap, .homeHero { /* use your actual hero wrapper class */
  position: relative;
  min-height: 70vh; /* helps iOS Safari */
}

/* Desktop/tablet keep the lift */
.homeHeroContent {
  transform: translateY(-12%);
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .homeHeroContent {
    transform: none;                 /* stop lifting on small screens */
    justify-content: flex-start;     /* start a bit higher */
    padding: 8vh 1rem 2rem;          /* top spacing that scales with viewport */
  }

  /* already have smaller type, keeping for completeness */
  .homeHeading {
    font-size: 38px;
    line-height: 1.3;
    margin-bottom: 3rem;
  }
  .homeHeadingSmall {
    font-size: 18px;
    margin-bottom: 2rem;
  }

  /* Buttons: full-width stack (you already had this) */
  .homeActions {
    flex-direction: column;
    gap: 0.75rem;
  }
  .btnHero {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
color:#000;
  }
}

/* Optional: slightly less lift on small tablets */
@media (min-width: 769px) and (max-width: 1024px) {
  .homeHeroContent { transform: translateY(-8%); }
}/* Desktop & tablet default */
.homeHeroContent {
  transform: translateY(-12%);
}

/* Tablet: slightly less lift */
@media (min-width: 769px) and (max-width: 1024px) {
  .homeHeroContent {
    transform: translateY(-8%);
  }
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .homeHeroContent {
    justify-content: flex-start;      /* start slightly higher than center */
                /* push it down just enough */
    padding-bottom: 4vh;
  }

  .homeHeading {
    font-size: 26px;
    line-height: 1.25;
    margin-bottom: 2.5rem;
  }

  .homeHeadingSmall {
    font-size: 17px;
    margin-bottom: 1.5rem;
  }

  .homeActions {
    flex-direction: column;
    gap: 0.75rem;
  }

  .btnHero {
    width: 100%;
    max-width: 400px;
  }
}

}
/* === MOBILE (≤768px): stack buttons + center content === */
@media (max-width: 768px) {

  /* Center hero content vertically and horizontally */
  .homeHeroContent {
    display: flex;
    flex-direction: column;
    justify-content: center;  /* vertical center */
    align-items: center;      /* horizontal center */
    text-align: center;
    height: 100vh;            /* fill full screen */
    transform: none !important;
    padding: 0 1rem;
  }

  /* Stack buttons vertically */
  .homeHeroContent .homeActions {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem;
    width: 100%;
    max-width: 420px;
  }

  .homeHeroContent .btnHero {
    width: 100% !important;
    max-width: 420px;
    font-size: 16px;
    padding: 0.9rem 1rem;
    margin: 0 auto;
  }
}

/* === MOBILE FIX: Center buttons properly === */
@media (max-width: 768px) {

  /* Ensure hero content uses full width and centers children */
  .homeHeroContent {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 100vh;
    width: 100vw;               /* make sure it fills screen width */
    padding: 0 1rem !important; /* add safe side padding */
    margin: 0 auto;             /* prevent alignment shifts */
    box-sizing: border-box;
  }

  /* Center actions container */
  .homeHeroContent .homeActions {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center;
    gap: 1rem;
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
  }

  /* Fix button width + center alignment */
  .homeHeroContent .btnHero {
    display: block;
    width: 100% !important;
    max-width: 420px;
    text-align: center;
    font-size: 16px;
    padding: 0.9rem 1rem;
    margin: 0 auto;
    box-sizing: border-box;
  }
}