a:4:{i:0;s:28169:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.nainahomecorporation.co.in/" title="Home">Home</a>
						
						<b class="ffv p2px">&rsaquo;</b><a href="http://www.nainahomecorporation.co.in/property-in-zirakpur.htm" title="Property in Zirakpur">Zirakpur</a><b class="ffv p2px">&rsaquo;</b><a href="http://www.nainahomecorporation.co.in/property-for-sale-in-airport-road-zirakpur.htm" title="Property for Sale in Airport Road, Zirakpur">Airport Road</a>											
						<b class="ffv p2px">&rsaquo;</b> 3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur</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" id="slider1">
												<li class="bdr bw1px c5px p1px">
							<div class="">
							<p class="ac vam">
															<div class="lh0 blur-bg" style="background-image:url(https://rei.wlimg.com/prop_images//828820_1.jpg); background-repeat:no-repeat;"></div>
								<a  data-fancybox="showZoomImage"  title="3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur" href="https://rei.wlimg.com/prop_images/267151/828820_1.jpg"><img src="https://rei.wlimg.com/prop_images/267151/828820_1-350x350.jpg"  alt="3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur"  /></a>							</p>
							</div>
							</li>
														<li class="bdr bw1px c5px p1px">
							<div class="">
							<p class="ac vam">
															<div class="lh0 blur-bg" style="background-image:url(https://rei.wlimg.com/prop_images//828820_2.jpg); background-repeat:no-repeat;"></div>
								<a  data-fancybox="showZoomImage"  title="3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur" href="https://rei.wlimg.com/prop_images/267151/828820_2.jpg"><img src="https://rei.wlimg.com/prop_images/267151/828820_2-350x350.jpg"  alt="3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur"  /></a>							</p>
							</div>
							</li>
														<li class="bdr bw1px c5px p1px">
							<div class="">
							<p class="ac vam">
															<div class="lh0 blur-bg" style="background-image:url(https://rei.wlimg.com/prop_images//828820_3.jpg); background-repeat:no-repeat;"></div>
								<a  data-fancybox="showZoomImage"  title="3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur" href="https://rei.wlimg.com/prop_images/267151/828820_3.jpg"><img src="https://rei.wlimg.com/prop_images/267151/828820_3-350x350.jpg"  alt="3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur"  /></a>							</p>
							</div>
							</li>
														<li class="bdr bw1px c5px p1px">
							<div class="">
							<p class="ac vam">
															<div class="lh0 blur-bg" style="background-image:url(https://rei.wlimg.com/prop_images//828820_4.jpg); background-repeat:no-repeat;"></div>
								<a  data-fancybox="showZoomImage"  title="3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur" href="https://rei.wlimg.com/prop_images/267151/828820_4.jpg"><img src="https://rei.wlimg.com/prop_images/267151/828820_4-350x350.jpg"  alt="3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur"  /></a>							</p>
							</div>
							</li>
														<li class="bdr bw1px c5px p1px">
							<div class="">
							<p class="ac vam">
															<div class="lh0 blur-bg" style="background-image:url(https://rei.wlimg.com/prop_images//828820_5.jpg); background-repeat:no-repeat;"></div>
								<a  data-fancybox="showZoomImage"  title="3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur" href="https://rei.wlimg.com/prop_images/267151/828820_5.jpg"><img src="https://rei.wlimg.com/prop_images/267151/828820_5-350x350.jpg"  alt="3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur"  /></a>							</p>
							</div>
							</li>
														<li class="bdr bw1px c5px p1px">
							<div class="">
							<p class="ac vam">
															<div class="lh0 blur-bg" style="background-image:url(https://rei.wlimg.com/prop_images//828820_6.jpg); background-repeat:no-repeat;"></div>
								<a  data-fancybox="showZoomImage"  title="3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur" href="https://rei.wlimg.com/prop_images/267151/828820_6.jpg"><img src="https://rei.wlimg.com/prop_images/267151/828820_6-350x350.jpg"  alt="3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur"  /></a>							</p>
							</div>
							</li>
														<li class="bdr bw1px c5px p1px">
							<div class="">
							<p class="ac vam">
															<div class="lh0 blur-bg" style="background-image:url(https://rei.wlimg.com/prop_images//828820_7.jpg); background-repeat:no-repeat;"></div>
								<a  data-fancybox="showZoomImage"  title="3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur" href="https://rei.wlimg.com/prop_images/267151/828820_7.jpg"><img src="https://rei.wlimg.com/prop_images/267151/828820_7-350x350.jpg"  alt="3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur"  /></a>							</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">Airport Road, Zirakpur							<br>
							<span class="gray">By Naina Home Corporation</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=GBP ATHNS~~Airport Road~~Zirakpur~~Punjab&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">62.93 L</span></div>
						<div class="xsmall ml15px dib">@ Rs 5244 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">REI828820</p>
						</li>
												<li>
						<p class="fl w130px">Property For</p>
						<p class="fl mr30px">:</p>
						<p class="ofh b">Sale</p>
						</li>
														<li>
								<p class="fl w130px">Society Name</p>
								<p class="fl mr30px">:</p>
								<p class="ofh b">GBP ATHNS</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(1200 > 0 )  updateArea(basetext,baseindex,1200,'builtupArea','Y',baseunit,'DrpDownTab');   }
						</script>  
						<span id="builtupArea_span">1200</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>
												<li class="fo">
						<p class="fl w130px">Land / Plot Area</p>
						<p class="fl mr30px">:</p>
						<div class="fl b">
						<script type="text/javascript">
						function convert1(basetext,baseindex,baseunit){
						     if(1502 > 0 )  updateArea(basetext,baseindex,1502,'landArea','Y',baseunit,'DrpDownTab1'); }
						</script>  
						<span id="landArea_span">1502</span>
						<span class="pr">
						<a onClick="jQuery('#landArea').show();event.stopPropagation();" class="headVr pl5px pr5px small dib vam ml5px" id="DrpDownTab1">Sq.ft. &#9660;</a>
						<div id="landArea" 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="landAreaLabel">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:convert1('Sq.%20Feet',1,'Sq.ft.');">Sq.Feet</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Cent',19,'Sq.ft.');">Cent</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Yards',2,'Sq.ft.');">Sq. Yards</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Ares',10,'Sq.ft.');">Ares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Acre',12,'Sq.ft.');">Acres</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Meter',3,'Sq.ft.');">Sq. Meter</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Bigha',13,'Sq.ft.');">Bigha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Hectares',15,'Sq.ft.');">Hectares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Guntha',9,'Sq.ft.');">Guntha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Marla',16,'Sq.ft.');">Marla</a></li>
						</ul>
						</div>
						</span>
						<script>
						jQuery(document).ready(function(e) {
							jQuery('body').click(function(){
								jQuery('#landArea').hide();
								
							})
						});
						</script>
						</div>			
						</li>
												<li class="fo">
						<p class="fl w130px">Carpet Area</p>
						<p class="fl mr30px">:</p>
						<div class="fl b">
						<script type="text/javascript">
						function convert2(basetext,baseindex,baseunit){
						     if(1000 > 0 )  updateArea(basetext,baseindex,1000,'catpetArea','Y',baseunit,'DrpDownTab2');   }
						</script>  
						<span id="catpetArea_span">1000</span>
						<span class="pr">
						<a onClick="jQuery('#catpetArea').show();event.stopPropagation();" class="headVr pl5px pr5px small dib vam ml5px" id="DrpDownTab2">Sq.ft. &#9660;</a>
						<div id="catpetArea" 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="catpetAreaLabel">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:convert2('Sq.%20Feet',1,'Sq.ft.');">Sq.Feet</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Cent',19,'Sq.ft.');">Cent</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Sq.%20Yards',2,'Sq.ft.');">Sq. Yards</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Ares',10,'Sq.ft.');">Ares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Acre',12,'Sq.ft.');">Acres</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Sq.%20Meter',3,'Sq.ft.');">Sq. Meter</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Bigha',13,'Sq.ft.');">Bigha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Hectares',15,'Sq.ft.');">Hectares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Guntha',9,'Sq.ft.');">Guntha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Marla',16,'Sq.ft.');">Marla</a></li>
						</ul>
						</div>
						</span>
						<script>
						jQuery(document).ready(function(e) {
							jQuery('body').click(function(){
								jQuery('#catpetArea').hide();
								
							})
						});
						</script>	
						</div>		
						</li>
											</ul>
											<form class="inquiry-form" name="frmpropertydetail" method="post" action="http://www.nainahomecorporation.co.in/enquiry-form-10017.htm">
						<input type="hidden" name="enqtype" value="property" />
						<input type="hidden" name="subject" value="Inquiry For Property - 3 BHK PR - 7, International Airport Road, Near McDonalds, Zirakpur - REI828820" />
						<input type="hidden" name="property_id" value="828820" />
						</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> Semi-Furnished</li>
																<li><b>Transaction :</b> New Property</li>
																<li><b>Bedrooms :</b> 3</li>
																<li><b>Bathrooms :</b> 3</li>
																<li><b>No. of Floors :</b> 12</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-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>
													</ul>
			            <p class="cb"></p>
			        	<br>
			        							<br />
						<div class="bdrB xxlarge b dif pb5px mt10px mb7px">Property Description </div>
						<p class="aj">World Class Club House<br/>
Restaurant<br/>
Leisure Pool<br/>
Gymnasium<br/>
Indoor Games<br/>
Help Desk for Travel & Tourism<br/>
On-Call House Keeping Services<br/>
Crèche & Nursery School<br/>
Lush Green Landscaped Parks with Children’s Play Area<br/>
Outdoor Games & Jogging Track<br/>
Open Air Amphitheatre with Meditation & Yoga Facilities<br/>
Water Fountain<br/>
Park Parasol<br/>
Clock Tower & Sand Pit<br/>
Medical Aid with Ambulance service<br/>
Abundant Water Supply<br/>
24x7 Power Backup<br/>
Dedicated Car Parking<br/>
Hi-end security services<br/>
Technical Features<br/>
<br/>
RCC Structure as per NBC 2016<br/>
Earthquake Resistant Structure<br/>
Abundant Water Supply Arrangement<br/>
Wide Roads with Lush Green Area<br/>
Modern Street Light System<br/>
Rain Water Harvesting System<br/>
Electronic Surveillance Security System<br/>
WiFi & DTH Services<br/>
Intercom Facility<br/>
High Speed Elevators<br/>
Fire Fighting System<br/>
24 X 7 Power backup<br/>
Athens - A smart city inspired by true Greek Architecture in the heart of Zirakpur. A true inspiration from the authentic Greek Flavour to the most opulent city of Punjab. Promising address bathed in the blissful rays of Chandigarh.<br/>
<br/>
It is a complete group housing, fully integrated and conceptualized sophisticatedly with a touch of class. It is a perfect mix of G+6, G+9 and S+12 towers with a total of 713 spacious 2BHK & 3BHK Apartments & Penthouses.<br/>
<br/>
Athens is located on 200 ft. wide International Airport Road and is 500 m from NH-22.<br/>
<br/>
2 BHK, 3 BHK, 4 BHK Flats in Zirakpur developed by gupta builders and promoters.</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"> Raj Sharma </p>
					<p class="alpha75 mb5px">  </p>
					<p> <i class="fa xxxlarge vam mr5px fa-mobile" aria-hidden="true"></i> 8872005875 </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.nainahomecorporation.co.in/property-in-zirakpur.htm" class="dif" title="Property in Zirakpur">Zirakpur</a> <b class="alpha50 bn small">(40)</b></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="http://www.nainahomecorporation.co.in/property-in-mohali.htm" class="dif" title="Property in Mohali">Mohali</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.nainahomecorporation.co.in/sell/2-bhk-flats-apartments-zirakpur-road-chandigarh_808464.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img src="https://rei.wlimg.com/prop_images/267151/808464_1-350x350.jpeg"  alt="2bhk near ambala highway"  style="width:100%;height:140px;"  /></div>
								<div class="p10px al">
								<p class="b dif">2bhk near ambala highway</p>
								<p class="mt5px">Flats & Apartments</p>
								<p class="alpha75 mt5px">
								2 BHK / 900 Sq.ft.								
								</p>    
								<p class="alpha75">Ambala Highway, Zirakpur</p>
								</div>
								</div>    
								</li>								
																
								<li>
								<div class="data ac dib cp"  onclick="location.href='http://www.nainahomecorporation.co.in/sell/3-bhk-flats-apartments-dhakoli-zirakpur_805091.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img src="https://rei.wlimg.com/prop_images/267151/805091_1-350x350.jpeg"  alt="3 Bhk luxury Appartment"  style="width:100%;height:140px;"  /></div>
								<div class="p10px al">
								<p class="b dif">3 Bhk luxury Appartment</p>
								<p class="mt5px">Flats & Apartments</p>
								<p class="alpha75 mt5px">
								3 BHK / 1400 Sq.ft.								
								</p>    
								<p class="alpha75">Dhakoli, Zirakpur</p>
								</div>
								</div>    
								</li>								
																
								<li>
								<div class="data ac dib cp"  onclick="location.href='http://www.nainahomecorporation.co.in/sell/3-bhk-flats-apartments-zirakpur-road-chandigarh_811211.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img src="https://rei.wlimg.com/prop_images/267151/811211_1-350x350.jpg"  alt="3 BHK Flat For Sale in Zirakpur, Chandigarh"  style="width:100%;height:140px;"  /></div>
								<div class="p10px al">
								<p class="b dif">3 BHK Flat For Sale in Zi...</p>
								<p class="mt5px">Flats & Apartments</p>
								<p class="alpha75 mt5px">
								3 BHK / 1845 Sq.ft.								
								</p>    
								<p class="alpha75">Patiala Road, Zirakpur</p>
								</div>
								</div>    
								</li>								
																
								<li>
								<div class="data ac dib cp"  onclick="location.href='http://www.nainahomecorporation.co.in/sell/2-bhk-flats-apartments_804771.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img src="https://rei.wlimg.com/prop_images/267151/804771_1-350x350.jpg"  alt="2 BHK Apartment"  style="width:100%;height:140px;"  /></div>
								<div class="p10px al">
								<p class="b dif">2 BHK Apartment</p>
								<p class="mt5px">Flats & Apartments</p>
								<p class="alpha75 mt5px">
								2 BHK / 1050 Sq.ft.								
								</p>    
								<p class="alpha75">Patiala Road, Zirakpur</p>
								</div>
								</div>    
								</li>								
																
								<li>
								<div class="data ac dib cp"  onclick="location.href='http://www.nainahomecorporation.co.in/sell/3-bhk-flats-apartments-airport-road-zirakpur_804525.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img src="https://rei.wlimg.com/prop_images/267151/804525_1-350x350.jpg"  alt="3 BHK Luxury Apartment"  style="width:100%;height:140px;"  /></div>
								<div class="p10px al">
								<p class="b dif">3 BHK Luxury Apartment</p>
								<p class="mt5px">Flats & Apartments</p>
								<p class="alpha75 mt5px">
								3 BHK / 1390 Sq.ft.								
								</p>    
								<p class="alpha75">Airport Road, Zirakpur</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:59:"3 BHK Flats & Apartments for Sale in Airport Road, Zirakpur";i:2;s:274:"Flats & Apartments having 3 Bedrooms, 3 Bath Rooms, 12 Total Floor, 1200 Sq.ft. in Airport Road, Zirakpur, Punjab Airport Road, Zirakpur, Punjab. Flats & Apartments Property for Sale in Airport Road, Zirakpur, Punjab Airport Road, Zirakpur, Punjab at Naina Home Corporation.";i:3;s:274:"Flats & Apartments having 3 Bedrooms, 3 Bath Rooms, 12 Total Floor, 1200 Sq.ft. in Airport Road, Zirakpur, Punjab Airport Road, Zirakpur, Punjab. Flats & Apartments Property for Sale in Airport Road, Zirakpur, Punjab Airport Road, Zirakpur, Punjab at Naina Home Corporation.";}