a:4:{i:0;s:19974:"					<div class="h1"><h1>3 BHK Flat for Sale in Bibwewadi, Pune</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.wpphporgrealestate.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.wpphporgrealestate.in/find-property.htm" title="Find Property">Find Property</a>  			
											
					
					<b class="ffv p2px">&rsaquo;</b>3 BHK Flat for Sale in Bibwewadi, Pune</p> 
					<br />
					
											<p class="aj">3 BHK Flat is available For Sale At Near Bhagali Hospital, Bibwewadi, Pune..1450 Sq Ft Area.. Asking Amount 1.50 Cr..3 Bedrooms, 3 Washroom, 2 Terrace 4th Floor Out Of 11 Floors.. East Facing, 10 Years Old Unfurnished Property, Reserved Parking With 2  Lift.. Swimming Pool, Gym & Garden Are Other Amenities..</p>
						<br />
											<div class="headVr p10px">
					<p class="xxlarge b mb10px">Property Details</p>
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="vat data p10px">
					<table class="w100">
											<tr>
						<td class="vat p2px5px w175px"><b>Property ID</b>:</td>
						<td class="vat p2px5px">REI735711</td>
						</tr>
						<tr><td colspan="3"><p class="hr"></p></td></tr>
												<tr>
						<td class="vat p2px5px"><b>Property For </b>:</td>
						<td class="vat p2px5px">Sale</td>
						</tr>
						<tr><td colspan="3"><p class="hr"></p></td></tr>
												<tr>
						<td class="vat p2px5px"><b>Price</b>: </td>
						<td class="vat p2px5px">1.50 Cr</td>
						</tr>
						<tr><td colspan="3"><p class="hr"></p></td></tr>
												<script type="text/javascript">
						area_conversion=function(b,f,e){var c=createAreaArr();if(e==1){if(b<20&&b!=18){var a=f/c[b];return a}else{return 0}}else{if(e==2){if(b<20&&b!=18){var d=f*c[b];return d}else{return 0}}}};
						
						function createAreaArr(){
							var a={
								1:1,
								2:0.1111111111111,
								3:0.093,
								4:0.00041666667,
								5:0.013890889,
								6:0.000091810503,
								7:0.002222222222222223,
								8:0.0036724201,
								9:0.0009182736455464,
								10:0.00092936802973,
								11:0.0000028696051,
								12:0.00002295663,
								13:0.000057392103,
								14:0.0013888889,
								15:0.0000092904166,
								16:0.003673095,
								17:0.0000092605969,
								19:0.002295684
							};
							return a;
						}
						
						function updateArea(a,c,d,h,b,w,z){
							var g=createAreaArr();
							 
							var bu = {
						    'Sq.ft.':'1',
						    'Sq. Yards':'2',
						    'Sq. Meter':'3',
						    'Guntha':'9',
						    'Ares':'10',
						    'Acre':'12',
						    'Bigha':'13',
						    'Hectares':'15',
						    'Marla':'16',
						    'Cent':'19',
						    };
							if(w=='Sq. Feet'){
								var e=d*(parseFloat(g[c]));
							}
							else{
								var e=parseFloat(g[c])*(d/ parseFloat(g[bu[w]]));
							} 
							
							if(b=="Y"){
								jQuery("#"+h+"_span").html(e.toFixed(2));
							}else{
								if(b=="N"){
									jQuery("#"+h).html(jQuery("#"+h).html+e.toFixed(2));
									console.log("#"+h);
								}
							}
							jQuery("#"+h+"Label").html(" "+a);
							jQuery("#"+z).html(a+" &#9660;")
						}
						
						</script>						
												<tr>
						<td class="vat p2px5px"><b>Built Up Area</b>: </td>
						
						<td class="vat p2px5px">
						<script type="text/javascript">
						function convert(basetext,baseindex,baseunit){
						     if(1450 > 0 )  updateArea(basetext,baseindex,1450,'builtupArea','Y',baseunit,'DrpDownTab');   }
						</script>  
						<span id="builtupArea_span">1450</span>
						<span class="pr">
						<a onClick="jQuery('#builtUp').show();event.stopPropagation();" class="headVr pl5px pr5px small dib vam ml5px" id="DrpDownTab">Sq.ft. &#9660;</a>
						<div id="builtUp" style="width:120px;display:none;top:-1px;left:0px;" class="pa">
						<span class="data p5px15px pb10px dib xlarge b pr" style="border-bottom:none;z-index:101;" id="builtupAreaLabel">Sq.ft.</span>
						<ul class="lsn m0px p0px data small bdrB0 pr uo" style="top:-1px;z-index:100;">
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Feet',1,'Sq.ft.');">Sq. Feet</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Cent',19,'Sq.ft.');">Cent</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Yards',2,'Sq.ft.');">Sq. Yards</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Ares',10,'Sq.ft.');">Ares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Acre',12,'Sq.ft.');">Acres</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Meter',3,'Sq.ft.');">Sq. Meter</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Bigha',13,'Sq.ft.');">Bigha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Hectares',15,'Sq.ft.');">Hectares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Guntha',9,'Sq.ft.');">Guntha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Marla',16,'Sq.ft.');">Marla</a></li>
						</ul>
						</div>
						</span>
						<script>
						jQuery(document).ready(function(e) {
							jQuery('body').click(function(){
								jQuery('#builtUp').hide();
								
							})
						});
						</script>
						</td>
						</tr>
						<tr><td colspan="3"><p class="hr"></p></td></tr>
											</table>
					</td>
											<td class="vat pl15px w175px">
													<div class="w150px imgWidth150 m0a" id="thumbContainer0" >
							<div class="ac lh0 mt10px">
							<a  data-fancybox="showZoomImage"  title="3 BHK Flat for Sale in Bibwewadi, Pune" href="https://rei.wlimg.com/prop_images/1120870/735711_1.jpg"><div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/1120870/735711_1-350x350.jpg);background-size:cover;background-position:center;width:150px;height:150px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/1120870/735711_1-350x350.jpg"  alt="3 BHK Flat for Sale in Bibwewadi, Pune"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div></a>							</div>
							</div>
														<div class="w150px imgWidth150 m0a" id="thumbContainer1"  style="display:none;">
							<div class="ac lh0 mt10px">
							<a  data-fancybox="showZoomImage"  title="3 BHK Flat for Sale in Bibwewadi, Pune" href="https://rei.wlimg.com/prop_images/1120870/735711_2.jpg"><div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/1120870/735711_2-350x350.jpg);background-size:cover;background-position:center;width:150px;height:150px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/1120870/735711_2-350x350.jpg"  alt="3 BHK Flat for Sale in Bibwewadi, Pune"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div></a>							</div>
							</div>
													<p class="paging ac p10px small" id="propertyThumbLinks">
													<a href="javascript:void(0);" class="on w15px bdr dib b" onclick="imgDisplay('0')" title="">1</a> &nbsp; 
														<a href="javascript:void(0);" class="bdr dib w15px" onclick="imgDisplay('1')" title="">2</a> &nbsp; 
													</p>
						<script type="text/javascript">
						// <![CDATA[
						function imgDisplay(num) {
						as=document.getElementById('propertyThumbLinks').getElementsByTagName('a');
						for (i=0; i<as.length; i++) {
						as[i].className='p2px5px';
						document.getElementById('thumbContainer'+i).style.display='none';
						}
						as[num].className='on p2px5px'
						document.getElementById('thumbContainer'+num).style.display='';
						}
						//]]>
						</script>
						</td>
											</tr>
					</table>
					</div>
					<br />
											<div class="bdrB xxlarge b dif lh14em mb7px">Additional Details</div>
						<ul class="lsn m0px p0px wp33">
														<li class="p2px"><b>Property Age :</b> 10 to 15 years</li>
																<li class="p2px"><b>Furnishing :</b> Unfurnished</li>
																<li class="p2px"><b>Bedrooms :</b> 3</li>
																<li class="p2px"><b>Bathrooms :</b> 3</li>
																<li class="p2px"><b>No. of Floors :</b> 11</li>
																<li class="p2px"><b>Property On Floor :</b> 4</li>
																<li class="p2px"><b>Property Face :</b> East</li>
														</ul>
			            <p class="cb"></p>
			            <br />
												<div class="bdrB xxlarge b dif lh14em mb7px">Amenities</div>
						<ul class="lsn m0px p0px wp33">
													<li class="p2px vat"><i class="si w24px icon-ws" title="Water Storage"></i> Water Storage</li>
														<li class="p2px vat"><i class="si w24px icon-lf" title="Lift"></i> Lift</li>
														<li class="p2px vat"><i class="si w24px icon-rp" title="Reserved Parking"></i> Reserved Parking</li>
														<li class="p2px vat"><i class="si w24px icon-fc" title="Gymnasium"></i> Gymnasium</li>
														<li class="p2px vat"><i class="si w24px icon-sw" title="Swimming Pool"></i> Swimming Pool</li>
													</ul>
			            <p class="cb"></p>
			        	<br>
			        								<div class="bdrB xxlarge b dif lh14em mb7px">Property Address</div>
							<p>Near Bhagali Hospital, Bibwewadi, Pune, Maharashtra</p>
													<br />
						<div class="bdrB xxlarge b dif lh14em mb7px">Location Map</div>
						<div class="bdr p2px lh0 mt10px"> 
						<iframe width="100%" height="300" frameborder="0"  marginheight="0" marginwidth="0"
						src="https://www.google.com/maps/embed/v1/place?key=AIzaSyAN_m_CqOOtgmiF9crPBw9oSbiFBPNwn5o&q=~~Bibwewadi~~Pune~~Maharashtra,India">
						</iframe>
						</div>
												<br />
						
						<table class="w100 formTable">
						<tr>
						<td class="headVr b p5px" colspan="2">Property Seller Detail</td>
						</tr>
														<tr>
								<td class="ar b p5px w30">Contact Person :</td>
								<td class="p5px">
								Mr. Nikhil Anil Vete 								</td>
								</tr>
																<tr>
								<td class="ar b p5px">Mobile :</td>
								<td  class="p5px">
								+91-8668908608								</td>
								</tr>
																<tr>
								<td class="ar b p5px">Contact Address :</td>
								<td  class="p5px">
								Shop No. 7, Prayatnashil A Building, Opp. Bhagali Hospital, Bibwewadi, Pune, Maharashtra, India								</td>
								</tr>
															</table>
													<form name="frmpropertydetail" method="post" action="http://www.wpphporgrealestate.in/property-inquiry.htm">
						<p class="p10px ac">
						<input type="hidden" name="enqtype" value="property" />
						<input type="hidden" name="subject" value="Inquiry For Property - 3 BHK Flat for Sale in Bibwewadi, Pune - REI735711" />
						<input class="button p5px10px b" type="submit" value="SEND ENQUIRY" />
						<input type="hidden" name="property_id" value="735711" />
						</p>
						</form>
												<br />
						<br />
						<div class="headHr xlarge p7px pl10px">Properties you might be Interested</div>
						
						<div class="p10px">
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight">
													<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://static.realestateindia.com/images/no_image.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img  alt="Coming Soon Property" src="https://static.realestateindia.com/images/no_image.jpg" style="max-height:200px;max-width:200px;z-index: -1;margin-left: -1000px;" /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.wpphporgrealestate.in/sell/2-bhk-flats-apartments-narhe-pune_701496.htm" title="2 BHK FOR URGENT SALE IN NARHE" class="dif b">2 BHK FOR URGENT SALE IN NARHE</a></p>
							<p class="mb5px"> (Narhe, Pune/Pune)   Area: 900 Sq.ft. / 900 Sq.ft. | 2 Bedrooms | 2 Floor | 2 Bathrooms</p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/1120870/735710_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/1120870/735710_1-350x350.jpg"  alt="2 BHK Flat for Sale in Bibwewadi, Pune"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.wpphporgrealestate.in/sell/2-bhk-flats-apartments-bibwewadi-pune_735710.htm" title="2 BHK Flat for Sale in Bibwewadi, Pune" class="dif b">2 BHK Flat for Sale in Bibwewadi, Pune</a></p>
							<p class="mb5px"> (Bibwewadi, Pune/Pune)   Area: 750 Sq.ft. | 2 Bedrooms | 1 Floor | 1 Bathrooms | 65 L</p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://static.realestateindia.com/images/no_image.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img  alt="Coming Soon Property" src="https://static.realestateindia.com/images/no_image.jpg" style="max-height:200px;max-width:200px;z-index: -1;margin-left: -1000px;" /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.wpphporgrealestate.in/sell/1-bhk-flats-apartments-nana-peth-pune_695391.htm" title="1 BHK FULL FURNISHED FLAT FOR SALE IN NANA PETH" class="dif b">1 BHK FULL FURNISHED FLAT FOR SALE IN NANA PETH</a></p>
							<p class="mb5px"> (Nana Peth, Pune/Pune)   Area: 600 Sq.ft. / 600 Sq.ft. | 1 Bedrooms | 4 Floor | 1 Bathrooms</p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/1120870/792863_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/1120870/792863_1-350x350.jpg"  alt="2 BHK Apartments For Sale In Bibwewadi, Pune"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.wpphporgrealestate.in/sell/2-bhk-flats-apartments-bibwewadi-pune_792863.htm" title="2 BHK Apartments For Sale In Bibwewadi, Pune" class="dif b">2 BHK Apartments For Sale In Bibwewadi, Pune</a></p>
							<p class="mb5px"> (Bibwewadi, Pune/Pune)   Area: 870 Sq.ft. | 2 Bedrooms | 6 Floor | 2 Bathrooms | 95 L</p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/1120870/701783_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/1120870/701783_1-350x350.jpg"  alt="2 BHK UNUSED FLAT FOR SALE IN GURUWAR PETH"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.wpphporgrealestate.in/sell/2-bhk-flats-apartments-guruwar-peth-pune_701783.htm" title="2 BHK UNUSED FLAT FOR SALE IN GURUWAR PETH" class="dif b">2 BHK UNUSED FLAT FOR SALE IN GURUWAR PETH</a></p>
							<p class="mb5px"> (Guruwar Peth, Pune/Pune)   Area: 900 Sq.ft. / 900 Sq.ft. | 2 Bedrooms | 1 Floor | 1 Bathrooms</p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/1120870/691522_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/1120870/691522_1-350x350.jpg"  alt="3 Bhk For Sale In Bibwewadi"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.wpphporgrealestate.in/sell/3-bhk-flats-apartments-bibwewadi-pune_691522.htm" title="3 Bhk For Sale In Bibwewadi" class="dif b">3 Bhk For Sale In Bibwewadi</a></p>
							<p class="mb5px"> (Bibwewadi, Pune/Pune)   Area: 1390 Sq.ft. / 1390 Sq.ft. | 3 Bedrooms | 1 Floor | 3 Bathrooms</p>
							<br />
							</li>
											
						</ul>
						</div>
						</div>
										<div id="myModal" class="modal fade dn pf" role="dialog" style="z-index:9999;left:0;top:0%;width:100%;height:100%;background-color:rgba(0,0,0,0.6);overflow-x: hidden; overflow-y: auto;">
				    <!-- Modal content-->
				    <div style="max-width:700px;margin-top: 50px;min-height:400px;" class="modal-content data m0a p10px pr">
				      <div class="modal-header">
				        <a style="right:25px;top:25px;" class="pa b xxxlarge" data-dismiss="modal"><span class="xlarge">&times;</span></a>	        
				      </div>
				      <div class="modal-body">
				        <div class="ac" style="padding-top: 10%;"><p style="font-size:18px">Loading...</p></div>
				      </div>
				      <div class="modal-footer">
				        
				      </div>
				    </div>
				</div>
				<script type="text/javascript">
					jQuery(document).ready(function(){
						jQuery(document).on("click", ".submit-inquiry" , function(){
							var form = jQuery(this).parent().find(".inquiry-form");
							if(form.length){
								jQuery.ajax({
									url: form.attr("action"),
									type: form.attr("method"),
									data:form.serialize(),
									crossDomain:true,
									success:function(res){
										jQuery("#myModal .modal-body").html(res);
									}
								});
							}
						});
						jQuery(document).on("click", "[data-dismiss=modal]", function(){
							jQuery("#myModal .modal-body").html('<div class="ac" style="padding-top: 10%;"><p style="font-size:18px">Loading...</p></div>');
							jQuery("#myModal").hide();
						});
						jQuery(document).on("submit", "form[name=static_form]", function(e){				
							e.preventDefault();
							var isValidForm =static_inq_form_validate(jQuery(this).attr("form-id"));
							if(isValidForm == undefined){
								var form = jQuery(this);
								if(form.length){
									jQuery.ajax({
										url: form.attr("action"),
										type: form.attr("method"),
										data:form.serialize(),
										crossDomain:true,
										beforeSend:function(){
											jQuery("#myModal .modal-footer").html("");
										},
										success:function(res){
											jQuery("#myModal .modal-body").html(res);
											setTimeout(function(){
												jQuery("#myModal", document).hide();
												jQuery("#myModal .modal-body").html('<div class="ac" style="padding-top: 10%;"><p style="font-size:18px">Loading...</p></div>');
												},2000)
										}
									});
								}
							}
						});
						var modal = jQuery("#myModal", document);
			
						jQuery(document).on("click", ".submit-inquiry" , function(){
						    modal.show();
						});
			
						window.onclick = function(event) {
						    if (jQuery(event.target) == modal) {
						        modal.css("display","none");
						    }
						}
					});
				</script>
				";i:1;s:52:"3 BHK Flats & Apartments for Sale in Bibwewadi, Pune";i:2;s:271:"Flats & Apartments having 3 Bedrooms, 3 Bath Rooms, 11 Total Floor, 1450 Sq.ft. in Bibwewadi, Pune, Maharashtra Bibwewadi, Pune, Maharashtra. Flats & Apartments Property for Sale in Bibwewadi, Pune, Maharashtra Bibwewadi, Pune, Maharashtra at Wpphporg Real Estate Agency.";i:3;s:271:"Flats & Apartments having 3 Bedrooms, 3 Bath Rooms, 11 Total Floor, 1450 Sq.ft. in Bibwewadi, Pune, Maharashtra Bibwewadi, Pune, Maharashtra. Flats & Apartments Property for Sale in Bibwewadi, Pune, Maharashtra Bibwewadi, Pune, Maharashtra at Wpphporg Real Estate Agency.";}