/*
Theme Name: Realista
Author: Realista
Version: 1.0
Text Domain: Realista

*/
*, ::after, ::before {
    box-sizing: border-box;
}
body, div, span, ul, li, input, a, img, label, option, button, form {
	margin: 0;
    padding: 0;
}
body {
  background: #f2f2f2;
  font-family: "Inter", Arial, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: 15px;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}
h1,h2,h3,h4 {
    font-weight: 600;
}
.mobile h1 {
  font-size: 22px !important;
}
.flex-s {
	display:flex;
	justify-content: flex-start;
	align-items: center;
}
.flex-s-s {
	display:flex;
	justify-content: space-between;
	align-items: center;
}
a:not(.re-infowin), a:not(.re-infowin):hover, a:not(.re-infowin):focus, a:not(.re-infowin):active,
a:not(.re-card), a:hover:not(.re-card), a:not(.re-card):focus, a:not(.re-card):active {
    color: #000;
    text-decoration: none;
	display: flex;
    gap: 8px;
}
p, li {
    line-height: 20px;
}
a:not(.re-infowin) i {
    font-size:20px;
}
a.re-item-link i {
    font-size: 16px;
	color:#9d9d9d;
}
a:not(.re-infowin):hover {
    color: #000;
}
p a {
    display: inline !important;
    text-decoration: underline  !important;
}
ul {
    list-style-type: none;
}
input, select, button, .button {
	border: 1px solid #AAA;
    background: transparent;
    font-size: 14px;
    cursor: pointer;
    display: block;
    padding: 0 16px !important;
    border-radius: 8px !important;
    font-weight: 500;
    line-height: 40px !important;
    background-color: #FFF;
	white-space: nowrap;
	font-family: "Inter", sans-serif;
	height: 40px;

}
button, input[type="submit"] {
    display: flex;
    align-items: center;
    gap: 8px;
}
button.round, input.round {
	border-radius: 18px !important;
}
button i {
    font-size: 20px;
}

.loginBtnStyled > a:hover, 
.loginBtnStyled > a:active, 
.loginBtnStyled > a:focus,
.mainBtn:hover,
.openShare button:hover,
.wpcf7 input[type="submit"]:hover,
#update-user-form button:hover,
.re-card__btn:hover,
.re-ss-actions button:hover  {
    background-color: #2b9a92 !important;
	border-color: #2b9a92 !important;
    color: #fff !important;
}
.loginBtnStyled {
	margin-left: 24px;
    display: flex;
    align-items: center;
}
.mobile .loginBtnStyled {
	order:1;
}
.loginBtnStyled:not(.menu-item) > a {
	color: #fff;
  background-color: #008178;
  border: 1px solid #008178 !important;
  font-weight: 400;
  border-radius: 20px !important;
  padding: 8px 20px 8px 20px !important;
  display: flex !important;
  align-items: center;
}
.loginBtnStyled:not(.menu-item) > a:before{
    content: "\f007";
	font-family: 'Line Awesome Free';
    font-size: 20px;
}
.loginBtnStyled > a:hover, .loginBtnStyled > a:active, .loginBtnStyled > a:focus  {
	border-bottom: none !important;
}
.desktop .myAccount > a {
    color: #000;
    background-color: #dadada;
    border: 1px solid #979797 !important;
    font-weight: 400;
    border-radius: 20px !important;
    padding: 8px 20px 8px 20px !important;
    display: flex !important;
    align-items: center;
}
button.active {
	color: #fff;
    background-color: #008178;
    border: 1px solid #008178;
    font-weight: 400;
}
h3 {
    font-size: 24px;
}


select {
    padding: 11px 20px;
}
input {
    font-weight: 400;
}
button.noborder, .button.noborder {
	border: none;
    background: transparent;
}
.activeBtn,
.mainBtn{
    color: #fff;
    background-color: #008178 !important;
    border: 1px solid #008178 !important;
}
.btnRound {
	border-radius:24px !important;
}
.layout-h,
.layout-hv {
	display:flex; 
	flex-direction: row;
}
.mobile .layout-hv {
	flex-direction: column;
}

.layout-v,
.layout-vh {
	display:flex; 
	flex-direction: column;
}
.mobile .layout-vh {
	flex-direction: row;
}
.tabLinksWrap {
	margin:20px 0;
}
.tabLinksList {
	gap:16px;
}
.mobile .tabLinksList li {
	flex-basis: 100%;
}
.mobile .tabLinksList li button {
	width: 100%;
	justify-content: space-around;
}
.tabpanelWrap {
	position:relative;
	height:400px;
}
.tabpanel {
	gap:30px;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:400px;
}
.mobile .tabpanel {
	gap:16px;
}
.tabContent {
    border: 1px solid #ccc;
    padding: 30px;
    border-radius: 16px;
	background-color: #fff;
    flex-basis: 100%;
}
.tabContent:hover {
	background-color: #f2f2f2;
}
header.site-header { 
	height:60px; 
	display:flex; 
	justify-content: space-between; 
	align-items: center; 
	padding:0;
	background: #f2f2f2;
	position: fixed; /* Make it stick/fixed */
	top: 0; /* Stay on top */
	width: 100%; /* Full width */
	transition: top 0.3s; /* Transition effect when sliding down (and up) */
	z-index:10;
    border-bottom: 1px solid #e8e7e7;
    box-shadow: 1px 3px 5px #0000000f;
}
.home header.site-header { 
    border-bottom: none;
    box-shadow: none;
}
#page.search header.site-header { 
    border-bottom: 1px solid #dfdfdf;
    box-shadow: none;
}
.contentWidth  { 
	display:flex; 
	max-width:1400px;
	flex: 1 1 100%;
	width: 100%;
	padding: 0 30px;
	margin: 0 auto;
	position: relative;
}
.site-content  { 
	display:flex; 
	max-width:1400px;
	flex: 100%;
	width: 100%;
	padding: 0 30px;
	margin: 0 auto;
	position: relative;
	flex-direction:column;
}
.mobile-w .site-content {
  padding: 0 16px !important;
}
.footer-wrap {
	padding: 50px 0;
    background: #fff;
    margin-top: 50px;
}
.footer-wrap section {
	display:flex; 
	flex-wrap: wrap;
	justify-content: space-between;
	
}
.footer-navigation {
	display:flex; 
	flex-wrap: wrap;
}
.footer-navigation-wrapper {
	display:flex; 
	flex-wrap: wrap;
	gap:20px;
}
#page.search .contentWidth {
    max-width: 100%;
    padding: 0 30px;
}
.mobile-w .contentWidth {
    padding: 0 16px !important;
}
header.site-header > .contentWidth  { 
	display:flex; 
	justify-content: space-between; 
	align-items: center; 
}
main {
    margin-top: 60px;
	padding-top: 30px;
	display: flex;
    flex-direction: column;
}
.home main {
    margin-top: 63px;
}
#frontPage main,
#propertyPage main,
#searchPage main {
    padding-top: 0;
}
article {
   margin-top:20px;
}
.logoTop {
    background: transparent 0 0 no-repeat url(./logo2.svg);
    height: 60px;
    background-position: 0 50%;
    display: flex;
    align-items: center;
    background-size: 40px 40px;
}
.logoTop span {
    height: 60px;
    padding-left: 60px !important;
    font-size: 1.4em !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    display: flex;
    align-items: center;
}
.site-branding {
    
}
.primary-navigation {
	display:flex;
}

.menu-button-container { display:none; }
#primary-menu-list {  display:flex; }
#primary-menu-list li {
    display: flex;
   position: relative;
    margin-left: 5px;
	    align-items: center;
}
.primary-navigation a {
    padding: 21px 20px;
    display: inline-block;
    font-size: 1em;
    font-weight: 500;
    border-bottom: 3px solid transparent;
}
.primary-navigation a:hover {
    border-bottom: 3px solid #999;
}
.primary-navigation .current-menu-item a {
    border-bottom: 3px solid #222;
}
.home .primary-navigation a:hover {
    border-bottom: 3px solid #228378 !important;
}

button.sub-menu-toggle {
    border: none;
    gap: 0;
    width: 100%;
    position: absolute;
    background-color: transparent;
    /* text-align: right; */
    justify-content: end;
	padding-right: 0 !important;
}
.desktop button.sub-menu-toggle {
  display: none;
}
button.sub-menu-toggle[aria-expanded="true"] + .sub-menu {
  display: block;
}
button.sub-menu-toggle .la-chevron-circle-down,
button.sub-menu-toggle .la-chevron-circle-up {
  display: none;
}
button.sub-menu-toggle[aria-expanded="false"] .la-chevron-circle-down {
  display: block;
}
button.sub-menu-toggle[aria-expanded="true"] .la-chevron-circle-up {
  display: block;
}
.sub-menu {
	display: none; 
    position: absolute;
    left: -10px;
	background-color: #fff;
	top: 65px;
}
.mobile .sub-menu {
    left: 0;
	width: 100%;
}
.sub-menu a {
	min-width: 130px ;
    display: block ;
}
.mobile #primary-menu-list li {
    border-bottom: 1px solid #DDD;
	line-height: 30px;
}
.mobile #primary-menu-list li li {
    border-bottom: 1px solid #DDD;
	line-height: 30px;
}
.mobile #primary-menu-list li li a {
    margin-left:35px;
	padding-left:0;
	background-image:none;
}
.mobile .primary-navigation {
	height: 100vh;
    width: 0;
    position: fixed;
    z-index: 200;
    top: 0;
    right: 0;
    background-color: #05000099;
    overflow-x: hidden;
    /* padding-top: 60px; */
    /*transition: 0.2s;*/
    flex-direction: column;
    align-items: end;;
}
.mobile .primary-navigation a {
	padding: 15px 20px;
	padding-left: 40px;
	background-repeat: no-repeat;
    background-size: 24px;
    background-position: 0 center;
	width:100%;
}
.mobile .primary-navigation .current-menu-item a {
    border-bottom: none;
    font-weight: 800;
}
.mobile .menu-content > .loginBtnStyled > a {
    width: 140px !important;
}
.mobile .iconSearch  a {
	background-image: url(./assets/icons/search-solid.svg);
}
.mobile .iconCalc  a {
	background-image: url(./assets/icons/calculator-solid.svg);
}

.mobile .iconCity  a {
	background-image: url(./assets/icons/city-solid.svg);
}

.mobile .iconToolbox  a {
	background-image: url(./assets/icons/toolbox-solid.svg);
}
.mobile .iconChart a {
	background-image: url(./assets/icons/chart-pie-solid.svg);
}
.mobile .myAccount a {
	background-image: url(./assets/icons/address-card.svg);
}
.mobile .iconContact a {
	background-image: url(./assets/icons/envelope-open-text-solid.svg);
}
.mobile .iconValuate a {
	background-image: url(./assets/icons/comment-dollar-solid.svg);
}
.mobile .menu-item.accountBtn a {
	background-image: url(./assets/icons/id-card.svg);
}


.mobile .primary-navigation.openMenu {
  width: 100vw;
}
.menu-content {
    display: flex;
}
.mobile .menu-content {
    display: flex;
	transition: 0.2s;
    width: 100%;
	padding-top: 20px;
    max-width: 300px;
    flex-direction: column;
    background: #fff;
    height: 100vh;
	 position: absolute;
    z-index: 200;
    top: 0;
    right: -100%;
    overflow-x: hidden;
}
.mobile .openMenu .menu-content {
	right: 0;
}
.site-header button.openClose {
        width: 40px;
    height: 40px;
    position: absolute;
        right: 20px;
    top: 10px;
    justify-content: center;
    display: none;
    align-items: center;
    padding: 0 !important;
    border-radius: 20px !important;
}
.mobile .site-header button.openClose {
    display: flex;
}

.mobile .primary-menu-container {
  order:2;
}
.mobile #primary-menu-list {
  color:#fff;
  flex-direction: column;
  margin:20px;
  border-top: 1px solid #DDD;
}
.mobile .menu-button-container  {
	display:block;
}
.dropdown-icon.close {
	display:none;
}
.mobile #reS-layout {
    padding: 10px 16px 10px 16px;
}
.mobile .dropdown-icon.close {
	display:block;
}

.mobile-w #reS-panels {
    padding: 10px;
}
.mobile-w #reS-listpanel {
    padding-right: 0;
}

.contentPanelVert {
    display: flex;
    flex-direction: column;
}

/* Wrapper for positioning */
.custom-select-wrapper {
  position: relative;
  display: inline-block;
}

.homeSection {
	display: flex;
    flex-direction: column;
	margin:50px 0 20px 0;
}
.homeSection h1 {
	font-size:24px;
	margin:5px 0 0 0;
}
.homeSection p {
	margin:5px 0 10px 0;
}
/* Custom chevron pointing down by default */
/*
.custom-select-wrapper::after {
  content: "▼";
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  transition: transform 0.2s ease; 
  pointer-events: none;
}
*/
.homeBanner {
	    background-image: url(./assets/images/home6.jpg);
    height: 50vh;
    min-height: 300px;
    background-size: cover;
    background-position: center center; 
    background-repeat: no-repeat;
    background-color: #656464;
    /*background-blend-mode: overlay;*/
	display: flex;
    align-items: end;
}
.homeBannerForm {
	margin-bottom: 10vh;
    flex-direction: row;
}
.homeBannerForm h1 {
    color: #fff;
}
.mobile .homeBannerForm h1 {
    font-size: 23px;
}
.mobile .homeBanner {
    height: 30vh;
    min-height: 100px;
}

.mobile .homeBannerForm {
	margin-bottom: 2vh;
}
.remap-compact-field {
	display: flex;
    width: 100%;
	max-width: 500px;
    flex-wrap: wrap;
	position: relative;
}
.remap-compact-field input {
    flex-basis: 100%;
	height: 50px;
}
.remap-compact-field button {
	position: absolute;
    right: 3px;
    border-radius: 8px !important;
    width: 44px;
    height: 44px;
    top: 3px;
    padding: 6px !important;
    z-index: 1;
    justify-content: center;
}
.remap-compact-field label {
    flex-basis: 100%;
    margin-top: 20px;
    color: #fff;
}
.iconRight.la-angle-down::before {
  content: none;
}
.iconRight.la-angle-down::after {
  content: "\f107";
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  transition: transform 0.2s ease; 
  pointer-events: none;

}
.show > button > .iconRight.la-angle-down::after {
  transform: translateY(-50%) rotate(180deg);

}
/* When the wrapper has the 'open' class, rotate the chevron 180 degrees */
.custom-select-wrapper.open::after {
  transform: translateY(-50%) rotate(180deg);
}

/* Style the select element and hide the default arrow */
.custom-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #fff;
  padding: 0 30px 0 12px !important;
  cursor: pointer;
}

#reS-type {
	min-width:145px;
}
#priceField {
	min-width:210px;
}
#bedBathField {
	min-width:190px;
}
.mobile-w #bedBathField {
    margin-bottom: 16px;
}
#reS-status {
	min-width:100px;
}

.mobile #reS-form, .mobile #rsf-form {
    position: relative;
    flex-basis: 150%;
}
.mobile-w #searchField {
    flex-basis: 150%;
}
.mobile #reS-address {
	min-width:100%;
}

.sliderWrap {
	position:relative;
}
.slideControls  > a {
	position: absolute;
	top: 30%;
	outline: 0;
	width: 48px;
	height: 48px;
	text-indent: -9999px;
	z-index: 1;
	border-radius: 20px;
    background-color: #05b6af;
    background-repeat: no-repeat;
    background-position: 60% center;
    background-size: 50% 50%;
	overflow: hidden;
	
}
.slideControls  > .slidePrev {
	left: -10px;
	background-image: url(./assets/images/chevron.svg);
	transform: rotate(180deg);
}

.slideControls  > .slideNext {
	right:-10px;
	background-image: url(./assets/images/chevron.svg);
}

.slideControls  > .slidePrev:hover,
.slideControls  > .slideNext:hover {
	box-shadow: 0.5px 0.5px 8px #33333373;
	background-size: 55% 55%;
}
.lSSlideOuter .lSPager.lSpg > li:hover a, .lSSlideOuter .lSPager.lSpg > li.active a {
    background-color: #2b9a92 !important;
}
.re-sticky { height:50px; }


#page.search .site-content { height: calc( 100vh - 100px ); }
#page.search .wp-block-post-title { display:none; }
#page.search .site-footer { display:none }
.remap-cluster{ background:#0ea5e9; } 
.re-panel {
    display: flex;
    flex-direction: column;
}
#reS-listpanel {
	flex: 50%;
	height: 100%;
	overflow-y: auto;
	padding-right:16px;
}
#reS-results { 
	position: relative;
	min-height:300px;
}
.mode-list #reS-results { 
	min-height:auto;
}
/* List item cards */
.cardWrapperGrid {
	display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.city-item {

	background-size: cover;
	background-position: center center;
	border-radius: 10px;
}
.city1 {
	background-image:url(./assets/images/city1.jpg);
}
.city2 {
	background-image:url(./assets/images/city2.jpg);
}
.city3 {
	background-image:url(./assets/images/city3.jpg);
}
.city4 {
	background-image:url(./assets/images/city4.jpg);
}
a.city-item-link {
	color:#fff !important;
	align-items: flex-end;
    justify-content: center;
	min-height:350px;
	transition: all 0.3s ease-in-out;
	text-shadow: 0 0 10px #000000;
	border-radius: 10px;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 70%, rgba(0, 0, 0, 0.4) 80%, rgba(0, 0, 0, 0.6) 100%);
}
.mobile a.city-item-link {
	min-height:170px;
}
	
.city-item:hover a.city-item-link {   
	background:none;
	background-color:#228378;
	text-shadow: none;
}
.city-item-info {
    display: flex;
    flex-direction: column;
	margin-bottom: 30px;
}
.city-item-info h2 {
    margin-bottom: 0;
}
.city-item-info p {
    border-top: 1px solid #ffffffb5;
    padding-top: 5px;
}
.city-item-info p.seeall {
    border-top: none;
    font-size: 12px;
    font-weight: 600;
	display:none;
}
.city-item:hover p.seeall {
	display:block;
}


.cardWrapperGridWidth {
	display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
	margin-top:20px;
}
.mode-list .cardWrapperGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.re-item { 
	display:flex; 
	flex-direction: column;  
	flex-basis: 25%; 
	position: relative;
	/*background: #fff;*/
    border-radius: 10px;
	padding: 8px;
}

.re-item a.re-item-link { 
	position: relative;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: #222;
    width: 100%;
    box-shadow: 0px 2px 8px #1d1d1d1c;
    border-radius: 10px;
    background-color: #fff;

}
.re-item.loginReq a::after,
a.re-infowin.loginReq::after,
.valuation .loginReq::after  { 
	content:"Log in required";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
    border: 1px solid #333;
	border-radius: 10px;
	padding:16px;
	cursor:pointer;
}
a.re-infowin.loginReq::after  { 
	top: 30%;
    transform: translate(-50%, -50%);
    padding: 10px;
    left: 50%;
    white-space: nowrap;
    font-size: 14px;
}

.re-thumb { 
	width:100%; 
	height:250px; 
	border-radius: 8px 8px 0 0;
	background-image:url(./assets/images/blankHouse.png);
	background-color: rgb(75 75 75) !important;
	background-blend-mode: overlay; 
	background-size: cover;
	overflow: hidden; 
}
.re-item--mini .re-thumb { 
	height:170px; 
}
.re-thumb img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    border-radius: 10px 10px 0 0;
	transition: transform 0.4s ease;
}
a:hover .re-thumb img {
  transform: scale(1.05); 
}
.meta-status {
    position: absolute;
        top: -242px;
    left: 10px;
    color: #fff;
    background: #89a843;
    padding: 8px 15px;
    border-radius: 20px;
    font-size: 12px;
}
.re-item--mini .meta-status {
    top: -165px;
}

.Sold .meta-status,
.Sold .popStatus {
    background: #dea325;
	filter: none;
}
.Coming .meta-status,
.Coming .popStatus {
    background: #a8438f;
	filter: none;
}

.re-item-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
    position: relative;
    padding: 10px 20px 20px 20px;
}
.re-price-badge {
    font-weight: 600;
    font-size: 1.3em;
}
.re-date-line {
    font-size: 12px;
}
.re-address-badge {
        overflow: hidden;
    white-space: nowrap;
	margin-bottom: 10px;
}
.meta-bdr-bth > span {
    background: #edecec;
    border-radius: 24px;
    display: flex;
    align-content: center;
    align-items: center;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 10px 12px;
    font-size: 12px;
}
.re-meta-line { 
	display:flex;
 }
.re-meta-line i {
    margin-right: 3px;
}
.meta-bdr-bth {
    font-weight: 600;
	display: flex;
	gap:10px;
}
 .two-col-line {
    display: flex;
    justify-content: space-between;
	align-items: center;
}
.re-type-line {
	white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
	
}
.desktop .re-item--mini .re-type-line {
	display:none;
	
}
.re-mlsbr-line {
    text-transform: uppercase;
    color: #999;
	justify-content: left !important;
	font-size: 12px;
    margin-top: 3px;
}
.re-mlsbr-line div {
    margin-right:20px;
	white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.re-btn-line {
    display: flex;
}
.re-fav {
    position: absolute;
    right: 20px;
    top: 20px;
    width: 30px;
    height: 30px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
	color: #2283786b !important;
}
.re-fav:hover {
	color: #228378 !important;
}
.re-fav.added {
    color: #fff !important;
    background: #2b9a92 !important;
}
.meta-bdr {

}
.switch {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 22px;
  left:10px;
}
#switchMap {
    margin-left: auto;
}
#switchMap label {
    display: flex;
	
}

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 2px;
  bottom: 3px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #008178;
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
  -webkit-transform: translateX(19px);
  -ms-transform: translateX(19px);
  transform: translateX(19px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

/* Messages */
.re-muted { color:#6b7280; }
.re-error { color:#b91c1c; }



.popover {
  display: none; /* Hidden by default */
  position: fixed; /* Stays in place relative to the viewport */
  top: 20px;
  left: 50%;
  transform: translateX(-50%); /* Centers horizontally */
  padding: 15px 25px;
  border-radius: 5px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  z-index: 1000; /* Ensures it's above other content */
}

.popover.success {
  background-color: #d4edda; /* Light green */
  color: #155724; /* Dark green */
  border: 1px solid #c3e6cb;
}

.popover.error {
  background-color: #f8d7da; /* Light red */
  color: #721c24; /* Dark red */
  border: 1px solid #f5c6cb;
}

.close-button {
  position: absolute;
  top: 5px;
  right: 10px;
  font-size: 20px;
  cursor: pointer;
  line-height: 1;
}

.close-button:hover {
  color: #000;
}

.twoCols {
	display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.twoColsItem,
.itemRow {
    display: flex;
    flex-basis: calc(50% - 10px);
    gap: 3px;
    justify-content: left;
    padding: 5px 0 15px 0;
	align-items: center;
}
.twoColsItem {
    padding: 0;
}
.twoColsItem span:nth-child(2) {
    width:160px;
}
.itemRow {
    border-bottom: 1px solid #ccc;
}
.itemRow:nth-child(even) {
    flex-basis: calc(50% - 30px);
    margin-left:20px;
}
.mobile-w .itemRow,
.mobile-w .twoColsItem {
    flex-basis: 100%;
	 margin-left:0;
}



#popupOverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Dim background */
  display: none; /* Hidden by default */
  justify-content: center;
  align-items: center;
  z-index: 9999; /* Ensure it's on top */
}
#popupHead {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#popupContent {
  background-color: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  text-align: center;
}
.bottomDrawer {
	display:flex;
	position: fixed;
    bottom: -2px;
    width: 100%;
    z-index: 1;
    padding: 16px;
    background: transparent;
}
.mobile-w .bottomDrawer {
	display:flex;
	position: fixed;
    bottom: -2px;
    width: 100%;
    z-index: 1;
    padding: 16px;
    background: #fff;
	border-top: 1px solid #e8e7e7;
    box-shadow: 1px -3px 5px #0000000f;

}
.bottomDrawerWrap {
	max-width: 1340px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: end ;
	gap: 40px;
}
.desktop .bottomDrawerLeft {
    background-color: #f2f2f2;
    padding: 20px 20px 20px 20px;
    border-radius: 40px 0 0 40px;
    box-shadow: -5px 0 5px #a7a6a630;
    background-blend-mode: revert;
}
.mobile-w .bottomDrawerWrap {
    justify-content: space-between;
}
.bottomDrawer button {
	line-height:30px;
	width: 100%;
    justify-content: center;
}
button.round {
	width: 40px;
	height: 40px;
    border-radius: 20px !important;
}
.bottomDrawerRight {
	display:none;
}
.mobile-w .bottomDrawerRight {
	display: flex;
	flex:2;
}
.mobile-h .bottomDrawerRight {
	display: flex;
}

.bottomDrawerControl {
    display: flex;
    gap: 40px;
    background: #fff;
    max-width: 500px;
    padding: 8px;
    border-radius: 8px;
}

@media only screen and (max-width : 1980px) {
	.cardWrapperGrid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.mode-list .cardWrapperGrid	{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.cardWrapperGridWidth	{
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
@media only screen and (max-width : 1280px) {

	.cardWrapperGrid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	.mode-list .cardWrapperGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.cardWrapperGridWidth {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	#reS-listpanel {
		flex: 30%;
	}
	#reS-mappanel {
		flex: 70%;
	}
}
@media only screen and (max-width : 900px) {
	.cardWrapperGrid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	.mode-list .cardWrapperGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.cardWrapperGridWidth {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	#reS-listpanel {
		flex: 50%;
	}
	#reS-mappanel {
		flex: 50%;
	}
}
@media only screen and (max-width : 680px) {
	.mode-list .cardWrapperGrid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	#reS-listpanel {
		display:block;
	}
	#reS-mappanel {
		display:none;
	}
	.cardWrapperGridWidth {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	.mainPanel {
		padding-right: 0 !important;
	}
	.bottomDrawer {
		display: flex;
	}
}
.srOnly {
	position:absolute;
	left:-10000px;
	top:auto;
	width:1px;
	height:1px;
	overflow:hidden;
}

.multyFieldBody label {
	font-weight: 600;
}
.mobile-w .multyFieldBody label.srOnly {
	position:static;
	width:auto;
	height:auto;
}
#priceField .remap-sf-field {
	display:none;
}
/* search.css  */



#page.search h1,
#page.search .entry-header {
	display:none;
}

/* ========== Search Page (IDs: reS-*) ========== */
.filterElBtn {
    background: #333;
    color: #fff;
}
.filterElBtn:hover {
    background: #000;
    color: #fff;
}

.multyField {
    position: relative;
}
.multyFieldTitle {
	white-space: nowrap;

}
.titleText {
    margin-right: 5px;
}
.la-sliders-h {
    font-size: 24px;
	width:15px;
 }
 
.la-sliders-h:before {
    content: "\f1de";
    position: absolute;
    width: 20px;
    top: 10px;
    left: 12px;
}
.mainSearchGroup {
    width: 100%;
    display: flex;
    gap: 6px;
}

.multyFieldBody {
	display: none;
	position: absolute;
    padding: 0;
    background: #fff;
    z-index: 20;
    top: 50px;
    border: 1px solid #cccaca;
    border-radius: 8px;
    box-shadow: 0 5px 10px #00000021;
}
.multyField.show .multyFieldBody {
	padding: 20px 20px 80px 20px;
}

#moreFiltersField > .multyFieldBody {
    right: -300px;
	width: 500px;
}
.multyFieldBody h4 span {
    font-size: 14px;
    font-weight: 400;
}

.custom-select-wrapper:hover select {
	background:#f4fffe;
	border: 1px solid #008178;
    color: #008178;
}

.mainSearchGroup .filterEl:hover {
	background:#f4fffe;
	border: 1px solid #008178;
    color: #008178;
}
.filtersGrid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
	justify-content: space-between;
}
.remap-filter-field {
    flex: 0 0 calc(50% - 20px); 
}
.mobile-w .remap-filter-field {
    flex:100%;
}
.reS-range-row {
    display: flex;
    /* flex-wrap: nowrap; */
    /* justify-content: space-between; */
    gap: 10px;
    margin-top: 10px;
	align-items: center;
}
.reS-range-row input {
    flex: 0 0 calc(50% - 20px) !important; 
    width: 70px;
    display: flex; 
}
#slider {
    margin: 60px 16px 40px 16px;
}
.sliderInfo {
    display: flex;
    justify-content: center;
    gap: 30px;
}
.multyFieldBottom {
    margin: 20px 0 0 0;
    display: flex;
    justify-content: flex-end;
    gap: 20px;
	height: 60px;
    background: #eee;
    padding: 10px;
    justify-content: center;
    width: 100%;
    margin-left: -20px;
    margin-right: -20px;
    border-radius: 0 0 8px 8px;
}
.multyFieldBody > .multyFieldBottom,
.multyField.show .multyFieldBottom {
	position: absolute;
    bottom: 0;
}

.show .multyFieldBody {display: block;}
.radioNum {
	width:350px;
	display:flex;
	flex-wrap: wrap;
    gap:6px;
}
.radioNum label {
    display: flex;
    background: #eee;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0;
    justify-content: center;
	border-radius: 8px;
}

.radioNum label:first-child {
    flex-grow: 1.5;
}
.radioNum input {
	width: 0;
    height: 0;
    opacity: 0;
}
.radioNum div {
    min-width: 20px;
    height: 35px;
    line-height: 35px;
    text-align: center;
	cursor:pointer;
}
.radioNum .selected {
    background-color: #3cb9ac;
	color:#FFF;
}


/* Sticky search bar at top (under WP nav) */
#reS-sticky { position: sticky; top: 0; z-index: 20; background: #fff; padding: 10px 30px; border-bottom: 1px solid #e5e7eb; }
#reS-searchbar { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
#reS-form, #rsf-form { display:flex; gap:8px; }
#reS-form input {  }
.re-reset { background:#fff; border:1px solid #d1d5db; border-radius:6px; padding:6px 12px; cursor:pointer; }
#reS-layout { 
	display: flex;
    gap: 36px;
    align-items: center;
    padding: 16px 30px 16px 30px;
    border-bottom: 1px solid #e8e7e7;
    box-shadow: 1px 3px 5px #0000000f;
}
.mobile #reS-layout { 
    gap: 12px;
}

#reS-min, #reS-max, #reS-beds, #reS-baths { 
	width:90px;
}

/* Panels wrapper: full width with 30px padding */

/* Left results panel */
.re-results-sort {
	height:50px;
	display:flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 5px;
}

/* Pagination */
#reS-pagination { border-top:1px solid #e5e7eb; padding:30px 0; display:flex; justify-content:space-between; align-items:center; }
.re-pagenav { display:flex; gap:6px; flex-wrap:wrap; }
.re-page { border:1px solid #d1d5db; background:#fff; border-radius:6px; padding:6px 10px; cursor:pointer; }
.re-page.active { border-color:#2563eb; box-shadow:0 0 0 2px #2563eb22 inset; }
.re-page[disabled] { opacity:.5; cursor:not-allowed; }
.re-page-info {  }

/* Right map panel */

/* Search layout container heights */
#reS-panels {
  display: flex;
  flex-direction: row;
  gap: 20px;
  padding: 20px 30px;
  height:  calc( 100vh - 150px );
  box-sizing: border-box;
}

/* Map panel + canvas must have height */
#reS-mappanel {
  flex: 1 1 50%;
  min-width: 200px;
  min-height: 200px;
  display: flex;
  height: 100%;
}
#reS-mapwrap { flex:1 1 auto; min-width: 500px; display:flex; }
#reS-mapcanvas {
  flex: 1 1 auto;
  width: 100%;
  height: 100%; 
  min-height: 200px; border:1px solid #e5e7eb; border-radius:10px;
}

#reS-panels.mode-list #reS-listpanel {
    display: flex;
    flex: 100%;
    max-width: none;
    flex-direction: column;
}

#reS-panels.mode-list  #reS-mappanel  { display:none; }

.mobile-w #reS-panels.mode-both  #reS-mappanel    { 
	flex: 1 1 100%;
}
.mobile-w #reS-panels.mode-both  #reS-listpanel    { 
	display:none;
}


/* === REMAP: Popover visual styles (no inline) === */
.re-popover {
      position: absolute;
    transform: translate(-50%, -100%);
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    pointer-events: auto;
    z-index: 100;
    width: 250px;
}
.re-popover::after {
	content: " ";
    display: block;
    position: absolute;
    bottom: -4px;
    left: 50%;
    margin-left: -5px;
    width: 9px;
    height: 9px;
    background: #fff;
    -ms-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
	z-index: 1001;
}
.re-infowin {
	display: block !important;
    min-width: 250px;
    max-width: 250px;
    text-decoration: none;
    color: inherit;
}
.popWrap {
	display: flex;
    gap: 8px;
    flex-direction: column;
}
.popImage {
	width: 100%;
    height: 170px;
    background: #ddd center / cover;
    border-radius: 6px 6px 0 0;
	background-image:url(./assets/images/blankHouse.png);
	background-color: rgb(75 75 75) !important;
	background-blend-mode: overlay; 
}
.popInfoWrap {
	padding:0 16px;
}
.popInfoWrap *{
	font-size:14px;
}
.remap-infobox .re-meta-line {
	gap:15px;
	margin-bottom: 5px;
}
.popDate {
    font-size: 11px;
    margin-bottom: 5px;
}
.popPrice {
    font-weight: 600;
    font-size: 16px;
	margin-bottom: 5px;
}
.popBroker, .popAddress {
    overflow: hidden;
    white-space: nowrap;
}
.popBroker{
        color: #7f7e7e;
}
.popMLS, .popBroker {
    font-size:12px
}
.popStatus {
    position: absolute;
    top: 130px;
    right: 10px;
    color: #fff;
    background: #1bb7ac;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 12px;
}
.re-thumb,
.popImage,
.popDate,
.popAddress,
.re-meta-line,
.re-address-badge,
.re-mlsbr-line,
.re-price-badge,
.re-date-line,
.popBroker {
	
}
.loginReq .re-thumb,
.loginReq  .popImage,
.loginReq  .popDate,
.loginReq  .popPrice,
.loginReq  .popAddress,
.loginReq  .re-meta-line,
.loginReq  .re-address-badge,
.loginReq  .re-mlsbr-line,
.loginReq  .re-price-badge,
.loginReq  .re-date-line,
.loginReq  .popBroker, 
.loginReq  .re-broker{
	filter: blur(5px);
}
/* Smart InfoBox */
.remap-infobox{ position:absolute; display:none; pointer-events:none; }
.remap-infobox-inner{ width:250px; height:300px; overflow:auto; background:#fff; color:#111827; border-radius:10px; padding:0;
  box-shadow:0 8px 24px rgba(0,0,0,.18), 0 2px 6px rgba(0,0,0,.12); pointer-events:auto; }
.remap-infobox-arrow{ width:0;height:0; position:absolute; border:10px solid transparent; }
.remap-infobox.side-top .remap-infobox-arrow{ top:100%; border-top-color:#fff; border-bottom:none; left:50%; transform:translateX(-50%); }
.remap-infobox.side-bottom .remap-infobox-arrow{ bottom:100%; border-bottom-color:#fff; border-top:none; left:50%; transform:translateX(-50%); }
.remap-infobox.side-right .remap-infobox-arrow{ right:100%; border-right-color:#fff; border-left:none; top:50%; transform:translateY(-50%); }
.remap-infobox.side-left .remap-infobox-arrow{ left:100%; border-left-color:#fff; border-right:none; top:50%; transform:translateY(-50%); }


.reS-field.reS-status{min-width:180px}


/* === Repliers cluster bubble (AdvancedMarker mode) === */
.remap-cluster{
  width:44px;height:44px;border-radius:22px;
  background:#0ea5e9; color:#fff; display:flex;
  align-items:center; justify-content:center;
  font-weight:600; font-size:14px;
  box-shadow:0 1px 6px rgba(0,0,0,.35);
  cursor:pointer;
}
.remap-cluster-count{ line-height:1; transform: translateY(-1px); }

.multyCol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.mobile-w .multyCol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.multyCol li {
    display: flex;
    flex-direction: column;
    flex-basis: 25%;

}
.multyCol li a {
    display: flex;
    position: relative;
    background: #fff;
    padding: 0 20px;
	line-height:60px;
    border-radius: 10px;
}

/* tooltip */
@-webkit-keyframes tooltipFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes tooltipFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}


.tooltip {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  margin-top: 15px;
}

.tooltip__label:before {
  content: "";
  display: flex;
  cursor: help;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 3;
}

.tooltip-dropdown {
  display: none;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  padding-top: 32px;
}

.tooltip-dropdown__content {
  color: white;
  background-color: black;
  border-radius: 4px;
  padding: 8px 12px;
  width: 300px;
  text-align: left;
}

.tooltip--open .tooltip-dropdown {
  -webkit-animation: tooltipFadeIn 0.15s;
          animation: tooltipFadeIn 0.15s;
  display: block;
}

@media (hover: hover) {
  .tooltip:hover .tooltip-dropdown {
    -webkit-animation: tooltipFadeIn 0.15s;
            animation: tooltipFadeIn 0.15s;
    display: block;
  }
}

#universal-tooltip {
    /* Existing desktop styles (these act as default styles) */
    position: absolute;
    background-color: #fff;
    color: #333;
    padding: 30px;
    border-radius: 10px;
    font-size: 14px;
    z-index: 1000;
    pointer-events: none;
    max-width: 400px; /* Default desktop max-width */
    opacity: 0;
    transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
    transform: translateY(0); /* Add transform for mobile transition */
	line-height: 20px;
	box-shadow: 0 0 15px #0606062b;
}

#universal-tooltip.visible {
    opacity: 1;
}

@media (max-width: 600px) {
    #universal-tooltip {
        left: 16px !important;       
        right: 16px !important;
        width: calc( 100vw - 32px );             
        max-width: calc( 100vw - 32px );          
        border-radius: 0;         
        padding: 20px 20px;
        box-sizing: border-box;    
        transform: translateY(100%); 
    }

    #universal-tooltip.visible {
        opacity: 1;
        transform: translateY(0); 
    }
}

.rps-result-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 100000;
    background: #FFF;
    opacity: 0.9;
    left: 0;
    top: 0;
    display: flex;
    justify-content: center;
}
.rps-result-overlay p {
    color: #2b9a92;
    top: 50px;
    font-size: 5.5rem;
    text-align: center;
	
}
.needMoreFooter {
    margin: 50px 0;
}
.needMoreFooter .contentPanel {
    gap: 20px;
}
.nm1 {
    flex-basis: 50%;
    background: #CCC;
    padding: 10px 30px ;
    justify-content: space-between;
}
.nm1 .agentInfo {
    background-color: #CCC;
	margin-bottom: 0;
}

.nm2,
.nm3 {
    flex-basis: 25%;
    padding: 10px 30px;
	justify-content: space-between;
    color: #fff !important;
	background-color: #555;
	background-size: cover !important;
	background-position: 50% 50%;
	text-shadow: 0 0 5px #00000094;
	
}
.nm1:hover {
    color: #000  !important;
	background-color: #d4d4d4 !important;
	transition: all 0.3s ease-in-out;
}
.nm2:hover,
.nm3:hover {
    color: #fff;
	background-blend-mode: overlay;
	transition: all 0.8s ease-in-out;
}
.nm2:active, .nm2:focus,
.nm3:active, .nm3:focus {
    color: #fff !important;
}
.nm2 {
	background-image: url(./assets/images/home6.png);
}
.nm3 {
	background-image: url(./assets/images/home5.jpg);
}
.nm1 h3,
.nm2 h3,
.nm3 h3 {
    display: flex;
    flex-direction: column;
	position: relative;
}
.mobile .nm1 h3 {
  font-size: 20px;
}
.nm1 h3 {
    margin-top:0;
}
.nm2 h3 span,
.nm3 h3 span {
    font-size: 12px;
}
.nm1 i,
.nm2 i,
.nm3 i {
    position: absolute;
    right: 0;
    bottom: 0px;
    font-size: 34px  !important;
}
.re-props-table {
	display: flex;
    flex-direction: column;
    gap: 16px;
	max-width:1100px;
	margin-bottom: 80px
}
.mobile .re-props-table {
    gap: 26px;
	flex-direction: row;
    flex-wrap: wrap;
}
.favBtnGroup {
	flex-direction: row;
	  display: flex;
	  gap: 10px;
	      padding-right: 24px;
}
.re-props-table .re-item,
.re-props-table .re-item .re-item-link {
    flex-direction: row !important;
	gap:18px;
	align-items: center;
	background-color:transparent !important;
	box-shadow: none !important;
}
.mobile-w .re-props-table .re-item,
.mobile-w .re-props-table .re-item .re-item-link {
    flex-direction: column !important;
	align-items: flex-start;
}
.mobile-w .re-props-table .re-item{
	    width: 100%;
    min-width: 375px;
}
.mobile-w .re-props-table .re-thumb {
    width: 100%;
}
.re-props-table .re-item-info {
    padding: 0;
}
.mobile-w .re-props-table .re-item-info {
    
}

.re-props-table .re-item:hover {
    background-color:#ebebeb !important;
}
.re-props-table .re-thumb {
    width: 250px;
    height: 150px;
    border-radius: 8px;
	background-blend-mode: normal;
}
.re-item-table {
	border-top: 1px solid #999;
}
.re-ss-title {
	margin-bottom:5px;
}
.re-item-table .re-ss-params {
	display: flex;
    gap: 8px;
    margin: 20px 0;
}
.mobile .re-item-table .re-ss-params {
    flex-direction: column;
    width: 100%;
	margin-bottom: 5px;
}

.re-item-table .re-ss-actions {
	display: flex;
    gap: 8px;
    margin: 20px 0;
	min-width:200px;
}
.mobile .re-item-table .re-ss-actions {
    margin: 0;
}

.re-item-table  .re-ss-params > div {
	background: #e2e2e2;
    display: flex;
    padding: 16px 24px;
    flex-direction: column;
    gap: 12px;
	text-transform: uppercase;
    font-size: 12px;
}
.mobile .re-item-table  .re-ss-params > div {
    flex-direction: row;
    justify-content: space-between;
}
.re-item-table  .re-ss-params > div > span {
	display:block;
	font-weight:600;
	font-size: 16px;
    text-transform: none;
}
.socialShare {
	position:relative;
}
.socialShareLinks  {
	position: absolute;
    z-index: 10;
    left: -95px;
    width: 300px;
    padding: 30px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 5px 10px #0000004d;
}
.socialShare.openShare .socialShareLinks  {
	display:block !important;
}
.simplesocialbuttons button {
	width: 110px;
    padding-left: 30px !important;
}	
.socialShareLinks h4 {
    margin-top: 0 !important;
}
div#cookie-notice {
    position: fixed;
    min-width: 100%;
    height: auto;
    z-index: 100000;
    letter-spacing: 0;
    line-height: 20px;
    left: calc( 50% - 250px );
    bottom: 0;
    width: 440px;
    min-width: 309px;
    border-radius: 8px;
    margin: 30px;
    font-size: 14px;
    font-weight: 300;
    text-align: left;
    padding: 16px 24px;
    border: none !important;
    box-shadow: 0 2px 9px rgb(94 94 94 / 27%);
    background: linear-gradient(-114deg, #039786 0, #346b65 50%, #228378 100%) !important;
  color: #fff;
    color: #fff;
    display: flex;
	gap:24px;
}
.mobile-w div#cookie-notice {
    width: 90vw;
	gap:16px;
}
div#cookie-notice a {
	display: inline-flex;
    text-decoration: underline;
    color: #fff;
}
.compliance {
  margin-top: 16px;
  text-align: center;
  display: flex;
  justify-content: center;
}
.wpcf7-form {
    position:relative;
}
.wpcf7 label {
    margin-bottom: 12px;
    display: block;
}

.desktop .valuation .wpcf7 label {
  margin-bottom: 8px;
  display: block;
  flex: 1 1 50%;
  width: 50%;
  padding: 0px 5px;
}

.wpcf7 input, .wpcf7 textarea {
    margin: 5px 0;
    width: 100%;
    border: 1px solid #999898;
    border-radius: 5px !important;
	    margin-top: -7px;
}
.wpcf7 textarea {
    height: 95px !important;
    width: 100%;
    padding: 10px;
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-size: 15px;
    line-height: 20px;
}
.valuation .wpcf7 textarea {
    height: 60px !important;
}
.wpcf7 p {
    margin:0;
}
.desktop .valuation .wpcf7 p {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}
.wpcf7 br {
    display:none;
}
.wpcf7 input[type="submit"],
#update-user-form button {
    width: 100% !important;
    margin: 10px 0;
    color: #fff !important;
    background-color: #008178 !important;
    border: 1px solid #008178 !important;
    justify-content: center !important;
	border-radius: 24px !important;
}
.wpcf7 label span:first-child {
    display: inline-block;
    background: #fff;
    padding: 0 10px;
    position: relative;
    z-index: 1;
    margin-left: 10px;
    font-size: 14px;
}
.wpcf7-not-valid-tip {
    margin-bottom: 0px;
	font-size: 11px;
	line-height: 12px;
}
input:has(+ .wpcf7-not-valid-tip) {
  border-color: red; /* Turns "Before" red */
}
form.submitting .wpcf7-spinner {
	visibility: visible;
	position:absolute;
}
form.submitting .wpcf7-spinner {
    visibility: visible;
    position: absolute;
    width: 100%;
    left: 0;
    margin: 0;
    height: 100%;
    top: 0;
    border-radius: unset;
    z-index: 20;
	background-color: #fff;
    opacity: 0.85;
}
.wpcf7-spinner::before {
    content: '';
    position: absolute;
    background-color: #fbfbfc;
    top: calc( 50% - 15px );
    left: calc( 50% - 15px );
    width: 30px;
    height: 30px;
    border: none;
    transform-origin: 8px 8px;
    animation-name: none;
    background-image: url(./assets/images/submit-spin.svg);
}
.hiddenField {
	display:none !important;
}
.wpcf7 form .wpcf7-response-output {
	  position: absolute;
  bottom: 0;
  background: #008178;
  width: 100%;
  height: 60px;
  z-index: 5;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  color: #fff;
  border: none;
    /* Initially hidden */
    opacity: 0;
    visibility: hidden;
    /* Apply the animation */
    animation: show-hide 3s forwards; 

}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  background: #ed982b;
}

@keyframes show-hide {
    0% {
        opacity: 0;
        visibility: hidden;
    }
    10% { /* Becomes visible quickly */
        opacity: 1;
        visibility: visible;
    }
    90% { /* Stays visible until here (from 10% to 90% is 2 seconds of a 3s animation) */
        opacity: 1;
        visibility: visible;
    }
    100% { /* Hides quickly at the end */
        opacity: 0;
        display: none;
    }
}

body.noscroll,
body.xoo-el-popup-active, 
body.xoo-el-popup-notice-active {
    overflow-y: hidden !important;
}
.xoo-el-single-btn {
	background: #2b9a92 !important;
	color: #fff !important;
	max-width: 100%;
	width: 100% !important;
}
.nsl-container-buttons {
	display: flex;
	flex-direction: column;
	gap:5px;
}
div.nsl-container-block .nsl-container-buttons a {
	display: flex;
	width: 100%;
}	

.nsl-button-default {
	color: #fff;
	display: flex;
	flex: 0 0 100%;
	align-items: center;
	padding: 5px;
	justify-content: center;
	border-radius: 8px;
}	
div.nsl-container .nsl-button-google[data-skin="light"] {
	box-shadow: inset 0 0 0 1px #747775;
	color: #1f1f1f;
}

#withEmail {
	margin-bottom:16px;
}
#nnfp-page-login {
	height: 0;
	overflow: hidden;
	transition: height 0.5s ease-in-out;
}
#nnfp-page-login.show {
	height: 140px;
}
#withEmail .nsl-button-email {
	color: #1f1f1f;
	box-shadow: inset 0 0 0 1px #747775;
	border-radius: 4px;
}
#withEmail .nsl-button-svg-container {
  flex: 0 0 auto;
  padding: 8px 8px 8px 0;
  display: flex;
  align-items: center;
}
.SocialSeparator {
	color: #b5b5b5;
	font-size: .875rem;
	display: flex;
	align-items: center;
	text-align: center;
	padding-top: .875rem;
	padding-bottom: .875rem;
}	
.SocialSeparator:after, .SocialSeparator:before {
	content: "";
	flex: 1;
	border-bottom: 1px solid #b5b5b5;
}	
.btnL {
	width: 100% !important;
}
.xoo-el-login-tgr {
    border-radius: 20px 0 0 20px;
}
.xoo-el-reg-tgr {
    border-radius: 0 20px 20px 0;
}


#auth-popup {
  visibility: hidden;
}
#auth-popup.active {
  content-visibility: visible !important;
  visibility: visible !important;
}
.auth-modal {
    top: 0;
    text-align: center;
    bottom: 0;
    left: 0;
    right: 0;
    position: fixed;
    z-index: 1000000000;
    overflow: auto;
    opacity: 0;
    transition: all 0.2s ease-in-out;
    transform: scale(0.8);
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}
.mobile-w .auth-modal {
    background-image: url(./assets/images/villa-with-orange-trees-nice.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 400px;
}
.active .auth-modal {
  opacity: 1;
  transform: scale(1);
}

.auth-opac {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 999999;
  right: 0;
  background-color: black;
  opacity: 0;
  transition: all 0.2s ease-out;
}
.active .auth-opac {
  opacity: 0.3;
  background-color: #000000;
}
.auth-content {
    display: flex;
    height: auto;
    max-width: 350px;
    max-height: 650px;
    flex-direction: column;
    background: #fff;
    padding: 30px;
    width: 90%;
	border-radius:8px; 
	box-shadow:0 0 20px rgba(0,0,0,0.3);
}
.mobile .auth-content {
    max-width: 400px;
}
.authTitle {
    display: flex;
    margin: 0 auto 20px auto;
    padding-left: 40px;
    background-size: 30px 30px;
}
.authTitle a {
    display: flex;
    background: #eee;
    padding: 10px;
    width: 50%;
    min-width: 100px;
    justify-content: center;
}
.authTitle a:first-child {
    border-radius: 8px 0 0 8px;
}
.authTitle a:last-child {
    border-radius: 0 8px 8px 0;
}
.activeTitle {
    background: #333 !important;
    color: #fff !important;
}
.auth-content input {
    width: 100%;
	margin-bottom: 10px;
}
input[type="checkbox"] {
    width: 20px !important;
	margin:0 !important;
}
.auth-content label {
    display: flex;
    align-items: center;
    gap: 6px;
	margin-bottom: 16px;
}
.auth-content button[type="submit"],
.nnfp-btn {
	margin-top: 20px;
    width: 100%;
    justify-content: center;
	color: #fff;
    background-color: #008178;
    border: 1px solid #008178;
    font-weight: 400;
    border-radius: 20px !important;
    position: relative;
}
.btnClose {
    width: 28px;
    float: right;
    align-self: flex-end;
    height: 28px;
    border-radius: 20px !important;
    padding: 3px !important;
    line-height: 24px !important;
    border: none;
	margin-top: -20px;
    margin-right: -20px;
}
.btnClose:hover {
    background-color: #e8ebeb;
	  border-color: #e8ebeb;
	  color: #000;
}

.wpcf7-spinner {
    display: none;
}
.submitting .wpcf7-spinner {
    display: block;
}
input:has(+ .emailError) {
  border:1px solid red;
  margin-bottom: 0;
}
.emailError {
	font-size:10px;
	color: red;
}
dialog {
    width: 350px;
    border: 1px solid #999;
    border-radius: 8px;
    padding: 30px;
	box-shadow: 0 0 15px #33333330;
}
dialog form  {
    display: flex;
    flex-direction: column;
    align-items: center;
}
dialog form p {
    margin-bottom: 30px;
}
dialog div {
    display: flex;
    gap: 16px;
}
dialog button {
    min-width: 60px;
    display: flex;
    justify-content: center;
}
.remap-cityinfo-groups  {
    display: flex;
    gap: 90px;
    flex-wrap: wrap;
	margin-bottom: 50px;
}
.mobile .remap-cityinfo-groups {
    gap: 10px;
}
.remap-cityinfo-group {
    min-width: 240px;
}
.mobile .remap-cityinfo-group {
    flex: 1 1 100%;
}

.remap-cityinfo-metrics {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.remap-cityinfo-metrics li {
    display: flex;
    justify-content: space-between;
}
.search-form {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;

  margin:16px 0 ;
}
.estimateTitle {
	text-align:center;
}
.resRow {
    margin: 90px 0;
}
.mobile .resRow {
    margin: 60px 0;
}
.resRow-range {
    display: flex;
    justify-content: space-around;
}
.resRow-box {
    display: flex;
    flex-direction: column;
    align-content: center;
    flex-wrap: wrap;
    align-self: center;
    text-align: center;
	font-size: 22px;
}
.mobile .resRow-box {
	font-size: 17px;
}
.resRow-box strong {
	font-size: 28px;
}
.mobile .resRow-box strong {
	font-size: 20px;
}
.resRow-title {
    font-size: 14px;
    margin-top: 8px;
}
.resRow-mark {
    width: 16px;
    height: 16px;
    border-radius: 20px;
    background-color: #228378;
    border: 3px solid #fff;
    margin: 10px auto;
    box-shadow: 0 0 1px 2px #228378;
}
.resRow-box:nth-child(2) .resRow-mark {
    width: 20px;
    height: 20px;
    background-color: #000;
    border: 3px solid #fff;
    box-shadow: 0 0 1px 2px #000;
}
.resRow-line {
    width: 100%;
    height: 5px;
    background-color: #228378;
    border-radius: 5px;
    margin-top: -24px;
}


/* Mark input boxes that gets an error on validation: */
input.invalid {
  background-color: #ffdddd;
}

/* Hide all steps by default: */
.tab {
  display: none;
  flex-direction: column;
  gap:20px;
}
.tab label {
  margin-bottom: 5px !important;
  display: block;
}
.tab1 .re-est-go,
.tab1 .re-est-call {
	display:none;
}

.contentBody {
	position:relative;
}	 
.remap-estimate {
  display: flex;
  background-color: #e4e3e3;
  min-height: 450px;
  border-radius: 24px;
}
.mobile .remap-estimate {
  flex-direction: column;
  background-color: transparent;
  margin-left: -16px;
    margin-right: -16px;
}
.remap-estimate-wrap {
	display: flex;
  gap: 10px;
  flex-direction: column;
  padding: 50px 80px;
  flex: 1 1 100%;
   
}
.mobile .remap-estimate-wrap {
    padding: 20px;
	background-color: #e4e3e3;
}
#gMap {
  margin: 50px 50px 180px 0;
  overflow: hidden;
  position: relative;
  flex: 1 1 100%;
  min-height:200px;
  max-height:450px;
  border-radius: 24px;
}
.mobile #gMap {
   margin: 10px 0;
}
.prevNext {
	display: flex;
  justify-content: space-between;
  margin-top: 20px;
  background: #d0cece;
  padding: 10px;
  border-radius: 30px;
}
.prevNext button#prevBtn,
.prevNext button#nextBtn {
  background: transparent;
  padding-left: 6px !important;
}
.prevNext button i {
  font-size: 30px;
 
}
#prevBtn {
	padding: 16px 16px 16px 0 !important;
}
#prevBtn:hover {
	background: #E4E3E3 !important;
}
#nextBtn {
	 padding: 16px 0 16px 16px !important;
}
.re-est-call,
.re-est-go {
  padding-right: 6px !important;
  padding-left: 20px !important;
}
.valuation .sideSticky {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 45%;
  padding: 50px 50px 0 50px;
}
.desktop .valuation .sideSticky {
  background: #e4e3e3;
  max-height: 630px;
}
.mobile .valuation .sideSticky,
.mobile .valuation .sideSticky.sticky	{
	display:none;
	height: calc(100vh)  !important;
	width: calc(100vw)  !important;
	position: fixed;
	left: 0;
	top: 0;
	bottom: 0;
	background-color: #04040478  !important;
	z-index: 30;
}
.valuation .contactInfo .openClose {
	display: block;
}