a:4:{i:0;s:26159:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Good Location</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.shreemahakaleshwarproperties.com/" title="Home">Home</a>
						
						<b class="ffv p2px">&rsaquo;</b><a href="http://www.shreemahakaleshwarproperties.com/property-in-moradabad.htm" title="Property in Moradabad">Moradabad</a><b class="ffv p2px">&rsaquo;</b><a href="http://www.shreemahakaleshwarproperties.com/property-for-sale-in-new-moradabad.htm" title="Property for Sale in New Moradabad">New Moradabad</a>											
						<b class="ffv p2px">&rsaquo;</b> Good Location</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">Delhi road new moradabad, New Moradabad							<br>
							<span class="gray">By Shree Mahakaleshwar Properties</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=Parsavnath Pratibha - New Moradabad (Moradabad)~~Moradabad~~Uttar Pradesh&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">30 L</span></div>
						<div class="xsmall ml15px dib">@ Rs 2768 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">REI825493</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">Parsavnath Pratibha - New Moradabad (Moradabad)</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(1084 > 0 )  updateArea(basetext,baseindex,1084,'builtupArea','Y',baseunit,'DrpDownTab');   }
						</script>  
						<span id="builtupArea_span">1084</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(1084 > 0 )  updateArea(basetext,baseindex,1084,'landArea','Y',baseunit,'DrpDownTab1'); }
						</script>  
						<span id="landArea_span">1084</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(1084 > 0 )  updateArea(basetext,baseindex,1084,'catpetArea','Y',baseunit,'DrpDownTab2');   }
						</script>  
						<span id="catpetArea_span">1084</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>
						
					</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> 0 to 5 years</li>
																<li><b>Furnishing :</b> Furnished</li>
																<li><b>Transaction :</b> Resale Property</li>
																<li><b>Bedrooms :</b> 2</li>
																<li><b>Bathrooms :</b> 2</li>
																<li><b>No. of Floors :</b> 9</li>
																<li><b>Property On Floor :</b> 5</li>
																<li><b>Property Face :</b> 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-rp" title="Reserved Parking"></i> Reserved Parking</li>
														<li><i class="si w24px icon-pb" title="Power Back Up"></i> Power Back Up</li>
														<li><i class="si w24px icon-fa" title="Security"></i> Security</li>
														<li><i class="si w24px icon-lf" title="Lift"></i> Lift</li>
														<li><i class="si w24px icon-fc" title="Gymnasium"></i> Gymnasium</li>
														<li><i class="si w24px icon-ccc" title="Club House"></i> Club House</li>
														<li><i class="si w24px icon-rain-water" title="Rain Water Harvesting"></i> Rain Water Harvesting</li>
														<li><i class="si w24px icon-intercom" title="Intercom"></i> Intercom</li>
														<li><i class="si w24px icon-ms" title="Maintenance Staff"></i> Maintenance Staff</li>
														<li><i class="si w24px icon-vastu-complaiant" title="Vastu Complaiant"></i> Vastu Complaiant</li>
														<li><i class="si w24px icon-security-fire-alarm" title="Security / Fire Alarm"></i> Security / Fire Alarm</li>
														<li><i class="si w24px icon-piped-gas" title="Piped Gas"></i> Piped Gas</li>
														<li><i class="si w24px icon-sw" title="Swimming Pool"></i> Swimming Pool</li>
														<li><i class="si w24px icon-pk" title="Park"></i> Park</li>
														<li><i class="si w24px icon-Play-area" title="Play Area"></i> Play Area</li>
													</ul>
			            <p class="cb"></p>
			        	<br>
			        							<br />
						<div class="bdrB xxlarge b dif pb5px mt10px mb7px">Property Description </div>
						<p class="aj">We r sell a flat in parasvanath ptathiba in sec 4 new moradabad. Fully furnish</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"> Bhoopesh Sharma </p>
					<p class="alpha75 mb5px">  </p>
					<p> <i class="fa xxxlarge vam mr5px fa-mobile" aria-hidden="true"></i> 9837088333 </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.shreemahakaleshwarproperties.com/property-in-moradabad.htm" class="dif" title="Property in Moradabad">Moradabad</a> <b class="alpha50 bn small">(4)</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_3img mt30px">
							<ul class="lsn m0px p0px fo idv_eqheight cols_similar">						
															<li>
								<div class="bdr mb15px">
								<div class="cp" onclick="location.href='http://www.shreemahakaleshwarproperties.com/sell/residential-plot-new-moradabad-moradabad_854767.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI854767</p>
								<div class="picBg lh0"><img  alt="Coming Soon Property" src="https://static.realestateindia.com/images/no_image_180.jpg" width="200" height="200" /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.shreemahakaleshwarproperties.com/sell/residential-plot-new-moradabad-moradabad_854767.htm">Sell</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> New Moradabad </p>
																	<p class="mt5px b dull-text">Sec 14 corner + park phase 
East south phase <a href="http://www.shreemahakaleshwarproperties.com/sell/residential-plot-new-moradabad-moradabad_854767.htm" title="Sell" class="dif u">Read More</a></p>
																	<div class="dt ac-dtr acac-dtc dul b mt10px">
																	<ul class="mb5px">
									<li class="dull-text">Cost </li>
									<li>: <b class="webrupee"></b>   50 Lac  </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Land / Plot Area </li>
									<li>: <b class="webrupee"></b> 244 Sq. Meter </li>
									</ul>
																	<ul class="mb5px">
								<li class="dull-text">Property Type </li>
								<li>: <b class="webrupee"></b> Residential Plot </li>
								</ul>
																</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_854767" id="prop_854767" method="post" action="http://www.shreemahakaleshwarproperties.com/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - Sell - REI854767" />
								<input type="hidden" name="property_id" value="854767" />
								</form>			 
								<a href="http://www.shreemahakaleshwarproperties.com/sell/residential-plot-new-moradabad-moradabad_854767.htm" class="button p5px10px c3px mt5px mb5px">View Detail</a> <a href="javascript:void(0);" class="submit-inquiry buttonBig p5px10px ml5px c3px mt5px mb5px">Send Enquiry</a></div>
								</div>
																<li>
								<div class="bdr mb15px">
								<div class="cp" onclick="location.href='http://www.shreemahakaleshwarproperties.com/sell/residential-plot-new-moradabad-moradabad_826044.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI826044</p>
								<div class="picBg lh0"><img  alt="Coming Soon Property" src="https://static.realestateindia.com/images/no_image_180.jpg" width="200" height="200" /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.shreemahakaleshwarproperties.com/sell/residential-plot-new-moradabad-moradabad_826044.htm">Sec 16 good location near NH 24</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> New Moradabad </p>
																	<p class="mt5px b dull-text">Resale plot In good location near by Neo dales school new moradabad <a href="http://www.shreemahakaleshwarproperties.com/sell/residential-plot-new-moradabad-moradabad_826044.htm" title="Sec 16 good location near NH 24" class="dif u">Read More</a></p>
																	<div class="dt ac-dtr acac-dtc dul b mt10px">
																	<ul class="mb5px">
									<li class="dull-text">Cost </li>
									<li>: <b class="webrupee"></b>  14  Lac  </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Land / Plot Area </li>
									<li>: <b class="webrupee"></b> 40.5 Sq. Meter </li>
									</ul>
																	<ul class="mb5px">
								<li class="dull-text">Property Type </li>
								<li>: <b class="webrupee"></b> Residential Plot </li>
								</ul>
																</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_826044" id="prop_826044" method="post" action="http://www.shreemahakaleshwarproperties.com/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - Sec 16 good location near NH 24 - REI826044" />
								<input type="hidden" name="property_id" value="826044" />
								</form>			 
								<a href="http://www.shreemahakaleshwarproperties.com/sell/residential-plot-new-moradabad-moradabad_826044.htm" class="button p5px10px c3px mt5px mb5px">View Detail</a> <a href="javascript:void(0);" class="submit-inquiry buttonBig p5px10px ml5px c3px mt5px mb5px">Send Enquiry</a></div>
								</div>
																<li>
								<div class="bdr mb15px">
								<div class="cp" onclick="location.href='http://www.shreemahakaleshwarproperties.com/sell/residential-plot-new-moradabad-moradabad_820791.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI820791</p>
								<div class="picBg lh0"><img  alt="Coming Soon Property" src="https://static.realestateindia.com/images/no_image_180.jpg" width="200" height="200" /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.shreemahakaleshwarproperties.com/sell/residential-plot-new-moradabad-moradabad_820791.htm">Sec 1</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> New Moradabad </p>
																	<p class="mt5px b dull-text">Near Mahakaleshwar mandir <a href="http://www.shreemahakaleshwarproperties.com/sell/residential-plot-new-moradabad-moradabad_820791.htm" title="Sec 1" class="dif u">Read More</a></p>
																	<div class="dt ac-dtr acac-dtc dul b mt10px">
																	<ul class="mb5px">
									<li class="dull-text">Cost </li>
									<li>: <b class="webrupee"></b>   36 Lac  </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Land / Plot Area </li>
									<li>: <b class="webrupee"></b> 200 Sq. Meter </li>
									</ul>
																	<ul class="mb5px">
								<li class="dull-text">Property Type </li>
								<li>: <b class="webrupee"></b> Residential Plot </li>
								</ul>
																</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_820791" id="prop_820791" method="post" action="http://www.shreemahakaleshwarproperties.com/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - Sec 1 - REI820791" />
								<input type="hidden" name="property_id" value="820791" />
								</form>			 
								<a href="http://www.shreemahakaleshwarproperties.com/sell/residential-plot-new-moradabad-moradabad_820791.htm" class="button p5px10px c3px mt5px mb5px">View Detail</a> <a href="javascript:void(0);" class="submit-inquiry buttonBig p5px10px ml5px c3px mt5px mb5px">Send Enquiry</a></div>
								</div>
												
							</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:46:"2 BHK Flats & Apartments for Sale in Moradabad";i:2;s:291:"Property for Sale in New Moradabad, Moradabad, Uttar Pradesh, 2 Bedrooms, 2 Bath Rooms, 9 Total Floor, 1084 Sq.ft. Flats & Apartments in New Moradabad, Moradabad, Uttar Pradesh, Shree Mahakaleshwar Properties deal in all type of Flats & Apartments in New Moradabad, Moradabad, Uttar Pradesh.";i:3;s:291:"Property for Sale in New Moradabad, Moradabad, Uttar Pradesh, 2 Bedrooms, 2 Bath Rooms, 9 Total Floor, 1084 Sq.ft. Flats & Apartments in New Moradabad, Moradabad, Uttar Pradesh, Shree Mahakaleshwar Properties deal in all type of Flats & Apartments in New Moradabad, Moradabad, Uttar Pradesh.";}