a:6:{i:0;s:30061:"				<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="h1"><h1>Bhutan Premium Sparkle Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.travelindiaglobal.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.travelindiaglobal.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Bhutan Premium Sparkle Tour</p> 
									
						<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">
					
											<p class="mb5px"><b>Tour Code :</b> CBBH-0FA</p>
												<p class="mb5px"><b>Duration :</b> 
						10 Nights / 11 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Thimphu, Paro, Punakha, Bumthang, Phuntsholing</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travelindiaglobal.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Bhutan Premium Sparkle Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="39857"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/241069/213092.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/241069/213092.jpg"  width="150" height="150"    alt="Bhutan Premium Sparkle Tour" title="Bhutan Premium Sparkle Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								All monuments and others entry Fee<br />
Any item which is not mentioned in the Inclusion section<br />
Breakfast,Lunch,Dinner or any other meal<br />
Laundry, Tips, phone call  or any such personal expense								</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> Welcome to Bhutan from Hasimara Station - Phuntsholing 1/2Hrs.
										</p>
										<p class="aj">Meet & greet on arrival at Hasimara station(HSA)and drive to Indo - Bhutanese Border(Jaigaon-Phuntsholing) through the Tea Estates.After reaching check in Hotel.In afternoon process Bhutan Entry permit. Evening free for roam around India-Bhutan Border.<br />
Overnight in Phuntsholing.</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> Welcome to Bhutan and Transfer to Thimphu/5 Hrs
										</p>
										<p class="aj">After breakfast,Proceed Towards Thimphu via the wonderful mystic town Gedu, which is about 9000 ft above the sea and Chukha Dam. On the way visit Crocodile Park,Kharbondi Gumpha,Wankha Waterfalls in Phuntsholing and halt at Chojum to take photographs of confluence of two rivers of Bhutan, Thimphu Chu and Paro Chu. Reach Thimphu in the evening.Evening free for leisure.<br />
Overnight in Thimphu.</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> Thimphu Sightseeing - After Breakfast, Start for Local Thimpu Sightseeing
										</p>
										<p class="aj">The National Memorial Chorten or Thimpu Chorten is a site for evening prayer. The chorten or Stupa was built in the memory of the third king , continuously circumambulated by people, murmuring mantras and spinning their prayer wheels. Construction of this landmark was the idea of Bhutan's third king, His Majesty Jigme Dorji Wangchuk ("the father of modern Bhutan") who has wished to erect monument to world peace and prosperity. Completed in 1974 after his untimely death, it serves both as a memorial to the Late King and as a monument to peace.<br />
<br />
Sakyamuni Buddha - On the top of Kuensel Phodrang hill sits the statue of Sakyamuni Buddha. The 51.5 meter long bronze statue would surely attract you and the uninterrupted view of the valley would leave you spellbound. The site is also known as Buddha View Point.<br />
Changangkha Lhakhang - At Thimphu you will go across several monasteries and temples. Changangkha Lhakhang is among the most important religious structures in Thimphu. The structure dates back to the 15th century and is one of the oldest in the region. The structure is dedicated to Avalokiteshvara, the sign of compassion. You will also enjoy the grand view of Thimphu valley from here.<br />
Takin Zoo – You will find the National animal of Bhutan “Takin” in this open zoo. Takin is one of the most endangered species of the World and it is available only in Bhutan.<br />
<br />
The National Library has got a fabulous collection of Buddhist manuscripts which are priceless. It also houses the World’s largest published book which is about 130 pounds and 5X7 feet.<br />
<br />
Zorig Chusum  - Institute for Zorig Chusum (commonly known as the Painting School) where students undergo a 6-year training course in Bhutan's 13 traditional arts and crafts<br />
<br />
The Royal Textile Museum  - Thimphu also introduces visitors with the culture and heritage of Bhutan. The Royal Textile Museum at Norzin Lam is a site where you will get introduced to Bhutanese textiles, some of which date back to the 1600s<br />
<br />
Trashi Chhoe Dzong - or the Fortress of the Glorious Region is another ‘must visit’ site. Situated on the west bank of Wang Chhu river, Trashi Chhoe Dzong is the formal coronation site of the fifth King. The Dzong also hosts the annual Tsechu festival. Built in 1641 by the political and religious unifier of Bhutan, Shabdrung Ngawang Namgyal, it was reconstructed in 1960s in traditional Bhutanese manner, without nails or architectural plans.<br />
Overnight in Thimphu</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> Thimphu - Punakha /2 Hrs
										</p>
										<p class="aj">After breakfast, start for Punakha. One the way, visit<br />
<br />
Dochula view point stop: The first stop after leaving Thimphu on the journey is Dochu La pass around 3100 m high and way above the clouds.  Only an hour’s drive from Thimphu, it offers visitors their first glimpse of the Eastern Himalayan range. From the pass the road curls its way down into the relative lowlands of the Punakha Valley. Before Thimphu was made the permanent capital of Bhutan.<br />
<br />
In Punakha , you also visit<br />
<br />
Punakha Dzong: beautiful Punakha Dzong(known as the  “the palace of great happiness”),located at the confluence of the Pho Chhu (father) and Mo Chhu (mother) rivers in the Punakha–Wangdue valley. the city’s dzong is one of the most picturesque of all Bhutan’s ancient fortresses The dzong is joined to the mainland by an arched wooden bridge, and contains many precious relics from the days when successive kings reined the kingdom from this valley.<br />
<br />
Chimi Lhakhang-  Situated at the top of a hillock in the heart of Punakha valley, the Chimi Lhakhang is a site dedicated to Lama Drukpa Kuenley. Known as the ‘Divine Madman’, Lama Drukpa Kuenley is said to made use of songs, humour and his outrageous behavior to preach his teachings. Chimi Lhathang is actually a temple and is believed to be the temple of fertility. Bhutanese hold a strong belief that Couples who do not have children get blessed by Lama Drukpa Kuenley if they visit the temple and pray for a child. A picturesque rural trail through a paddy field takes visitors to the temple from the road.  After crossing the paddy field you will find a tiny stream  from where Chimi Lhakhang is a just a short climb away.<br />
Overnight stay in Punakha</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> Punakha - Bumthang
										</p>
										<p class="aj">In the morning,after breakfast start for Bumthang and reach Bumthang in afternoon.Evening free for leisure.<br />
Overnight in Bumthang.</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 6:</b> Bumthang Sightseeing
										</p>
										<p class="aj">Jakor Dzong –also known as 'Fortress of the White Bird', it was constructed in 1549 by Great grandfather of the first Shabdrung, initially as a monastery. Later it was upgraded in 1646, after the Shabdrung had firmly established his power. Jakar Dzong is now used as the administrative centre for Bumthang valley, and also houses the regional monk body.<br />
<br />
Jambay Lhakhang : It is a sacred monastery built in 7th century by the Tibetan King, Songtsen Gampo. Jambay Lhakhang is one of the 108 monasteries built by him to subdue evil spirits in the Himalayan region. Its present architectural appearance dates from the early 20th century however the inner shrine with the Future Buddha is believe to be there some 1400 years ago.<br />
<br />
Kurjey Lhakhang : Situated before Jambey Lhakhang, Kurje Lhakhang consists of three temples. The one on the right was built in 1652 on the rack face where Guru Padmasambhava meditated in the 8th century. Second temple is built on the site of a cave containing a rock with the imprint of Guru's body and is therefore considered, the most holy. The third temple was built in 1990s by Ashi Kesang, the Queen Mother. These three temples are surrounded by a 108 chorten wall.<br />
<br />
Tamshing Lhakhang : Located opposite Kurjey Lhakhang on the other side of the river, it was founded in 1501 by Terton Pema Lingpa. The lhakhang has ancient religious paintings such as 1000 Buddhas and 21 'Taras' (female form of Bodhisattva). The temple was restored at the end of the 19th century.<br />
Overnight in Bumthung</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 7:</b> Bumthung - Wangdue
										</p>
										<p class="aj">Bajo Town After crossing the Punakha Sang Chhu (Fo-Chu-Mo-Chu) river,driver along the Wangdue Phodrang and visit newly developed small beautiful town, Bazo Town in Wangdue.After Bajo Town,visit Wangdue Fort.<br />
 <br />
Overnight stay in Wangdue</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 8:</b> Wangdue - Paro
										</p>
										<p class="aj">After Breakfast Start for Paro enroute visit the picturesque town - Simtokha Dzong is a small Dzong, Built in 1629 by Zhabdrung Ngawang Namgyal, who unified Bhutan, the Dzong is the first of its kind built in Bhutan. An important historical monument and former Buddhist monastery, today it houses one of the premier Dzong kha language learning institutes.<br />
Ta Dzong - Ta Dzong, once a watchtower, built to defend Rinpung Dzong during inter-valley wars of the 17th century, Ta Dzong was inaugurated as Bhutan's National Museum in 1968.<br />
Rinpung Dzong - Built in 1646 by Shabdrung Ngawang Namgyal , the first spiritual and temporal ruler of Bhutan, the Dzong houses the monastic body of Paro, the office of the Dzongda (district administrative head) and Thrimpon (judge) of Paro district. The approach to the Dzong is through a traditional covered bridge called Nemi Zam.<br />
National Museum of Bhutan: Situated right above Rinpung Dzong in Paro, the National Museum of Bhutan is a house that showcases Bhutan’s culture. Built in 1968, the museum stands inside the ancient Ta-dzong building. The museum houses the collection of finest specimens of Bhutanese culture and art and its highlights are paintings and some bronze statues, which are simply masterpieces. The items are demonstrated in large galleries and you can get to know a lot about Bhutan’s art and culture from these objects.<br />
Nya Mey Zam Bridge - "The Bridge with No Fish" is the bridge that connects Paro Town to Dzong It is one of finest specimens in Bhutan and local believes if one sees a fish in the river , it is ill omen..The earlier bridge which could be folded during war was washed away by flood in 1969.<br />
Overnight in Paro</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 9:</b> Taktsang Monastery
										</p>
										<p class="aj">Drukgyal Dzong: Drukgyal Dzong was a fortress and Buddhist monastery, now in ruins, located in the upper part of the Paro valley in Paro District of Bhutan. The Dzong was probably built by Tenzin Drukdra in 1649 at the behest of Shabdrung Ngawang Namgyal to commemorate victory over an invasion from Tibet.<br />
Kyichu Lhakhang - Kyichu Lhakhang, (also known as Kyerchu Temple or Lho Kyerchu) is an important Himalayan Buddhist temple situated in Lamgong Gewog of Paro District in Bhutan. The Jowo Temple of Kyichu is one of the oldest temples in Bhutan, originally built in the 7th century by the Tibetan Emperor Songsten Gampo<br />
Taktsang Monastery: If you can brave the risky cliffs on a high mountain, Paro will astonish you in the form of Taktsang Monastery. After covering 1200 meters on a fierce cliff you will reach this sacred site, also known as the Tiger’s Nest. Take a deep breath after reaching the spot and then comfort your eyes and soul with the stunning view of the scenic surroundings and the valley lying underneath. The Taktsang Monastery was established by Sain Guru Rinpoche who came to Bhutan in 747 CE. Construction of the complex was completed in 1694. Discovering the Tiger’s Nest after 3 hours of trekking is real adventure but you may also opt for a horse ride from the parking lot.<br />
Overnight in Paro.</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 10:</b> The Chelala Pass - Haa Valley
										</p>
										<p class="aj">Paro Airport View Point - This is finest valley view point to look after Paro Valley and Paro Airport. This view point overlooking the Paro river along with the all the Dzong's and Monastery.<br />
<br />
Haa remains one of the least visited areas in the country and retains the air of an unspoiled, primeval forest.Drive to Chele La Pass which (3,988m) from which on a clear day the view sweeps away to Bhutan’s second highest sacred peak, Mt Jhomolhari(7314m).<br />
Overnight in Paro.</p>
										</td>
										</tr>
										</table>					
										</div><div id="show_more_content" style="display:none;">
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 11:</b> Cherish Ur Memories
											</p>
											<p class="aj">After early breakfast,start for Hasimara Station with a sweet Bhutan Holiday memory and cherish Your memories forever.</p>
											</td>	
											</tr>
											</table>				
											</div>					
									</div>									<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
																	<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Sightseeing</li>
																						<li>Transfers</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>All monuments and others entry Fee</li><li>
Any item which is not mentioned in the Inclusion section</li><li>
Breakfast,Lunch,Dinner or any other meal</li><li>
Laundry, Tips, phone call  or any such personal expense</li></ul>
								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travelindiaglobal.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Bhutan Premium Sparkle 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="39857"/>
						</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.travelindiaglobal.in/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/packages-in-jalpaiguri.htm" title="Packages in Jalpaiguri">Jalpaiguri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/packages-in-phuntsholing.htm" title="Packages in Phuntsholing">Phuntsholing</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/packages-in-bumthang.htm" title="Packages in Bumthang">Bumthang</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/packages-in-mount-abu.htm" title="Packages in Mount Abu">Mount Abu</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.travelindiaglobal.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</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.travelindiaglobal.in/packages-in-paro.htm" title="Packages in Paro">Paro</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.travelindiaglobal.in/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</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.travelindiaglobal.in/packages-in-sonamarg.htm" title="Packages in Sonamarg">Sonamarg</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.travelindiaglobal.in/packages-in-bikaner.htm" title="Packages in Bikaner">Bikaner</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.travelindiaglobal.in/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.travelindiaglobal.in/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</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.travelindiaglobal.in/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</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.travelindiaglobal.in/packages-in-kullu.htm" title="Packages in Kullu">Kullu</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.travelindiaglobal.in/packages-in-punakha.htm" title="Packages in Punakha">Punakha</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.travelindiaglobal.in/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</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.travelindiaglobal.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/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.travelindiaglobal.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/luxury-holidays-catid.htm" title="Luxury Packages">Luxury</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/affordable-budget-holidays-catid.htm" title="Affordable & Budget Packages">Affordable & Budget</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelindiaglobal.in/family-holidays-catid.htm" title="Family Packages">Family</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.travelindiaglobal.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelindiaglobal.in/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</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.travelindiaglobal.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelindiaglobal.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</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.travelindiaglobal.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</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:57:"Book Bhutan Premium Sparkle Tour - 111 Days Tour Packages";i:2;s:147:"book bhutan premium sparkle tour - 111 days tour packages, hill station tour packages, thimphu, paro, punakha, bumthang, phuntsholing tour packages";i:3;s:189:"Book Bhutan Premium Sparkle Tour - 111 Days tour packages from Travel India Global - Get attractive 111 Days Hill Station  tour packages for  Thimphu, Paro, Punakha, Bumthang, Phuntsholing.";i:4;s:636:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Thimphu, Paro, Punakha, Bumthang, Phuntsholing"        
		                 },
		      "description": "All monuments and others entry Fee
Any item which is not mentioned in the Inclusion section
Breakfast,Lunch,Dinner or any other meal
Laundry, Tips, phone call  or any such personal expense",
		      "name": "Bhutan Premium Sparkle Tour",
		      "telephone": "+91-8981563664"
		    }
		    </script>
			";i:5;N;}