a:6:{i:0;s:9686:"				<div class="h1"><h1>Classic Bali Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.jstourstravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.jstourstravels.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.jstourstravels.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="66208"/>
						</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_15/434756/121549.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/434756/121549.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.jstourstravels.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="66208"/>
						</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:161:"Book Classic Bali Tour - 4 Nights / 5 Days tour packages from Js Tours and 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-9227522144"
		    }
		    </script>
			";i:5;N;}