a:6:{i:0;s:9678:"				<div class="h1"><h1>Classic Bali Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.rajastravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.rajastravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Classic Bali Tour</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						4 Nights / 5 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Bali</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.rajastravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Classic Bali 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="66329"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_13/370602/121689.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/370602/121689.jpg"  width="150" height="150"    alt="Classic Bali Tour" title="Classic Bali Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
											<div class="headHr">
			            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
			            </div>
			            
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 1:</b> Bali Airport - Southern Pearl of Bali & Uluwatu Tour
								</p>
								<p class="aj">As you arrive at the Bali Airport, meet our tour representative who helps you in starting your tour. As you drive within the city, you would see huge statues of Bheema and Ghatotkacha, popular heroes of Mahabharata who are considered as the protectors of the island. Relish hot lunch at a restaurant. Post lunch, you visit Mandala Garuda Wisnu Kencana or GWK, a cultural park based on the Bukit Badung. This park is placed at the southern tip of the island. Limestone plateau of Bukit is dedicated to the Hindu God Vishnu and his companion Garuda. Here you see 23 m high statue of God riding the Bird. It is popular as world’s highest statue.<br />
<br />
Thereafter, continue to Padang & Padang Suluban Beach or the Blue Point to treat your eyes to the beautiful scenery of coral cliffs. You can indulge in several interesting activities here such as playing beach volleyball, making white sand castles and more. Your next visit is to Pura Uluwatu or Uluwatu temple, one of the 8 key temples of Bali. This temple is built on a 70-m high cliff. You can enjoy nice sunset views here. After sightseeing, check-in to your hotel for overnight stay.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Barong Kintamani & Cultural Tour
								</p>
								<p class="aj">Post breakfast on day 2, leave for exploring Batu Bulan village, where the island’s stone carvers reside. When you ride on Denpasar road, you can see sandstone statues of demons and gods adorning the temples and the houses. Attend Barong & Keris Dance, a popular theatrical dance performance. On continuing, you can see another art village that is known for its wooden, gold and silver artifacts. Lunch on the way. Later, you visit the villages of Penelokan and Kintamani offering views of Mount Batur and its placid lake.<br />
<br />
If you take the road from Penelokan to Kediasan you can reach the shore of the lake where you can rent a boat to Trunyan to visit the legendary Tampak Siring Pura Tirta Empul temple, popular for being the abode of Lord Indra. In the local market of Tampak, you can buy exotic ivory and bone carvings. Later, explore Goa Gajah or Elephant cave, dating back to the 11th century, it was originally a cave. Back to the hotel for staying overnight.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Bedugul - Tanahlot Tour
								</p>
								<p class="aj">On the 3rd day, post breakfast, continue sightseeing. The first visit is to the Botanical Garden on Bedugul Bali Bedugul, a striking rain tropical garden. Visit Ulun Danu temple, located in the middle of the lake and Bedugil resort, popular for its huge golf course. This place offers opportunities for parasailing, boating and water skiing. Lunch at a restaurant in village Pancung, offering views of rice terraces. After lunch, you leave for Tanah Lot. Surrounded by sea, this popular sea temple of Bali is placed on a huge rock and was constructed in the first half of the 16th century. Back to the hotel. Overnight stay.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Besakih - Kertha Gosha Tour
								</p>
								<p class="aj">The day starts with a visit to the famed Besakih Mother of Temple, lying on the slant of Gunung Agung. Erected during the 8th century by Rsi Markandeya, a great priest, this temple saw a number of additions to its temple by other popular priests and residing rulers. The temple has three divine thrones of Gods Barhma, Vishnu and Shiva. The attraction of the day is Kertagosa court Justice, constructed during the 18th century. The main attraction of this complex is its two buildings Bale kerta Gosa and Bale Kambang. Treat your eyes to the striking architecture and unique paintings. Overnight stay.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Departure from Bali
								</p>
								<p class="aj">After breakfast, the day is at leisure. Later, get an assisted transfer to the airport to borad the flight back home.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
												</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.rajastravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Classic Bali 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="66329"/>
						</form>
						</div>
						
						";i:1;s:56:"Book Classic Bali Tour - 4 Nights / 5 Days Tour Packages";i:2;s:109:"book classic bali tour - 4 nights / 5 days tour packages, beach and islands tour packages, bali tour packages";i:3;s:154:"Book Classic Bali Tour - 4 Nights / 5 Days tour packages from RAJAS TRAVELS - Get attractive 4 Nights / 5 Days Beach and Islands  tour packages for  Bali.";i:4;s:393:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bali"        
		                 },
		      "description": "",
		      "name": "Classic Bali Tour",
		      "telephone": "+91-9820123553"
		    }
		    </script>
			";i:5;N;}