@charset "utf-8";
/* locamaxime.css - feuille autoportante.
   1) la feuille du theme Rentstate, telle quelle ;
   2) la surcouche LOCAMAXIME.
   Le theme est inclus ici pour que le site tienne debout meme si
   css/style.css manque ou n'est pas a jour sur le serveur. */
/*======================================
 [ -Main Stylesheet-
  Theme: Renstate
  Version: 1.5
  Last change: 01/02/2026 ]
*/
/*-------------Import fonts ---------*/
/* Poppins servi depuis le site, sans appel a Google */
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/poppins/poppins-latin-300-normal.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/poppins/poppins-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/poppins/poppins-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/poppins/poppins-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/poppins/poppins-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/poppins/poppins-latin-800-normal.woff2') format('woff2');}

/*-------------General Style-------------*/
:root {
	--main-color:#EE7838;
	--second-color:#F2E9E0;
	--main-font:'Poppins', sans-serif;
}
html{
	overflow-x:hidden !important;
	height:100%;
}
body{
	margin: 0;
	padding: 0;
	font-family: var(--main-font);
	font-weight: 400;
	font-size: 12px;
	background:#fff;
 
	height:100%;
	text-align:center;
	color:#1e1e1e;
} 
@-o-viewport {width: device-width;}
@-ms-viewport {width: device-width;}
@viewport {width: device-width;}
/*--------------Typography---------*/
p {
	text-align: left;
    line-height: 24px;
    padding-bottom: 10px;
	font-weight: 500;
    color: #5e646a;
}
blockquote {
	float:left;
	padding: 10px 20px 0;
	margin: 0 0 20px;
	border-left: 10px solid #eee;
	position:relative;
}
blockquote p {
	font-style:italic;
	font-size: 13px;
	color: #333;
}
/* ---------Page preload-----------*/
.loader-wrap{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:100;
	background: #fff;
}
 
@-webkit-keyframes loader-spin {
  0% {
	transform: rotate(0deg);
  }
  100% {
	transform: rotate(360deg);
  }
}
@keyframes loader-spin {
  0% {
	transform: rotate(0deg);
  }
  100% {
	transform: rotate(360deg);
  }
}
.loader-inner {
	position: absolute;
	margin: -18px 0 0 -18px;
	border: 3.6px solid  var(--main-color);
	box-sizing: border-box;
	overflow: hidden;
	width: 36px;
	height: 36px;
	left: 50%;
	top: 50%;
	animation: loader-spin 2s linear infinite reverse;
	-webkit-filter: url(#goo);
	filter: url(#goo);
	box-shadow: 0 0 0 1px  var(--main-color) inset;
}
.loader-inner:before {
	content: "";
	position: absolute;
	animation: loader-spin 2s cubic-bezier(0.59, 0.25, 0.4, 0.69) infinite;
	background:  var(--main-color);
	transform-origin: top center;
	border-radius: 50%;
	width: 150%;
	height: 150%;
	top: 50%;
	left: -12.5%;
}
/* ---------Content Styles--------------------------------------*/
#main{
	height:100%;
	width:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:2;
	opacity:0;
}
.wrapper{
 	position: relative;
	z-index: 1;
	margin-top: 90px;
 	background: #fff;
}
.main-content {
	position: relative;
	min-height: 100vh;
 	z-index: 3;
	margin-top: 20px;
}
.ms_vir_height {
	min-height: auto;
}
.content {
	position: relative;
	z-index: 3;
	background: #fff;
	padding-bottom: 50px;
} 
.container{
	width: min(100% - 25px, 1700px);
	margin-inline:auto;
	position: relative;
	z-index:5;
}
.container.small-container {
	width: min(100% - 40px, 1100px);
}
.fl-wrap {
	float:left;
	width:100%;
	position:relative;
}
.no-bg {
	background:none !important;
}
.full-height {
	height:100%;
}
.bg {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-size: cover;
	background-attachment: scroll  ;
	background-position: center  ;
	background-repeat:repeat;
	background-origin: content-box;
} 
.respimg  {
	width:100%;
	height:auto;
}
.overlay    {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#000;
 	opacity:.3;
	z-index: 2
}
.fs-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
} 
.no-padding {
	padding:0 !important;
}
/*------ Header -----------*/
.main-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 20;
 	border-bottom: 1px solid #eee;
	background: #fff;
	box-shadow: 0 10px 24px 0px rgba(0,0,0, .07);
}
.header-inner {
	position: relative;
	height: 90px;
	float: left;
	width: 100%;
	padding: 0 10px;
}
.logo-holder {
	position: relative;
	float: left;
	top: 50%;
	margin-left: 30px;
	height: 12px;
	line-height: 12px;
	margin-top: -6px;
}
.logo-holder img {
	height: 100%;
	width: auto;
}
.progress-bar-wrap {
	position:fixed;
	top:0;
	left:0;
	right:0;
	height:2px;
	z-index:123;
}
.progress-bar {
    position:relative;
    height:100%;
    width:0%;
	z-index:2;
	top:0;
    transition: all .2s ease-in-out;
	background: var(--main-color);
}
/* ------Navigation------------------------------------------------------------ */
.nav-holder {
	float:left;
	position:relative;
	top:24px;
	margin-left:80px;
	opacity:1;
	right:0;
	visibility:visible;
	z-index:20;
}
.nav-holder nav {
	position:relative;
	float: right;
}
.nav-holder nav:before , .nav-holder nav:after {
	content: '';
	position: absolute;
	top: -5px;
	bottom: 20px;
	width: 1px;
	background: #eee;
}
.nav-holder nav:before {
	left: -30px;
}
.nav-holder nav:after {
	right: -30px;
}
.nav-holder nav li{
	float:left;
	position:relative;
	margin-left:6px;
	height:66px;
}
.nav-holder nav li ul {
	margin: 30px 0 0 0;
	opacity: 0;
	visibility: hidden;
	position: absolute;
	min-width:220px;
	top: 67px;
	left: 0;
	z-index: 1;
	padding:20px 0;
	background:#000;
	border-radius:0 0 10px 10px;
	transition: all .2s ease-in-out;
	list-style:none;
	box-shadow: 0 10px 24px 0px rgba(0,0,0, .07);
}
.nav-holder nav li:hover > ul {
	opacity: 1;
	visibility: visible;
	margin: 0;
}
.nav-holder nav li ul li ul {
	top: -10px  ;
	left: 100%;
	margin-left:25px;
	margin-top:0;
	max-width:220px;
	list-style:none;
	border-radius:  10px;
}
.nav-holder nav li ul li:hover  > ul  {
	opacity: 1;
	visibility: visible;
	margin-right:0px;
}
.nav-holder nav li ul li {
	width:100%;
	float:left;
	height:auto;
	position:relative;
}
.nav-holder nav li a {
	float: left;
	padding: 10px;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 25px;
    letter-spacing: 0px;
    color: #000;
    transition: all 100ms linear;
}
.nav-holder nav li a i {
	padding-left:12px;
    transition: all .2s linear; 
}
.nav-holder nav li a:hover , .nav-holder nav li a i , .nav-holder nav li a.act-link {
	color: var(--main-color);	
}
.nav-holder nav li a:hover i {
    transform: rotateX(180deg);
}
.nav-holder nav li ul a {
	color:#fff;
	float:left;
	width:100%;
	font-weight:600;
	text-align:left;
	padding:2px 15px;
}
nav li ul a:before , nav li ul a:after {
	display:none;
}
.header-btn {
	position: relative;
	float: right;
	height: 60px;
	line-height: 60px;
	top: 15px;
	padding: 0 30px;
	border: 1px solid #eee;
	background: #f9f9f9;
	border-radius: 10px;
	text-transform: uppercase;
	font-weight: 600;
	overflow: hidden;
 	transition: all .2s ease-in-out;
	font-size: .9em;
 	box-shadow: 0 10px 24px 0px rgba(0,0,0, .07);
}
.header-btn:hover {
	color:#fff;
	background: #000
}
.wish_btn {
	height: 90px;
	line-height: 90px;
	width: 30px;
	cursor: pointer;
	float: right;
	font-size:2.1em;
	margin-right: 25px;
	position: relative;
}
.wish_btn  i {
	transition: all .4s ease-in-out;
	font-weight: 400;
} 
.wish_btn:hover i {
 	font-weight: 900;
	color:#bbb;
} 
.wish_count {
	position: absolute;
	width: 23px;
    height: 16px;
    line-height: 16px;
	border-radius: 4px;
	background: var(--main-color);
	bottom: 22px;
	left: -9px;
	color:#fff;
	z-index: 2;
	font-weight: 600;
	font-size: 9px;
    box-shadow: 0px 0px 0px 3px #fff;
}
.wish_btn-item {
	position: relative
}
.wish_btn-item:before  {
	content: '';
	position: absolute;
	top: 20px;
	bottom: 20px;
	width: 1px;
	left: -30px;
	background: #eee
}
.tolt {
	z-index: 10;
}
.show-reg-form {
	position: relative;
	float: right;
	font-weight: 600;
	margin-right: 50px;
	padding: 0 24px;
	border: 1px solid #eee;
	border-radius: 36px;
	line-height: 36px;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	background: #f9f9f9;
	transition: all .2s ease-in-out;
	box-shadow: 0 10px 24px 0px rgba(0,0,0, .07);
}
.show-reg-form i {
	margin-right: 10px;
	font-weight: 600;
}
.show-reg-form:hover{
	box-shadow: 0 10px 14px 0px rgba(0,0,0, 0);
	background: #000;
	color:#fff;
}
.show-reg-form:hover i {
	color:var(--main-color);
}
.header-search-btn {
 	float: right;
 	position: relative;
	width: 50px;
 	font-size: 1.7em;
 	height: 90px;
	line-height: 90px;
	font-weight: 900;	
	cursor: pointer;
	margin :  0 10px 0 15px;
}
.hsbclose i:before {
	content: '\f00d'
}
.header-search-wrap {
	position: absolute;
	right: 0;
	width: 420px;
	top: 100%;
	margin-top: 20px;
 	margin-right: -20px;
	opacity: 0;
	visibility: hidden;
	display: none;
    transition: all .3s linear;	
}
.header-search-nav {
	padding: 0 70px 0 0;
	position: relative;
}
.header-search-nav_container {
	background: #fff;
	position: relative;
	padding: 14px 14px 0;
	border: 1px solid #eee;
	border-radius: 10px 10px 0 0;
	border-bottom: none;
	z-index: 2;
}
.header-search-nav_container:after {
	content: '';
	position: absolute;
	top: -8px;
	left: -9px;
	bottom: 8px;
	right: -9px;
	z-index: -1;
	background: rgba(255, 255, 255, .2);
	border-radius: 10px 10px 0 0;
}
.header-search-nav_container:before {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	height: 1px;
	background: #fff;
}
.header-search-container {
	position: relative;
	padding:   14px;
	border-radius: 0 10px 10px 10px;
	border: 1px solid #eee;
	background: #fff;
    box-shadow: 0px 0px 0px 8px rgba(255, 255, 255, .2);
}
.vis-search {
	opacity: 1;
	visibility: visible;
	margin-right: 0;
}
.header-search {
	position: relative;
	z-index: 2;
}
.header-search-radio {
 	position: relative;
	overflow: hidden;
  	border: 1px solid #eee;
	border-right: none;
	border-radius: 4px;
}
.button-label {
	width: 33.333333%;
  	float: left;
 	font-size: .9em;
	text-transform: uppercase;
  	cursor: pointer;
  	color: #000;
	font-weight: 600;
	height: 40px;
	line-height: 40px;
 	background: #f9f9f9;
 	border-right: 1px solid #eee;
  	transition:  .3s;
   	user-select: none;
}
.button-label:hover {
 	color: #ccc;
}
.header-search-radio  .radio-label:checked + .button-label {
  	color: #000;
 	background: #fff;
}
.hidden , .close_mob-filter {
  display: none;
}
.body-overlay , .wishlist-wrap-overlay , .search-form-overlay , .mob-nav-overlay , .mob-filter-overlay  {
    position: fixed;
    z-index: 5;
    background: rgba(0,0,0,.6);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
	display: none;
}
.wishlist-wrap-overlay    {
	z-index: 100;
}
.search-form-overlay  {
	z-index: 19
}
.mob-filter-overlay{
	z-index: 39
}
.wish-list-wrap {
	position: fixed;
	right:  28px;
	top: 28px;
	bottom: 28px;
	width: 490px;
	background: #fff;
	z-index: 101;
	border-radius:  10px;
	overflow: hidden;
    box-shadow: 0px 0px 0px 8px rgba(255,255,255,0.2);
	opacity: 0;
	margin-right:-30px;
	visibility: hidden;
	transition: all .3s ease-in-out;
}
.wish-list-wrap:before {
	content: '';
	position: absolute;
	top: 90px;
	left:20px;
	bottom: 120px;
	right: 20px;
	background: #f9f9f9;
	border-radius: 10px;
	z-index: 1;
	border: 1px solid #eee;
}
.vis-wishlist {
	visibility: visible;
	opacity: 1;
	margin-right: 0;
}
.wish-list-close {
	position: absolute;
	width: 70px;
	height: 70px;
	line-height: 70px;
	right: 0;
	top:0; 
	font-size: 1.4em;
	cursor: pointer;
	z-index: 5;
}
.wish-list-container {
	position: absolute;
	top: 100px;
	left: 20px;
	right: 20px;
	bottom: 100px;
	overflow: auto;
	padding: 0 10px;
	z-index: 2;
}
.wish-list_header {
	position: absolute;
	left: 0;
	right: 70px;
	height: 70px;
	line-height: 70px;
	background: #f9f9f9;
	padding-left: 34px;
	border-right: 1px solid #eee;
	border-bottom: 1px solid #eee;
 	z-index: 3;
	overflow: hidden;
}
.wish-list-title {
 	text-align: left;
	font-size: 1.3em;
	font-weight: 600;
 	text-transform: uppercase;
}
.wish-list-title span {
	position: absolute;
	font-size: 12px;
	width: 50px;
	height: 36px;
	line-height: 36px;
	background: #fff;
    border-radius: 6px;
    border: 1px solid #eee;
    color: var(--main-color);	
	right: 15px;
	top: 50%;
	margin-top: -18px;
	text-align: center;
    box-shadow: 0px 10px 12px 0px rgba(0, 0, 0, .07); 
}
.wish-list-item {
	background: #fff;
	padding:  15px;
	border: 1px solid #eee;
	margin-bottom: 10px;
	border-radius: 10px;
}
.wish-list-item:before {
	content: '';
	position: absolute;
	left: calc(35% + 20px);
	width: 1px;
	background: #eee;
	height: 100%;
	top: 0;
} 
.wish-list-img {
	float:left;
	width:35%;
	position:relative;
	border-radius:10px;
	overflow: hidden;
    box-shadow: 0 10px 24px 0px rgba(0,0,0, .2);
	transition: all .3s ease-in-out;
}
.wish-list-descr {
	float:left;
	width:65%;
	padding:10px 10px 0 40px;
}
.wish-list-img img {
	width:100%;
	height:auto;
}
.wish-list-img:hover {
	box-shadow: 0 10px 24px 0px rgba(0,0,0, 0);
}
.wish-list-descr h4 {
	text-align:left;
	font-weight:600;
	font-size:1.2em;
	padding-bottom:2px;
	text-transform: uppercase;
}
.wish-list-descr  .geodir-category-location a {
    float: left;
    text-align: left;
    color: #666;
    font-weight: 600;
    text-transform: uppercase;
    font-size: .9em;
}
.wish-list-descr .geodir-category-location {
	margin-top:4px;
}
.wish-list-price{
	float:left;
	width:100%;
	margin-top:10px;
	text-align:left;
 	color:#222;
 	font-weight: 600;
}
.wish-list-price span {
	margin-right:6px;
} 
.clear-wishlist {
	position:absolute;
	right:-1px;
	bottom:-1px;
	background: #f9f9f9;
	width: 50px;
	height: 50px;
	line-height: 50px;
	border-radius: 10px 0 0 0;
	border: 1px solid #eee;
	border-right-color:#f9f9f9;
	border-bottom-color:#f9f9f9;
	cursor:pointer;
	font-size:1.4em;
	color:var(--main-color);
}
.clear-wishlist:hover {
	color:#000;
}
.wish-list-footer {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 20px;
	background: #fff;
	z-index: 4;
	border-top: 1px solid #eee;
}
/* ---------tabs----------------*/
.tab-content   {
    width: 100%;
    display: none;
	float:left;
}
.tab{
    width: 100%;
	float:left;
}
.first-tab {
	display: block;
} 
/*------login-------------------*/ 
 
.main-register-container {
	position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    overflow: auto;
	display: none;
	align-items: center;
	justify-content: center;
}
.main-register_box {
	position: relative;
	z-index: 12;
} 
.main-register-holder {
	width: min(100% - 25px, 950px);
	margin-inline:auto;
	position: relative;
}
.main-register-wrap {
	padding-left: 500px;
	background: #fff;
	overflow: hidden;
	border-radius:10px;
	transition: all .3s ease-in-out;
    transform :scale(.9);
	opacity:0; 
	box-shadow: 0px 0px 0px 8px rgba(255,255,255,0.2);
	position: relative;
}
.vis_mr {
	opacity: 1;
    transform :scale(1.0);
}
.main-register_bg {
	position: absolute;
	left: 0;
	width: 500px;
	top: 0;
	bottom: 0;
	background: #fff;
 	border-right: 1px solid #eee;
}
.main-register_bg-dec {
	position: absolute;
	height: 15px;
	top: 15px;
	background: #fff;
	left: 50%;
	z-index: 5;
	width: 150px;
	margin-left: -75px;
	border-radius: 0 0 20px 20px;
}
.main-register_bg-dec:before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: 30px;
	height: 1px;
	margin-left: -15px;
	background: #ddd;
}
.main-register_bg:after {
	content: '';
	position: absolute;
	top: 15px;
	left: 15px;
	bottom: 15px;
	right: 15px;
	background: rgb(249,219,146);
    background: linear-gradient(rgba(249,219,146,1) 0%, rgba(238,120,56,1) 50%, rgba(249,219,146,1) 100%);
	border-radius: 20px;
	z-index: 1;
}
.main-register_bg:before {
	content: ' ';
	position: absolute;
	width: 150px;
	height: 150px;
	left: 50%;
	top: 50%;
	margin: -75px 0 0 -75px;
	background: rgba(255,255,255,0.05);
	z-index: 2;
	border-radius: 50%;
	box-shadow: 0px 0px 0px 56px rgb(255 255 255 / 20%); 
}
.mr_title {
	position: absolute;
	left: 20px;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
 	z-index: 3;
	text-shadow:  6px 22px 20px rgba(206,89,55, .56);
}
.mr_title h4 {
	color:#fff;
	font-size: 2.2em;
	font-weight: 500;
	padding-bottom: 2px;
}
.mr_title h5 {
	color:#fff;
	font-size: 1.2em;
	font-weight: 500;
	text-transform: uppercase;
}
.main-register_contacts-wrap {
	position: absolute;
	bottom: 15px;
	left: 100px;
	right: 100px;
	z-index: 10;
	background: #fff;
	border-radius: 30px 30px 0 0;
	padding: 15px 30px  0;
}
.main-register_contacts-wrap h4 {
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 6px;
	font-size: 1.3em;
	color:#000;
	position: absolute;
	left: 0;
	right: 0;
	top: -40px;
	text-shadow:  6px 22px 20px rgba(206,89,55, .56);
}
.main-register_contacts-wrap a {
	padding: 15px 0;
	width: 100%;
	border: 1px solid #eee;
	background: #fff;
 	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0.04);
	border-radius: 30px;
	display: inline-block;
	text-transform: uppercase;
	font-size: .9em;
	font-weight: 600;
	transition: all .4s ease-in-out;
} 
.main-register_contacts-wrap a:hover {
	background: #f9f9f9;
 	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0);	
} 
.svg-corner {
	position: absolute;
	width: 40px;
	height: 40px;
}
.main-register {
	float:left;
	width:100%;
	position:relative;
	padding:100px 50px 30px;
	background:#fff;
	overflow:hidden;
}
.vis_mr {
	opacity:1;
    transform :scale(1.0);
}
.main-register .tabs-menu {
	position: absolute;
	left: 0;
	top: 0;
	padding-right: 60px;
	right: 0;
	border-bottom: 1px solid #eee;
	height: 60px;
	line-height: 60px;
	overflow: hidden;
}
.close-modal {
	position: absolute;
	right: 0;
	top: 0;
	width: 60px;
	height: 60px;
	line-height: 60px;
	cursor: pointer;
	font-size:1.5em;
	transition: all .4s ease-in-out;
	background: #fff;
 	border-bottom: 1px solid #fff;
}
.close-modal:hover {
	background: #f9f9f9;
    color: var(--main-color);
	border-bottom: 1px solid #eee;
}
.main-register .tabs-menu li {
	float: left;
	width: 50%;
}
.main-register .tabs-menu li a {
	height: 60px;
	line-height: 60px;
	float: left;
	width: 100%;
	background: #f9f9f9;
	text-transform: uppercase;
	font-size: .9em;
	font-weight: 600;
	color: #000;
	border-right: 1px solid #eee;
}
.main-register .tabs-menu li.current a , .main-register .tabs-menu li.current a i  {
	color: #000;
	background: #fff;
}
.main-register .tabs-menu li a i {
	margin-right: 10px;
	font-weight: 800;
}
.soc-log {
	padding: 5px 0;
}
.soc-log p , .property-contacts-wrap p {
	margin-bottom:12px;
	font-size:11px;
	color:#454545;
	text-align: center;
}
.soc-log a {
	float:left;
	width:100%;
	height:60px;
	line-height:60px;
	margin-bottom:10px;
	border-radius:10px;
	font-weight:600;
	position:relative;
	text-align: center;
	background: #fff;
 	border : 1px solid #eee;
	transition: all .4s ease-in-out;
	overflow: hidden;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0.04);
}
.soc-log a:hover {
	background: #f9f9f9;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0);
}
.soc-log a i {
	font-size:1.4em;
	position: absolute;
	top:0;
	width:60px;
	height:60px;
	left:0;
	line-height:60px;
	background: #fff;
	border-right: 1px solid #eee;
}
.google_log i {
	color:#FBBC05;
}
.fb_log i {
	color:#4285F4;
}
.log-separator {
	position: relative;
}
.log-separator  span{
	position:relative;
	width:90px;
	display:inline-block;
	background:#fff;
	z-index:2;
}
.log-separator:before {
	content:'';
	position:absolute;
	top:50%;
	left:0;
	right:0;
	height:1px;
	background:#eee;
	z-index:1;
}
.main-register .custom-form .commentssubmit {
 	margin: 20px 0 10px
}
.commentssubmit_fw , .main-register .custom-form .commentssubmit {
	width: 100%;	
}
.custom-form .log-submit-btn:hover   , .tags-widget a:hover , .wish-list-descr h4:hover a  , .wish-list-close:hover , .main-register .tabs-menu li a i   {
    color: var(--main-color);
}
.main-register .filter-tags{
	float:left;
	margin:2px 0 0 0;
}
.main-register .filter-tags input {
	float: left;
    position: relative;
    border: 1px solid #e5e7f2;
    cursor: pointer;
    padding: 0;
    width: 20px;
    height: 20px;
    border-radius: 2px;
    color: #fff;
    background: #fff;
    -webkit-appearance: none;
}
.filter-tags input:checked:after  {
    font-family: "Font Awesome 6 Pro";
	content: "\f00c";
	font-size: 12px;
	position: absolute;
	top:2px;
	left: 3px;
	z-index:20;
	color:#000;
}
.main-register .filter-tags label{
	width: auto;
	margin:0  0 0 8px;
}
.main-register .filter-tags , .main-register .lost_password {
	margin-top: 10px;
}
.lost_password {
	margin-top:4px;
	float:right;
}
.lost_password a   {
	float:left;
	color: #666;
	font-weight:500;
}
.lost_password a:hover {
	text-decoration: underline;
}
.tbhc_btn , .mob-hid_btn {
	display: none;
}
.stp-bot {
	padding-bottom: 50px;
}
/*-------------Forms---------------------------------------*/
.cs-intputwrap {
	position: relative;
	margin-bottom:14px;
} 
.cs-intputwrap i {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4em;
    color: var(--main-color);
 	z-index: 10;
}
.custom-form  textarea , .custom-form input[type="text"] , .custom-form  input[type=email] , .custom-form  input[type=password] , .custom-form  input[type=button] , .listsearch-input-item input[type="text"]{
    border: 1px solid #eee;
	background:#f9f9f9;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0); 	
 	height: 56px;
    width: 100%;
    padding: 17px 20px 17px 50px ;
    border-radius: 4px;
	color: #222;
	font-size:12px;
	-webkit-appearance: none;
	outline:none;
	overflow:hidden;
   	font-family: var(--main-font);
	font-weight: 500;
}
.custom-form  textarea::-webkit-input-placeholder , .custom-form  input[type="text"]::-webkit-input-placeholder  , .listsearch-input-item input[type="text"]::-webkit-input-placeholder  , .custom-form  input[type=password]::-webkit-input-placeholder  {
	color:#666;
	font-size: .95em;
	font-family: var(--main-font);
}
.custom-form  textarea:focus , .custom-form input[type="text"]:focus  , .custom-form  input[type=email]:focus  , .custom-form  input[type=password]:focus , .listsearch-input-item input[type="text"]:focus  {
 	background:#fff;
 	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0.04);
}
.nice-select {
	padding-left:50px;
	height: 56px;
	line-height: 56px;
    border-radius: 4px;
    border: 1px solid #eee;
	background:#f9f9f9;
	font-weight: 500;
 	font-size: .95em;
}
.nice-select:hover {
	background: #fff;
 	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0.04);
}
.nice-select:after {
    border-bottom: 2px solid var(--main-color);
    border-right: 2px solid var(--main-color);
}
 .nice-select .list{
	border-radius: 10px;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0.04);
	z-index: 11;
}
.custom-form  textarea{
	height: 200px;
    resize: none;
    padding: 25px 20px;
	-webkit-appearance: none;
}
.filter-tags {
	z-index: 1;
	position: relative;
	overflow: hidden;
}
.filter-tags li {
	float: left;
	margin-right: 10px;
	cursor: pointer;
}
.ds-tg li {
	width: 33.333333%;
	margin: 0 0 12px 0
}
.filter-tags input , .custom-form  .filter-tags input {
	float:left;
	position:relative;
	border: 1px solid #ddd;
    cursor: pointer;
    padding: 0;
    width: 20px;
    height: 20px;
	border-radius:4px;
	color:#fff;
	background:#f9f9f9;
	-webkit-appearance: none;
}
.custom-form.dark-form  .filter-tags input {
	border-color:transparent;
	background:rgba(255,255,255,0.21);
} 
.filter-tags input:checked:after , .custom-form  .filter-tags input:checked:after  {
    font-family: "Font Awesome 6 Pro";
	content: "\f00c";
	font-size: 12px;
	position: absolute;
	top:2px;
	left: 4px;
	z-index:20;
	color:var(--main-color);
}
.filter-tags label , .custom-form  .filter-tags label  {
	float:left;
	padding:0 10px;
	position:relative;
	top:2px;
	width:auto;
}
.custom-form.dark-form  .filter-tags label {
	color:#fff;
}  
.custom-form.dark-form  label {
	color:rgba(255,255,255,0.71);
}
.vis-label {
	margin-bottom:10px;
	font-size: 12px;
}
.custom-form label.vis-label i {
	top:44px;
}
.custom-form button {
	outline:none;
	border:none;
	cursor:pointer;
	-webkit-appearance: none;
	font-family: var(--main-font);
}
.custom-form  input[type=number]::-webkit-inner-spin-button, .custom-form input[type=number]::-webkit-outer-spin-button{
   -webkit-appearance: none;
    margin: 0;
}
.custom-form  input[type=number]{
    -moz-appearance: textfield;
}
.custom-form .quantity  {
	position:relative;
	overflow: hidden;
}
.custom-form .quantity input.minus , .custom-form .quantity input.plus , .custom-form .quantity input.qty {
	width:44px;
	height:54px;
	border-radius:0;
	border:none;
	text-align:center;
	padding:0;
	cursor:pointer;
	background: #f9f9f9;
	font-size: 1.4em;
	-webkit-appearance: none;
}
.custom-form .quantity input.plus {
	border-radius:0 6px 6px 0;
}
.custom-form .quantity input.minus {
	border-radius:  6px 0 0 6px;
}
.quantity-item{
	float:right;
	border: 1px solid #eee;
	border-radius: 10px;
	overflow: hidden;
}
.custom-form .quantity input.qty {
	font-family: var(--main-font);
	width:44px;
	height:44px; 	
 	border-radius: 50%;
	font-size: 1.1em;
	cursor:default;
	color:var(--main-color);
	-webkit-appearance: none;
	background: #fff;
	border: 1px solid #eee;
    box-shadow: 0 10px 24px 0px rgba(0, 0, 0, .07);
}
.custom-form.no-icons input , .custom-form.no-icons textarea {
	padding-left:10px;
}
.custom-form.no-icons label {
	margin-bottom:20px;
}
.quantity_wrap {
	position: relative;
	overflow: hidden;
	margin-bottom: 10px;
	padding: 3px 3px 3px 20px;
	border: 1px solid #eee;
	background: #fff;
	border-radius: 10px;
}
.quantity_wrap_title {
	float: left;
	line-height: 54px;
}
.quantity_wrap_title i {
	color: var(--main-color);
	margin-right: 10px;
    font-size: 1.4em;
}
.radio{
	color:#999;
	font-size:13px;
	position:relative;
	top:-2px;
}
.radio span{
	position:relative;
	padding-left:30px;
	top:1px;
}
.radio span:after{
	content:'';
	width:20px;
	height:20px;
	border: 1px solid #e5e7f2;
	border-radius: 2px;
	position:absolute;
	left:0;
	top:-3px;
	box-sizing:border-box;
}
.radio input[type="radio"]{
	cursor: pointer;
	position:absolute;
	width:100%;
	height:100%;
	z-index: 1;
	opacity: 0;
}
.radio input[type="radio"]:checked + span{
	color:#666;
}
.radio input[type="radio"]:checked + span:before{
    font-family: "Font Awesome 6 Pro";
	content: "\f00c";
	font-size: 13px;
	position: absolute;
	top:0;
	left: 4px;
	z-index:20;
}
.fuzone {
    position: relative;
    border: 1px   solid #eee;
    border-radius: 10px;
    background: #f9f9f9;
    transition: all  .3s linear;
    margin-bottom: 10px;
    display: inline-block;
    width: 100%;
	min-height:140px;
	margin-top:0px;
	cursor:pointer;
	z-index: 1;
}
.fuzone input {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	opacity:0;
	z-index:100;
	cursor:pointer;
}
.fuzone .fu-text {
    text-align: center;
    margin: 50px 0;
    font-size: 12px;
	color: #999;
	font-weight:400;
    position: relative;
}
.fuzone .fu-text i {
	font-size:44px;
	width:100%;
	padding-bottom:10px;
    transition: all 0.3s linear;
    color:var(--main-color);
}
.fuzone:hover  .fu-text i {
	transform: translateY(-10px);
}
.photoUpload-files {
	margin-top: 6px;
	padding: 0 10px;
}
.photoUpload-files span {
	color:#666;
	margin: 0 3px;
	padding: 3px 6px;
	background: #fff;
	border-radius: 2px;
	display: inline-block;
	font-size: 10px;
	box-shadow: 0 5px 5px rgba(0,0,0,0.07);
} 
.hid-input {
	display:none;
}
.onoffswitch {
    position: relative; width: 73px;
    -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
}
.onoffswitch-checkbox {
    display: none;
}
.onoffswitch-label {
    display: block; overflow: hidden; cursor: pointer;
     border-radius: 4px;
}
.onoffswitch-inner {
    display: block; width: 200%; margin-left: -100%;
    transition: margin 0.3s ease-in 0s;
}
.onoffswitch-inner:before, .onoffswitch-inner:after {
    display: block; float: left; width: 50%; height: 30px; padding: 0; line-height: 30px;
    font-size: 10px; color: #fff;   font-weight: 500;
    box-sizing: border-box;
}
.onoffswitch-inner:before {
    content: "ON";
    padding-left: 16px;
	text-align: left;
	background:  var(--main-color);
	color: #fff;
}
.onoffswitch-inner:after {
    content: "OFF";
    padding-right: 16px;
	background:  var(--main-color);
	color: #fff;
    text-align: right;
}
.onoffswitch-switch {
    display: block; width: 16px;
	height: 16px;
    background: #fff;
    position: absolute; top: 7px; 
    right: 48px;
    border-radius: 2px;
    transition: all 0.3s ease-in 0s;
	box-shadow: 0 5px 5px rgba(0,0,0,0.07);
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
    margin-left: 0;
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
    right: 10px;
}
.view-pass {
	position: absolute;
	right: 20px;
	cursor: pointer;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	line-height: 20px;
	z-index: 5;
}
.view-pass:before {
    font-family: "Font Awesome 6 Pro";
    content: '\f06e';
    position: absolute;
    right: 0;
    top: 50%;
	transform: translateY(-50%);
    font-size: 13px;
    font-weight: 900;
    color: var(--main-color);	
}
.daterangepicker  {
	border-radius: 20px;
	box-shadow: 0 9px 36px rgba(58, 87, 135, 0.15) !important;
}
.daterangepicker td.active, .daterangepicker td.active:hover  , .searchform-submit , .daterangepicker .drp-buttons .btn:hover , .irs-bar, .irs-slider, .irs-bar-edge   {
	background: var(--main-color);
}
.daterangepicker .calendar-table table   {
  	font-family: var(--main-font);
}
.daterangepicker .drp-buttons .btn.btn-primary {
  	display: none
}
.daterangepicker .drp-buttons .btn {
	border: none;
	border-radius:20px;
	margin-top: 0;
	padding: 12px 22px !important;
	margin: 0;
	background: #000;
	width: 100%;
    transition: all .2s linear;
}
.daterangepicker.show-calendar .drp-buttons {
    display: block;
} 
.daterangepicker .calendar-table td, .daterangepicker .calendar-table th {
 	font-weight:600;
}
.price-range-wrap {
	margin-top: 10px;
	background: #f9f9f9;
	border: 1px solid #eee;
 	border-radius: 4px;
	padding: 0 20px 16px 110px;
}
.custom-form .price-range-wrap {
	margin-top: 0;
 	transition: all .3s linear;
  	border-radius: 4px;
	padding: 0 20px 14px 110px;
}
.custom-form .price-range-wrap:hover {
 	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0.04);
	background: #fff;
}
.irs-from, .irs-single, .irs-to {
	background: #000;
}
.price-range-wrap label {
	position: absolute;
	top: 20px;
	left: 20px;
	text-align: left;
	color:#666;
	font-size: .9em;
}
.irs-slider:before {
    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px;
}
.more_search-btn {
	position: relative;
	border: 1px solid #eee;
    background: #f9f9f9;
    height: 56px;
    padding: 0 20px ;
    border-radius: 4px;
	line-height: 56px;
	cursor: pointer;
	text-align: left;
	transition: all .3s linear;
}
.more_search-btn i {
	position: absolute;
	top: 50%;
	right: 20px; 
	color:var(--main-color);
	transform: translateY(-50%);
	transition: all .3s linear;
}
.more_search-btn:hover {
	background: #fff
}
.more_search-btn.mfilopact i {
	transform: translateY(-50%) rotate(45deg);	
}
.more_search-btn.mfilopact {
	background: #000;
	color:#fff;
}
.hidden-listing_search_wrap {
	position: relative
}
.hidden-listing-filter {
	position: absolute;
	top: 100%;
	right: 0;
	margin-top: 20px;
    background: #f9f9f9;
	border-radius: 20px;
	width: 400px;
	padding: 30px 30px 20px;
	border: 1px solid #eee;
	box-shadow: 0 10px 34px 0px rgba(0, 0, 0, .09);
	display: none;
}
.hidden-listing-item {
	overflow: hidden;	
}
.hidden-listing-item .filter-tags li {
	float: left;
	width: 50%;
	margin: 4px 0;
}
.filter-tags-title {
	padding-bottom: 15px;
	margin: 15px 0;
	border-bottom: 1px solid #eee;
	text-align: left;
	font-weight: 600;
	text-transform: uppercase;
	font-size: .9em;
}
.home-hero-section .hero-section-container {
	padding: 80px 0 ;
}
.hero-section-title_sub {
	display: table;
	position: relative;
	font-size: 1.2em;
 	color:#fff;
	text-align: left;
	font-weight: 600;
	margin-bottom: 20px;
	padding: 10px 20px;
	border: 1px solid rgba(255,255,255,.2);
	background: rgba(0,0,0,.3);
	border-radius: 4px;
}
.home-hero-section .hero-section-title h2 {
	text-align: left;
	font-size: 3.7em;
	line-height: 1.3em;
}
.home-hero-section .hero-section-title h2 a , .home-hero-section .hero-section-title .geodir-category-location a , .home-hero-section .hero-section-title p {
	color:#fff;
}
.home-hero-section .hero-section-title h5 {
	text-align: left;
	margin-top: 15px;
}
.home-hero-section .hero-section-title h5:before {
	display: none
}
.home-hero-section .hero-section-title p {
	max-width: 550px;
}
.home-hero-section .hero-section-title .geodir-category-location {
	display: table;
	margin : 10px 0;
}
.hero-section-title.hs_align-title {
	margin-top: 90px;
}
.hero-notifer {
    text-align: right;
    color: #fff;
    font-weight: 500;
    margin-top: 40px;
}
.hero-notifer a {
    color: #fff;
    padding: 8px 14px;
    margin-left: 10px;
	border-radius: 4px;
	background: var(--main-color);
	box-shadow: 0px 0px 0px 4px rgba(255, 255, 255, .2);
	transition: all .2s linear;
}
.hero-notifer a:hover {
	background: #000;
	color:var(--main-color);
}
.home-hero-section .hs-scroll-down-wrap {
	right: auto;
	left: 0;
	padding: 12px 30px;
}
.home-hero-section .hs-scroll-down-wrap:before    {
	display: none;
}
.boxed-container   {
	position: relative;
	border-radius: 20px;
	padding: 40px;
	background: #f9f9f9;
	margin-bottom: 30px;
	border: 1px solid #eee;
}
.tags-widget , .hidden-content {
	overflow: hidden;
}
.fixed-form , .limit-box , .sb-container , .fixed-form-wrap {
	position: relative
}
.boxed-content {
	position: relative;
	background: #fff;
	border-radius: 20px;
	border: 1px solid #eee;
	margin-bottom: 20px;
}
.fixed-form .boxed-content {
	margin: 0;
}
.boxed-content-title {
	padding: 25px 50px;
	border-bottom: 1px solid #eee;
	position: relative;
	background: #fff;
	border-radius: 20px 20px 0 0;
}
.boxed-content-title:before , .boxed-content-title:after , .lws_column .list-searh-input-wrap-title:before , .lws_column .list-searh-input-wrap-title:after , .contacts-card-item span:before , .contacts-card-item span:after , .help-item-title:before , .help-item-title:after   , .testi-header:before , .testi-header:after   {
	content: '';
	position: absolute;
	right: 50px;
	height: 8px; 
	background: var(--main-color);
	top: 50%;
	margin-top: -4px;
	border-radius: 10px;
}
.boxed-content-title:before, .lws_column .list-searh-input-wrap-title:before , .contacts-card-item span:before , .help-item-title:before , .testi-header:before   {
	width: 20px;
}
.help-item-title:before , .testi-header:before  {
	right: 30px
}
.hsc_flat .hero-section-title h2:before , .lws_column .list-searh-input-wrap-title:before , .contacts-card-item span:before {
	right: 0;
}
.hero-section-title {
	position: relative;
}
.boxed-content-title:after  , .lws_column .list-searh-input-wrap-title:after , .contacts-card-item span:after  , .help-item-title:after , .testi-header:after     {
	width: 12px;
	right: 70px;
	background: #ddd
}
.help-item-title:after , .testi-header:after {
	right: 50px;
}
.lws_column .list-searh-input-wrap-title:after      {
	right: 21px;
} 
.lws_column .list-searh-input-wrap-title:after , .contacts-card-item span:after        {
	right: 21px;
}

.list-searh-input-wrap.lws_column {
	padding-bottom: 20px;
}
.list-searh-input-wrap.list-searh-input-wrap-hero {
	margin-top: 50px;
	border-radius: 4px;
	padding:  10px!important;
}
.list-searh-input-wrap.list-searh-input-wrap-hero .commentssubmit , .lsw_mb-btn  .commentssubmit{
    height: 56px;
    line-height: 56px;
}
.list-searh-input-wrap.lsw_mb-btn {
	padding-bottom: 20px;
}
.list-searh-input-wrap-hero .cs-intputwrap {
    margin-bottom: 0;
}
.boxed-content-title h3 {
	text-align: left;
	font-size: 1.5em;
	font-weight: 600;
}
.boxed-content-item {
	padding: 30px 50px;
}
.boxed-content-item.bc-item_smal_pad {
	padding: 20px 50px;
}
.boxed-content-item.bc-item_smal_pad2 {
	padding: 30px;
}
.scroll-content-wrap {
	position: relative;
	padding-left: 100px;
}
.share-holder {
	position: absolute;
	left: 0;
	top: 0;
	width: 70px;
	padding: 5px 0;
	background: #fff;
	border-radius: 10px;
	border: 1px solid #eee;
	box-shadow: 0 10px 44px 0px rgba(0,0,0, .08);
}
.share-title {
 	margin : 10px 0;
	text-transform: uppercase;
	display: block;
	font-weight: 600;
	font-size: 11px;
	color:#666;
} 
.share-container {
    position:relative;
 	border: 1px solid #eee;
	display: inline-block;
    width: 50px;
	overflow: hidden;
	border-radius: 10px;
}
.share-container.visshare  {
	margin-top:0;
	opacity:1;
	visibility:visible;
}
.share-icon {
	display: inline-block;
    width: 50px;
    height: 50px;
    line-height: 50px;
	background: #f9f9f9;
 	border-top: 1px solid #eee;
    font-size: 1.3em;
    transition: all 100ms linear;
}
.share-container .share-icon:first-child {
	border-top: none;
} 
.share-icon:hover {
	background: #fff;
	color: var(--main-color);
}
.share-icon:before {
	font-family: Font Awesome\ 5 Brands; 
}
.share-icon-facebook:before  {
    content: "\f39e";
}
.share-icon-twitter:before {
    content: "\e61b";
}
.share-icon-tumblr:before {
   content: "\f173";
}
.share-icon-linkedin:before {
     content: "\f0e1";
}
.share-icon-pinterest:before {
    content: "\f231";
}
.ps-facts-wrapper {
	border: 1px solid #eee;
	display: grid;
	grid-template-columns: 25% 25% 25% 25%;
	border-radius: 20px;
	background: #fff;
	margin-bottom: 20px;
}
.ps-facts-item {
	border-left:1px solid #eee;
	padding: 20px 40px 20px 80px;
	overflow: hidden;
	text-align: left;
}
.ps-facts-item h4 {
	font-size: 1.2em;
	font-weight: 600;
	padding-bottom: 3px;
}
.ps-facts-item h5 {
	text-transform: uppercase
}
.ps-facts-item i {
	position: absolute;
	top: 50%;
	left: 30px;
	font-size: 2.0em;
	color:var(--main-color);
	transform: translateY(-50%);
}
.ps-facts-wrapper .ps-facts-item:first-child {
	border-left: none
}
.pp-single-opt-links {
	margin-top: 30px;
	position: relative;
}
.pp-single-opt-links ul {
	overflow: hidden
}
.pp-single-opt-links li , .pp-single-opt-links li a {
	float: left;
}
.pp-single-opt-links li a {
	padding:14px 20px;
	background: #f9f9f9;
	border: 1px solid #eee;
	border-radius: 30px;
	margin-right: 20px;
    transition: all .3s linear;
}
.pp-single-opt-links li a:hover {
	background: #000;
	color:#fff;
}
.pp-single-opt-links li a i {
	margin-right: 10px;
	color:var(--main-color);
	font-size: 16px;
}
.pp-single-opt-link_silngle {
	position: absolute;
	right: 0;
	top: 0;
	background:#fff;
	font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
	padding: 15px 30px;
	border-radius: 4px;
	border: 1px solid #eee;
	box-shadow: 0 10px 24px 0px rgba(0,0,0, .07);
    transition: all .3s linear;
}
.pp-single-opt-link_silngle:hover {
	box-shadow: 0 10px 24px 0px rgba(0,0,0, .0);
	background: #f9f9f9
}
.pp-single-opt , .content-table{
 	overflow:hidden;
}
.nerby-list {
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #eee;
}
.nerby-title {
	padding: 20px;
	border-bottom: 1px solid #eee;
	text-align: left;
	font-size: 1.4em;
	font-weight: 600;
	display: block;
	position: relative;
}
.nerby-title:before {
    font-family: "Font Awesome 6 Pro";
    content: '\f0d7';
    position: absolute;
    right: 22px;
    top: 50%;
	transform: translateY(-50%);
    font-size: 17px;
    font-weight: 900;
    color: var(--main-color);
}
.nerby-list-box{
	position: relative;
	padding: 20px;
}
.pp-single-features li  {
	float: left;
	margin: 10px;
 	font-size: 1.1em;
	text-align: left;
	font-weight: 500;
}
.pp-single-features li a {
    float: left;
	background: #f9f9f9;
	border: 1px solid #eee;
	padding: 2px 30px 2px 2px;
	border-radius: 30px;
}
.pp-single-features li  i {
	width: 40px;
    height: 40px;
    font-weight: 400;
    line-height: 40px;
    text-align: center;
    border-radius: 50%;
    background: #fff;
    position: relative;
 	color:var(--main-color);
    margin-right: 10px;
    box-shadow: 0 10px 24px 0px rgba(0,0,0, .07);
    font-size: 12px;	
}
.nerby-list ul {
	background: #f9f9f9;
	padding: 10px  ;
	border-radius: 10px;
	border: 1px solid #eee;
}
.nerby-list li {
	width: 100%;
	margin:6px 0;
	padding: 8px 10px;
	border-radius: 10px;
	background: #fff;
	border: 1px solid #eee;
 	text-transform: uppercase;
	font-weight: 600;
	font-size: .95em;
	text-align: left;
	overflow: hidden;
	position: relative;
}
.nerby-list li span {
	position: absolute;
	top: 4px;
	bottom: 4px;
	right: 4px;
	color:#666;
	width: 50px;
	line-height: 30px;
	border-radius: 4px;
	background: #f9f9f9;
	border: 1px solid #eee;
	text-align: center;
}
 .nerby-list li i{
	margin-right: 20px;
	color:var(--main-color);
	font-size: 17px;
	width: 15px;
}
.sb-widget , .dec-title , .ps-facts-wrapper , .ps-facts-item {
	position: relative
}
.dec-title_item {
	float: left;
	background: #000;
	color:#fff;
	font-size: 1.5em;
	font-weight: bold;
	padding: 23px 60px 0 30px;
	border-radius: 20px 20px 0 0;
	position: relative;
} 
.dec-title  , .ps-facts-wrapper {
	overflow: hidden;
}
.charts-item {
	border-radius: 0 20px 20px 20px;
	overflow: hidden;
	padding: 30px 10px 30px 20px;
    box-shadow: 0 10px 24px 0px rgba(0,0,0, .2);
}
.dark-bg {
	background: #000;
}
.gradient-bg {
	background: rgb(249,219,146);	
	background: linear-gradient(180deg, rgba(249,219,146,1) 0%, rgba(238,120,56,1) 50%, rgba(249,219,146,1) 100%);	
}
.charts-container {
	margin-bottom: 20px;
	position: relative;
}
.graph-price-container {
	position: relative;
	display: grid;
	grid-template-columns: 65% 35%
}
.graph-price-counter .num {
	font-size: 4.7em;
	color:#fff;
	position: relative;
	text-align: left;
	padding-left: 30px;
}
.price-perc   {
	position: absolute;
	right: 20px;
	top: 30px;
	color:var(--main-color);
	font-size: 1.4em;
}
.graph-price-counter-wrap .num:before {
	content: '+';
	position: absolute;
	top: 50%;
	left: 0;
	color:#fff;
	font-size: 20px;
	transform: translateY(-50%);
}
.graph-price-counter-wrap {
	position: relative;
	margin-top: 30px;
	padding: 0 20px;
}
.graph-price-counter-wrap h4 {
	text-align: left;
	color:#fff;
}
.graph-price {
	position: relative;
	overflow: hidden;
}
.graph-price-item {
	position: relative;
	float: left;
	width: 25%;
	padding: 0 13px;
}
.graph-price-item-title {
	color:#fff;
	margin-top: 10px;
}
.graph {
	position: relative;
 	cursor: pointer;
	border-radius: 30px;
	height: 150px;
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.2);
}
.gil {
	position: absolute;
	left: 0;
	right: 0;
	height: 0;
	border-radius: 30px;
	bottom: 0;
	background: var(--main-color);
	box-shadow: 0 10px 24px 0px rgba(0,0,0, .97);
}
.gil span {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	padding: 0 10px;
	height: 26px;
	line-height: 26px;
	background: #fff;
	border-radius: 4px;
	font-weight: 600;
	font-size: 10px;
	opacity: 0;
	visibility: hidden;
	margin-top: 10px;
	transition: all .4s ease-in-out;
    box-shadow: 0 10px 34px 0px rgba(0,0,0, .3);
}
.gil:hover span {
	margin-top: 0;
	visibility: visible;
	opacity: 1;
}
.section {
	position: relative;
	padding: 90px 0;
}
.hero-section {
	margin-top: 20px;
	padding: 0;
	overflow: hidden;
}
.hero-section-container {
	padding: 300px 0 70px;
	position: relative;
}
.hero-section_sin .hero-section-container {
	padding: 150px 0  ;
}
.bg-parallax-wrap-gradien:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 20;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%,rgba(0, 0, 0,  .8) 90%);
}
.hero-section-wrap {
 	z-index: 4;
 	overflow: hidden;
 	position: relative;
}
.bg-wrap{
	z-index: 1;
}
.bg-wrap .bg {
	top:-15%;
	height: 130%;
}
.bg-wrap  .hero-blur-container_item .bg , .slideshow-container_wrap  .bg {
	top:0;
	height: 100%;	
}
.bg-wrap .overlay {
	opacity: .5
}
.hero-section-wrap-item {
	position: relative;
	overflow: hidden;
}
.hero-section_categories {
	margin-bottom: 20px;
	overflow: hidden;
}
.hero-section_categories a {
	float: left;
	padding: 10px 30px;
	background: rgba(255,255,255,.2);
	border: 1px solid rgba(255,255,255,.7);
	border-radius: 20px;
	color:#fff;
	margin-right: 10px;
	text-transform: uppercase;
	font-size: .9em;
	font-weight: 600;
	-webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
	transition: all .2s ease-in-out;
}
.list-single-opt_header .hero-section_categories a {
	background:#000;
	margin-right: 4px;
}
.hero-section_categories a:hover {
	background: #000;
	border: 1px solid rgba(255,255,255,.4);	
}
.hero-section-title_container{
	position: relative;
	z-index: 5;
	padding: 0 320px 0 50px;
}
.hsc_flat {
	padding: 0 0 30px;
}
.hero-section-opt {
	padding-top: 30px;
	margin-top: 30px;
	border-top: 1px solid rgba(255,255,255,.2);
	position: relative;
}
.hsc_flat  .hero-section-opt {
	border-color:#eee;
	padding-top: 20px;
	margin-top: 20px;
	overflow: hidden;
}
.property-single-header-price , .property-single-header-date , .hero-section-agent_link {
	float: left;
}
.hsc_flat .property-single-header-date.author_avatar_ps {
	position: relative;
	top:0;
	margin-left: 0
}
.author_avatar_ps img  {
    width: 40px;
    height: 40px;
    border-radius: 50%;
	margin-right: 10px;
}
.hero-section-agent_link {
	position: absolute;	
	top: 30px;
	right: 30px;
	height: 60px;
	line-height: 60px;
	padding: 0 30px 0 4px;
	z-index: 10;
	text-transform: uppercase;
	font-size: .95em;
	font-weight: 600; 	
	border-radius: 30px;
    box-shadow: 0px 0px 0px 8px rgba(255,255,255,0.2);
    background: #fff;
	color:#000;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
	transition: all .3s ease-in-out;
}
.hero-section-agent_link:hover {
    background: rgba(0,0,0,.3);
	color:#fff;
}
.hero-section-agent_link i {
	margin-left: 10px;
    color: var(--main-color); 
	transition: all .3s ease-in-out;
	position: relative;
	left: 0;
}
.hero-section-agent_link:hover i {
	left: 6px;
	transition-delay: .3s
}
.hero-section-agent_link img , .property-contacts_profile_link img {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	position: relative;
	top: -2px;
}
.hero-section-agent_link  span , .property-contacts_profile_link span  {
	margin : 0 6px 0 15px;
}
.property-single-header-price  {
    color: #fff;
    position: relative;
}
.hsc_flat  .property-single-header-price , .hsc_flat .property-single-header-date , .hsc_flat .property-single-header-date a   {
	color:#000;
} 
.property-single-header-price strong , .property-single-header-date {
 	text-transform: uppercase;
    font-size: .95em;
	font-weight: 600;
}
.pshp_item {
	font-size: 1.7em;
	font-weight: 600;
	padding-left: 10px;
}
.pshp_item span {
    color: var(--main-color);
    font-size: 14px;
    padding-right: 6px;
    vertical-align: top;
}
.hsc_flat  .property-single-header-price {
	position: absolute;
	top:  10px;
	right: 0;
	border-radius: 30px;
	padding: 15px 30px;
	background: var(--second-color);
}
.hsc_flat .property-single-header-price strong {
	position: relative;
	top: -4px;
} 
.property-single-header-date {
	color:#fff;
	position: relative;
	margin-left: 20px;
	top: 10px;
}
.property-single-header-date a {
	color:#fff;
}
.property-single-header-date a:hover {
    color: var(--main-color);	
}
.property-single-header-date span {
	margin-right: 10px;
}
.hero-section-title h2 {
	font-size: 4.4em;
	text-align: left;
	font-weight: 600;
	color:#fff;
	position: relative;
}
.hero-section_sin h2  {
	font-size: 3.4em;
	text-align: center;
 	position: relative;
}
.section-title  {
	position: relative;
	margin-bottom: 30px; 
}
.section-title h2 {
	font-weight: 600;
	font-size: 3.0em;
	position: relative;
}
.hero-section-title h4 {
    font-size: 1.1em;
    text-align: left;
    text-transform: uppercase;
    font-weight: 600;
    color: #fff;
}
.section-title h4 {
	font-weight: 600;
	font-size: .9em;
    color: #666;
	text-transform: uppercase;
} 
.hsc_flat .hero-section-title h2 {
	color:#000;
	font-size: 3.0em;
}
.hero-section_sin .hero-section-title h2:before , .hero-section_sin .hero-section-title h2:after , .section-title  h2:before , .section-title h2:after {
	content: '';
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	height: 1px;
}
.section-title  h2:before , .section-title h2:after {
	top: auto;
	bottom: -20px;
}
.hero-section_sin .hero-section-title h2:before   {
	width: 120px;
 	background: rgba(255,255,255,.2);
	z-index: 1;
}
.section-title h2:before   {
	width: 120px;
 	background: #eee;
	z-index: 3;
}
.hero-section_sin .hero-section-title h2:after , .section-title h2:after {
	width: 30px;
 	background: var(--main-color);
	z-index: 4;
}
.hero-section-title h6 {
	font-size: 1.1em;
	text-align: left;
	font-weight: 600;
	color:#fff;
}
.hsc_flat .hero-section-title h4 {
	color:#666;
	font-size: 1.0em;
	margin-top: 4px;
}
.hero-section-title h4 i {
	margin-right: 10px;
	color:var(--main-color);
}
.hero-section-title h5 {
	color:#fff;
	margin-top: 10px;
	position: relative;
}
.hero-section-title h5:before {
	content: '';
	position: absolute;
	width: 1px;
	height: 40px;
	background: rgba(255,255,255,.2);
	left: 50%;
	bottom: -60px;
}
.hero-section-breadcrumbs {
	position: absolute;
	top: 30px;
	left: 30px;
	z-index: 10;
	overflow: hidden;
 	box-shadow: 0px 0px 0px 8px rgba(255,255,255,0.2);
	border-radius: 30px;
	border: 1px solid rgba(255,255,255,.2);
    background: rgba(0,0,0,.3);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}
.breadcrumbs-list {
	position: relative;
	height: 64px;
	line-height: 64px;
	padding:0 150px 0 30px;
}
.breadcrumbs-list.bl_flat {
	background: #f9f9f9;
	border-radius: 10px;
	margin: 20px 0;
	border: 1px solid #eee;
}
.breadcrumbs-list a , .breadcrumbs-list span {
	float: left;
	position: relative;
	margin-right: 20px;
	text-transform: uppercase;
	font-weight: 600;
	font-size: .95em;
	padding-right: 20px;
}
.hero-section-breadcrumbs .breadcrumbs-list a {
	color:#fff;
}
.hero-section-breadcrumbs .breadcrumbs-list span {
	color:rgba(255,255,255,.7);
}
.breadcrumbs-list a:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f0da";
    position: absolute;
    right: 0;
    top: 0;
    font-size: 11px;
	color:var(--main-color);
}
.breadcrumbs-list_dec {
	position: absolute;
	width: 54px;
	height: 54px;
	line-height: 60px;
	right: 6px;
	top: 50%;
	margin-top: -27px;
	border-radius: 50%;
	background:var(--main-color);
}
.breadcrumbs-list.bl_flat  .breadcrumbs-list_dec{
	border-radius: 10px;	
}
.breadcrumbs-list_dec i {
	font-size: 1.5em;
	transform: rotate(45deg);
	font-weight: 300;
}
.hs-scroll-down-wrap {
	position: absolute;
	right: 40px;
	bottom: 0;
	background: #fff;
	padding: 15px 30px;
	z-index: 10;
	border-radius: 30px 30px 0 0;
}
.hero-section_sin .hs-scroll-down-wrap {
	right: auto;
	left: 50%;
	padding: 12px 30px;
	transform: translateX(-50%);
}
.hero-section_sin .hs-scroll-down-wrap:before {
	display: none
}
.hs-scroll-down-wrap:before {
	content: '';
	position: absolute;
	left: 30px;
	width: 100vw;
	height: 100%;
	top: 0;
	background: #fff;
}
.scroll-down-item span {
	float: left;
	margin-left: 30px;
	position: relative;
	top: 8px;
	font-weight: 500;
	font-size: 11px;
}
.mousey {
	float: left;
	width: 22px;
	height: 34px;
	border-radius: 10px;
	padding: 0 6px;
	border: 1px solid #ddd;
	box-sizing: border-box;
	background: #f9f9f9;
	box-shadow: 0 10px 12px 0px rgba(0,0,0, .07);
	position: relative;
}
.mousey:before {
	content: '';
	position: absolute;
	right: 50%;
	bottom: 0;
	width: 1px;
	height: 10px;
	background: #ddd;
}
.scroller {
	position: relative;
	left: 50%;
	top: 6px;
	margin-left: -2px;
	width: 4px;
	height: 4px;
	border-radius: 25%;
	animation-name: scroll;
	animation-duration: 2.2s;
	animation-timing-function: cubic-bezier(.15, .41, .69, .94);
	animation-iteration-count: infinite;
	background:var(--main-color);
}
@keyframes scroll {
	0% {
		opacity: 0;
	}
	10% {
		transform: translateY(0);
		opacity: 1;
	}
	100% {
		transform: translateY(50px);
		opacity: 0;
	}
}
.hs-pv_wrap {
	position: absolute;
	bottom: 100px;
	right: 30px;
	z-index: 10;
 	box-shadow: 0px 0px 0px 8px rgba(255,255,255,0.2);
    background: #fff;
	padding: 0 20px 0 50px;
	border-radius: 30px;
	height: 40px;
	line-height: 40px;
}
.hsc_flat .hs-pv_wrap {
	bottom: auto;
	right: 0;
 	top: 20px;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 10px;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0.04);
}
.hs-pv_wrap span {
	text-transform: uppercase;
	font-weight: 600;
	font-size: .8em;
}
.hs-pv_wrap i {
	color:var(--main-color);
	font-size: 1.3em;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 15px;
}

.hero-opt-btnns {
	position: absolute;
	bottom: 150px;
	right: 30px;
	z-index: 10;
	width: 46px;
}
.hero-opt-btnns a {
	float: left;
	width: 46px;
	height: 46px;
	line-height: 46px;
	border-radius: 50%;
 	box-shadow: 0px 0px 0px 8px rgba(255,255,255,0.2);
	background:#fff;
	transition: all .2s ease-in-out;
	margin-bottom: 20px;
}
.hero-opt-btnns a i , .geodir_save-btn i {
	color: var(--main-color);
	font-size: 1.3em;
	line-height: 46px;
	font-weight: 900;
	transition: all .2s ease-in-out;
}
.geodir_save-btn i  {
	font-size: 1.1em;	
}
.hero-opt-btnns a:hover {
 	box-shadow: 0px 0px 0px 0px rgba(255,255,255,0.2);	
}
.hero-opt-btnns a:hover i , .geodir_save-btn:hover i {
	font-weight: 400;
}
.property-contacts-wrap , .property-contacts-item {
	margin-bottom: 20px;
}
.property-contacts-item {
	position: relative;
	padding:  10px 10px 8px 10px  ;
	background: var(--second-color);
	border-radius: 40px;
 	box-shadow: 0 10px 24px 0px rgba(0,0,0, .04);
}
.messenger-links-container {
    position: absolute;
    top: 66px;
    right: 0;
    padding: 0;
    min-width: 203px;
    border: 1px solid #eee;
    z-index: 20;
    display: inline-table;
    background: #fff;
 	border-radius: 20px;
	box-shadow: 0px 0px 0px 8px rgba(0,0,0,.08);
    transition: all .2s linear;
 	opacity: 0;
	visibility: hidden;
	margin-top: 40px;
}
.mlc_vis {
	margin-top: 15px;
	visibility: visible;
	opacity: 1;
}
.messenger-links-container a:first-child {
	border-radius: 20px 0 0 20px;
}
.messenger-links-container a:last-child {
	border-radius:0 20px 20px 0;
}
.messenger-links-container a {
	float: left;
    width: 50px;
    height: 50px;
    line-height: 50px;
    background: #fff;
    border-left: 1px solid #eee;
    font-size: 1.9em;
    transition: all 100ms linear;
	font-weight: bold;
}
.messenger-links-container a:hover {
	color: var(--main-color);
	background: #f9f9f9;
}
.property-contacts-links {
	position: absolute;
	top: 50%;
	right: 10px;
	z-index: 10;
	height: 46px;
	margin-top: -23px;
}
.pcl_btn {
	float: left;
	width: 46px;
	height: 46px;
	line-height: 46px;
	margin-left: 6px;
	border-radius: 50%;
	background: #fff;
	position: relative;
	color: var(--main-color);
	font-size: 1.4em;
}
.pcl_btn:hover {
	color:#000;
}
.property-contacts_profile_link {
	position: relative;
	display: table;
}
.single-gallery-filters {
	position: relative;
	overflow: hidden;
	padding-bottom:20px;
}
.gf_counter {
	position: absolute;
	top: 0;
	right: 0;
	font-weight: 600;
	padding: 12px  ;
	border-radius: 6px;
	background: #fff;
	font-size: .9em;
	border: 1px solid #eee;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0.04);
}
.gf_counter:before {
	content: '';
	position: absolute;
	top:10px;
	bottom: 10px;
	left: 50%;
	width: 1px;
	background: #ddd;
}
.gf_counter div {
	display: inline-block;
	margin: 0 10px;
}
.gallery-item , .listing-grid-item  {
	width: 33.3%;
	position:relative;
	float:left;
	padding: 2px;
}
.listing-grid_heroheader {
	position: relative;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #eee;
}
.listing-grid_heroheader h3 {
	text-align: left;
	font-size: 1.7em;
	font-weight: 600;
}
.listing-grid_heroheader .gallery-filters {
	position: absolute;
	top: -20px;
	right: 20px;
	border: 1px solid #eee;
	overflow: hidden;
	border-radius: 10px;
	padding: 6px;
	background: #fff;
	box-shadow: 0px 10px 8px 0px rgba(0, 0, 0, .04);
}
.gallery-filters a   {
	float: left;
    font-size: .9em;
    text-transform: uppercase;
    cursor: pointer;
    color: #000;
    font-weight: 600;
    height: 42px;
    line-height: 42px;
	padding: 0 25px;
	border: 1px solid #eee;
	border-left: none;
	background: #fff;
}
.gallery-filters a:first-child  {
 	border-left:1px solid #eee;
	border-radius: 4px 0 0 4px;
}
.gallery-filters a:last-child  {
	border-radius: 0  4px   4px 0; 
}
 .gallery-filters a:hover {
	background: #f9f9f9
}
 .gallery-filters a.gallery-filter-active {
	color:#666;
	background: #f9f9f9
}
.gisp .gallery-item , .gisp .listing-grid-item {
	padding: 10px 20px 10px 0;
}
.gisp .gallery-item .grid-item-holder {
	overflow: hidden;
	border-radius: 20px;
	position: relative;
}
.gallery-item-second,
.grid-sizer-second {
	width: 66.6%;
}
.four-column  .gallery-item{
	width:25%;
}
.four-column  .gallery-item.gallery-item-second{
	width:50%;
}
.gallery-item img {
	position:relative;
	z-index:1;
	width: 100%;
	height: auto;
}
.gal-link , .box-media-zoom {
	position: absolute;
	width: 50px;
	height: 50px;
	line-height: 50px;
	z-index: 20;
	border-radius: 50%;
	background: #000;
	color: var(--main-color);
	cursor: pointer;
	opacity: 0;
	transform: scale(.7);
    box-shadow: 0px 0px 0px 8px rgba(255,255,255,0.2);
	transition: all .3s ease-in-out;
	font-size: 1.2em;
}
.hovzoom:hover .gal-link , .hov_zoom:hover  .box-media-zoom {
	opacity: 1;
	transform: scale(1)
}
.gallery-item  .gal-link {
	top: 50%;
	right: 50%;
	margin: -20px -20px 0 0;
}
.box-media-zoom {
	top:40px;
	right: 40px;
} 
.gallery-item .listing-item {
	width:100%;
	margin-bottom: 30px
}
.map-container {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	height: 450px;
	border: 1px solid #eee;
}
.mapC_vis3 {
	height: 490px;
}

.mapzoom-in  , .mapzoom-out{
	position: absolute;
	z-index:100;
	top:50%;
	cursor:pointer;
	width:38px;
	height:38px;
	line-height:38px;
	right:10px;
	margin-top:-84px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 10px 24px 0px rgba(0,0,0, .07);
	color: var(--main-color);
}
.mapzoom-out {
	margin-top:-43px;
}
.mapzoom-in:before, .mapzoom-out:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f068";
    font-size: 10px;
    font-weight: 600;
}
.mapzoom-in:before {
    content: "\f067";
}
.mapnavigation {
	position:absolute;
	bottom:70px;
	right:10px;
	z-index:1030;
	overflow:hidden;
}
.mapnavigation li {
	float:left;
	position:relative;
	margin-left:4px;
}
.mapnavbtn  {
	width:38px;
	height:38px;
	float:left;
	font-size:11px;
	border-radius: 2px;
	background: #fff;
	box-shadow: 0 10px 24px 0px rgba(0,0,0, .07);
	cursor:pointer;
	color: var(--main-color);
}
.mapnavbtn span  {
	line-height:40px;
}
.scrollContorl {
	position:absolute;
	bottom:115px;
	right:10px;
	cursor:pointer;
	width:38px;
	height:38px;
	line-height:38px;
	z-index:1030;
	border-radius: 10px;
	background: #fff;
	color: var(--main-color);
	box-shadow: 0 10px 24px 0px rgba(0,0,0, .07);
}
.list-single-main-item  .scrollContorl{
	bottom:95px;
}
.scrollContorl:before{
    font-family: "Font Awesome 6 Pro";
    content: "\f068";
    font-size: 10px;
    font-weight: 600;
}
.scrollContorl:before {
    content: "\f09c";
}
.scrollContorl.enabledsroll:before {
	content:'\f3c1';
}
.contacts-map .scrollContorl {
	bottom: 68px;
} 
.map-popup-wrap {
	display:block;
	width:220px !important;
	position:relative;
	z-index:1 !important; 
}
.map-popup-wrap:before {
	content: '';
	position: absolute;
  	width: 0; 
  	height: 0; 
	bottom: -10px;
	left: 50%;
	margin-left: -20px;
  	border-left: 20px solid transparent;
  	border-right: 20px solid transparent;
  	border-top: 20px solid #fff;
	z-index: 100;
}
.map-popup {
	display:block;
	width:100%;
	position:relative;
	overflow:hidden;
	background: #fff;
    box-shadow: 0 12px 35px rgba(0,0,0,0.13);
	border-radius: 6px;
}
.info-window-content {
	text-align:center;
}
.info-window-content p {
	text-align: center;
	font-size: 10px;
    color: #566985;
}
.info-window-content h1{
	font-size: 14px;
	font-family: 'Jost', sans-serif;
	font-weight: 600;
	display: block;
} 
.controls-mapwn {
    position: absolute;
    background: #fff url(../images/search-icon.png) right no-repeat;
	box-shadow: 0 10px 24px 0px rgba(0,0,0, .07);
    width: 250px;
    z-index: 1000;
    border: none;
    padding:0 30px;
	height: 50px;
	line-height: 50px;
	border-radius:  10px ;
    left:10px !important ;
    top:10px !important;
}
/*-------------accordion----*/
.accordion {
	position:relative;
}
.accordion a.toggle {
    border: 1px solid #eee;
    padding: 0  40px;
	height: 70px;
	line-height: 70px;
	display: block;
	position:relative;
	background:#fff;
    border-radius: 40px;
	box-sizing:border-box;
	text-align:left;
	font-weight:500;
	font-size:13px;
    transition: all .3s linear;
	margin-bottom:15px;
}
.accordion a.toggle i {
	position:absolute;
	right:10px;
	top:50%;
	width: 50px;
	height: 50px;
	line-height: 50px;
	border-radius: 50%;
	margin-top: -25px;
	font-size:16px;
	background: #f9f9f9;
	text-align: center;
	color:var(--main-color);
}
.accordion a.toggle.act-accordion {
 	color:#fff;
	border-color:transparent;
	background: #000;
}
.accordion a.toggle.act-accordion i {
    transform: rotateX(180deg);
	background: var(--main-color);
	color:#000;
}
.accordion-inner {
    display: none;
	position:relative;
	padding:35px 40px 20px;
	background:#fff;
	margin:0 0 15px;
	text-align:left;
	border-radius: 20px;
	border: 1px solid #eee;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0.04);
}
.accordion-inner.visible {
	display:block;
}
.banner-widget-wrap {
    padding: 90px 40px;
    overflow: hidden;
    border-radius: 20px;
	position: relative;
	margin-bottom: 20px;
}
.banner-widget-wrap:before {
	content: '';
	position: absolute;
	top: 15px;
	left: 15px;
	bottom: 15px;
	right: 15px;
	border-radius: 20px;
	border: 1px solid rgba(255,255,255,.4);
	z-index: 2
}
.banner-widget_content {
	z-index: 4;
	position: relative;
}
.video-box-btn {
	position: relative;
	display: inline-block;
	width: 70px;
	height: 70px;
	line-height: 70px;
	background: #fff;
	color:var(--main-color);
	border-radius: 50%;
	font-size: 1.2em;
	box-shadow: 0px 0px 0px 8px rgba(255,255,255, .2);
    transition: all  .3s linear;
	cursor: pointer;
}
.video-box-btn:hover {
	box-shadow: 0px 0px 0px 14px rgba(255,255,255, .2);
	background: #000; 
}
.banner-widget_content h5 {
	color:#fff;
	margin-top: 30px;
	font-size: 1.2em;
	font-weight: 500;
	text-transform: uppercase;
}  
.tags-widget a {
	float: left;
    padding: 10px 30px;
    color: #fff;
    font-size: 10px;
    text-transform: uppercase;
    border-radius: 4px;
    margin: 0 8px 8px 0;
    font-weight: 600;
    background: #000;
    transition: all  .3s linear;
}
.clients-carousel-wrap {
	position: relative;
	overflow: hidden;
 	background: #fff;
	border-radius: 10px;
	border: 1px solid #eee;
	padding: 30px 30px 30px 200px;
}
.clients-carousel {
	padding: 20px;
	border-radius: 10px;
	border: 1px solid #eee;
	background: #f9f9f9;
	position: relative;
}
.clients-carousel-title {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.4em;
	font-weight: 600;
	padding: 0 30px;
	width: 200px;
}
.clients-carousel-title:before {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 50%;
	margin-left: -15px;
	width: 30px;
	height: 1px;
	background: var(--main-color);
}
.client-item img {
	width: 100%;
	aspect-ratio:6/2;
	object-fit:contain;
	opacity: .6;
    transition: all .2s linear;
}
.client-item:hover img {
	opacity: 1
}
.client-item {
	height: 110px;
	line-height: 110px;
	position: relative;
	z-index: 2;
 	background: #fff;
	display: block;
	border-radius: 10px;
	border: 1px solid #eee;
}
.cc-button {
	position: absolute;
	top: 50%;
	width: 40px;
	height: 40px;
	line-height: 40px;
	margin-top: -20px;
	background: #f9f9f9;
	border-radius: 6px;
	border: 1px solid #eee;
	color: var(--main-color);
	cursor: pointer;
	z-index: 10;
	font-size: 1.3em;
	box-shadow: 0px 10px 12px 0px rgba(0, 0, 0, .07);
} 
.cc-button-next {
	right: 5px;
}
.cc-button-prev {
	left: 5px;
}
.half-carousel-container {
	margin: 20px 0 50px;
	position: relative;
	overflow: hidden;
}
.city-carousel-wrap {
	position: relative;
	overflow: hidden;
	padding: 20px  20px 20px 450px;
}
.city-carousel-item {
    height: 650px;
	overflow: hidden;
	position: relative;
	border-radius: 20px;
}
.city-carousel-content {
    position: absolute;
    left: 0;
    right: 0;
    padding: 0 40px;
    bottom: 60px;
    z-index: 10;
	opacity: 0;
	margin-bottom: -20px;
    transition: all .3s linear;
}
.city-carousel-content:before , .half-carousel-title h2:before , .parallax-section-content h3:before , .home-hero-section .hero-section-title_sub:before {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 40px;
	width: 40px;
	height: 1px;
	background: var(--main-color);
}
.half-carousel-title h2:before , .parallax-section-content h3:before , .home-hero-section .hero-section-title_sub:before {
	bottom: auto;
	top: -20px;
	left: 0;
}
.city-carousel-content h3 {
    color: #fff;
    text-align: left;
    font-weight: 600;
    font-size: 2.1em;
    padding-bottom: 10px;
}
.city-carousel-content h3 a {
    color: #fff;
	transition: all .2s linear;
}
.city-carousel-content p , .half-carousel-title p , .city-carousel-content h3:hover a {
	color: rgba(255,255,255,.8)
}
.city-carousel-item .bg {
    width: 130%;
    left: -15%;
}
.city-carousel .swiper-slide-active .city-carousel-content , .city-carousel .swiper-slide-next .city-carousel-content {
	margin-bottom: 0;
	opacity: 1;
	transition-delay: .3s	
}
.hc-counter {
	position: absolute;
	left: 40px;
	top: -60px;
	font-weight: 500;
	font-size: .9em;
	text-transform: uppercase;
	background: var(--main-color);
	border-radius: 6px;
	padding: 10px 24px;
	color:#fff;
    box-shadow: 0px 0px 0px 4px rgba(255, 255, 255, .2);
}
.half-carousel-title-wrap {
	position: absolute;
	top: 20px;
	left: 20px;
	bottom: 20px;
	width: 410px;
	background: #292929;
	overflow: hidden;
	border-radius: 20px;
	z-index: 20;
}
.half-carousel-title {
	position: relative;
	padding: 0 30px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
}
.half-carousel-title h2 {
	color:#fff;
	text-align: left;
	font-size: 1.9em;
	font-weight: 500;
	padding-bottom: 20px;
	position: relative;
}
.half-carousel-title-wrap .abs_bg {
	top: auto;
	height: 290px;
}
.sc-controls {
	position: absolute;
	bottom: 40px;
	right: 40px;
	z-index: 10;
	background:rgba(0,0,0,.7);
	padding: 10px 20px;
	border-radius:  10px;
	box-shadow: 0px 0px 0px 6px rgba(255,255,255, .1);
}
.sc-controls.shc_controls2 {
	right: auto;
	left: 270px;
	bottom: 14px;
	background: none;
	box-shadow: 0px 0px 0px 0px rgba(255,255,255, .1);
}
.sc-controls.shc_controls2.shc_controls3 {
	left: 370px;	
} 
.sc-controls .swiper-pagination-bullet {
    background: none;
    position: relative;
    margin: 0 10px;
    height: 6px;
    opacity: 1;
}
.sc-controls .swiper-pagination-bullet:before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    height: 100%;
    width: 6px;
    border-radius: 100%;
    background: #fff;
    margin-left: -3px;
    transition: all 0.5s ease;
}
.sc-controls .swiper-pagination-bullet:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 22px;
    height: 22px;
    margin: -11px 0 0 -11px;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 100%;
    transition: all .3s ease;
    transform: scale(0.0);
}
.sc-controls .swiper-pagination-bullet.swiper-pagination-bullet-active:before {
    background: var(--main-color);
}
.sc-controls .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
    transform: scale(1.0);
}
.hero-slider-wrapper {
	position: relative;
}
.hero-carousel_item {
	padding: 0 0 20px 20px;
}
.hs-slider-controls {
	position: absolute;
	left: 290px;
	bottom: 20px;
	z-index: 10;
}
.hs-slider-button {
 	float: left;
	margin-right: 20px;
	color:#fff;
 	font-size: 1.4em;
	cursor: pointer;
	z-index: 20;
}
.hs-slider-button:hover {
	color: var(--main-color);
} 
.hero-blur-container_item , .hsbw_bg .bg {
	transform: scale(1.0);
	transition: all  .4s ease-in-out;
}
 .hero-blur-container:before , .hsbw_bg:before {
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0);
    z-index: 1;
    transition: all .2s ease-in-out;	
}
.hero-blur-container.hideblur:before , .hsbw_bg.hideblur:before {
	background: rgba(0,0,0,1);
}
.hero-blur-container.hideblur  .hero-blur-container_item , .hsbw_bg.hideblur .bg{
	transform: scale(1.1);
	transition-delay: .1s
}
/*-------------footer--------------*/
.main-footer {
	position: fixed;
    z-index: 2;
    bottom: 0;
    left: 0;
    right: 0;
	background: #000;	
}
.main-footer:before  {
	content: '';
	position: absolute;
	right: 0;
	width: 100%;
	height: 90px;
	border-top: 1px solid rgba(255,255,255,.1);
	bottom: 0;
	z-index: -1
}
.height-emulator {
    z-index: 1;
    position: relative;
} 
.footer-social-title {
	color:#fff;
	text-transform: uppercase;
    font-weight: 600;
	margin:0 30px 0 0;
}
.footer-social {
	float: right
}
.footer-social-wrap   {
	margin-top: 22px;
} 
.footer-social-wrap a {
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 6px;
	background:var(--main-color);
	margin-right: 10px;
	font-size: 1.3em;
    transition: all .2s linear;
}
.footer-social-wrap a:hover , .subscribe-button:hover {
	background: #fff
} 
.footer-social-title    , .footer-social-wrap ,  .footer-social-wrap  a , .subscribe-item , .footer-inner , .footer-bottom , .copyright  , .footer-home_link   {
	float: left;
}
.footer-inner {
	width: 100%;
	position: relative;
	padding:   90px  0 60px;
}
.subscribe-item {
	width:100%;
	position: relative;
	margin-top: 24px;
	height: 60px;
}
.enteremail {
	height: 100%;
 	font-family: var(--main-font);
	border: 1px solid rgba(255,255,255,.1);
	background: #111;
	border-radius: 10px;
	width: 100%;
	padding-left: 30px;
	color:#fff;
}
.enteremail::-webkit-input-placeholder {
	color:#fff;
}
.subscribe-button {
	position: absolute;
	right:0;
	width: 130px;
	top: 0;
 	cursor: pointer;
	font-weight: 600;
	border: none;
 	height: 60px;
 	text-transform: uppercase;
    font-family: var(--secondary-font);
    border-radius: 10px;
    background: var(--main-color);
    transition: all .2s linear;
}
.subscribe-message {
 	display: block;
    text-align: left;
    font-weight: 500;
    color: #fff;
	position: relative;
	top: 10px;
} 
.footer-widget-title {
	color:#fff;
	text-align: left;
	font-size: 1.4em;
	font-weight: 600;
	text-transform: uppercase;
	padding-bottom: 30px;
	margin-bottom: 40px;
 	border-bottom: 1px solid rgba(255, 255, 255,  .1);
	position: relative;
}
.footer-widget-title:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 1px;
	background:var(--main-color);
}
.footer-widget-content p {
	color:rgba(255,255,255,.7)
}
.footer-list li {
	display: block;
	margin-bottom: 10px;
	text-align: left;
	position: relative;
	padding-left: 20px;
	text-transform: uppercase;
	font-weight: 600;
}
.footer-list li:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f0da";
    position: absolute;
    left: 0;
    top: 3px;
    font-size: 11px;
	font-weight: 900;
    transition: all .2s linear;
	color:var(--main-color);
}
.footer-list li:hover:before {
	left: 4px;
}
.footer-list li a {
	color:#fff;
}
.footer-contacts span {
	color:rgba(255,255,255,.7);
	margin-right: 10px;
}
.footer-contacts {
	display: block;
	margin-bottom: 30px;
}
.footer-widget-content-link {
	display: table;
	margin-top: 20px;
	color:#fff;
	padding: 10px 30px;
	border-radius: 30px;
	border: 1px solid rgba(255,255,255,.2);
	background: #111;
    transition: all .2s ease-in-out;
}
.api-links-wrap  {
	overflow: hidden
}
.api-links-wrap a {
	float: left;
	margin-right: 10px;
}
.footer-widget-content-link:hover {
	background: #fff;
	color:#000;
}
.footer-widget-content-link i {
	margin-left: 20px;
	color:var(--main-color);
}
.footer-bottom {
	height: 90px;
	line-height: 90px;
	position: relative;
	width: 100%;
	z-index: 10;
}
.footer-bottom:before , .footer-bottom:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 1px;
	background: rgba(255, 255, 255, .1);
} 
.footer-bottom:after {
	top: 35px;
	bottom: 35px;
	z-index: 2;
	background: var(--main-color);
}  
.copyright {
	color:#fff;
	text-transform: uppercase;
	font-weight: 600;
	position: relative;
	z-index: 10;
}
.footer-home_link {
	font-size: 1.6em;
	color:var(--main-color);
	margin-right: 20px;
    transition: all .2s ease-in-out;
}
.footer-home_link:hover {
	color:#fff;
}
.to_top-btn-wrap {
	position: absolute;
	width: 220px;
	height: 60px;
	line-height: 60px;
	background: #fff;
	right: 13px;
	bottom: -110px;
	border-radius: 0 0 30px 30px;
}
.to-top_btn {
	position: relative;
 	display: block;
  	text-align: left;
	color:#000;
	cursor: pointer;
	padding-left: 40px;
}
.to-top_btn span {
 	font-size: 1.1em;
	font-weight: 600;
}
.to-top_btn i  {
	position: absolute;
	top: 50%;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	line-height: 40px;
	right: 20px;
	background: #000;
	color:var(--main-color);
	border-radius: 50%;
	text-align: center;
}
.to-top_btn:hover i {
	background:var(--main-color);
	color:#000;
}
/*-------------listing----------*/
.geodir-category-listing {
 	background: #fff;
	border-radius: 20px  ;
}
.fw-listing-item .geodir-category-listing {
	border: 1px solid #eee;
}
.geodir-category-img_item {
	position:relative;
	z-index: 1;
	display: block;
	overflow: hidden;
	height: 320px;
}
.fw-listing-item2 .geodir-category-img_item {
    height: 270px;
}
.geodir-category-img_item .overlay {
	opacity: .25;
	transition: all .2s linear;
}
.geodir-category-img:hover .overlay {
	opacity:0.4;
}
.geodir-category-img {
	border-radius: 0 0 30px 30px;
	z-index: 5;
}
 .fw-listing-item .geodir-category-content  {
	width: 55%;
	float: left;
}
.fw-listing-item  .geodir-category-img {
	width: 45%;
	float: left;
}
.fw-listing-item  .geodir-category-img  {
	border-radius:   20px  ;	
}
.fw-listing-item2  .geodir-category-img  {
	border-radius: 0 20px 20px  0;	
}
.geodir-category-content-details , .geodir-category-img , .geodir-category-listing , .geodir-category-footer , .single-carousel , .single-carousel-wrap {
	overflow: hidden;
	position: relative;	
}
.geodir-category-img img  , .card-info-media img{
	width: 100%;
	height: auto;
}
.geodir-category-img .geodir-category-location{
	position:absolute;
	left: 30px;
	bottom: 25px;
	z-index: 5;
	font-size: 1.1em
}
.geodir-category-location i , .geodir-category-listing_media-list i , .gid_link i {
	margin-right: 6px;
	color:var(--main-color);
}
.gid_link i {
	margin:  0 0 0 10px;
}
.geodir-category-img .geodir-category-location a{
	color:#fff;
}
.geodir-category-img .list-single-opt_header_cat {
	position: absolute;
	left: 30px;
	top: 30px;
	z-index: 5;
}
.cat-opt , .post_header_cat a{
	float: left;
	margin-bottom: 15px;
	padding: 8px 20px;
	color:#fff;
    box-shadow: 0px 0px 0px 4px rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, .2);
    background: rgba(0, 0, 0, .3);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);	
}
.cat-opt:hover {
	background: #000;
}
.geodir_save-btn {
	position:absolute;
	right: 20px;
	top: 30px;
	z-index: 5;
	width: 44px;
	height: 44px;
	line-height: 44px;
	background:#fff;
	color:var(--main-color);
	font-size: 1.2em;
	border-radius: 50%;
 	box-shadow: 0px 0px 0px 8px rgba(255,255,255,0.2);
}
.geodir-category-content {
	padding:25px 30px 20px;
 	position: relative;
	border-left: 1px solid #eee;
	border-right: 1px solid #eee;
 	background: #fff;
}
.fw-listing-item .geodir-category-content  {
	border: none;
}
.geodir-category-content h3 , .agent-card-item_text h4  {
	text-align:left;
	padding: 0 0 5px 0;
	font-weight: 600;
	font-size: 1.3em;
	position: relative;
}
.geodir-category-content h3 a , .agent-card-item_text h4 a {
	transition: all .2s ease-in-out;	
}
.geodir-category-content h3:hover a , .agent-card-item_text h4 a:hover {
	color:var(--main-color);
}
.geodir-category-content h3:before , .post-item_content h3:before , .agent-card-item_text h4:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	width: 12px;
	height: 4px;
	background: var(--main-color);
	border-radius: 10px;
	transition: all .2s ease-in-out;
}
.geodir-category-content h3:hover:before , .post-item_content h3:hover:before , .agent-card-item_text h4:hover:before {
	width: 22px;
	background: #eee;
}
.geodir-category-content_price {
	text-align: left;
	font-weight: 500;
	font-size: 1.2em;
	margin-bottom: 15px;
}
.fw-listing-item .geodir-category-content_price {
	border-bottom: 1px solid #eee;
	padding-bottom: 15px;
}
.geodir-category-content-details {
	margin-top: 10px;
} 
.geodir-category-content-details li , .post-card-details li {
	float:left;
	margin: 0 12px 6px 0;
	padding:2px 20px 2px 4px;
	background: #f9f9f9;
	border-radius: 30px;
	border: 1px solid #eee;
}
.geodir-category-content-details li i , .post-card-details li i {
	width: 30px;
    height: 30px;
    font-weight: 400;
    line-height: 30px;
    text-align: center;
    border-radius: 50%;
    background: #fff;
    position: relative;
    color: var(--main-color);
    margin-right: 10px;
    box-shadow: 0 10px 24px 0px rgba(0, 0, 0, .07);
    font-size: 12px;
}
.geodir-category-content-details li span , .post-card-details li span {
    font-weight: 600;
	color:#333;
}
.geodir-category-content p:after {
	content: '...'
}
.geodir-category-footer {
	padding:15px  30px;
	border: 1px solid #eee;
 	border-radius: 0 0 20px 20px;
	width: 100%;
 	background: #fff;
}
.fw-listing-item .geodir-category-footer {
 	position: absolute;
	width: 55%;
	bottom: 0;
	right: 0;
	border:none;
	border-top: 1px solid #eee;
} 
.fw-listing-item.fw-listing-item2 .geodir-category-footer {
 	position: relative;
	width: 100%;
} 
.gid_link {
    position: absolute;
    bottom: 14px;
    right: 30px;
    border: 1px solid #eee;
    padding: 10px 20px;
    text-transform: uppercase;
 	border-radius: 20px;
	background: #f9f9f9;
    font-weight: 600;
    font-size: .9em;
	transition: all .2s ease-in-out;
}
.gid_link:hover {
	background: #000;
	color:#fff;
}
.gcf-company {
	float:left;
}
.gcf-company img {
	width:40px;
	height: 40px;
	border-radius: 50%;
	margin-right: 10px;
	float:left;
	box-shadow: 0 10px 14px 0px rgba(0, 0, 0, .17);
}
.gcf-company span {
	font-weight:500;
    color: #70778b;
	float:left;
	position: relative;
	top: 10px;
	transition: all .2s ease-in-out;
}
.gcf-company:hover span {
	color:#000;
}
.geodir-category-listing_media-list {
	position:absolute;
	bottom: 25px;
	right: 30px;
	color: #fff;
	z-index: 5;
	font-size: 1.1em
}
.bcst_ca {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
 	border-radius: 20px 20px 0 0;
} 
.single-carousel-wrap {
	margin-top: 70px;
	padding-bottom: 30px;
} 
.ss-carousel-pagination_wrap  , .fwc-controls_wrap {
	position: absolute;
	bottom: -1px;
	left: 40px;
	z-index: 10;
	background: #fff;
	padding: 0 30px;
	height: 40px;
	line-height: 40px;
	border-radius: 20px 20px 0 0;
	border: 1px solid #eee;
	border-bottom: 1px solid #fff;
}
.fwc-controls_wrap {
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
}
.solid-pagination_btns  .swiper-pagination-bullet   {
	opacity:1;
	background:#ccc;
	margin:0 10px;
	display:inline-block;
	width:6px;
	height:6px;
	position:relative;
	border-radius:100%;
    transition: all 300ms ease-out;
}
.solid-pagination_btns  .swiper-pagination-bullet:before  {
	content:'';
	position:absolute;
	left:-5px;
	top:-5px;
	right:-5px;
	bottom:-5px;
	border-radius:100%;
	box-sizing:border-box;
	border:1px solid #ccc;
    transition: all .3s ease-out;
	transform:scale(0);
}
.solid-pagination_btns   .swiper-pagination-bullet.swiper-pagination-bullet-active:before  {
	transform:scale(1.0);
}
.solid-pagination_btns   .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background:  var(--main-color);
}
.ss-carousel-button-wrap {
	position: absolute;
	bottom: 14px;
	right: 40px;
	z-index: 5;
}
.ss-carousel-button {
	float: left;
	margin-left: 15px;
	cursor: pointer;
	color: var(--main-color);
	width: 40px;
	height: 40px;
	line-height: 40px;
	background: #fff;
    transition: all .3s ease-out;
	border-radius: 50%;
	box-shadow: 0 10px 24px 0px rgba(0, 0, 0, .07);
}
.ss-carousel-button:hover {
	background: #000;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, .07);
}
.fw-carousel-wrap {
	border: 1px solid #eee;
	overflow: hidden;
	padding: 20px 20px 55px;
}
.fwc-controls_wrap.synk_white , .fw-carousel-wrap {
	background: #f9f9f9
}
.fwc-controls_wrap.synk_white {
	border-bottom-color: #f9f9f9
}
.fw-carousel-wrap , .fw-carousel-container , .fw-carousel  {
	position: relative;
	overflow: hidden;
}
.fw-carousel   {
	height: 600px;
	border-radius: 20px;
}
.fw-carousel .swiper-container  {
    width: 100%;
    height: 100%;
    margin: 0 auto;
} 
.fw-carousel .swiper-slide    {
 	width: auto!important;
	height:100% !important;
	display:inherit !important;
	overflow: hidden;
	border-radius: 20px;
}
.fw-carousel .swiper-slide img   {
	width: auto!important;
	height:100% !important;
	position:relative;
	z-index:1;
}
.slider-button  {
    position: absolute;
    top: 50%;
    width: 50px;
    height: 50px;
    line-height: 50px;
    margin-top: -25px;
    border-radius: 50%;
    transition: all .3s ease;
	background: #000;
    z-index: 50;
    cursor: pointer;
    color: var(--main-color);
	box-shadow: 0px 0px 0px 6px rgba(255,255,255, .4);
}
.fw-carousel-button-prev {
	left:  40px;
}
.fw-carousel-button-next {
	right:  40px;
}
.slider-button:hover {
	box-shadow: 0px 0px 0px 0px rgba(255,255,255, .4);	
}
.show-info {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 50%;
	z-index: 15;
}
.show-info span {
	float: right;
	font-weight: 600;
	position:relative;
	bottom:35px;
	right:40px;
	font-size: .9em;
 	text-transform: uppercase;
    height: 26px;
    line-height: 26px;
    border-radius:30px;
	padding: 0 20px;
    color: #fff;
    cursor: pointer;
	box-shadow: 0px 0px 0px 4px rgba(255, 255, 255,  .2);
    border: 1px solid rgba(255, 255, 255, .3);
    background: rgba(0, 0, 0, .4);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    opacity: 1;
    transition: all .2s linear;
}
.show-info span:hover {
    color: var(--main-color);
	background: #000;
	box-shadow: 0px 0px 0px 0px rgba(255, 255, 255,  .2);
}
.tooltip-info {
	height: auto;
	line-height: 20px;
	padding: 15px 30px;
	font-size: 11px;
	color: #fff;
	text-indent: 0px;
	position: absolute;
	background: #fff;
    border-radius: 10px;
	bottom: 90px;
	opacity: 0;
	right: 30px;
	margin-top: 102px;
	visibility: hidden;
	pointer-events: none;
	text-align: left;
	z-index: 16;
	transition: all .3s linear;
}
.tooltip-info h5 {
	margin-top: 12px;
	padding: 5px 0;
	position: relative;
    font-weight: 600;
    font-size: 1.5em;
	color:#000;
}
.show-info:hover .tooltip-info {
	visibility: visible;
	opacity: 1;
}
.list-single-opt_header , .synk-slider-wrap , .synk-slider , .synk-slider-thumbnails , .synk-slider-thumbnails-wrap {
	position: relative;
}
.list-single-opt_header  .hero-opt-btnns {
    bottom: auto;
    right: 0;
    width:auto;
	top: 0;
}
.list-single-opt_header  .hero-opt-btnns a {
	box-shadow: 0 10px 24px 0px rgba(0, 0, 0, .07);
	margin-left: 10px;
}
.synk-slider {
	overflow: hidden;
	border-radius: 20px;
}
.synk-slider-thumbnails-wrap {
	overflow: hidden;
	background: #fff;
 	padding: 40px 20px;
	position: absolute;
	top: 0;
	right: 0;
	width: 150px;
	border-radius:  20px;
	border: 1px solid #eee;
	height: 100%;
}
.synk-slider-thumbnails img {
	border-radius: 4px;
	width: 100%;
	height: auto;
}
.synk-slider-wrap {
	margin-bottom: 20px;
	padding-right: 170px;
}
.synk-slider-thumbnails {
	overflow: hidden;
}
.synk-slider-thumbnails  .swiper-slide {
 	height: auto!important;
  	opacity: .5;
}
.synk-slider-thumbnails  .swiper-slide-active {
	opacity: 1;
}
.ss-thumb_btn {
	position: absolute;
	left: 10px;
	right: 10px;
	height: 30px;
	line-height: 30px;
	color:  var(--main-color);
	background: #f9f9f9;
	border: 1px solid #eee;
	cursor: pointer;
	z-index: 10;
	border-radius:   10px ;
}
.ss-thumb_btn_next {
	bottom: 10px;
}
.ss-thumb_btn_prev {
	top: 10px;
}
.listing-item-container {
	position: relative;
	display: grid;
}
.three-columns-grid {
	grid-template-columns: auto auto auto
}
.two-columns-grid {
	grid-template-columns: auto auto 
}
.three-columns-grid .listing-item , .two-columns-grid .listing-item , .fw-listing-item2.fw-listing-item .listing-item {
	padding: 8px;
}
.fw-listing-item .listing-item , .one-column-grid .listing-item {
	padding: 8px 0;
}
.pagination-wrap {
 	margin-top: 30px;
	position: relative;
}
.load-more_btn   {
	position: absolute;
	top: 0;
	right: 0;
	height:54px;
	line-height:54px;
	padding: 0 50px;
	background: #000;
	color: #fff;
	font-weight: 600;
	cursor: pointer;
	border-radius: 10px;
}
.load-more_btn i {
	margin-right: 15px;
	color:  var(--main-color);
	font-size: 13px;
}
.pagination {
	text-align:center;
}
.pagination.float-pagination {
	display: table
}
.pagination  a {
	display:inline-block;
	width:54px;
	height:54px;
	line-height:54px;
	border-radius:10px;
 	border:1px solid #eee;
	box-sizing:border-box;
	position:relative;
	font-size:1.1em;
	background:#fff;
}
.geodir-category-listing , .pagination  a , .reset-btn  {
	transition: all .3s linear;
}
.pagination.float-pagination a{
	float: left;
	margin-right: 3px;
}
.pagination a.current-page, .pagination a:hover {
	color:  var(--main-color);
	box-shadow: 0 10px 24px 0px rgba(0, 0, 0, .07);
}
.pagination  a i {
	font-size:12px;
}
.listing-item:hover .geodir-category-listing {
	box-shadow: 0 10px  26px 0px rgba(0, 0, 0, .04);	
}
.list-searh-input-wrap {
	border: 1px solid #eee;
	border-radius: 20px;
	padding: 20px 30px 10px;	 	
 	background: #fff;
	z-index: 21;
	position: relative;
}
.lws_column .list-searh-input-wrap-title_wrap {
    margin-bottom: 70px;
}
.lws_column  .list-searh-input-radio_wrap {
    top:calc(100% + 15px);
    right: 0;
    width: auto;
	left: 0;
}
.list-searh-input-wrap-title_wrap {
	position: relative;
	border-bottom: 1px solid #eee;
	padding-bottom: 30px;
	margin-bottom: 30px;
	z-index: 20;
}
.lsiw_dec {
	box-shadow: 0px 0px 0px 12px rgba(255, 255, 255, .2);
}
.hero_home_search {
	padding-bottom: 30px;	
}
.list-searh-input-radio_wrap  {
	position: absolute;
	top: 0;
	right: 0;
	width: 400px;
	padding-right: 50px;
}
.reset-btn { 
	position: absolute;
 	right: 0;
	top: 0;
	cursor: pointer;
 	height: 42px;
    line-height: 42px;
	width: 42px;
	background: #f9f9f9;
	border: 1px solid #eee;
	border-radius: 4px;
	z-index: 10
}
.reset-btn:hover {
	background: #000;
 	color:  var(--main-color);
}
.reset-btn:hover i , .load-more_btn:hover i  {
	animation: spin 1s linear infinite;	
}
@keyframes spin {
    from {
        transform:rotate(0deg);
    }
    to {
        transform:rotate(360deg);
    }
} 
.list-searh-input-wrap-title {
    text-align: left;
    font-weight: 600;
    font-size: 1.4em;
	position: relative;
	top: 10px;
} 
.list-searh-input-wrap-title i  {
	margin-right: 20px;
 	color:  var(--main-color);
}
.list-searh-input-wrap .listsearch-input-item  .price-rage-item {
	padding-left: 40px;
}
.listsearch-input-item  .price-rage-item.pr-nopad{
	 padding-left: 0;
}
.list-main-wrap-header {
	padding: 22px 0 22px 30px;
	z-index: 20;
	position: relative;
	margin : 20px 0;
	border : 1px solid #eee;
	background: #fff;
	border-radius: 10px;
}
.list-main-wrap-title {
    display: table;
    position: relative;
}
.list-main-wrap-title h2 {
    text-align: left;
    font-weight: 600;
    font-size: 1.3em;
    position: relative;
}
.list-main-wrap-title h2 span {
	color:#666
}
.list-main-wrap-title h2 strong {
	position: absolute;
	left:100%;
	top: -2px;
	margin-left: 14px;
	background: #f9f9f9;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	box-shadow: 0 5px 5px rgba(0,0,0,0.05);
 	color:  var(--main-color);
	border : 1px solid #eee;
}
.list-main-wrap-opt {
    position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	width: 300px;
	padding-left: 80px;
}
.list-main-wrap-opt_single {
	width: 180px;
	padding-left: 0;	
}
.price-opt-title {
    position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
} 
.back-tofilters-wrap {
	position: relative;
	z-index: 2;
	margin-top: 30px;	
}
.back-tofilters {
	background:var(--main-color);
	text-transform: uppercase;
	font-weight: 600;
	border-radius:  6px;
	height: 56px;
	line-height: 56px;
	display: block;
	opacity: 0;
	visibility: hidden;
	transition: all .2s linear;
}
.vis_btf .back-tofilters {
	opacity: 1;
 	visibility: visible;
}
.back-tofilters:hover {
	color:var(--main-color);
	background: #000;
	border-radius: 50px;
}
.map-modal-wrap {
	position:fixed;
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:1000;
	overflow:auto;
 	display: none;
}
.map-modal-wrap-overlay {
	position:fixed;
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:1;
	background: rgba(0,0,0,0.41);
}
.map-modal-item {
	position:relative;
	max-width:850px;
	margin:0 auto;
	top:50%;
	transform: translateY(-50%);
	z-index:2;
	overflow: hidden;
	border-radius: 20px;
	padding: 0 20px 20px;
	background: #fff;
    box-shadow: 0px 0px 0px 14px rgba(255, 255, 255,  .6);
	-webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}
.map-modal-container{
	padding:0;
	background:#fff;
	border-radius:2px;
	overflow:hidden;
}
.map-modal-container h3 {
	text-align:left;
	font-size:1.3em;
	font-weight:600;
	height: 60px;
	line-height: 60px;
	padding-left:10px;
}
.map-modal #singleMap {
	margin-bottom:0;
	height: 450px;
	border-radius: 20px;
}
.map-modal-close {
	position:absolute;
	right:0;
	top:10px;
	width:40px;
	height: 40px;
	line-height: 40px;
	z-index:10;
    border-radius: 50%;
 	font-size: 1.3em;
	background: #f9f9f9;
	cursor:pointer;
	border: 1px solid #eee;
	color: var(--main-color);
	transition: all .2s ease-in-out;
}
.map-modal-close:hover {
	background: #000;
}
/*-------------blog-------------*/ 
.post-item {
	width: 50%;
	position: relative;
	padding: 0 20px 20px 0;
}
.post-items {
	z-index: 1
}
.post-item_media  {
	position: relative;
	overflow: hidden;
	border-radius: 20px  ;
}
.post-item_media img {
	width: 100%;
	height: auto;
    transition: all .2s ease-in-out;
}
.post-item_media a:hover img {
	opacity: .7
}
.post_header_cat {
	position: absolute;
	top: 30px;
	left: 30px;
	z-index: 10;
}
.post-item_content {
	padding: 30px  30px 20px;
	border-radius: 0 0 20px 20px;
	border: 1px solid #eee;
	border-top: none;
	background: #fff;
}
.post-item_content h3 {
    font-size: 1.4em;
    margin-bottom: 15px;
	text-align: left;
	position: relative;
	font-weight: 600;
}
.post-item_content h3 a {
	display: block;
    transition: all .2s ease-in-out;
}
.post-item_content h3:hover a {
	color: var(--main-color);
}
.post-card-details {
	overflow: hidden;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
	padding: 10px 0 5px;
	position: relative;
} 
.post-card_link {
	display: table;
    border: 1px solid #eee;
    padding: 10px 20px;
    text-transform: uppercase;
    border-radius: 20px;
    background: #000;
	color:#fff;
    font-weight: 600;
    font-size: .9em;
    transition: all .2s ease-in-out;
	margin-top: 20px;
}
.post-card_link i {
    margin: 0 0 0 10px;
	color: var(--main-color);
}
.post-card_link:hover {
	background: #f9f9f9;
	color:#000;
}
.pv-item_wrap {
	position: absolute;
	bottom: 54px;
	right: 54px;
    font-weight: 600;
}
.pv-item_wrap_single {
	bottom: 50%;
	margin-bottom: -18px;
	right: 0;
	padding: 0 12px;
	height: 36px;
	line-height: 36px;
	background: #f9f9f9;
	border: 1px solid #eee;
	border-radius: 10px;
}
.pv-item_wrap i , .tc_single_title i {
	margin-right: 10px;
	color: var(--main-color);
}
.tagcloud_single {
	padding: 15px 0 10px 20px;
	margin-top: 20px;
	overflow: hidden;
 	border: 1px solid #eee;
	background: #f9f9f9;
	border-radius: 10px;
}
.tc_single_title {
 	text-transform: uppercase;
	margin-right: 20px;
	font-weight: 600;
	margin-top: 10px;
}
.tc_single_title i {
	font-size: 1.2em
}
.tc_single_title .tags-widget , .tc_single_title {
	float: left
}
.search-widget {
	padding: 5px ;
	overflow: hidden;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 10px;
	margin-bottom: 20px;
	position: relative;
}
.search-widget input.search-inpt-item{
	background: #f9f9f9;
    height: 60px;
    padding: 0 20px;
    width: calc(100% - 135px);
 	float:left;
    border: 1px solid #eee;
	border-radius:  10px;
}
.search-submit {
	border:none;
	position: absolute;
	top: 5px;
	right: 5px;
    height: 60px;
	line-height:60px;
	width:130px;
 	font-size: 1.2em;
	border-radius: 10px;
	background: var(--main-color);
	cursor: pointer;
	transition: all .3s linear;
}
.search-submit:hover {
	background: #000;
	color: var(--main-color);
}
.recent-post-widget {
	overflow: hidden;
	position:relative;
}
.recent-post-widget ul {
	list-style:none;
}
.recent-post-widget ul li {
	float:left;
	width:100%;
	margin-bottom:15px;
	position:relative;
	border: 1px solid #eee;
	background: #f9f9f9;
	overflow: hidden;
	border-radius: 10px;
}
.recent-post-img {
	float:left;
	width:140px;
	padding: 14px;
	border-right: 1px solid #eee;
	background: #fff;
}
.recent-post-widget ul li:hover {
	background: #f9f9f9;
}
.recent-post-img img {
	width:100%;
	height:auto;
	border-radius: 10px;
	box-shadow: 0 10px 24px 0px rgba(0,0,0, .2);
}
.recent-post-content {
 	float: left;
	padding: 20px 0 0 20px;
}
.recent-post-content h4 {
	padding-bottom:2px;
	text-align:left;
	font-size: 1.2em;
	font-weight: 600;
}
.recent-post-content h4 a:hover , .category-widget .cat-item li a:hover {
	color: var(--main-color);
}
.recent-post-opt   span.post-date {
 	text-align: left;
	padding-right:10px;
	position: relative;
	display: block;
 	font-weight: 500;
}
.recent-post-opt   span.post-date:before {
	content: '';
	position: absolute;
	bottom: -10px;
	width: 20px;
	height: 1px;
	left: 0;
	background: var(--main-color);
} 
.category-widget .cat-item li {
	text-align:left;
	width:100%;
	margin-bottom:20px;
	font-weight:500;
	position:relative;
	overflow: hidden;
}
.category-widget .cat-item li a {
	float:left;
	position:relative;
 	font-weight: 600;
	z-index:2;
	padding:0 40px 0 0;
	top:4px;
	font-size: 1.1em;
}
.category-widget .cat-item li:before {
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	right:50px;
	border-top:1px solid #eee;
	z-index:2;
}
.category-widget .cat-item li span {
	float:right;
	width:30px;
	height:30px;
	line-height:30px;
	color:var(--main-color);
	text-align:center;
	font-size:.9em;
	border-radius:4px;
	background: #f9f9f9;
	border: 1px solid #eee;
	box-shadow: 0 10px 24px 0px rgba(0, 0, 0, .07);
}  
.social-widget  {
 	overflow: hidden;
}
.social-widget   a  , .contact-social-container a  {
	float: left;
	width:46px;
	height:46px;
	line-height:46px;
 	background: #000;
 	border-radius: 6px;
    color: var(--main-color);
	margin: 0 4px 4px 0;
	font-size: 1.2em;
	transition: all .3s linear;
}
.social-widget   a:hover  , .contact-social-container a:hover {
	color:#000;
	background: var(--main-color); 
} 
.post-banner-widget {
	padding: 180px 50px 30px;
    overflow: hidden;
    border-radius: 10px;
	position: relative;
}
.post-banner-widget_content {
    z-index:14;
    position: relative;
}
.post-banner-widget_content h5 {
    text-align: left;
    color: #fff;
    font-size: 1.3em;
    font-weight: 600;
    position: relative;
}
.post-banner-widget_single .post-banner-widget_content h5 {
	font-size: 1.8em;
	margin-bottom: 10px;
}
.post-banner-widget_single .post-banner-widget_content p {
	color:#fff;
	max-width: 650px;
	padding-bottom: 0;
}
.post-banner-widget_single {
	margin-top: 50px;
	border-radius: 20px;
	padding-bottom: 50px;
}
.post-banner-widget_content a {
	padding: 13px 20px;
    background: var(--main-color);
	display: table;
	color:#fff;
	margin-top: 20px;
	border-radius: 4px;
	box-shadow: 0px 0px 0px 4px rgba(255, 255, 255, .2);
	transition: all .3s linear;
	font-weight: 600;
	text-transform: uppercase;
	font-size: .9em;
}
.post-banner-widget_content a:hover {
	background: #000;
	color: var(--main-color);
	box-shadow: 0px 0px 0px 8px rgba(255, 255, 255, .2);
}
.blog-media {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	margin-bottom: 30px;
}
.blog-media img {
	width: 100%;
	height: auto;
}
.post-img-row {
    display: grid;
    grid-template-columns: 50% 50%;
    padding: 20px 0 30px;
    grid-gap: 10px;
}
.post-img-row img {
	border-radius: 10px;
}
.content-nav-fixed {
	position:relative;
	padding:0 30px;
	height: 90px;
	background: #000;
	margin : 30px 0;
	border-radius: 50px;
}
.content-nav-fixed:before , .content-nav-fixed:after {
	content:'';
	position:absolute;
	left:50%;
	width:1px;
	height:20px;
	top:50%;
	margin-top:-10px;
	background:var(--main-color);
	z-index:100;
}
.content-nav-fixed:after  {
	background: rgba(255,255,255,.18);
	top: 0;
	height: auto;
	bottom: 0;
	z-index: 99
}
.content-nav-fixed ul {
	display: grid;
	grid-template-columns: 50% 50%;
	position: relative;
	z-index: 10;
}
.content-nav-fixed li {
	width:100%;
	display:block;
	position:relative;
}
.content-nav-fixed li:first-child {
	border:none;
}
.content-nav-fixed li a.ln , .content-nav-fixed li a.rn {
 	color:#fff;
	position:relative;
	width:100%;
	height: 90px;
	line-height: 90px;
}
.content-nav-fixed li a.ln  {
	text-align:left;
	float:left;
	padding-left: 120px;
}
.content-nav-fixed li a.rn  {
	text-align:right;
	float:right;
	padding-right: 120px;
}
.content-nav-fixed li a:hover:before {
	top:0;
}
.content-nav-fixed li a.ln i , .content-nav-fixed li a.rn i  {
	position:relative;
	z-index:50;
    transform: translateX(0);
	transition: all .3s linear;
	color:#fff;
}
.content-nav-fixed li a.ln:hover i   {
    transform: translateX(-105px);
	transition-delay: .35s;
}
 .content-nav-fixed li a.rn:hover i  {
    transform: translateX(105px);
	transition-delay: .35s;
}
.content-nav-fixed li a span {
	font-size:.9em;
	text-transform:uppercase;
	font-weight:600;
	position:relative;
	z-index:10;
}
.content-nav-fixed li a.ln span {
	padding-left:15px;
}
.content-nav-fixed li a.rn span  {
	padding-right:15px;
}
.content-nav_mediatooltip {
	position:absolute;
	bottom:50%;
	margin-bottom:-30px;
	overflow:hidden;
	width:60px;
	height:60px;
	border-radius:50%;
}
.content-nav-fixed li .overlay {
	opacity: 0;
	transition: all .3s linear;
}
.content-nav-fixed li:hover    .overlay {
	opacity: .7;
	transition-delay: .3s
}
.content-nav_mediatooltip.cnmd_leftside {
	left:-10px;
}
.content-nav_mediatooltip.cnmd_rightside {
	right:-10px;
}
.comments-item {
	position: relative;
	padding-left: 100px;
}
.comments-avatar {
	position: absolute;
	top: 0;
	left: 0;
	width: 70px;
	height: 70px;
	border-radius: 50%;
    box-shadow: 0 10px 24px 0px rgba(0,0,0, .2);
}
.comments-avatar img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
}
.comments-avatar:before {
	content: '';
	position: absolute;
	width: 40px;
	height: 40px;
	border-bottom: 1px solid #eee;
	border-left: 1px solid #eee;
	right: -4px;
	bottom: -50px;
	border-radius: 0 0 0 10px;
}
.comments-item-text {
	position: relative;
	overflow: hidden;
	border: 1px solid #eee;
	background: #f9f9f9;
	border-radius: 10px;
}
.comments-wrap  {
	margin-top: 30px;
}
.comments-item {
	margin-bottom: 30px;
}
.comments-wrap .comments-item:last-child {
	margin-bottom: 0;
}
.comments-header {
	padding: 20px 30px;
	text-align: left;
	border-bottom: 1px solid #eee;
	font-size: 1.2em;
	background: #fff;
	font-weight: 600;
	position: relative;
}
.comments-header:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 30px;
	width: 30px;
	height: 1px;
	background: var(--main-color);
}
.comments-item-footer {
	position: relative;
	overflow: hidden;
	padding: 15px 30px;	
	border-top: 1px solid #eee;
}
.comments-item-text-wrap {
	padding: 20px 30px ;
}
.comments-item-text-wrap p {
 	text-align: left;
}
.comments-item-date {
	float: left;
	font-size: .9em;
	margin-top: 10px;
	font-weight: 600;
}
.comments-item-date i {
	margin-right: 10px;
	color:var(--main-color);
}
.reply-item {
	float: right;
	background: #fff;
	padding: 8px 20px;
	border: 1px solid #eee;
	font-size: .9em;
	border-radius: 10px;
	font-weight: 600;
}
#message {
	text-align:left;
	font-size: 1.1em;
}
#message div {
	padding : 15px 30px;
	background: #000;
	margin-bottom: 10px;
	border-radius:4px;
	font-weight: 500;
	color:#fff;
}
#message div p {
	margin-top: 5px;
	color:#fff;
	padding-bottom: 0;
}
#message div strong {
	color:var(--main-color);	
} 
.commentssubmit {
	display: table;
	height: 50px;
	line-height: 50px;
    cursor: pointer;
 	padding: 0 50px;
    border: none;
    -webkit-appearance: none;
    border-radius: 4px;
    position: relative;
	color:  #fff;
    text-transform: uppercase;
	background: #000;
	font-weight: 600;
    font-size: 11px;
 	font-family: var(--main-font);
	transition: all .2s linear;
}
.commentssubmit:hover {
    border-radius: 30px;
	color:  var(--main-color);
}
.comment-form_title {
	text-align: left;
    font-size: 1.3em;
    font-weight: 600;
	margin: 30px 0 ;
	border-top: 1px solid #eee;
	padding-top: 30px;
}
.csb-no-align {
	float: none;
	margin-top: 30px;
	display: inline-block
}
.commentssubmit i {
	margin-left: 10px;
	color:  var(--main-color);
	font-size: 1.3em;
	position: relative;
	top: 1px;
}
.commentssubmit:hover i {
	color:#fff;
}
.csb_color {
	background: var(--main-color);
	box-shadow: 0px 0px 0px 8px rgba(255, 255, 255, .2);
}
.csb_color:hover {
	color:#000;
	box-shadow: 0px 0px 0px 0px rgba(255, 255, 255, .2);
}
/*------contacts------------------------------------------------*/
.contacts-card-item {
	position: relative;
	padding: 30px 30px 30px 110px;
	overflow: hidden;
	border: 1px solid #eee;
	border-radius: 20px;
    background: #fff	;
 	transition: all .3s ease-in-out;
}
.contacts-card-item:before , .contacts-card-item:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50px;
    height: 50px;
    width: 1px;
    background: #eee;
    z-index: 1;
}
.contacts-card-item:after {
	bottom: auto;
	top: 0;
}
.contacts-card-item:hover {
	background: #fff;
	box-shadow: 0px 10px 84px 0px rgba(0,0,0,.05);
}  
.contacts-card-item i {
	position: absolute;
	top: 50%;
	left: 25px;
	font-size: 1.5em;
	width: 50px;
	height: 50px;
	line-height: 50px;
	border-radius: 6px;
	background: var(--main-color);
 	box-shadow: 0px 10px 14px 0px rgba(0,0,0,.2);
	transform: translateY(-50%);
 	transition: all .3s ease-in-out;
}
.contacts-card-item:hover i {
	background: #000;
	border-radius: 50%;
	color: var(--main-color);
}
.contacts-card-item span  {
	display: block;
	text-align: left;
	font-size: 1.4em;
	margin-bottom: 15px;
	font-weight: 600;
	position: relative;
}
.contacts-card-item p {
	font-size: .9em;
	line-height: 20px;
}
.contacts-card-item a {
	float: left;
    font-family: var(--secondary-font);
	margin: 10px 15px 0 0;
	font-weight: 500;
	color:var(--main-color);
	transition: all .2s ease-in-out;
	padding: 8px 15px;
	background: #f9f9f9;
	border: 1px solid #eee;
	border-radius: 30px;
}
.contacts-card-item a:hover {
	color:#666;
}
.contacts-cards-wrap {
	margin-bottom: 30px;
}
.contacts-opt-wrap {
	position: relative;
	overflow: hidden;
}
.contact-social {
	float: right;
}
.cs-title , .contact-social-container , .contact-wh_title , .contact-wh {
	float: left
}
.cs-title , .contact-wh_title{
	margin:18px 20px 0 0;
	text-transform: uppercase;
	font-weight: 600;
	font-size: .9em;
}
.contact-wh div strong {
	color:var(--main-color);
	padding-left: 10px;
} 
.contact-wh div {
	float: left;
	position: relative;
	padding: 15px 20px;
	border-radius: 10px;
	background: #fff;
	border: 1px solid #eee;
	margin-right: 10px;
	font-weight: 600;
} 
.contacts-form-wrap {
	margin-top: 30px;
}
/*------faq------------------------------------------------*/
.faq-nav-wrap {
	padding: 20px 50px;
}
.faq-nav {
	position: relative;
 	margin-bottom: 20px;
}
.faq-nav li {
   text-align: left;
   width: 100%;
   margin-bottom: 10px;
}
.faq-nav li a {
    display: block;
    padding: 0  25px  ;
	height: 60px;
	line-height: 60px;
    position: relative;
    text-transform: uppercase;
    font-weight: 600;
    border : 1px solid #eee;
	border-radius: 10px;
	font-size: .9em;
	transition: all .2s ease-in-out;
}
.act-scrlink , .faq-nav li a:hover {
	background: #f9f9f9;
}
.faq-nav li a:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f0da";
    position: absolute;
    top: 50%;
	transform: translateY(-50%);
    right: 5px;
	width: 50px;
	height: 50px;
	line-height: 50px;
	border: 1px solid #eee;
	background: #f9f9f9;
	border-radius: 10px;
	text-align: center;
    font-size: 12px;
	color:var(--main-color);
    font-weight: 900;
	transition: all .2s ease-in-out;
}
.faq-nav li a.act-scrlink:before , .faq-nav li a:hover:before {
	background: #fff;
}
.help-item-title {
	padding:  15px 40px;
	margin-bottom: 20px;
	text-align: left;
	border: 1px solid #eee;
 	border-radius: 10px;
	font-size: 1.6em;
	font-weight: 600;
	position: relative;
}
.help-item-wrap {
	margin-bottom: 20px;
	border: 1px solid #eee;
	border-radius: 20px;
	overflow: hidden;
	padding: 30px;
	background: #fff;
}
.help-item-wrap .accordion a.toggle  {
	background: #f9f9f9;
}
.help-item-wrap .accordion a.toggle i {
	background: #fff;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0.04);
}
.help-item-wrap .accordion a.toggle.act-accordion {
	background: #000
}
.help-item-wrap .accordion a.toggle.act-accordion i {
	background: var(--main-color);
}
/*------agent----------------*/ 
.agent-preofile-header{
	padding: 95px 50px 20px;
    font-weight: 600;
    position: relative;
    z-index: 10;
	border-bottom: 1px solid #eee;
	border-radius: 20px 20px 0 0;
}
.agent-preofile-header .property-contacts-links {
	transform: translateY(0);
	top: 70px;
	right: 30px;
}
.agent-preofile-header .messenger-links-container {
    position: absolute;
    top: 96px;
    right: 30px;
}
.agent-preofile-header-bg {
	position: absolute;
	top: 10px;
	left: 10px;
	bottom: 10px;
	right: 10px;
	border-radius: 10px;
	overflow: hidden;
	background: linear-gradient(rgba(249,219,146,1) 0%, rgba(238,120,56,1) 71%);
	z-index: 1;
}
.agent-preofile-header:after {
	content: '';
	position: absolute;
 	height:44px;
	left: 0;
	right: 0;
	bottom: 0;
	background: #fff;
	z-index: 2;
}
.agent-preofile-content {
	position: relative;
	overflow: hidden;
	padding: 10px  ;
}
.agent-preofile-content-text {
	border: 1px solid #eee;
	border-radius: 10px;
	background: #f9f9f9;
	padding: 20px;
}
.agent-preofile-content .tagcloud_single {
    padding: 10px 0 5px 10px;
    margin-top: 10px;
}
.agent-preofile-content .tagcloud_single .tags-widget a {
    padding: 10px 15px;
}
.agent-preofile-content h4 {
	text-align: left;
	font-weight: 600;
	font-size: 1.4em;
	margin-bottom: 10px;
}
.agent-preofile-content p {
	font-size: .95em
}
.agent-preofile-content .contact-social {
	float: none;
	display: table;
}
.agent-preofile-header-avatar , .agent-preofile-header-avatar-item {
	position: relative;
	z-index: 5;
}
.agent-preofile-header-avatar-item {
	width: 70px;
	height: 70px;
	border-radius: 50%;	
	box-shadow: 0 9px 16px rgba(58, 87, 135, 0.2);
}
.agent-preofile-header-avatar-item:before {
    content: '';
    position: absolute;
    left: -10px;
    top: -10px;
    right: -10px;
    bottom: -10px;
    background: #fff;
    z-index: 1;
    border-radius: 50%;
}
.agent-preofile-header-avatar img {
	width: 70px;
	height: 70px;
	border-radius: 50%;
	position: relative;
	z-index: 2;
}
.abs_bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
	background-size: cover;
    background-attachment: scroll;
    background-position: center;
    background-repeat: repeat;
    background-origin: content-box;
    background-image: url(../images/map.png);
    opacity:  .3;
    z-index: 2;
}
.profile-card-stats {
	position: absolute;
	bottom: 18px;
	left: 180px;
	right: 30px;
	padding: 15px 0;
	background: #fff;
	border-radius: 10px;
	border: 1px solid #eee;
	z-index: 20;
	overflow: hidden;
	box-shadow: 0 6px 20px rgb(0 0 0 / 7%);
}
.profile-card-stats:before {
	content: '';
	position: absolute;
	left: 50%;
	width: 1px;
	top: 14px;
	bottom: 14px;
	background: #eee;
}
.profile-card-stats li {
	float: left;
	width: 50%;
	text-transform: uppercase;
	font-size: .9em;
	font-weight: 600;
	text-align: center;
}
.profile-card-stats li span {
	padding-right: 6px;
	color:var(--main-color);
}
.agent-preofile-footer {
	border-top: 1px solid #eee;
	overflow: hidden;
	position: relative;
	border-radius: 0 0 20px 20px;
}
.agent-preofile-footer_title , .agent-preofile-footer-social a {
	float: left;
}
.agent-preofile-footer_title {
	line-height: 60px;
	padding-left: 30px;
	text-transform: uppercase;
	font-weight: 600;
}
.agent-preofile-footer-social {
	float: right;
}
.agent-preofile-footer-social a {
	width: 60px;
	height: 60px;
	line-height: 60px;
	border-left: 1px solid #eee;
}
.agent-preofile-footer-social a:hover {
	background: #000;
	color:var(--main-color);
}
/*------pricing-table----------------*/ 
.pricing-column {
	padding:   40px 40px 20px;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	transition: all .3s ease-out;
	box-shadow: 0 10px 32px 0px rgba(0, 0, 0, .04);
}
.pricing-column:hover{
	transform: translateY(-10px);
}
.pricing-header h3 {
	text-align: left;
	font-size: 20px;
	font-weight: 600;
}
.pricing-header h3 span {
	padding-right: 6px;
	font-size: 12px;
}
.price-num {
	padding:10px 15px 0 0;
	overflow:hidden;
	text-align: left;
} 
.price-num {
	padding:10px 15px 0 0;
	overflow:hidden;
	text-align: left;
}
.pricing-header p {
	font-weight: 400;
} 
.price-num span.curen {
	position:relative;
	top:-32px;
	padding-right:7px;
	font-weight:400;
	font-size:19px;
	color: #ccc;
}
.price-num-item {
	font-size:55px;
	position:relative;
	font-weight:400;
	color: #292929;
	float: left;
}
.pricing-content {
	margin: 5px 0 0;
	padding: 15px 0 0;
	border-top: 1px solid #eee;
}
.price-num-desc {
	float:left;
	position: relative;
	margin: 30px 0 0 20px;
	font-weight: 500;
}
.price-num-desc span:before {
	content: "";
	position: absolute;
	left: -10px;
	top: 4px;
	width: 1px;
	height: 12px;
	background: #ddd;
	transform: rotate(40deg);
}
.pricing-content li {
	float: left;
	width: 100%;
	margin-bottom: 12px;
	text-align: left;
	padding-left: 30px;
	position: relative;
	font-size: 12px;
	font-weight: 500;
}
.pricing-content li.not-included {
	color: #ccc;
	text-decoration: line-through;
}
.pricing-content li:before {
    font-family: "Font Awesome 6 Pro";
	content: "\f00c";
	position: absolute;
	bottom: 3px;
	font-size: 11px;
	left:0;
}
.pricing-content li.not-included:before {
	content: "\f307";
	color:var(--main-color);
}
.pprice-link {
	color:#fff;
	padding: 16px 0;
	border-radius: 6px;
	margin-top: 20px;
	transition: all .3s linear;
	transform: translateY(0);
	box-shadow: 0 0 0 rgba(0,0,0,0.03);
	font-weight: 600; 
	background: var(--main-color);
}
.pprice-link:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 12px 0px rgba(0, 0, 0, .07);
}
.pricing-switcher-header {
	overflow: hidden;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #eee;
}
.pricing-switcher-title {
	float: left; 
	font-size:1.9em;
	font-weight: 600;
 	margin-top: 12px;
}
.pricing-switcher {
	text-align: center;
	position:relative;
	float: right;
}
.pricing-switcher .fieldset {
	display: inline-block;
	position: relative;
	padding: 2px;
	border-radius:10px;
 	border: 1px solid #eee;
	background: #fff;
}
.pricing-switcher input[type="radio"] {
	position: absolute;
	opacity: 0;
	left:-1000px;
}
.pricing-switcher label {
	position: relative;
	z-index: 1;
	display: inline-block;
	float: left;
	width: 210px;
	height: 56px;
	line-height: 56px;
	cursor: pointer;
	font-weight:600;
	color:#000;
    transition: all .4s ease-out;
}
.pricing-switcher .switch {
	position: absolute;
	top: 7px;
	left: 7px;
	height: 46px;
	width: 210px;
	background: #f9f9f9;
	border-radius: 10px;
    transition: all .3s ease-out;
 	border: 1px solid #eee;
	box-shadow: 0px 10px 12px 0px rgba(0, 0, 0,  .07);
}
.pricing-switcher input[type="radio"]:checked + label + .switch,
.pricing-switcher input[type="radio"]:checked + label:nth-of-type(n) + .switch {
	-webkit-transform: translateX(200px);
	transform: translateX(200px);
}
.pricing-switcher input[type="radio"]:checked + label {
	color: #292929;
}
.mouth-cont {
	z-index:1;
	opacity:1;
	position:relative;
}
.year-cont {
	position:absolute;
	left:0;
	opacity:0;
	top:0;
	z-index:2;
}
.year-cont   , .price-item{
    transition: all .3s ease-out;
}
.year-mont .mouth-cont {
	opacity:0;
}
.year-mont .year-cont {
	opacity:1;
}
.price-num-desc .year-cont {
	margin-left: 30px;
	width: 100px;
}
.recomm-price {
	position: absolute;
	right: 0;
	top: 0;
	padding: 12px 20px;
 	border-bottom: 1px solid #eee;
	border-left: 1px solid #eee;
	font-size: .9em;
	font-weight: 600;
	color: var(--main-color);
	border-radius: 0 0 0 20px;
	background: #000;
	box-shadow: 0 10px 12px 0px rgba(0, 0, 0, .17);
} 
 /*------ about------------------------------------------------*/
.about-wrap p {
	text-align: justify;
}
.about-img-hotifer p {
	color: #fff;
	margin-bottom: 10px;
	text-align: left;
}
.about-title {
	text-align: left;
}
.about-title h2{
    font-size:1.9em;
    text-align: left;
    font-weight: 600;
	margin:10px 0 4px;
}
.about-title h4 {
	font-weight: 500;
	font-size: 1.2em;
 	position: relative;
}
.about-title.ab-hero h4 {
	margin-bottom: 40px;
}
.about-title.ab-hero2 h4:before , .about-title.ab-hero2 h4:after {
	content: '';
	position: absolute;
	bottom: -20px;
	left: 0;
	right: 0;
	height: 1px;
	background: #eee;
	z-index: 1
}
.about-title.ab-hero2 h4:after {
	right: auto;
	width: 30px;
	z-index: 2;
	background: var(--main-color); 
}
.about-img {
	position: relative
}
.ab_i2 {
	padding-left: 50px;
}
.about-img img {
	border-radius: 20px  ;
	position: relative;
	z-index: 10;
}
.about-img-hotifer {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 280px;
	padding: 15px 20px;
	z-index: 11;
	border-radius:0 20px 0 20px;
	background: #000;
	color: #fff;
	text-align: left; 
	box-shadow: 0 0 0 10px #fff;   
}
.about-img-hotifer:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f10e";
    bottom: 30px;
    right: 20px;
    position: absolute;
    font-size: 1.5em;
	font-weight: bold;
	color:  var(--main-color);
}
.ab_img_wideo_wrap {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 280px;
	padding: 15px 30px;
	z-index: 11;
	border-radius:  20px 0   20px 0;
	background: #000;
	color: #fff;
	text-align: left; 
	box-shadow: 0 0 0 10px #fff;
	overflow: hidden;
}
.video-link {
	padding: 0 20px 0 80px;
	height: 46px;
	line-height: 46px;
	color:#fff;
	background: #000;
	border-radius: 50px;
	text-transform: uppercase;
	font-size: .9em;
	font-weight: 500;
	cursor: pointer;
	position: relative;
}
.video-link i {
	position: absolute;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 50%;
	background:var(--main-color);
	top: 50%;
	margin-top: -20px;
	left: 5px;
	text-align: center;
	color:#000;
	box-shadow: 0px 0px 0px 8px rgba(255, 255, 255, .2);
}
.services-opions {
	overflow: hidden
}
.services-opions li {
	float: left;
	width: 100%;
	position: relative;
	padding:20px 30px 20px 105px;
	margin-bottom: 10px;
	border: 1px solid #eee;
	border-radius: 10px;
	background: #f9f9f9;
}
.services-opions li:last-child {
	margin-bottom: 0;	
}
.services-opions li i {
	width: 70px;
	height: 70px;
	line-height: 70px;
 	background: #fff;
	border: 1px solid #eee;
	border-radius: 10px;
	position: absolute;
	left:15px;
	top: 50%;
	transform: translateY(-50%);
	font-size:1.7em;
	color:  var(--main-color);
	box-shadow: 0px 10px 12px 0px rgba(0, 0, 0, .07);
}
.services-opions li h4 {
	text-align: left;
	padding-bottom: 4px;
    font-weight: 600;
    font-size: 1.3em;
}
.services-opions li p {
	padding-bottom: 0;
}
.process-wrap {
	overflow: hidden;
	padding: 10px;
	position: relative;
	background: rgba(0,0,0,.5);
	-webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
	border-radius: 20px;
	border: 1px solid rgba(255,255,255,.2)
}
.process-wrap li {
	float: left;
	width: 33.3333333%;
	padding: 10px;
	text-align: left;
}
.process-item {
	background: #000;
	border-radius: 20px;
	padding: 30px;
	position: relative;
	border: 1px solid rgba(255,255,255,.2)
}
.process-count {
	color:#fff;
	margin-bottom: 30px;
	display: block;
	font-size: .9em;
	width: 36px;
	height: 36px;
	line-height: 36px;
	text-align: center;
	border-radius: 6px;
	background: #111;
	border: 1px solid rgba(255,255,255,.2)
}
.process-item-icon {
	color:  var(--main-color);
	font-size: 3.4em;
	position: absolute;
	top: 20px;
	right: 30px;
}
.process-item h4 {
	color:#fff;
	font-size: 1.4em;
	font-weight: 500;
	padding-bottom: 10px;
}
.process-item p {
	color: rgba(255,255,255,.8)
}
/*------ about---------------*/
.agent-bg-section {
	position: relative;
	overflow: hidden;
	padding: 30px 30px 0;
	background: #fff;
}
.parallax-section-wrap {
	position: relative;
	overflow: hidden;
	padding: 90px 0;
}
.parallax-section-content {
	text-align: left;
	padding-top: 30px;
}
.parallax-section-content h3 {
 	color:#fff;
	font-weight: 500;
	font-size: 2.2em;
	margin-bottom: 20px;
	position: relative;
}
.parallax-section-content p {
	color:rgba(255,255,255,.7);
}
.content-section {
	padding-top: 70px
}
.agnet-carousel-wrap {
	position: relative;
 	padding: 30px 30px 30px 470px;
 	background: #f9f9f9;
 	border-radius: 20px;
 	border: 1px solid #eee;
}
.fw_car_title-wrap {
	position: absolute;
	top: 60px;
	left: 60px;
	width: 420px;
	background: #fff;
	bottom: 30px;
	border-radius: 20px;
  	border: 1px solid #eee;
	z-index: 10;
	padding: 0 50px;
}
.fw_car_title {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	text-align: left;
}
.fw_car_title h3 {
	font-weight: 600;
    font-size: 2.4em;
    position: relative;
	margin-bottom: 20px;
}
.fw_car_title h3:before , .post-banner-widget_content h5:before {
	content: '';
	position: absolute;
	top: -30px;
	left: 0;
	width: 40px;
	height: 1px;
	background:  var(--main-color);
}
.agent-card-item_media {
	padding: 10px;
}
.agent-card-item_media-wrap {
	overflow: hidden;
	border-radius: 20px;
	box-shadow: 0 10px 14px 0px rgba(0, 0, 0, .17);
	position: relative;
}
.agent-card-item_media-wrap .overlay {
	opacity:0;
	transition: all .3s ease-in-out;
}
.agent-card-item_media-wrap:hover .overlay {
	opacity:.5;
}
.acim-wrap {
	position:absolute;
	bottom: -100%;
	right:20px;
    box-shadow: 0px 0px 0px 6px rgba(255, 255, 255, .2);
	z-index:5;
 	transition: all .3s ease-in-out;
	padding:12px 20px;
	background: #000;
	border-radius: 10px;
}
.agent-card-item_media-wrap:hover .acim-wrap{
	bottom: 20px
}
.acim-wrap li {
	display:inline-block;
	margin: 0 10px;
}
.acim-wrap li a {
	color:var(--main-color);
	font-size: 1.3em;
 	transition: all .3s ease-in-out;
}
.acim-wrap li a:hover {
	 color:#fff;
}
.agent-card-item {
	overflow: hidden;
	border-radius: 20px;
	background: #fff;
 	border: 1px solid #eee;
}
.agent-card-item_text {
	padding:  10px;
}
.agent-card-item_text-item {
	border: 1px solid #eee;
	border-radius: 20px 20px 20px 0;
	padding: 20px  ;
	background: #fff;
}
.agent-card-item_text-item h4 {
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #eee;
} 
.agent-card-item_text h4:before {
    margin-top: -4px;
}
.agent-card-item_footer {
 	padding: 0 20px 20px;
	position: relative;
 	z-index: 20;
}
.agent-card-item_footer:before{
	content: '';
	position: absolute;
	right: 150px;
	left: 10px;
	bottom: 10px;
	top: -10px;
	background: #fff;
	border-radius: 0 0 20px 20px;
	border: 1px solid #eee;
	border-top: none;
}
.agent-card-item_footer .property-contacts-links {
	right: 20px;
	margin-top: -29px;
}
.agent-card-item_footer .property-contacts-links a {
	border: 1px solid #eee;
	box-shadow: 0px 10px 12px 0px rgba(0, 0, 0, .07);
}
.agent-card-item_footer .post-card_link {
	margin-top: 0
}
.agent-card-item_text  .post-card-details {
	border: none;
	padding: 0;
}
.agent-card-item_footer .messenger-links-container {
    top:auto;
    right: 25px;
	bottom: 80px;
}
.agent-carousel_controls {
	position: absolute;
	left: 300px;
	height: 70px;
	padding: 10px 30px 0;
	background: #f9f9f9;
	bottom: 30px;
	z-index: 20;
	border-top: 1px solid #eee;
	border-left: 1px solid #eee;
	border-radius: 20px 0 0 0;
}
.city-carousel_controls {
	position: absolute;
	left: 250px;
	height: 64px;
	border-radius: 20px 0 0 0;
	padding: 14px 30px 0;
	background: #000;
	bottom: 20px;
	z-index: 20;
}
.ac-button , .csc-button{
	float: left;
    width: 50px;
    height: 50px;
	margin-left: 10px;
    line-height: 50px;
    border-radius: 50%;
    background: #000;
    color: var(--main-color);
    z-index: 50;
    cursor: pointer; 
    box-shadow: 0px 10px 12px 0px rgba(0, 0, 0, .17);
	transition: all .2s linear;
}
.csc-button {
	background: #292929;
	border: none;
}
.csc-button:hover , .ac-button:hover , .tc-button:hover {
	background: var(--main-color);
	color:#fff;
} 
/*------ api-----------------*/
.api-container ,.api-wrap  , .api-text , .api-img {
	position: relative;
}
.api-container , .api-text {
	z-index: 2;
}
.api-wrap-bg {
	position: absolute;
	top: 80px;
	bottom: 50px;
	right: 0;
	left:0;
	border-radius: 20px;
	border: 1px solid #eee;
	z-index: 1;
}
.api-img {
 	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
 	width: 700px;
	z-index: 3;
}
.api-container {
	padding-left: 750px;
}
.api-wrap-bg:before {
	content: '';
	position: absolute;
	top: 30px;
	left: 30px;
	right: 30px;
	bottom: 30px;
    background: linear-gradient(rgba(249, 219, 146, 1) 0%, rgba(238, 120, 56, 1) 71%);
	border-radius: 20px;
}
.api-text {
 	padding: 180px    120px 140px 0;
}
.api-text h3 {
	text-align: left;
	color:#fff;
    font-size: 2.5em;
    font-weight: 500;
	margin-bottom: 10px;
}
.api-text   p {
	color:#fff;
}
.api-text-links {
	overflow: hidden;
	margin-top: 20px;
}
.api-text-links a {
	padding: 0 80px 0 30px;
	float: left;
	margin-right: 20px;
	height: 60px;
	line-height: 60px;
	background: #000;
	border-radius: 40px;
	text-transform: uppercase;
	color:#fff;
	font-weight: 600;
}
.api-text-links a i {
	position: absolute;
	height: 52px;
	line-height: 52px;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	background:  var(--main-color);
	width: 52px;
	border-radius: 50%;
 	color:#fff;
	font-size: 1.7em;
    transition: all .3s ease-out;
}
.api-text-links a:hover i {
	transform: translateY(-50%) scale(.8);
	background: #fff;
	color: var(--main-color);
}
.api-wrap-bg-container {
 	position: absolute;
    top: 50%;
    left: 60%;
	right: 0;
	bottom: 0;
	z-index: 1;
}
.api-bg-pin  {
	position:absolute;
	width:6px;
	height:6px;
	border-radius:100%;
	z-index: 100;
	background: #fff;
}
.api-bg-pin:first-child {
	left:30%;
	bottom:20%
}
.api-bg-pin:nth-child(2) {
	right:20%;
	bottom:30%
}
.api-bg-pin:before {
	content:'';
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
	background:#fff;
	border-radius:50%;
	z-index:-1;
	opacity: .4;
}
@keyframes pulse {
    100% {
		transform: scale(22.1);
		opacity:0;
    }
}
.api-bg-pin-vis:before {
	animation: pulse 3.0s infinite ease-in-out;
}

/*------ facts---------------*/
.inline-facts {
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid #eee;
	margin-top: 10px;
	padding: 30px 40px 50px 40px;
	text-align: left;
	position: relative;
}
.inline-facts h6 {
	font-weight: 500;
	position: relative;
}
.inline-facts h6:before {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 0;
	width: 30px;
	height: 1px;
	background: var(--main-color);
}
.inline-facts:before   {
    content: '';
    position: absolute;
	top: 0;
    bottom: 0;
    right: 54px;
    width: 1px;
    background: #eee;
    z-index: 1;
}
.inline-facts .num {
	font-weight: 600;
	font-size: 3.5em;
}
.inline-facts i {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--main-color);
    font-size: 1.8em;
    width: 50px;
    height: 50px;
    line-height: 50px;
    background: #f9f9f9;
    border-radius: 10px;
    box-shadow: 0 10px 14px 0px rgba(0, 0, 0, .07);
	text-align: center;
	border: 1px solid #eee;
	z-index: 2;
}
/*------ testimonilas-----------------*/
.testimonilas-carousel {
 	position: relative;
	overflow: hidden;
	border-radius: 20px;
 	padding: 30px 30px 50px;
	background: #f9f9f9;
	border: 1px solid #eee;
}
.testimonilas-carousel-wrap {
	position: relative;
	padding:  30px;
	z-index: 10;
}
.testimonilas-carousel-wrap .fwc-controls_wrap {
	bottom: 29px;
}
.testi-item {
	background: #fff;
	position: relative;
	z-index: 1;
	overflow: hidden;
	border: 1px solid #eee;
	border-radius: 20px;
}
.testi-header {
	position: relative;
	border-bottom: 1px solid #eee;
	background: #fff;
	padding: 26px 30px 26px 100px;
}
.testi-header h3 {
	text-align: left;
    font-size: 1.3em;
    font-weight: 600;	
}
.testi-avatar {
	position: absolute;
	left: 30px;
	top: 50%;
	overflow: hidden;
	border-radius: 50%;
	margin-top: -25px;
    box-shadow: 0 10px 24px 0px rgba(0, 0, 0, .2);
}
.testi-avatar img , .testi-avatar {
	width: 50px;
	height: 50px;	
}
.testimonilas-text-item {
	padding: 30px 30px 0;
}
.testimonilas-text-item-wrap {
	padding: 30px;
	background: #f9f9f9;
	border: 1px solid #eee;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
 	transition: all .3s ease-in-out;
}
.testimonilas-carousel .swiper-slide-active .testimonilas-text-item-wrap{
	transition-delay: .9s;
    box-shadow: 0 10px 14px 0px rgba(0, 0, 0, .04);
}
.testimonilas-text-item-wrap:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f10e";
    bottom: 10px;
    right: 20px;
    position: absolute;
    font-size: 4.5em;
    font-weight: bold;
    color: #ddd;
	z-index: 1;
}
.testimonilas-text-item-wrap p{
	position: relative;
	z-index: 2;
	padding-bottom: 0;
	font-weight: 400
}
.testi-footer {
	position: relative;
	padding: 20px 30px;
	overflow: hidden;
}
.testi-footer:before {
	content: '';
	position: absolute;
	left: 30%;
	right: 20%;
	height: 1px;
	background: #eee;
	top: 50%;
}
.testi-link {
	float: left;
    background: #fff;
    padding: 0 20px;
    border: 1px solid #eee;
	height: 40px;
	line-height: 40px;
    font-size: .9em;
    border-radius: 10px;
    font-weight: 600;
	box-shadow: 0px 10px 12px 0px rgba(0, 0, 0, .07);
}
.testi-number {
	position: absolute;
	top: 50%;
	right: 30px;
	height: 30px;
	line-height: 30px;
	background: #000;
	color: var(--main-color);
	margin-top: -15px;
	border-radius: 4px;
	padding: 0 15px;
	font-weight: 600;
    font-size: .9em;
}
.tc-button   {
	position:absolute;
	top:50%;
	width: 50px;
    height: 50px;
    line-height: 50px;
    margin-top: -25px;
    border-radius: 50%;
    background: #000;
 	color:var(--main-color);
	z-index:50;
	cursor:pointer;
    box-shadow: 0px 10px 12px 0px rgba(0, 0, 0, .17);
	transition: all .2s linear;
}
.tc-button-next {
	right:5px;
}
.tc-button-prev   {
	left:5px;
}
.video-holder {
	position: absolute;
	width: 100%;
	height: 100% !important;
	display: block;
	overflow: hidden !important;
	top: 0;
	left: 0;
	padding: 0 !important;
}
.video-container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	line-height: 0;
	z-index: -1;
}
.video-container video {
	width: 100%;
}
.nav-button-wrap , .show-mob-filter {
	display: none;
}
.lg-actions .lg-next, .lg-actions .lg-prev {
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .2);
 	color:var(--main-color);
	background: #000;
}
/*------ responsive-----------------*/
@media only screen and  (max-width: 1568px) {
.hsc_flat .property-single-header-price {
    position: relative;
    top: 0;
    margin-top: 20px; 
	width: 100%;
	text-align: left;
	border-radius: 6px;
}
}
@media only screen and  (max-width: 1268px) {
.logo-holder {
	margin-left: 0;
}
.header-search-btn {
 	width: 30px; 
 	margin: 0 0 0 20px;
}
.geodir-category-content {
    padding: 20px;
}
.fw-listing-item     .geodir-category-content {
    padding: 20px 20px 90px;		
}
.fw-listing-item  .geodir-category-footer {
    width: 100%;
}	
.geodir-category-img_item {
    height: 250px;
}
.geodir-category-img {
    border-radius:  0;
}	
.geodir-category-img .geodir-category-location , .geodir-category-img .list-single-opt_header_cat {
    left: 20px;
}
.city-carousel-wrap , .agnet-carousel-wrap {
    padding: 20px  20px 68px;
}
.half-carousel-title-wrap , .fw_car_title-wrap {
    position: relative;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
 	padding: 60px 0 30px;
	margin-bottom: 20px;
}
.fw_car_title-wrap {
 	padding: 30px 20px 0;
	border: none;
}
.half-carousel-title , .fw_car_title  {
    top: 0;
    transform: translateY(0);
}
.city-carousel_controls , .agent-carousel_controls {
 	height: 60px;
    left: 10px;
 	bottom: 0;
    padding: 0;
}
.agent-carousel_controls {
    left: 20px;
	border: none;
}	
.sc-controls {
    bottom: 14px;
    right: 30px;
}
.api-container {
    padding-left: 450px;
}
.api-img {
    width: 400px;
}
.agent-bg-section {
	padding: 0 10px 0;
}
.recent-post-img , .recent-post-content {
    width: 100%;
    border: none;
}
.recent-post-content , .faq-nav-wrap {
    padding: 20px  ;
}
.three-columns-grid {
    grid-template-columns: auto auto ;
}
.two-columns-grid.fw-listing-item.fw-listing-item2 .geodir-category-content {
    padding: 20px 20px 30px;
}
.hero-section-title h2 {
    font-size: 3.4em;
}
.hero-section-container {
    padding: 200px 0 70px;
}
.hero-section-title_container {
    padding: 0 220px 0 50px;
}
.hero-section-title_container.hsc_flat {
    padding: 0 ;
}
.fw-carousel {
    height: 450px;
}	
}
@media only screen and  (max-width: 1068px) {
.header-inner , .header-search-btn , .wish_btn {
    height: 80px;
}
.header-inner {
    padding: 0 0 0 10px;
}	
.wrapper {
    margin-top:80px;
}
.header-btn {
    top: 10px
}
.header-search-btn , .wish_btn {
    line-height: 80px;
}	
.nav-button-wrap {
	float:right;
	height:80px;
	width:80px;
	cursor:pointer;
	position:relative;
	display: block;
	border-left:1px solid #eee;
	margin-left:20px;
}
.nav-button-wrap:before{
    font-family: "Font Awesome 6 Pro";
	content: '\f00d';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	font-size: 1.7em;
	opacity: 0;
    transition: all .3s linear;
}
.nav-button  {
	position:absolute;
	top:50%;
	left:50%;
	width:22px;
	height:20px;
	margin-left:-11px;
	margin-top:-6px;
}
.nav-button span{
	float:left;
	width:100%;
	height:2px;
	background: #000;
	margin-bottom:4px;
	border-radius:4px;
    transition: all .3s linear;
}
.nav-button span:first-child {
    width: 50%;
}	
.vis_nbwc .nav-button span , .vis_nbwc .nav-button span:first-child {
	width:  0;		
}
.vis_nbwc:before {
	opacity: 1;
	transition-delay: .3s;
}	
.main-menu{
	position: absolute;
	top:81px;
	right:-20px;
	width:300px;
	z-index:50;
 	padding:15px 10px ;
	background: #000;
	visibility:hidden;
	opacity:0;
	border-radius: 0 0 10px 10px;
	transition: all .4s  ease-in-out;
}
.vismobmenu {
	opacity:1;
	right:0;
	visibility:visible;
}
.menusb {
	display:block;
	float:left;
	position:relative;
	width:100%;
	overflow:hidden;
}
.main-menu .menusb ul  {
	display:block;
	float:left;
	position:relative;
	width:100%;
}
.menusb li {
	margin: 0;
	float: left;
	width:100%;
	position:relative;
	overflow:hidden;
	padding:0 20px;
}
.menusb   li i {
	position:absolute;
	right:18px;
	top:12px;
}
.menusb   li i:before {
	content:"\f0da"
}
.menusb  a {
	float:left;
	width:100%;
	padding:8px 5px;
	position:relative;
	font-weight: 600;
	text-transform:uppercase;
    font-family: var(--secondary-font);
	color: #fff;
	line-height:20px;
	text-align:left;
}
.menusb a.back{
	padding-left:24px;
}
.menusb a.back:before{
    font-family: "Font Awesome 6 Pro";
	content: "\f177";
	font-size:14px;
}
.menusb a.act-link , .menusb a.back:before , .menusb   li i {
 	color: var(--main-color);		
}
.main-header .container , .about-img-hotifer , .ab_img_wideo_wrap , .listing-grid_heroheader .gallery-filters , .pricing-switcher , .pricing-switcher .fieldset , .lws_mobile .list-searh-input-wrap-title_wrap	.list-searh-input-radio_wrap , .lws_mobile .hidden-listing-item .filter-tags li , .show-info , .hsc_flat .hero-section-opt  {
    width: 100%;
} 
.main-register_bg , .height-emulator , .mob-hid , .api-img , .main-menu nav ul  , .more_search-btn , .back-tofilters-wrap , .hero-section-agent_link  , .hs-pv_wrap      {
	display: none
}
.main-register-wrap {
    padding-left: 0;
}
.main-register-container {
    justify-content: flex-start;
    align-items:flex-start;
	padding-top: 90px;
}
.main-footer {
    position: relative;
 	overflow: hidden;
}
.footer-widget {
	margin-bottom: 20px;
}
.hero-section-title.hs_align-title {
    margin-top: 0;
}
.listing-grid_heroheader .gallery-filters {
    position: relative;
    top: 0;
    right: 0;
	margin-top: 20px;
}
.gallery-item, .listing-grid-item , .pricing-switcher label , .pricing-switcher .switch {
    width: 50%;
}
.gisp .gallery-item, .gisp .listing-grid-item {
    padding: 10px  ;
}
.services-opions {
   margin-bottom: 20px
}
.about-img-hotifer , .ab_img_wideo_wrap {
    position: relative;
    padding: 15px 20px;
    z-index: 11;
    border-radius:   20px;
    box-shadow: 0 0 0 0;
	margin-top: 20px;
}
.process-wrap {
    margin-top: 30px;
}
.api-container {
   padding-left: 0;
 }
.api-text {
    padding: 40px;
}
.api-wrap-bg {
    top: 0;
    bottom: 0;
}
.api-wrap-bg:before {
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
}
.api-text h3 , .hero-section_sin h2 , .hsc_flat .hero-section-title h2 {
	font-size: 2.2em;
}
.api-text-links  {
	margin: 0
}	
.api-text-links a   {
    margin: 10px 0 0 0;
}
.sb-container {
	margin: 30px 0 0 0;
}	
.api-wrap-bg-container {
    left: 0;
}
.list-searh-input-wrap-hero .cs-intputwrap {
    margin-bottom: 10px;
}
.list-searh-input-wrap.list-searh-input-wrap-hero.lsiwh_2 {
	padding-bottom: 0!important
}
.hero-section_sin .hero-section-container.hsc2 {
    padding: 80px 0;
}
.wrapper{
    overflow: hidden;
}
.hero-section {
    margin-top: 0;
}
.ab_i2 {
    padding-left:0;
	margin-top: 20px;
}
.scroll-content-wrap {
    padding-left: 0;
}
.help-item-title {
    padding: 15px 20px;
    font-size: 1.2em;
}	
.pricing-column {
    padding: 40px 30px 20px;
	margin-bottom: 10px;
}
.pricing-switcher-title {
    font-size: 1.5em;
    text-align: left;
	margin: 10px 0;
	width: 100%;
}
.pricing-switcher , .pricing-switcher .fieldset  {
    float: left;
}
.pricing-switcher input[type="radio"]:checked + label + .switch,
.pricing-switcher input[type="radio"]:checked + label:nth-of-type(n) + .switch {
	-webkit-transform: translateX(calc(100% - 12px));
	transform: translateX(calc(100% - 12px));
}
.lws_mobile {
	position: fixed;
	top: 80px;
	left: -400px;
	width: 350px;
	bottom: 0;
	border-radius: 0;
	overflow-x:hidden;	
	overflow-y: auto;
	padding: 40px 10px 20px;
	z-index: 40;
}		
.hidden-listing-filter {
    position: relative;
    top:0;
    margin-top: 20px;
    background: #fff;
    border-radius: 0;
    width: 100%;
    padding: 0;
    border: none;
    box-shadow: 0 10px 34px 0px rgba(0, 0, 0, 0);
    display: block;
}	
.lsw_mb-btn .commentssubmit {
    margin-top: 30px;
}	
.list-searh-input-wrap-title {
    top: 0;
}	
.lws_mobile .list-searh-input-wrap-title_wrap	.list-searh-input-radio_wrap {
    position: relative;
	margin-top: 30px;
}
.lws_mobile .custom-form .price-range-wrap {
    margin-top: 10px;  
}
.close_mob-filter {
	display: block;
	position: absolute;
	top: 30px;
	right: 10px;
	width: 40px;
	height: 40px;
	line-height: 40px;
	background: #f9f9f9;
	border: 1px solid #eee;
	border-radius: 4px;
	cursor: pointer;
	z-index: 50;
}
.show-mob-filter {
	position: relative;
	padding: 18px 40px;
	border-radius: 6px;
    background: var(--main-color);
	cursor: pointer;
    text-transform: uppercase;
    font-weight: 600;
	font-size: 11px;
	display: block;
}
.show-mob-filter i{
	color:#fff;
	margin-right: 10px;	
}
.two-columns-grid.fw-listing-item.fw-listing-item2{
 	grid-template-columns: auto;		
}
.hero-section-breadcrumbs .breadcrumbs-list {
    height: auto;
    line-height:1;
	overflow: hidden;
} 
.hero-section-breadcrumbs .breadcrumbs-list a, .hero-section-breadcrumbs  .breadcrumbs-list span {
	padding: 20px 20px 20px 0;
}
.hero-section-breadcrumbs .breadcrumbs-list a:before {
    top: 50%;
    margin-top: -7px;
}	
.hero-section-breadcrumbs {
    border-radius: 10px;
}
.hero-section-container {
    padding: 120px 0 110px;
}
.hero-section-title_container {
    padding:  0 30px;
}
.nerby-list-wrap {
	margin-top: 20px;
}
.show-info span {
    bottom: 20px;
    right: 20px;
}
.tooltip-info {
    bottom: 50px;
    right: 20px;
	left: 20px;
}
.share-holder{
	position: relative;
	width:100%;
	overflow: hidden;
	margin-bottom: 20px;
}
.share-holder a , .share-title , .share-container{
	float: left;
}
.share-holder a  {
	border-top: none;
	border-left: 1px solid #eee;
}
.share-container a:first-child  {
	border-left: none;
}		
.share-title {
	margin: 18px 20px 0 20px;
}	
.share-container{
	width: auto
}
}
@media only screen and  (max-width: 768px) {
.header-btn , .show-reg-form span , .wish_btn-item:before , .footer-bottom:before, .footer-bottom:after , .pv-item_wrap_single , .contacts-card-item i , .contacts-card-item:before, .contacts-card-item:after , .hs-pv_wrap   , .hero-section-wrap-item .svg-corner  , .hero-section-wrap-item .hs-scroll-down-wrap  , .synk-slider-thumbnails-wrap  {
	display: none
}
.wish_btn {
    margin-right:  5px;
}
.show-reg-form i{
	margin: 0;
	font-size: 1.7em;
	font-weight: 400;
}
.show-reg-form  {
	padding: 0;
	width: 30px;
	background: none;
	border:none;
	box-shadow: 0 10px 24px 0px rgba(0, 0, 0, 0);
    margin-right: 20px;
	line-height:1;
}
.footer-bottom {
    height:auto;
  	border-top: 1px solid rgba(255,255,255,.1);
	overflow: hidden;
}
.three-columns-grid , .two-columns-grid {
    grid-template-columns: auto ;
} 	
.footer-social {
    float: left;
}	
.footer-inner {
    padding: 90px 0 30px;
}
.home-hero-section .hero-section-title h2 {
    font-size: 2.7em;
}
.boxed-container {
    border-radius: 10px;
    padding: 10px;
}
.boxed-content-title {
    padding: 25px 20px;
}
.boxed-content-title:before, .boxed-content-title:after, .lws_column .list-searh-input-wrap-title:before, .lws_column .list-searh-input-wrap-title:after, .contacts-card-item span:before, .contacts-card-item span:after, .help-item-title:before, .help-item-title:after, .testi-header:before, .testi-header:after{
	right: 20px;	
}	
.boxed-content-item , .boxed-content-item.bc-item_smal_pad {
    padding: 20px;
}	
.cat-opt, .post_header_cat a {
    padding: 6px 10px;
 	margin-bottom:  5px;
    box-shadow: 0px 0px 0px 0px;
} 
.clients-carousel-wrap {
    padding: 20px;
}
.clients-carousel-title {
    position: relative;
    top: 0;
    transform: translateY(0%);
	text-align: left;
	margin-bottom: 30px;
 	padding: 0;
}
.clients-carousel-title:before {
    left: 0;
    margin-left: 0;
}	
.section-title h2 {
    font-size: 2.4em;
}
.testimonilas-carousel-wrap {
    padding:  0  ;
	margin: 20px 0;
}
.testimonilas-carousel  {
    padding: 10px  10px 50px;
}
.testimonilas-carousel-wrap .fwc-controls_wrap {
    bottom:  0;
}
.tc-button {
 	top: 100%;
    width: 40px;
    height: 40px;
    line-height: 40px;
    margin-top: -44px;
}
.testimonilas-text-item {
    padding: 20px 20px 0;
}
.testimonilas-text-item-wrap {
    padding: 20px;
}
.csb-no-align {
    margin :10px 0  ;
	display: table
}
 .fw-listing-item .geodir-category-content , .fw-listing-item  .geodir-category-img  , .fw-listing-item .geodir-category-footer , .list-main-wrap-opt , .post-item , .cs-title, .contact-wh_title , .contact-social , .property-single-header-price , .section-title h2  , .clients-carousel-title   {
	width: 100%;
}
.fw-listing-item .geodir-category-footer , .list-main-wrap-opt {
    position: relative;
    border-top: 1px solid #eee;
}
.list-main-wrap-opt {
    right: 0;
    top: 0;
    transform: translateY(0);
    padding:10px  0 0 0;
	margin-top: 20px;
}
.list-main-wrap-header {
    padding: 20px ;
    margin: 20px 0;
}
.post-item {
    padding: 0 0 10px 0;
}
.fw-carousel-button-prev {
    left: 10px;
}
.fw-carousel-button-next {
    right: 10px;
}
.gal-link, .box-media-zoom {
    top: 10px;
    right: 10px;
	width: 40px;
	height: 40px;
	line-height: 40px;
	box-shadow: 0px 0px 0px 4px rgba(255, 255, 255, 0.2);
	font-size: .9em;
}
.content-nav-fixed li a.ln {
    padding-left: 60px;
}
.content-nav-fixed li a.rn {
    padding-right: 60px;
}
.comments-item {
    padding-left: 0;
}
.comments-wrap {
    margin-top: 0;
}
.contacts-card-item {
    padding: 20px;
	margin-bottom: 10px;
}
.cs-title, .contact-wh_title {
    margin: 0   0 10px 0;
	text-align: left;
}
.contact-wh div {
 	margin-bottom: 10px;
}	
.contact-social {
    float: left;
	margin-top:10px;
}
.help-item-wrap {
    padding: 10px;
}
.accordion a.toggle {
    padding: 0 20px;
 	height: 50px;
	line-height: 50px;
    font-size: 1.0em;
	overflow: hidden;
}
.accordion-inner {
    padding: 35px 20px 20px;
}
.accordion a.toggle i {
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin-top: -15px;
    font-size: 12px;
}
.fw-listing-item     .geodir-category-content {
    padding: 20px  ;		
}
.ps-facts-wrapper {
    grid-template-columns: auto auto;
}
.hero-section_categories a {
    float: left;
    padding: 8px 20px;
}
.hero-section_categories {
    margin-bottom: 10px;
}
.hero-section-title_container  {
    padding:  0 80px 0 20px;
}
.property-single-header-price {
	text-align: left
}
.hero-section-opt {
    padding-top: 10px;
    margin-top: 10px;
}
.hero-section-title h2 {
 	font-size: 2.4em;
}
.hero-section-breadcrumbs .breadcrumbs-list a, .hero-section-breadcrumbs  .breadcrumbs-list span {
    padding: 8px 20px 8px 0;
}
.hero-opt-btnns {
    bottom: 10px;
    right: 4px;
}
.property-single-header-date {
    margin: 0 20px 0 0;
}
.single-carousel-wrap {
    padding : 20px 0 60px;
}
.fw-carousel {
    height: 250px;
}
.slider-button {
    top: 100%;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin-top: -45px;
}	
.fw-carousel-wrap {
    padding: 10px 10px 55px;
}	
.list-single-opt_header.hsc_flat_bci {
	margin: 20px 0;
	padding-right: 90px;	
} 
.hsc_flat .hero-section-opt {
    padding-bottom: 20px;
}
.synk-slider-wrap {
    padding-right: 0;
}
.synk-slider .slider-button {
	top: 50%;
    margin-top: -15px;
}
.list-single-opt_header.hsc_flat_bci .hero-opt-btnns {
    top: -5px;
}	
}
@media only screen and  (max-width: 640px) {
.wish-list-item:before   , .hs-scroll-down-wrap  , .breadcrumbs-list_dec , .load-more_btn , .gid_link  , .dec-title .svg-corner 	{
	display: none
}	
.header-search-btn {
	margin: 0 0 0 10px;
}
.nav-button-wrap {
	margin-left: 5px;
	border: none;
	width: 60px;
}
.show-reg-form i   , .wish_btn , .header-search-btn  {
 	font-size: 1.4em;
 	width: 20px;
}
.header-search-wrap , .wish-list-img , .wish-list-descr  , .listing-grid_heroheader , .wish-list-wrap , .gallery-item, .listing-grid-item  , .tags-widget ,  .dec-title span {
    width: 100%;
}
.dec-title_item {
   text-align: left
}
.charts-item {
    border-radius: 0 0 20px 20px;
}	
.gisp .gallery-item, .gisp .listing-grid-item {
    padding: 10px   0;
}
.header-search {
    padding: 0 20px;
}	
.header-search-nav {
    padding: 0;
}
.listing-grid_heroheader h3 {
	padding-left: 10px;	
}	
.header-search-container {
    border-radius: 0 0 10px 10px;
}
.wish-list-wrap {
 	right: 0;
 	top: 0;
	bottom: 0;
	border-radius: 10px 0 0 10px;
}
.listing-grid_heroheader , .breadcrumbs-list.bl_flat {
    overflow: hidden;
}
.listing-grid_heroheader   {
    padding-top: 20px;
}	
.wish-list-descr {
    padding: 10px  ;
}
.main-register {
    padding: 100px 10px 20px;
}
.main-register .tabs-menu {
    padding-right: 40px;
}	
.close-modal {
    width: 40px;
}
.to_top-btn-wrap {
    right: auto;
	left: -33px;
}
.csb_color {
    box-shadow: 0px 0px 0px 0px rgba(255, 255, 255, .2);
}
.gallery-filters a {
    width: 100%;
	border:none;
	border-top: 1px solid #eee;
    border-radius: 0 0 0 0;
	height: 50px;
	line-height: 50px;
}	
.gallery-filters a:first-child {
    border: none;
}
.sc-controls.shc_controls2.shc_controls3 , .sc-controls.shc_controls2  {
    left: 0;
}
.breadcrumbs-list {
    padding: 0 20px;
}
.hs-slider-controls {
    left: auto;
    right: 0
}
.hero-notifer {
    text-align: center;
}
.hero-notifer a {
    display: inline-block;
	margin-top: 10px;
}
.services-opions li {
    padding: 20px 30px  ;
}
.services-opions li i {
    position: relative;
    left: 0;
    top: 0;
    transform: translateY(0%);
	margin-bottom: 30px;
	display: table;
}
.post-banner-widget {
    padding: 180px 30px 30px;
} 
.profile-card-stats {
    right: 10px;
    left: 130px;
}	
.agent-preofile-header {
    padding: 95px 30px 20px;
}	
.tags-widget {
   padding-top:10px;
}
.hero-section_sin .hero-section-container {
    padding: 90px 0;
}
.search-widget input.search-inpt-item {
    width: calc(100% - 70px);
}
.search-submit {
    right: 5px;
    width: 60px;
}
.ps-facts-item {
 	border-bottom: 1px solid #eee;
    padding: 20px 40px 20px 60px;
}
.ps-facts-item i {
    left: 20px;
    font-size: 1.4em;
}
.single-gallery-filters {
    border: 1px solid #eee;
	border-radius: 6px;
	padding-bottom: 50px;
}
.single-gallery-filters  .gf_counter {
    top: auto;
   	bottom: 0;
 	left: 0;
    padding: 0  12px;
	height: 50px;
	line-height: 50px;
    border-radius: 0;
    background: #000;
	color:#fff;
    font-size: 1.1em;
    border: none;
    box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0);
}
.single-gallery-filters .gf_counter:before {
    background:  var(--main-color);
}
.graph-price-container {
    grid-template-columns: auto;
}
.graph-price-counter-wrap {
    display: table
}
.price-perc {
    right: auto;
    left: 120px;
}
.dec-title_item {
    padding: 23px 30px 0 30px;
}
.property-single-header-date {
    text-align: left
}	
}	
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
.bg {
	background-attachment: scroll !important;
	-webkit-background-size:cover;
	background-position:center;
}
}

/* ==========================================================================
   LOCAMAXIME - surcouche minimale du theme Rentstate (licence achetee)
   Le theme reste intact. On ne change que la couleur d'accent et la marque.
   ========================================================================== */

:root {
  /* Couleurs du theme, telles quelles : l'orange est la couleur dominante. */
  --main-color: #EE7838;
  --second-color: #F2E9E0;
}

/* Aucune cesure nulle part : un mot ne se coupe jamais en deux avec un tiret.
   S'il ne tient pas sur la ligne, il passe entier a la ligne suivante. */
html, body, h1, h2, h3, h4, h5, h6, p, li, td, th, span, a, div {
  hyphens: none;
  -webkit-hyphens: none;
  -ms-hyphens: none;
}

/* Marque dans l'en-tete : le signe du logo puis le mot en typo */
/* Taille augmentee de 30 % le 12/09/2026 : le signe passe de 42 a 55 px et
   le mot de 1,28 a 1,66 rem. */
/* Le theme donne au bloc du logo une hauteur de 12 px et le remonte de la
   moitie : l'image deborde. On lui rend une hauteur reelle.
   La frise d'immeubles a ete retiree le 12/09/2026 : June ne la trouvait pas
   belle sur le site. Elle reste sur les documents de gestion et sur les
   fiches des biens. */
.logo-holder { display: flex; align-items: center; gap: 14px;
  position: relative; height: auto; line-height: 1; top: auto;
  margin-top: 4px; padding-top: 0; }
.logo-holder img { width: 55px; height: 55px; object-fit: contain; }
.lm-marque {
  font-family: var(--main-font); font-size: 1.66rem; font-weight: 300;
  letter-spacing: .01em; color: #1e1e1e; white-space: nowrap; line-height: 1;
}
@media (max-width:1064px){
  .logo-holder img { width: 46px; height: 46px; }
  .lm-marque { font-size: 1.4rem; }
}
@media (max-width:480px){
  .logo-holder { gap: 9px; }
  .logo-holder img { width: 38px; height: 38px; }
  .lm-marque { font-size: 1.16rem; }
}
.lm-marque strong { font-weight: 800; }
/* Le numero de telephone est le premier moyen de contact du site : il doit se
   lire de loin et se cliquer du pouce. Le theme dimensionne .header-btn a .9em
   en gris ; on le passe en orange, plus grand et plus haut au doigt. */
.lm-tel span { white-space: nowrap; }
.header-btn.lm-tel {
  font-size: 1.12em; font-weight: 700; letter-spacing: .01em;
  padding: 0 26px; color: #fff;
  background: var(--main-color); border-color: var(--main-color);
  text-transform: none;
}
.header-btn.lm-tel:hover { background: #1e1e1e; border-color: #1e1e1e; color: #fff; }
.header-btn.lm-tel span { display: inline-block; }
@media only screen and (max-width: 1064px) {
  .header-btn.lm-tel { font-size: 1.02em; padding: 0 18px; }
}

/* Le theme stylise le h2 des bannieres. Nos pages y placent un h1 (une page,
   un h1) : on lui applique exactement les memes regles, rien de plus. */
.hero-section-title h1 {
  font-size: 4.4em; text-align: left; font-weight: 600; color: #fff; position: relative;
}
.hero-section_sin .hero-section-title h1 { font-size: 3.4em; text-align: center; }
/* Sur l'accueil, le theme redescend le titre a 3.7em avec un interlignage de 1.3.
   Le h1 doit suivre exactement, sinon la diapositive 1 sort plus grosse que les autres. */
.home-hero-section .hero-section-title h1 { text-align: left; font-size: 3.7em; line-height: 1.3em; }
.hsc_flat .hero-section-title h1 { color: #000; font-size: 3.0em; }
.hero-section_sin .hero-section-title h1:before,
.hero-section_sin .hero-section-title h1:after {
  content: ''; position: absolute; top: -12px; left: 50%;
  transform: translateX(-50%); height: 1px;
}
.hero-section_sin .hero-section-title h1:before { width: 120px; background: rgba(255,255,255,.2); z-index: 1; }
.hero-section_sin .hero-section-title h1:after { width: 30px; background: var(--main-color); z-index: 4; }
@media only screen and (max-width: 1068px) {
  .hero-section-title h1 { font-size: 3.4em; }
  .hero-section_sin .hero-section-title h1, .hsc_flat .hero-section-title h1 { font-size: 2.2em; }
}

/* Etat du bien : le theme n'a pas cette pastille */
.cat-opt.lm-cat-libre { background: #16713f; color: #fff; }
/* June (19/09/2026) : l'etat « Loue » en orange franc partout, pas
   seulement sur la fiche. Le gris passait pour une mention desactivee. */
.cat-opt.lm-cat-loue { background: var(--main-color, #EE7838); color: #fff; font-weight: 600; }
a.cat-opt.lm-cat-loue:hover { background: #d9641f; color: #fff; }
.cat-opt.lm-cat-meuble { background: var(--main-color); color: #fff; }
a.cat-opt.lm-cat-meuble:hover { background: #1e1e1e; color: #fff; }
.recent-post-opt .cat-opt { display: inline-block; padding: 3px 12px; border-radius: 20px;
  font-size: .68rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; margin-left: 8px; }

/* Bloc "Lire la suite" : reprend le dessin des boutons du theme */
.lire-suite { margin: 0 0 24px; }
.lire-suite > summary {
  list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 10px;
  font-weight: 600; font-size: .82rem; color: var(--main-color); text-transform: uppercase;
  letter-spacing: .04em;
}
.lire-suite > summary::-webkit-details-marker { display: none; }
.lire-suite > summary::before {
  content: "+"; display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border-radius: 50%; background: var(--main-color);
  color: #fff; font-size: 1rem; font-weight: 600; line-height: 1;
}
/* Ouvert : croix orange. Le bloc est ferme par defaut, et c'est la croix
   qui le referme - meme geste que la FAQ. */
.lire-suite[open] > summary::before { content: "\00d7"; background: var(--main-color); color: #fff; }
.lire-suite > summary:hover::before { background: #d9642a; }
.lire-suite-contenu { padding-top: 18px; }
/* Sur le bandeau orange, l'orange sur orange ne se lit pas : le "Lire la
   suite" y passe en blanc, avec la pastille blanche et le signe orange. */
.api-text .lire-suite > summary,
.banner-widget_content .lire-suite > summary,
.post-banner-widget_content .lire-suite > summary { color: #fff; }
.api-text .lire-suite > summary::before,
.banner-widget_content .lire-suite > summary::before,
.post-banner-widget_content .lire-suite > summary::before {
  background: #fff; color: var(--main-color);
}
.api-text .lire-suite > summary:hover::before { background: #ffe8d8; }

/* Formulaires : pieges a robots invisibles, et case a cocher alignee */
.pot-de-miel { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.consentement { display: flex; align-items: flex-start; gap: 10px; text-align: left; margin-top: 14px; }
.consentement input[type="checkbox"] { width: 16px; height: 16px; margin: 3px 0 0; flex: 0 0 16px; }
.consentement label { font-size: .82rem; line-height: 1.5em; color: #5e646a; margin: 0; }
.custom-form .champ-aide { font-size: .78rem; color: #7a8087; margin: 6px 0 14px; text-align: left; }
.cs-intputwrap > label { display: block; font-size: .74rem; text-transform: uppercase;
  letter-spacing: .04em; color: #7a8087; margin: 0 0 6px 34px; }

/* Carte des biens : le theme utilise Google Maps, nous OpenStreetMap */
.lm-carte { height: 620px; border-radius: 20px; overflow: hidden; }
.lm-carte-liste { display: flex; flex-direction: column; gap: 14px; max-height: 620px; overflow-y: auto; }
.repere span {
  display: block; width: 22px; height: 22px; border-radius: 50%;
  background: #6b6b6b; border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .34);
}
.repere-libre span { background: #16713f; }

/* Nos photos sont plus claires que celles de la demo du theme. Un degrade
   leger, cote texte seulement, pour que le titre blanc reste lisible. */
.hero-blur-container:after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1;
  background: linear-gradient(100deg, rgba(0,0,0,0.057) 0%, rgba(0,0,0,0.033) 45%, rgba(0,0,0,0.006) 82%);
  pointer-events: none;
}
.hero-slider, .hero-slider-container { position: relative; z-index: 2; }

/* Cartes de biens : nos textes n'ont pas tous la meme longueur. On fige la
   hauteur du titre, du paragraphe et des pastilles pour que la grille du
   theme reste alignee - pas d'escalier. */
.geodir-category-content h3 { min-height: 56px; }
/* Descriptif de la carte d'un bien.
   Le theme coupait le texte a trois lignes : selon la largeur de l'ecran, la
   phrase s'arretait en plein milieu. On affiche le descriptif en entier - il
   fait deux phrases - et on garde une hauteur minimale pour la regularite.
   Les cartes restent alignees : leur pied est pousse en bas par le flex. */
.geodir-category-content p {
  display: block; overflow: visible; min-height: 82px;
  -webkit-line-clamp: none;
}
/* Le theme colle "..." apres chaque descriptif de carte. Le texte n'etant
   plus tronque, cette ellipse decorative laisse croire a une coupure. */
.geodir-category-content p:after { content: none; }
.geodir-category-content-details { min-height: 84px; }
@media only screen and (max-width: 768px) {
  .geodir-category-content h3,
  .geodir-category-content p,
  .geodir-category-content-details { min-height: 0; }
}

/* Actualites : on fixe le format des vignettes pour que la grille du theme
   se calcule avant meme le chargement des images (sinon les cartes se
   chevauchent le temps du chargement). */
.post-item_media { aspect-ratio: 3 / 2; }
.post-item_media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.recent-post-img img { width: 100%; height: 100%; object-fit: cover; }

/* Cartes "Nos résidences" : nos photos n'ont pas toutes le meme format.
   On fige le cadre pour que les cartes restent alignees. */
.agent-card-item_media-wrap { aspect-ratio: 4 / 3; }
.agent-card-item_media-wrap img { width: 100%; height: 100%; object-fit: cover; }
.agent-card-item_text-item h4 { min-height: 26px; }
/* Descriptif d'une residence : affiche en entier, comme les cartes de biens.
   La coupure a trois lignes tombait au milieu d'une phrase des que la
   colonne se resserrait. Les cartes gardent la meme hauteur grace au flex. */
.agent-card-item_text-item p {
  display: block; overflow: visible; min-height: 72px; -webkit-line-clamp: none;
}
.agent-card-item_text-item .post-card-details { min-height: 118px; }
@media only screen and (max-width: 768px) {
  .agent-card-item_text-item h4,
  .agent-card-item_text-item p,
  .agent-card-item_text-item .post-card-details { min-height: 0; }
}



/* Pages legales : tableaux et encarts, au dessin du theme */
.lm-legal p { margin-bottom: 16px; }
.lm-legal table { width: 100%; border-collapse: collapse; margin: 0 0 22px; }
.lm-legal th, .lm-legal td {
  text-align: left; padding: 12px 16px; border-bottom: 1px solid #eee; font-size: .88rem;
}
.lm-legal th { width: 38%; color: #1e1e1e; font-weight: 600; }
.lm-legal td { color: #5e646a; }
.lm-legal ul { margin: 0 0 20px 18px; }
.lm-legal ul li { list-style: disc; margin-bottom: 8px; color: #5e646a; font-size: .92rem; }
.lm-legal .encart {
  background: var(--second-color); border-radius: 10px; padding: 20px 24px; margin: 0 0 22px;
}
.lm-legal h3 { font-size: 1.05rem; font-weight: 600; margin: 26px 0 12px; }

/* Fiche de bien : resume de la colonne de droite, au dessin du theme */
.lm-resume-ligne {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.12);
}
.lm-resume-ligne:last-child { border-bottom: none; }
.lm-resume-ligne span { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: #fff; }
.lm-resume-ligne strong { font-size: .95rem; font-weight: 600; color: #fff; text-align: right; }
.lm-carte-bien { height: 380px; }

/* Fiche de bien : les intertitres et les listes de nos textes */
.scroll-content-wrap .boxed-content-item h4 {
  text-align: left; font-size: 1.05rem; font-weight: 600; color: #1e1e1e; margin: 0 0 12px;
}
.scroll-content-wrap .boxed-content-item ul,
.accordion-inner ul { margin: 0 0 18px 20px; }
.scroll-content-wrap .boxed-content-item ul li,
.accordion-inner ul li { list-style: disc; margin-bottom: 8px; color: #5e646a; font-size: .92rem; }
.scroll-content-wrap .boxed-content-item .encart,
.accordion-inner .encart { background: var(--second-color); border-radius: 10px; padding: 18px 22px; margin: 0 0 20px; }

/* Bien sans photographie : on le dit, plutot que de montrer autre chose */
.lm-sans-photo { display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 18px; background: var(--second-color); min-height: 420px; border-radius: 20px; padding: 40px; }
.lm-sans-photo img { width: 90px; height: auto; opacity: .6; }
.lm-sans-photo-texte { max-width: 420px; text-align: center; color: #5e646a; font-size: .95rem; }

/* Bouton "mettre de côté" actif */
.geodir_save-btn.lm-garde span { background: var(--main-color); color: #fff; }
.geodir_save-btn.lm-garde i { color: #fff; }
/* Bandeau des sites de la famille : les plaques sont des SVG, pas des photos */
.clients-carousel .client-item img { max-height: 62px; width: auto; }

/* Carrousel des secteurs : titres sur une ou deux lignes selon le nom.
   On fige la hauteur du titre pour que les textes s'alignent. */
.city-carousel-content h3 { min-height: 2.4em; display: flex; align-items: flex-end; }
/* Descriptif d'un secteur : affiche en entier. La coupure a trois lignes
   tronquait la phrase des que la carte se resserrait ("a deux... minutes"). */
.city-carousel-content p {
  display: block; overflow: visible; min-height: 4.6em; -webkit-line-clamp: none;
}
/* Etat à confirmer : ni libre, ni loué */
.cat-opt.lm-cat-demande { background: #2f6fbd; color: #fff; }

/* Pied de page : les mentions légales à droite de la ligne de copyright */
.copyright { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; }
.lm-liens-legaux { display: inline-flex; gap: 18px; margin-left: auto; }
.lm-liens-legaux a { color: rgba(255,255,255,.6); transition: all .2s ease-in-out; }
.lm-liens-legaux a:hover { color: #fff; }
@media only screen and (max-width: 768px) {
  .lm-liens-legaux { margin-left: 0; width: 100%; }
}

/* Bandeau bleu : les deux boutons ne doivent pas se toucher */
.api-text-links { display: flex; flex-wrap: wrap; gap: 14px 18px; }
.api-text-links a { margin: 0; }

/* Le theme n'habille que les champs text, email et password. Nos formulaires
   utilisent aussi tel, number, date et file : on leur donne exactement le
   meme dessin, avec les valeurs de la feuille du theme. */
.custom-form input[type="tel"],
.custom-form input[type="number"],
.custom-form input[type="date"],
.custom-form input[type="file"],
.custom-form input[type="search"] {
  border: 1px solid #eee;
  background: #f9f9f9;
  box-shadow: 0 10px 14px 0 rgba(12, 0, 46, 0);
  height: 56px;
  width: 100%;
  padding: 17px 20px 17px 50px;
  border-radius: 4px;
  color: #222;
  font-size: 12px;
  -webkit-appearance: none;
  outline: none;
  font-family: var(--main-font);
  font-weight: 500;
}
.custom-form input[type="tel"]:focus,
.custom-form input[type="number"]:focus,
.custom-form input[type="date"]:focus,
.custom-form input[type="file"]:focus {
  background: #fff;
  box-shadow: 0 10px 14px 0 rgba(12, 0, 46, .04);
}
.custom-form input[type="file"] { padding: 15px 20px 15px 50px; font-weight: 400; }
.custom-form input[type="number"]::-webkit-outer-spin-button,
.custom-form input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.custom-form input[type="number"] { -moz-appearance: textfield; }

/* Pieges a robots : hors de l'ecran, pour de bon */
.pot-de-miel {
  position: absolute !important; left: -9999px !important; top: auto !important;
  width: 1px !important; height: 1px !important; overflow: hidden !important;
}

/* Pages légales et fiches : le corps de texte est ferré à gauche.
   Le thème centre par défaut dans ces blocs. */
.lm-legal, .lm-legal p, .lm-legal li, .lm-legal th, .lm-legal td,
.help-item-wrap .text-block, .help-item-wrap .text-block p, .help-item-wrap .text-block li {
  text-align: left;
}
.lm-legal ul { list-style-position: outside; padding-left: 4px; }

/* Simulateur de financement, au dessin du theme */
.simulateur h3 { font-size: 1.05rem; font-weight: 600; margin: 0 0 18px; text-align: left; }
.simu-grille { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; }
.simu-champ label {
  display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
  color: #7a8087; margin: 0 0 8px; text-align: left;
}
.simu-champ input {
  width: 100%; height: 56px; padding: 17px 20px; border: 1px solid #eee; background: #f9f9f9;
  border-radius: 4px; color: #222; font-size: 13px; font-weight: 600;
  font-family: var(--main-font); outline: none; -webkit-appearance: none;
}
.simu-champ input:focus { background: #fff; box-shadow: 0 10px 14px 0 rgba(12,0,46,.04); }
.simu-champ input::-webkit-outer-spin-button,
.simu-champ input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.simu-resultats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 0 0 20px; }
.simu-resultats > div {
  background: var(--second-color); border-radius: 10px; padding: 20px 18px; text-align: left;
}
/* Les quatre libelles n'ont pas la meme longueur : "Mensualite" tient sur une
   ligne, "Montant emprunte" sur deux. Sans hauteur reservee, les chiffres se
   retrouvent a deux niveaux differents. On reserve deux lignes partout : les
   quatre montants sont alors sur la meme ligne de base. */
.simu-resultats { grid-template-rows: auto auto; }
/* Les libelles et les montants forment deux rangees communes a toutes les
   cartes : les chiffres tombent donc exactement a la meme hauteur, quelle que
   soit la longueur du libelle. La reserve de deux lignes sert de secours aux
   navigateurs sans subgrid. */
.simu-resultats > div {
  display: grid; grid-template-rows: subgrid; grid-row: span 2; align-content: start;
}
.simu-resultats dt {
  font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #5e646a;
  margin-bottom: 8px; line-height: 1.35em; min-height: 2.7em;
}
@supports (grid-template-rows: subgrid) {
  .simu-resultats dt { min-height: 0; }
}
.simu-resultats dd {
  margin: 0; margin-top: auto; font-size: 1.15rem; font-weight: 700; color: var(--main-color);
}
.simu-note { font-size: .78rem; line-height: 1.6em; color: #7a8087; text-align: left; margin: 0; }
@media only screen and (max-width: 1068px) {
  .simu-grille, .simu-resultats { grid-template-columns: repeat(2, 1fr); }
}
@media only screen and (max-width: 564px) {
  .simu-grille, .simu-resultats { grid-template-columns: 1fr; }
  .simu-location .simu-grille { grid-template-columns: 1fr !important; }
  .simu-location .simu-resultats { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Les blocs de contenu du theme centrent leur texte. Nos fiches de biens
   comportent des listes et des paragraphes de lecture : ils se lisent a gauche. */
.boxed-content-item ul,
.boxed-content-item ol,
.boxed-content-item p,
.boxed-content-item li,
.boxed-content-item table,
.boxed-content-item h2,
.boxed-content-item h3,
.boxed-content-item h4 { text-align: left; }
.boxed-content-item ul { padding-left: 1.15em; }
.boxed-content-item ul li { list-style: disc; margin-bottom: 6px; }

/* Le theme fixe le pied de page en bas de la fenetre et reserve sa hauteur avec
   un bloc vide (.height-emulator). Selon le navigateur et la hauteur d'ecran, ce
   montage laisse un grand vide gris entre le contenu et le pied de page. On
   remet le pied de page dans le flux : il suit toujours le contenu, partout. */
.main-footer { position: relative; }
.height-emulator { display: none; }

/* Formulaires : le bouton d'envoi et le champ de reponse anti-robot prennent
   la couleur de la marque. Le theme les laisse en noir. */
.commentssubmit,
.main-register .custom-form .commentssubmit,
.commentssubmit_fw {
  background: var(--main-color);
  color: #fff;
}
.commentssubmit:hover,
.main-register .custom-form .commentssubmit:hover,
.commentssubmit_fw:hover {
  background: #1e1e1e;
  color: #fff;
}
.cs-intputwrap input#d-verification,
.cs-intputwrap input#verification {
  border: 1px solid var(--main-color);
  box-shadow: 0 0 0 3px rgba(238,120,56,.10);
}
.cs-intputwrap input#d-verification:focus,
.cs-intputwrap input#verification:focus {
  border-color: var(--main-color);
  box-shadow: 0 0 0 4px rgba(238,120,56,.20);
}
label#question-verification { color: var(--main-color); font-weight: 600; }

/* Filtre noir des hero de page : 0.8 -> 0.56 (-30 %) -> 0.42 (-25 % de plus) */
.bg-hero.bg-parallax-wrap-gradien:before {
  background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.42) 90%);
}

/* Paires d'images dans les articles : meme hauteur, quel que soit le cadrage
   d'origine. Sans cela, une photo panoramique et une photo plus haute
   produisent un escalier. */
.post-img-row { align-items: stretch; }
.post-img-row_item { display: flex; }
.post-img-row img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}

/* ------------------------------------------------------------------ mobile */
@media (max-width: 767px) {
  /* Le grand titre du hero occupait tout l'ecran sur telephone. */
  .home-hero-section .hero-section-title h1,
  .home-hero-section .hero-section-title h2 {
    font-size: 2.35em;
    line-height: 1.18em;
  }
  .home-hero-section .hero-section-title p { font-size: 1.15em; line-height: 1.55em; }
  /* Jamais de cesure : "proprie-taires" coupe en deux etait illisible.
     Le mot entier passe a la ligne suivante. */
  .hero-section-title h1 { word-break: normal; overflow-wrap: break-word; hyphens: none; }
  /* Les paires d'images passent l'une sous l'autre plutot que de se serrer. */
  .post-img-row { grid-template-columns: 1fr; }
  .post-img-row img { aspect-ratio: 16 / 10; }
  /* Tableaux de caracteristiques : lisibles sans zoom. */
  .tableau-caracs { font-size: .95em; }
  .tableau-caracs th, .tableau-caracs td { padding: 8px 10px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .home-hero-section .hero-section-title h1,
  .home-hero-section .hero-section-title h2 { font-size: 3em; line-height: 1.22em; }
}

/* --------------------------------------------------------- Ce qu'il y a autour
   Le theme place la pastille de duree en position absolue, sur 50 px, par-dessus
   un libelle qui occupe toute la largeur : "Aeroport Lyon-Saint-Exupery" et
   "Centre de Dardilly" passent dessous et se retrouvent coupes. On remet la
   ligne en flux (flex) : le libelle prend la place qui reste et va a la ligne,
   la pastille s'adapte a sa duree et reste centree verticalement. */
.nerby-list li {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; overflow: visible; line-height: 1.35em;
  /* La colonne de droite se resserre autour de 1100 px : le libelle etait
     alors ecrase a zero par la pastille de duree, qui, elle, ne retrecit
     pas. On autorise le retour a la ligne : sous une certaine largeur, la
     pastille passe dessous au lieu de manger le texte. */
  flex-wrap: wrap; row-gap: 6px;
}
.nerby-list li i { margin-right: 0; flex: 0 0 16px; text-align: center; }
.nerby-list li > b, .nerby-list li > strong { min-width: 0; }
.nerby-list li span {
  position: static; top: auto; bottom: auto; right: auto;
  flex: 0 0 auto; margin-left: auto;
  width: auto; min-width: 58px; padding: 0 9px;
  line-height: 28px; white-space: nowrap;
}

/* ------------------------------------------- "Pourquoi louer chez nous" & co.
   Le theme laisse la photo a sa hauteur naturelle : a cote de trois blocs de
   texte, elle s'arrete a mi-chemin et la colonne de droite parait vide. On fait
   monter la photo sur toute la hauteur de la rangee, recadree au centre. */
.about-wrap .row { align-items: stretch; }
.about-wrap .row > [class*="col-"] { display: flex; flex-direction: column; }
.about-wrap .about-img { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
.about-wrap .about-img > img.respimg {
  flex: 1 1 auto; width: 100%; height: 100%; min-height: 340px;
  object-fit: cover; object-position: center;
}
@media only screen and (max-width: 992px) {
  .about-wrap .about-img > img.respimg { min-height: 0; height: auto; aspect-ratio: 4 / 3; }
}

/* Les trois atouts de l'accueil sont des <li> : le theme laisse la puce du
   navigateur a gauche de chaque carte. */
.services-opions ul { list-style: none; padding-left: 0; margin-left: 0; }
.services-opions ul > li { list-style: none; }

/* Sur mobile le theme masque .header-btn. Le telephone est notre premier canal
   de contact, et c'est justement au telephone qu'on appelle : on le garde
   visible, en pastille compacte a gauche du bouton de menu. */
@media only screen and (max-width: 1064px) {
  .header-btn.lm-tel {
    display: block; float: right; position: relative;
    top: 20px; right: 12px; height: 40px; line-height: 40px;
    padding: 0 14px; font-size: .92em; border-radius: 8px;
    box-shadow: 0 6px 16px 0 rgba(238,120,56,.28);
  }
}
@media only screen and (max-width: 420px) {
  .header-btn.lm-tel { padding: 0 11px; font-size: .84em; right: 6px; }
}

/* ------------------------------------------------- Cartes d'actualites
   La grille du theme est en masonry (Isotope) : chaque carte prend la
   hauteur de son texte, et la ligne suivante demarre en escalier. Notre
   script egalise les hauteurs (cartesEgales) ; ici on met la carte en
   colonne pour que la date et le bouton restent colles en bas, quelle que
   soit la longueur du titre et du chapo. */
.post-item_wrap { display: flex; flex-direction: column; height: 100%; }
.post-item_content { display: flex; flex-direction: column; flex: 1 1 auto; }
.post-item_content > p { flex: 0 0 auto; }
.post-item_content > .post-card-details { margin-top: auto; }
.post-item_media { flex: 0 0 auto; }

/* ------------------------------------------------------------------- mobile
   Le theme laisse les trois etapes 01/02/03 en trois colonnes flottantes de
   33 %, sans repli. Sur un telephone chaque colonne tombe a 94 px de large et
   le texte se lit un mot par ligne. On passe a une colonne. */
@media only screen and (max-width: 767px) {
  .process-wrap li { float: none; width: 100%; padding: 8px; }
  .process-item { padding: 24px; }
  .process-item h4 { font-size: 1.25em; }
  .process-item-icon { font-size: 2.6em; top: 16px; right: 20px; }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .process-wrap li { width: 50%; }
}

/* L'icone des atouts est un glyphe dans un carre blanc de 70 px : le theme
   ne le centre pas horizontalement, et sur mobile il passe en display:table,
   ce qui le colle en haut a gauche. On centre dans les deux cas. */
.services-opions li i {
  display: flex !important; align-items: center; justify-content: center;
  text-align: center; line-height: 1;
}
.inline-facts i { display: inline-flex; align-items: center; justify-content: center; }

/* Suffixe des chiffres cles : "%" et "min" restent hors du compteur anime du
   theme, qui reecrit tout le contenu de l'element qu'il anime. */
.lm-num-suffixe { font-weight: 600; font-size: 2em; line-height: 1; margin-left: 2px; }
.inline-facts .stats { display: flex; align-items: baseline; justify-content: flex-start; gap: 0; }
/* Le theme pose son icone en absolu a droite, derriere une separation placee a
   54 px du bord : sans reserve, nos libelles passent dessous. */
.inline-facts { padding-right: 100px; }
.inline-facts h6 { margin-bottom: 0; }
@media only screen and (max-width: 767px) { .inline-facts { padding-right: 90px; } }

/* Bloc libre dans un article : titre et liens au dessin du theme. */
.lm-bloc-libre { margin: 6px 0 26px; }
.lm-bloc-libre h3 {
  font-size: 1.45em; font-weight: 600; color: #1e1e1e;
  margin: 0 0 10px; text-align: left;
}
.lm-bloc-libre a { color: var(--main-color); font-weight: 600; }
.lm-bloc-libre a:hover { color: #1e1e1e; text-decoration: underline; }
.lm-bloc-libre ul.liste-atouts { margin: 14px 0 18px; }

/* ------------------------------------------- Bannieres des pages interieures
   Le theme centre le titre des pages interieures, en 3.4em, avec une accroche
   de 12 px. L'accueil, lui, presente une pastille, un titre aligne a gauche et
   une accroche lisible. On aligne toutes les pages sur l'accueil. */
.lm-hero-page { margin-top: 0; text-align: left; }
.lm-hero-page .hero-section-title_sub { display: table; margin-bottom: 22px; }
.hero-section_sin .lm-hero-page h1,
.lm-hero-page h1 {
  font-size: 3.7em; line-height: 1.3em; text-align: left; color: #fff; font-weight: 600;
}
/* Le theme dessine deux petits traits centres au-dessus du titre : ils n'ont
   plus de sens une fois le titre a gauche. Le selecteur du theme est plus
   specifique, on le suit. */
.hero-section_sin .hero-section-title.lm-hero-page h1:before,
.hero-section_sin .hero-section-title.lm-hero-page h1:after,
.lm-hero-page h1:before, .lm-hero-page h1:after { display: none; content: none; }

.lm-hero-page h5 {
  font-size: 1.15em; line-height: 1.65em; text-align: left; color: rgba(255,255,255,.92);
  max-width: 62ch; margin-top: 4px;
}
/* Le titre part sur la meme verticale que sur l'accueil, pas au ras du bord. */
.hero-section_sin .hero-section-container { padding: 220px 20px 120px; }
@media only screen and (max-width: 1068px) {
  .hero-section_sin .lm-hero-page h1, .lm-hero-page h1 { font-size: 2.9em; }
  .hero-section_sin .hero-section-container { padding: 160px 20px 80px; }
}
@media only screen and (max-width: 767px) {
  .hero-section_sin .lm-hero-page h1, .lm-hero-page h1 { font-size: 2.2em; line-height: 1.2em; }
  .lm-hero-page h5 { font-size: 1.02em; }
  .hero-section_sin .hero-section-container { padding: 120px 20px 60px; }
}

/* Diapositive clonee par le carrousel : la copie du titre doit se rendre
   exactement comme le h1 d'origine, sinon elle apparait en petit et en noir. */
.hero-section-title .lm-titre-clone {
  display: block; font-size: 3.7em; line-height: 1.3em; text-align: left;
  color: #fff; font-weight: 600; position: relative;
}
@media only screen and (max-width: 1068px) {
  .hero-section-title .lm-titre-clone { font-size: 3.4em; }
}
@media only screen and (max-width: 767px) {
  .hero-section-title .lm-titre-clone { font-size: 2.35em; line-height: 1.18em; }
}

/* L'accroche de banniere etait un <h5> : un titre de niveau 5 juste apres le
   h1 casse la hierarchie lue par les moteurs et les lecteurs d'ecran. C'est un
   paragraphe, rendu exactement comme le h5 du theme. */
.hero-section-title .lm-hero-accroche {
  color: #fff; font-size: 1.15em; line-height: 1.65em; font-weight: 400;
  margin: 4px 0 0; padding: 0; text-align: left; max-width: 62ch;
}
.about-img-hotifer .lm-signature {
  font-size: .9em; font-weight: 500; margin: 0; color: rgba(255,255,255,.75);
}

/* Adresse et chiffres cles d'une fiche : ce sont des donnees, pas des titres.
   On leur redonne exactement l'apparence des h4/h5 du theme. */
.hero-section-title p.lm-adresse-fiche { font-size: 1.1em; font-weight: 500; margin: 0; }
.lm-fait-libelle { font-size: .95em; font-weight: 600; color: #1e1e1e; margin-bottom: 4px; }
.lm-fait-valeur { font-size: .88em; color: #5e646a; }

/* Les titres remontes d'un niveau gardent l'apparence du theme. */
.boxed-content-title h2 { font-size: 1.25em; font-weight: 600; margin: 0; }
.fw_car_title h2, .dec-title_item h2 { font-size: inherit; font-weight: inherit; margin: 0; }
.boxed-content-item h3, .services-opions h3,
.recent-post-content h3, .agent-card-item_text-item h3 { font-size: 1.3em; font-weight: 600; }
.recent-post-content h3 { font-size: 1.05em; }
.agent-card-item_text-item h3 { font-size: 1.2em; }
.about-title p.lm-chapo, .fw_car_title p.lm-chapo { font-weight: 400; margin-bottom: 0; }
.inline-facts p.lm-fait-legende {
  font-weight: 500; position: relative; margin: 0; font-size: 1em; color: #1e1e1e;
}
.inline-facts p.lm-fait-legende:before {
  content: ''; position: absolute; bottom: -10px; left: 0;
  width: 30px; height: 1px; background: var(--main-color);
}
.banner-widget_content p.lm-chapo,
.post-banner-widget_content p.lm-chapo { font-weight: 400; margin-bottom: 14px; }

/* Tableau des honoraires : la colonne LOCAMAXIME est celle qu'on doit voir. */
.lm-tableau-honoraires td:last-child,
.lm-tableau-honoraires th:last-child { color: var(--main-color); }
.lm-tableau-honoraires thead th { font-size: .82em; line-height: 1.35em; vertical-align: bottom; }
.lm-honoraires h4 { font-size: 1.15em; font-weight: 600; margin: 24px 0 8px; }
@media only screen and (max-width: 767px) {
  .lm-tableau-honoraires { font-size: .85em; }
  .lm-tableau-honoraires th, .lm-tableau-honoraires td { padding: 7px 6px; }
}

/* ------------------------------------------------------------------ tableaux
   Ni le theme ni la surcouche ne stylaient les tableaux : caracteristiques des
   biens et comparatif d'honoraires sortaient en texte brut, colonnes collees.
   Un dessin sobre, au format du theme. */
.boxed-content-item table,
.lm-legal table,
table.tableau-caracs {
  width: 100%; border-collapse: collapse; margin: 18px 0 24px;
  font-size: .95em; background: #fff; border-radius: 10px; overflow: hidden;
  border: 1px solid #eee;
}
.boxed-content-item table th,
.boxed-content-item table td,
.lm-legal table th, .lm-legal table td,
table.tableau-caracs th, table.tableau-caracs td {
  padding: 11px 14px; text-align: left; vertical-align: top;
  border-bottom: 1px solid #f0f0f0; line-height: 1.5em;
}
.boxed-content-item table tr:last-child th,
.boxed-content-item table tr:last-child td,
table.tableau-caracs tr:last-child th,
table.tableau-caracs tr:last-child td { border-bottom: 0; }
.boxed-content-item table th[scope="row"],
table.tableau-caracs th[scope="row"] {
  font-weight: 600; color: #1e1e1e; width: 34%; background: #fbfbfb;
}
.boxed-content-item table thead th,
table.tableau-caracs thead th {
  background: var(--second-color); font-weight: 600; color: #1e1e1e;
  border-bottom: 1px solid #e6ddd4; width: auto;
}
/* Legende reservee aux lecteurs d'ecran : elle ne doit pas s'afficher. */
.visuellement-cache {
  position: absolute !important; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
@media only screen and (max-width: 767px) {
  .boxed-content-item table, table.tableau-caracs { font-size: .86em; }
  .boxed-content-item table th, .boxed-content-item table td,
  table.tableau-caracs th, table.tableau-caracs td { padding: 8px 9px; }
  .boxed-content-item table th[scope="row"],
  table.tableau-caracs th[scope="row"] { width: 40%; }
}

/* Liens internes poses dans le corps du texte : visibles sans etre criards. */
.lm-lien-interne {
  color: var(--main-color); font-weight: 500;
  text-decoration: underline; text-decoration-thickness: 1px;
  text-underline-offset: 3px; text-decoration-color: rgba(238,120,56,.35);
}
.lm-lien-interne:hover { color: #1e1e1e; text-decoration-color: #1e1e1e; }

/* ---------------------------------------------- Bloc redactionnel injecte
   Le fragment de contenu vient s'ajouter sous la mise en page du theme. Ses
   titres doivent se lire comme ceux du theme, pas comme du texte courant. */
.lm-redaction { margin-top: 30px; }
.lm-redaction h2 {
  font-size: 1.7em; font-weight: 600; color: #1e1e1e;
  margin: 42px 0 14px; line-height: 1.3em; text-align: left;
}
.lm-redaction h2:first-child { margin-top: 0; }
.lm-redaction h3 {
  font-size: 1.25em; font-weight: 600; color: #1e1e1e;
  margin: 30px 0 10px; line-height: 1.4em; text-align: left;
}
.lm-redaction h4 { font-size: 1.08em; font-weight: 600; margin: 22px 0 8px; }
.lm-redaction p { margin-bottom: 16px; line-height: 1.85em; }
.lm-redaction ul, .lm-redaction ol { margin: 0 0 18px; padding-left: 1.2em; }
.lm-redaction li { list-style: disc; margin-bottom: 7px; line-height: 1.75em; }
.lm-redaction ol li { list-style: decimal; }
.lm-redaction blockquote {
  margin: 24px 0; padding: 4px 0 4px 22px;
  border-left: 3px solid var(--main-color);
  font-style: italic; color: #3d4348;
}
.lm-redaction .encart {
  background: var(--second-color); border-radius: 12px;
  padding: 22px 24px; margin: 26px 0;
}
.lm-redaction .encart h3, .lm-redaction .encart h4 { margin-top: 0; }
.lm-redaction .encart p:last-child { margin-bottom: 0; }
@media only screen and (max-width: 767px) {
  .lm-redaction h2 { font-size: 1.4em; margin-top: 32px; }
  .lm-redaction h3 { font-size: 1.15em; }
}
/* Les images du fragment etaient dimensionnees pour une page pleine largeur :
   900 px de haut au milieu d'un texte, c'est une coupure, pas une illustration. */
.lm-redaction img {
  width: 100%; height: auto; max-height: 430px; object-fit: cover;
  border-radius: 12px; margin: 6px 0 20px; display: block;
}
.lm-redaction .galerie img { max-height: 260px; }

/* Blocs du texte redactionnel.
   Ils s'appelaient "section" du temps ou ils faisaient la page entiere ;
   le theme a une classe du meme nom avec 90 px de marge haute et basse, ce
   qui creusait un trou de 180 px entre chaque bloc. Ils s'appellent
   maintenant lm-bloc et c'est ici qu'on regle leur respiration. */
.lm-redaction .lm-bloc { position: relative; padding: 0; margin: 0 0 38px; }
.lm-redaction .lm-bloc:last-child { margin-bottom: 0; }
.lm-redaction .lm-bloc > *:first-child { margin-top: 0; }

/* Blocs mis en avant : un fond, et la marge interne qui va avec. */
.lm-redaction .section-grise,
.lm-redaction .section-bleue { background: var(--second-color); border-radius: 12px;
  padding: 28px 32px; }
.lm-redaction .section-noire { background: #1e1e1e; color: #d8d8d8; border-radius: 12px;
  padding: 28px 32px; }
.lm-redaction .section-noire h2,
.lm-redaction .section-noire h3,
.lm-redaction .section-noire h4 { color: #fff; }
.lm-redaction .section-noire a:not(.btn) { color: #fff; text-decoration: underline; }

/* Surtitre : la petite etiquette au-dessus d'un titre. */
.lm-redaction .surtitre { display: block; margin-bottom: 8px; font-size: .74rem;
  font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
  color: var(--main-color); }
.lm-redaction .section-noire .surtitre { color: var(--main-color); }
.lm-redaction .mt-0 { margin-top: 0; }

@media (max-width: 767px) {
  .lm-redaction .section-grise,
  .lm-redaction .section-bleue,
  .lm-redaction .section-noire { padding: 22px 20px; }
}

/* Cartes de contact : meme hauteur, sinon la plus bavarde fait un escalier. */
.contacts-cards-wrap .row { display: flex; flex-wrap: wrap; align-items: stretch; }
.contacts-cards-wrap .row > [class*="col-"] { display: flex; }
.contacts-card-item { width: 100%; display: flex; flex-direction: column; }
.contacts-card-item > p { flex: 1 1 auto; }

/* Le theme centre le contenu des blocs encadres. Le texte redactionnel se
   lit de gauche a droite : on remet l'alignement, et on borne la longueur
   de ligne, au-dela de 80 signes l'oeil perd la ligne suivante. */
.lm-redaction, .lm-redaction .boxed-content-item { text-align: left; }
.lm-redaction .boxed-content-item { max-width: 960px; margin: 0 auto; }
.lm-redaction .lire-suite, .lm-redaction .lire-suite > summary { text-align: left; }

/* Liste des articles : grille CSS, deux colonnes de meme hauteur.
   Le theme pose une maconnerie Isotope, qui positionne chaque carte en
   absolu : des que deux cartes n'ont pas la meme hauteur, la colonne de
   droite se decale et l'escalier apparait. On neutralise la maconnerie et
   on laisse la grille faire des rangees, ou l'alignement est acquis. */
.post-items { display: grid !important; grid-template-columns: repeat(2, 1fr);
  gap: 30px; position: static !important; height: auto !important; }
.post-items .post-item { position: static !important; width: auto !important;
  left: auto !important; top: auto !important; transform: none !important;
  padding: 0 !important; margin: 0 !important; float: none !important; }
.post-items .post-item_wrap { height: 100%; min-height: 0 !important;
  display: flex; flex-direction: column; }
.post-items .post-item_content { display: flex; flex-direction: column; flex: 1 1 auto; }
/* Apercu de l'article : trois lignes au plus depuis que les chapos ont ete
   raccourcis. La hauteur minimale suit, sinon un grand vide s'ouvrait entre
   le texte et le bouton. Elle garantit l'alignement des cartes meme quand une
   largeur d'ecran fait tomber une phrase sur trois lignes. */
.post-items .post-item_content > p { min-height: 6em; }
.post-items .post-item_content > h2 { min-height: 2.6em; }
@media (max-width: 767px) {
  .post-items .post-item_content > p,
  .post-items .post-item_content > h2 { min-height: 0; }
}
/* La photo garde toujours le meme format : c'est elle qui decale tout le reste. */
.post-items .post-item_media { aspect-ratio: 3 / 2 !important; flex: 0 0 auto; }
.post-items .post-item_media img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 767px) {
  .post-items { grid-template-columns: 1fr; }
}

/* Heros des pages : meme presentation que l'accueil.
   L'accueil ouvre sur un petit trait orange, puis la pastille, puis le
   titre. Les pages reprennent exactement la meme sequence. */
.lm-hero-page::before {
  content: ""; display: block; width: 60px; height: 3px; border-radius: 2px;
  background: var(--main-color); margin: 0 0 26px;
}
/* Hero portant un logo : le trait remonte pour que la marque tombe pile au
   milieu des deux filets orange, celui du haut et celui de la pastille. */
.lm-hero-page:has(.lm-hero-logo)::before { margin-bottom: 13px; }
.lm-hero-page .lm-hero-accroche {
  color: #fff; font-size: 1.12em; line-height: 1.7em; max-width: 62ch;
  margin-top: 14px; text-align: left;
}
@media (max-width: 767px) { .lm-hero-page::before { margin-bottom: 18px; } }

/* Paragraphe replie a quatre lignes, avec son bouton "Lire la suite". */
.lm-tronque {
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical;
  overflow: hidden;
}
.lm-tronque.lm-ouvert { display: block; overflow: visible; }
button.lm-plus {
  display: inline-flex; align-items: center; gap: 10px;
  margin: 6px 0 22px; padding: 0; border: 0; background: none; cursor: pointer;
  font-family: inherit; font-size: .8rem; font-weight: 600; letter-spacing: .04em;
  text-transform: uppercase; color: var(--main-color);
}
button.lm-plus .lm-plus-signe {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; border-radius: 50%; background: var(--main-color);
  color: #fff; font-size: .95rem; font-weight: 600; line-height: 1;
}
button.lm-plus:hover { color: #1e1e1e; }
button.lm-plus:hover .lm-plus-signe { background: #1e1e1e; }

/* Texte courant toujours ferre a gauche : le theme centre plusieurs blocs,
   ce qui donne des titres au milieu et des paragraphes a gauche. */
.content .accordion, .content .accordion-inner,
.content .boxed-content-item, .content .scroll-content-wrap {
  text-align: left;
}

/* Colonne du hero des pages. On n'utilise pas col-lg-8 du theme : les pages
   legales vident la premiere colonne de ce nom pour y ecrire leur sommaire,
   et le titre du hero disparaissait avec. */
.lm-hero-col { position: relative; width: 100%; max-width: 66.66%; padding: 0 15px; }
@media (max-width: 1064px) { .lm-hero-col { max-width: 100%; } }

/* Voile sous le texte du hero : sur une photo claire, un titre blanc et son
   accroche deviennent illisibles. Le degrade ne touche que le bas gauche. */
.lm-hero-simple .hero-section-wrap-item:before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(100deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.35) 42%,
              rgba(0,0,0,0) 72%);
}
.lm-hero-simple .container { position: relative; z-index: 2; }
.lm-hero-simple .lm-hero-accroche { color: #fff; }

/* Titre du bloc "Pourquoi louer chez nous", remonte au-dessus des colonnes :
   la photo de droite demarre alors au meme niveau que le premier atout. */
.about-wrap .lm-titre-hors-colonne { margin-bottom: 26px; }
.about-wrap .lm-titre-hors-colonne h2 { margin-bottom: 6px; }

/* Titre du bloc "Nos résidences".
   Le theme habille un h3 : notre hierarchie de titres en fait un h2, qui
   perdait donc sa taille et son trait orange. On rend le h2 comme le h3
   d'origine, et on laisse le theme s'occuper du centrage vertical. */
.fw_car_title h2 {
  font-weight: 600; font-size: 2.4em; position: relative; margin-bottom: 20px;
  text-align: left;
}
.fw_car_title h2:before {
  content: ""; position: absolute; top: -30px; left: 0;
  width: 40px; height: 1px; background: var(--main-color);
}
/* Quand le panneau porte une photo, le trait orange du theme se posait sur le
   bas de l'image. On le remonte au-dessus de la photo, a la place qu'il occupe
   dans le theme : un filet, puis le contenu. */
.fw_car_title:has(.lm-residences-photo) h2:before { content: none; }
.fw_car_title:has(.lm-residences-photo):before {
  content: ""; display: block; width: 40px; height: 1px;
  background: var(--main-color); margin: 0 0 26px;
}
/* Les trois cartes gardent la meme hauteur de pastilles : sans cela, une
   adresse longue decale le pied de la carte voisine. */
.agent-card-item .post-card-details { min-height: 118px; }
@media (max-width: 1064px) { .agent-card-item .post-card-details { min-height: 0; } }
.fw_car_title p { text-align: left; }

/* Cartes "Nos engagements" : le theme laisse chaque carte prendre la hauteur
   de son texte. Un titre sur deux lignes ou une phrase plus longue, et les
   trois cartes ne s'alignent plus - ni en haut du bloc citation, ni en pied.
   On etire les cartes sur toute la hauteur de la rangee, on reserve deux
   lignes au titre, et le pied descend en bas de carte. */
.testimonilas-carousel .swiper-wrapper { align-items: stretch; }
.testimonilas-carousel .swiper-slide { height: auto; display: flex; }
.testi-item { display: flex; flex-direction: column; flex: 1 1 auto; }
.testi-item > .testimonilas-text { display: flex; flex-direction: column; flex: 1 1 auto; }
.testi-header h3 { min-height: 3em; display: flex; align-items: center; }
.testimonilas-text-item { flex: 1 1 auto; display: flex; }
.testimonilas-text-item-wrap { flex: 1 1 auto; }
@media (max-width: 768px) {
  .testi-header h3 { min-height: 0; display: block; }
}

/* Cartes des residences : meme hauteur, bouton en pied de carte. */
.agnet-carousel .swiper-slide { height: auto; }
.agent-card-item { height: 100%; display: flex; flex-direction: column; }
.agent-card-item_text { flex: 1 1 auto; }
.agent-card-item_text-item h3 { text-align: left; }
.agent-card-item_text-item p { text-align: left; }
.agent-card-item_footer { margin-top: auto; }

/* Section chiffree des honoraires : titre a gauche, comme le reste. */
.lm-honoraires .boxed-content-title, .lm-honoraires h2, .lm-honoraires h3 { text-align: left; }

/* Un nom de ville ne se coupe pas en fin de ligne. */
.lm-insecable { white-space: nowrap; font-weight: inherit; font-style: inherit; }

/* Carnet d'adresses Summer's Beauty : une carte par prestation, cliquable.
   Trois colonnes sur grand ecran, deux sur tablette, une sur telephone. */
.lm-services-grille {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 22px 0 26px;
}
a.lm-service {
  display: flex; flex-direction: column; overflow: hidden; height: 100%;
  border: 1px solid #eee; border-radius: 12px; background: #fff; color: inherit;
  text-decoration: none; transition: box-shadow .2s linear, transform .2s linear;
}
a.lm-service:hover { box-shadow: 0 14px 30px rgba(0,0,0,.10); transform: translateY(-3px); }
.lm-service-photo {
  display: block; aspect-ratio: 3 / 2; overflow: hidden;
  background-size: cover; background-position: center; background-color: #f4f4f4;
}
.lm-service-photo img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; }
.lm-service-texte { display: block; padding: 16px 18px 18px; }
.lm-service-texte strong {
  display: block; font-size: 1.02em; font-weight: 600; color: #1e1e1e; margin-bottom: 6px;
}
.lm-service-texte span { display: block; font-size: .92em; line-height: 1.6em; color: #5e646a; }
a.lm-service:hover .lm-service-texte strong { color: var(--main-color); }

/* Zone contact de l'institut : le cadre des cartes du theme, une ligne par
   coordonnee, chacune precedee de son icone. Adresse, telephone, courriel,
   site : chaque information sur sa propre ligne, jamais en paragraphe. */
.lm-contact-institut {
  background: #f9f9f9; border: 1px solid #eee; border-radius: 20px;
  padding: 30px; margin: 0 0 26px;
}
.lm-contact-entete { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.lm-contact-entete strong { display: block; font-size: 1.15em; font-weight: 600; color: #1e1e1e; }
.lm-contact-entete span { display: block; font-size: .92em; line-height: 1.6em; }
.lm-logo-institut { width: 54px; height: auto; border-radius: 8px; flex: 0 0 54px; }
.lm-contact-liste { list-style: none; margin: 0; padding: 0; }
.lm-contact-liste li {
  list-style: none; display: flex; align-items: flex-start; gap: 14px;
  padding: 12px 0; border-top: 1px solid #eee;
}
.lm-contact-liste li i {
  flex: 0 0 40px; width: 40px; height: 40px; line-height: 40px; text-align: center;
  background: #fff; border: 1px solid #eee; border-radius: 50%;
  color: var(--main-color); font-size: 15px;
}
.lm-contact-liste li span { align-self: center; line-height: 1.6em; }
.lm-contact-liens { border-top: 1px solid #eee; padding: 16px 0 0; margin: 0; }
@media (max-width: 480px) {
  .lm-contact-institut { padding: 22px; }
  .lm-contact-liste li i { flex-basis: 34px; width: 34px; height: 34px; line-height: 34px; }
}

@media (max-width: 1064px) { .lm-services-grille { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .lm-services-grille { grid-template-columns: 1fr; } }

/* Libelle d'un point de proximite : il retrecit avant la pastille de duree. */
.nerby-list li .lm-proche-libelle {
  flex: 1 1 auto; min-width: 6.5em; font-weight: inherit; color: inherit;
  overflow-wrap: break-word;
}
@media (max-width: 520px) {
  .nerby-list li { padding: 8px 10px; gap: 8px; }
  .nerby-list li .lm-proche-libelle { font-size: .84em; }
  .nerby-list li span { min-width: 46px; padding: 0 7px; font-size: .82em; }
}

/* Photo du panneau "Nos résidences" : elle occupe le vide laissé par le
   thème au-dessus du titre. */
.fw_car_title .lm-residences-photo {
  display: block; width: 100%; height: 190px; object-fit: cover;
  border-radius: 12px; margin: 0 0 26px;
}
@media (max-width: 1064px) {
  .fw_car_title .lm-residences-photo { height: 150px; margin-bottom: 18px; }
}

/* Les trois atouts "Zéro honoraire / Résidences fermées / Réponse rapide" :
   meme hauteur, quelle que soit la longueur du texte. La grille impose des
   rangees egales, ce qu'un empilement de blocs flottants ne sait pas faire. */
.services-opions ul { display: grid; grid-auto-rows: 1fr; gap: 10px; }
.services-opions li { float: none; margin-bottom: 0; height: 100%; }

/* Prestations de l'institut : l'accordeon du theme. Le "plus" orange deplie
   la reponse ; ouvert, il devient un "moins" sur fond orange. Le theme fait
   pivoter son chevron, ce qui ne se voit pas sur un plus : on echange donc le
   glyphe plutot que de le tourner. */
.lm-faq-institut a.toggle { font-size: 1.02em; font-weight: 600; }
.lm-faq-institut a.toggle i { transition: background .2s linear, color .2s linear; }
.lm-faq-institut a.toggle.act-accordion i { transform: none; }
.lm-faq-institut a.toggle.act-accordion i:before { content: "\f068"; }
.lm-faq-institut .accordion-inner p { padding-bottom: 0; }
@media (max-width: 767px) {
  .lm-faq-institut a.toggle { height: auto; padding: 18px 70px 18px 22px;
    line-height: 1.5em; display: flex; align-items: center; }
  .lm-faq-institut .accordion-inner { padding: 22px 22px 14px; }
}

/* Prestations de l'institut : une liste liee, sur toute la largeur du bloc
   de texte. Les photos ne sont plus reprises ici, elles sont au diaporama. */
.lm-prestations { list-style: none; margin: 18px 0 24px; padding: 0; }
.lm-prestations li {
  list-style: none !important; padding: 12px 0 12px 22px; position: relative;
  border-bottom: 1px solid #f0f0f0; line-height: 1.6em; margin: 0;
}
.lm-prestations li::marker { content: ""; }
.lm-prestations li:last-child { border-bottom: 0; }
.lm-prestations li:before {
  content: ""; position: absolute; left: 0; top: 21px;
  width: 10px; height: 2px; background: var(--main-color);
}
.lm-prestations a { font-weight: 600; color: #1e1e1e; }
.lm-prestations a:hover { color: var(--main-color); }

/* Adresse posee sur la photo d'une vignette : elle passe a la ligne plutot
   que de filer sous la pastille du nombre de photos, et elle lui laisse la
   place. Sur telephone, la ligne debordait de la carte. */
.geodir-category-location { padding-right: 74px; }
.geodir-category-location a {
  display: inline-flex; align-items: flex-start; gap: 8px;
  white-space: normal; line-height: 1.35em; max-width: 100%;
}
.geodir-category-listing_media-list { z-index: 3; }

/* Bouton "Voir plus" : le theme le cache sous 1064 px. On le garde, c'est
   le geste le plus naturel sur telephone. */
@media (max-width: 1064px) {
  /* Le bouton du theme est cale en position absolue a droite : sur un ecran
     etroit il recouvrait les numeros de page. On empile les deux, centres. */
  .pagination-wrap { display: flex; flex-direction: column; align-items: center;
    gap: 16px; }
  .pagination-wrap .pagination.float-pagination { float: none; display: flex;
    justify-content: center; flex-wrap: wrap; gap: 3px; }
  .pagination-wrap .pagination.float-pagination a { float: none; margin: 0; }
  .pagination-wrap .load-more_btn { display: inline-flex !important;
    position: static; align-items: center; gap: 10px; margin: 0;
    padding: 0 34px; }
}

/* Filtres "Nos logements à louer" sur telephone et tablette.
   Le theme empile les boutons en pleine largeur et centre leur libelle. Le
   titre du bloc, lui, est ferre a gauche : on aligne les filtres dessus. */
@media only screen and (max-width: 1068px) {
  .listing-grid_heroheader { text-align: left; }
  .listing-grid_heroheader .gallery-filters { text-align: left; }
  .listing-grid_heroheader .gallery-filters a { text-align: left; padding: 0 20px; }
}

/* Bandeaux photo : le texte blanc du theme est pose sur nos photos, plus
   claires que celles de la demo. On glisse un voile sombre derriere le texte
   pour qu'il reste lisible, et sur telephone on remonte le bloc de 50 px,
   demande de June du 08/09/2026. */
.banner-widget-wrap .bg-wrap:after,
.post-banner-widget .bg-wrap:after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.55) 100%);
  pointer-events: none;
}
.banner-widget_content, .post-banner-widget_content { position: relative; z-index: 3; }
/* Lien pose sur une photo : l'orange du theme y perd sa lisibilite. Sur les
   fonds photo, le lien reste blanc et se signale par un souligne. */
.city-carousel-content a.lm-lien-interne,
.banner-widget_content a, .post-banner-widget_content a.lm-lien-interne,
.hero-section-title a.lm-lien-interne {
  color: #fff; text-decoration: underline; text-underline-offset: 3px;
}
/* Texte des bandeaux : blanc, comme le prevoit le theme. Nos paragraphes
   heritaient du gris du corps de page, illisible sur une photo. */
.banner-widget_content, .banner-widget_content p, .banner-widget_content h5,
.banner-widget_content .lm-chapo,
.post-banner-widget_content, .post-banner-widget_content p,
.post-banner-widget_content h5, .post-banner-widget_content .lm-chapo { color: #fff; }
@media only screen and (max-width: 767px) {
  .banner-widget-wrap { padding: 40px 24px 90px; }
  .post-banner-widget .post-banner-widget_content { padding-top: 0; }
}
/* Titre d'accordeon : le rond de la fleche mangeait la fin du libelle. */
.accordion a.toggle { padding-right: 76px; }
@media only screen and (max-width: 767px) {
  .accordion a.toggle { height: auto; line-height: 1.5em; padding: 18px 76px 18px 22px;
    display: flex; align-items: center; white-space: normal; }
}

/* Cadrage des photos de hero sur telephone.
   Une photo large recadree dans un ecran etroit ne garde que son centre. Quand
   le sujet se trouve sur un cote, on deplace le point de cadrage plutot que de
   changer de photo. */
@media only screen and (max-width: 767px) {
  .bg.lm-bg-gauche { background-position: 22% center !important; }
  .bg.lm-bg-droite { background-position: 78% center !important; }
}

/* Hero au texte cale a droite. Quand le sujet de la photo occupe la gauche,
   le bloc de texte passe de l'autre cote plutot que de le recouvrir. Les deux
   filets orange disparaissent : sur une photo chargee, ils ajoutent du bruit. */
.lm-hero-col.lm-hero-col-droite { margin-left: auto; }
.lm-hero-page.lm-hero-sans-filet::before { content: none; display: none; }
.lm-hero-page.lm-hero-sans-filet .hero-section-title_sub::before { content: none; display: none; }
.lm-hero-page.lm-hero-sans-filet .hero-section-title_sub { padding-left: 0; }
/* Hero de l'article sur l'institut : le texte se pose a droite ET se ferre a
   droite, pour degager le visage qui occupe la gauche de la photo. */
.lm-hero-col.lm-hero-col-droite,
.lm-hero-col.lm-hero-col-droite .hero-section-title,
.lm-hero-col.lm-hero-col-droite h1,
.lm-hero-col.lm-hero-col-droite h2,
.lm-hero-col.lm-hero-col-droite p,
.lm-hero-col.lm-hero-col-droite .hero-section-title_sub,
.lm-hero-col.lm-hero-col-droite .lm-chapo { text-align: right; }
.lm-hero-col.lm-hero-col-droite .lm-hero-accroche {
  text-align: right !important; margin-left: auto !important; margin-right: 0 !important;
}
.lm-hero-col.lm-hero-col-droite .hero-section-title_sub,
.lm-hero-col.lm-hero-col-droite .btn,
.lm-hero-col.lm-hero-col-droite .commentssubmit { margin-left: auto !important; margin-right: 0 !important; }
.lm-hero-col.lm-hero-col-droite .commentssubmit { display: table; }
.lm-hero-col.lm-hero-col-droite .lm-hero-logo { margin-left: auto !important; margin-right: 0 !important; }
@media (max-width: 1064px) {
  .lm-hero-col.lm-hero-col-droite { margin-left: auto; }
}

/* ---------------------------------------------------------------- pictos
   Regle generale : un glyphe pose dans une pastille, un carre ou un rond doit
   tomber au centre. Le theme se contente d'un line-height, ce qui centre
   verticalement mais laisse le glyphe colle a gauche. On centre dans les deux
   sens, partout ou une icone occupe seule sa boite. */
.share-icon,
.fw-carousel-button-prev, .fw-carousel-button-next, .slider-button,
.ac-button, .box-media-zoom, .custom-scroll-link, .pcl_btn, .tolt,
/* .to-top est le bouton entier "Haut de page", pas une pastille d'icone :
   le centrer collait la pastille par-dessus le mot. Son icone est deja
   centree par le theme. */
.header-search-btn, .search-close-btn, .nav-button-wrap,
.swiper-button-next, .swiper-button-prev,
.sc-controls div, .agent-carousel_controls .ac-button,
.post-card_link i, .load-more_btn i {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
}
/* Ces deux-la restent en bloc : le theme les positionne en absolu. */
.fw-carousel-button-prev, .fw-carousel-button-next,
.ac-button, .swiper-button-next, .swiper-button-prev { display: flex !important; }

/* Navigation d'article precedent / suivant.
   Le theme place une fleche fine blanche, peu visible sur le fond noir. On la
   passe en orange, et on la cale du bon cote du libelle. Le titre voisin
   s'affiche en entier plutot que coupe. */
.content-nav-fixed a { display: flex; align-items: center; gap: 14px; }
.content-nav-fixed a.ln { justify-content: flex-start; }
.content-nav-fixed a.rn { justify-content: flex-end; text-align: right; }
.content-nav-fixed a .lm-fleche-nav { flex: 0 0 auto; color: var(--main-color); }
.content-nav-fixed a span { display: block; line-height: 1.4em; }
.content-nav-fixed a strong { display: block; font-weight: 600; }
/* Premier ou dernier article : un seul voisin, donc pleine largeur. */
.content-nav-fixed.lm-nav-seule ul { grid-template-columns: 1fr; }
.content-nav-fixed.lm-nav-seule:before,
.content-nav-fixed.lm-nav-seule:after { content: none; }

@media only screen and (max-width: 767px) {
  .content-nav-fixed { height: auto; padding: 18px 22px; border-radius: 24px; }
  .content-nav-fixed ul { grid-template-columns: 1fr; gap: 14px; }
  .content-nav-fixed:before, .content-nav-fixed:after { content: none; }
  .content-nav-fixed a.rn,
  .content-nav-fixed a.rn span,
  .content-nav-fixed a.rn strong { justify-content: flex-start; text-align: left !important; }
}

/* ------------------------------------------------------------------ titres
   Regle de June : un titre tient sur UNE ligne, un paragraphe sur quatre au
   plus. Sinon les blocs en colonnes n'ont pas la meme hauteur et la grille
   fait des escaliers. Ici on traite les blocs ou le theme pose un corps trop
   gros pour la largeur du telephone ; les titres trop longs, eux, ont ete
   raccourcis dans les textes. */
@media only screen and (max-width: 767px) {
  .city-carousel-content h3 { font-size: 1.15em; line-height: 1.3em; }
  .list-main-wrap-title h2,
  .half-carousel-title h2,
  .section-title h2 { font-size: 1.35em; line-height: 1.3em; }
  .api-text h3 { font-size: 1.3em; line-height: 1.3em; }
  .testi-header h3 { font-size: 1em; line-height: 1.35em; }
  .about-title h2 { font-size: 1.3em; line-height: 1.3em; }
  .recent-post-content h4,
  .recent-post-content h3 { font-size: .92em; line-height: 1.35em; }
}
/* Titre du listing : le compteur passait a la ligne parce que le bloc se
   retrecissait. On lui laisse la place et on interdit le retour a la ligne. */
.list-main-wrap-title { display: block; width: 100%; }
.list-main-wrap-title h2 { white-space: nowrap; }
/* Le compteur du theme est un pave qui se pose sous le titre : on le remet
   sur la meme ligne. */
.list-main-wrap-title h2 strong { display: inline-block !important; margin-left: 8px; vertical-align: baseline; }

/* Page Propriétés : le texte de fond en trois colonnes sur ordinateur.
   Chaque bloc n'affiche que quatre lignes avant son "Lire la suite", donc
   les colonnes gardent la meme hauteur - pas d'escalier. */
.lm-fond-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.lm-fond-grille > .boxed-content { margin: 0; }
/* Le theme pose son interrupteur a droite du titre : en colonne etroite, le
   titre passait dessous. On lui reserve la place. */
.lm-fond-grille .boxed-content-title h3 { padding-right: 54px; }
@media (max-width: 1064px) { .lm-fond-grille { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px)  { .lm-fond-grille { grid-template-columns: 1fr; gap: 20px; } }

/* Page Services : le fond redactionnel en deux colonnes, ferre a gauche. */
/* Trois colonnes depuis le 12/09/2026, comme les blocs de la page dossier.
   Les cartes d'une meme rangee se terminent a la meme hauteur : pas d'escalier. */
.lm-fond-grille-2 { grid-template-columns: repeat(3, 1fr); align-items: start; }
.lm-fond-grille-2 > .boxed-content { display: flex; flex-direction: column; height: 100%; }
.lm-fond-grille-2 .boxed-content-item { flex: 1 1 auto; display: flex; flex-direction: column; }
.lm-fond-grille-2 .lire-suite { margin-top: auto; }
@media (max-width: 1064px) { .lm-fond-grille-2 { grid-template-columns: repeat(2, 1fr); } }
.lm-fond-grille-2 .boxed-content-title,
.lm-fond-grille-2 .boxed-content-title h2,
.lm-fond-grille-2 .boxed-content-title h3,
.lm-fond-grille-2 .boxed-content-item,
.lm-fond-grille-2 .boxed-content-item p,
.lm-fond-grille-2 .lire-suite summary { text-align: left !important; }
@media (max-width: 767px) { .lm-fond-grille-2 { grid-template-columns: 1fr; } }

/* Page Proprietes : la FAQ en trois colonnes. Chaque question et sa reponse
   forment une case, pour que la grille ne les separe jamais. */
.lm-faq-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: start; }
.lm-faq-grille .lm-faq-case { min-width: 0; }
.lm-faq-grille .lm-faq-case a.toggle { margin: 0; }
@media (max-width: 1064px) { .lm-faq-grille { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px)  { .lm-faq-grille { grid-template-columns: 1fr; } }

/* Un seul filet orange par hero. Le theme en pose un second, fin, 20 px
   au-dessus de la pastille : il doublait celui du hero. */
.lm-hero-page .hero-section-title_sub::before { content: none; display: none; }

/* Icone orange des formulaires : le theme la centre sur tout le bloc, donc
   elle remontait des que le champ portait une etiquette au-dessus. On la
   recentre sur le champ lui-meme. */
.cs-intputwrap:has(> label) > i {
  top: auto; bottom: 28px; transform: translateY(50%);
}

/* Hero de l'accueil : meme filet orange que les heros des autres pages. */
.home-hero-section .hero-section-title.hs_align-title:not(.lm-hero-page)::before {
  content: ""; display: block; width: 60px; height: 3px; border-radius: 2px;
  background: var(--main-color); margin: 0 0 26px;
}
.home-hero-section .hero-section-title.hs_align-title:not(.lm-hero-page) .hero-section-title_sub::before {
  content: none; display: none;
}

/* Loupe de la recherche des actualites : le bouton n'avait pas de couleur de
   texte, iOS la rendait donc en bleu systeme. */
.search-submit, .search-submit i { color: #fff !important; }
.search-submit:hover, .search-submit:hover i { color: var(--main-color) !important; }

/* Acces discret a l'espace prive, dans la ligne de bas de page. */
.lm-liens-legaux .lm-admin { opacity: .75; }
.lm-liens-legaux .lm-admin:hover { opacity: 1; color: var(--main-color); }
.lm-liens-legaux .lm-admin i { margin-right: 6px; }

/* Titre des apercus d'articles : le gabarit habille un h3, nos pages portent
   un h2 pour la hierarchie SEO. On lui rend le meme dessin. */
.post-item_content h2 {
  font-size: 1.4em; margin-bottom: 15px; text-align: left;
  position: relative; font-weight: 600;
}
.post-item_content h2 a { display: block; transition: all .2s ease-in-out; }
.post-item_content h2:hover a { color: var(--main-color); }

/* Mention legale sous la galerie d'un bien meuble. */
.lm-mention-photos{
  margin: 10px 0 0; font-size: .82rem; color: #8A9096; font-style: italic;
}

/* ------------------------------------------------------------------
   Fiche bien : la ligne "Bailleurs / Honoraires / Disponibilite".
   Le theme la pose en float dans un conteneur en overflow:hidden, avec
   un decalage relatif de 10 px. Des qu'elle passe sur deux lignes (les
   fiches sans loyer affiche), la seconde ligne sortait de la boite et
   se retrouvait coupee en deux. On la passe en flex : elle se replie.
   ------------------------------------------------------------------ */
.hsc_flat .hero-section-opt{display:flex;flex-wrap:wrap;gap:8px 24px;overflow:visible}
.hsc_flat .hero-section-opt .property-single-header-date{float:none;top:0;margin:0}

/* ------------------------------------------------------------------
   Complements redactionnels des pages contact, dossier, accueil et
   actualites. Chaque section reprend la boite "boxed-content" du theme :
   elle se cale donc exactement sur le bloc du dessus, sans largeur ni
   centrage a elle. On ne redresse que l'alignement du texte, que le
   gabarit centre par defaut.
   ------------------------------------------------------------------ */
/* Les blocs de texte de fond s'affichent sur trois colonnes. Une grille
   plutot que des flottants : les cartes d'une meme rangee partent du meme
   point et se terminent a la meme hauteur, donc pas d'escalier. */
.lm-texte-complement{margin:0;display:grid;grid-template-columns:repeat(3,1fr);
  gap:30px;align-items:start}
.lm-texte-complement .boxed-content{margin-bottom:0;display:flex;
  flex-direction:column;height:100%}
.lm-texte-complement .boxed-content-item{flex:1 1 auto;display:flex;
  flex-direction:column}
.lm-texte-complement .lire-suite{margin-top:auto}
/* La pastille decorative du theme est posee a droite du titre. En colonne
   etroite, un titre long passait dessous : on lui reserve sa place. */
.lm-texte-complement .boxed-content-title h2{padding-right:56px}
@media (max-width:1064px){
  .lm-texte-complement{grid-template-columns:repeat(2,1fr);gap:24px}
}
@media (max-width:767px){
  .lm-texte-complement{grid-template-columns:1fr;gap:20px}
}
.lm-texte-complement .boxed-content-title h2,
.lm-texte-complement .boxed-content-item p,
.lm-texte-complement .lire-suite,
.lm-texte-complement .lire-suite>summary{text-align:left}
.lm-texte-complement .boxed-content-item p{line-height:1.75em}
.lm-texte-complement .boxed-content-item p+p{margin-top:14px}

/* ---------------------------------------------------------------- langues
   Selecteur de langue en haut a droite, tel que June l'a cadre : lettres
   noires, majuscules espacees, et la langue courante posee sur une pastille
   gris clair aux angles arrondis. Le bloc se glisse avant le bouton
   telephone, donc a droite du menu et a hauteur du logo. */
.lm-langues{float:right;display:flex;align-items:center;gap:0;margin:30px 10px 0 0}
.lm-langues a{
  display:block;padding:8px 10px;border-radius:8px;
  font-family:'Poppins',system-ui,sans-serif;font-size:13px;font-weight:600;
  letter-spacing:.06em;line-height:1;color:#242a30;text-decoration:none;
  transition:background-color .18s ease,color .18s ease}
.lm-langues a:hover,.lm-langues a:focus-visible{background:#eef1f5;color:#000}
.lm-langues a.actif{background:#eef1f5;color:#0f1418;font-weight:700}
.lm-langues a:focus-visible{outline:2px solid #EE7838;outline-offset:2px}

@media (max-width:1200px){
  .lm-langues{margin:30px 12px 0 0}
  .lm-langues a{padding:8px 9px;font-size:12px}
}
@media (max-width:1064px){
  /* Barre compacte : la ligne du haut est deja pleine. Le selecteur prend
     donc sa propre ligne, sous le logo, aligne a droite. */
  .lm-langues{float:none;clear:both;width:100%;justify-content:flex-end;
    margin:0;padding:4px 0 10px}
  .lm-langues a{padding:7px 9px;font-size:12px;letter-spacing:.04em}
  .main-header .header-inner{height:auto;min-height:0}
}
@media (max-width:480px){
  .lm-langues{padding:2px 0 8px}
  .lm-langues a{padding:6px 7px;font-size:11.5px}
}

/* --------------------------------------------------- champ anti-robot
   La reponse attendue tient en deux chiffres. Un champ pleine largeur
   invite a ecrire une phrase : on le ramene a sa juste taille. */
.cs-intputwrap.lm-champ-verif{max-width:220px}
.cs-intputwrap.lm-champ-verif input{max-width:220px}
@media (max-width:767px){
  .cs-intputwrap.lm-champ-verif,
  .cs-intputwrap.lm-champ-verif input{max-width:180px}
}

/* --------------------------------------------------- tableau des normales
   Huit colonnes de chiffres : sur telephone, le tableau garde sa lisibilite
   en defilant horizontalement plutot qu'en se tassant. */
.lm-tableau-large{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 8px}
.lm-tableau-large table{min-width:640px;margin-bottom:0}
table.lm-meteo th,table.lm-meteo td{text-align:right;white-space:nowrap;
  font-variant-numeric:tabular-nums}
table.lm-meteo thead th,table.lm-meteo tbody th{text-align:left}
table.lm-meteo tr.lm-total th,table.lm-meteo tr.lm-total td{font-weight:700}

/* ------------------------------------------------- bouton de la page Services
   Le theme donne à ce bouton un display:table, ce qui l'etire sur toute la
   colonne. Il doit juste envelopper son texte. */
/* Le libelle se posait bas dans le cadre : le theme cale la hauteur avec une
   ligne et un padding qui ne se repondent pas. On centre en flex, dans les
   deux sens, et le texte tombe au milieu du rectangle. */
.about-wrap a.commentssubmit{
  display:inline-flex!important;align-items:center;justify-content:center;
  width:auto!important;max-width:max-content;min-height:52px;
  padding:0 34px!important;line-height:1;text-align:center}

/* ---------------------------------------------------------------- meteo
   Un soleil qui tourne lentement, a gauche du selecteur de langue. Il ouvre
   la page du climat. Pas de temperature affichee : les services meteo
   gratuits interdisent l'usage commercial dans leurs conditions. */
/* Le soleil vit dans le bloc des langues, dont le theme colore les liens en
   gris fonce : on force l'orange, sinon l'icone se confond avec les lettres. */
.lm-langues a.lm-meteo-icone,.lm-meteo-icone{float:none;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0 0 0 2px;padding:0;border-radius:50%;color:#EE7838;text-decoration:none;background:none;transition:background .2s}
.lm-langues a.lm-meteo-icone:hover{background:#fdf1e9;color:#EE7838}
.lm-meteo-icone svg{width:23px;height:23px;overflow:visible}
.lm-meteo-icone .lm-soleil-coeur{fill:currentColor}
.lm-meteo-icone .lm-soleil-rais{
  fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;
  transform-origin:12px 12px;animation:lm-tourne 18s linear infinite}
.lm-meteo-icone:hover{background:#fdf1e9}
.lm-meteo-icone:focus-visible{outline:2px solid #EE7838;outline-offset:2px}
@keyframes lm-tourne{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .lm-meteo-icone .lm-soleil-rais{animation:none}
}
@media (max-width:1064px){
  /* Sous 1064 px, le bouton telephone occupe le haut a droite : le soleil
     descend rejoindre le selecteur de langue, sur sa propre ligne. */
  .main-header .header-inner{position:relative}
}
@media (max-width:480px){
  .lm-meteo-icone{width:30px;height:30px}
  .lm-meteo-icone svg{width:19px;height:19px}
}

/* ------------------------------------------------- accordeons des articles
   Le bandeau noir de l'accordeon ouvert se collait au paragraphe qui le
   precede : on lui donne de l'air au-dessus et en dessous. */
.text-block .accordion,
.lm-bloc-libre .accordion,
.post-content .accordion{margin-top:34px!important;margin-bottom:30px!important}
.text-block .accordion + p,
.lm-bloc-libre .accordion + p,
.post-content .accordion + p{margin-top:26px}

/* --------------------------------------------------------------------
   Pagination de la grille d'accueil. Douze biens par page : quatre
   rangees pleines de trois, donc aucune carte seule en bas de grille.
   Reprend la forme des pages du theme : carres blancs arrondis, page
   courante en orange.
   -------------------------------------------------------------------- */
/* La grille du theme empile des blocs flottants. Des qu'une page n'en montre
   qu'un, les flottants s'echappent et la pagination remonte a cote de la
   carte. On degage donc la ligne avant de la poser, et la grille se referme
   sur ses propres flottants. */
/* La grille d'accueil est reprise plus bas, avec .lm-grille-propre. La page
   Proprietes, elle, garde la grille du theme en trois colonnes : rien ici ne
   doit toucher a son affichage. */
.lm-pagination{clear:both;width:100%;display:flex;flex-wrap:wrap;align-items:center;
  gap:8px;justify-content:center;margin:6px 0 34px}
.lm-pagination a.lm-page{display:inline-flex;align-items:center;justify-content:center;
  min-width:46px;height:46px;padding:0 12px;border-radius:10px;background:#fff;
  border:1px solid #eee;color:#1e1e1e;font-size:14px;font-weight:500;
  text-decoration:none;transition:background .18s ease,color .18s ease,border-color .18s ease}
.lm-pagination a.lm-page:hover{border-color:#EE7838;color:#EE7838}
.lm-pagination a.lm-page.actif{background:#EE7838;border-color:#EE7838;color:#fff;font-weight:600}
.lm-pagination a.lm-page.eteint{opacity:.35;pointer-events:none}
.lm-pagination a.lm-page:focus-visible{outline:2px solid #EE7838;outline-offset:2px}
@media (max-width:480px){
  .lm-pagination a.lm-page{min-width:40px;height:40px;padding:0 9px;font-size:13px}
}

/* Bouton « Nous écrire » de la page Services : le theme aligne son
   libelle a gauche, ce qui laisse un grand vide a droite. On centre. */
.text-block a.commentssubmit{text-align:center}

/* --------------------------------------------------------------------
   Sections repliees sous leur propre titre. Le titre porte un plus
   orange a droite ; le bloc s'ouvre au clic. Demande du 12/09/2026 :
   ces textes de fond prenaient trop de place sur la page.
   -------------------------------------------------------------------- */
.lm-section{margin:0}
.lm-section > summary.lm-section-titre{
  list-style:none;cursor:pointer;display:flex;align-items:flex-start;
  justify-content:space-between;gap:16px;padding:0}
.lm-section > summary::-webkit-details-marker{display:none}
.lm-section > summary .boxed-content-title{flex:1;min-width:0;padding-right:0}
.lm-section > summary .boxed-content-title h2{padding-right:0}
.lm-section > summary::after{
  content:"+";flex:0 0 auto;width:34px;height:34px;border-radius:50%;
  background:var(--main-color);color:#fff;font-size:20px;font-weight:400;
  line-height:34px;text-align:center;margin-top:2px;
  transition:background .18s ease,transform .18s ease}
.lm-section[open] > summary::after{content:"\00d7";transform:rotate(90deg)}
.lm-section > summary:hover::after{background:#d9642a}
.lm-section > summary:focus-visible{outline:2px solid var(--main-color);outline-offset:3px}
.lm-section .boxed-content-item{padding-top:0}
/* Le theme dessine deux petites barres decoratives a droite du titre. Avec le
   plus orange, elles se superposaient au texte : on les retire ici. */
.lm-section > summary .boxed-content-title::before,
.lm-section > summary .boxed-content-title::after{display:none}
.lm-section > summary .boxed-content-title{border-bottom:0;padding:25px 0 25px 50px;
  background:none;border-radius:0}
.lm-section[open] > summary .boxed-content-title{padding-bottom:14px}
.lm-section > summary{padding-right:34px}
.lm-section .boxed-content-item{padding:0 50px 26px}
.lm-texte-complement .lm-section,.lm-fond-grille-2 .lm-section{width:100%}
/* Une section fermee ne pese plus que son titre : les cartes d'une meme
   rangee gardent donc la meme hauteur, ouvertes comme fermees. */
/* Une section ouverte ne doit pas etirer ses voisines : chaque carte prend
   sa propre hauteur, sinon la rangee se remplit de vide. */
.lm-texte-complement .boxed-content,.lm-fond-grille-2 .boxed-content{align-self:start;height:auto}

/* --------------------------------------------------------------------
   Typographie du corps de texte, revue le 12/09/2026.
   Le theme compose les paragraphes en 12 px sur 24 : trop petit pour un
   site qui se lit, et beaucoup trop aere. Pire, les annonces melangeaient
   six tailles de paragraphe. Une seule taille partout, un interlignage
   resserre. Les titres gardent leurs proportions.
   -------------------------------------------------------------------- */
.content p, .content li,
.boxed-content-item p, .lire-suite-contenu p, .lm-section p,
.accordion-inner p, .accordion-inner li,
.text-block p, .post-content p, .about-wrap p,
.list-single-main-item p, .listing-features li,
.lm-redaction p, .lm-texte-complement p, .lm-fond-grille-2 p,
.tableau-caracs td, .tableau-caracs th {
  font-size: 15px !important;
  line-height: 1.56 !important;
}
.content p + p, .lire-suite-contenu p + p, .lm-section p + p { margin-top: 14px; }
.content p { margin-bottom: 14px; }
/* Les intertitres suivent, sinon ils flottent au-dessus d'un texte plus dense. */
.content h2, .post-content h2 { line-height: 1.22; }
.content h3, .post-content h3, .boxed-content-title h2 { line-height: 1.3; }
@media (max-width: 480px) {
  .content p, .content li, .boxed-content-item p, .lire-suite-contenu p,
  .lm-section p, .accordion-inner p, .text-block p, .post-content p,
  .about-wrap p, .lm-redaction p { font-size: 14.5px !important; }
}

/* --------------------------------------------------------------------
   Question anti-robot : la question et le champ sur la meme ligne.
   Demande du 12/09/2026 : « Combien font 6 + 2 ? Mettre le champ
   réponse à côté. » La question cesse donc d'occuper sa propre ligne.
   -------------------------------------------------------------------- */
.cs-intputwrap.lm-verif-ligne{
  display:flex;align-items:center;gap:12px;max-width:330px;position:relative}
.cs-intputwrap.lm-verif-ligne label#question-verification,
.cs-intputwrap.lm-verif-ligne label[id^="question-verification"]{
  flex:0 0 auto;margin:0;white-space:nowrap;font-size:15px;line-height:1.2}
.cs-intputwrap.lm-verif-ligne i{display:none}
.cs-intputwrap.lm-verif-ligne input{
  flex:0 0 96px;width:96px;max-width:96px;padding-left:16px;text-align:center}
@media (max-width:767px){
  .cs-intputwrap.lm-verif-ligne{max-width:100%}
  .cs-intputwrap.lm-verif-ligne input{flex:0 0 86px;width:86px;max-width:86px}
}

/* --------------------------------------------------------------------
   Grille d'accueil reprise a Isotope. Le script du theme positionnait
   chaque carte en absolu et figeait la hauteur du conteneur : une page
   de pagination laissait alors un grand vide. Grille CSS classique.
   -------------------------------------------------------------------- */
.listing-grid.lm-grille-propre{
  display:grid !important;grid-template-columns:repeat(3,1fr);gap:30px;
  height:auto !important;min-height:0 !important;position:static}
.listing-grid.lm-grille-propre > .listing-grid-item{
  position:static !important;left:auto !important;top:auto !important;
  transform:none !important;width:auto !important;max-width:none !important;
  float:none !important;padding:0 !important;margin:0 !important;
  display:flex}
/* Les cartes d'une meme rangee partent du meme point et finissent a la meme
   hauteur : c'est la regle anti-escalier, elle vaut aussi ici. */
.listing-grid.lm-grille-propre > .listing-grid-item > .listing-item{
  width:100%;display:flex;flex-direction:column}
/* La pagination masque les cellules hors page. Le display:flex ci-dessus
   l'emportait sur [hidden] : la carte restait visible et la page 1 affichait
   treize biens au lieu de douze. */
.listing-grid.lm-grille-propre > .listing-grid-item[hidden]{display:none !important}
.listing-grid.lm-grille-propre .geodir-category-content{flex:1;display:flex;flex-direction:column}
.listing-grid.lm-grille-propre .geodir-category-footer{margin-top:auto}
@media (max-width:1064px){
  .listing-grid.lm-grille-propre{grid-template-columns:repeat(2,1fr);gap:24px}
}
@media (max-width:700px){
  .listing-grid.lm-grille-propre{grid-template-columns:1fr;gap:20px}
}

/* --------------------------------------------------------------------
   Bandeau « Prévenu avant les autres ». Le fichier de la maison est
   recadre a la source : la dalle touche le bord bas de l'image, il n'y a
   aucun pixel a recuperer. On lui laisse donc la place que le theme
   prevoit, sans la rogner davantage, et on garde un filet de blanc sous
   le visuel plutot que de le coller au bloc suivant.
   -------------------------------------------------------------------- */
.api-wrap{ padding-bottom: 18px; }
.api-wrap .api-img img{ display: block; }

/* --------------------------------------------------------------------
   Article : une introduction, puis un seul depliage qui porte tout le
   reste. Il merite plus qu'un petit lien : on lui donne du poids, sinon
   le lecteur croit que l'article s'arrete la.
   -------------------------------------------------------------------- */
.lm-article-suite{margin:26px 0 10px;border-top:1px solid #eee;padding-top:22px}
.lm-article-suite > summary{font-size:15px;font-weight:600;letter-spacing:.02em}
.lm-article-suite > summary::before{width:38px;height:38px;line-height:38px;font-size:20px}
.lm-article-suite .lire-suite-contenu{padding-top:22px}

/* --------------------------------------------------------------------
   ANNONCES : une seule echelle, 12 septembre 2026
   June : « les tailles de polices varient entre les sections », « il y a
   trop de variante de taille de police paragraphe dans les annonces ».
   La reference est la ligne d'adresse, 15 px. Les bandeaux d'accordeon
   suivent la taille du titre « Ce qu'il y a autour ».
   -------------------------------------------------------------------- */
.accordion a.toggle,
.accordion a.act-accordion {
  font-size: 16.8px !important;
  line-height: 1.35 !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  height: auto !important;
}
.boxed-content-item table th[scope="row"],
.boxed-content-item table td { font-size: 15px !important; line-height: 1.5 !important; }
.lm-mention-meuble { font-size: 15px !important; line-height: 1.5 !important; }

/* Ecartement general reduit, demande deux fois dans le document. */
.content p, .content li,
.boxed-content-item p, .lire-suite-contenu p, .lm-section p,
.accordion-inner p, .accordion-inner li,
.text-block p, .post-content p, .about-wrap p,
.list-single-main-item p, .listing-features li,
.lm-redaction p, .lm-texte-complement p, .lm-fond-grille-2 p {
  line-height: 1.47 !important;
}
.content p + p, .lire-suite-contenu p + p, .lm-section p + p { margin-top: 11px; }
.content p { margin-bottom: 11px; }

/* Icone orange devant chaque ligne des caracteristiques. */
.lm-ico-carac {
  color: var(--main-color, #EE7838);
  width: 20px; margin-right: 9px; font-size: 15px;
  text-align: center; flex: none;
}
.boxed-content-item table th[scope="row"] { white-space: nowrap; }

/* « Ce qu'il y a autour » : horloge discrete, minutes au corps du texte. */
.nerby-list-box i.lm-montre { font-size: 12px !important; opacity: .85; margin-right: 5px !important; }
.nerby-list-box ul li span { font-size: 15px !important; line-height: 1.47 !important; font-weight: 400; }
.nerby-list-box ul li { padding-top: 7px; padding-bottom: 7px; }

/* Mentions d'annonce, repliees sous leur titre comme les autres sections. */
.lm-mentions-annonce { margin-top: 30px; }
.lm-mentions-liste { margin: 0; padding: 0; list-style: none; }
.lm-mentions-liste li {
  position: relative; padding-left: 20px; margin-bottom: 10px;
  font-size: 15px !important; line-height: 1.47 !important; color: #5e646a;
}
.lm-mentions-liste li::before {
  content: ""; position: absolute; left: 0; top: 9px;
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--main-color, #EE7838);
}

/* Sections trop longues en pleine largeur : trois colonnes, comme un journal.
   Un paragraphe ne se coupe jamais entre deux colonnes. */
.lm-3col { column-count: 3; column-gap: 34px; }
.lm-3col > p { break-inside: avoid; margin-top: 0; }
.lm-3col > p + p { margin-top: 11px; }
.lm-3col > h3, .lm-3col > h4 { break-after: avoid; margin-top: 0; }
@media (max-width: 1024px) { .lm-3col { column-count: 2; column-gap: 26px; } }
@media (max-width: 700px)  { .lm-3col { column-count: 1; } }

/* Le surtitre des sections n'est plus un h4 : il garde son apparence. */
.section-title p.lm-surtitre { font-size: 14px; font-weight: 600; letter-spacing: .08em;
  text-transform: uppercase; color: var(--main-color, #EE7838); margin: 0 0 10px; }

/* Accès discret à l'application de gestion, à côté de « Confidentialité ».
   La partie privée reste hors des moteurs : lien en nofollow, et les pages
   de l'application portent elles-memes un en-tete noindex. */
.lm-liens-legaux a.lm-acces-gestion {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0; margin-left: 4px; border: 0; opacity: .85;
  transition: opacity .18s ease, transform .18s ease;
}
.lm-liens-legaux a.lm-acces-gestion:hover { opacity: 1; transform: translateY(-1px); }
/* Bouton « Haut de page ». Le theme l'accroche 110 px sous le contenu, en
   comptant sur la marge basse des blocs d'origine. Nos sections repliees sont
   plus courtes : le bouton tombait alors dans le bandeau noir du pied de page
   et disparaissait. On degage avec une marge et non un remplissage : le
   bouton est cale sur le bord bas de la boite de remplissage, qu'un padding
   descendrait avec lui. */
.container:has(> .to_top-btn-wrap) { margin-bottom: 142px; }

/* Sur telephone, le theme decale encore ce bouton de 33 px vers la gauche :
   il sortait de l'ecran, et son cadre blanc de 220 px chevauchait les cartes
   pliees qui suivent. En dessous de la tablette on arrete de le positionner
   en absolu : il se pose simplement en fin de contenu, centre. */
@media (max-width: 1064px) {
  .container:has(> .to_top-btn-wrap) { margin-bottom: 0; }
  .to_top-btn-wrap {
    position: static; left: auto; right: auto; bottom: auto;
    width: 220px; margin: 26px auto 8px; border-radius: 30px;
    background: transparent;
  }
  .to_top-btn-wrap .svg-corner { display: none; }
  .to-top_btn { text-align: center; padding-left: 0; padding-right: 56px; }
  .to-top_btn i { right: 0; }
}

/* Numeros de telephone cliquables. Dans le corps des textes ils gardent
   l'aspect du texte courant : c'est un numero, pas un lien de navigation.
   Seul le doigt et le curseur revelent qu'on peut appeler. */
.lm-tel { color: inherit; text-decoration: none; white-space: nowrap; }
.lm-tel:hover, .lm-tel:focus { color: var(--main-color, #EE7838); }

/* Le logo orange se cale sur la maison du bas de page. Le fichier d'origine
   est un carre de 1024 px dont le dessin n'occupe qu'une bande centrale de
   385 px : regler la hauteur de l'image reglait donc le vide autour, et le
   logo restait minuscule a cote de l'icone. On sert ici la version recadree
   au trait, dont la hauteur est celle du dessin, et on la pose a la hauteur
   du glyphe de la maison. La marque est large et detaillee la ou l'icone est
   une forme pleine : a hauteur egale elle paraissait plus legere, on la pose
   donc a 22 px pour un poids visuel identique. */
.lm-liens-legaux a.lm-acces-gestion img {
  width: auto; height: 22px; display: block;
}

/* La pagination des biens reprend celle du blog : memes carres, memes
   fleches, meme page courante en orange. Rien de propre a l'accueil. */
.lm-pagination-biens { clear: both; width: 100%; margin: 16px 0 34px; }
.lm-pagination-biens .pagination.float-pagination {
  display: flex !important; justify-content: center; align-items: center;
  gap: 3px; float: none; }
.lm-pagination-biens .pagination.float-pagination a { float: none; margin: 0; }
.lm-pagination-biens .pagination a.eteint { opacity: .4; pointer-events: none; }

/* --------------------------------------------------------------------
   Page Contact : la carte s'aligne sur le formulaire.
   June : « Carte : aligne-la au bouton Envoyer ma demande ». La colonne
   de droite prend donc la hauteur de celle de gauche, et la carte la
   remplit entierement, du haut du premier champ au bas du bouton.
   -------------------------------------------------------------------- */
.contact-page .row:has(> .col-lg-6 .map-container),
.row:has(> .col-lg-6 > #carte-contact) { display: flex; align-items: stretch; }
.row:has(> .col-lg-6 > #carte-contact) > .col-lg-6 { display: flex; flex-direction: column; }
.row:has(> .col-lg-6 > #carte-contact) > .col-lg-6 > .map-container,
.row:has(> .col-lg-6 > #carte-contact) > .col-lg-6 > #carte-contact { flex: 1; height: auto; min-height: 420px; }
@media (max-width: 991px) {
  .row:has(> .col-lg-6 > #carte-contact) { display: block; }
  .row:has(> .col-lg-6 > #carte-contact) > .col-lg-6 > #carte-contact { min-height: 360px; height: 360px; }
}

/* --------------------------------------------------------------------
   Page de l'institut : les soins en deux colonnes, puis les coordonnees.
   -------------------------------------------------------------------- */
.lm-services-2col {
  list-style: none; margin: 18px 0 4px; padding: 0;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 28px;
}
.lm-services-2col li {
  display: flex; align-items: center; gap: 10px;
  font-size: 15px !important; line-height: 1.47 !important; color: #1e1e1e;
}
.lm-services-2col li i { color: var(--main-color, #EE7838); font-size: 13px; flex: none; }
@media (max-width: 600px) { .lm-services-2col { grid-template-columns: 1fr; } }

.lm-coordonnees {
  margin: 22px 0 4px; padding: 18px 20px;
  background: #faf9f8; border: 1px solid #eee; border-radius: 12px;
  display: grid; grid-template-columns: auto 1fr; gap: 8px 20px;
}
.lm-coordonnees dt {
  font-size: 12.5px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--main-color, #EE7838); font-weight: 600; margin: 0;
}
.lm-coordonnees dd { margin: 0; font-size: 15px; line-height: 1.47; color: #1e1e1e; }
@media (max-width: 600px) {
  .lm-coordonnees { grid-template-columns: 1fr; gap: 2px 0; }
  .lm-coordonnees dd { margin-bottom: 10px; }
}

/* Les boutons noirs des accordeons collaient au texte qui precede. */
.post-content .accordion, .text-block-container .accordion { margin-top: 22px; }
.accordion a.toggle { margin-top: 10px; }
.accordion a.toggle:first-child { margin-top: 0; }

/* --------------------------------------------------------------------
   Contact : la carte monte jusqu'au bas du formulaire, sans :has().
   -------------------------------------------------------------------- */
.row.lm-rangee-contact { display: flex; flex-wrap: wrap; align-items: stretch; }
.row.lm-rangee-contact > .col-lg-6 { display: flex; flex-direction: column; }
.row.lm-rangee-contact .map-container {
  flex: 1 1 auto; display: flex; flex-direction: column; height: auto; }
.row.lm-rangee-contact #carte-contact {
  flex: 1 1 auto; height: auto !important; min-height: 420px; }
@media (max-width: 991px) {
  .row.lm-rangee-contact { display: block; }
  .row.lm-rangee-contact #carte-contact { height: 360px !important; min-height: 360px; }
}

/* La question anti-robot ne doit pas peser plus lourd que les champs. */
.cs-intputwrap.lm-verif-ligne label#question-verification,
.cs-intputwrap.lm-verif-ligne label[id^="question-verification"] {
  font-size: 13px !important; letter-spacing: .02em;
}

/* Sous-sections rangees dans les trois cartes. */
.lm-sous-section { border-top: 1px solid #eee; margin-top: 14px; padding-top: 12px; }
.lm-sous-section > summary {
  list-style: none; cursor: pointer; position: relative;
  padding-right: 40px; display: block;
}
.lm-sous-section > summary::-webkit-details-marker { display: none; }
.lm-sous-section > summary h3 {
  margin: 0; font-size: 16px; line-height: 1.3; font-weight: 600; color: #1e1e1e;
}
.lm-sous-section > summary::after {
  content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--main-color, #EE7838); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 17px; line-height: 1; font-weight: 400;
}
.lm-sous-section[open] > summary::after { content: "\00d7"; }
.lm-sous-contenu { padding-top: 10px; }
.lm-sous-contenu > p:last-child { margin-bottom: 0; }

/* Le bas du formulaire se resserre : le bouton finit au ras de la carte. */
.row.lm-rangee-contact > .col-lg-6 > .boxed-content > .boxed-content-item { padding-bottom: 2px; }

/* Note de date sous les prix : on la distingue des lignes du tableau. */
.boxed-content-item table tr.lm-note-prix td {
  font-size: 13px !important; line-height: 1.45 !important; color: #7a8087;
  padding-top: 10px; border-top: 1px solid #f0f0f0;
}

/* ---------------------------------------------------------------- lisibilite
   Sur telephone, plusieurs libelles descendaient sous 11 px : le numero du
   bouton d'appel, les boutons d'action, et surtout les valeurs des faits d'une
   annonce, a 10,5 px. Ce sont les informations qu'on lit en premier. On les
   remonte a une taille confortable sans toucher a la mise en page. */
@media (max-width: 1064px) {
  a.header-btn, a.header-btn span { font-size: 13px !important; letter-spacing: .2px; }
  a.header-btn { padding-left: 16px; padding-right: 16px; }
  .gallery-filters a.gallery-filter { font-size: 12px !important; }
  .lm-langues a { font-size: 12.5px !important; }
  .property-single-header-data span,
  .property-single-header-data li > span { font-size: 12px !important; }
  .commentssubmit, a.commentssubmit { font-size: 13px; }
  .ps-facts-item .lm-fait-libelle { font-size: 12px; }
  .ps-facts-item .lm-fait-valeur { font-size: 15px; }
  .breadcrumbs-list a, .breadcrumbs-list span { font-size: 12px; }
  .hero-section_categories a, .cat-opt { font-size: 12px; }
  .share-title { font-size: 12px; }
}

/* ---------------------------------------------------------------- etat LOUÉ
   Le pere de June voulait qu'on voie tout de suite qu'un bien est loue, pour
   qu'on ne lise pas l'annonce en entier pour rien. J'avais repondu par un mot
   LOUE de 58 px en travers du texte et un autre de 46 px en travers de la
   photo : c'etait bien trop lourd, ca abimait les photos et personne ne l'avait
   demande a cette taille. Retire le 19/09/2026.
   Ce qui reste : la pastille d'etat, en orange franc, bien lisible sur la
   photo. Elle repond au besoin sans salir la carte. */
.listing-item[data-etat="Loué"] .cat-opt.lm-cat-loue { display: inline-block; }

/* ------------------------------------------------- l'etat « Loue » en orange
   June, 19/09/2026 : « tous les boutons d'etat loue en orange et texte en
   blanc, c'est tout ». Rien que la couleur : ni taille, ni graisse, ni
   espacement modifies. Les pastilles gardent le dessin du theme, sur la carte
   comme sur la fiche.
   La ligne « Etat » du resume de droite prend le meme habit de pastille, a la
   taille du texte qui l'entoure. */
/* Sur la fiche, le theme colorie lui-meme les pastilles de « .hero-section_
   categories » en noir, avec une specificite superieure a la regle generale :
   il faut donc reprendre la couleur ici, et uniquement la couleur. */
.hero-section_categories a.cat-opt.lm-cat-loue { background: var(--main-color, #EE7838); color: #fff; }
.hero-section_categories a.cat-opt.lm-cat-loue:hover { background: #d9641f; color: #fff; }

.lm-resume-ligne strong.lm-etat-loue {
  background: var(--main-color, #EE7838); color: #fff;
  padding: 3px 12px; border-radius: 20px;
}
