a:6:{i:0;s:28941:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Romantic Mauritius Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.sribalajioverseassolutions.com/" title="Home">Home</a>
						
							
						<b class="ffv p2px">&rsaquo;</b> Romantic Mauritius Tour</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/267689/299121.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_9/267689/299121.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/267689/299121.jpg"  alt="Romantic Mauritius Tour" title="Romantic Mauritius Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
												
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">Romantic Mauritius Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Port Louis</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px"><i class="fa fa-inr"></i> 87490						</p>
						<p class="xxsmall alpha50">Per Person</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sribalajioverseassolutions.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Romantic Mauritius Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="190339"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
												<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Mauritius, an Indian Ocean island nation, is known for its beaches, lagoons and reefs. The mountainous interior includes Black River Gorges National Park, with rainforests, waterfalls, hiking trails and wildlife like the flying fox. Capital Port Louis has sites such as the Champs de Mars horse track, Eureka plantation house and 18th-century Sir Seewoosagur Ramgoolam Botanical Gardens.</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Arrival - MK 745 - DELHI - MAURITIUS  0800  1400										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Welcome to Mauritius Transfer to hotel - Check in<br />
Please note: Guest Assistant executive will meet the guests in the hotel lobby within 24 hours upon their arrival for final planning of the Itinerary. Dinner will be served in one of the restaurants in Hotel. Overnight at hotel.<br />
NB: You are kindly requested to carry this itinerary with you during the meeting																											   
												<div class="mt10px">
												
																	
														<p class="dib">Accommodation :<span class="b"> The Revenala Attitude Ex la Plantation</span></p> 
																										</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Pickup In the Morning for Ile Aux Cerfs (East Tour)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast leave for full day excursion to Ile aux Cerfs Island. This tiny Islet off the East Coast is an ideal place for sea lovers, perfect haven of water sports and aquatic activities which offers crystal clear lagoon, fine golden sand and beaches. Enjoy the water sports such as Under sea walk / parasailing / tube ride & visit waterfall at extra cost. Dinner will be served in one of the restaurants in Hotel. Overnight at hotel.<br />
<br />
Tips: Please carry swimwear, one extra pair of clothes ,beach towel & sunscreen lotion. Packed Lunch to be carried on island.															   
												<div class="mt10px">
												
																	
														<p class="dib">Accommodation :<span class="b"> The Revenala Attitude Ex la Plantation</span></p> 
																										</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Optional -Day free for leisure or Excursion on Catamaran Cruise										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Breakfast at Hotel. Day free at own leisure or can take optional tours as mentioned below Sail towards the coral reef & enjoy the view of coin de mire island, then stop at Gabriel island. Transportation, Lunch/ BBQ, & drinks are included. Or<br />
<br />
Casela Safari Adventures<br />
Casela Bird Park where you get plenty of activities such as Interaction with lion, Lion Walk, Mini Safari, Observation, Rando Fun, etc. Dinner will be served in one of the restaurants in Hotel. Overnight at hotel.															   
												<div class="mt10px">
												
																	
														<p class="dib">Accommodation :<span class="b"> The Revenala Attitude Ex la Plantation</span></p> 
																										</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Optional - Day free for leisure or Blue Safari Submarine										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Breakfast at Hotel. Day free at own leisure or can take optional tours as mentioned below<br />
Blue safari –Sub Scooter/Submarine is a unique adventure where you go 35 m depths to discover the magic of the marine life in total security .Please carry swimming suits and towels. Dinner will be served in one of the restaurants in Hotel. Overnight at hotel.															   
												<div class="mt10px">
												
																	
														<p class="dib">Accommodation :<span class="b"> The Revenala Attitude Ex la Plantation</span></p> 
																										</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 5											
											:</b> Pickup in the Morning for North Tour/Port-Louis City										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast proceed for Port Louis/ drive through the Labourdonnais Avenue, one can discover the old French Colonial buildings, in contrast the Modern architecture and the government house. Followed by the Fortress of Citadel and the Champ De Mars horse race course. Drive by UNESCO heritage site Aparvashi Ghat; Next Halt at the Caudan Waterfront square and harbor. Followed by the Port Louis Bazaar and commercial city.Then proceed to Pamplemmousses Botanical Garden which has a large collection of indigenous & exotic plants (Entry fee at own cost). Dinner will be served in one of the restaurants in Hotel. Overnight at hotel.															   
												<div class="mt10px">
												
																	
														<p class="dib">Accommodation :<span class="b"> The Revenala Attitude Ex la Plantation</span></p> 
																										</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 6											
											:</b> Pickup In the Morning for South Tour										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast drive to Phoenix town, visit the Phoenix recycled Glass Gallery showroom (Entry Fee at own cost) followed by the Floreal town where one get to visit the Diamond shop and Ship Model factory accompanied by shopping spree at the respective factory outlets. Next drive to the Extinct Volcano Crater of “Trou Aux Cerfs” from where one can enjoy the extensive view of the central plateau and Curepipe town. The tour continues through the Plaine Champagne trails where one can come across the untouched beauty of Black Forest district,the sacred lake of Grand Bassin and Shiv Mandir which lies in the midst of a crater, then a lunch pause at Restaurant Chez M at Bois Cheri(Lunch at own cost) The tour finishes with Gris-Gris a wild place where the waves dash against the cliff and also visit “la roche qui pleure” meaning the crying rocks provides a wonderful scenery as waves splash into it. OR visit Chamarel the seven coloured earth.(Entry fee at own cost). Dinner will be served in one of the restaurants in Hotel. Overnight at hotel.															   
												<div class="mt10px">
												
																	
														<p class="dib">Accommodation :<span class="b"> The Revenala Attitude Ex la Plantation</span></p> 
																										</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 7											
											:</b> Departure (Transfer from Hotel to Airport) - MK 744 - MAURITIUS - DELHI  2115  0615+1										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Enjoy a sumptuous breakfast at your hotel and depart for Sir Seewoosagur Ramgoolam International Airport as this fantastic tour comes to an end. Bid good bye to this beautiful island today. Return home with wonderful memories of your tour.			
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>4 Star Hotel</li>
																				<li>06 Nights accommodation,</li><li>
Return Airfare & Airport taxes,</li><li>
06 Breakfast, & 06 Dinners,</li><li>
Dep. Transfers</li><li>
East Tour with lle Aux Cerfs</li><li>
North Tour with Port Louis City  </li><li>
South Tour with Phoenix Town</li><li>
All tours and transfer on Sharing basis (SIC Basis),</li><li>
All Taxes.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Any Services not mentioned above</li><li>
Travel insurance</li><li>
Any peak season Surcharges</li><li>
Any increase in Airfare, Airport Taxes, Fuel Surcharge, Visa fee,Urgent visa charges</li><li>
All kind of tips to drivers, guides, representative…</li><li>
Any expenses of personal nature such as laundry expenses, wines, mineral water, food and drinks not in the regular menus provided by us.</li><li>
Meals are preset and a choice of menu is not available. (Buffet Breakfast and Dinner at Mauritius)</li><li>
Cost of excursions, sightseeing, entrance fees and local guides availed of by the passengers, other than mentioned in the 'What your Tour Price Includes' box.</li><li>
Any increase in rate of exchange leading to an increase in surface transportation and land arrangements which may come into effect prior to departure.</li><li>
The tour price is subject to increase without notice if this rate changes substantially prior to departure</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>50% Advance Percentage of total booking amount</li></ul>						
								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								NO CASH DEPOSIT ALLOWED								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>87490</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</div>
					 					
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
						 
									<tr>
							    	<td class="p5px10px">
							    	MAURITIUS 
							    	</td>
							        <td class="p5px10px">Hotel The Revenala Attitude Ex la Plantation</td>
							        <td class="tac p5px10px">
							        								            	<p class="ac-dib acac-dib ac-mr5px lc-mr0">
											<span class="vam large dif" style="">
							            		<i class="fa fa-star mr2px"></i><i class="fa fa-star mr2px"></i><i class="fa fa-star mr2px"></i><i class="fa fa-star mr2px"></i><i class="fa fa-star-o mr2px"></i><i class="fa fa-star-o mr2px"></i><i class="fa fa-star-o mr2px"></i>							                </span>
											</p>
							                							        </td>
								    </tr>
															</tbody>
						</table>
						</div>
												<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
						
						<ul><li>Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
Retention Amount varies as per the number of days left before your package start date.</li><li>
Refund will be made within 15 working days from the date of receipt of the cancellation.</li></ul>						
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sribalajioverseassolutions.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Romantic Mauritius Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="190339"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-interlaken.htm" title="Packages in Interlaken">Interlaken</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-venice.htm" title="Packages in Venice">Venice</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-wattens.htm" title="Packages in Wattens">Wattens</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-lucerne.htm" title="Packages in Lucerne">Lucerne</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-paris.htm" title="Packages in Paris">Paris</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-zurich.htm" title="Packages in Zurich">Zurich</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-vaduz.htm" title="Packages in Vaduz">Vaduz</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-innsbruck.htm" title="Packages in Innsbruck">Innsbruck</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-male.htm" title="Packages in Male">Male</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-london.htm" title="Packages in London">London</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-rome.htm" title="Packages in Rome">Rome</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-port-louis.htm" title="Packages in Port Louis">Port Louis</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-florence.htm" title="Packages in Florence">Florence</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.sribalajioverseassolutions.com/packages-in-pisa.htm" title="Packages in Pisa">Pisa</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sribalajioverseassolutions.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:62:"Book Romantic Mauritius Tour - 6 Nights / 7 Days Tour Packages";i:2;s:110:"book romantic mauritius tour - 6 nights / 7 days tour packages, family tour packages, port louis tour packages";i:3;s:145:"Sribalaji Overseas offers Romantic Mauritius Tour - 6 Nights / 7 Days tour package, budget Family tour packages for Port Louis at exciting price.";i:4;s:792:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Louis"        
		                 },
		      "description": "Mauritius, an Indian Ocean island nation, is known for its beaches, lagoons and reefs. The mountainous interior includes Black River Gorges National Park, with rainforests, waterfalls, hiking trails and wildlife like the flying fox. Capital Port Louis has sites such as the Champs de Mars horse track, Eureka plantation house and 18th-century Sir Seewoosagur Ramgoolam Botanical Gardens.",
		      "name": "Romantic Mauritius Tour",
		      "telephone": "+91-9214018900"
		    }
		    </script>
			";i:5;N;}