a:4:{i:0;s:32077:"					<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-->
											<div class="h1"><h1>3 bhk individual house with 1 shopfor sell in professor colony  raipur</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.maharshirealestate.in/" title="Home">Home</a>
						
						<b class="ffv p2px">&rsaquo;</b><a href="http://www.maharshirealestate.in/property-in-raipur.htm" title="Property in Raipur">Raipur</a><b class="ffv p2px">&rsaquo;</b><a href="http://www.maharshirealestate.in/property-for-sale-in-professor-colony-raipur.htm" title="Property for Sale in Professor Colony, Raipur">Professor Colony</a>						
						<b class="ffv p2px">&rsaquo;</b>3 bhk individual house with 1 shopfor sell in professor colony  raipur</p> 
												<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">
																	<div class="lh0 blur-bg" style="background-image:url(https://rei.wlimg.com/prop_images/1298855/809160_1.jpg); background-repeat:no-repeat;"></div>
									<a  data-fancybox="showZoomImage"  title="3 bhk individual house with 1 shopfor sell in professor colony  raipur" href="https://rei.wlimg.com/prop_images/1298855/809160_1.jpg"><img src="https://rei.wlimg.com/prop_images/1298855/809160_1-350x350.jpg"  alt="3 bhk individual house with 1 shopfor sell in professor colony  raipur"  /></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">near professor colony sect 01 raipur, Professor Colony, Raipur							<br>
							<span class="gray">By Maharshi Real Estate</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?title=3+bhk+individual+house+with+1+shopfor+sell+in+professor+colony++raipur&gaddress=Professor+Colony%2C+Raipur%2C+Chhattisgarh&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">75 L</span></div>
													<div class="xsmall ml15px dib">@ Rs 5769 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">REI809160</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">professor colony raipur</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(1300 > 0 )  updateArea(basetext,baseindex,1300,'builtupArea','Y',baseunit,'DrpDownTab');   }
						</script>  
						<span id="builtupArea_span">1300</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">Carpet Area</p>
						<p class="fl mr30px">:</p>
						<div class="fl b">
						<script type="text/javascript">
						function convert2(basetext,baseindex,baseunit){
						     if(2000 > 0 )  updateArea(basetext,baseindex,2000,'catpetArea','Y',baseunit,'DrpDownTab2');   }
						</script>  
						<span id="catpetArea_span">2000</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.maharshirealestate.in/enquiry-form-10017.htm">
						<input type="hidden" name="enqtype" value="property" />
						<input type="hidden" name="subject" value="Inquiry For Property - 3 bhk individual house with 1 shopfor sell in professor colony  raipur - REI809160" />
						<input type="hidden" name="property_id" value="809160" />
						</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> 0 to 5 years</li>
																<li><b>Furnishing :</b> Unfurnished</li>
																<li><b>Transaction :</b> Resale Property</li>
																<li><b>Bedrooms :</b> 5</li>
																<li><b>Bathrooms :</b> 5</li>
																<li><b>No. of Floors :</b> 1</li>
																<li><b>Property On Floor :</b> Ground</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>
													</ul>
			            <p class="cb"></p>
			        	<br>
			        							<br />
						<div class="bdrB xxlarge b dif pb5px mt10px mb7px">Property Description </div>
						<p class="aj">5 bhk individual house with 1 shop plot area 1300 sqft contruction 2000 sqft professor colony sect 01 raipur</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"> Mr. Narendra Sinha </p>
					<p class="alpha75 mb5px">  </p>
					<p> <i class="fa xxxlarge vam mr5px fa-mobile" aria-hidden="true"></i> 9827928007 </p>
					</div>
		
					<div class="column_Box mc">
					<div class="tcl bullet divider">
					<div class="h h2"><b class="plusMinus"></b>
					<p class="b dif rHead">Property by City</p>
					</div>
					<div class="ic showHide_rp">
					<div class="mt10px">
											<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="http://www.maharshirealestate.in/property-in-raipur.htm" class="dif" title="Property in Raipur">Raipur</a> <b class="alpha50 bn small">(46)</b></span>
											
					</div>
					</div>
					</div>
					</div>
					
										
					</div>
					</div>
					
												<br />
							<br />
							<section><br/>
							<div class="wrap fullFormat">	
							<div class="xxxlarge b mb30px ac">Related Properties in Raipur</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.maharshirealestate.in/sell/4-bhk-individual-houses-villas-kachna-raipur_810102.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI810102</p>
								<div class="picBg lh0"><img src="https://rei.wlimg.com/prop_images/1298855/810102_1-350x350.jpg"  alt="4 bhk individual  house for sell in kachna raipur"  /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.maharshirealestate.in/sell/4-bhk-individual-houses-villas-kachna-raipur_810102.htm">4 bhk individual  house for sell in kachna raipur</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> Kachna, Raipur </p>
																	<p class="mt5px b dull-text">4 bhk individual house plot area 1200 sqft contruction 2300 sqft raipur <a href="http://www.maharshirealestate.in/sell/4-bhk-individual-houses-villas-kachna-raipur_810102.htm" title="4 bhk individual  house for sell in kachna raipur" 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> 63 L </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Built Up Area </li>
									<li>: <b class="webrupee"></b> 1200 Sq.ft. </li>
									</ul>
																	<ul class="mb5px">
								<li class="dull-text">Property Type </li>
								<li>: <b class="webrupee"></b> Individual Houses / Villas </li>
								</ul>
																	<ul class="mb5px">
									<li class="dull-text">Bedroom </li>
									<li>: <b class="webrupee"></b> 4 BHK  </li>
									</ul>
																	</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_810102" id="prop_810102" method="post" action="http://www.maharshirealestate.in/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - 4 bhk individual  house for sell in kachna raipur - REI810102" />
								<input type="hidden" name="property_id" value="810102" />
								</form>			 
								<a href="http://www.maharshirealestate.in/sell/4-bhk-individual-houses-villas-kachna-raipur_810102.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.maharshirealestate.in/sell/3-bhk-individual-houses-villas-shrinagar-raipur_828994.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI828994</p>
								<div class="picBg lh0"><img src="https://rei.wlimg.com/prop_images/1298855/828994_1-350x350.jpg"  alt="3 bhk individual house for sell in shrinagar raipur"  /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.maharshirealestate.in/sell/3-bhk-individual-houses-villas-shrinagar-raipur_828994.htm">3 bhk individual house for sell in shrinagar raipu...</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> Shrinagar, Raipur </p>
																	<p class="mt5px b dull-text">3 bhk individual house for sell in shrinagar raipur plot area 950 sqft raip <a href="http://www.maharshirealestate.in/sell/3-bhk-individual-houses-villas-shrinagar-raipur_828994.htm" title="3 bhk individual house for sell in shrinagar raipur" 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> 37 L </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Built Up Area </li>
									<li>: <b class="webrupee"></b> 950 Sq.ft. </li>
									</ul>
																	<ul class="mb5px">
								<li class="dull-text">Property Type </li>
								<li>: <b class="webrupee"></b> Individual Houses / Villas </li>
								</ul>
																	<ul class="mb5px">
									<li class="dull-text">Bedroom </li>
									<li>: <b class="webrupee"></b> 3 BHK  </li>
									</ul>
																	</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_828994" id="prop_828994" method="post" action="http://www.maharshirealestate.in/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - 3 bhk individual house for sell in shrinagar raipur - REI828994" />
								<input type="hidden" name="property_id" value="828994" />
								</form>			 
								<a href="http://www.maharshirealestate.in/sell/3-bhk-individual-houses-villas-shrinagar-raipur_828994.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.maharshirealestate.in/sell/2-bhk-flats-apartments-nardaha-raipur_859939.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI859939</p>
								<div class="picBg lh0"><img src="https://rei.wlimg.com/prop_images/1298855/859939_1-350x350.jpg"  alt="2 bhk.3bhk,4 bhk availeble"  /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.maharshirealestate.in/sell/2-bhk-flats-apartments-nardaha-raipur_859939.htm">2 bhk.3bhk,4 bhk availeble</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> Nardaha, Raipur </p>
																	<p class="mt5px b dull-text">spars life city 
flat for sell in 2bhk ,3bhk ,4 bhk availeble nardaha raip <a href="http://www.maharshirealestate.in/sell/2-bhk-flats-apartments-nardaha-raipur_859939.htm" title="2 bhk.3bhk,4 bhk availeble" 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> 35 L </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Built Up Area </li>
									<li>: <b class="webrupee"></b> 900 Sq.ft. </li>
									</ul>
																	<ul class="mb5px">
								<li class="dull-text">Property Type </li>
								<li>: <b class="webrupee"></b> Flats & Apartments </li>
								</ul>
																	<ul class="mb5px">
									<li class="dull-text">Bedroom </li>
									<li>: <b class="webrupee"></b> 2 BHK  </li>
									</ul>
																	</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_859939" id="prop_859939" method="post" action="http://www.maharshirealestate.in/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - 2 bhk.3bhk,4 bhk availeble - REI859939" />
								<input type="hidden" name="property_id" value="859939" />
								</form>			 
								<a href="http://www.maharshirealestate.in/sell/2-bhk-flats-apartments-nardaha-raipur_859939.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.maharshirealestate.in/sell/2-bhk-individual-houses-villas-mahaveer-nagar-raipur_807129.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI807129</p>
								<div class="picBg lh0"><img src="https://rei.wlimg.com/prop_images/1298855/807129_1-350x350.jpg"  alt="2 bhk individual house for sell in mahavir  nagar raipur"  /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.maharshirealestate.in/sell/2-bhk-individual-houses-villas-mahaveer-nagar-raipur_807129.htm">2 bhk individual house for sell in mahavir  nagar ...</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> Mahaveer Nagar, Raipur </p>
																	<p class="mt5px b dull-text">2 bhk individual house plot 1000 sqft contrution  1000 sqft mahavir nagar r <a href="http://www.maharshirealestate.in/sell/2-bhk-individual-houses-villas-mahaveer-nagar-raipur_807129.htm" title="2 bhk individual house for sell in mahavir  nagar raipur" 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> 35 L </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Built Up Area </li>
									<li>: <b class="webrupee"></b> 1000 Sq.ft. </li>
									</ul>
																	<ul class="mb5px">
								<li class="dull-text">Property Type </li>
								<li>: <b class="webrupee"></b> Individual Houses / Villas </li>
								</ul>
																	<ul class="mb5px">
									<li class="dull-text">Bedroom </li>
									<li>: <b class="webrupee"></b> 2 BHK  </li>
									</ul>
																	</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_807129" id="prop_807129" method="post" action="http://www.maharshirealestate.in/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - 2 bhk individual house for sell in mahavir  nagar raipur - REI807129" />
								<input type="hidden" name="property_id" value="807129" />
								</form>			 
								<a href="http://www.maharshirealestate.in/sell/2-bhk-individual-houses-villas-mahaveer-nagar-raipur_807129.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.maharshirealestate.in/sell/2-bhk-individual-houses-villas-kota-colony-raipur_794865.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI794865</p>
								<div class="picBg lh0"><img src="https://rei.wlimg.com/prop_images/1298855/794865_1-350x350.jpg"  alt="2 BHK Individual House For Sale In Kota Teacher Colony Raipur"  /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.maharshirealestate.in/sell/2-bhk-individual-houses-villas-kota-colony-raipur_794865.htm">2 BHK Individual House For Sale In Kota Teacher Co...</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> Kota Colony, Raipur </p>
																	<p class="mt5px b dull-text">2 BHK Individual House For Sale In Kota Teacher Colony Raipur. Plot Area -  <a href="http://www.maharshirealestate.in/sell/2-bhk-individual-houses-villas-kota-colony-raipur_794865.htm" title="2 BHK Individual House For Sale In Kota Teacher Colony Raipur" 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 L </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Built Up Area </li>
									<li>: <b class="webrupee"></b> 1000 Sq.ft. </li>
									</ul>
																	<ul class="mb5px">
								<li class="dull-text">Property Type </li>
								<li>: <b class="webrupee"></b> Individual Houses / Villas </li>
								</ul>
																	<ul class="mb5px">
									<li class="dull-text">Bedroom </li>
									<li>: <b class="webrupee"></b> 2 BHK  </li>
									</ul>
																	</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_794865" id="prop_794865" method="post" action="http://www.maharshirealestate.in/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - 2 BHK Individual House For Sale In Kota Teacher Colony Raipur - REI794865" />
								<input type="hidden" name="property_id" value="794865" />
								</form>			 
								<a href="http://www.maharshirealestate.in/sell/2-bhk-individual-houses-villas-kota-colony-raipur_794865.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.maharshirealestate.in/sell/residential-plot-amlidih-raipur_866876.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI866876</p>
								<div class="picBg lh0"><img src="https://rei.wlimg.com/prop_images/1298855/866876_1-350x350.jpg"  alt="1800 per sqft"  /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.maharshirealestate.in/sell/residential-plot-amlidih-raipur_866876.htm">1800 per sqft</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> Amlidih, Raipur </p>
																	<p class="mt5px b dull-text">plot for sell in amlidih raipur plot area 2000 sqft plot rate 1800 per sqft <a href="http://www.maharshirealestate.in/sell/residential-plot-amlidih-raipur_866876.htm" title="1800 per sqft" 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 L </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Built Up Area </li>
									<li>: <b class="webrupee"></b> 2000 Sq.ft. </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_866876" id="prop_866876" method="post" action="http://www.maharshirealestate.in/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - 1800 per sqft - REI866876" />
								<input type="hidden" name="property_id" value="866876" />
								</form>			 
								<a href="http://www.maharshirealestate.in/sell/residential-plot-amlidih-raipur_866876.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:69:"5 BHK Individual Houses / Villas for Sale in Professor Colony, Raipur";i:2;s:294:"Property for Sale in Professor Colony, Raipur, Chhattisgarh, 5 Bedrooms, 5 Bath Rooms, 1 Total Floor, 1300 Sq.ft. Individual Houses / Villas in Professor Colony, Raipur, Chhattisgarh, Maharshi Real Estate deal in all type of Individual Houses / Villas in Professor Colony, Raipur, Chhattisgarh.";i:3;s:294:"Property for Sale in Professor Colony, Raipur, Chhattisgarh, 5 Bedrooms, 5 Bath Rooms, 1 Total Floor, 1300 Sq.ft. Individual Houses / Villas in Professor Colony, Raipur, Chhattisgarh, Maharshi Real Estate deal in all type of Individual Houses / Villas in Professor Colony, Raipur, Chhattisgarh.";}