/* Child Theme - Custom CSS File for Buyers to Modify */

/* Global Font - Quicksand */
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap');

body,
html {
	overflow-x: hidden;
}

body,
html,
*:not([class*='fa-']):not([class*='fas']):not([class*='far']):not([class*='fab']):not([class*='fal']):not([class*='fad']):not([class*='icon']):not(i) {
	font-family: 'Quicksand', sans-serif !important;
}

/* Remove padding-bottom from .rh_page (override parent theme) */
body .rh_page {
	padding-bottom: 0;
}

/* Remove margin from first child to prevent margin collapse gap */
body .rh_page>*:first-child {
	margin-top: 0 !important;
}

/* Remove sticky footer positioning (override parent theme with higher specificity) */
body .rh_wrap {
	position: static;
	z-index: auto;
	min-height: auto;
}

body .rh_apply_sticky_wrapper_footer {
	position: static;
}

/* Fix Elementor Editor Preview for Footer - Force full width and hide sidebar */
body.elementor-editor-active .rh_wrap,
body.elementor-editor-active .rh_wrap--padding,
body.elementor-editor-active .rh_page__main,
body.elementor-editor-active .rh_page__content {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
	flex: 0 0 100% !important;
}

body.elementor-editor-active .rh_page__sidebar,
body.elementor-editor-active .rh_sidebar,
body.elementor-editor-active .get-in-touch {
	display: none !important;
}

a {
	color: #000;
}

a:hover,
a:focus {
	color: inherit;
}

/* SVG transitions - scoped to avoid conflicts with WP admin */
body:not(.wp-admin) svg * {
	transition: all .2s ease-in-out;
}

#search-tabs {
	background: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	margin-top: -4.25rem;
	margin-left: 1px;
	z-index: 99;
	display: none;
}

#search-tabs li {
	list-style: none;
	float: left;
}

#search-tabs li input {
	display: none;
}

#search-tabs li label {
	font-size: 1.4rem;
	font-weight: 500;
	padding: 3rem 2.7rem;
	cursor: pointer;
	float: left;
	border-bottom: 1px solid rgba(128, 128, 128, 0.2);
}

#search-tabs li input:checked+label {
	color: #ea723d;
	border: 1px solid rgba(128, 128, 128, 0.2);
	border-bottom: 0;
	margin: -1px;
}

#search-tabs li:hover {
	color: #ea723d;
}

.select2-container--default .select2-results>.select2-results__options::-webkit-scrollbar {
	width: 1.5rem;
	background: #000;
}

.select2-container--default .select2-results>.select2-results__options::-webkit-scrollbar-thumb {
	background-color: #000;
}

.select2-container--default .select2-results>.select2-results__options::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
	box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
	background-color: #1ea69a;
}

ul.rh_menu__main ul.sub-menu {
	width: 250px;
}

.rh_listing__taxonomy {
	margin: 0 0 5rem 0;
}

.rh_listing__taxonomy p {
	margin: 2rem 0;
}

.rh_property_agent__child {
	background: #fff;
	padding: 2rem;
}

.rh_property_agent__child label {
	display: block;
	color: #1a1a1a;
	font-size: 1.5rem;
}

.rh_property_agent__child input,
.rh_property_agent__child select,
.rh_property_agent__child textarea {
	border: 1px solid rgba(128, 128, 128, 0.2);
	display: block;
	width: 100%;
	line-height: 1.5;
	padding: 0.5rem;
	color: #808080;
	margin: 1rem 0;
}

.rh_property_agent__child input[type='submit'] {
	background: #1ea69a;
	-webkit-transition: 0.2s background linear;
	transition: 0.2s background linear;
	display: block;
	color: #fff;
	font-size: 1.5rem;
	padding: 1.5rem 2rem;
	text-align: center;
	outline: 0;
	border: 0;
	border-radius: 0;
	cursor: pointer;
}

.rh_list_card__wrap .rh_list_card__map_wrap .rh_list_card__meta_wrap {
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: start;
}

.rh_list_card__meta {
	margin-right: 2rem;
}

.rh_property__meta_wrap .rh_property__meta h4 {
	font-weight: bold;
}

.rh_property__meta_wrap .rh_property__meta .figure {
	margin-left: 0;
}

.rh_property__meta_wrap .rh_property__meta i+.figure,
.rh_property__meta_wrap .rh_property__meta svg+.figure {
	margin-left: 1.5rem;
}

.rh_blog__post.rh_listing__taxonomy .entry-header {
	display: block !important;
}

/* .rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option {
display: block;
opacity: 1;
} */

.rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option.hide-this-otg {
	display: none;
}

.rh_sortable li {
	padding-bottom: 2px;
}

.rh_sortable li:hover {
	background: #fbfbfb;
	cursor: move;
}

.rh_sortable li label:hover {
	cursor: move;
}

.rh_property__id .status {
	font-size: 1.5rem;
	line-height: 3rem;
	margin-right: 1rem;
}

.rh_property__id .price {
	color: #bd1d2f;
}

.inspiry-post-prev {
	display: none !important;
}

.rh_list_card__wrap .rh_list_card__details_wrap .rh_list_card__meta_wrap {
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

/*Maurilio */

/* CSS custom tema */

b,
strong {
	font-weight: 600 !important;
}

h2.titolo-tipologie a {
	font-weight: 500 !important;
}

h2.titolo-tipologie a:hover {
	color: #666666 !important;
}

.rh_property__heading.clearfix span {
	color: #1a1a1a !important;
	font-weight: 700;
}

.rh_property__heading.clearfix {
	color: #1a1a1a !important;
	font-weight: 500;
}

/* dimensione logo e menù mobile*/

@media (max-width: 768px) {
	.rh_logo img {
		max-width: 55%;
		vertical-align: bottom;
		margin-top: 20px;
		height: auto;
	}

	.rh_menu {
		width: 100%;
		top: 20px;
		right: 20px;
		position: absolute;
	}

	.rh_header .rh_header__wrap .rh_logo {
		padding-top: 30px;
		padding-bottom: 30px;
		margin-bottom: 0px;
	}

	.rh_menu .rh_menu__hamburger {
		padding: 2.2rem 0 1.2rem 1.5rem;
	}
}

/* header mobile*/

@media (max-width: 375px) {
	.rh_menu__user {
		background: transparent;
	}

	.rh_menu__user .rh_menu__user_phone {
		padding: 0px 0px 0px 33%;
	}

	.rh_logo img {
		max-width: 55%;
		vertical-align: bottom;
		margin-top: 30px;
		height: auto;
	}
}

@media (min-width: 376px) and (max-width: 425px) {
	.rh_menu__user {
		background: transparent;
	}

	.rh_menu__user .rh_menu__user_phone {
		padding: 0px 0px 0px 38%;
	}
}

@media (min-width: 426px) and (max-width: 768px) {
	.rh_menu__user {
		background: transparent;
	}

	.rh_menu__user .rh_menu__user_phone {
		padding: 0px 0px 0px 10%;
	}
}

/* 3 blocchi home*/

@media (max-width: 768px) {
	.blocchi-home h2 {
		font-size: 3rem !important;
		margin-top: 25px !important;
	}

	.vc_row {
		margin-left: 0px !important;
		margin-right: 0px !important;
	}

	.vc_column_container>.vc_column-inner {
		box-sizing: border-box;
		padding-left: 3px !important;
		padding-right: 3px !important;
		padding-bottom: 0px !important;
		width: 100% !important;
	}

	.vc-hoverbox-block {
		height: 90% !important;
	}
}

/* home versione mobile */

@media (max-width: 768px) {
	h2.mobile {
		font-size: 3.2rem !important;
		margin-top: 20px !important;
	}

	h2.mobile2 a {
		font-size: 2.8rem !important;
		margin-top: 20px !important;
	}

	.sp-next-arrow:after,
	.sp-next-arrow:before,
	.sp-previous-arrow:after,
	.sp-previous-arrow:before {
		content: '';
		position: absolute;
		width: 50%;
		height: 50%;
		background-color: #b40839;
	}
}

/* slider tipologie home*/

#slider-pro-6 a {
	font-size: 1.7rem !important;
	color: #ffffff !important;
	text-decoration: none;
}

@media (max-width: 768px) {
	.bottoni-mobile .vc_btn3-container {
		display: block;
		margin-bottom: 21.73913043px;
		max-width: 100%;
		box-shadow: 4px 4px 10px #dedede !important;
		border-bottom: 1px solid rgba(0, 0, 0, 0.2);
	}

	.bottoni-mobile .vc_btn3.vc_btn3-style-classic {
		border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);
		padding-bottom: 12px !important;
		padding-top: 12px !important;
		font-size: 1.8rem !important;
		background-color: #f1efef !important;
	}

	.bottoni-mobile .vc_btn3.vc_btn3-style-classic:hover {
		border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);
		padding-bottom: 12px !important;
		padding-top: 12px !important;
		font-size: 1.8rem !important;
		background-color: #ffffff !important;
	}
}

/* 3 blocchi news home*/

h2.news-home-data a {
	font-size: 1.5rem !important;
	color: #666666 !important;
	font-style: italic;
}

h2.news-home-titolo a {
	font-size: 1.6rem !important;
	color: #333333 !important;
	font-weight: 500 !important;
}

h2.news-home-titolo a:hover {
	font-size: 1.6rem !important;
	color: #000000 !important;
	font-weight: 500 !important;
}

.rh_content .news-home-testo p {
	font-size: 1.4rem;
	line-height: 1.4 !important;
	color: #000000 !important;
}

/* area  home body {
background: #d9d8d8 !important;
}
*/

body {
	background: #fff !important;
}

.vc-hoverbox-block {
	background-color: #e1e0e0 !important;
}

ul.rh_menu__main li a {
	font-size: 1.5rem;
}

ul.rh_menu__main li a {
	color: #fff;
	line-height: 2.4rem;
	padding: 1.2rem 1.3rem;
	text-decoration: none;
	-webkit-transition: 0.2s all linear;
	transition: 0.2s all linear;
}

ul.rh_menu__main ul.sub-menu li a,
ul.rh_menu__main ul.sub-menu ul.sub-menu li a {
	font-size: 1.5rem !important;
	text-align: left;
}

.rh_menu__user_submit {
	display: none;
}

.titolo-box h2 {
	font-weight: 600 !important;
	color: #ffffff;
}

.titolo-box button {
	background: #bd1d2f !important;
	color: #fff;
	border: 0;
	padding: 0.5rem 1rem;
	outline: 0;
	font-weight: 700;
	font-size: 1.6rem;
}

.titolo-box button:hover {
	background: #8c0429 !important;
}

.rh_menu__user .rh_menu__user_submit a,
.rh_btn--primary,
.post-password-form input[type='submit'],
.widget .searchform input[type='submit'],
.comment-form .form-submit .submit,
.rh_memberships__selection .ims-stripe-button .stripe-button-el,
.rh_memberships__selection #ims-free-button,
.rh_contact__form .wpcf7-form input[type='submit'],
.widget_mortgage-calculator .mc-wrapper p input[type='submit'],
.rh_memberships__selection .ims-receipt-button #ims-receipt,
.rh_contact__form .rh_contact__input input[type='submit'],
.rh_form__item input[type='submit'],
.rh_pagination__pages-nav a,
.rh_prop_search__form .rh_prop_search__buttons .rh_prop_search__searchBtn .rh_btn__prop_search,
.rh_modal .rh_modal__wrap button,
.rh_section__testimonial .diagonal-mod-background,
.rh_section__testimonial.flat-border,
.rh_pagination .current,
.rh_pagination .rh_pagination__btn:hover,
.rh_blog__post .entry-header,
.rh_prop_search__form .rh_prop_search__fields .rh_prop_search__active,
.dsidx-widget-guided-search form input[type='submit'],
.dsidx-widget-quick-search form input[type='submit'],
ol.dsidx-results li.dsidx-prop-summary .dsidx-prop-title,
.rh_blog__post .entry-header,
.dsidx-results:not(.dsidx-results-grid) #dsidx-listings .dsidx-listing .dsidx-media .dsidx-photo .dsidx-photo-count,
#dsidx-top-search #dsidx-search-bar .dsidx-search-controls .button button,
.dsidx-results-grid #dsidx-listings .dsidx-listing .dsidx-data .dsidx-primary-data .dsidx-price,
.dsidx-results-grid #dsidx-listings .dsidx-listing .dsidx-media .dsidx-photo .dsidx-photo-count,
#dsidx .dsidx-large-button,
#dsidx .dsidx-small-button,
body.dsidx .dsidx-large-button,
body.dsidx .dsidx-small-button,
#dsidx-rentzestimate-notice,
#dsidx-zestimate-notice,
#dsidx.dsidx-details .dsidx-headerbar-green,
#ihf-main-container .title-bar-1,
#ihf-main-container .btn-primary,
#ihf-main-container .dropdown-menu>.active>a,
#ihf-main-container .dropdown-menu>li>a:hover,
#ihf-main-container .pagination li:first-child>a,
#ihf-main-container .pagination li:first-child>span,
#ihf-main-container .pagination li:last-child>a,
#ihf-main-container .pagination li:last-child>span,
#ihf-main-container .ihf-map-search-refine-link,
#ihf-main-container .btn-default,
.rh_sidebar .widget_ihomefinderpropertiesgallery>a,
#ihf-main-container .ihf-social-share .ihf-share-btn-email,
#ihf-main-container .ihf-social-share .ihf-share-btn-facebook,
#ihf-main-container .ihf-social-share .ihf-share-btn-more,
#ihf-main-container .ihf-social-share .ihf-share-btn-print,
button,
#ihf-main-container .modal-footer .btn,
.ihf-map-icon,
.rh_var2_header_meta_wrapper,
.rh_var3_header,
.open_more_features,
#home-properties-section .pagination a.current,
#home-properties-section .pagination a:hover,
.widget .tagcloud a,
.inspiry-floor-plans-group-wrapper .inspiry-btn-group .real-btn,
body .rh_fixed_side_bar_compare .rh_compare__submit,
#scroll-top,
.rh_mod_sfoi_wrapper .rh_prop_search__select.rh_prop_search__active,
body .leaflet-popup-tip,
body .marker-cluster-small div,
.rh_prop_search__form .rh_prop_search__fields .inspiry_bs_is_open,
.rh_prop_search__form .rh_prop_search__fields .inspiry_bs_is_open .inspiry_select_picker_trigger button.dropdown-toggle,
.rh_prop_search__form .rh_prop_search__fields .inspiry_select_picker_field .inspiry_select_picker_trigger div.dropdown-menu,
#ui-datepicker-div .ui-datepicker-header,
#ui-datepicker-div .ui-datepicker-calendar tbody tr td.ui-datepicker-today,
#ui-datepicker-div .ui-datepicker-calendar tbody tr td.ui-datepicker-current-day,
form.rh_sfoi_advance_search_form .inspiry_bs_is_open,
form.rh_sfoi_advance_search_form .inspiry_select_picker_trigger div.dropdown-menu,
.inspiry_bs_green div.dropdown-menu,
.widget.RVR_Booking_Widget .rvr-booking-form-wrap .rvr-booking-form .submission-area input[type='submit'],
.availability-calendar .paging,
.cluster div,
.ere_latest_properties_ajax .pagination a.current,
.ere_latest_properties_ajax .pagination a:hover,
.rh_prop_search__form .rh_prop_search__fields .inspiry_bs_is_open {
	background-color: transparent !important;
}

.rh_prop_search__form .rh_prop_search__fields .inspiry_select_picker_field .inspiry_select_picker_trigger div.dropdown-menu {
	background-color: #fff !important;
}

.rh_prop_search__form .rh_prop_search__fields .inspiry_select_picker_field .inspiry_select_picker_trigger div.dropdown-menu li a {
	color: #000;
}

.rh_prop_search__form .rh_prop_search__fields .inspiry_select_picker_field .inspiry_select_picker_trigger div.dropdown-menu li a:hover,
.rh_prop_search__form .rh_prop_search__fields .inspiry_select_picker_field .inspiry_select_picker_trigger div.dropdown-menu li a:focus,
.rh_prop_search__form .rh_prop_search__fields .inspiry_select_picker_field .inspiry_select_picker_trigger div.dropdown-menu li a.selected {
	color: #fff;
}

body .bootstrap-select.show-tick .dropdown-menu .selected span.check-mark {
	top: 16px;
}

.bootstrap-select .dropdown-toggle .filter-option-inner-inner {
	font-size: 14px;
}

/* Override: Restore red background for search submit button */
.rh_prop_search__form .rh_prop_search__buttons .rh_prop_search__searchBtn .rh_btn__prop_search,
.home-search-warp .rh_btn__prop_search,
body.home .rh_btn__prop_search {
	background-color: #bd1d2f !important;
	background: #bd1d2f !important;
	border: 1px solid #bd1d2f !important;
	border-radius: 20px !important;
	padding: 12px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #fff !important;
	cursor: pointer;
	transition: all 0.2s ease-in-out !important;
}

.home-search-warp .rh_btn__prop_search:hover,
body.home .rh_btn__prop_search:hover {
	background-color: #bd1d2f !important;
}

.vc_progress_bar .vc_single_bar .vc_label {
	display: block;
	padding: 0em 1em;
	position: relative;
	z-index: 1;
	font-size: 120% !important;
	font-weight: 400;
}

.rh_section__content .rh_content h4 {
	font-weight: 500;
	font-size: 1.6rem !important;
}

.post p,
.post ul li {
	margin-bottom: 10px;
}

.vc_gitem_row .vc_gitem-col {
	padding: 20px;
}

.vc_btn3.vc_btn3-color-juicy-pink,
.vc_btn3.vc_btn3-color-juicy-pink.vc_btn3-style-flat {
	color: #fff;
	background-color: #bd1d2f;
	font-weight: 500;
}

.vc_btn3.vc_btn3-color-juicy-pink:hover,
.vc_btn3.vc_btn3-color-juicy-pink.vc_btn3-style-flat:hover {
	background-color: #8c0429 !important;
}

.vc_btn3.vc_btn3-shape-rounded {
	border-radius: 0px;
	border-bottom: none !important;
}

.vc_images_carousel .vc_carousel-indicators {
	bottom: -50px !important;
}

.rh_section__content .rh_content h3 {
	font-weight: 300;
	font-size: 3.2rem;
}

.rh_cta--contact .rh_cta .rh_cta__overlay {
	background-color: rgba(126, 0, 20, 0.8);
}

.widget .tagcloud a {
	color: #fff;
	background: #bd1d2f;
	-webkit-transition: 0.2s all linear;
	transition: 0.2s all linear;
}

.uc_starter_statistics .uc_starter_statistics_inner p {
	font-family: Raleway !important;
	font-size: 18px !important;
	text-align: center !important;
	font-weight: 100 !important;
	line-height: 24px !important;
	margin-top: 15px !important;
	margin-bottom: 15px !important;
}

#mega_count_bar .mega_count_content p {
	color: #b6042a !important;
}

/* area contatori in home */

.counter p {
	font-family: Raleway !important;
	font-size: 2.2rem !important;
	text-align: center !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	color: #ffffff !important;
	margin-top: 0px !important;
	margin-bottom: 15px !important;
	text-shadow: 1px 1px 2px #333333;
}

.counter-number {
	text-align: center;
	font-size: 34px;
	font-weight: 900;
	margin: 0;
	margin-top: 0;
	color: #b6042a;
	line-height: 1.5 !important;
}

/* titoli link home */

.titolo-link-home a {
	font-size: 3.2rem;
}

.titolo-link-home a:hover {
	color: #b40838;
}

/* bottoni */

.vc_btn3.vc_btn3-color-juicy-pink.vc_btn3-style-modern {
	color: #fff;
	border-color: #bd1d2f;
	background-color: #bd1d2f;
	font-weight: 600;
}

.vc_btn3.vc_btn3-size-md {
	font-size: 14px;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 20px;
	padding-right: 20px;
}

/* blocco interno pagina*/

.rh_wrap--topPadding {
	padding-top: 0rem;
}

.rh_blog__post .entry-header {
	margin: 0 3rem;
	margin-top: -6rem;
	display: none;
}

.rh_banner__default {
	height: 12rem;
}

.entry-header-margin-fix:first-of-type {
	margin-top: 0;
}

.utilizzatori .vc_column_container>.vc_column-inner {
	box-sizing: border-box;
	padding-left: 0px;
	padding-right: 0px;
	width: 100%;
}

.utilizzatori a {
	color: black;
}

.utilizzatori a:hover {
	text-decoration: underline;
}

.titolo-2 p {
	letter-spacing: 2px !important;
}

.utilizzatori a {
	color: black;
}

.utilizzatori a:hover {
	text-decoration: underline;
}

.rh_content ul {
	margin: 0;
	margin-top: -7px;
	margin-bottom: 1rem;
	padding: 0 0 0 3rem;
	line-height: 2;
	font-weight: 600 !important;
}

.menu-ancora .mgt-button.mgt-text-transform-none {
	text-transform: none;
	padding-bottom: 6px;
	padding-top: 6px;
	padding-left: 15px;
	padding-right: 15px;
	margin-left: 15px;
}

@media (min-width: 1362px) {
	.rh_content .titolo-pagina-madre h1 {
		font-size: 63px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		color: #666666 !important;
	}

	.investitori.vc_column_container>.vc_column-inner {
		box-sizing: border-box;
		padding-left: 0px;
		padding-right: 15px;
		width: 100%;
	}

	.investitori-img.vc_column_container>.vc_column-inner {
		box-sizing: border-box;
		padding-left: 15px;
		padding-right: 0px;
		width: 100%;
	}

	/* .entry-header-margin-fix:first-of-type {
	margin-left: 25rem;
	margin-right: 25rem;
} */
	/* .rh_page {
	padding: 0 0 0rem 0;
} */
	.entry-content {
		padding: 0;
		margin: 0;
	}
}

@media (min-width: 768px) and (max-width: 1361px) {
	.rh_content .titolo-pagina-madre h1 {
		font-size: 53px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		color: #666666 !important;
	}

	.rh_page {
		padding: 0 0 0rem 0;
	}

	.entry-content {
		padding: 0;
		margin: 0;
	}
}

@media (max-width: 767px) {
	.rh_banner__default {
		height: 16rem;
	}

	.rh_content .titolo-pagina-madre h1 {
		font-size: 45px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		color: #666666 !important;
	}

	.vc_col-has-fill>.vc_column-inner {
		padding-top: 0px;
	}

	.wpb_single_image.vc_align_left {
		text-align: center;
	}

	.vc_row-has-fill+.vc_row>.vc_column_container>.vc_column-inner {
		padding-top: 35px;
	}
}

@media (max-width: 479px) {
	.rh_menu__responsive li a {
		display: block;
		padding: 1.2rem 2.5rem;
		line-height: 1.3;
		-webkit-transition: 0.2s all linear;
		transition: 0.2s all linear;
	}
}

/* blocco interno sotto-pagina */

.rh_content h2.title-header {
	color: #ffffff;
	text-align: center;
	text-shadow: 1px 1px 10px black;
}

blockquote {
	background-color: rgba(182, 0, 54, 0.03);
	border-color: #bd1d2f;
	font-size: 1.5rem;
	border-left: 5px solid #bd1d2f;
}

.rh_content blockquote {
	position: relative;
	margin: 3rem 0 3rem 0;
	padding: 34px 36px 34px 56px;
}

.evidenzio-rosso span {
	font-weight: 600;
}

@media (max-width: 767px) {
	.entry-content {
		padding: 0;
		margin: 0;
	}
}

@media (max-width: 479px) {
	.rh_content h2.title-header {
		font-size: 38px !important;
		line-height: 1.3;
	}
}

/* blocco principale dettaglio post*/

.rh_sidebar {
	text-align: left;
	margin-top: 0rem;
	padding-left: 3rem;
}

.post-template-default .rh_wrap--topPadding {
	padding-top: 7rem;
}

.post-template-default .rh_blog__post .entry-header {
	margin: 0 3rem;
	margin-top: -3rem;
	display: block !important;
}

.rh_blog__post.category-case-history figure img {
	display: none;
	margin: 0;
}

.post-template-default .rh_blog__post .entry-header .entry-meta {
	display: none;
	margin: 0;
}

.post-template-default .rh_blog__post .entry-header .entry-title {
	margin: 0;
	margin-bottom: 1rem;
	font-size: 2.1rem;
	font-weight: 600;
	line-height: 1.5;
	color: #fff;
}

.post-template-default .rh_blog__post .entry-header {
	background: #b40838;
}

.post-template-default .entry-header-margin-fix:first-of-type {
	margin-left: 0rem;
	margin-right: 0rem;
}

.widget ul li {
	color: grey;
	margin: 0;
	line-height: 2;
	margin-bottom: 5px;
}

.widget ul a:hover {
	color: #b20f3b !important;
}

.post-template-default .entry-content {
	padding: 0;
	margin: 0;
}

.su-button-style-flat.bottone-post {
	border: none;
	padding-top: 5px;
	padding-bottom: 5px;
	margin-bottom: 20px;
	margin-top: 3px;
	padding-left: 10px;
	padding-right: 10px;
}

.su-button-style-flat.bottone-post span {
	font-weight: 600;
}

.vc_grid-item-mini.vc_clearfix {
	border-style: solid;
	border-width: 1px;
	border-color: #d2d2d2;
}

/* immagini onmouseover versione 2 colonne*/

.icona.style-sixteen img {
	opacity: 1;
	width: 100%;
	vertical-align: top;
	-webkit-transition: opacity 0.35s;
	transition: opacity 0.35s;
}

.style-sixteen {
	background: #ffffff !important;
}

@media (min-width: 1690px) {
	.utilizzatori .style-sixteen h2 {
		font-weight: normal !important;
		top: 50px !important;
		position: absolute;
		left: 0px !important;
		right: 0px !important;
		bottom: 0px;
		text-align: center !important;
	}

	.h-testo {
		min-height: 66px !important;
		margin-bottom: 0px;
	}
}

@media (min-width: 1572px) and (max-width: 1689px) {
	.utilizzatori .style-sixteen h2 {
		font-weight: normal !important;
		top: 40px !important;
		position: absolute;
		left: 0px !important;
		right: 0px !important;
		bottom: 0px;
		text-align: center !important;
	}
}

@media (min-width: 1435px) and (max-width: 1571px) {
	.utilizzatori .style-sixteen h2 {
		font-weight: normal !important;
		top: 30px !important;
		position: absolute;
		left: 0px !important;
		right: 0px !important;
		bottom: 0px;
		text-align: center !important;
	}
}

@media (min-width: 1370px) and (max-width: 1434px) {
	.utilizzatori .style-sixteen h2 {
		font-weight: normal !important;
		top: 25px !important;
		position: absolute;
		left: 0px !important;
		right: 0px !important;
		bottom: 0px;
		text-align: center !important;
	}
}

@media (min-width: 1218px) and (max-width: 1369px) {
	.utilizzatori .style-sixteen h2 {
		font-weight: normal !important;
		top: 40px !important;
		position: absolute;
		left: 0px !important;
		right: 0px !important;
		bottom: 0px;
		text-align: center !important;
	}
}

@media (min-width: 1100px) and (max-width: 1217px) {
	.utilizzatori .style-sixteen h2 {
		font-weight: normal !important;
		top: 30px !important;
		position: absolute;
		left: 0px !important;
		right: 0px !important;
		bottom: 0px;
		text-align: center !important;
	}
}

@media (min-width: 972px) and (max-width: 1099px) {
	.utilizzatori .style-sixteen h2 {
		font-weight: normal !important;
		top: 20px !important;
		position: absolute;
		left: 0px !important;
		right: 0px !important;
		bottom: 0px;
		text-align: center !important;
	}
}

@media (min-width: 768px) and (max-width: 971px) {
	.utilizzatori .style-sixteen h2 {
		font-weight: normal !important;
		top: 13px !important;
		position: absolute;
		left: 0px !important;
		right: 0px !important;
		bottom: 0px;
		text-align: center !important;
		font-size: 22px !important;
	}
}

@media (min-width: 561px) and (max-width: 767px) {
	.utilizzatori .style-sixteen h2 {
		font-weight: normal !important;
		top: 60px !important;
		position: absolute;
		left: 0px !important;
		right: 0px !important;
		bottom: 0px;
		text-align: center !important;
	}

	.utilizzatori .vc_row-has-fill+.vc_row>.vc_column_container>.vc_column-inner {
		padding-top: 35px;
	}

	.rh_blog__post figure img {
		display: block;
		max-width: 85%;
		margin: 0 auto;
	}
}

@media (max-width: 560px) {
	.utilizzatori .style-sixteen h2 {
		font-weight: normal !important;
		top: 40px !important;
		position: absolute;
		left: 0px !important;
		right: 0px !important;
		bottom: 0px;
		text-align: center !important;
	}

	.utilizzatori .vc_row-has-fill+.vc_row>.vc_column_container>.vc_column-inner {
		padding-top: 35px;
	}

	.rh_blog__post figure img {
		display: block;
		max-width: 85%;
		margin: 0 auto;
	}
}

/* video */

h2.wpb_heading.wpb_video_heading {
	font-size: 2.2rem !important;
	margin: 0 auto;
	margin-bottom: 2rem;
	line-height: 1.3 !important;
}

/* bottoni clienti*/

.style-eight figcaption {
	display: none;
}

.style-eight img {
	opacity: 0.5 !important;
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
}

.style-eight:hover img {
	opacity: 1 !important;
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
	transform: scale(1) !important;
	-webkit-transform: scale(1) !important;
}

/* pagina story*/

.story p {
	font-size: 1.5rem !important;
	line-height: 1.5 !important;
	word-wrap: break-word !important;
}

.cd-timeline-content {
	padding: 15px !important;
	background-color: #f7f7f7 !important;
}

#cd-timeline {
	position: relative;
	padding: 0em 0em !important;
	margin-top: 2em;
	margin-bottom: 2em;
}

#mega-line-container h2 {
	font-family: Raleway !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
}

.rh_content .icona-story h4 {
	display: none !important;
}

.rh_content .titolo-lavora h4 {
	font-family: Raleway !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	font-size: 20px;
}

.asvc-info-box-style-2 .asvc-info-box-top {
	margin-bottom: 10px;
	text-align: center;
}

.asvc-info-box-style-2 span {
	width: 60px !important;
}

.asvc-info-box-style-2 .asvc-info-box-top img {
	height: 68px !important;
	width: 60px !important;
	margin-bottom: 40px !important;
}

.wpb_text_column.wpb_content_element .wpb_wrapper li a {
	font-size: 1.5rem;
	color: #808080;
	text-decoration: underline;
}

@media (max-width: 767px) {
	.story p {
		font-size: 1.4rem !important;
		line-height: 1.4 !important;
	}

	.entry-content {
		padding: 0;
		margin: 0;
	}

	.rh_content p {
		padding-top: 0rem !important;
		padding-bottom: 0rem !important;
		padding-left: 0rem !important;
		padding-right: 0rem !important;
		margin: 0;
	}

	.vc_column_container>.vc_column-inner {
		box-sizing: border-box;
		padding-left: 6px;
		padding-right: 10px;
		width: 107%;
	}

	.wpb_video_widget .wpb_wrapper {
		width: 90% !important;
	}
}

/* pagina dicono di noi*/

.form-dicono input,
.form-dicono textarea,
.form-dicono select {
	display: block;
	width: 70%;
	color: grey;
	font-size: 1.4rem;
	line-height: 1.5;
	padding: 1.5rem 1rem;
	border: 1px solid rgba(128, 128, 128, 0.2);
	margin-bottom: 1.5rem;
	-webkit-transition: 0.2s all linear;
	transition: 0.2s all linear;
}

.form-dicono input[type='submit'] {
	background: #bd1d2f;
	color: #ffffff;
	padding: 1.5rem 2rem;
	min-height: 1.5em;
	width: 200px;
}

label {
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2;
}

/* pagina report e form report*/

.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form select {
	display: block;
	width: 70%;
	color: grey;
	font-size: 1.4rem;
	line-height: 1.5;
	padding: 1.5rem 1rem;
	border: 1px solid rgba(128, 128, 128, 0.2);
	margin-bottom: 1.5rem;
	-webkit-transition: 0.2s all linear;
	transition: 0.2s all linear;
}

.wpcf7-form input[type='submit'] {
	background: #bd1d2f;
	color: #ffffff;
	padding: 1.5rem 2rem;
	min-height: 1.5em;
	width: 200px;
}

.rh_content ul {
	margin-top: -7px;
	margin-bottom: 3rem;
}

.vc_gitem_row h4 {
	min-height: 50px !important;
}

.rh_content h4 {
	margin-bottom: 0rem !important;
}

@media (max-width: 768px) {
	.vc_grid-filter.vc_grid-filter-size-md .vc_grid-filter-item {
		width: 200px;
	}

	.rh_content ul {
		padding: 1rem 0 0 2rem;
	}

	.vc_responsive .vc_grid-filter-select {
		display: none;
	}

	.vc_row.vc_column-gap-35>.vc_column_container {
		padding: 0px;
	}

	.rh_content ul {
		padding: 1rem 0 0 2rem;
	}

	.wpb_wrapper h2,
	.wpb_wrapper h3 {
		padding-left: 1.5rem !important;
		padding-right: 1.5rem !important;
		line-height: 1 !important;
	}

	.wpb_wrapper h2 {
		font-size: 2.4rem !important;
		margin-top: 1rem !important;
	}
}

.rh_content h2 {
	margin: 0 auto;
	margin-bottom: 2rem;
	line-height: 1.2;
	font-size: 3.2rem;
}

/* pagina video*/

.pagina-video .vc_column_container>.vc_column-inner {
	box-sizing: border-box;
	padding-left: 0px !important;
	padding-right: 0px;
	width: 100%;
}

.pagina-video .mega-creative-btn a {
	margin: 25px 0px !important;
}

.cl-effect-2 a .creativelink {
	background: #b40839 !important;
	color: #ffffff;
	padding: 5px 14px !important;
}

.csstransforms3d .cl-effect-2 a:hover .creativelink .creativelink-,
.csstransforms3d .cl-effect-2 a:focus .creativelink .creativelink- {
	background: #999999 !important;
	padding: 5px 14px !important;
}

/* visualizzazione slider immagini immobili*/

@media (min-width: 1440px) {
	.flex-viewport {
		height: 680px !important;
	}

	#property-featured-image {
		padding: 0;
		margin-bottom: 3rem;
		height: 680px !important;
		overflow: hidden;
	}
}

@media (min-width: 1441px) {
	.flex-viewport {
		height: 680px !important;
	}

	#property-featured-image {
		padding: 0;
		margin-bottom: 3rem;
		height: 680px !important;
		overflow: hidden;
	}
}

@media (min-width: 1440px) {
	.flex-viewport {
		height: 680px !important;
	}

	#property-featured-image {
		padding: 0;
		margin-bottom: 3rem;
		height: 680px !important;
		overflow: hidden;
	}
}

@media (min-width: 1200px) and (max-width: 1439px) {
	.flex-viewport {
		height: 600px !important;
	}

	#property-featured-image {
		padding: 0;
		margin-bottom: 3rem;
		height: 600px !important;
		overflow: hidden;
	}
}

@media (min-width: 1024px) and (max-width: 1199px) {
	.flex-viewport {
		height: 524px !important;
	}

	#property-featured-image {
		padding: 0;
		margin-bottom: 3rem;
		height: 524px !important;
		overflow: hidden;
	}
}

@media (min-width: 900px) and (max-width: 1023px) {
	.flex-viewport {
		height: 450px !important;
	}

	#property-featured-image {
		padding: 0;
		margin-bottom: 3rem;
		height: 450px !important;
		overflow: hidden;
	}
}

@media (min-width: 768px) and (max-width: 899px) {
	.flex-viewport {
		height: 379px !important;
	}

	#property-featured-image {
		padding: 0;
		margin-bottom: 3rem;
		height: 379px !important;
		overflow: hidden;
	}
}

@media (min-width: 690px) and (max-width: 767px) {
	.flex-viewport {
		height: 340px !important;
	}

	#property-featured-image {
		padding: 0;
		margin-bottom: 3rem;
		height: 340px !important;
		overflow: hidden;
	}
}

@media (min-width: 600px) and (max-width: 689px) {
	.flex-viewport {
		height: 300px !important;
	}

	#property-featured-image {
		padding: 0;
		margin-bottom: 3rem;
		height: 300px !important;
		overflow: hidden;
	}
}

@media (min-width: 500px) and (max-width: 599px) {
	.flex-viewport {
		height: 260px !important;
	}

	#property-featured-image {
		padding: 0;
		margin-bottom: 3rem;
		height: 260px !important;
		overflow: hidden;
	}
}

@media (min-width: 425px) and (max-width: 499px) {
	.flex-viewport {
		height: 218px !important;
	}

	#property-featured-image {
		padding: 0;
		margin-bottom: 3rem;
		height: 218px !important;
		overflow: hidden;
	}
}

@media (min-width: 375px) and (max-width: 424px) {
	.flex-viewport {
		height: 190px !important;
	}

	#property-featured-image {
		padding: 0;
		margin-bottom: 3rem;
		height: 190px !important;
		overflow: hidden;
	}
}

@media (min-width: 320px) and (max-width: 374px) {
	.flex-viewport {
		height: 159px !important;
	}

	#property-featured-image {
		padding: 0;
		margin-bottom: 3rem;
		height: 159px !important;
		overflow: hidden;
	}
}

@media (max-width: 319px) {
	.flex-viewport {
		height: 159px !important;
	}

	#property-featured-image {
		padding: 0;
		margin-bottom: 3rem;
		height: 159px !important;
		overflow: hidden;
	}
}

/* modifiche successive all'aggiornamento */

@media (min-width: 1280px) {
	.rh_footer .rh_footer__wrap {
		padding: 0rem 0 6rem 0;
	}

	.rh_footer__before_fix {
		padding: 2rem 0 2rem 0;
	}
}

@media (min-width: 1024px) {
	.rh_footer .rh_footer__wrap {
		padding: 0rem 0 3rem 0;
	}

	.rh_footer__before_fix {
		padding: 2rem 0 2rem 0;
	}
}

/* dettaglio immobili */

.rh_page__head.rh_page__property .rh_page__property_title .rh_page__title {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 8px;
	padding-top: 15px !important;
}

.page-breadcrumbs-modern li a,
.page-breadcrumbs-modern li i {
	display: inline-block;
	color: #bd1d2f;
	margin-left: 5px;
	margin-right: 5px;
	font-size: 13px;
}

.rh_page__property .rh_page__property_price .price {
	font-size: 2rem;
	line-height: 1.5;
}

.rh_property__meta_wrap .rh_property__meta {
	border-right: 1px solid rgba(128, 128, 128, 0.2);
	padding-right: 20px;
}

.rh_property__additional li {
	padding-top: 0.2rem;
	padding-bottom: 0.2rem;
}

.rh_property__main .fa.fa-percent.rh_svg {
	color: #bd1d2f !important;
	font-size: 1.8rem !important;
}

.rh_property__meta_wrap .rh_property__meta i+.figure,
.rh_property__meta_wrap .rh_property__meta svg+.figure {
	margin-left: 0.6rem;
}

.rh_list_card__meta div .figure {
	margin-left: 0.6rem;
	font-size: var(--fs-body);
	font-weight: 500;
}

.rh_page__property .rh_page__property_price {
	min-width: 140px;
}

form a {
	font-size: var(--fs-body);
	text-decoration: underline;
	color: #a80233;
}

.rh_property_agent__child input[type='checkbox'] {
	display: inline-block;
	width: 25px;
	color: grey;
	font-size: var(--fs-body);
	line-height: 1.6;
	padding: 1.3rem 1rem;
	border: 1px solid rgba(128, 128, 128, 0.2);
	margin-top: 0.5rem;
	margin-bottom: 2rem;
	-webkit-transition: 0.2s all linear;
	transition: 0.2s all linear;
}

div .titolo-form {
	color: #bd1d2f;
	font-size: 2rem;
	font-weight: 400;
	margin: 0 0 2rem 0;
	text-align: left;
}

.rh_property__id .title,
.rh_property__id .price {
	font-size: 1.7rem;
	line-height: 2rem;
}

.rh_property__id .status {
	font-size: 1.5rem;
	line-height: 2rem;
	padding-right: 5px;
	min-width: 80px;
	text-align: right;
}

.rh_property__id .id {
	font-size: 1.5rem;
	line-height: 2rem;
	padding-right: 5px;
	min-width: 80px;
	text-align: left;
}

@media (min-width: 1140px) {
	.rh_property__print a {
		margin: 0 0 0 1rem;
	}
}

@media (min-width: 1024px) {
	.rh_property__print a {
		margin: 0 0 0 1rem;
	}
}

@media (min-width: 768px) {
	.rh_property__print a {
		margin: 0 0 0 1rem;
	}
}

@media (max-width: 425px) {
	.rh_property__id .title {
		font-size: 1.7rem;
		line-height: 2rem;
		width: 350px;
	}

	.rh_property__id .price {
		font-size: 1.7rem;
		line-height: 2rem;
	}

	.rh_property__id .status {
		font-size: 1.5rem;
		line-height: 2rem;
		padding-right: 5px;
		min-width: 80px;
		text-align: right;
	}

	.rh_property__id .id {
		font-size: 1.5rem;
		line-height: 2rem;
		padding-right: 5px;
		text-align: left;
		clear: left;
	}
}

/* dettaglio immobile - sidebar */

.su-heading-style-default.title-widget-agent {
	padding: 0px 0;
	border-top: 0px;
	border-bottom: 0px;
	color: #bd1d2f;
	font-size: 2rem;
	font-weight: 400;
}

.su-heading-style-default.title-widget-agent .su-heading-inner {
	padding-top: 1em;
	border-top: 0px;
	border-bottom: 0px;
}

.su-heading.su-heading-align-left .su-heading-inner {
	padding-left: 0em !important;
}

.rh_property_agent {
	margin-top: 5rem !important;
}

.rh_property__id .title {
	display: none !important;
}

/* pagina ricerca */

.rh_prop_search__form .rh_prop_search__buttons .rh_prop_search__advance {
	display: none;
}

.rh_prop_search__form .rh_prop_search__buttons .rh_prop_search__searchBtn {
	width: 100%;
}

.infoBox .map-info-window p {
	color: #a80233;
}

.infoBox .map-info-window .arrow-down {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #a80233 transparent transparent transparent;
	position: absolute;
	bottom: 1.5rem;
	left: 50%;
	left: calc(50% - 10px);
}

.infoBox .map-info-window {
	border-bottom: 3px solid #a80233;
	margin-bottom: 2.5rem;
}

/* @media (min-width: 1280px) {
.rh_prop_search__form .rh_prop_search__buttons {
width: 13%;
}
.rh_prop_search__form .rh_prop_search__fields {
width: 87%;
}
}

@media (min-width: 1140px) {
.rh_prop_search__form .rh_prop_search__buttons {
width: 13%;
}
.rh_prop_search__form .rh_prop_search__fields {
width: 87%;
}
}

@media (min-width: 1024px) {
.rh_prop_search__form .rh_prop_search__buttons {
width: 16%;
}
.rh_prop_search__form .rh_prop_search__fields {
width: 84%;
}
} */

@media (min-width: 768px) {
	.rh_page__head {
		padding: 3rem 0 1rem;
	}
}

.rh_section.rh_section--flex.rh_wrap--padding.rh_wrap--topPadding .rh_sidebar {
	text-align: left;
	margin-top: 10rem;
	padding-left: 3rem;
}

.rh_sidebar .widget .title {
	color: #1a1a1a;
	font-size: 2rem;
	font-weight: 400;
	margin: 0 0 2rem 0;
	text-align: left;
}

.widget * {
	font-size: 1.4rem;
}

.widget ul {
	display: block;
	width: 100%;
	margin-top: 1rem;
	list-style-type: square;
	margin-left: 30px;
}

.rh_banner .rh_banner__title {
	margin: 0;
	font-size: 3.2rem;
	font-weight: 600;
}

@media (max-width: 425px) {
	.rh_banner .rh_banner__title {
		margin: 0;
		font-size: 2.4rem;
		font-weight: 400;
	}
}

.widget input,
.widget select,
.widget textarea {
	border: 1px solid rgba(128, 128, 128, 0.2);
	display: block;
	width: 100%;
	line-height: 1.5;
	padding: 0.5rem;
	color: #808080;
	margin: 1rem 0;
}

.widget input[type='submit'] {
	background: #a80233;
	-webkit-transition: 0.2s background linear;
	transition: 0.2s background linear;
	display: block;
	color: #fff;
	font-size: 1.5rem;
	padding: 1.5rem 2rem;
	text-align: center;
	outline: 0;
	border: 0;
	border-radius: 0;
	cursor: pointer;
}

.widget input[type='checkbox'] {
	width: 25px;
}

.textwidget.custom-html-widget input[type='checkbox'] {
	display: inline-block;
	width: 25px;
	color: grey;
	font-size: 1.6rem;
	line-height: 1.6;
	padding: 1.3rem 1rem;
	border: 1px solid rgba(128, 128, 128, 0.2);
	margin-top: 0.5rem;
	margin-bottom: 2rem;
	-webkit-transition: 0.2s all linear;
	transition: 0.2s all linear;
}

/* filtro pagina ricerca*/

@media (min-width: 1140px) {

	/* .rh_prop_search__form .rh_prop_search__fields .rh_prop_search__select label, .rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option label {
	padding: 0rem 2rem 0rem !important;
	margin-bottom: 0.5rem;
} */
	/* .rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option {
	padding: 0.6rem 0rem 0rem !important;
} */
	.rh_prop_search__form .rh_prop_search__fields .rh_prop_search__select .rh_prop_search__selectwrap {
		padding: 0 0 0rem 0;
	}

	.rh_prop_search__form .rh_prop_search__buttons .rh_prop_search__searchBtn .rh_btn__prop_search {
		padding: 2.55rem 0;
	}

	.rh_prop_search__form {
		margin-top: -7rem;
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		padding: 0 10rem;
	}

	.select2-container--default .select2-selection--multiple .select2-selection__choice {
		background-color: #e4e4e4;
		border: 1px solid #aaa;
		border-radius: 4px;
		cursor: default;
		float: left;
		margin-right: 5px;
		margin-top: 0px;
		padding: 0 5px;
	}
}

@media (min-width: 1024px) {

	.rh_prop_search__form .rh_prop_search__fields .rh_prop_search__select label,
	.rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option label {
		padding: 0rem 2rem 0rem !important;
	}

	/* .rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option {
	padding: 0.6rem 0rem 0rem !important;
} */
	.rh_prop_search__form .rh_prop_search__fields .rh_prop_search__select .rh_prop_search__selectwrap {
		padding: 0 0 0rem 0;
	}

	.rh_prop_search__form .rh_prop_search__buttons .rh_prop_search__searchBtn .rh_btn__prop_search {
		padding: 2.55rem 0;
	}

	.select2-container--default .select2-selection--multiple .select2-selection__choice {
		background-color: #e4e4e4;
		border: 1px solid #aaa;
		border-radius: 4px;
		cursor: default;
		float: left;
		margin-right: 5px;
		margin-top: 0px;
		padding: 0 5px;
	}
}

@media (min-width: 1140px) {
	.rh_prop_search__form {
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		padding: 15px;
	}
}

.widget form {
	background: #fff;
	padding: 2rem;
}

/* pagina contatti*/

.contatti .vc_info_list {
	padding-bottom: 14px !important;
	border-left: 0px solid #000 !important;
	display: table;
	margin-left: 15px;
	float: none;
	margin-bottom: 2px;
}

.contatti .media-body {
	font-weight: 500;
}

.contatti .media-body h2 {
	display: none;
}

.contatti-form input,
.contatti-form textarea {
	display: block;
	width: 100%;
	color: grey;
	font-size: 1.4rem;
	line-height: 1.5;
	padding: 1.3rem 1rem;
	border: 1px solid rgba(128, 128, 128, 0.2);
	margin-top: 0.5rem;
	margin-bottom: 1.4rem;
	-webkit-transition: 0.2s all linear;
	transition: 0.2s all linear;
}

.contatti-form input[type='submit'] {
	background: #bd1d2f;
	color: #ffffff;
	padding: 1.5rem 2rem;
	min-height: 1.5em;
	width: 200px;
}

.contatti-form input[type='checkbox'] {
	display: inline-block;
	width: 25px;
	color: grey;
	font-size: 1.6rem;
	line-height: 1.6;
	padding: 1.3rem 1rem;
	border: 1px solid rgba(128, 128, 128, 0.2);
	margin-top: 0.5rem;
	margin-bottom: 2rem;
	-webkit-transition: 0.2s all linear;
	transition: 0.2s all linear;
}

.contatti-form a {
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: underline;
}

/* footer */

.textwidget {
	line-height: 1.5;
	text-align: justify !important;
}

.rh_contact_widget .rh_contact_widget__item {
	padding: 0 0 0rem 0;
	line-height: 1.5;
}

.rh_widgets .widget_nav_menu .menu-item {
	width: 100%;
	margin-bottom: 1rem;
}

.rh_contact_widget .rh_contact_widget__item .icon {
	padding-right: 1rem;
	padding-left: 0;
	padding-top: 0;
}

.rh_contact_widget {
	margin-bottom: 4rem;
}

.rh_footer__widgets .widget ul {
	display: block;
	width: 100%;
	margin-top: 1rem;
	list-style-type: none;
	margin-left: 30px;
}

/* back end */

.taxonomy-property-type .rwmb-field #edittag .rwmb-input {
	width: 100% !important;
	min-width: 400px;
}

/* menù */

.myfixedHeader {
	z-index: 99999 !important;
}

/* agenti */

.rh_property_agent .rh_property_agent__link {
	display: none;
	padding: 2rem 0;
	-webkit-transition: 0.2s all linear;
	transition: 0.2s all linear;
}

.rh_property_agent .rh_property_agent__agent_info {
	padding: 0 1.5rem 1.5rem;
	border-bottom: 15px solid rgba(168, 2, 51, 1);
}

.rh_property_agent__child input[type='submit'] {
	background: #a80233;
	-webkit-transition: 0.2s background linear;
	transition: 0.2s background linear;
	display: block;
	color: #fff;
	font-size: 1.5rem;
	padding: 1.5rem 2rem;
	text-align: center;
	outline: 0;
	border: 0;
	border-radius: 0;
	cursor: pointer;
}

.rh_page.rh_page__listing_page .entry-header-margin-fix:first-of-type {
	margin-top: 3rem;
	margin-left: 10rem;
	margin-right: 10rem;
}

@media (max-width: 768px) {
	.rh_page.rh_page__listing_page .entry-header-margin-fix:first-of-type {
		margin-top: 3rem;
		margin-left: 3rem;
		margin-right: 3rem;
	}
}

.page-template.page-template-preset-search-template .rh_blog__post.entry-header-preset-search {
	margin: 0 !important;
	padding: 40px 40px 0 40px;
}

/* landing */

.page-template.page-template-preset-search-template .entry-content {
	padding: 0;
	margin: 0;
}

.page-template.page-template-preset-search-template .rh_blog__post {
	margin-bottom: 1rem;
	margin-top: 3rem;
}

.page-template.page-template-preset-search-template .su-button-style-flat.bottone-post {
	width: 94%;
}

.page-template.page-template-preset-search-template .rh_sidebar {
	text-align: left;
	margin-top: 1rem !important;
	padding-left: 3rem;
}

.page-template.page-template-preset-search-template .su-button-style-flat.bottone-post {
	border: none;
	padding-top: 12px;
	padding-bottom: 10px;
	margin-bottom: 10px;
	margin-top: 3px;
	padding-left: 10px;
	padding-right: 10px;
}

/* preferiti */

.rh_page__head .rh_page__nav .rh_page__nav_item {
	display: none;
}

/* Hide all favorite/add to favorite buttons globally */
.add-to-favorite-form {
	display: none !important;
}

.favorite-placeholder {
	display: none !important;
}

.remove-from-favorite {
	display: none !important;
}

.rh_list_card__btns .favorite,
.rh_prop_card__btns .favorite {
	display: none !important;
}

span.favorite,
a.favorite,
button.favorite {
	display: none !important;
}

/* Hide favorites button shortcode */
#fav-btn-shortcode {
	display: none !important;
}

ul.rh_menu__main li.english a {
	background: url('english.jpg') center no-repeat !important;
	width: 29px !important;
	height: 19px !important;
	font-size: 0;
	margin-left: 20px;
}

ul.rh_menu__main li.italian a {
	background: url('italian.jpg') center no-repeat !important;
	width: 30px !important;
	height: 19px !important;
	font-size: 0;
	margin-left: 20px;
}

ul.rh_menu__main li.english:hover,
ul.rh_menu__main li.italian:hover {
	background: none !important;
	cursor: pointer;
}

@media (max-width: 1139px) {
	.rh_menu__responsive li.english a {
		background: url(english.jpg) center no-repeat !important;
		width: 29px !important;
		height: 19px !important;
		font-size: 0 !important;
		margin-left: 15px !important;
		margin-top: 10px;
		margin-bottom: 15px;
	}

	.rh_menu__responsive li.english:hover {
		background: none !important;
		cursor: pointer;
	}
}

/* case history */

.vp-portfolio__items-style-default .vp-portfolio__item-meta-excerpt {
	opacity: 0.8;
	font-size: 10pt;
	line-height: 16pt;
}

.wpb_text_column.wpb_content_element .wpb_wrapper li a {
	font-size: 1.5rem;
	color: #a70f2a;
	text-decoration: none;
}

.vp-filter__style-default .vp-filter__item.vp-filter__item-active>* {
	color: #ffffff !important;
	cursor: default;
	background-color: #a70f2a !important;
	border: 1px solid #a70f2a !important;
}

ul.vp-filter {
	margin-bottom: 15px !important;
}

.vp-portfolio__items-style-default .vp-portfolio__item-meta-categories .vp-portfolio__item-meta-category a {
	display: block;
	padding: 4px 15px;
	color: #fff !important;
	text-decoration: none;
	background-color: #a70f2a !important;
	transition: 0.2s background-color;
	will-change: background-color;
}

.vc_column_container>.vc_column-inner {
	box-sizing: border-box;
	width: 100%;
}

.vp-portfolio__items-style-default .vp-portfolio__item-meta-title {
	margin-bottom: 0;
	font-size: 1em !important;
}

.vp-portfolio__items-style-default .vp-portfolio__item-meta {
	position: relative;
	padding: 10px 0px !important;
}

.vp-portfolio__items-style-default .vp-portfolio__item-meta-excerpt {
	opacity: 1 !important;
	font-weight: 500;
	color: #282828;
	font-size: 12px;
	clear: both;
}

.rh_property__main .rh_property__similar_properties .fa.fa-percent.rh_svg {
	color: #b3b3b3 !important;
	font-size: 1.8rem !important;
}

.rh_list_card__wrap .rh_list_card__priceLabel .rh_list_card__author {
	display: none !important;
}

@media (min-width: 1280px) {

	.rh_menu__user .rh_menu__user_phone,
	.user_menu_wrapper .rh_menu__user_phone {
		padding: 0 0 0 2.5rem;
	}
}

@media (max-width: 767px) {
	.clienti .vc_col-sm-2 {
		width: 33.3%;
	}
}

/* icona video */

.rh_property__video .pretty-photo .play-btn,
.rh_property__virtual_tour .pretty-photo .play-btn {
	width: 100px;
	height: 73px;
	top: 43%;
	left: 48%;
}

.ui-autocomplete {
	width: 29% !important;
}

.rh_prop_search {
	padding: 0;
}

/* body.term-industrial-e-logistics .rh_prop_search__form .rh_prop_search__option, body.term-office .rh_prop_search__form .rh_prop_search__option, body.term-retail .rh_prop_search__form .rh_prop_search__option, body.term-lands .rh_prop_search__form .rh_prop_search__option, body.page-template-properties-search-half-map .rh_prop_search__form .rh_prop_search__option {
width: 33%;
} */

body.term-industrial-e-logistics .rh_prop_search__form .rh_prop_search__option:last-child,
body.term-office .rh_prop_search__form .rh_prop_search__option:last-child,
body.term-retail .rh_prop_search__form .rh_prop_search__option:last-child,
body.term-lands .rh_prop_search__form .rh_prop_search__option:last-child,
body.page-template-properties-search-half-map .rh_prop_search__form .rh_prop_search__option:last-child,
body.term-industrial-e-logistics .rh_prop_search__form .rh_prop_search__option:nth-last-child(2),
body.term-office .rh_prop_search__form .rh_prop_search__option:nth-last-child(2),
body.term-retail .rh_prop_search__form .rh_prop_search__option:nth-last-child(2),
body.term-lands .rh_prop_search__form .rh_prop_search__option:nth-last-child(2),
body.page-template-properties-search-half-map .rh_prop_search__form .rh_prop_search__option:nth-last-child(2) {
	width: 49.82%;
}

/* body.term-hotel .rh_prop_search__form .rh_prop_search_option__btn button {
width: calc(33% - 2px);
} */

@media (min-width:1025px) {
	body .home-search-warp .rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option {
		width: 33%;
		padding: 0;
	}
}

@media (min-width: 767px) {

	body:not(.home):not(.term-real-estate-investments) .rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option.rh_area_field_wrapper {
		width: 120px;
		float: left;
		margin-right: 10px;
	}

	body.term-real-estate-investments .rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option.rh_area_field_wrapper {
		width: calc(25% - 40px);
		float: left;
		margin: 0 10px;
	}

	/* 	body:not(.home):not(.term-real-estate-investments):not(.term-industrial-e-logistics) .rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option.rh_area_field_wrapper.first-area {
	clear: left;
} */
	body:not(.home) .rh_prop_search__form .rh_prop_search__fields .more-options-mode-container {
		width: auto;
		float: left;
		display: inline-block;
		margin-right: 30px;
		clear: inherit;
	}

	body .rh_prop_search__form .rh_prop_search__fields .more-options-mode-container.zone-container,
	body .rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option+.more-options-mode-container {
		clear: left;
	}
}

@media only screen and (max-width: 767px) {
	body:not(.home) .rh_prop_search__form .rh_prop_search__fields .more-options-mode-container {
		clear: both;
	}

	.rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option {
		width: 100%;
	}

	body:not(.home) .rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option.rh_area_field_wrapper {
		width: calc(50% - 20px);
		float: left;
		margin: 0 10px;
	}

	body:not(.home) .rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option.rh_area_field_wrapper.first-area {
		clear: left;
	}
}

@media (min-width: 480px) and (max-width: 767px) {
	.rh_prop_search__form .rh_prop_search__fields .rh_prop_search__select {
		float: left;
	}

	.rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option.rh_prop_search_option__btn {
		width: 100%;
	}
}

body .home-search-warp .rh_prop_search__form .rh_prop_search__fields .inspiry_select_picker_field .inspiry_select_picker_trigger>button {
	padding: 1rem;
}

body .home-search-warp .rh_prop_search__form .rh_prop_search__buttons .rh_prop_search__searchBtn .rh_btn__prop_search {
	padding: 1.2rem 0;
}

body .home-search-warp .rh_prop_search__form .rh_prop_search__fields label {
	display: none;
}

.more-options-wrapper label:before {
	border-radius: 5px;
	margin: 0.5rem;
}

.more-options-wrapper .option-bar {
	border: 1.5px solid rgba(128, 128, 128, 0.2);
	padding: 0.5rem 1rem;
	border-radius: 5px;
}

.rh_page__map_properties {
	padding-right: 0;
}

@media only screen and (min-width: 1140px) {
	body.inspiry_half_map_fixed .rh_page__map_properties {
		padding: 0 7rem 15rem 3rem;
	}
}

/* ============================================
   HALF-MAP PAGE - STICKY MAP STYLING
   ============================================ */

/* CRITICAL: Overflow must be visible on ALL ancestors for sticky to work */
/* This overrides the global overflow-x: hidden on body/html */
html.page-template-properties-search-half-map,
body.page-template-properties-search-half-map,
body.page-template-properties-search-half-map .rh_wrap,
body.page-template-properties-search-half-map .rh_section,
body.page-template-properties-search-half-map .rh_section--flex,
.rh_section.rh_section--flex.rh_section__map_listing {
	overflow: visible !important;
	overflow-x: visible !important;
}

/* Ensure parent section uses flex with correct alignment for sticky */
body.page-template-properties-search-half-map .rh_section.rh_section--flex,
body.tax-property-type .rh_section.rh_section--flex,
.rh_section.rh_section--flex.rh_section__map_listing {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
}

/* The map sidebar container - needs to be tall enough */
.rh_page__listing_map {
	position: relative !important;
	overflow: visible !important;
	height: auto !important;
	align-self: stretch !important;
	/* Take full height of flex container */
}

/* Make #map-head sticky instead of fixed/absolute */
#map-head {
	position: sticky !important;
	top: 154px;
	/* Default header height - will be updated by JS */
	height: calc(100vh - 154px) !important;
	transition: top 0.35s ease-in-out, height 0.35s ease-in-out;
	z-index: 10;
	overflow: visible !important;
}

/* Override the theme's fixed positioning */
.inspiry_half_map_fixed #map-head {
	position: sticky !important;
	width: 100% !important;
	height: calc(100vh - 154px) !important;
}

/* The listings container should be the taller one driving the scroll */
.rh_page__map_properties {
	min-height: 100vh;
}

/* Responsive - on mobile, map goes above listings (no sticky) */

div#fav-btn-shortcode a {
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.archive .rh_page__head .rh_page__controls,
body.age-template-properties-search-half-map .rh_page__controls {
	-webkit-flex: 1 1 0;
	-ms-flex: 1 1 0;
	flex: 1 1 0;
	margin-left: 15px;
}

@media only screen and (min-width: 1024px) {
	.rh_var2_header_meta_container {
		padding: 2rem 5rem;
	}
}

.more-options-wrapper.more-options-wrapper-mode {
	display: block !important;
}

span.open_more_features {
	display: none;
}

.more-options-wrapper {
	display: block;
}

.zone-container .more-options-wrapper .option-bar {
	border: 2px solid rgba(128, 128, 128, 0.2);
	padding: 1rem 1.5rem;
}

.zone-container .more-options-wrapper label:before {
	margin: 1rem;
}

.more-options-mode-container {
	z-index: 9;
	clear: both;
}

.rh_logo {
	max-width: 250px;
}

.rh_menu {
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

.rh_mod_sticky_header .main-menu .menu-main-menu-container>ul li.menu-item-has-children>a::after {
	border-style: solid;
	border-width: 0.22em 0.22em 0 0;
	content: '';
	display: inline-block;
	height: 0.46em;
	transform: rotate(135deg);
	width: 0.46em;
	margin-left: 5px;
	color: #bd1d2f;
}

/* RIMOSSO: CSS per sticky search che non serve più - ora gestito da shortcode in Elementor */
/*
body.tax-property-type #rh_prop_search_init_sticy.sticky form,
body.page-template-properties-search-half-map  #rh_prop_search_init_sticy.sticky form{
	position: fixed;
	top: 170px!important;
	width:100%;
	background-color: #ffffff!important;
	-webkit-box-shadow: 0px 15px 0px 0px rgb(0 0 0 / 35%);
	box-shadow: 0px 0px 15px 0px rgb(0 0 0 / 35%);
}
body.page-template-full-width-child-php #rh_prop_search_init_sticy.sticky{
	position: fixed;
	top: 130px;
	width:100%;
}
body.home #rh_prop_search_init_sticy.sticky{
	position: fixed;
	top: 303px;
	width: 100%;
	margin-top: 0;
}
*/
body.page-template-full-width-child-php .rh_wrap--topPadding {
	padding-top: 12rem;
}

@media (max-width: 1140px) {
	#menu-secondary-menu {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: start;
		-webkit-justify-content: flex-start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}

	ul#menu-secondary-menu li a {
		color: #1e1e1c !important;
		font-size: 12px;
		line-height: 0rem;
		text-decoration: none;
		border-bottom: 2px solid #ffffff;
		padding-left: 7px !important;
		padding-right: 7px !important;
		padding-bottom: 7px !important;
		padding-top: 9px !important;
	}

	ul#menu-secondary-menu li {
		list-style: none;
	}
}

body.single-property {
	background: #fff !important;
}

body.single-property .rh_property__main .rh_property__heading:not(.clearfix):not(.rh_property__additional_details) {
	position: relative;
	border-top: 1px solid #000;
	padding: 1rem 0;
	cursor: pointer;
}

body.single-property .rh_property__main .rh_property__heading:not(.clearfix):hover {
	color: #000;
	border-color: #000;
}

body.single-property .rh_property__main .rh_property__heading:not(.clearfix)::before {
	content: ' ';
	position: absolute;
	top: 2rem;
	right: 1rem;
	font-weight: 900;
	font-size: 5rem;
	line-height: 4rem;
	border: 1px solid #32373b;
	border-left: 0;
	border-top: 0;
	transform: rotate(-135deg);
	width: 13px;
	height: 13px;
}

body.single-property .rh_property__main .rh_property__heading.active::before {
	transform: rotate(45deg);
}

body.single-property .rh_property__main .rh_property__heading:not(.clearfix):hover:before {
	border-color: #000;
}

body.single-property .rh_property__meta_wrap .rh_property__meta h4 {
	margin-bottom: 1rem;
}

body.single-property .rh_property__sidebar.fixed_bar {
	position: fixed;
	top: 100px;
}

@media screen and (min-width: 1500px) {

	/* 	body.single-property #property-detail-flexslider {
	margin-left: -12rem;
	margin-right: -12rem;
} */
	body.single-property .rh_property__similar_properties,
	body.single-property .rh_section__news {
		margin-right: -370px;
	}
}

body.single-property .rh_section__news_wrap {
	padding: 0;
}

body.single-property .rh_section__news {
	background: #fff;
}

#property-detail-flexslider .flexslider ul.flex-direction-nav a.flex-prev:before {
	background: none;
	content: '\003c';
	display: inline-block;
	color: #bd1d2f;
	font-size: 6rem;
}

#property-detail-flexslider .flexslider ul.flex-direction-nav a.flex-next:before {
	background: none;
	content: '\003e';
	display: inline-block;
	color: #bd1d2f;
	font-size: 6rem;
}

#property-detail-flexslider .flexslider ul.flex-direction-nav a.flex-prev,
#property-detail-flexslider .flexslider ul.flex-direction-nav a.flex-next,
#property-detail-flexslider .flexslider ul.flex-direction-nav a.flex-prev:hover:before,
#property-detail-flexslider .flexslider ul.flex-direction-nav a.flex-next:hover:before {
	background: none !important;
}

@media (min-width: 768px) {
	#property-detail-flexslider .flexslider ul.flex-direction-nav a.flex-prev {
		left: -6rem;
	}

	#property-detail-flexslider .flexslider ul.flex-direction-nav a.flex-next {
		right: -6rem;
	}
}

@media only screen and (min-width: 767px) {
	body.home .rev_slider {
		height: 868px;
		display: block !important;
	}

	body.tax-property-type .rh_page__map_properties .rh_page__head {
		min-height: 54px;
	}

	body.tax-property-type .rh_prop_search {
		min-height: 117px;
	}
}

p em {
	color: #000;
}

body.tax-property-type .rh_prop_search {
	display: block;
	visibility: hidden;
}

.iubenda-cs-container {
	display: none;
}

.homepage-header-video {
	width: 100%;
}

.home-vid-placeholder {
	display: none;
	width: 100%;
}

@media only screen and (max-width: 500px) {
	.homepage-header-video {
		display: none;
	}

	.home-vid-placeholder {
		display: block;
	}
}

/* Fix margin-top for search form on taxonomy property-type pages */
body.tax-property-type .rh_prop_search__form,
body.tax-property-type .rh_prop_search .rh_prop_search__form,
body.tax-property-type form.rh_prop_search__form,
.tax-property-type .rh_prop_search__form.rh_prop_search_form_header {
	margin-top: 0 !important;
}

/* Fix position for search form - not absolute */
.rh_prop_search__form {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
}

/* ============================================
   WCG SEARCH BAR STYLING
   ============================================ */

/* Container */
.wcg-search-bar {
	background: #efefef;
	padding: 0;
	width: 100%;
}

@media(max-width:1024px) {
	.wcg-search-bar {
		background: transparent;
	}
}

/* Breadcrumb - positioned outside and above search container */
.wcg-search-breadcrumb {
	padding: 10px 40px 0;
	font-size: 13px;
	color: #666;
	background: transparent;
	margin-bottom: 15px;
}

.wcg-search-breadcrumb a {
	color: #666;
	text-decoration: none;
}

.wcg-search-breadcrumb strong {
	color: #333;
}

/* Desktop breadcrumb visible, mobile breadcrumb hidden */
.wcg-search-breadcrumb--desktop {
	display: block;
}

.wcg-search-breadcrumb--mobile {
	display: none;
}

/* Mobile: hide desktop breadcrumb, show mobile breadcrumb */
@media (max-width: 1024px) {
	.wcg-search-breadcrumb--desktop {
		display: none;
	}

	.wcg-search-breadcrumb--mobile {
		display: block;
		font-size: 14px;
		padding: 0;
		margin-bottom: 0;
		width: 100%;
	}
}

/* Form row */
.wcg-search-form {
	background: #efefef;
	padding: 15px 20px;
	margin-top: 0 !important;
	display: flex !important;
	flex-direction: column !important;
}

/* Search bar container - scroll hide/show animation */
#searchbar {
	transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, max-height 0.3s ease-in-out;
	max-height: 500px;
	/* Default state: visible with enough space */
	overflow: visible;
}

#searchbar.search-hidden {
	transform: translateY(-100%);
	opacity: 0;
	pointer-events: none;
	max-height: 0;
	overflow: hidden;
}

.wcg-search-form .rh_prop_search__fields {
	width: 100%;
}

.wcg-search-fields-row {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 20px !important;
	width: 100% !important;
}

.wcg-search-fields-row>.rh_prop_search__option {
	display: inline-flex !important;
	flex-shrink: 0 !important;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Status buttons (LOCAZIONE/VENDITA) */
.wcg-status-buttons {
	flex-shrink: 0 !important;
	width: 435px !important;
}

.wcg-status-buttons .rh_prop_search__btnwrap {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 10px !important;
}

.rh_prop_search_option__btn button,
.wcg-btn {
	background: transparent !important;
	border: 1px solid #000 !important;
	border-radius: 25px !important;
	padding: 13px 20px !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	color: #000 !important;
	cursor: pointer;
	transition: all 0.2s ease-in-out !important;
	text-transform: uppercase;
	white-space: nowrap;
	width: 200px !important;
	filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.rh_prop_search_option__btn button:hover,
.rh_prop_search_option__btn button:focus,
.wcg-btn:hover,
.wcg-btn:focus {
	background: #bd1d2f !important;
	border-color: #bd1d2f !important;
	color: #fff !important;
}

.wcg-btn.active,
.wcg-btn-locazione.active,
.wcg-btn-vendita.active {
	background: #bd1d2f !important;
	border-color: #bd1d2f !important;
	color: #fff !important;
}

/* Province select field */
.wcg-province-field {
	flex: 1 1 auto !important;
	min-width: 310px !important;
}

.wcg-province-field .rh_prop_search__selectwrap {
	width: 100% !important;
}

.wcg-type-field .rh_prop_search__selectwrap select,
.wcg-type-field select,
.wcg-type-field .bootstrap-select>button,
.wcg-type-field .inspiry_select_picker_trigger>button,
.wcg-province-field .rh_prop_search__selectwrap select,
.wcg-province-field select,
.wcg-province-field .bootstrap-select>button,
.wcg-province-field .inspiry_select_picker_trigger>button {
	border: 1px solid #000;
	border-radius: 25px;
	padding: 13px 35px 13px 20px !important;
	font-size: 13px;
	color: #000;
	background: transparent;
	width: 100%;
	filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

/* Fix inspiry select picker button width */
.rh_prop_search__form .rh_prop_search__fields .inspiry_select_picker_field .inspiry_select_picker_trigger>button {
	width: 100% !important;
	border-radius: 25px !important;
	border: 1px solid #000 !important;
}

/* Area input fields */
.wcg-area-field {
	flex: 0 0 100px !important;
	min-width: 80px !important;
}

.wcg-area-field input {
	border: 1px solid #000;
	border-radius: 25px;
	padding: 10px 15px !important;
	font-size: 13px;
	color: #000;
	background: transparent;
	width: 100%;
	filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.wcg-area-field input::placeholder {
	color: #000;
	opacity: 1;
}

/* Search button - hide from top row, show in more-options */
.wcg-search-fields-row .wcg-search-btn-wrap {
	display: none !important;
}

/* Search button container - on same line as more-options */
.wcg-search-form .wcg-search-btn-container {
	display: flex !important;
	justify-content: flex-end !important;
	align-items: center !important;
	margin-left: auto !important;
}

.rh_prop_search__form .rh_prop_search__buttons .rh_prop_search__searchBtn {
	padding-left: 10px;
}

.wcg-search-btn {
	background: #bd1d2f !important;
	border: none !important;
	border-radius: 20px !important;
	padding: 12px 30px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #fff !important;
	cursor: pointer;
	text-transform: uppercase;
	transition: all 0.2s ease-in-out !important;
	filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

@media(max-width: 1139px) {
	.rh_prop_search__form .rh_prop_search__buttons .rh_prop_search__searchBtn {
		padding-left: 0;
	}

	body.home .rh_prop_search__form,
	body.home .home-search-warp .rh_prop_search__form,
	.home-search-warp .rh_prop_search__form {
		gap: 10px;
		padding: 10px 40px;
	}
}

.home-search-warp .rh_prop_search__option.rh_prop_search_option__btn .wcg-search-btn:hover {
	background: #bd1d2f;
}

/* More options / Features row - same line with search button */
.wcg-more-options-container {
	background: transparent;
	padding: 0;
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

/* Container for more-options and search button on same line */
.wcg-search-form .wcg-options-search-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	width: 100% !important;
	gap: 15px !important;
	padding-top: 20px;
}

.wcg-features-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 25px !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

.wcg-feature-option {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex-shrink: 0;
}

.wcg-feature-option input[type='radio'] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 20px !important;
	height: 20px !important;
	border: 2px solid #000 !important;
	border-radius: 50% !important;
	cursor: pointer;
	position: relative;
	margin: 0 !important;
	flex-shrink: 0;
	background: transparent;
}

.wcg-feature-option input[type='radio']:checked::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 10px;
	height: 10px;
	background: #000;
	border-radius: 50%;
}

.wcg-feature-option label {
	font-size: 14px !important;
	color: #333 !important;
	cursor: pointer;
	white-space: nowrap;
}

/* Home search bar (simple version) */
.rh_prop_search.home-search-warp .rh_prop_search__wrap {
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
}

.home-search-warp .wcg-search-fields-row,
.rh_prop_search.home-search-warp .rh_prop_search__wrap {
	justify-content: center;
}

/* Home - Normalize padding for all bootstrap select buttons */
.home-search-warp .bootstrap-select>button,
.home-search-warp .inspiry_select_picker_trigger>button,
.home-search-warp .rh_prop_search__selectwrap .bootstrap-select>button {
	padding: 13px 35px 13px 20px !important;
	border: 1px solid #000;
	border-radius: 25px;
	font-size: 14px;
	color: #000;
	filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

/* Home - Forza bottoni LOCAZIONE/VENDITA in orizzontale */
.home-search-warp .wcg-status-buttons,
.home-search-warp .rh_prop_search_option__btn,
.home-search-warp .rh_prop_search__option.rh_prop_search_option__btn {
	width: auto !important;
}

.home-search-warp .wcg-status-buttons .rh_prop_search__btnwrap,
.home-search-warp .rh_prop_search_option__btn .rh_prop_search__btnwrap {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 10px !important;
}

@media(max-width: 1024px) {

	.home-search-warp .wcg-status-buttons,
	.home-search-warp .rh_prop_search_option__btn,
	.home-search-warp .rh_prop_search__option.rh_prop_search_option__btn {
		width: 100% !important;
	}

	.rh_prop_search.home-search-warp .rh_prop_search__wrap {
		flex-wrap: wrap;
	}

	.rh_prop_search_option__btn button,
	.wcg-btn {
		width: 100% !important;
	}


	body .home-search-warp .rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option {
		width: calc(50% - 5px);
		padding: 0;
	}
}

/* Home page - Reset negative margin that pushes search bar above header */
body.home .rh_prop_search__form,
body.home .home-search-warp .rh_prop_search__form,
.home-search-warp .rh_prop_search__form {
	margin-top: 0 !important;
	position: relative !important;
}

.home-search-warp .rh_prop_search__buttons,
.home-search-warp .rh_prop_search__btnWrap {
	display: flex;
	align-items: center;
}

.home-search-warp .rh_btn__prop_search {
	background: #bd1d2f !important;
	border: none !important;
	border-radius: 20px !important;
	padding: 12px 30px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #fff !important;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 0.2s ease-in-out !important;
	display: flex;
	align-items: center;
	gap: 8px;
	filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.home-search-warp .rh_btn__prop_search:hover {
	background: #bd1d2f !important;
}

.home-search-warp .rh_btn__prop_search span {
	display: inline-block;
}

.home-search-warp .rh_btn__prop_search svg {
	display: none;
}

/* Responsive */
@media (max-width: 991px) {
	.wcg-search-fields-row {
		gap: 10px;
	}

	.wcg-search-btn-wrap {
		margin-left: 0;
		width: 100%;
		margin-top: 10px;
	}

	.wcg-search-btn {
		width: 100%;
	}

	.wcg-features-row {
		gap: 15px;
	}
}

@media (max-width: 767px) {
	.wcg-status-buttons .rh_prop_search__btnwrap {
		flex-wrap: wrap;
	}

	.wcg-btn {
		padding: 6px 15px;
		font-size: 12px;
	}

	.wcg-province-field,
	.wcg-area-field {
		width: 100%;
		max-width: none;
	}

	.wcg-features-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
}

/* ============================================
   CSS FROM WORDPRESS CUSTOMIZER
   ============================================ */

input[type='checkbox'] {
	width: 13px !important;
	-webkit-appearance: checkbox !important;
}

@media (min-width: 1362px) {
	.rh_content .titolo-pagina-madre h1 {
		font-size: 63px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		color: #666666 !important;
	}
}

@media (min-width: 768px) and (max-width: 1361px) {
	.rh_content .titolo-pagina-madre h1 {
		font-size: 53px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		color: #666666 !important;
	}
}

@media (max-width: 767px) {
	.rh_content .titolo-pagina-madre h1 {
		font-size: 45px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		color: #666666 !important;
	}

	.vc_grid.vc_row.vc_grid-gutter-25px .vc_grid-item {
		padding-right: 30%;
		padding-bottom: 10px;
		padding-left: 30%;
	}

	.sp-mask {
		display: none;
	}
}

.rh_banner,
.rh_banner__image,
.rh_banner__default,
.inspiry_mod_header_variation_two.inspiry_mod_search_form_default .rh_banner__image,
.inspiry_mod_header_variation_three .rh_banner__image {
	display: none !important;
}

/*blocco le persone in home */
.teachers .teacher-item .teacher-image img {
	border: 1px solid #fff;
	border-radius: 50%;
	border-color: #d2d2d2;
	padding: 2px;
}

.teachers .teacher-item .teacher-content h4 {
	font-size: 15px !important;
	color: #000000 !important;
	font-weight: bold !important;
	text-align: left !important;
	font-style: normal !important;
	width: 100%;
}

.teachers .teacher-item .teacher-content h4 span {
	font-size: 14px !important;
	color: #6f0926 !important;
	display: block;
}

.teachers .teacher-item .teacher-content {
	color: #fff;
	display: table;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 20px !important;
	padding-top: 0px !important;
}

.teachers .teacher-item .teacher-content p {
	margin-top: 0px !important;
	margin-bottom: 20px !important;
	font-size: 1.5rem !important;
	line-height: 1.5 !important;
	color: #666 !important;
	font-style: italic !important;
}

.teachers .teacher-item .teacher-content a {
	color: #fff;
	background-color: #bd1d2f;
	font-weight: 500;
	font-size: 14px;
	padding-top: 10px;
	padding-bottom: 11px;
	padding-left: 20px;
	padding-right: 20px;
}

.teachers .teacher-item .teacher-content a:hover {
	color: #fff;
	background-color: #8c0429;
}

.iub-accessibility-btn {
	position: fixed !important;
	bottom: 15px !important;
	right: 60px !important;
}

.elementor-kit-91676 .elementor-widget-button:not(.map-btn) .elementor-button:hover svg path,
.elementor-kit-91676 .elementor-widget-button:not(.map-btn) .elementor-button:focus svg path {
	fill: #bd1d2f;
}

.elementor-kit-91676 .elementor-widget-button.map-btn .elementor-button:hover,
.elementor-kit-91676 .elementor-widget-button.map-btn .elementor-button:focus {
	color: #bd1d2f;
	border-color: #bd1d2f;
}

.elementor-kit-91676 .elementor-widget-button.map-btn .elementor-button-icon svg {
	width: 20px;
}

.elementor-kit-91676 .inv .elementor-button {
	color: #bd1d2f;
	background-color: #fff;
}

.elementor-kit-91676 .inv .elementor-button:hover,
.elementor-kit-91676 .inv .elementor-button:focus {
	color: #fff;
	background-color: #bd1d2f;
}

.elementor-kit-91676 .elementor-widget-button.inv .elementor-button svg path {
	fill: #bd1d2f;
}

.elementor-kit-91676 .elementor-widget-button.inv .elementor-button:hover svg path,
.elementor-kit-91676 .elementor-widget-button.inv .elementor-button:focus svg path {
	fill: #fff;
}

/* ============================================
   HORIZONTAL SCROLL CAROUSEL
   ============================================ */

/* Force overflow visible on all potential clipping parents */
.scroll-carousel,
.scroll-carousel .elementor-widget-container,
.scroll-carousel .elementor-swiper,
.scroll-carousel .swiper,
.scroll-carousel .swiper-container {
	overflow: visible !important;
}

/* Ensure horizontal layout - Swiper default display:flex was being overridden */
/* Reset gap to let Swiper manage spacing via spaceBetween (margin-right on slides) */
.scroll-carousel .swiper-wrapper {
	display: flex !important;
	gap: 0 !important;
	overflow: visible !important;
}

/* Ensure no opacity gradient between slides */
.scroll-carousel .swiper-slide {
	opacity: 1 !important;
	flex-shrink: 0 !important;
}

.elementor-kit-91676 {
	color: #000;
}

/* Footer Contact Button Animation - Class toggled by JS */
#footer-contact-arrow svg {
	transition: transform 0.3s ease;
}

#footer-contact-arrow svg.rotate-225 {
	transform: rotate(225deg);
}

.megamenu ul.e-n-menu-heading>li.e-n-menu-item {
	border-bottom: 2px solid #000;
}

@media (max-width: 1024px) {
	.megamenu ul.e-n-menu-heading>li.e-n-menu-item {
		border-bottom: 1px solid #fff;
	}
}

.megamenu ul.e-n-menu-heading>li.e-n-menu-item .e-n-menu-title {
	cursor: pointer;
}

.megamenu ul.e-n-menu-heading>li.e-n-menu-item:hover,
.megamenu ul.e-n-menu-heading>li.e-n-menu-item:focus,
.megamenu ul.e-n-menu-heading>li.e-n-menu-item.active {
	border-bottom: 2px solid #fff;
}

@media (max-width: 1024px) {

	.megamenu ul.e-n-menu-heading>li.e-n-menu-item:hover,
	.megamenu ul.e-n-menu-heading>li.e-n-menu-item:focus,
	.megamenu ul.e-n-menu-heading>li.e-n-menu-item.active {
		border-bottom: 1px solid #fff;
	}
}


/* ======================================
   MEGAMENU HOVER EFFECT - Red Circle + Text Shift
   ====================================== */

/* Target the main menu items inside .mega-menu */
.mega-menu .elementor-nav-menu--layout-vertical .menu-item>a.elementor-item,
.mega-menu .elementor-nav-menu--layout-vertical .menu-item>a.elementor-sub-item {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding-left: 0;
	transition: all 0.3s ease;
}

/* Create the red circle using ::before pseudo-element */
.mega-menu .elementor-nav-menu--layout-vertical .menu-item>a.elementor-item::before,
.mega-menu .elementor-nav-menu--layout-vertical .menu-item>a.elementor-sub-item::before {
	content: '';
	display: inline-block;
	width: 14px;
	height: 14px;
	min-width: 14px;
	border-radius: 50%;
	background-color: #bd1d2f;
	margin-right: 0;
	opacity: 0;
	transform: scale(0) translateX(-10px);
	transition: all 0.2s ease-in-out;
	position: absolute;
	left: -25px;
}

/* Hover state - show circle and shift text */
.mega-menu .elementor-nav-menu--layout-vertical .menu-item>a.elementor-item:hover::before,
.mega-menu .elementor-nav-menu--layout-vertical .menu-item>a.elementor-sub-item:hover::before,
.mega-menu .elementor-nav-menu--layout-vertical .menu-item>a.elementor-item:focus::before,
.mega-menu .elementor-nav-menu--layout-vertical .menu-item>a.elementor-sub-item:focus::before {
	opacity: 1;
	transform: scale(1) translateX(0);
	margin-right: 10px;
	margin-top: 2px;
}

/* Text becomes semibold on hover */
.mega-menu .elementor-nav-menu--layout-vertical .menu-item>a.elementor-item:hover,
.mega-menu .elementor-nav-menu--layout-vertical .menu-item>a.elementor-sub-item:hover,
.mega-menu .elementor-nav-menu--layout-vertical .menu-item>a.elementor-item:focus,
.mega-menu .elementor-nav-menu--layout-vertical .menu-item>a.elementor-sub-item:focus {
	font-weight: 600;
}

/* Hide the sub-arrow chevron effect interference */
.mega-menu .elementor-nav-menu--layout-vertical .menu-item>a .sub-arrow {
	transition: transform 0.3s ease;
}

.mega-menu .elementor-nav-menu--layout-vertical .menu-item>a:hover .sub-arrow {
	transform: translateX(5px);
}

.mega-menu .elementor-nav-menu--layout-vertical ul li ul {
	min-width: 300px !important;
	left: 20px !important;
}

.mega-menu .elementor-nav-menu--layout-vertical ul li ul li {
	margin: 0 20px;
}

.mega-menu .elementor-nav-menu--layout-vertical ul li ul li a {
	width: 100%;
	margin-left: 20px;
	margin-right: 20px;
	line-height: 28px;
}

.mega-menu .elementor-nav-menu--layout-vertical ul li ul li a:hover,
.mega-menu .elementor-nav-menu--layout-vertical ul li ul li a:focus {
	background-color: transparent;
}

.elementor-239999 .elementor-element.elementor-element-5bd5f8f .elementor-nav-menu--dropdown .elementor-item,
.elementor-239999 .elementor-element.elementor-element-5bd5f8f .elementor-nav-menu--dropdown .elementor-sub-item {}

/* ============================================
   PROPERTY CARD LABELS (Status + Featured)
   ============================================ */

/* Reset default .rh_label background from theme customizer inline CSS */
.rh_label {
	background: transparent !important;
}

/* Container for labels - stack vertically */
.rh_list_card__map_thumbnail .rh_label.rh_label__list {
	position: absolute;
	left: 15px;
	z-index: 5;
}

/* Status label (Locazione / Vendita) - Red filled */
.rh_label.rh_label__status {
	top: 15px;
}

.rh_label.rh_label__status .rh_label__wrap {
	background-color: #bd1d2f;
	color: #fff;
	padding: 8px 20px;
	border-radius: 25px;
	font-size: 14px;
	font-weight: 500;
	display: inline-block;
}

.rh_label.rh_label__status .rh_label__wrap span {
	display: none;
}

/* Featured label (In primo piano) - Outlined style */
.rh_label.rh_label__featured {
	top: 55px;
	/* Position below status label */
}

.rh_label.rh_label__featured .rh_label__wrap {
	background-color: #fff;
	color: #bd1d2f;
	border: 2px solid #bd1d2f;
	padding: 6px 15px;
	border-radius: 25px;
	font-size: 13px;
	font-weight: 500;
	display: inline-block;
}

.rh_label.rh_label__featured .rh_label__wrap span {
	display: none;
}

.rh_list_card__wrap .rh_list_card__map_wrap {
	padding: 40px;
}

/* Thumbnail container - 40% width and image cover */
.rh_list_card__map_thumbnail {
	width: 40% !important;
	min-width: 300px;
}

/* Card wrapper - full height */
.rh_list_card__wrap {
	height: 100%;
	min-height: 300px;
	box-shadow: none !important;
}

.rh_list_card__map_thumbnail {
	width: 40%;
	height: 100%;
}

.rh_list_card__map_thumbnail .post_thumbnail {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.rh_list_card__map_thumbnail .post_thumbnail img {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}

/* Remove padding from map properties container */
body.inspiry_half_map_fixed .rh_page__map_properties {
	padding: 0 !important;
}

/* Full-width page head row above map/listings */
.rh_page__head.rh_page__head--fullwidth {
	width: 100%;
	flex-basis: 100%;
	/* Force full row in flex parent */
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	padding-top: 30px;
	padding-bottom: 60px;
	padding-left: 40px;
	padding-right: 40px;
	background: transparent;
	gap: 1.5rem;
}

/* Content wrapper - contains listings and map in 2 columns */
.rh_half_map__content_wrapper {
	width: 100%;
	flex-basis: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	padding: 0 40px;
}

/* Properties section - remove max-width and add right padding */
body.inspiry_half_map_fixed .rh_page__map_properties,
body.tax-property-type .rh_page__map_properties,
.rh_page__map_properties {
	max-width: none !important;
	padding-right: 20px !important;
}

/* Map section - add left padding */
body.inspiry_half_map_fixed .rh_page__listing_map,
body.tax-property-type .rh_page__listing_map,
.rh_page__listing_map {
	padding-left: 20px !important;
}


@media (max-width: 1366px) {

	body.inspiry_half_map_fixed .rh_page__listing_map,
	body.tax-property-type .rh_page__listing_map,
	.rh_page__listing_map {}
}

/* Page title styling - Quicksand semibold 30px */
.rh_page__head--fullwidth .rh_page__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 600;
	font-size: 30px;
	line-height: 100%;
	width: 100%;
	margin: 0;
	color: #1a1a2e;
}

/* ========== PROPERTY CARD LAYOUT ========== */

/* Remove margin-top from first card in listing */
.rh_page__listing .rh_list_card:first-child {
	margin-top: 0 !important;
}

/* Remove margin-top from second card when in two-column layout */
body.map-hidden .rh_page__listing .rh_list_card:nth-child(2) {
	margin-top: 0 !important;
}

/* Card title - 22px semibold Quicksand */
.rh_list_card__map_details h3.rh_list_card__title {
	margin: 0 0 8px 0;
}

.rh_list_card__map_details h3.rh_list_card__title a {
	font-family: 'Quicksand', sans-serif;
	font-weight: 600;
	font-size: 22px;
	line-height: 1.3;
	color: #1a1a2e;
	text-decoration: none;
}

.rh_list_card__map_details h3.rh_list_card__title a:hover {
	color: #b20f3b;
}

/* Reference code - 14px regular */
.rh_list_card__ref_code {
	font-family: 'Quicksand', sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: #000;
	margin: 0 0 8px 0;
}

/* Text fields section */
.rh_list_card__text_fields {
	margin-bottom: 15px;
}

.rh_list_card__text_fields .rh_list_card__field {
	font-family: 'Quicksand', sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: #000;
	margin: 0 0 4px 0;
}

/* Icons Row - grid layout */
.rh_list_card__icons_row {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 15px;
}

/* Individual icon item */
.rh_list_card__icon_item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.rh_list_card__icon_item .icon_label {
	font-family: 'Quicksand', sans-serif;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	color: #000;
	letter-spacing: 0.5px;
	margin-bottom: 5px;
}

.rh_list_card__icon_item img {
	width: 36px;
	height: 36px;
	object-fit: contain;
	margin-bottom: 5px;
}

.rh_list_card__icon_item .icon_value {
	font-family: 'Quicksand', sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #1a1a2e;
}

/* Card details container adjustments */
.rh_list_card__map_details {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

/* ========== CUSTOM SORT CONTROLS ========== */

/* Custom sort controls styling */
.rh_sort_controls--custom {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-family: 'Quicksand', sans-serif;
}

.rh_sort_controls--custom .sort-label {
	font-weight: 400;
	color: #666;
	margin-right: 0.5rem;
}

.rh_sort_controls--custom .sort-option,
.rh_sort_controls--custom .map-toggle {
	color: #1a1a2e;
	text-decoration: none;
	transition: color 0.2s ease;
	cursor: pointer;
	white-space: nowrap;
}

.rh_sort_controls--custom .sort-option:hover,
.rh_sort_controls--custom .map-toggle:hover {
	color: #b20f3b;
}

.rh_sort_controls--custom .sort-option.active {
	color: #b20f3b;
	font-weight: 600;
}

.rh_sort_controls--custom .sort-separator {
	color: #ccc;
}

/* Mobile map toggle styling (< 1024px) */
@media (max-width: 1023px) {
	.rh_sort_controls--custom .map-toggle {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		font-size: 16px;
		font-weight: 400;
		color: #BD1D2F;
		text-transform: uppercase;
	}

	.rh_sort_controls--custom .map-toggle:hover {
		color: #BD1D2F;
		opacity: 0.8;
	}

	/* Add SVG icon before text */
	.rh_sort_controls--custom .map-toggle::before {
		content: '';
		display: inline-block;
		width: 25px;
		height: 26px;
		background-image: url('data:image/svg+xml;utf8,<svg width="25" height="26" viewBox="0 0 25 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.77586 0.809082L0.5 3.29184V24.8091L8.77586 21.4987L16.2241 24.8091L24.5 21.4987V0.809082L16.2241 4.94701L8.77586 0.809082Z" stroke="%23BD1D2F"/><path d="M0.5 3.29184V24.8091L8.77586 21.4987V0.809082L0.5 3.29184Z" fill="%23BD1D2F"/><path d="M24.5 22.3263V0.809082L16.2241 4.11943V24.8091L24.5 22.3263Z" fill="%23BD1D2F"/></svg>');
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		flex-shrink: 0;
	}
}

/* Two-column layout when map is hidden */
body.map-hidden .rh_page__listing_map {
	display: none !important;
}

body.map-hidden .rh_page__map_properties.two-columns {
	width: 100%;
	max-width: 100%;
}

body.map-hidden .rh_page__map_properties.two-columns .rh_page__listing {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}

body.map-hidden .rh_half_map__content_wrapper {
	justify-content: center;
}

/* Remove margin-bottom from content on property search/archive pages */
body.inspiry_half_map_fixed .rh_content,
body.tax-property-type .rh_content,
body.page-template-properties-search-half-map .rh_content {
	margin-bottom: 0 !important;
}

/* Remove box-shadow from sort controls */
.rh_page__head .rh_page__controls .rh_sort_controls {
	box-shadow: none !important;
	font-size: 16px;
	font-weight: 500;
}

/* Pagination padding */
.rh_pagination {
	margin: 0;
	padding-top: 30px;
	padding-bottom: 30px;
}

/* Map head padding */
#map-head {
	padding-bottom: 60px;
}

.rh_prop_card .rh_prop_card__details,
.rh_list_card__wrap .rh_list_card__details_wrap,
.rh_list_card__wrap .rh_list_card__map_wrap {
	background: #efefef;
}

/* ============================================
   PAGINATION STYLING
   ============================================ */

/* Pagination wrapper */
.rh_pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0;
}

.rh_pagination a {
	margin: 0;
}

/* Pagination links */
.rh_pagination a,
.rh_pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	font-family: 'Quicksand', sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #000;
	text-decoration: none;
	border-radius: 50%;
	transition: all 0.3s ease;
	box-shadow: none !important;
}

/* Hover state for links */
.rh_pagination .rh_pagination__btn:focus,
.rh_pagination .rh_pagination__btn:hover {
	color: #b20f3b !important;
}

.rh_blog__post {
	margin: 0;
}

/* Current page */
.rh_pagination .current,
.rh_pagination span.current {
	background-color: #b20f3b !important;
	color: #fff !important;
	font-weight: 600;
}

/* Previous/Next arrows */
.rh_pagination .rh_pagination__prev,
.rh_pagination .rh_pagination__next {
	border-radius: 4px;
	font-size: 16px;
}

.rh_pagination__next svg,
.rh_pagination__prev svg {
	fill: #000;
}

.rh_pagination__next:focus svg,
.rh_pagination__next:focus svg,
.rh_pagination__next:hover svg,
.rh_pagination__prev:hover svg {
	fill: #b20f3b;
}

/* Dots */
.rh_pagination .dots {
	pointer-events: none;
	background: none;
}


.rh_list_card__wrap .rh_list_card__map_thumbnail .rh_overlay__contents a {
	border-radius: 25px;
	padding: 10px 15px;
	font-size: 16px;
}

.rh_prop_search__form .rh_prop_search__fields .rh_prop_search__option span {
	font-size: 1rem !important;
}

.lightbox-close {
	font-size: 40px !important;
}

/* ============================================
   WCG GALLERY SHORTCODE STYLING
   ============================================ */

/* Gallery Wrapper */
.wcg-gallery-wrapper {
	display: flex;
	gap: 20px;
	background: transparent;
	margin: 30px 0;
	max-height: 500px;
}

/* Carousel Container */
.wcg-gallery-carousel {
	position: relative;
	width: 50%;
	background: #000;
	overflow: hidden;
}

/* Swiper Styles */
.swiper {
	width: 100%;
	height: 100%;
}

.swiper-slide {
	text-align: center;
	font-size: 18px;
	background: #000;
	display: flex;
	justify-content: center;
	align-items: center;
}

.swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	cursor: pointer;
}

/* Navigation Arrows override Swiper defaults */
.swiper-button-next,
.swiper-button-prev {
	width: auto;
	height: auto;
	margin-top: 0;
	transform: translateY(-50%);
	background: none;
	/* remove swiper arrow bg if any */
	color: transparent;
	/* hide swiper default icon characters */
}

/* Remove Swiper default pseudo-elements */
.swiper-button-next::after,
.swiper-button-prev::after {
	display: none;
}

.carousel-arrow svg {
	display: block;
}

.swiper-button-next.carousel-arrow,
.swiper-button-prev.carousel-arrow {
	width: 43px;
	height: 26px;
	top: calc(50% + 26px);
}

.carousel-arrow rect,
.carousel-arrow path {
	transition: fill 0.3s ease;
}

.carousel-arrow:hover rect,
.carousel-arrow:focus rect {
	fill: #BD1D2F;
}

.carousel-arrow:hover path,
.carousel-arrow:focus path {
	fill: #fff;
}

/* Right Grid */
.wcg-gallery-thumbnails {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 20px;
	width: 50%;
}

.gallery-thumbnail {
	position: relative;
	background: #f5f5f5;
	overflow: hidden;
	cursor: pointer;
	transition: opacity 0.3s ease;
	width: 100%;
	height: 100%;
}

.gallery-thumbnail.active img {
	opacity: 0.6;
}

.gallery-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.2s ease-in-out;
}

.gallery-thumbnail:hover {
	opacity: 0.8;
}

/* Lightbox */
.wcg-gallery-lightbox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	z-index: 99999;
	display: none;
	justify-content: center;
	align-items: center;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.wcg-gallery-lightbox.open {
	display: flex;
	opacity: 1;
}

.wcg-gallery-lightbox img {
	max-width: 90%;
	max-height: 90%;
	object-fit: contain;
}

/* Lightbox close button - specific styling to avoid conflicts */
.wcg-gallery-lightbox .lightbox-close {
	position: absolute;
	top: 20px;
	right: 30px;
	background: none;
	border: none;
	color: #fff;
	font-size: 40px !important;
	cursor: pointer;
	z-index: 100000;
}

/* Mobile responsive */
@media (max-width: 768px) {
	.wcg-gallery-wrapper {
		flex-direction: column;
		height: auto;
	}

	.wcg-gallery-carousel,
	.wcg-gallery-thumbnails {
		width: 100%;
	}

	.wcg-gallery-carousel {
		height: 300px;
	}


	.wcg-gallery-thumbnails {
		height: 300px;
		/* Fixed height for grid on mobile too? */
	}
}

/* ============================================
   MOBILE GALLERY CAROUSEL STYLING
   ============================================ */

/* Hide on desktop (>1024px) */
@media (min-width: 1025px) {
	.wcg-gallery-mobile-wrapper {
		display: none !important;
	}
}

/* Mobile carousel wrapper */
.wcg-gallery-mobile-wrapper {
	width: 100%;
	background: transparent;
	margin: 20px 0;
}

.wcg-gallery-mobile-carousel {
	position: relative;
	width: 100%;
	height: 400px;
	background: #000;
	overflow: hidden;
}

.mySwiperMobile {
	width: 100%;
	height: 100%;
}

.mySwiperMobile .swiper-slide {
	text-align: center;
	background: #000;
	display: flex;
	justify-content: center;
	align-items: center;
}

.mySwiperMobile .swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Mobile arrow styling */
.mobile-carousel-arrow {
	width: 26px;
	height: 26px;
	margin-top: 0;
	transform: translateY(-50%);
	background: none;
	color: transparent;
}

.mobile-carousel-arrow::after {
	display: none;
}

.mobile-carousel-arrow svg {
	display: block;
	width: 26px;
	height: 26px;
}

/* Adjust height for smaller screens */
@media (max-width: 768px) {
	.wcg-gallery-mobile-carousel {
		height: 300px;
	}
}

@media (max-width: 480px) {
	.wcg-gallery-mobile-carousel {
		height: 250px;
	}
}

/* ============================================
   WCG PROPERTY ICONS SHORTCODE STYLING
   ============================================ */
.wcg-single-property-icons .rh_list_card__icon_item {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.wcg-single-property-icons .icon_label {
	width: 100%;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 600;
	text-align: left;
	margin-bottom: 8px;
}

.wcg-single-property-icons img {
	margin-bottom: 0;
	margin-right: 15px;
	width: 40px;
	/* Slightly larger? User didn't ask but 24px text needs balance. Default is 36px. */
	height: 40px;
}

.wcg-single-property-icons .icon_value {
	font-size: 24px !important;
	font-weight: 600;
	color: #fff;
	/* Assuming white for value too since label is white? Or generic text color? User said "label #fff". I'll default to white for visibility on dark/overlay or keep inherited if not specified. Wait, user only specified LABEL white. But usually these are on dark bg if label is white. I'll stick to inherited unless clear. But Listing usually has dark text. If user asked label white, probably background is dark. Let's make value white too to be safe? Or just semibold/24px. I will stick to what asked: 24px semibold. */
}

/* ============================================
   WCG PROPERTY SPECIFICATIONS SHORTCODE STYLING
   ============================================ */
.wcg-property-specs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 40px;
	row-gap: 15px;
	width: 100%;
	background: transparent;
	color: #000;
}

.wcg-spec-item {
	display: flex;
	flex-direction: column;
	margin-bottom: 5px;
}

.wcg-spec-label {
	font-family: 'Quicksand', sans-serif;
	font-size: 16px;
	font-weight: 600;
	/* Semibold */
	color: #000;
	margin-bottom: 2px;
}

.wcg-spec-value {
	font-family: 'Quicksand', sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: #000;
}

/* Mobile Responsive */
@media (max-width: 767px) {
	.wcg-property-specs {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

/* ============================================
   WCG PROPERTY FEATURES SHORTCODE STYLING
   ============================================ */
.wcg-property-features {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 40px;
	row-gap: 15px;
	width: 100%;
	background: transparent;
	color: #000;
	margin-top: 20px;
}

.wcg-feature-item {
	display: flex;
	align-items: center;
	margin-bottom: 5px;
}

.wcg-feature-label {
	font-family: 'Quicksand', sans-serif;
	font-size: 16px;
	font-weight: 400;
	/* Regular text for features list */
	color: #000;
}

/* Mobile Responsive */
@media (max-width: 767px) {
	.wcg-property-features {
		grid-template-columns: 1fr;
		gap: 10px;
	}
}

/* ============================================
   WCG CONTACT FORM STYLING & STICKY
   ============================================ */

/* Form styling ONLY (no sticky here) */
.wcg-agent-form.sticky-form {
	background-color: #f2f2f2;
	padding: 20px;
	border-left: 5px solid #bd1d2f;
	/* Brand Red */
	z-index: 99;
}

.sticky-form h3 {
	margin-top: 0;
}

/* Reset Elementor outer wrapper to prevent double styling */
.elementor-widget-container>.sticky-form:not(.wcg-agent-form),
.elementor-element.sticky-form {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

/* === STICKY BEHAVIOR ON .elementor-shortcode === */
/* The .elementor-shortcode element should be sticky within .elementor-widget-container */
.immobili-single-form-container .elementor-shortcode {
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 100px;
	z-index: 99;
}

/* ============================================
   Note: Sticky form has been removed.
   Overflow rules removed as they broke lightbox/swiper.
   ============================================ */


/* Ensure the parent containers stretch properly */
.immobili-single-form-container {
	align-self: stretch !important;
	height: auto !important;
}

/* Ensure .elementor-widget-container fills the height */
.immobili-single-form-container .elementor-widget-container {
	height: 100%;
	display: block;
}

/* Ensure the parent row uses stretch alignment */
.immobili-single-form-container.e-con-full.e-flex {
	display: flex !important;
	flex-direction: column !important;
}

/* The widget inside should fill the container height */
.immobili-single-form-container>.elementor-element {
	flex: 1 1 auto;
	height: 100%;
}

/* Also ensure the parent section (row) stretches children */
.elementor-element-97e2b04.e-flex {
	align-items: stretch !important;
}

.sticky-form h3 {
	font-family: 'Quicksand', sans-serif;
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 5px;
	color: #000;
	line-height: 1.2;
}

.sticky-form .form-subtitle {
	font-family: 'Quicksand', sans-serif;
	font-size: 16px;
	color: #333;
	margin-bottom: 20px;
	/* Reduced from 25px */
	font-weight: 400;
}

/* Inputs */
.sticky-form input.wpcf7-form-control,
.sticky-form textarea.wpcf7-form-control {
	background-color: #ededed !important;
	border: 1px solid #333 !important;
	border-radius: 0 !important;
	padding: 10px !important;
	color: #333 !important;
	font-family: 'Quicksand', sans-serif !important;
	font-size: 13px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	height: auto !important;
	/* Prevent weird height inheritance */
}

/* Focus States */
.sticky-form input.wpcf7-form-control:focus,
.sticky-form textarea.wpcf7-form-control:focus {
	outline: none !important;
	border-color: #bd1d2f !important;
	background-color: #fff !important;
}

/* Submit Button */
/* Submit Button */
#content .sticky-form input.wpcf7-submit,
#content .sticky-form button.wpcf7-submit,
html body .sticky-form input.wpcf7-submit,
html body .sticky-form button.wpcf7-submit {
	background: #bd1d2f !important;
	/* Force red background overriding any images/gradients */
	background-color: #bd1d2f !important;
	background-image: none !important;
	color: #fff !important;
	border: none !important;
	padding: 10px 40px !important;
	/* Wider padding for pill shape */
	border-radius: 50px !important;
	/* Pill shape */
	font-family: 'Quicksand', sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	/* Slightly lighter weight as per image look */
	margin-top: 15px !important;
	/* More space above */
	cursor: pointer;
	transition: background 0.3s ease !important;
	width: auto !important;
	/* Auto width based on image */
	display: inline-block !important;
	text-transform: none !important;
	/* Normal case */
	opacity: 1 !important;
	appearance: none !important;
	text-shadow: none !important;
	box-shadow: none !important;
}

.sticky-form form p {
	margin-bottom: 0 !important;
	padding-bottom: 15px;
}

.sticky-form form p input {
	margin: 0 !important;
}

.sticky-form input.wpcf7-submit:hover,
.sticky-form button.wpcf7-submit:hover {
	background: #a01222 !important;
	background-color: #a01222 !important;
	color: #fff !important;
}

/* Privacy Checkbox & Labels */
.sticky-form label,
.sticky-form span.allowed-html,
.sticky-form .wpcf7-list-item-label,
.sticky-form form a {
	font-size: 12px !important;
	font-weight: 500;
	line-height: 1.2 !important;
	display: inline-block !important;
}

/* Force Checkbox Inline */
.sticky-form .wpcf7-checkbox .wpcf7-list-item {
	display: flex !important;
	align-items: flex-start !important;
	margin: 0 !important;
}

.sticky-form input[type="checkbox"] {
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	/* Reset height */
	margin-right: 8px !important;
	margin-top: 2px !important;
	float: none !important;
	accent-color: #bd1d2f !important;
}

.sticky-form input[type="checkbox"] {
	margin: 0 !important;
	width: auto !important;
	height: auto !important;
	flex-shrink: 0 !important;
	accent-color: #bd1d2f;
	/* Modern browsers */
}

/* Headers override */
.sticky-form h3 {
	font-size: 24px !important;
	margin-bottom: 5px !important;
	line-height: 1.2 !important;
}

.sticky-form p.form-subtitle {
	font-size: 16px !important;
	margin-bottom: 20px !important;
	line-height: 1.4 !important;
	color: #333 !important;
}

/* Parent Container Context for Sticky */
/* Parent Container Context for Sticky */
.immobili-single-form-container,
.elementor-widget-wrap,
.elementor-widget-container,
.elementor-column-wrap {
	height: 100%;
	/* Allow sticky child to move within full height */
	display: block;
	/* Ensure block formatting context */
	overflow: visible !important;
	/* Critical for sticky. Hidden breaks it. */
}

/* Responsive */
@media (max-width: 768px) {
	.sticky-form {
		padding: 15px;
		border-left-width: 4px;
		position: static;
		/* Disable sticky on mobile usually */
	}
}

/* ============================================
   PROPERTY MAP SHORTCODE STYLES
   ============================================ */
.wcg-property-map-wrap,
.rh_property__map_wrap {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	visibility: visible !important;
}

.wcg-property-map-wrap #property_map,
.rh_property__map_wrap #property_map {
	width: 100% !important;
	height: 480px !important;
	min-height: 480px !important;
	border: none !important;
	display: block !important;
	visibility: visible !important;
}

/* Responsive Map for Mobile */
@media (max-width: 768px) {

	.wcg-property-map-wrap #property_map,
	.rh_property__map_wrap #property_map {
		height: 300px !important;
		min-height: 300px !important;
	}
}

/* ============================================
   CF7 RESPONSE OUTPUT - Hide when empty
   ============================================ */
.wpcf7-response-output:empty {
	display: none !important;
}

.wpcf7-response-output {
	margin: 10px 0 0 0 !important;
	padding: 10px !important;
	border-radius: 4px !important;
}

/* WCG Property Details Mini Shortcode */
.wcg-property-details-mini {
	font-size: 16px;
}

.wcg-property-details-mini .wcg-detail-item {
	margin: 0 0 5px 0;
}

.elementor-shortcode .rh_list_card__map_thumbnail:hover .rh_overlay__contents {
	top: 50%;
	left: 50%;
	opacity: 1;
}

/* Property Type label - same style as status */
.elementor-shortcode .rh_label.rh_label__type {
	top: 15px;
}

.elementor-shortcode .rh_label.rh_label__type .rh_label__wrap {
	background-color: #bd1d2f;
	color: #fff;
	padding: 8px 20px;
	border-radius: 25px;
	font-size: 14px;
	font-weight: 500;
	display: inline-block;
}

.elementor-shortcode .rh_label.rh_label__type .rh_label__wrap span {
	display: none;
}

/* Adjust status position when type label is present */
.elementor-shortcode .wcg-property-thumbnail .rh_label.rh_label__status {
	top: 55px;
}

.elementor-shortcode .rh_list_card__map_thumbnail .rh_overlay__contents a {
	display: inline-block;
	color: #fff;
	font-size: 16px;
	border: 1px solid #fff;
	line-height: 1.5;
	border-radius: 25px;
	padding: 10px 15px;
	transition: .2s all linear;
}

.elementor-shortcode .rh_overlay {
	background: rgba(168, 7, 50, 0.7);
	position: absolute;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	opacity: 0;
	transition: all .4s ease-in-out 0s;
}

.elementor-shortcode .rh_list_card__map_thumbnail:hover .rh_overlay {
	opacity: 1;
}

.elementor-shortcode .rh_list_card__map_thumbnail .rh_overlay__contents a:hover,
.elementor-shortcode .rh_list_card__map_thumbnail .rh_overlay__contents a:focus {
	background-color: #fff;
	color: #bd1d2f;
	background-image: none;
}

/* ============================================
   WCG PROPERTY SEARCH - COLLAPSIBLE ON TABLET/MOBILE
   ============================================ */

/* Desktop: fixed padding 50px on sides */
.rh_prop_search__form.rh_prop_search_form_header.advance-search-form {
	padding-left: 40px;
	padding-right: 40px;
}

/* Toggle button - hidden on desktop, visible on tablet/mobile */

.wcg-search-toggle-btn {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background-color: #BD1D2F !important;
	color: #fff !important;
	border: none !important;
	border-radius: 25px;
	padding: 6px 12px;
	font-size: 16px !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: all 0.3s ease;
	margin: 0 auto 10px;
	width: fit-content;
	position: relative;
	top: -10px;
}

@media(max-width:1024px) {
	.wcg-search-toggle-btn {
		padding: 2px 12px;
	}
}



.wcg-search-toggle-btn:hover,
.wcg-search-toggle-btn:focus {
	background-color: #a01728;
}

.wcg-search-toggle-btn svg {
	flex-shrink: 0;
}

/* Toggle button inner spans - fade effect with opacity */
.wcg-search-toggle-btn .wcg-toggle-open,
.wcg-search-toggle-btn .wcg-toggle-close {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: opacity 0.3s ease;
	white-space: nowrap;
}


/* Use CSS Grid so both spans overlap but button fits the widest text */
/* Use CSS Grid so both spans overlap but button fits the widest text */
.wcg-search-toggle-btn {
	/* display: inline-grid !important;  Moved to media query */
	place-items: center;
}

.wcg-search-toggle-btn .wcg-toggle-open,
.wcg-search-toggle-btn .wcg-toggle-close {
	grid-area: 1 / 1;
}

.wcg-search-toggle-btn .wcg-toggle-open {
	opacity: 1;
}

/* By default, hide close state with opacity */
.wcg-search-toggle-btn .wcg-toggle-close {
	opacity: 0;
	pointer-events: none;
}



/* ===== TABLET STYLES (≤1024px) ===== */
@media (max-width: 1024px) {

	/* Fix searchbar z-index to appear above navbar (which has z-index 999) */
	#searchbar {
		z-index: 10000 !important;
		position: relative;
	}

	/* Container is flex column on tablet/mobile */

	#rh_prop_search_init_sticy {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		z-index: 99999 !important;
		position: relative;
	}

	/* Show toggle button with grid layout */
	.wcg-search-toggle-btn {
		display: inline-grid !important;
		order: 0;
		z-index: 9;
	}

	.rh_prop_search__searchBtn {
		padding-left: 0;
	}

	/* Dropdown menus - max height 500px on tablet/mobile */
	.dropdown-menu.open,
	[id^="bs-select-"] {
		max-height: 500px !important;
	}

	.rh_prop_search__form .rh_prop_search__fields .inspiry_select_picker_field .inspiry_select_picker_trigger div.dropdown-menu li a:focus {
		color: #000;
	}

	/* Hide form by default - slide effect with max-height */
	#rh_prop_search_init_sticy .rh_prop_search__form {
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		background-color: #222831;
		padding: 0 40px;
		margin-top: 0;
		order: 1;
		width: 100%;
		/* FIX: Prevent flex-wrap and remove max-height to avoid column overflow */
		flex-wrap: nowrap !important;
		transition: max-height 0.5s cubic-bezier(0.4, 0.0, 0.2, 1),
			opacity 0.4s cubic-bezier(0.4, 0.0, 0.2, 1),
			padding 0.5s cubic-bezier(0.4, 0.0, 0.2, 1),
			margin 0.5s cubic-bezier(0.4, 0.0, 0.2, 1);
	}

	/* Keyframes for smooth opening with delayed overflow visible */
	@keyframes slideDown {
		0% {
			max-height: 0;
			opacity: 0;
			padding-top: 0;
			padding-bottom: 0;
			margin-top: 0;
			overflow: hidden;
		}

		99% {
			overflow: hidden;
		}

		100% {
			max-height: 80vh;
			/* Allow enough space */
			opacity: 1;
			padding-top: 30px;
			padding-bottom: 30px;
			margin-top: 15px;
			overflow: visible;
		}
	}

	/* Show form with slide effect when open - Uses animation for overflow control */
	#rh_prop_search_init_sticy.wcg-search-open .rh_prop_search__form {
		animation: slideDown 0.5s forwards ease-in-out;
		max-height: 80vh;
		/* Ensure final state matches animation end */
		overflow: visible !important;
	}


	/* When form is open: move button to bottom */
	#rh_prop_search_init_sticy.wcg-search-open .wcg-search-toggle-btn {
		order: 2;
		margin-top: 0;
		margin-bottom: 0;
		z-index: 99;
		position: relative;
	}

	/* When open: fade out search, fade in close */
	#rh_prop_search_init_sticy.wcg-search-open .wcg-search-toggle-btn .wcg-toggle-open {
		opacity: 0;
		pointer-events: none;
	}

	#rh_prop_search_init_sticy.wcg-search-open .wcg-search-toggle-btn .wcg-toggle-close {
		opacity: 1;
		pointer-events: auto;
	}



	/* Form field styles on tablet/mobile */

	.home-search-warp .rh_prop_search__form .rh_prop_search__option {
		margin-bottom: 15px;
	}

	/* Status buttons (conductor) - default: white border, white text */
	#rh_prop_search_init_sticy .rh_prop_search__form .conductor_type-first-btn,
	#rh_prop_search_init_sticy .rh_prop_search__form .conductor_type-sec-btn,
	#rh_prop_search_init_sticy .rh_prop_search__form .rh_prop_search_option__btn button {
		background-color: transparent;
		color: #fff !important;
		border-radius: 25px;
		padding: 10px 20px;
		font-weight: 600;
		transition: all 0.3s ease;
	}

	.rh_prop_search__form .rh_prop_search__fields .inspiry_select_picker_field .inspiry_select_picker_trigger>button,
	.rh_prop_search_option__btn button,
	.wcg-btn {
		border-color: #fff !important;
	}

	.rh_prop_search_option__btn button:hover,
	.rh_prop_search_option__btn button:focus,
	.wcg-btn:hover,
	.wcg-btn:focus {
		border-color: #BD1D2F !important;
	}


	/* Conductor buttons - hover/focus/active state: red bg, white text */
	#rh_prop_search_init_sticy .rh_prop_search__form .conductor_type-first-btn:hover,
	#rh_prop_search_init_sticy .rh_prop_search__form .conductor_type-first-btn:focus,
	#rh_prop_search_init_sticy .rh_prop_search__form .conductor_type-first-btn.active,
	#rh_prop_search_init_sticy .rh_prop_search__form .conductor_type-sec-btn:hover,
	#rh_prop_search_init_sticy .rh_prop_search__form .conductor_type-sec-btn:focus,
	#rh_prop_search_init_sticy .rh_prop_search__form .conductor_type-sec-btn.active,
	#rh_prop_search_init_sticy .rh_prop_search__form .rh_prop_search_option__btn button:hover,
	#rh_prop_search_init_sticy .rh_prop_search__form .rh_prop_search_option__btn button:focus,
	#rh_prop_search_init_sticy .rh_prop_search__form .rh_prop_search_option__btn button.active {
		background-color: #BD1D2F !important;
		color: #fff !important;
		border-color: #BD1D2F !important;
	}

	.elementor-239999 .elementor-element.elementor-element-d446543:not(.elementor-motion-effects-element-type-background),
	.elementor-239999 .elementor-element.elementor-element-d446543>.elementor-motion-effects-container>.elementor-motion-effects-layer,
	.elementor-239999 .elementor-element.elementor-element-0d117c0>.elementor-widget-container {
		background-color: transparent !important;
	}


	/* FIX: Force dropdown menu to be absolute to prevent layout shift */
	.home-search-warp .rh_prop_search__form .bootstrap-select .dropdown-menu {
		position: absolute !important;
		z-index: 9999 !important;
	}

	/* Select dropdowns - white border */
	.home-search-warp .rh_prop_search__form .bootstrap-select>.dropdown-toggle,
	.home-search-warp .rh_prop_search__form select {
		background-color: #222831 !important;
		color: #fff !important;
		border: 2px solid #fff !important;
		border-radius: 25px !important;
	}

	/* Submit button - white bg, red text */
	.home-search-warp .rh_prop_search__form .rh_btn__prop_search {
		background-color: #fff !important;
		color: #BD1D2F !important;
		border: 2px solid #fff !important;
		border-radius: 25px !important;
		font-weight: 600;
		transition: all 0.3s ease;
	}

	/* Submit button hover - transparent bg, white text */
	.home-search-warp .rh_prop_search__form .rh_btn__prop_search:hover,
	.home-search-warp .rh_prop_search__form .rh_btn__prop_search:focus {
		background-color: transparent !important;
		color: #fff !important;
		border: 1px solid #fff !important;
	}

	.home-search-warp .rh_prop_search__form .rh_btn__prop_search svg {
		display: none;
	}

	/* Labels white */
	.home-search-warp .rh_prop_search__form label {
		color: #fff;
	}

	/* ===== ALL FORM FIELDS: WHITE BORDERS AND TEXT ===== */

	/* Text inputs, textareas, select, number inputs - white borders and text */
	#rh_prop_search_init_sticy .rh_prop_search__form input[type="text"],
	#rh_prop_search_init_sticy .rh_prop_search__form input[type="number"],
	#rh_prop_search_init_sticy .rh_prop_search__form input[type="email"],
	#rh_prop_search_init_sticy .rh_prop_search__form input[type="tel"],
	#rh_prop_search_init_sticy .rh_prop_search__form textarea,
	#rh_prop_search_init_sticy .rh_prop_search__form select,
	#rh_prop_search_init_sticy .rh_prop_search__form .bootstrap-select>.dropdown-toggle {
		color: #fff !important;
		border-color: #fff !important;
		background-color: transparent !important;
	}


	/* Placeholder text white with reduced opacity */
	#rh_prop_search_init_sticy .rh_prop_search__form input::placeholder,
	#rh_prop_search_init_sticy .rh_prop_search__form textarea::placeholder {
		color: rgba(255, 255, 255, 0.7) !important;
	}

	/* Dropdown arrow white */
	#rh_prop_search_init_sticy .rh_prop_search__form .bootstrap-select .dropdown-toggle::after {
		border-top-color: #fff !important;
	}

	/* ===== RADIO BUTTONS: WHITE BORDER AND CHECKED STATE ===== */

	/* Radio button custom styling - white border */
	#rh_prop_search_init_sticy .rh_prop_search__form input[type="radio"] {
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		width: 20px;
		height: 20px;
		border: 2px solid #fff !important;
		border-radius: 50%;
		background-color: transparent;
		position: relative;
		cursor: pointer;
		vertical-align: middle;
		margin-right: 8px;
	}

	/* Radio button checked state - white filled circle */
	#rh_prop_search_init_sticy .rh_prop_search__form input[type="radio"]:checked {
		border-color: #fff !important;
	}

	#rh_prop_search_init_sticy .rh_prop_search__form input[type="radio"]:checked::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 10px;
		height: 10px;
		border-radius: 50%;
		background-color: #fff;
	}

	/* Radio button labels white */
	#rh_prop_search_init_sticy .rh_prop_search__form input[type="radio"]+label,
	#rh_prop_search_init_sticy .rh_prop_search__form label[for*="radio"] {
		color: #fff !important;
	}

	/* FIX: Allow radio button row to wrap on narrow screens */
	#rh_prop_search_init_sticy .wcg-options-search-row {
		flex-wrap: wrap !important;
	}

	/* FIX: Allow search fields row to wrap - Provincia and mq go below status buttons */
	#rh_prop_search_init_sticy .wcg-search-fields-row {
		flex-wrap: wrap !important;
	}

	/* FIX: Prevent page head overflow and allow sort controls to wrap */
	.rh_page__head.rh_page__head--fullwidth {
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.rh_sort_controls--custom {
		flex-wrap: wrap !important;
	}

	/* FIX: Remove background from sticky container when closed */
	#rh_prop_search_init_sticy:not(.wcg-search-open) {
		background-color: transparent !important;
	}

}

/* ===== MOBILE STYLES (≤767px) ===== */
@media (max-width: 767px) {

	/* Reduce padding on mobile - override tablet */
	#rh_prop_search_init_sticy .rh_prop_search__form {
		padding: 0 10px;
	}

	#rh_prop_search_init_sticy.wcg-search-open .rh_prop_search__form {
		padding: 20px 10px;
		flex-direction: column;
	}

	/* Full width fields on mobile */
	#rh_prop_search_init_sticy .rh_prop_search__form .rh_prop_search__option {
		width: 100% !important;
	}

	/* Stack status buttons vertically on very small screens */
	#rh_prop_search_init_sticy .rh_prop_search__form .rh_prop_search__btnwrap {
		flex-direction: column;
		gap: 10px;
	}

	#rh_prop_search_init_sticy .rh_prop_search__form {
		padding: 0 10px;
	}

	.home-search-warp .rh_prop_search__form .rh_prop_search__option {
		margin-bottom: 5px;
	}


}

.inspiry_select_picker_trigger>.dropdown-menu {
	position: absolute;
}

/* ===== CONTACT FORM 7 STYLING ===== */

/* Form container */
.blue-form .wpcf7-form {
	max-width: 100%;
}

/* Form rows */
.blue-form .wpcf7-form .form-row {
	display: flex;
	gap: 20px;
	margin-bottom: 20px;
}

/* Column layout */
.blue-form .wpcf7-form .column-half {
	flex: 1;
}

.blue-form .wpcf7-form .column-full {
	flex: 1 1 100%;
}

/* Input fields and textarea */
.blue-form .wpcf7-form input[type="text"],
.blue-form .wpcf7-form input[type="email"],
.blue-form .wpcf7-form input[type="tel"],
.blue-form .wpcf7-form textarea {
	width: 100%;
	background-color: #fff;
	border: none;
	border-radius: 0;
	padding: 15px 20px;
	font-size: 18px;
	color: #000;
	font-family: inherit;
	box-sizing: border-box;
	margin-bottom: 0;
}

/* Placeholder styling */
.blue-form .wpcf7-form input::placeholder,
.blue-form .wpcf7-form textarea::placeholder {
	color: #000;
	opacity: 1;
	font-size: 18px;
}

/* Textarea specific */
.blue-form .wpcf7-form textarea {
	min-height: 150px;
	resize: vertical;
}

/* Remove default focus outlines and add custom */
.blue-form .wpcf7-form input:focus,
.blue-form .wpcf7-form textarea:focus {
	outline: none;
	box-shadow: 0 0 0 2px rgba(189, 29, 47, 0.3);
}

/* Paragraph spacing */
.blue-form .wpcf7-form p {
	margin: 0;
}

/* Checkbox styling */
.blue-form .wpcf7-form .wpcf7-checkbox,
.blue-form .wpcf7-form .wpcf7-acceptance {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.blue-form .wpcf7-form input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 0;
	flex-shrink: 0;
	cursor: pointer;
	accent-color: #BD1D2F;
}

.blue-form .wpcf7-form label {
	color: #fff;
	font-size: 18px;
	line-height: 1.5;
	cursor: pointer;
}

.blue-form .wpcf7-form label a {
	color: #fff;
	text-decoration: underline;
}

.blue-form .wpcf7-form label a:hover {
	color: #BD1D2F;
}

/* Submit button */
.blue-form .wpcf7-form input[type="submit"] {
	background-color: #BD1D2F;
	color: #fff;
	border: 1px solid #BD1D2F;
	border-radius: 25px;
	padding: 10px;
	font-size: 18px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.3s ease;
	margin-top: 10px;
	margin-bottom: 0;
	min-height: 35px;
	width: 210px;
	line-height: normal;
	text-transform: uppercase;
}

.blue-form .wpcf7-form input[type="submit"]:hover {
	background-color: #fff;
	color: #BD1D2F;
}

.blue-form .wpcf7-list-item {
	margin-left: 0;
}

/* Response output */
.blue-form .wpcf7-response-output {
	margin-top: 20px;
	padding: 15px;
	border-radius: 0;
	font-size: 16px;
}

/* Validation errors */
.blue-form .wpcf7-not-valid-tip {
	color: #BD1D2F;
	font-size: 14px;
	margin-top: 5px;
}

.blue-form .wpcf7-form-control.wpcf7-not-valid {
	border: 2px solid #BD1D2F;
}

.blue-form .wpcf7-form-control.wpcf7-acceptance {
	display: inline-block;
	position: relative;
	top: 3px;
}

.blue-form .wpcf7-not-valid-tip {
	color: #fff;
	font-weight: 700;
}

.blue-form .wpcf7-form-control.wpcf7-file {
	color: #fff;
	font-size: 18px;
	padding: 20px 0 0 0;
	border: 0;
	margin: 0;
}

.first-content-header .elementor-element:nth-child(2) .elementor-widget-container {
	line-height: 28px;
}

.elementor-widget-n-menu .e-n-menu-toggle:hover svg {
	fill: inherit;
}

/* Responsive - Mobile */
@media (max-width: 767px) {
	.blue-form .wpcf7-form .form-row {
		flex-direction: column;
		gap: 15px;
	}

	.blue-form .wpcf7-form input[type="text"],
	.blue-form .wpcf7-form input[type="email"],
	.blue-form .wpcf7-form input[type="tel"],
	.blue-form .wpcf7-form textarea {
		font-size: 16px;
		padding: 12px 15px;
	}

	.blue-form .wpcf7-form input::placeholder,
	.blue-form .wpcf7-form textarea::placeholder {
		font-size: 16px;
	}

	.blue-form .wpcf7-form input[type="submit"] {
		width: 100%;
	}

	.blue-form .wpcf7-form label a {
		font-size: 16px !important;
	}
}

/* =========================================
   FIX FOR OVERFLOW AND STICKY SEARCH (FINAL)
   ========================================= */
@media (max-width: 1024px) {

	/* Reduce page header padding to prevent 736px width breakout */
	.rh_page__head.rh_page__head--fullwidth {
		width: 100% !important;
		box-sizing: border-box !important;
	}

	/* Allow sort controls to wrap so they fit in viewport */
	.rh_sort_controls--custom {
		flex-wrap: wrap !important;
		max-width: 100% !important;
	}

	/* Ensure sticky search container is transparent and takes no space when closed */
	#rh_prop_search_init_sticy:not(.wcg-search-open) {
		background-color: transparent !important;
		height: 0 !important;
		overflow: visible !important;
	}

	/* Ensure no fixed height forces space */
	#rh_prop_search_init_sticy {
		min-height: 0 !important;
	}
}

/* Candidature details list styling */
.wcg-candidature-details {
	list-style: none;
	padding: 0;
	margin: 0 !important;
	color: #000;
}

.wcg-candidature-item {
	padding-bottom: 20px;
}

.wcg-candidature-item strong {
	font-weight: 600;
}

.wcg-candidature-item.wcg-candidature-item-last {
	padding-bottom: 0;
}


/* File upload form */

.file-upload-form {
	width: fit-content;
	height: fit-content;
	display: flex;
	align-items: center;
	justify-content: center;
}

.file-upload-label input {
	display: none;
}

.file-upload-label svg {
	height: 50px;
	fill: rgb(82, 82, 82);
	margin-bottom: 20px;
}

.file-upload-label {
	cursor: pointer;
	background-color: #ddd;
	padding: 30px 70px;
	border-radius: 40px;
	border: 2px dashed rgb(82, 82, 82);
	box-shadow: 0px 0px 200px -50px rgba(0, 0, 0, 0.719);
}

.file-upload-design {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
}

.browse-button {
	background-color: rgb(82, 82, 82);
	padding: 5px 15px;
	border-radius: 10px;
	color: white;
	transition: all 0.3s;
}

.browse-button:hover {
	background-color: rgb(14, 14, 14);
}

/* Sticky Box Implementation */
.sticky-box {
	position: sticky !important;
	top: 100px;
	align-self: flex-start;
	z-index: 90;
}

/* Force overflow visible for sticky support */
html,
body {
	overflow: visible !important;
}

/* SVG Link Shortcode Styling */
.wcg-svg-link .wcg-svg-circle,
.wcg-svg-link .wcg-svg-path {
	transition: all 0.2s ease-in-out;
}

.wcg-svg-link:hover .wcg-svg-circle {
	fill: #fff;
}

.wcg-svg-link:hover .wcg-svg-path {
	stroke: #000;
}

/* Loop Lavora con noi */

.candidature-loop-row {
	cursor: pointer;

	.table-header {
		display: none;
	}

	.titolo {
		font-weight: 600;
	}

	.eael-data-table tbody tr {
		transition: all 0.2s ease-in-out;
	}

	.eael-data-table tbody tr:hover,
	.eael-data-table tbody tr:focus {
		background-color: #BD1D2F;
	}


	.eael-data-table tbody tr:hover td,
	.eael-data-table tbody tr:focus td {
		color: #fff !important;
	}


	.eael-data-table tbody tr td {
		font-size: 20px;
		padding: 15px;
		border-bottom: 1px solid #000 !important;
	}


	.eael-data-table tbody tr td:first-child {
		padding-left: 40px !important;
	}

	.eael-data-table tbody tr td:last-child {
		padding-right: 40px !important;
	}

	.candidature-link-icon p {
		display: flex;
		justify-content: flex-end;
	}
}

#posizioni-aperte-table {
	.rh_blog__post {
		background-color: transparent;
	}

	.posizioni-container {
		padding: 0;
	}

	tr.table-header th {
		border-bottom: 1px solid #000;
		font-size: 20px;
	}

	tr.table-header th:first-child {
		padding-left: 40px !important;
	}

	tr.table-header th:last-child {
		padding-right: 40px !important;
	}
}

@media (max-width:767px) {
	.candidature-loop-row {

		.eael-data-table tbody tr td:first-child {
			padding-left: 10px !important;
		}

		.eael-data-table tbody tr td:last-child {
			padding-right: 10px !important;
		}


		.eael-data-table tbody tr td {
			border-bottom: 0 !important;
		}


	}

	#posizioni-aperte-table {

		tr.table-header th:first-child {
			padding-left: 10px !important;
		}

		tr.table-header th:last-child {
			padding-right: 10px !important;
		}
	}

	#eael-data-table-d27b139 .table-header {
		display: none;
	}
}

/* Paginazione Elementor */
.elementor-pagination {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	padding: 30px 0 60px !important;
}

.elementor-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #fff;
	color: #000;
	font-family: 'Quicksand', sans-serif;
	font-size: 14px;
	text-decoration: none;
	transition: all 0.2s ease-in-out !important;
	border: none !important;
}

/* Make prev/next wrapper spans transparent when they wrap other elements (page 1) */
.elementor-pagination .page-numbers.prev:not([href]),
.elementor-pagination .page-numbers.next:not([href]) {
	display: contents;
	/* This makes the span wrapper invisible in the layout,
	   but its children render normally as if direct children of .elementor-pagination */
}

.elementor-pagination .page-numbers.current {
	background-color: #b20f3b;
	color: #fff;
	font-weight: 600;
}

.elementor-pagination .page-numbers:hover:not(.current) {
	color: #b20f3b;
}

.elementor-pagination .page-numbers.prev,
.elementor-pagination .page-numbers.next {
	display: inline-flex;
}

/* Glossary Shortcode Styles */
.wcg-glossary-index {
	margin: 0 auto;
}

/* Disable CM Tooltip Glossary plugin auto-links inside glossary index */
.wcg-glossary-index .glossaryLink {
	display: none !important;
}

/* Keep only our custom glossary links */
.wcg-glossary-index .wcg-glossary-grid>a {
	display: inline-flex !important;
}

/* Alphabet Navigation */
.wcg-glossary-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-bottom: 60px;
	padding-bottom: 30px;
}

.elementor a.wcg-glossary-nav-link {
	font-family: 'Quicksand', sans-serif;
	font-size: 24px;
	font-weight: 400;
	color: #000;
	text-decoration: underline;
	transition: color 0.2s ease-in-out, font-weight 0.2s ease-in-out;
}

.wcg-glossary-nav-link:hover,
.wcg-glossary-nav-link:focus {
	color: #BD1D2F;
	text-decoration: underline;
}

.wcg-glossary-nav-link.active {
	color: #BD1D2F;
	font-weight: 600;
}

/* Glossary Content */
.wcg-glossary-content {
	width: 100%;
}

.wcg-glossary-section {
	margin-bottom: 50px;
	scroll-margin-top: 100px;
	opacity: 1;
	transition: opacity 0.3s ease-in-out;
}

.wcg-glossary-section.hidden {
	opacity: 0;
	pointer-events: none;
	max-height: 0;
	overflow: hidden;
	margin-bottom: 0;
	transition: opacity 0.3s ease-in-out, max-height 0.3s ease-in-out, margin-bottom 0.3s ease-in-out;
}

.wcg-glossary-letter {
	font-family: 'Quicksand', sans-serif;
	font-size: 31px;
	font-weight: 600;
	color: #000;
	margin-bottom: 25px;
	text-decoration: none;
}

/* Remove top margin when filtering to a single section */
.wcg-glossary-section:not(.hidden) .wcg-glossary-letter {
	margin-top: 0;
}

/* 3-Column Flex Layout */
.wcg-glossary-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.wcg-glossary-item {
	flex: 0 0 calc(33.333% - 14px);
	max-width: calc(33.333% - 14px);
}

.wcg-glossary-item a {
	font-family: 'Quicksand', sans-serif;
	font-size: 18px;
	font-weight: 400;
	color: #000;
	text-decoration: none;
	transition: color 0.2s ease-in-out;
	word-break: break-word;
	display: inline;
}

.wcg-glossary-item a:hover,
.wcg-glossary-item a:focus {
	color: #BD1D2F;
	text-decoration: none;
}

/* Responsive */
@media (max-width: 768px) {
	.wcg-glossary-item {
		flex: 0 0 calc(50% - 10px);
		max-width: calc(50% - 10px);
	}

	.wcg-glossary-nav {
		gap: 10px;
	}

	.wcg-glossary-nav-link {
		font-size: 20px;
	}

	.wcg-glossary-letter {
		font-size: 26px;
	}

	.wcg-glossary-item a {
		font-size: 16px;
	}
}

@media (max-width: 480px) {
	.wcg-glossary-item {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

/* Andrew Button - Floating Right Middle */
#andrew-btn {
	position: fixed !important;
	right: -73px !important;
	top: 65% !important;
	z-index: 9998 !important;
	margin: 0 !important;
}

@media(max-width:767px) {
	#andrew-btn {
		right: -66px !important;
	}
}

/* Marquee Fix */
.wcg-marquee-wrapper {
	display: flex;
	align-items: center;
	background: #DFE0E1;
	color: #000;
	overflow: hidden;
	height: 50px;
	position: relative;
	width: 100%;
}

.wcg-marquee-container {
	flex: 1;
	overflow: hidden;
	white-space: nowrap;
	position: relative;
	mask-image: linear-gradient(to right, transparent, black 20px, black calc(100% - 20px), transparent);
	-webkit-mask-image: linear-gradient(to right, transparent, black 20px, black calc(100% - 20px), transparent);
}

.wcg-marquee-track {
	display: inline-flex;
	animation: wcg-marquee-scroll 40s linear infinite;
	will-change: transform;
	min-width: 100%;
}

.wcg-marquee-track:hover {
	animation-play-state: paused;
}

.wcg-marquee-track.paused-by-btn {
	animation-play-state: paused !important;
}

.wcg-marquee-item {
	display: inline-flex;
	align-items: center;
	padding: 0 40px;
}

.wcg-marquee-link {
	text-decoration: none;
	color: #000;
	display: flex;
	align-items: center;
	gap: 5px;
}

.wcg-marquee-link:hover {
	color: #333;
}

.wcg-marquee-title {
	font-family: 'Quicksand', sans-serif;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
}

.wcg-marquee-text {
	font-family: 'Quicksand', sans-serif;
	font-size: 16px;
	font-weight: 400;
}

.wcg-marquee-toggle {
	background: none;
	border: none;
	color: #000;
	cursor: pointer;
	padding: 0 15px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
	transition: color 0.2s;
}

.wcg-marquee-toggle:hover {
	color: #333;
}

@keyframes wcg-marquee-scroll {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

/* External Swiper Navigation */
.wcg-external-swiper-nav {
	display: flex;
	gap: 10px;
	align-items: center;
}

.wcg-external-swiper-nav button {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: opacity 0.2s;
}

.wcg-external-swiper-nav button:hover {
	opacity: 0.8;
}

.commentlist article .comment-detail-wrap .comment-body ol,
.commentlist article .comment-detail-wrap .comment-body ul,
.rh_content ol,
.rh_content ul {
	color: inherit;
	font-weight: inherit !important;
}

.rh_content ul {
	padding: 15px 0 0 15px;
	line-height: normal;
}

.rh_content ul li {
	padding-bottom: 5px;
}

.rh_content ul li:last-child {
	padding-bottom: 0;
}

.property-type-desc {
	font-size: 16px;
	font-weight: 400;
	color: #000;
	text-align: left;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.property-type-desc.expanded {
	display: block;
	-webkit-line-clamp: unset;
}

.property-type-read-more-container {
	margin-bottom: 60px;
	padding-top: 20px;
	width: 100%;
	text-align: left;
}

.property-type-read-more {
	display: none;
	cursor: pointer;
	font-weight: 600;
	font-size: 16px;
}

.infoBox .map-info-window a {
	font-size: 18px !important;
}

.infoBox .map-info-window h3 {
	margin-top: 0;
	font-size: 16px !important;
}

.infoBox .map-info-window .prop-title {
	padding: 10px 15px 15px;
}

@layer base {
	.infoBox .map-info-window h3 {
		font-size: 16px !important;
	}
}

@layer base {
	.rh_content ul:not(nav ul) {
		margin-bottom: 0 !important;
	}
}

@media(max-width:1366px) {
	.rh_list_card__wrap .rh_list_card__map_wrap {
		padding: 20px;
	}

	.inspiry_half_map_fixed .rh_page__map_properties {
		width: 60%;
	}

	.rh_page__listing_map {
		width: 40%;
	}

}

@media(max-width: 1024px) {

	.rh_half_map__content_wrapper {
		flex-direction: column;
	}

	.inspiry_half_map_fixed .rh_page__map_properties,
	.rh_page__listing_map {
		width: 100%;
	}

	body.inspiry_half_map_fixed .rh_page__listing_map,
	body.tax-property-type .rh_page__listing_map,
	.rh_page__listing_map {
		padding-left: 0 !important;
	}

	body.inspiry_half_map_fixed .rh_page__map_properties,
	body.tax-property-type .rh_page__map_properties,
	.rh_page__map_properties {
		padding-right: 0 !important;
	}

	.rh_list_card__wrap .rh_list_card__map_wrap {
		width: 100%;
	}

	.rh_page__listing_map {
		order: -1;
	}
}


@media(min-width:768px) {

	.wcg-mobile-buttons-row,
	.elementor-kit-91676 button.wcg-mobile-filter-btn {
		display: none;
	}
}

@media(max-width: 767px) {
	.rh_page__head.rh_page__head--fullwidth {
		padding-left: 10px;
		padding-right: 10px;
		padding-bottom: 10px;
	}

	body.archive .rh_page__head .rh_page__controls,
	body.age-template-properties-search-half-map .rh_page__controls {
		margin-left: 0;
	}

	.rh_half_map__content_wrapper {
		padding: 0 10px;
	}

	.rh_list_card {
		max-width: 100%;
	}

	.rh_list_card__wrap .rh_list_card__map_thumbnail {
		height: 300px;
		width: 100% !important
	}

	.rh_page__listing .rh_list_card {
		padding-bottom: 20px;
	}

	.inspiry_half_map_header_wrapper .rh_page__title {
		order: 5;
		padding-bottom: 0;
	}

	body.archive .rh_page__head .rh_page__controls,
	body.age-template-properties-search-half-map .rh_page__control {
		padding-bottom: 0;
	}

	/* Reorder breadcrumb above title on mobile using flexbox */
	.rh_page__head.rh_page__head--fullwidth {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	.rh_sort_controls--custom .sort-separator {
		display: none;
	}

	.wcg-search-breadcrumb--mobile {
		order: 1;
	}

	.wcg-mobile-buttons-row {
		order: 2;
	}

	.rh_page__title {
		order: 3;
	}

	.rh_page__controls {
		order: 4;
	}

	/* Mobile buttons row layout */
	.wcg-mobile-buttons-row {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 10px;
		width: 100%;
	}

	.rh_page__head--fullwidth .rh_page__title {
		padding-bottom: 0;
		padding-top: 10px;
	}

	/* Hideddesktop map toggle on mobile */
	.rh_page__controls .map-toggle:not(.map-toggle--mobile) {
		display: none !important;
	}

	/* Mobile map toggle styling - matches desktop toggle */
	.map-toggle--mobile {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		font-size: 16px;
		font-weight: 400;
		color: #BD1D2F !important;
		text-transform: uppercase;
		text-decoration: none;
		cursor: pointer;
		transition: color 0.2s ease, opacity 0.2s ease;
	}

	.map-toggle--mobile:hover,
	.map-toggle--mobile:focus {
		color: #BD1D2F !important;
		opacity: 0.8;
	}

	/* Add SVG map icon before text */
	.map-toggle--mobile::before {
		content: '';
		display: inline-block;
		width: 25px;
		height: 26px;
		background-image: url('data:image/svg+xml;utf8,<svg width="25" height="26" viewBox="0 0 25 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.77586 0.809082L0.5 3.29184V24.8091L8.77586 21.4987L16.2241 24.8091L24.5 21.4987V0.809082L16.2241 4.94701L8.77586 0.809082Z" stroke="%23BD1D2F"/><path d="M0.5 3.29184V24.8091L8.77586 21.4987V0.809082L0.5 3.29184Z" fill="%23BD1D2F"/><path d="M24.5 22.3263V0.809082L16.2241 4.11943V24.8091L24.5 22.3263Z" fill="%23BD1D2F"/></svg>');
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		flex-shrink: 0;
	}

	/* Hide mobile buttons row on desktop */
	@media (min-width: 768px) {
		.wcg-mobile-buttons-row {
			display: none !important;
		}
	}

	/* Mobile filter button styling */
	.elementor-kit-91676 button.wcg-mobile-filter-btn {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		background: #BD1D2F !important;
		color: #fff;
		border: none;
		border-radius: 50px;
		padding: 12px 24px;
		font-size: 12px;
		font-weight: 400;
		cursor: pointer;
		transition: background 0.2s ease;
		align-self: flex-start;
	}

	.elementor-kit-91676 button.wcg-mobile-filter-btn:focus,
	.elementor-kit-91676 button.wcg-mobile-filter-btn:hover {
		background: #fff;
	}

	.elementor-kit-91676 button.wcg-mobile-filter-btn svg {
		flex-shrink: 0;
	}

	/* Hide filter button on desktop */
	@media (min-width: 1025px) {
		.wcg-mobile-filter-btn {
			display: none;
		}
	}
}

/* Global Swiper Pagination Override */

.scroll-carousel .swiper-pagination {
	left: 0 !important;
	right: 0 !important;
	bottom: -10px !important;
	position: absolute !important;
	width: 100% !important;
	transform: none !important;
}

.scroll-carousel .swiper-pagination .swiper-pagination-bullet {
	background-color: #D9D9D9 !important;
	opacity: 1 !important;
	height: 12px !important;
	width: 12px !important;
	transition: all .2s ease-in-out !important;
}

.scroll-carousel .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #BD1D2F !important;
	width: 27px !important;
	border-radius: 5px !important;
}

@media(min-width:1025px) {
	.scroll-carousel .swiper-pagination {
		display: none !important;
	}
}

.elementor-element.elementor-grid-4.elementor-grid-tablet-2.elementor-grid-mobile-1.elementor-widget.elementor-widget-loop-grid {
	max-width: 100% !important;
	width: 100% !important;
	--container-max-width: 100% !important;
}

.single .first-content-header span.report-subcategory {
	color: #000;
}

/* Fix Search Form Layout Shift */
@media (min-width: 1025px) {
	.wcg-search-fields-row {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		width: 100%;
	}

	.wcg-search-fields-row .rh_prop_search__option {
		margin-bottom: 0 !important;
		float: none !important;
		/* Override potential float:left */
		display: flex !important;
		align-items: center;
	}

	/* Ensure select pickers don't break layout */
	.wcg-search-fields-row .bootstrap-select {
		width: 100% !important;
	}

	.wcg-province-field,
	.rh_type_field_wrapper {
		min-width: 200px;
		/* Force minimum width to prevent collapse */
	}
}

.rh_prop_search_option__btn button.active {
	background-color: #BD1D2F !important;
	color: #fff !important;
}

.bootstrap-select {
	position: relative !important;
}

.rh_prop_search__form .rh_prop_search__fields .inspiry_select_picker_field .inspiry_select_picker_trigger div.dropdown-menu {
	position: absolute !important;
}

.preset-search-main-container {
	padding: 40px;
}

.page-template.page-template-preset-search-template .preset-search-main-container .rh_sidebar {
	margin: 0 !important;
	padding: 0;
}

.page-template.page-template-preset-search-template .preset-search-main-container .rh_page__sidebar {
	width: 500px !important;

	label {
		width: 100%;
		color: #000;
	}

	.wpcf7-list-item {
		margin-left: 0;
	}

	.widget * {
		font-size: 12px;
	}

	.screen-reader-response {
		display: none;
	}
}

body .preset-search-main-container .rh_page:not(.rh_page__sidebar) {
	width: 100%;
	padding-right: 40px;
}

body .preset-search-main-container .rh_page .fa {
	color: #000 !important;
	font-weight: normal;
}

body .preset-search-main-container .rh_page svg.rh_svg {
	fill: #000 !important;
}

.preset-search-main-container .widget form {
	background: transparent;
	padding: 0;
}

.rh_list_card__wrap .rh_list_card__details_wrap .rh_list_card__excerpt,
.rh_prop_card .rh_prop_card__details .rh_prop_card__excerpt {
	color: #000;
}

.page-template-preset-search-template #map-head {
	padding-bottom: 0;
}

.preset-search-main-container .rh_list_card__wrap .rh_list_card__details_wrap h3 {
	font-size: 18px;
	font-weight: 500;
	padding-bottom: 10px;
}

.preset-search-main-container div .titolo-form,
.preset-search-main-container .rh_list_card__meta h4 {
	font-size: 18px;
	font-weight: 500;
	color: #BD1D2F;
	padding-bottom: 10px;
}

.preset-search-main-container div .titolo-form {
	font-size: 24px;
}

.page-template.page-template-preset-search-template .rh_blog__post.entry-header-preset-search h3 {
	font-size: 24px;
	margin-bottom: 0 !important;
	padding-top: 40px !important;
	color: #BD1D2F;
	display: block;

	strong {
		font-weight: 500 !important;
	}
}



@media(max-width: 1361px) {
	body .preset-search-main-container .rh_page {
		padding-right: 40px;
	}
}

@media(max-width: 1024px) {

	.preset-search-main-container .rh_list_card__wrap,
	.preset-search-main-container {
		flex-direction: column;
	}

	.preset-search-main-container .rh_list_card__wrap figure {
		min-height: 400px;
		width: 100%;
	}

	.preset-search-main-container .rh_list_card__wrap .rh_list_card__details_wrap {
		width: 100%;
	}

	body .preset-search-main-container .rh_page {
		padding-right: 0;
	}

	.preset-search-main-container .rh_page__listing .rh_list_card:last-child {
		padding-bottom: 0 !important;
	}

	.page-template.page-template-preset-search-template .preset-search-main-container .rh_page__sidebar {
		width: 100% !important;
	}
}

@media(max-width: 768px) {
	.preset-search-main-container {
		padding: 30px 10px;
	}

	.page-template.page-template-preset-search-template .rh_blog__post.entry-header-preset-search {
		padding: 30px 10px 0 10px;
	}


}