a:4:{i:0;s:24954:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Resort For Sale In Anjuna North Goa</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.romeoestates.in/" title="Home">Home</a>
						
						<b class="ffv p2px">&rsaquo;</b><a href="http://www.romeoestates.in/property-in-goa.htm" title="Property in Goa">Goa</a><b class="ffv p2px">&rsaquo;</b><a href="http://www.romeoestates.in/property-for-sale-in-anjuna-goa.htm" title="Property for Sale in Anjuna, Goa">Anjuna</a>											
						<b class="ffv p2px">&rsaquo;</b> Resort For Sale In Anjuna North 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//819607_1.jpg); background-repeat:no-repeat;"></div>
								<a  data-fancybox="showZoomImage"  title="Resort For Sale In Anjuna North Goa" href="https://rei.wlimg.com/prop_images/625601/819607_1.jpg"><img src="https://rei.wlimg.com/prop_images/625601/819607_1-350x350.jpg"  alt="Resort For Sale In Anjuna North 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//819607_2.jpg); background-repeat:no-repeat;"></div>
								<a  data-fancybox="showZoomImage"  title="Resort For Sale In Anjuna North Goa" href="https://rei.wlimg.com/prop_images/625601/819607_2.jpg"><img src="https://rei.wlimg.com/prop_images/625601/819607_2-350x350.jpg"  alt="Resort For Sale In Anjuna North 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//819607_3.jpg); background-repeat:no-repeat;"></div>
								<a  data-fancybox="showZoomImage"  title="Resort For Sale In Anjuna North Goa" href="https://rei.wlimg.com/prop_images/625601/819607_3.jpg"><img src="https://rei.wlimg.com/prop_images/625601/819607_3-350x350.jpg"  alt="Resort For Sale In Anjuna North 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//819607_4.jpg); background-repeat:no-repeat;"></div>
								<a  data-fancybox="showZoomImage"  title="Resort For Sale In Anjuna North Goa" href="https://rei.wlimg.com/prop_images/625601/819607_4.jpg"><img src="https://rei.wlimg.com/prop_images/625601/819607_4-350x350.jpg"  alt="Resort For Sale In Anjuna North 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">Anjuna North Goa Goa, Anjuna, 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?gaddress=~~North Goa~~Goa, Anjuna&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">20 Cr</span></div>
													<div class="xsmall ml15px dib">@ Rs 125000 per Sq. Meter</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">REI819607</p>
						</li>
												<li>
						<p class="fl w130px">Property For</p>
						<p class="fl mr30px">:</p>
						<p class="ofh b">Sale</p>
						</li>
												<script type="text/javascript">
						area_conversion=function(b,f,e){var c=createAreaArr();if(e==1){if(b<20&&b!=18){var a=f/c[b];return a}else{return 0}}else{if(e==2){if(b<20&&b!=18){var d=f*c[b];return d}else{return 0}}}};
						
						function createAreaArr(){
							var a={
								1:1,
								2:0.1111111111111,
								3:0.093,
								4:0.00041666667,
								5:0.013890889,
								6:0.000091810503,
								7:0.002222222222222223,
								8:0.0036724201,
								9:0.0009182736455464,
								10:0.00092936802973,
								11:0.0000028696051,
								12:0.00002295663,
								13:0.000057392103,
								14:0.0013888889,
								15:0.0000092904166,
								16:0.003673095,
								17:0.0000092605969,
								19:0.002295684
							};
							return a;
						}
						
						function updateArea(a,c,d,h,b,w,z){
							var g=createAreaArr();
							 
							var bu = {
						    'Sq.ft.':'1',
						    'Sq. Yards':'2',
						    'Sq. Meter':'3',
						    'Guntha':'9',
						    'Ares':'10',
						    'Acre':'12',
						    'Bigha':'13',
						    'Hectares':'15',
						    'Marla':'16',
						    'Cent':'19',
						    };
							if(w=='Sq. Feet'){
								var e=d*(parseFloat(g[c]));
							}
							else{
								var e=parseFloat(g[c])*(d/ parseFloat(g[bu[w]]));
							} 
							
							if(b=="Y"){
								jQuery("#"+h+"_span").html(e.toFixed(2));
							}else{
								if(b=="N"){
									jQuery("#"+h).html(jQuery("#"+h).html+e.toFixed(2));
									console.log("#"+h);
								}
							}
							jQuery("#"+h+"Label").html(" "+a);
							jQuery("#"+z).html(a+" &#9660;")
						}
						
						</script>						
												<li class="fo">
						<p class="fl w130px">Built Up Area</p>
						<p class="fl mr30px">:</p>
						<div class="fl b">
						<script type="text/javascript">
						function convert(basetext,baseindex,baseunit){
						     if(1600 > 0 )  updateArea(basetext,baseindex,1600,'builtupArea','Y',baseunit,'DrpDownTab');   }
						</script>  
						<span id="builtupArea_span">1600</span>
						<span class="pr">
						<a onClick="jQuery('#builtUp').show();event.stopPropagation();" class="headVr pl5px pr5px small dib vam ml5px" id="DrpDownTab">Sq. Meter &#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. Meter</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. Meter');">Sq. Feet</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Cent',19,'Sq. Meter');">Cent</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Yards',2,'Sq. Meter');">Sq. Yards</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Ares',10,'Sq. Meter');">Ares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Acre',12,'Sq. Meter');">Acres</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Meter',3,'Sq. Meter');">Sq. Meter</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Bigha',13,'Sq. Meter');">Bigha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Hectares',15,'Sq. Meter');">Hectares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Guntha',9,'Sq. Meter');">Guntha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Marla',16,'Sq. Meter');">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(1600 > 0 )  updateArea(basetext,baseindex,1600,'landArea','Y',baseunit,'DrpDownTab1'); }
						</script>  
						<span id="landArea_span">1600</span>
						<span class="pr">
						<a onClick="jQuery('#landArea').show();event.stopPropagation();" class="headVr pl5px pr5px small dib vam ml5px" id="DrpDownTab1">Sq. Meter &#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. Meter</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. Meter');">Sq.Feet</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Cent',19,'Sq. Meter');">Cent</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Yards',2,'Sq. Meter');">Sq. Yards</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Ares',10,'Sq. Meter');">Ares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Acre',12,'Sq. Meter');">Acres</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Meter',3,'Sq. Meter');">Sq. Meter</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Bigha',13,'Sq. Meter');">Bigha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Hectares',15,'Sq. Meter');">Hectares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Guntha',9,'Sq. Meter');">Guntha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Marla',16,'Sq. Meter');">Marla</a></li>
						</ul>
						</div>
						</span>
						<script>
						jQuery(document).ready(function(e) {
							jQuery('body').click(function(){
								jQuery('#landArea').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>Transaction :</b> New Property</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-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">Resort For Sale In Anjuna North Goa. Plot Area - 1600 Sq.Meter, New Property, Ten Cottages with Air Conditioning, Fully furnished, Two houses Portuguese style, Road touch , Beach touch, Bar and Restaurant Beach view, Free WiFi available, Amount -  20 Cr ( Non negotiable).<br/>
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="http://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">Similar Property</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.romeoestates.in/sell/2-bhk-flats-apartments-colva-goa_839045.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI839045</p>
								<div class="picBg lh0"><img src="https://rei.wlimg.com/prop_images/625601/839045_2-350x350.jpg"  alt="2 BHK Fully Furnished Flat For Sale In Colva Church Goa"  /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.romeoestates.in/sell/2-bhk-flats-apartments-colva-goa_839045.htm">2 BHK Fully Furnished Flat For Sale In Colva Churc...</a></p>
								<div class="p10px headVr bdr0" style="min-height:188px;">
								<p class="b"><i class="fa fa-map-marker mr5px"></i> Colva, Goa </p>
																	<p class="mt5px b dull-text">2 BHK Fully Furnished Flat For Sale In Near Colva Church Goa. Build up Area <a href="http://www.romeoestates.in/sell/2-bhk-flats-apartments-colva-goa_839045.htm" title="2 BHK Fully Furnished Flat For Sale In Colva Church 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> 50 L </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Built Up Area </li>
									<li>: <b class="webrupee"></b> 90 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> 2 BHK  </li>
									</ul>
																	</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_839045" id="prop_839045" method="post" action="http://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 Fully Furnished Flat For Sale In Colva Church Goa - REI839045" />
								<input type="hidden" name="property_id" value="839045" />
								</form>			 
								<a href="http://www.romeoestates.in/sell/2-bhk-flats-apartments-colva-goa_839045.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.romeoestates.in/sell/3-bhk-individual-houses-villas-goa_819606.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI819606</p>
								<div class="picBg lh0"><img src="https://rei.wlimg.com/prop_images/625601/819606_1-350x350.jpg"  alt="3 BHK New Rowhouse For Sale In Near Dramapur Church, Goa 5Km From Margao City"  /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.romeoestates.in/sell/3-bhk-individual-houses-villas-goa_819606.htm">3 BHK New Rowhouse For Sale In Near Dramapur Churc...</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">3 BHK New Rowhouse For Sale In Near Dramapur Church, Goa 5Km From Margao Ci <a href="http://www.romeoestates.in/sell/3-bhk-individual-houses-villas-goa_819606.htm" title="3 BHK New Rowhouse For Sale In Near Dramapur Church, Goa 5Km From Margao City" 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> 75 L </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Built Up Area </li>
									<li>: <b class="webrupee"></b> 150 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_819606" id="prop_819606" method="post" action="http://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 New Rowhouse For Sale In Near Dramapur Church, Goa 5Km From Margao City - REI819606" />
								<input type="hidden" name="property_id" value="819606" />
								</form>			 
								<a href="http://www.romeoestates.in/sell/3-bhk-individual-houses-villas-goa_819606.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.romeoestates.in/sell/2-bhk-flats-apartments-nuvem-goa_819605.htm'">
								<p class="theme2 bdr0 p2px5px small">PROPERTY ID - REI819605</p>
								<div class="picBg lh0"><img src="https://rei.wlimg.com/prop_images/625601/819605_1-350x350.jpg"  alt="2 BHK Flat For Sale In Nuvem, Goa"  /></div>
								<p class="ffrr b large db headHr p5px10px"><a href="http://www.romeoestates.in/sell/2-bhk-flats-apartments-nuvem-goa_819605.htm">2 BHK Flat For Sale 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">2 BHK Flat For Sale In Nuvem, Goa 3Km From Margao City Scenic View. Close t <a href="http://www.romeoestates.in/sell/2-bhk-flats-apartments-nuvem-goa_819605.htm" title="2 BHK Flat For Sale 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> 65 L </li>
									</ul>
																		<ul class="mb5px">
									<li class="dull-text">Built Up Area </li>
									<li>: <b class="webrupee"></b> 117 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> 2 BHK  </li>
									</ul>
																	</div> 
								</div>
								</div>
								<div class="bdrT p5px ac">	
								<form class="inquiry-form" name="prop_819605" id="prop_819605" method="post" action="http://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 Sale In Nuvem, Goa - REI819605" />
								<input type="hidden" name="property_id" value="819605" />
								</form>			 
								<a href="http://www.romeoestates.in/sell/2-bhk-flats-apartments-nuvem-goa_819605.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:45:"Hotel & Restaurant for Sale in North Goa, Goa";i:2;s:184:"Hotel & Restaurant having 1600 Sq. Meter in Anjuna, Goa, Goa Anjuna, Goa, Goa. Hotel & Restaurant Property for Sale in Anjuna, Goa, Goa Anjuna, Goa, Goa at Romeo Estate And Properties.";i:3;s:184:"Hotel & Restaurant having 1600 Sq. Meter in Anjuna, Goa, Goa Anjuna, Goa, Goa. Hotel & Restaurant Property for Sale in Anjuna, Goa, Goa Anjuna, Goa, Goa at Romeo Estate And Properties.";}