/*
Theme Name: Theme Options
Description: A theme modified by RG Design
Version: 1.0
Author: RG Design
Author URI: https://www.rgdesigntech.com
Template: teresarealestatepro
*/



/*Add your own styles here:*/



/* CUSTOMIZED FONT WEIGHTS */
.font-mont {font-family: 'montserrat', Helvetica, Arial, sans-serif;}
.font-outfit {font-family: 'outfit', Helvetica, Arial, sans-serif;}
.font-900 * {font-weight: 900 !important;}
.font-800 * {font-weight: 800 !important;}
.font-700 * {font-weight: 700 !important;}
.font-600 * {font-weight: 600 !important;}
.font-500 * {font-weight: 500 !important;}
.font-400 * {font-weight: 400 !important;}
.font-300 * {font-weight: 300 !important;}
.font-200 * {font-weight: 200 !important;}
.font-100 * {font-weight: 100 !important;}
.font-bold * {font-weight: bold !important;}




/* Portfolio Sort Text */
#js_sort_items{text-align: center; }
#js_sort_items a, #js_sort_items .text-sep{float:none; display:inline-block; padding-right:40px;}
.text-sep {display:none; visibility:hidden}
/* Portfolio Sort Text */

/*Portfolio Title and Excerpt */
.post-entry-47 .grid-content  {background-color:#1C1F21 !important; min-height:170px;}
.post-entry-47 .grid-entry-title {background-color:transparent; !important; text-align:left; font-size:24px; text-transformation:capitalize; color:#F2EAD6;}
.post-entry-47 .grid-entry-excerpt {text-align:left; color:#FAF8F4; margin-top:15px;}
.post-entry-47 .avia-arrow {background-color:#C5A95E !important;}

.post-entry-19 .grid-content  {background-color: #000000 !important; /* fallback */
    background-image: linear-gradient(to bottom, #1C1F21, #000000) !important;}
.post-entry-19 .grid-entry-title {background-color: transparent;  text-align:left; font-size:24px; text-transformation:capitalize; color:#F2EAD6;}
.post-entry-19 .grid-entry-excerpt {text-align:left; color:#FAF8F4; margin-top:15px;}
.post-entry-19 .avia-arrow {background-color:#FAF8F4 !important;}
/*Portfolio Title and Excerpt */


/* --------------------------------------------------------------------------
   12. Gradient overlay on a background image — reusable via .tw-gradient-col
   Add the class "tw-gradient-col" to ANY av_section, av_one_full/third/
   fourth column, etc. that has a background image set. Covers Enfold's
   actual selectors for both sections (.avia-section) and columns
   (.flex_column / .av_one_full etc.) since the class can land on either
   depending on which element you apply it to.
 
   Default direction: bottom-to-top fade, transparent -> charcoal.
   To change color: swap the rgba(28,31,33,...) values.
   To change direction: swap the 180deg (bottom fade) for 135deg (diagonal)
   or 0deg (top fade).
   -------------------------------------------------------------------------- */
.tw-gradient-col {
  position: relative;
  z-index: 0;
  overflow: hidden; /* clip the overlay to the element's own box */
}
 
.tw-gradient-col::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none; /* clicks/links underneath still work */
  background: linear-gradient(
    180deg,
    rgba(28,31,33,0) 0%,
    rgba(28,31,33,.75) 100%
  );
}
 
/* Push real content above the overlay — covers the common Enfold
   wrappers so this works whether the class is on a section or a column */
.tw-gradient-col > .container,
.tw-gradient-col > .container_wrap,
.tw-gradient-col > .av-inner-column-content,
.tw-gradient-col > .flex_column_inner,
.tw-gradient-col > .avia_textblock {
  position: relative;
  z-index: 2;
}
 
/* Optional variants — add alongside tw-gradient-col as a second class */
.tw-gradient-col.tw-gradient-gold::before {
  background: linear-gradient(180deg, rgba(197,169,94,0) 0%, rgba(197,169,94,.75) 100%);
}
.tw-gradient-col.tw-gradient-diagonal::before {
  background: linear-gradient(135deg, rgba(28,31,33,0) 0%, rgba(28,31,33,.75) 100%);
}
.tw-gradient-col.tw-gradient-both-ends::before {
  background: linear-gradient(180deg, rgba(28,31,33,.6) 0%, rgba(28,31,33,0) 50%, rgba(28,31,33,.6) 100%);
}



/* --------------------------------------------------------------------------
   1. Palette tokens
   -------------------------------------------------------------------------- */
:root {
  --tw-gold:      #C5A95E;
  --tw-gold-deep: #A88F47;
  --tw-sand:      #F2EAD6;
  --tw-ink:       #1C1F21;
  --tw-paper:     #FAF8F4;
  --tw-slate:     #4A4A4A;
}

/* --------------------------------------------------------------------------
   3. Header
   -------------------------------------------------------------------------- */
.tw-nav-cta a {
  background: var(--tw-gold);
  color: var(--tw-ink) !important;
  padding: 9px 18px !important;
  font-weight: 600;
}
.tw-nav-cta a:hover { background: var(--tw-gold-deep); }

.header-cta .nav-btn {
  display: inline-block;
  background: var(--tw-gold);
  color: var(--tw-paper) !important;
  padding: 20px 20px !important;
  border-radius: 0;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0;
  text-decoration: none !important;
  transition: background .18s ease;
}

.header-cta .nav-btn:hover {
  background: var(--tw-gold-deep);
  color: var(--tw-sand) !important;
}

/* --------------------------------------------------------------------------
   4. Hero
   -------------------------------------------------------------------------- */
.tw-hero .av-special-heading-tag { max-width: 15ch; }
.tw-hero .tw-hero-sub p { max-width: 46ch; line-height: 1.72; margin: 0; }

.tw-btn-ghost .avia-button {
  background: transparent !important;
  box-shadow: inset 0 0 0 1px rgba(250,248,244,.45);
  font-weight: 500;
}
.tw-btn-ghost .avia-button:hover {
  background: rgba(250,248,244,.1) !important;
}

/* --------------------------------------------------------------------------
   5. IDX search strip — overlaps the hero without leaving the flow
   -------------------------------------------------------------------------- */
.tw-searchstrip .tw-idx {
  margin-top: -38px;
  position: relative;
  z-index: 3;
  background: var(--tw-paper);
  padding: 30px;
  box-shadow: 0 18px 48px rgba(28,31,33,.28);
}
@media only screen and (max-width: 767px) {
  .tw-searchstrip .tw-idx { margin-top: 0; padding: 20px; }
}

/* --------------------------------------------------------------------------
   6. Services columns
   -------------------------------------------------------------------------- */
.tw-svc { border-top: 2px solid var(--tw-gold); }
.tw-svc .av-special-heading { margin-top: 0; }

/* --------------------------------------------------------------------------
   7. Neighborhood tiles
   -------------------------------------------------------------------------- */
.tw-hood .avia-image-container { overflow: hidden; }
.tw-hood .tw-hood-meta p {
  opacity: .6;
  font-size: 13px;
  margin: 0;
}
.tw-hoods .tw-hoods-lede p { opacity: .82; max-width: 56ch; }

/* --------------------------------------------------------------------------
   8. Stats and testimonial
   -------------------------------------------------------------------------- */
.tw-proof .avia-animated-number-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 300;
  color: var(--tw-gold);
  line-height: 1;
}
.tw-proof .avia-animated-number-content { opacity: .78; }

.tw-quote .avia-testimonial-content p {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 300;
  font-size: 28px;
  line-height: 1.42;
  max-width: 34ch;
}
@media only screen and (max-width: 767px) {
  .tw-quote .avia-testimonial-content p { font-size: 20px; }
}

/* --------------------------------------------------------------------------
   9. Buttons — global
   -------------------------------------------------------------------------- */
#top .avia-button {
  border-radius: 0;
  font-weight: 600;
  letter-spacing: 0;
  padding: 14px 26px;
}




.tw-hood {
  position: relative;
  overflow: hidden;
  background-size: cover !important;
  background-position: center !important;
  transition:
    transform .5s cubic-bezier(.25,.8,.25,1),
    box-shadow .5s cubic-bezier(.25,.8,.25,1),
    background-size .7s cubic-bezier(.25,.8,.25,1);
}

.tw-hood:hover {
  transform: scale(1.035);
  z-index: 6;
  box-shadow: 0 20px 44px rgba(28,31,33,.35);
  background-size: 114% !important;
  cursor: pointer;
}

/* Gradient overlay deepens on hover — reinforces the "zoom in" feel */
.tw-hood.tw-gradient-col::before {
  transition: opacity .5s ease;
  opacity: .85;
}
.tw-hood:hover.tw-gradient-col::before {
  opacity: 1;
}

/* Heading + meta sit above the overlay and animate independently */
.tw-hood > .av-special-heading,
.tw-hood > .av_textblock_section {
  position: relative;
  z-index: 2;
  transition: transform .45s cubic-bezier(.25,.8,.25,1);
}

.tw-hood:hover > .av-special-heading {
  transform: translateY(-6px);
}

/* Meta line fades and settles in slightly after the heading moves */
.tw-hood .tw-hood-meta {
  opacity: .78;
  transform: translateY(4px);
  transition: opacity .45s ease .05s, transform .45s cubic-bezier(.25,.8,.25,1) .05s;
}

.tw-hood:hover .tw-hood-meta {
  opacity: 1;
  transform: translateY(0);
}

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  .tw-hood,
  .tw-hood.tw-gradient-col::before,
  .tw-hood > .av-special-heading,
  .tw-hood .tw-hood-meta {
    transition: none !important;
  }
}






/************************************

 Add a widget area on the right side
 Logo left, Menu center, Widget right

*************************************



CSS Settings:

» Initiate Flexbox
» Topbar
» Header
» Logo
» Menu
» Widget
» Social icons
» Search
» Cart icon

***********************************/ 



/*--------------------------------

» Initiate Flexbox

--------------------------------*/

.header-cta {
  display: flex;
  align-items: center;
  gap: 18px;
}

.phone {
  font-size: 16px;
  color: var(--steel-white);
}

.btn {
  display: inline-block;
  padding: 11px 22px;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 2px;
  border: 2px solid ##A88F47;
  background: #C5A95E;
  color: #fff;
  transition: background .15s;
}

.btn:hover {
  background: var(--oxide-dark);
  border-color: var(--oxide-dark);
}

/* Header */
.responsive #top #header,
/* Top bar */
.responsive #top #header #header_meta,
/* Search icon */
.responsive #top #header #menu-item-search a,
/* Cart icon */
.responsive #top #header a.cart_dropdown_link,
/* Social icon */
.responsive #top #header #header_main nav .social_bookmarks,
/* Logo */
.responsive #top #header #header_main .inner-container .logo,
/* Main menu, cart and social icons */
.responsive #top #header #header_main .inner-container .main_menu,
/* Widgets */
.responsive #top #header #header_main .inner-container .widget,
/* Header inner container */
#top #header #header_main .container.av-logo-container .inner-container {    
    display: flex;
    position: relative;
}


/* MOBILE FIX of HEADER CTA to own line */
@media only screen and (max-width: 767px) {

  /* Allow header contents to wrap on mobile */
  #top #header #header_main .container.av-logo-container .inner-container {
    flex-wrap: wrap !important;
  }

  /* Push the phone + button widget onto its own row below logo/hamburger */
  .responsive #top #header #header_main .inner-container .widget {
    order: 10;
    flex-basis: 100% !important;
    justify-content: center;
    margin-top: 12px;
  }

  /* Keep phone number and button side-by-side, not stacked, within that new row */
  .responsive #top #header #header_main .inner-container .widget > div {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: 100%;
  }

  /* Stop the phone number from wrapping mid-number */
  .header-cta .phone {
    white-space: nowrap;
  }
}
/*END CTA MOBILE FIX*/


/*--------------------------------

» Topbar

--------------------------------*/



/* Top bar */

.responsive #top #header #header_meta {
    flex-basis: 100%;    
}



/*--------------------------------

» Header

--------------------------------*/

/* Height */

#top #header #header_main .container.av-logo-container {
    height: inherit;   /* Auto height: Header takes the height of the contents */
}


/* Header inner container */

#top #header #header_main .container.av-logo-container .inner-container {
  height: inherit; 
  position: relative !important;
  flex-wrap: nowrap;
  justify-content: space-between;
}


/* Wrappers 
--------------------------------*/

/* Header content and Topbar */

.responsive #top #header {
    flex-wrap: wrap;
}

/* Header contents: Logo, Menu, Social Icons and Widgets. */

.responsive #top #header #header_main {
    flex-basis: 100%;    
}

/* Transparent header 
--------------------------------*/

.responsive.html_header_transparency #top #wrap_all #header {
    position: absolute;
}


/* Main content: 
-----------------------*/


/* Fixed header 
--------------------------------*/

/* Fixed header */

.html_header_sticky.html_header_transparency #top #wrap_all #header,
.html_header_sticky #top #wrap_all #header { 
    position: fixed; 
} 


/* Fixed header and page content gap. 
   Padding value should be same as the fixed header height. */

.html_header_sticky:not(.html_header_transparency) #top #wrap_all #main { 
    /*padding-top: 145px !important; */
} 

@media only screen and (max-width: 767px) {
.html_header_sticky #top #wrap_all #main {
    /*padding-top: 145px !important; */
}}





/*--------------------------------

» Logo

--------------------------------*/




/* Logo */

.responsive #top #header #header_main .inner-container .logo {
    order: 0;
    flex-basis: auto;
    /*width: auto;*/

    /* Define scalable min width of the logo on small screens */
    min-width: 100px;
    /* Define scalable max width of the logo on big screens */
    /* Logo width: (auto | 100% | px );  Set auto to display the uploaded image size */
    max-width: 180px;
    
    z-index: 9;
}


/* Logo image size */

.responsive #top #header .logo,
.responsive #top #header .logo a,
.responsive #top #header .logo img {
    width: auto;
        
    /* Height specification is not required. It is proportional to the max width of the logo */
    height: auto;    
    align-items: center;
    align-self: center;
    justify-content: center;
}


/* Vertically center transparency logo */

.responsive #top #header .logo span img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}



/*--------------------------------

» Menu

--------------------------------*/



/* Menu outer container: Menu with siblings cart and social icons */

.responsive #top #header #header_main .inner-container .main_menu {
    order: 0;
    flex-basis: auto;   /* Use calc to minus the width of the logo */
    align-items: center;
    align-self: center;
}

/* Navigation */

#header .av-main-nav {
    display: flex;
    flex-wrap: nowrap;
}

/*  Activate burger menu  */

@media only screen and (max-width: 1000px) {
    #top #header .av-main-nav>li.menu-item {
        display: none!important;
    }
    #top #header .av-burger-menu-main {
        cursor: pointer;
        display: block!important;
    }
}

@media only screen and (max-width: 767px) {

/* Mobile menu position fix */
.responsive #top .av-logo-container .avia-menu {
    display: flex!important;
    align-items: center;
}}

/* Mega menu position fix */
#header li .avia_mega_div,
#header li:hover .avia_mega_div {
    right: 0 !important; /* submenu position */
    left: auto!important; /* submenu position */
    max-width: 50vw;
}

/*--------------------------------

» Widget

--------------------------------*/


/* Widgets */

.responsive #top #header #header_main .inner-container .widget {
    order: 0;
    flex-basis: auto;
    padding: unset;
    clear: none!important;

    align-self: center;
    align-items: center;
    z-index: 1;

}

.responsive #top #header #header_main .inner-container .widget>div {
    width:100%;
    line-height: 14px;
    padding:0 10px;
}





/*--------------------------------

» Social icons

--------------------------------*/




/* Flex support and position fix */
.responsive #top #header #header_main nav .social_bookmarks {
    display: flex;
     top: auto;
     margin-top: 0;
     align-items: center;
}
/* Inherit height for flex alignment */
#top .av-logo-container .social_bookmarks li {
    height: inherit;
}




/*--------------------------------

» Search 

--------------------------------*/



/* Your styles here */



/*--------------------------------

» Cart 

--------------------------------*/



/* Cart position fix */

#top #header #header_main #menu-item-shop a.cart_dropdown_link {
    height: auto;
}

@media only screen and (max-width: 767px) {
    .responsive #top #menu-item-shop.cart_dropdown {
        display: flex;
        align-items: center;
    }
    .cart_dropdown .dropdown_widget .avia-arrow {
        display: none;
    }
}

#footer .flex_column.av_one_fourth.first {
  width: 35%;
  margin-left: 0;
  box-sizing: border-box !important;
}

#footer .flex_column.av_one_fourth:not(.first) {
  width: 14%;
  margin-left: 7%;
  box-sizing: border-box !important;
}