a:6:{i:0;s:26328:"				<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>6 Dyas Bhutan Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.kreetindiatravels.com/" title="Home">Home</a>
					
										
					<b class="ffv p2px">&rsaquo;</b>6 Dyas Bhutan 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>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Thimphu, Paro, Punakha</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.kreetindiatravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="6 Dyas Bhutan 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="46799"/>
						</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_13/378623/91934.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/378623/91934.jpg"  width="150" height="150"    alt="6 Dyas Bhutan Tour" title="6 Dyas Bhutan Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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> Arrive Paro Drive Paro - Thimpu
										</p>
										<p class="aj">Meeting and assistance upon arrival and drive to Thimpu.<br />
The flight to Paro is one of the most spectacular in entire Himalayas. Flying along the Himalayan range from Kathmandu - the journey offers fascinating views and an exciting descent into the Kingdom. Bhutan’s first gift to you as you disembark from the aircraft will be cool - clean fresh mountain air. After immigration formalities and baggage collection - you will be met by our representative - and afterwards drive to Thimphu - the capital town of Bhutan with en-route stop at Chuzom - the confluence of Thimphu and Paro rivers. Three different style of stupas; Tibetan - Nepalese and Bhutanese adorn this confluence. Shortly before reaching Chuzom - you will see on your left Tschogang Lhakhang - "the temple of the excellent horse". It is a private temple - built in 15th century - as the result of visitation from Balaha - the excellent horse - a manifestation of Chenrezig - the compassionate Buddha. <br />
On arrival check-into the hotel. The capital town of Bhutan and the Center of government - religion and commerce - Thimphu is a unique city with unusual mixture of modern development alongside ancient traditions. With the population of about 90,000 it is perhaps still the world’s only capital city without a traffic light.<br />
Evening an exploratory walk around Thimphu main street and market area.<br />
Overnight at the hotel.</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> In Thimpu
										</p>
										<p class="aj">Morning sightseeing in Thimphu valley including visit to the following: the National Library, housing an extensive collection of priceless Buddhist manuscripts; the Institute for Zorig Chusum (commonly known as the Painting School) where students undergo a 6-year training course in Bhutan’s 1 3 traditional arts and crafts.<br />
Later visit Textile and Folk Heritage Museum, a fascinating testimony of the Bhutanese material culture and living traditions.<br />
After lunch, visit King's Memorial Chorten continuously circumambulate 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 Wangchuck ("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 />
Later in the afternoon visit Tashichho Dzong, "fortress of the glorious religion". This is the center of government and religion, site of monarch’s throne room and seat of Je Khenpo or Chief Abbot. Built in 1641 by the political and religious unifier of Bhutan, Shab Drang-Drung Glacier Ngawang Namgyal, it was reconstructed in 1960s in traditional Bhutanese manner, without nails or architectural plans. <br />
<br />
Later drive to Buddha Point (Kuensel Phodrang). Located at a short drive from Thimphu u city center, visitors can get a good overview of the Thimphu valley from the Buddha point (Kuensel Phodrang). You can pay your obeisance and offer prayers to the Buddha, the largest statue in the country and then walk around and take a glimpse of the valley.<br />
Evening time can be spent strolling through the government-run Handicrafts Emporium and local crafts bazaar, to browse through example of Bhutan's fine traditional arts. Here you can buy hand-woven textiles, thangka paintings, masks, ceramics, slate and wood carvings, jewelry, interesting items made from local materials.<br />
Overnight at the hotel.</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> Drive Thimpu - Punakha (75 Km, 3 Hrs Approx)
										</p>
										<p class="aj">Morning  drive to Punakha across Dochula pass (3,O8Om). In Bhutan, the passes are marked by a large Bhutanese Chorten and prayer flag. Dochula pass offers the most spectacular view over the high peaks of the eastern Himalayas on a clear day.<br />
Afternoon visit Punakha Dzong or (Palace of Great Happiness), built at the junction of the Pho Chu and Mochu rivers in 1637 by Shabdrung Ngawang Namgyal. This majesticdzong served as both the religious and the administrative center of Bhutan in the past. It measures some 600 by 240 feet and has a six-story, gold-domed tower. Inside are courtyards and religious statuary that hint at the  depth of history and spiritual tradition embodied here. Your guide will illuminate your understanding of this intricate culture that is exotic to us, though long established here.<br />
Later in the day excursion to Chimi Lhakhang (from hotel it is about 15 minutes drive till motor able road and then walk starts through paddy fields and villages. This is total about 1.1/2 hour walk, including both way)<br />
The Chimi Lhakhang, situated on a hillock in the center of the valley, also known as the temple of fertility. It is widely believed that couples who do not have children and wanting one, if they pray at this temple, they are usually blessed with a child very soon. The trail leads across rice fields to the tiny settlement of Pana, meaning ‘field’. A walk through the village near the temple will give you rare glimpses into the daily life and lifestyle of the villagers.<br />
Overnight at the hotel.</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> Drive Punakha - Paro (125 Kms, 4Hr Drive)
										</p>
										<p class="aj">Morning drive to Paro descending back down from Dochu La, follow the way back up the dramatic Wang Chhu and Paro Chhu river valleys, before crossing through Paro Town towards the north end of the valley. <br />
En route visit Simtokha Dzong, <br />
Later in the day after checking into hotel, proceed to visit Ta Dzong, originally built as Watchtower, which now houses National Museum. The extensive collection includes antique thangka paintings, textiles, weapons & armour, household objects  and a rich assortment of natural and historic artifacts.<br />
Then walk down the trail to visit Rinpung Dzong, meaning (“fortress of the heap of jewels”), which has a long and fascinating history. Along the wooden galleries lining the inner courtyard are fine wall paintings illustrating Buddhist lore such as four friends, the old man of long life, the wheel of life, scenes from the life of Milarepa, Mount. Sumeru and other cosmic Mandala.<br />
Overnight at the hotel.</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> Paro
										</p>
										<p class="aj">Morning excursion to Taktsang Monastery (5hrs hike): It is one of the most famous of Bhutan’s monasteries, perched on the side of a cliff 900m above the Paro valley floor. It is said that Guru Rinpoche arrived here on the back of a tigress and meditated at this monastery and hence it is called ‘Tiger’s Nest’. This site has been recognized as a most sacred place and visited by Shabdrung Ngawang Namgyal in 1646 and now visited by all Bhutanese at least once in their lifetime. On 19 April, 1998, a fire severely damaged the main structure of building but now this Bhutanese jewel has been restored to its original splendour.<br />
On the way back to town stop at Drukgyal Dzong, a ruined fortress where Bhutanese warriors fought Tibetan invaders centuries ago. The snowy dome of sacred Jomolhari, "mountain of goddess'' can be seen in all her glory fro m the approach road to the Dzong.<br />
Along the way, visit the 7th century Kichu Lhakhang, one of the 108 temples built in the Himalayas by Tibetan King, Songtsen Gampo. The building of this temple marks the introduction of Buddhism in Bhutan.<br />
Evening an exploratory walk around main street and market area..<br />
Overnight at the hotel.</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> Depart Paro
										</p>
										<p class="aj">Our services ends this day with departure transfer to airport to board flight for onward destination.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																</ul>
								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<p><strong>Closing Days Of Some Of Monuments Mentioned In Itinerary:</strong>

<ul>
	<li>Ta Dzong &ndash; Paro (National Museum) : Closed On Sun &amp; Mon</li>
	<li>National Library &ndash; Thimphu : Closed On Sat, Sun &amp; Government Holidays</li>
	<li>Folk Heritage Museum - Thimphu : Closed On Government Holidays And On Sat Open From 10.30 A.M To 1.00 P.M And On Sun Open From 11.30 A.M To 3.00 P.M</li>
	<li>Textile Musuem &ndash; Thimphu : Closed On Government Holidays And On Sun And On Sat Open From 9.00 A.M To 4 P.M</li>
	<li>Institute Of Zorig Chusum (Arts &amp; Crafts School) - Thimphu : Closed On Sun &amp; Government Holidays And On Sat Open From 10 A.M To 12 O&rsquo;Clock.</li>
</ul>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.kreetindiatravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="6 Dyas Bhutan 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="46799"/>
						</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.kreetindiatravels.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kreetindiatravels.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kreetindiatravels.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kreetindiatravels.com/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kreetindiatravels.com/packages-in-kullu.htm" title="Packages in Kullu">Kullu</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kreetindiatravels.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kreetindiatravels.com/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kreetindiatravels.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kreetindiatravels.com/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kreetindiatravels.com/packages-in-mount-abu.htm" title="Packages in Mount Abu">Mount Abu</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.kreetindiatravels.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.kreetindiatravels.com/packages-in-varanasi.htm" title="Packages in Varanasi">Varanasi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.kreetindiatravels.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.kreetindiatravels.com/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</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.kreetindiatravels.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</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.kreetindiatravels.com/packages-in-jhansi.htm" title="Packages in Jhansi">Jhansi</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.kreetindiatravels.com/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</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.kreetindiatravels.com/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</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.kreetindiatravels.com/packages-in-kufri.htm" title="Packages in Kufri">Kufri</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.kreetindiatravels.com/packages-in-paro.htm" title="Packages in Paro">Paro</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.kreetindiatravels.com/packages-in-chittorgarh.htm" title="Packages in Chittorgarh">Chittorgarh</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.kreetindiatravels.com/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</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.kreetindiatravels.com/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</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.kreetindiatravels.com/packages-in-punakha.htm" title="Packages in Punakha">Punakha</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.kreetindiatravels.com/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</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.kreetindiatravels.com/packages-in-dalhousie.htm" title="Packages in Dalhousie">Dalhousie</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.kreetindiatravels.com/packages-in-trivandrum.htm" title="Packages in Trivandrum">Trivandrum</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.kreetindiatravels.com/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</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.kreetindiatravels.com/packages-in-mandawa.htm" title="Packages in Mandawa">Mandawa</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.kreetindiatravels.com/packages-in-wayanad.htm" title="Packages in Wayanad">Wayanad</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.kreetindiatravels.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kreetindiatravels.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kreetindiatravels.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kreetindiatravels.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kreetindiatravels.com/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.kreetindiatravels.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(4)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Thimphu, Paro, Punakha</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.kreetindiatravels.com/tour-packages/india-bhutan-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/378623/91947.jpg"  alt="India Bhutan Tour" title="India Bhutan Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.kreetindiatravels.com/tour-packages/india-bhutan-tour1.htm" title="India Bhutan Tour"><h3>India Bhutan Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								21 Nights / 22 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair, Guwahati, Shillong, Gangtok,..</p>
															<div class="mt10px small">
							<form name="pkg_46812" id="pkg_46812" method="post" action="http://www.kreetindiatravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.kreetindiatravels.com/tour-packages/india-bhutan-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="India Bhutan Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="46812"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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 6 Dyas Bhutan Tour - 5 Nights / 6 Days Tour Packages";i:2;s:128:"book 6 dyas bhutan tour - 5 nights / 6 days tour packages, forts and palaces tour packages, thimphu, paro, punakha tour packages";i:3;s:179:"Book 6 Dyas Bhutan Tour - 5 Nights / 6 Days tour packages from Kreet India Travels - Get attractive 5 Nights / 6 Days Forts and Palaces  tour packages for  Thimphu, Paro, Punakha.";i:4;s:412:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Thimphu, Paro, Punakha"        
		                 },
		      "description": "",
		      "name": "6 Dyas Bhutan Tour",
		      "telephone": "+91-9555909096"
		    }
		    </script>
			";i:5;N;}