a:4:{i:0;s:24336:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>2 BHK Flat For Rent In  Florida Gardens, Colva, Goa</h1></div>
						<p class="breadcrumb ar uu small"><a href="https://www.romeoestates.in/" title="Home">Home</a>
						
						<b class="ffv p2px">&rsaquo;</b><a href="https://www.romeoestates.in/property-in-goa.htm" title="Property in Goa">Goa</a><b class="ffv p2px">&rsaquo;</b><a href="https://www.romeoestates.in/property-for-rent-in-colva-goa.htm" title="Property for Rent in Colva, Goa">Colva</a>											
						<b class="ffv p2px">&rsaquo;</b> 2 BHK Flat For Rent In  Florida Gardens, Colva, Goa</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/625601/821934_1.jpg); background-repeat:no-repeat;"></div>
									<a  data-fancybox="showZoomImage"  title="2 BHK Flat For Rent In  Florida Gardens, Colva, Goa" href="https://rei.wlimg.com/prop_images/625601/821934_1.jpg"><img src="https://rei.wlimg.com/prop_images/625601/821934_1-350x350.jpg"  alt="2 BHK Flat For Rent In  Florida Gardens, Colva, Goa"  /></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/625601/821934_2.jpg); background-repeat:no-repeat;"></div>
									<a  data-fancybox="showZoomImage"  title="2 BHK Flat For Rent In  Florida Gardens, Colva, Goa" href="https://rei.wlimg.com/prop_images/625601/821934_2.jpg"><img src="https://rei.wlimg.com/prop_images/625601/821934_2-350x350.jpg"  alt="2 BHK Flat For Rent In  Florida Gardens, Colva, Goa"  /></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/625601/821934_3.jpg); background-repeat:no-repeat;"></div>
									<a  data-fancybox="showZoomImage"  title="2 BHK Flat For Rent In  Florida Gardens, Colva, Goa" href="https://rei.wlimg.com/prop_images/625601/821934_3.jpg"><img src="https://rei.wlimg.com/prop_images/625601/821934_3-350x350.jpg"  alt="2 BHK Flat For Rent In  Florida Gardens, Colva, Goa"  /></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/625601/821934_4.jpg); background-repeat:no-repeat;"></div>
									<a  data-fancybox="showZoomImage"  title="2 BHK Flat For Rent In  Florida Gardens, Colva, Goa" href="https://rei.wlimg.com/prop_images/625601/821934_4.jpg"><img src="https://rei.wlimg.com/prop_images/625601/821934_4-350x350.jpg"  alt="2 BHK Flat For Rent In  Florida Gardens, Colva, Goa"  /></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/625601/821934_5.jpg); background-repeat:no-repeat;"></div>
									<a  data-fancybox="showZoomImage"  title="2 BHK Flat For Rent In  Florida Gardens, Colva, Goa" href="https://rei.wlimg.com/prop_images/625601/821934_5.jpg"><img src="https://rei.wlimg.com/prop_images/625601/821934_5-350x350.jpg"  alt="2 BHK Flat For Rent In  Florida Gardens, Colva, Goa"  /></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">Florida Gardens, Colva, Goa							<br>
							<span class="gray">By Romeo Estate And 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?title=2+BHK+Flat+For+Rent+In++Florida+Gardens%2C+Colva%2C+Goa&gaddress=Florida+Gardens%2C+Colva%2C+Goa&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">22 K</span></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">REI821934</p>
						</li>
												<li>
						<p class="fl w130px">Property For</p>
						<p class="fl mr30px">:</p>
						<p class="ofh b">Rent</p>
						</li>
														<li>
								<p class="fl w130px">Society Name</p>
								<p class="fl mr30px">:</p>
								<p class="ofh b">Florida Gardens</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(1000 > 0 )  updateArea(basetext,baseindex,1000,'builtupArea','Y',baseunit,'DrpDownTab');   }
						</script>  
						<span id="builtupArea_span">1000</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="https://www.romeoestates.in/enquiry-form-10017.htm">
						<input type="hidden" name="enqtype" value="property" />
						<input type="hidden" name="subject" value="Inquiry For Property - 2 BHK Flat For Rent In  Florida Gardens, Colva, Goa - REI821934" />
						<input type="hidden" name="property_id" value="821934" />
						</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>Furnishing :</b> Furnished</li>
																<li><b>Bedrooms :</b> 2</li>
																<li><b>Bathrooms :</b> 2</li>
																<li><b>Reserved Parking :</b> 1</li>
																<li><b>Property Face :</b> South</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-ws" title="Water Storage"></i> Water Storage</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>
													</ul>
			            <p class="cb"></p>
			        	<br>
			        							<br />
						<div class="bdrB xxlarge b dif pb5px mt10px mb7px">Property Description </div>
						<p class="aj">1). 2 BHK Flat For Rent In  Florida Gardens, Colva, Goa. Build up Area - 1000Sq.Ft, 2 Bedroom, 2 Bathroom, 1 Balcony, Fully Furnushed, 2nd Floor, South Facing, 1 Car Parking, Amount - 22000/-. Deposit Amount - 66,000 and 1 Month Brokerage. The apartment is in South goa colva 2km from the beach colva with swimming pool, security, lift, beautiful garden, gymn etc. Call for more details .....</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"> Romeo Noronha  </p>
					<p class="alpha75 mb5px"> romeo.noronha@gmail.com </p>
					<p> <i class="fa xxxlarge vam mr5px fa-mobile" aria-hidden="true"></i> +91-9657897654 </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="https://www.romeoestates.in/property-in-goa.htm" class="dif" title="Property in Goa">Goa</a> <b class="alpha50 bn small">(8)</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 Goa</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='https://www.romeoestates.in/rent/3-bhk-individual-houses-villas-nuvem-goa_839041.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI839041</p>
								<div class="picBg lh0"><img src="https://rei.wlimg.com/prop_images/625601/839041_1-350x350.jpg"  alt="3 BHK Row Villa For Rent In Nuvem Goa"  /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="https://www.romeoestates.in/rent/3-bhk-individual-houses-villas-nuvem-goa_839041.htm">3 BHK Row Villa For Rent In Nuvem Goa</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> Nuvem, Goa </p>
																	<p class="mt5px b dull-text">3 BHK Row Villa For Rent In Nuvem Goa. Build up Area – 200 Sq.Meter, Full <a href="https://www.romeoestates.in/rent/3-bhk-individual-houses-villas-nuvem-goa_839041.htm" title="3 BHK Row Villa For Rent In Nuvem Goa" 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> 60 K </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Built Up 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> 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_839041" id="prop_839041" method="post" action="https://www.romeoestates.in/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - 3 BHK Row Villa For Rent In Nuvem Goa - REI839041" />
								<input type="hidden" name="property_id" value="839041" />
								</form>			 
								<a href="https://www.romeoestates.in/rent/3-bhk-individual-houses-villas-nuvem-goa_839041.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='https://www.romeoestates.in/rent/hotel-restaurant-margao-goa_829926.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI829926</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="https://www.romeoestates.in/rent/hotel-restaurant-margao-goa_829926.htm">Commercial Hotel For Lease In Goa</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> Margao, Goa </p>
																	<p class="mt5px b dull-text">Commercial Hotel For Lease In Prime Location at Opp. Ktc Bus Stand Margao,  <a href="https://www.romeoestates.in/rent/hotel-restaurant-margao-goa_829926.htm" title="Commercial Hotel For Lease In Goa" 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> 26 L </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Built Up Area </li>
									<li>: <b class="webrupee"></b> 2000 Sq. Meter </li>
									</ul>
																	<ul class="mb5px">
								<li class="dull-text">Property Type </li>
								<li>: <b class="webrupee"></b> Hotel & Restaurant </li>
								</ul>
																</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_829926" id="prop_829926" method="post" action="https://www.romeoestates.in/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - Commercial Hotel For Lease In Goa - REI829926" />
								<input type="hidden" name="property_id" value="829926" />
								</form>			 
								<a href="https://www.romeoestates.in/rent/hotel-restaurant-margao-goa_829926.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='https://www.romeoestates.in/rent/1-bhk-flats-apartments-margao-goa_819609.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI819609</p>
								<div class="picBg lh0"><img src="https://rei.wlimg.com/prop_images/625601/819609_1-350x350.jpg"  alt="1 BHK Flat For Rent In House No. 684 Margao Goa"  /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="https://www.romeoestates.in/rent/1-bhk-flats-apartments-margao-goa_819609.htm">1 BHK Flat For Rent In House No. 684 Margao Goa</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> Fatorda, Goa </p>
																	<p class="mt5px b dull-text">1 BHK Flat For Rent In House No. 684, Ward 2, Near Hotel Sunaina, Behind KT <a href="https://www.romeoestates.in/rent/1-bhk-flats-apartments-margao-goa_819609.htm" title="1 BHK Flat For Rent In House No. 684 Margao Goa" 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> 10 K </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Built Up Area </li>
									<li>: <b class="webrupee"></b> 80 Sq. Meter </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> 1 BHK  </li>
									</ul>
																	</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_819609" id="prop_819609" method="post" action="https://www.romeoestates.in/enquiry-form-10017.htm">
								<input type="hidden" name="enqtype" value="property" />
								<input type="hidden" name="subject" value="Inquiry For Property - 1 BHK Flat For Rent In House No. 684 Margao Goa - REI819609" />
								<input type="hidden" name="property_id" value="819609" />
								</form>			 
								<a href="https://www.romeoestates.in/rent/1-bhk-flats-apartments-margao-goa_819609.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:47:"2 BHK Flats & Apartments for Rent in Colva, Goa";i:2;s:242:"Flats & Apartments having 2 Bedrooms, 2 Bath Rooms, 1 Parking, 1000 Sq.ft. in Colva, Colva, Goa, Goa Colva, Colva, Goa, Goa. Flats & Apartments Property for Rent in Colva, Colva, Goa, Goa Colva, Colva, Goa, Goa at Romeo Estate And Properties.";i:3;s:242:"Flats & Apartments having 2 Bedrooms, 2 Bath Rooms, 1 Parking, 1000 Sq.ft. in Colva, Colva, Goa, Goa Colva, Colva, Goa, Goa. Flats & Apartments Property for Rent in Colva, Colva, Goa, Goa Colva, Colva, Goa, Goa at Romeo Estate And Properties.";}