.truncate {
	width: 250px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.crop_photo {
    width: 100%;
    height: 310px;
    object-fit: cover;
    border-radius: 5px;
}

.wdpform {
    width: 100%;
    height: 40px!important;
    border: 1px solid rgba(129, 129, 129, .25)!important;
    font-size: 14px;
    line-height: 18px;
    padding: 0 10px;
    transition: border-color .5s;
    box-shadow: none;
    border-radius: 0;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: white;
}
::-moz-placeholder { /* Firefox 19+ */
  color: white;
}
:-ms-input-placeholder { /* IE 10+ */
  color: white;
}
:-moz-placeholder { /* Firefox 18- */
  color: white;
}

.img_grey {
	-webkit-filter: grayscale(100%);
    -webkit-transition: .5s ease-in-out;
    -moz-filter: grayscale(100%);
    -moz-transition: .5s ease-in-out;
    -o-filter: grayscale(100%);
    -o-transition: .5s ease-in-out;
}
.img_grey:hover { 
    -webkit-filter: grayscale(0%);
    filter: grayscale(0%);
}

.img_grey50 {
	-webkit-filter: grayscale(25%);
    -webkit-transition: .5s ease-in-out;
    -moz-filter: grayscale(25%);
    -moz-transition: .5s ease-in-out;
    -o-filter: grayscale(25%);
    -o-transition: .5s ease-in-out;
}
.img_grey50:hover { 
    -webkit-filter: grayscale(0%);
    filter: grayscale(0%);
}

.overlay {
	position: absolute; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%;
	background: #000; 
	opacity: .4; 
	z-index: -1;
}
.overlay_dark {
	position: absolute; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%;
	background: #000; 
	opacity: .6; 
	z-index: -1;
}




.ribbon_green {
	position: absolute;
	/*right: 0px; top: 0px;*/
	left: 0px; top: 0px;
	z-index: 999999;
	overflow: hidden;
	width: 75px; height: 75px;
	text-align: right;
}
.ribbon_green span {
	font-size: 10px;
	font-weight: bold;
	color: #FFF;
	text-transform: uppercase;
	text-align: center;
	line-height: 20px;
	/*transform: rotate(45deg);*/
	/*-webkit-transform: rotate(45deg);*/
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);	
	width: 100px;
	display: block;
	background: #6caf5d;
	background: linear-gradient(#94d885 0%, #608e56 100%);
	box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
	position: absolute;
	/*top: 19px; right: -21px;*/
	top: 19px; left: -21px;
}

.ribbon_red {
	position: absolute;
	/*right: 0px; top: 0px;*/
	left: 0px; top: 0px;
	z-index: 999999;
	overflow: hidden;
	width: 75px; height: 75px;
	text-align: right;
}
.ribbon_red span {
	font-size: 10px;
	font-weight: bold;
	color: #FFF;
	text-transform: uppercase;
	text-align: center;
	line-height: 20px;
	/*transform: rotate(45deg);*/
	/*-webkit-transform: rotate(45deg);*/
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);		
	width: 100px;
	display: block;
	background: #F44336;
	background: linear-gradient(#f12e20 0%, #d8392e 100%);
	box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
	position: absolute;
	/*top: 19px; right: -21px;*/
	top: 19px; left: -21px;
}

.ribbon_yellow {
	position: absolute;
	/*right: 0px; top: 0px;*/
	left: 0px; top: 0px;
	z-index: 999999;
	overflow: hidden;
	width: 75px; height: 75px;
	text-align: right;
}
.ribbon_yellow span {
	font-size: 10px;
	font-weight: bold;
	color: #FFF;
	text-transform: uppercase;
	text-align: center;
	line-height: 20px;
	/*transform: rotate(45deg);*/
	/*-webkit-transform: rotate(45deg);*/
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);		
	width: 100px;
	display: block;
	background: #ffb606;
	background: linear-gradient(#ffb606 0%, #feca4c 100%);
	box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
	position: absolute;
	/*top: 19px; right: -21px;*/
	top: 19px; left: -21px;
}

.ribbon_orange {
	position: absolute;
	/*right: 0px; top: 0px;*/
	left: 0px; top: 0px;
	z-index: 999999;
	overflow: hidden;
	width: 75px; height: 75px;
	text-align: right;
}
.ribbon_orange span {
	font-size: 10px;
	font-weight: bold;
	color: #FFF;
	text-transform: uppercase;
	text-align: center;
	line-height: 20px;
	/*transform: rotate(45deg);*/
	/*-webkit-transform: rotate(45deg);*/
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);		
	width: 100px;
	display: block;
	background: #fb913b;
	background: linear-gradient(#fb913b 0%, #ff7506 100%);
	box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
	position: absolute;
	/*top: 19px; right: -21px;*/
	top: 19px; left: -21px;
}

.ribbon_oro {
	position: absolute;
	/*right: 0px; top: 0px;*/
	left: 0px; top: 0px;
	z-index: 999999;
	overflow: hidden;
	width: 75px; height: 75px;
	text-align: right;
}
.ribbon_oro span {
	font-size: 10px;
	font-weight: bold;
	color: #FFF;
	text-transform: uppercase;
	text-align: center;
	line-height: 20px;
	/*transform: rotate(45deg);*/
	/*-webkit-transform: rotate(45deg);*/
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);		
	width: 100px;
	display: block;
	background: #cabe9f;
	background: linear-gradient(#d1c6ab 0%, #b8a984 100%);
	box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
	position: absolute;
	/*top: 19px; right: -21px;*/
	top: 19px; left: -21px;
}

@media screen and (max-width: 768px) {
	.onsale {
		margin: 15px;
	}
}







.property_listing_details {
	position: relative;
	color: #4f525a;
	width: 100%;
	float: left;
	margin-bottom: 32px;
	margin-top: 10px;
}
.info_labels {
	width: 100%;
	font-size: 12px;
	font-weight: 300;
}	
	
.property_listing_details .inforoom, .property_location .inforoom, 
.property_listing_details .infobath, .property_location .infobath, 
.property_listing_details .infosize, .property_location .infosize {
	width: 33%;
	float: left;
	text-align: center;
	font-size: 15px;
	font-weight: 500;
	line-height: 17px;
	position: relative;
}
.property_listing_details .inforoom:before {
	content: " ";
	position: absolute;
	top: 7px;
	height: 18px;
}
.property_listing_details .infobath:before {
	content: " ";
	position: absolute;
	top: 7px;
	left: 0;
	border-left: 1px solid #ccc;	
	right: 0;
	border-right: 1px solid #ccc;
	height: 18px;
}
.property_listing_details .infosize:before {
	content: " ";
	position: absolute;
	top: 7px;
	height: 18px;
}




.property_listing_details {
	position: relative;
	color: #4f525a;
	width: 100%;
	float: left;
	margin-bottom: 32px;
	margin-top: 10px;
}
.info_labels {
	width: 100%;
	font-size: 12px;
	font-weight: 300;
}	
	
.property_listing_details2 .inforoom, .property_location .inforoom, 
.property_listing_details2 .infobath, .property_location .infobath, 
.property_listing_details2 .inforrrr, .property_location .inforrrr, 
.property_listing_details2 .infosize, .property_location .infosize {
	width: 25%;
	float: left;
	text-align: center;
	font-size: 15px;
	font-weight: 500;
	line-height: 17px;
	position: relative;
}
.property_listing_details2 .inforoom:before {
	content: " ";
	position: absolute;
	top: 7px;
	left: 0;
	border-left: 0px solid #efefef;
	height: 18px;
}
.property_listing_details2 .infobath:before {
	content: " ";
	position: absolute;
	top: 7px;
	right: 0;
	border-right: 1px solid #efefef;
	height: 18px;
}
.property_listing_details .inforrrr:before {
	content: " ";
	position: absolute;
	top: 7px;
	right: 0;
	border-right: 1px solid #efefef;
	height: 18px;
}
.property_listing_details .infosize:before {
	content: " ";
	position: absolute;
	top: 7px;
	right: 0;
	border-right: 0px solid #efefef;
	height: 18px;
}

.wdptruncate {
  display: -webkit-box;
  -webkit-line-clamp: 2; /* Numero massimo di righe da visualizzare */
  -webkit-box-orient: vertical;
  overflow: hidden;
}




/*
.elementor-749 .elementor-element.elementor-element-f1eea4a {
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    margin-top: 0px;
    margin-bottom: 120px;
    padding: 20px 25px 0px 25px;
}
*/

#colophon {
	margin-bottom: 0px;
}





.pagination .page-numbers, .woocommerce-pagination .page-numbers {
    list-style: none;
    margin: 0;
    display: flex;
    justify-content: center;
}



.main-navigation ul.menu > li.menu-item > a {
    padding: 1em 1.3em;
    letter-spacing: 0.25em;
}

.related, .upsells {
    margin: 60px 0 30px 0;
}

.wpcf7-form label {
    margin-top: 0px;
}



img.desaturata {
	filter: grayscale(30%);
	transition: filter 0.3s ease;
}

img.desaturata:hover {
	filter: grayscale(0%);
}



img.preset-matte {
  filter:
    saturate(85%)     /* un filo meno saturi */
    contrast(1.03)    /* leggero punch */
    brightness(1.03)  /* alza i mezzitoni */
    sepia(6%)         /* scalda appena la pelle */
    hue-rotate(-5deg) /* micro correzione verso il rosso */;
}
img.preset-warm {
  filter:
    saturate(90%)
    contrast(1.05)
    brightness(1.02)
    sepia(12%)
    hue-rotate(-8deg);
}

img.preset-cool {
  filter:
    saturate(80%)
    contrast(1.04)
    brightness(1.03)
    sepia(3%)
    hue-rotate(8deg);
}





img.desaturata-wdp {
  filter:
    saturate(80%)     /* un po’ più vividi */
    contrast(1.08)    /* più punch */
    brightness(1.04)  /* leggermente più luminosi */
    sepia(10%)        /* scalda un po’ di più */
    hue-rotate(-6deg) /* micro correzione rosso */;
}
