







/* =========================
   TITLES: LUXE REVEAL (BASE)
   ========================= */

/* Pre-state: title stays invisible and does not inherit the slide-up motion */
.luxe-pre{
  opacity: 0 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

/* Reveal: your elegant animation */
.luxe-reveal{
  --speed: 3.0s;   /* adjust */
  --delay: 0.15s;  /* keep small since IO already triggers in-view */

  display: inline-block;
  white-space: nowrap;
  letter-spacing: 0.03em;

  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 60%, transparent 100%);
  -webkit-mask-size: 0% 100%;
  -webkit-mask-repeat: no-repeat;
          mask-image: linear-gradient(90deg, #000 0%, #000 60%, transparent 100%);
          mask-size: 0% 100%;
          mask-repeat: no-repeat;

  opacity: 0;
  filter: blur(0.6px);

  animation:
    mrp-mask-reveal var(--speed) cubic-bezier(.2,.9,.2,1) var(--delay) forwards,
    mrp-soft-focus 0.5s ease-out var(--delay) forwards;
}

.luxe-reveal::after{
  content: none !important;
}

/* Keyframes */
@keyframes mrp-mask-reveal{
  0%{
    opacity: 0;
    -webkit-mask-size: 0% 100%;
            mask-size: 0% 100%;
  }
  100%{
    opacity: 1;
    -webkit-mask-size: 110% 100%;
            mask-size: 110% 100%;
  }
}

@keyframes mrp-soft-focus{
  from { filter: blur(0.6px); }
  to   { filter: blur(0); }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce){
  .luxe-pre{
    opacity: 1 !important;
  }
  .luxe-reveal{
    animation: none;
    opacity: 1;
    filter: none;
    -webkit-mask-size: 110% 100%;
            mask-size: 110% 100%;
  }
}

/* =========================
   SCROLLBAR STYLING
   ========================= */

/* Scrollbar width */
::-webkit-scrollbar {
  width: 9px;
}

/* Track */
::-webkit-scrollbar-track {
  background: transparent;
}

/* Full solid thumb */
::-webkit-scrollbar-thumb {
  background-color: #ce021f;
  border-radius: 10px;
}

/* Hover state */
::-webkit-scrollbar-thumb:hover {
  background-color: #a80119; /* slightly darker */
}

/* =========================
   TITLES: LUXE REVEAL (RESPONSIVE VERSION)
   Desktop = left-to-right
   Mobile = bottom-to-top (wrap-safe)
   ========================= */

/* Pre-state: keeps titles quiet until IntersectionObserver triggers */
.luxe-pre{
  opacity: 0 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

/* Shared reveal base */
.luxe-reveal{
  --speed: 2.6s;
  --delay: 0.12s;

  letter-spacing: 0.03em;

  opacity: 0;
  filter: blur(0.6px);

  animation:
    mrp-soft-focus 0.5s ease-out var(--delay) forwards;
}

/* No caret */
.luxe-reveal::after{
  content: none !important;
}

/* Desktop: left to right reveal */
@media (min-width: 768px){
  .luxe-reveal{
    display: inline-block;
    white-space: nowrap;

    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 60%, transparent 100%);
    -webkit-mask-size: 0% 100%;
    -webkit-mask-repeat: no-repeat;

            mask-image: linear-gradient(90deg, #000 0%, #000 60%, transparent 100%);
            mask-size: 0% 100%;
            mask-repeat: no-repeat;

    animation:
      mrp-mask-reveal-x var(--speed) cubic-bezier(.2,.9,.2,1) var(--delay) forwards,
      mrp-soft-focus 0.5s ease-out var(--delay) forwards;
  }
}

/* Mobile: bottom to top reveal (wrap-safe) */
@media (max-width: 767px){
  .luxe-reveal{
    display: inline;           /* allows wrapping */
    white-space: normal;
    overflow-wrap: anywhere;

    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 35%, #000 100%);
    -webkit-mask-size: 100% 0%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0% 100%;

            mask-image: linear-gradient(180deg, transparent 0%, #000 35%, #000 100%);
            mask-size: 100% 0%;
            mask-repeat: no-repeat;
            mask-position: 0% 100%;

    animation:
      mrp-mask-reveal-y var(--speed) cubic-bezier(.2,.9,.2,1) var(--delay) forwards,
      mrp-soft-focus 0.5s ease-out var(--delay) forwards;
  }
}

/* Keyframes */
@keyframes mrp-mask-reveal-x{
  0%{
    opacity: 0;
    -webkit-mask-size: 0% 100%;
            mask-size: 0% 100%;
  }
  100%{
    opacity: 1;
    -webkit-mask-size: 110% 100%;
            mask-size: 110% 100%;
  }
}

@keyframes mrp-mask-reveal-y{
  0%{
    opacity: 0;
    -webkit-mask-size: 100% 0%;
            mask-size: 100% 0%;
  }
  100%{
    opacity: 1;
    -webkit-mask-size: 100% 130%;
            mask-size: 100% 130%;
  }
}

@keyframes mrp-soft-focus{
  from { filter: blur(0.6px); }
  to   { filter: blur(0); }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce){
  .luxe-pre{
    opacity: 1 !important;
  }
  .luxe-reveal{
    animation: none !important;
    opacity: 1 !important;
    filter: none !important;
    -webkit-mask-image: none !important;
            mask-image: none !important;
  }
}

/* =========================
   MOBILE DRAWER MENU TWEAK
   ========================= */

/* Mobile drawer menu: disable navigation on top-level parent anchors that have submenus */
nav.vmenu200c .mrp-menu-level-0 > li.has-submenu > a {
  pointer-events: none;
  cursor: default;
} 


/* =========================
   BUTTON BASE
   ========================= */

a.fluid-button.button.default-style.outlined {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: 3.25rem;
  padding: 0 1.75rem;

  background-color: #ce021f;
  border: 0;
  border-radius: 0;

  overflow: hidden;
  text-decoration: none;
}


/* Button label */
a.fluid-button.button.default-style.outlined label {
  position: relative;
  z-index: 2;

  color: #ffffff;
  font-weight: 300;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

/* Black reveal layer */
a.fluid-button.button.default-style.outlined::before {
  content: "";
  position: absolute;
  inset: 0;

  background-color: #000000;
  z-index: 1;

  transform: translateX(-100%);
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Hover / focus */
a.fluid-button.button.default-style.outlined:hover::before,
a.fluid-button.button.default-style.outlined:focus-visible::before {
  transform: translateX(0);
}

/* Micro-lift */
a.fluid-button.button.default-style.outlined {
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease;
}

a.fluid-button.button.default-style.outlined:hover,
a.fluid-button.button.default-style.outlined:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.25);
} 


/* =========================
   FILLED BUTTON: BASE
   ========================= */

a.fluid-button.button.filled {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: 3.25rem;
  padding: 0 1.75rem;

  background-color: #000000;
  border: 0;
  border-radius: 0;

  overflow: hidden;
  text-decoration: none;
}

a.fluid-button.button.filled label {
  position: relative;
  z-index: 2;

  color: #ffffff;
  font-weight: 300;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

/* Red reveal overlay */
a.fluid-button.button.filled::before {
  content: "";
  position: absolute;
  inset: 0;

  background-color: #ce021f;
  z-index: 1;

  transform: translateX(-100%);
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

a.fluid-button.button.filled:hover::before,
a.fluid-button.button.filled:focus-visible::before {
  transform: translateX(0);
}

a.fluid-button.button.filled {
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease;
}

a.fluid-button.button.filled:hover,
a.fluid-button.button.filled:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.25);
} 


/* Blog typography: Poppins Thin */
h1.weblet_blog-entry-heading,
h2.weblet_blog-entry-heading a .weblet_blog-entry-heading-text,
h2 > strong,
h3 > strong {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 100 !important;
  font-style: normal;
  letter-spacing: 0.01em;
} 


/* Blog meta (date + author) force white */
.weblet_blog-entry-author-section,
.weblet_blog-entry-author-section span {
  color: #ffffff !important;
} 

/* Blog category navigation: force red text */
.weblet_blog-navigation-sa-section,
.weblet_blog-navigation-sa-heading,
.weblet_blog-navigation-sa-item a {
  color: #ce021f !important;
} 


.mrp-crea-attribution {
  display: none !important;
} 


/* ================================
   Slim Legal Footer (Master)
   Scoped to bid_8525480
================================ */

#bid_8525480 {
  background: #000;
  padding: 0;
}

/* Remove block spacing */
#bid_8525480-top-space,
#bid_8525480-bottom-space {
  display: none;
}

/* Hide myRealPage logo */
#bid_8525480 .mrp-logo {
  display: none;
}

/* Hide "Real Estate Websites by myRealPage" link */
#bid_8525480 .text a[href*="myrealpage.com"] {
  display: none;
}

/* Footer text styling */
#bid_8525480 .text {
  color: rgba(255,255,255,0.65);
  font-size: 0.75rem;
  line-height: 1.4;
  text-align: center;
  padding: 0.75rem 1rem;
  letter-spacing: 0.02em;
}

/* Privacy Policy link */
#bid_8525480 .text a {
  color: rgba(255,255,255,0.75);
  text-decoration: none;
  margin-left: 0.35rem;
}

#bid_8525480 .text a:hover {
  color: #ffffff;
  text-decoration: underline;
}

/* Mobile tightening */
@media (max-width: 768px) {
  #bid_8525480 .text {
    font-size: 0.7rem;
    padding: 0.65rem 0.75rem;
  }
} 

@media (max-width: 35.94rem) {
  p {
    font-size: 1.3rem;
    line-height: 1.7;

    /* font smoothing */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    /* optional: helps kerning/ligatures where supported */
    text-rendering: optimizeLegibility;
  }
} 

/* Desktop (default) */
p {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
} 


/* Blog pagination – force white on dark backgrounds */
.weblet_blog-page-nav,
.weblet_blog-page-nav a,
.weblet_blog-page-nav span {
  color: #ffffff !important;
}

/* Optional: cleaner hover state */
.weblet_blog-page-nav a:hover {
  color: rgba(255,255,255,0.75) !important;
  text-decoration: underline;
} 


/* Blog RSS link – force white */
a[href$=".feed"],
a[href$=".feed"] span,
a[href$=".feed"] i {
  color: #ffffff !important;
}

/* Optional hover */
a[href$=".feed"]:hover,
a[href$=".feed"]:hover span,
a[href$=".feed"]:hover i {
  color: rgba(255,255,255,0.75) !important;
}