/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.0
Description: This is a child theme for Beaver Builder that has been customized.
Author: Computer Services of Durant
Author URI: https://csdurant.com
template: bb-theme
*/

/* =========================================================
   THEME HEADER NAV (INNER PAGES)
   ========================================================= */

.fl-page-nav-right .fl-page-header-container {
	padding-bottom: 0px !important;
}

.fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-always .fl-page-nav .navbar-toggle:focus {
	color: #fff !important;
	outline: none;
}

.fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-always
.fl-page-nav .navbar-toggle .fas.fa-bars {
	display: none;
}

.fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-always .fl-page-nav .navbar-toggle {
	padding: 28px;
	top: 0;
	right: 0;
}

/* Header hamburger: use thin ≡ instead of FA bars */
.fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-always .fl-page-nav .navbar-toggle span:before {
	content: "≡";
	font-size: 50px;
	font-weight: 300;
	color: #ffffff;
	line-height: 1;
	position: absolute;
	top: 25px;
	right: 25px;
	margin-top: -10px;
}

@media (max-width: 768px) {
	.fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-always .fl-page-nav .navbar-toggle span:before {
		top: 12px;
	}
}

/* Header off-canvas flyout */
.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled
header[class*=" fl-page-nav-toggle-visible-"].fl-page-header .fl-nav-offcanvas-collapse {
	width: 320px;
	background-color: #EAEAEA;
	padding: 80px 40px 40px 60px;
	box-sizing: border-box;
}

.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled.fl-offcanvas-overlay-right
.fl-page .fl-nav-offcanvas-collapse {
	right: -320px;
}

/* Header flyout menu item spacing */
.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled
.fl-nav-offcanvas-collapse.navbar-collapse .navbar-nav > li > a {
	display: block;
	padding: 10px 0;
	font-size: 18px;
}

.fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-always
.fl-page-nav-collapse ul.navbar-nav > li {
	border-bottom-width: 0px;
}

/* Header close button (X) position */
.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled .fl-button-close {
	position: absolute;
	top: 24px;
	right: 24px;
	z-index: 10000;
}

.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled .fl-offcanvas-close {
	background: transparent;
	border: none;
	padding: 0;
	cursor: pointer;
}


/* =========================================================
   BB MENU MODULE (HOMEPAGE HERO)
   ========================================================= */

.fl-menu .fl-menu-icon .hamburger-menu rect {
	height: 25px;
}

.fl-menu.fl-menu-responsive-flyout-overlay .fl-menu-mobile-flyout {
	width: 320px;
	background-color: #EAEAEA;
	padding: 80px 40px 40px 40px;
	box-sizing: border-box;
}

/* BB flyout default hidden */
.fl-menu.fl-menu-responsive-flyout-overlay .fl-menu-mobile-flyout {
	right: -420px !important;
}

/* BB flyout when toggle active */
.fl-menu .fl-menu-mobile-toggle.fl-active + .fl-clear + nav .fl-menu-mobile-flyout {
	right: 0 !important;
}

/* BB close button position */
.fl-menu .fl-menu-mobile-close {
	display: block !important;
	position: absolute;
	top: 24px;
	right: 24px;
	z-index: 10000;
	background: transparent;
	border: none;
	padding: 0;
	cursor: pointer;
}


/* =========================================================
   SHARED CLOSE ICON (X)
   ========================================================= */

.fl-menu .fl-menu-mobile-close .fa-times:before,
.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled
.fl-offcanvas-close .fa-times:before {
	content: "×";
	font-size: 50px;
	font-weight: 300;
	line-height: 1;
	color: #B4B3B3;
}

.fl-menu .fl-menu-mobile-close:hover .fa-times:before,
.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled
.fl-offcanvas-close:hover .fa-times:before {
	color: #777777;
}

.fl-menu .fl-menu-mobile-close i,
.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled .fl-offcanvas-close i {
	font-size: inherit;
	color: inherit;
}

.fl-menu-mobile-close:hover {
	position: absolute;
	top: 14px;
	right: 9px;
}


/* =========================================================
   LOGO
   ========================================================= */

.fl-logo-img {
	width: 500px;
}


/* =========================================================
   BB FLYOUT OVERLAY
   ========================================================= */

.fl-menu-overlay {
	background: rgba(0, 0, 0, 0.55) !important;
}


/* =========================================================
   FOOTER
   ========================================================= */

.fl-page-footer-text {
	padding-bottom: 10px;
	font-size: 14px;
}

/* FOOTER (MOBILE) */
@media (max-width: 768px) {
	.footer-link-separator {
		display: none;
	}
	.footer-links {
		display: block;
		margin-top: 10px;
	}
}


/* =========================================================
   BUTTONS
   ========================================================= */

@media (min-width: 768px) {
	.button-max-width {
		max-width: 300px;
	}
}



/* =========================================================
   IDX BROKER STYLES
   ========================================================= */

.impress-row {
	max-width: 100% !important;
}
.impress-showcase-property img {
	border-radius: 15px;
	object-fit: cover;
	height: 250px;
}
.impress-price {
	font-weight: bold !important;
}
.idx-omnibar-extra-button:hover {
	background-color: #D83D3A !important;
}
.mti-idx-omnibar-links .mti-idx-omnibar-link {
	color: #8E3B33 !important;
}
.mti-idx-omnibar-links .mti-idx-omnibar-link:hover {
	color: #D83D3A !important;
}
.impress-showcase-property a {
	color: #8E3B33 !important;
}
.impress-showcase-property a:hover {
	color: #D83D3A !important;
}
.impress-beds-baths-sqft {
	color: #5f5f5f !important;
}
@media only screen and (min-width: 40.063em) and (max-width: 75em) {
    .impress-property-showcase .medium-3 {
        width: 50% !important;
    }
}
@media only screen and (max-width: 1200px) {
	.impress-showcase-property {
	    margin-bottom: 30px;
    }
}

#IDX-main{
  --idx-button-color: #8b2a2a;
  --idx-button-text-color: #ffffff;
}

/* Property Search Style Overrides */

/* --- Grid: left inputs, right button+links --- */
.mti-idx-omnibar form.idx-omnibar-form.idx-omnibar-extra-form{
  display: grid !important;
  grid-template-columns: 1fr 320px;   /* left fields + right actions column */
  grid-template-rows: auto auto;      /* row 1 city + row 2 fields */
  column-gap: 24px;
  row-gap: 14px;
  align-items: start;
  width: 100%;
}

/* City input wrapper (Awesomplete wraps the input) */
.mti-idx-omnibar form.idx-omnibar-form.idx-omnibar-extra-form > .awesomplete{
  grid-column: 1;
  grid-row: 1;
  min-width: 0; /* prevents overflow in grid */
}

/* Row 2 wrapper (min|max|beds|baths) */
.mti-idx-omnibar form.idx-omnibar-form.idx-omnibar-extra-form > .idx-omnibar-row2{
  grid-column: 1;
  grid-row: 2;
  min-width: 0;

  display: grid;
  grid-template-columns: 1fr auto 1fr 1fr 1fr; /* min | to | max | beds | baths */
  gap: 12px;
  align-items: center;
  width: 100%;
}

/* Right column wrapper (button + links) */
.mti-idx-omnibar form.idx-omnibar-form.idx-omnibar-extra-form > .mti-idx-actions{
  grid-column: 2;
  grid-row: 1 / span 2; /* spans both rows without affecting left row heights */
  align-self: start;

  display: flex;
  flex-direction: column;
  align-items: stretch; /* button & links match the same column width */
  gap: 10px;
}

/* --- Inputs styles --- */
.mti-idx-omnibar .idx-omnibar-input{
  width: 100%;
  height: 56px;
  padding: 0 16px;
  border-radius: 10px;
  border: 2px solid #d9d9d9;
  background: #fff;
  box-sizing: border-box;
  font-size: 18px;
}

/* Row 2 inputs */
.mti-idx-omnibar .idx-omnibar-extra input{
  width: 100%;
  height: 56px;
  padding: 0 16px;
  border-radius: 10px;
  border: 2px solid #d9d9d9;
  background: #fff;
  box-sizing: border-box;
  font-size: 18px;
}

/* Placeholders */
.mti-idx-omnibar input::placeholder{
  color: #777;
}

/* Hide labels visually (keep accessible for screen readers) */
.mti-idx-omnibar .idx-omnibar-extra{
  position: relative;
}

.mti-idx-omnibar .idx-omnibar-extra label{
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* "to" separator (JS inserts a real .idx-omnibar-to element) */
.mti-idx-omnibar .idx-omnibar-to{
  font-size: 18px;
  color: #666;
  white-space: nowrap;
  line-height: 1;
  padding: 0 2px;
}

/* --- Button --- */
.mti-idx-omnibar .idx-omnibar-extra-button{
  width: 100% !important;
  height: 115px;
  border-radius: 10px;
  border: 0;
  background: var(--idx-button-color, #8b2a2a);
  color: var(--idx-button-text-color, #fff);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Button text */
.mti-idx-omnibar .idx-omnibar-extra-button span{
  font-size: 34px;
  letter-spacing: 1px;
  font-weight: 700;
  text-transform: uppercase;
}

/* Hide the FA icon if it appears as weird text */
.mti-idx-omnibar .idx-omnibar-extra-button i{
  display: none !important;
}

/* --- Links under button --- */
.mti-idx-omnibar .mti-idx-omnibar-links{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.mti-idx-omnibar .mti-idx-omnibar-link{
  display: inline-block;
  text-decoration: none;
}

@media (max-width: 900px){
  .mti-idx-omnibar form.idx-omnibar-form.idx-omnibar-extra-form{
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto; /* city, row2, actions */
  }

  .mti-idx-omnibar form.idx-omnibar-form.idx-omnibar-extra-form > .mti-idx-actions{
    grid-column: 1;
    grid-row: 3;
  }

  .mti-idx-omnibar .idx-omnibar-extra-button{
    height: 64px;
  }

  .mti-idx-omnibar .idx-omnibar-extra-button span{
    font-size: 20px;
  }

  /* Make row2 wrap nicely on small screens */
  .mti-idx-omnibar form.idx-omnibar-form.idx-omnibar-extra-form > .idx-omnibar-row2{
    grid-template-columns: 1fr auto 1fr;
    grid-template-rows: auto auto;
  }

  /* Beds/Baths on second line */
  .mti-idx-omnibar .idx-omnibar-bed-container{ grid-column: 1; }
  .mti-idx-omnibar .idx-omnibar-bath-container{ grid-column: 3; }
}

/* IDX Page Wrapper Styles */

/* Inside IDX wrapper: force Font Awesome 4 */
#IDX-main .fa {
  font-family: "FontAwesome" !important;
  font-weight: normal !important;
}

.idx-results__listings {
  margin-left: 15px;
  margin-right: -25px;
}

.IDX-wrapper-standard .idx-listing-card {
  border-radius: 10px;
}

.IDX-similar-listings--item {
	margin-bottom: 15px !important;
}

.IDX-similar-listings--item-MLSLogo {
	display: inline-block;
  width: 25%;
	vertical-align: middle;
	margin-bottom: 10px;
}

.IDX-mlsSelectorRulesCourtesy {
	font-size: 0.8em;
	font-style: italic;
  display: inline-block;
  width: 75%;
	vertical-align: middle;
	margin-bottom: 10px;
	padding-left: 5px;
}

.IDX-similar-listings--item-image {
	border-radius: 15px;
}

#navigation-container .idx-nav-button {
	background-color: #8b2a2a;
}

#navigation-container .idx-nav-button:hover {
	background-color: #D83D3A;
}

.IDX-contactForm {
	border-radius: 15px;
}