#villas-container{margin-right:-16px }


#villas-container.row > [class*="col-"] {
    padding-right:16px;
		padding-bottom:16px;
}
.almost-fullwidth{padding: 7px 25px}
@media screen and (max-width: 991px) {
	#villas-container{ margin-right: -7px;}
	#villas-container.row > [class*="col-"] {
		padding-right:7px;
		padding-bottom:7px;
	}
  .almost-fullwidth { padding: 16px 7px !important; }
	.favorites-title h3{margin: 7px 0 0 0 !important;}
}
	
	#path-n-sorting{margin-bottom: 16px}
  #filters-bar, #inquire-bar { background: #fff; position: relative; z-index: 60; min-height:50px; }
  
  .sticky { position: sticky !important; top: 0; width: 100%; }
  .map-toggle { padding-top: 6px; }
  .switch { position: relative; display: inline-block; float:right;
    width: 44px; height: 26px;
    margin-top: -1px;
  }
  
  .switch input { display:none; }
  .switch-label { float: right; padding: 0 12px; }
  .invert-slider { position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #999; /* #ffffff22; */
    border: 2px solid #999; /* #444; */
    -webkit-transition: .3s; transition: .3s;
  }
  .invert-slider:before { position: absolute;
    content: "";
    height: 17px;
    width: 17px; /* 20px; */
    left: 3px; bottom: 3px;
    background-color: #eee; /* #bbb; color check when OFF */
    -webkit-transition: .4s; transition: .4s;
  }
  input.invert-default:checked + .invert-slider { background-color: #fff; }
  input:focus + .invert-slider { /* box-shadow: 0 0 1px #2196F3; */ }
  input:checked + .invert-slider:before { background-color: #fff; /* #444; */
    -webkit-transform: translateX(15px);
    -ms-transform: translateX(15px);
    transform: translateX(15px);
  }
  .invert-slider.round { border-radius: 34px; }
  .invert-slider.round:before { border-radius: 50%; }
	
	.holder{margin-top:2px}
	.holder > input {	
    border-radius: 4px;
    border: 1px solid #bbb;
    height: 32px; 
		width: 120px;
    padding: 2px 7px;	
  }

  .pi-filled {
    color: #fff !important;
    font-weight: 700;
    background: #888 !important;
  }
	
	input.pi-sum { 
		cursor: pointer;
		color: #fff !important;
		background: #888 !important;
		font-weight: 700;
		text-align: center;
		border: 1px solid #646464; /*#bbb*/
		border-radius: 4px;
		height: 32px;
		width: 120px;
		padding: 2px 7px;
		margin: 0 5px 0 0;
		font-size: 14px;
	}
	input.pi-sum:placeholder-shown {
		color: #444 !important; 
		background: #fff !important;
		font-size: 14px;
		font-weight: 400 !important;
	}
	
	@media screen and (max-width: 1200px) {
		input.pi-sum { width: 100px; }
		input.pi-sum, input.pi-sum:placeholder-shown { font-size: 13px; }
		.switch-label { font-size: 15px; }
	}
  
 
  #please-wait { display: none; }


  .favorite-buttons { padding-top: 6px; }
  .favorite-buttons a, .favorite-buttons a:visited { 
		padding: 7px 14px; 
		margin: 0 7px 0 0;
    font-size: 14px; 
		border-radius: 3px; 
		border: 1px solid #646464; 
		color: #646464;
    text-decoration: none;
  }
  .favorite-buttons a:hover, .favorite-buttons a:active { color: #ce0606; border-color: #ce0606; }
  
@media screen and (max-width: 767px) {
    .favorite-buttons a, .favorite-buttons a:visited { 
			display: block;
			font-size: 12px; 
			text-align: center;
			width: 160px; 
			margin-bottom: 3px;
    }
  }
  .clear-favs { display: inline; color: #5b9596; cursor: pointer;
    font-family: "Open Sans", sans-serif; font-style: italic; font-weight: 600; font-size: 14px;
  }
  .clear-favs i { color: #5b9596; padding: 0 7px; }
 




.desktop-menu-main-li a span { color: #333; }
.desktop-menu-main-li-btn a span { color: #333; }
.desktop-menu-main-li-ham a span { color: #333; }
.desktop-menu-main-li-btn a { border: 1px solid #555;  border-radius: 7px; padding: 5px 35px; }
#mobi-menu a#open-menu { color: #ce0606; text-shadow: none; }

#header-left input, #header-left input:focus { border-bottom: 1px solid #464646; color: #464646; }
  .stile-caption {	
		position: absolute; 
		z-index: 10;
    right: 10px;  
		left: 10px;  
		bottom:10px; 
		padding:2px;
    /* padding-bottom: 30px;  padding-top: 20px; */
    color: #fff;
    text-align: left; line-height: 120%;
    text-shadow: 0 3px 3px rgba(0,0,0,.6);
    font-size: 15px;
  }
  .stile-premium { position: absolute;
    right: 0;  left: 0; top:0; padding: 0;
    z-index: 10;
    color: #fff;
    border-top: 5px solid #c69641;
    text-align: right; line-height: 127%;
    text-shadow: 0 3px 3px rgba(0,0,0,.6);
  }
  .stile-premium span { background: #c69641;
    padding: 3px 12px; margin: 0 12px;
    font-size: 14px; text-shadow: none;
  }
  .stile-caption .villa_title { font-weight: 700;}
  .stile-caption .villa_title a,
  .stile-caption .villa_title a:visited, .stile-caption .villa_title a:hover { color: #fff; }
  .stile-caption .villa_address { font-weight: 400; font-size: 12px; }
  .stile-caption .villa_rating { 
  	padding: 0 2px;
    background: #fffd; 
    border-radius: 2px; 
    color: #445; 
    text-shadow: none; 
    margin-top: -2px;
    font-size: .85em; 
    font-weight: 500;
  }
  .stile-caption .villa_onMap, .stile-caption .villa_onMap:link, .stile-caption .villa_onMap:visited { 
	z-index: 50; 
	cursor: pointer;
    color: #464664; 
	background: #fffa;
    padding: 2px 7px; 
	font-size: 12px; 
	border-radius: 3px;
   }
  .stile-caption .villa_onMap:hover, .stile-caption .villa_onMap:active { background: #ce0606; color: #fff; }
  .stile-img { position: relative; }
  .stile-summary { height: 76px; text-align: center; margin:0; padding: 14px 0 0 0; background: #fff; }
  .summary-clip { width: 15%; color: #999; font-size: 13px; font-family: 'Roboto', sans-serif; text-align: center; float: left; line-height: 24px; }
  .summary-clip span { font-size: 9px; }
  .summary-clip i { font-size: 20px; padding-top: 2px; }
  .sum-ico { font-size: 20px !important; }
  .summary-pad { width: 2px; float: left; }
  .summary-sum { 
  	width: 20%;
  	padding-left: 12px;
  	border-left: 2px solid #ce0606;
  	text-align: left; 
  	float: left; 
  	line-height: 15px;
  	font-size:10px;
   }
  .score-val { font-family: 'Roboto', sans-serif; color: #777; font-size: 18px; font-weight: 300;  }/*color: #444;*/
  .score-txt { color: #777; font-size: 17px; font-family: 'Cookie', cursive; }
  .favorite-villa { position: absolute; top:0; left: 0; padding: 7px; z-index: 30; }
  .favorite-villa a i { font-size: 18px; color:#fffc; }
  .favorite-villa a i.is_favorite { color: #ce0606; text-shadow: 0 3px 3px rgba(0,0,0,.6); }
  .d3-villa { position: absolute;
    bottom:0; right: 0; padding: 7px; z-index: 30; color: #fff;
    font-size: 21px;
  }
  /* special offers css on default + hover --- */
  .special-offer { position: absolute;
    top: 35px; left: 0;
    width: 34px;
    background: #fff7; color: #333;
    transition: all 0.05s ease;
    z-index: 47;
  }
  .special-offer h4 { display: none; }
  .special-offer .offer--body { /* display: none; */ visibility: hidden; opacity: 0; background: #fff4; max-height: 1px; color: #fff; }
  .special-offer .tag { float: right; font-size: 18px;
    padding: 5px 7px 2px 7px;
  }
  .special-offer:hover { width: 240px; }
  .special-offer:hover h4 { display: inline-block;
    font-size: 14px; font-weight: 700; color: #444;
    padding: 2px 7px; line-height: 12px;
    width: 200px;
  }
  .special-offer:hover .offer--body { visibility: visible; opacity:1; /* display: block; */ max-height: 145px; overflow-y: scroll;
    background: #fff; padding: 7px; color: #444;
    font-size: 12px !important; line-height: 12px;
    transition: all .2s ease;
  }
  #end-of-tiles { clear: both; text-align:center; height: 35px; }
  #end-of-tiles a, #end-of-tiles a:link, #end-of-tiles a:visited { text-align: center;
    padding: 7px 45px;text-decoration: none;
    color: #fff; background: #5b9596;
    border-radius: 4px;
  }
  #end-of-tiles a:hover, #end-of-tiles a:active { background: #444; }
  .breadcr { 
		
    font-size: 13px; 
		font-weight: 400;
    color: #777;
 }
 .beradcr a, .beradcr a:link, .beradcr a:visited { color: #777 !important; }
 .beradcr a:hover, .beradcr a:active { color: #337ab7 !important; text-decoration: none; }



#map-container { 
	display: none;
	width: 66.666%; 
	float: left;
	z-index: -1;
	height: calc(100% - 50px);
}
#map-container.is_visible {
	display: block;
	z-index: 8;
	margin: 0 0 0 16px;
}
#map-container.is_fixed {
	position: sticky;
	top: 50px; 
	
	/*
	position: fixed;
	right: -20px;
	padding-right: 20px; 
	padding-left: 24px;
	margin-right: 35px;*/
}
#map-container.is_absolute { 
	position: absolute;
	bottom: 66px; 
	right: -12px;
	padding-right: 20px; 
	padding-left: 0;
}
#map-container .sidemap { height:100vh; } /* height: calc(100% - 50px); background: #ddd; } /* height:100hv */
#map.sidemap { background: #777; }
#villas-container.openmap { float: left; width: 33.333%; }
#villas-container.openmap .villa-tile { width: 100%; }
#map { height: calc(100vh - 50px) !important; border: none; }

.map-box { font-size: 1.82em; color: #444; font-weight: 300;  padding-bottom: 12px;}
/* Always set the map height explicitly to define the size of the div
 * element that contains the map. */
#map img { max-width: 100%; height: auto; }
#map a { text-decoration: none; display:block; }
#map.on_bottom { position: absolute !important; overflow: hidden !important;
	bottom: 0 !important; right: 47px;
	width: calc(100% - 35px);
	margin-top: auto;
}




.gm-style-iw { 
	height: 192px !important;
	max-height: 192px !important;	
	width: 282px !important;
	max-width: 282px !important;
	padding: 4px !important; 
	border-radius: 4px !important;
	text-shadow: 0 3px 3px rgba(0,0,0,.6);
}
/*
.gm-style-iw .gm-style-iw-c {
    min-width: 274px !important;
    max-height: 350px !important;
    min-height: 208px !important;
    border-radius: 0 !important;
    padding: 0 !important;
}
*/
.gm-style .gm-style-iw-d { max-width: none !important; max-height: none !important; overflow:hidden !important; }


.gm-ui-hover-effect{display:none !important;}
.gm-style-iw img { border-radius: 3px; }
.gm-style-iw button { width: 39px !important; height: 37px !important; }
.gm-style-iw button img { display:none !important; }
.gm-style-iw button::after { display:none !important; /* close button */ /* content: "\f00d";
	font-family: "Font Awesome 5 Free" !important; color: #444; font-weight: 900; */
}
.gm-style-iw td { width:180px; }
.gm-style-iw td.pinText {text-align: left; padding-left: 12px; vertical-align: top; }
.gm-style-iw div { /* padding: 0 !important; * / overflow: hidden !important; display: inline; text-align: center; /* background: #f7f7f7; */ }
.gm-style-iw h3 { 
	font-size: 1.08em; 
	text-align: left;
	color: #444 !important;
	text-shadow: none;
	margin-top:4px; 
	margin-bottom: 5px;
	padding:0 2px !important;  
	width: 244px;
}
.gm-style-iw span { 
	display: block;
}
/*
.gm-style-iw span { 
	display: block;
	font-size: 12px; 
	font-weight: 700; 
	text-shadow: none;
	float: right; 
	text-align: right;
	line-height: 5px;
	padding: 3px 8px;
}

.gm-style-iw a, .gm-style-iw a:link, .gm-style-iw a:visited { display: block; padding: 2px; color: #eee; width: 200px; }
.gm-style-iw a:hover, .gm-style-iw a:active { color: #fff}
*/
.pinHeader { position: relative; background-color:white; z-index:21; }
.pinHeader .pinTit{ position: relative; float:left; }
.pinHeader .pinScore { 
	position: relative;
	float:right;
	top: 2px;
	background: #eee; 
	color: #5b9596; 
	text-shadow: none;
	padding: 2px 3px !important;
	border-radius: 2px;
	font-size: .85em; 
	font-weight: 700;
}

.pinBody { position: absolute; height: 160px; width: 274px; bottom: 4px; z-index:20; }
.pinBody img { border-radius: 0; width: 274px; padding: 0; max-width: 100%; height: 100%; }
.pinPrice { 
	position: absolute;
	width: 132px;	
	bottom: 3px; 
	left: 3px;
	background: #fff; 
	color: #444;
	text-shadow: none;
	padding:4px 10px 4px; 
	border-radius: 2px;
	font-size: .85em; 
	font-weight: 400; 
	text-align: left; 
}

.pinPrice h3 {padding:0 !important;width:auto;font-size: 16px; line-height: 10px;font-weight:400;}
.pinPrice.pinRequest{height:41px;padding-top:12px;}
.pinPrice.pinRequest h3{text-align:center;}
.pinMore { 
	position: absolute; 
    width: 132px;
		padding: 4px 5px;
	bottom: 3px; 
	right: 3px;
	font-size: 1em; 
	font-weight: 700; 
    color: #fff;
	text-align: center;
	line-height: 2.2em;
    border-radius: 2px; 
    border: 2px solid #fff9;
		background:rgba(0, 0, 2, 0.30)
}





.main-description { padding: 10px 0 10px 0; text-align: center; color: #464646; }
  .main-description h2 { font: 2em 'Roboto', sans-serif; text-align: center; font-weight: 500; color: #464646; padding-top: 8px; }
  .main-description h2::after { display: block; content: '';
    width: 120px; height: 2px;
    margin-left: calc(50% - 60px);
    margin-top: 12px;
    background: #ce0606;
  }
  .main-description h3 { font-size: 18px; font-family: 'Roboto', sans-serif; color: #6e6e6e; font-weight: 300; text-align: center; text-transform: uppercase; }
  .main-description h4 { font-size: 17px; font-family: 'Roboto', sans-serif; color: #777; font-weight: 700; text-align: center; }
  .main-description p { padding: 3px 40px; line-height: 133%;
    font-family: 'Open Sans', sans-serif; font-weight: 400; font-style: italic;
  }

  #send2email input, #send2email textarea,
  #send2friend input, #send2friend textarea { border-radius: 0; margin-bottom: 6px; }
  #send2email-form p, #send2friend-form p { padding-bottom: 3px; color: #646464; margin-bottom: 3px; }
	#send2email p, #send2friend p { font-size:14px; padding: 5px 0 0 0; }


  
 .favorites-title { font-size: 15px; }
 .favorites-title h3 { font-weight: 500; color: #464646; margin: 0; font-size: 20px; }
 .favorites-title span { font-weight: 700; }
 .inquire-about-btn { text-align: right; padding-top: 12px; font-size: 14px; }
 .inquire-about-btn a, .inquire-about-btn a:visited, .inquire-about-btn a:hover {
   padding: 9px 27px; background: #ce0606; color: #fff; text-decoration: none; font-weight: 700;
   border-radius: 3px;
 }
 
 .inline-lightbox-wide { max-width: 500px; width:100%; }

 @media screen and (max-width: 549px) {
 	.inquire-about-btn a, .inquire-about-btn a:visited, .inquire-about-btn a:hover { padding: 9px 11px; }
 	.inquire-about-btn { font-size: 13px;}
}
