a:4:{i:0;s:20316:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>4 BHK Apartment For Sale In Delhi Dwarka</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.bharathomes.co.in/" title="Home">Home</a>
						
						<b class="ffv p2px">&rsaquo;</b><a href="http://www.bharathomes.co.in/property-in-delhi.htm" title="Property in Delhi">Delhi</a><b class="ffv p2px">&rsaquo;</b><a href="http://www.bharathomes.co.in/property-for-sale-in-l-zone-dwarka-delhi.htm" title="Property for Sale in L Zone, Dwarka, Delhi">L Zone</a>											
						<b class="ffv p2px">&rsaquo;</b> 4 BHK Apartment For Sale In Delhi Dwarka</p>
						</div>
						</div>
						</section>
											<script>	
						(function($){	
						  $(function(){
							$('[id^=slider1]').each(function(){
								$(this).DG_Slider({
									auto: true, mode:'fade', pager:false, pagerType:'short',controls:false
								});
							})
							$('a[rel=gall]').fancybox()
						  });	
						}(jQuery))		
					</script>
					<section id="middle"><br />
					<div class="wrap" id="bodyFormatNT">
					<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
					<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->
										<section class="fo pro_detail_n">
					<div class="w100 dt ac-dtr acac-dtc fl">
					<ul>
										<li class="vat pr30px vat w300px lh0">
                    <div class="demo-wrap slider300">
					<ul class="lsn m0px p0px" >
											<li class="bdr bw1px c5px p1px">
						<div class="">
						<p class="ac vam">
						<img  alt="Coming Soon Property" src="https://static.realestateindia.com/images/no_image.jpg" width="" height="" />						</p>
						</div>
						</li>
											</ul>
					</div>
					</li>
					<li class="vat ffos">
					<div class="fo mb10px bdrb bdreee pb10px res_clr">
					<div class="">
												<div><i class="fa fa-map-marker pr7px fl"></i><p class="ofh">L Zone, L Zone, Dwarka, Delhi							<br>
							<span class="gray">By Bharat Homes</span></p>
							</div>
												</div>
					</div>
					<p class="pr"><span class="headHr dib c5px"><a data-fancybox data-type="iframe" data-src="https://www.realestateindia.com/view_map.php?gaddress=~~Dwarka~~Delhi, L Zone, Dwarka, Delhi&goglepointer1=&goglepointer2=" href="javascript:void(0);" style="padding-left:50px;" class="b xlarge p7px pr20px dib ts0">Location Map</a></span>
					<span style="top:-10px;left:0;" class="pa dib lh0px"><img src="https://static.realestateindia.com/images/icon_loc_map.png" alt=""></span>
					</p>
					<script>
					$("[data-fancybox]").fancybox({
					    iframe : {
					        css : {
					            width : '860px'
					        }
					    }
					});
					</script>
					<br />
											<div class="xxlarge mb10px">
						<div class="xxlarge ffrr mb7px dib red"><i class="fa fa-inr"></i> <span itemprop="price">73.05 L</span></div>
													<div class="xsmall ml15px dib">@ Rs 4174 per Sq.ft.</div>
													</div>
											<ul class="fo ac-mb10px pb10px lsn bdrb large">
											<li>
						<p class="fl w130px">Property ID: </p>
						<p class="fl mr30px">:</p>
						<p class="ofh b">REI529604</p>
						</li>
												<li>
						<p class="fl w130px">Property For</p>
						<p class="fl mr30px">:</p>
						<p class="ofh b">Sale</p>
						</li>
												<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>						
												<li class="fo">
						<p class="fl w130px">Built Up Area</p>
						<p class="fl mr30px">:</p>
						<div class="fl b">
						<script type="text/javascript">
						function convert(basetext,baseindex,baseunit){
						     if(1750 > 0 )  updateArea(basetext,baseindex,1750,'builtupArea','Y',baseunit,'DrpDownTab');   }
						</script>  
						<span id="builtupArea_span">1750</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>
						</div>
						</li>
											</ul>
											<form class="inquiry-form" name="frmpropertydetail" method="post" action="http://www.bharathomes.co.in/enquiry-form-10017.htm">
						<input type="hidden" name="enqtype" value="property" />
						<input type="hidden" name="subject" value="Inquiry For Property - 4 BHK Apartment for Sale in Delhi Dwarka - REI529604" />
						<input type="hidden" name="property_id" value="529604" />
						</form>
						<a href="javascript:void(0);" class="submit-inquiry buttonBig xxlarge ts0 p10px20px mt10px c5px">Send Enquiry</a>
							
					</li>
					</ul>
					</div>											
					</section>
					<br /> 
											<div class="bdrB xxlarge b dif pb5px mt10px mb7px">Additional Details</div>
	                    <ul class="lsn m0px p0px wp33 lh2em">
														<li><b>Property Age :</b> Under Construction</li>
																<li><b>Furnishing :</b> Unfurnished</li>
																<li><b>Transaction :</b> New Property</li>
																<li><b>Bedrooms :</b> 4</li>
																<li><b>Bathrooms :</b> 4</li>
																<li><b>No. of Floors :</b> 16</li>
																<li><b>Property On Floor :</b> 5</li>
																<li><b>Property Face :</b> North East</li>
														</ul>
			            <p class="cb"></p>
			            <br />
												<div class="bdrB xxlarge b dif pb5px mt10px mb7px">Amenities</div>
	                    <ul class="lsn m0px p0px wp33 lh2em">
													<li><i class="si w24px icon-pb" title="Power Back Up"></i> Power Back Up</li>
														<li><i class="si w24px icon-ws" title="Water Storage"></i> Water Storage</li>
														<li><i class="si w24px icon-lf" title="Lift"></i> Lift</li>
														<li><i class="si w24px icon-rp" title="Reserved Parking"></i> Reserved Parking</li>
														<li><i class="si w24px icon-fa" title="Security"></i> Security</li>
														<li><i class="si w24px icon-ms" title="Maintenance Staff"></i> Maintenance Staff</li>
														<li><i class="si w24px icon-fc" title="Gymnasium"></i> Gymnasium</li>
														<li><i class="si w24px icon-pk" title="Park"></i> Park</li>
														<li><i class="si w24px icon-pg" title="Private Tarrace"></i> Private Tarrace</li>
														<li><i class="si w24px icon-sw" title="Swimming Pool"></i> Swimming Pool</li>
														<li><i class="si w24px icon-ccc" title="Club House"></i> Club House</li>
													</ul>
			            <p class="cb"></p>
			        	<br>
			        							<br />
						<div class="bdrB xxlarge b dif pb5px mt10px mb7px">Property Description </div>
						<p class="aj">Delhi Has Witnessed A Huge Gap In The Demand And Supply Of Housing Units. When The Mpd Was Reviewed In 2006, It Came To Light That Only 3.5 Lac Units Are Being Provided By Dda Whereas The Need Is For 35 Lac Units. This Has Forced People To Live In Unauthorized Colonies Which Lack Basic Civic Amenities And Facilities. Moreover, Most Of These Areas Still Hold Agricultural Land Status.The Government Has Realized This Slackness And Noti'Ed A New Plan Known As Mpd 2021 Vide Gazette Noti'Cation No. So 141 Dated 07-02-2007. Mpd 2021 Envisages Involvement Of Private Sector In The Development Of Land And Provision Of Infrastructure Services As An Improvement Over The Current Scheme Of Large-Scale Development And Acquisition Of Land Entrusted To Delhi Development Authority (Dda).<br/>
The Delhi Master Plan 2021 Has Divided The National Capital Territory Of Delhi Into 15 Zones For Convenience And Administration Of Development. In Order To Provision The Population Growth And Infrastructure Requirement Of The City, These Zonal Plans Have Been Developed With The Approval Of The Government Of India.<br/>
Golf Course & Football Stadium. Luxury Spacious Flats,Designer Landscaping,Jogging And Bicycle Lanes,Childrens Play Area,Basketball ,Tennis ,Badminton Court,Club House,Business Centre,Yoga Are,24X7 Power Backup Facility,3 Tier Internaonal Security,Cctv Secured Townshiprain Water Harvesng,Designated Car Parking,Modern Gymnasium,Swimming Pool And Kids Pool,Upcoming Diplomatic Enclave,8 Minutes,Upcoming Dwarka-Gurgaon Express Way,Dwarka Sec-21 Metro Station,Igi Airport, Nh-8 & Nr Mega Terminal,10 Minutes,Ip University, Nsit & Nlu,Medanta Hospital,Forthcoming Aiims-2.</p>						
											</div>
					<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				    <div class="db p20px bdr large ac">
				    <div class="dib mb10px">
					<div class="propUser bdr bdrddd vam"><i class="fa fa-user"></i></div>
					</div>
					<p class="mb5px"> Rakesh Ranjan  </p>
					<p class="alpha75 mb5px"> bharathomesuttamnagar@gmail.com </p>
					<p> <i class="fa xxxlarge vam mr5px fa-mobile" aria-hidden="true"></i> +91-9250511016 </p>
					</div>
		
					<div class="column_Box mc">
					<div class="tcl bullet divider">
					<div class="h h2"><b class="plusMinus"></b>
					<h2>Property by City</h2>
					</div>
					<div class="ic showHide_rp">
					<div class="mt10px">
											<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="http://www.bharathomes.co.in/property-in-delhi.htm" class="dif" title="Property in Delhi">Delhi</a> <b class="alpha50 bn small">(1313)</b></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="http://www.bharathomes.co.in/property-in-ghaziabad.htm" class="dif" title="Property in Ghaziabad">Ghaziabad</a> <b class="alpha50 bn small">(2)</b></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="http://www.bharathomes.co.in/property-in-noida.htm" class="dif" title="Property in Noida">Noida</a> <b class="alpha50 bn small">(2)</b></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="http://www.bharathomes.co.in/property-in-gurgaon.htm" class="dif" title="Property in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(1)</b></span>
											
					</div>
					</div>
					</div>
					</div>
					
										
					</div>
					</div>
					
												<br />
							<br />
							<section><br/>
							<div class="wrap fullFormat">	
							<div class="xxxlarge b mb30px ac"><h2>Similar Property</h2></div>
							<div class="cf_5img mt30px">
							<ul class="lsn m0px p0px fo idv_eqheight">						
															
								<li>
								<div class="data ac dib cp"  onclick="location.href='http://www.bharathomes.co.in/sell/2-bhk-builder-floor-uttam-nagar-west-delhi_502953.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img src="https://rei.wlimg.com/prop_images/179879/502953_1-350x350.jpg"  alt="Independent/Builder Floor for Sale in Uttam Nagar"  style="width:100%;height:140px;"  /></div>
								<div class="p10px al">
								<p class="b dif">Independent/Builder Floor...</p>
								<p class="mt5px">Builder Floor</p>
								<p class="alpha75 mt5px">
								2 BHK / 600 Sq.ft.								
								</p>    
								<p class="alpha75">Uttam Nagar, Delhi</p>
								</div>
								</div>    
								</li>								
																
								<li>
								<div class="data ac dib cp"  onclick="location.href='http://www.bharathomes.co.in/sell/4-bhk-flats-apartments-dwarka-west-delhi_611012.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img  alt="Coming Soon Property" src="https://static.realestateindia.com/images/no_image_180.jpg" width="200" height="140" /></div>
								<div class="p10px al">
								<p class="b dif">Flat At Delhi</p>
								<p class="mt5px">Flats & Apartments</p>
								<p class="alpha75 mt5px">
								4 BHK / 1000 Sq.ft.								
								</p>    
								<p class="alpha75">Dwarka Mor, Delhi</p>
								</div>
								</div>    
								</li>								
																
								<li>
								<div class="data ac dib cp"  onclick="location.href='http://www.bharathomes.co.in/sell/2-bhk-builder-floor-mohan-garden-west-delhi_604122.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img src="https://rei.wlimg.com/prop_images/179879/604122_1-350x350.jpg"  alt="2 BHK Builder Floor for Sale in Mohan Garden, West Delhi"  style="width:100%;height:140px;"  /></div>
								<div class="p10px al">
								<p class="b dif">2 BHK Builder Floor for S...</p>
								<p class="mt5px">Builder Floor</p>
								<p class="alpha75 mt5px">
								2 BHK / 57 Sq. Yards								
								</p>    
								<p class="alpha75">Mohan Garden, Delhi</p>
								</div>
								</div>    
								</li>								
																
								<li>
								<div class="data ac dib cp"  onclick="location.href='http://www.bharathomes.co.in/sell/2-bhk-builder-floor-uttam-nagar-west-delhi_372721.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img  alt="Coming Soon Property" src="https://static.realestateindia.com/images/no_image_180.jpg" width="200" height="140" /></div>
								<div class="p10px al">
								<p class="b dif">2bhk Builder Floor in Pri...</p>
								<p class="mt5px">Builder Floor</p>
								<p class="alpha75 mt5px">
								2 BHK / 65 Sq. Yards								
								</p>    
								<p class="alpha75">Uttam Nagar, Delhi</p>
								</div>
								</div>    
								</li>								
																
								<li>
								<div class="data ac dib cp"  onclick="location.href='http://www.bharathomes.co.in/sell/3-bhk-builder-floor-uttam-nagar-west-delhi_492106.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img src="https://rei.wlimg.com/prop_images/179879/492106_1-350x350.jpg"  alt="3 Bhk Builder Floor 720 Sqft"  style="width:100%;height:140px;"  /></div>
								<div class="p10px al">
								<p class="b dif">3 Bhk Builder Floor 720 S...</p>
								<p class="mt5px">Builder Floor</p>
								<p class="alpha75 mt5px">
								3 BHK / 720 Sq.ft.								
								</p>    
								<p class="alpha75">Vishwas Park, Matiala, Delhi</p>
								</div>
								</div>    
								</li>								
												
							</ul>
							</div>
							</div> 
							</section> 
												</div>
					</section>
									<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:55:"4 BHK Flats & Apartments for Sale in Dwarka, West Delhi";i:2;s:212:"Bharat Homes provide Flats & Apartments for Sale with 4 Bedrooms, 4 Bath Rooms, 16 Total Floor, 1750 Sq.ft. in L Zone, Delhi, Delhi L Zone, Delhi, Delhi. Requirement of Flats & Apartments in L Zone, Delhi, Delhi.";i:3;s:212:"Bharat Homes provide Flats & Apartments for Sale with 4 Bedrooms, 4 Bath Rooms, 16 Total Floor, 1750 Sq.ft. in L Zone, Delhi, Delhi L Zone, Delhi, Delhi. Requirement of Flats & Apartments in L Zone, Delhi, Delhi.";}