a:6:{i:0;s:25276:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Best Of Bhutan Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.sikkimdarjeelingvisit.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.sikkimdarjeelingvisit.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Best Of Bhutan 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-->				
								
						<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.sikkimdarjeelingvisit.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Best of 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="190452"/>
						</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_21/626489/299576.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_21/626489/299576.jpg"  width="150" height="100"    alt="Best of Bhutan Tour" title="Best of 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> Bhutan Welcomes You (Arrival in Paro | Paro to Thimphu)
										</p>
										<p class="aj">The 6-day venture through the cultural and natural splendors of Bhutan begins with your arrival at Paro Airport, where you meet a Yatra representative, who will assist in your transfer to the national capital – Thimphu.<br />
On reaching the city, transfer to the hotel and check-in. Later, follow delicious dinner with a good night’s sleep in the plush room.</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> A Day in Thimpu (Sightseeing in Thimphu)
										</p>
										<p class="aj">Begin the day with a gorgeous breakfast spread, and then head out on a treasure hunt to get a glimpse into the cultural and natural wealth of Bhutan.<br />
Visit Motithang Takin Preserve, named after the national animal of Bhutan, the Takin.<br />
The excursion will also take you to Tashichhodzong, the seat of the government. This historic building, which has withstood the test of time, showcases the traditional Bhutanese architecture.<br />
The trip to BBS Tower offers you the best photography opportunities for the day as this point commands panoramic vistas of the Thimphu city.<br />
We cannot let you go without a visit to Kuensel Phodrang Nature Park, which has one of the largest statues of Shakyamuni in the world – Buddha Dordenma.<br />
The Folk Heritage Museum, which is housed in a 3-storey building, exhibits a vast collection of old tools and household items used by the locals.<br />
During the day, we would also take you to the well-known National Handicrafts Emporium for some shopping therapy. Here, you can buy traditional hand-woven fabrics and other handicrafts, without having to worry about their originality.<br />
End your day with a scrumptious evening meal and good night’s sleep at the luxurious 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> Hello, Punakha! (Thimphu to Punakha via Dochu La | Sightseeing)
										</p>
										<p class="aj">Following a delectable breakfast, check-out from the hotel and transfer to Punakha.<br />
Punakha is known for the historical Punakha Dzong – one of the oldest and largest dzongs in Bhutan; it is also the erstwhile seat of the government. It has seen numerous significant events in the history of Bhutan like the wedding of Bhutan’s king, Jigme Khesar Namgyel Wangchuck, and the first national assembly.<br />
The exciting road trip becomes more fun as you cross the Dochu La Pass, which offers mesmerizing vistas of the Himalayan Kingdom. It is also known for the 108 Buddhist shrines built here by the Queen Mother, Ashi Dorji Wangmo Wangchuck.<br />
During your time at Punakha Dzong, you can also witness the union of the Pho Chhu and Mo Chhu Rivers.<br />
We also take you to Chimi Lhakhang, built by Ngawang Choegyel, the 14th Drukpa head, in reverence to Drukpa Kunley. The unconventional Drukpa Kunley was known for his unusual way of life; hence, was often referred to as The Saint of 5000 Women.<br />
After the road journey and sightseeing, relish a delectable dinner at the hotel and then rest in your cozy room.</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> Paro Calling (Punakha to Paro | Sightseeing)
										</p>
										<p class="aj">Post an appetizing meal in the morning, check-out from the hotel and head back to Paro.<br />
The realm of a peaceful river, towering hills and monasteries, the Paro Valley welcomes you again with all its heart. This day involves plenty of sightseeing as we take you to some of the most popular points of interest here.<br />
During the day, you will spend moments of peace at the 7th-century Kyichu Lhakhang. It is said to be one of the 108 Buddhist temples, built by the Tibetan king, Songtsen Gampo, to defeat a demoness, which created obstacles in the spreading of Buddhism in the region.<br />
The visit to Ta Dzong – home to the National Museum of Bhutan – will bring you one step closer to the culture and people of the kingdom. Fascinatingly, some of the artifacts housed in the museum date back to 4000 BC!<br />
Also, explore the Drukgyel Dzong! What is an archaeological site today used to be a significant defense base until a few decades ago! Constructed in 1649, the building was abandoned in 1951 after a fire left it in ruins.<br />
When you are done exploring these amazing places, move to the hotel, and sleep after a hearty dinner.</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> The Chele La Adventure (Excursion to Chele La Pass)
										</p>
										<p class="aj">The day, starting with a hearty breakfast takes you on an exciting excursion to the Chele La pass.<br />
About 37 km from Paro, the mountain pass will take you to over 12000 feet altitude. On the way, you will see lush forests of pine and rhododendron that will be a treat for your eyes.<br />
After you reach the pass, your eyes will feast on the sight of Mount Jomolhari and Jichu Drake. On a clear day, panoramic vistas of the Haa and Paro Valleys can also be captured from here.<br />
Later, return to the hotel for a tasty dinner followed by a peaceful sleep.<br />
The day, starting with a hearty breakfast takes you on an exciting excursion to the Chele La pass.<br />
About 37 km from Paro, the mountain pass will take you to over 12000 feet altitude. On the way, you will see lush forests of pine and rhododendron that will be a treat for your eyes.<br />
After you reach the pass, your eyes will feast on the sight of Mount Jomolhari and Jichu Drake. On a clear day, panoramic vistas of the Haa and Paro Valleys can also be captured from here.<br />
Later, return to the hotel for a tasty dinner followed by a peaceful sleep.</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> Goodbye, Bhutan (Departure from Paro)
										</p>
										<p class="aj">After breakfast, you will be driven to Paro Airport to board your flight back home.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																				<li>Accommodation is on twin sharing basis</li><li>
Meals : breakfast at all places</li><li>
Transfers from one place to another</li><li>
Sightseeing in private cars</li><li>
Vehicle will be provided based on the itinerary</li><li>
All current taxes such as hotel taxes and transportation taxes</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Some Advance Percentage of total booking amount</li><li>
Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</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></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sikkimdarjeelingvisit.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Best of 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="190452"/>
						</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.sikkimdarjeelingvisit.com/guwahati-tour-packages.htm" title="Guwahati Tour Packages">Guwahati</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/punakha-tour-packages.htm" title="Punakha Tour Packages">Punakha</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/thimphu-tour-packages.htm" title="Thimphu Tour Packages">Thimphu</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/darjeeling-tour-packages.htm" title="Darjeeling Tour Packages">Darjeeling</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/shillong-tour-packages.htm" title="Shillong Tour Packages">Shillong</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/paro-tour-packages.htm" title="Paro Tour Packages">Paro</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/cherrapunji-tour-packages.htm" title="Cherrapunji Tour Packages">Cherrapunji</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/kaziranga-tour-packages.htm" title="Kaziranga Tour Packages">Kaziranga</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/jalpaiguri-tour-packages.htm" title="Jalpaiguri Tour Packages">Jalpaiguri</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/gangtok-tour-packages.htm" title="Gangtok Tour Packages">Gangtok</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.sikkimdarjeelingvisit.com/bhalukpong-tour-packages.htm" title="Bhalukpong Tour Packages">Bhalukpong</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.sikkimdarjeelingvisit.com/khajjiar-tour-packages.htm" title="Khajjiar Tour Packages">Khajjiar</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.sikkimdarjeelingvisit.com/tezpur-tour-packages.htm" title="Tezpur Tour Packages">Tezpur</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.sikkimdarjeelingvisit.com/chamba-tour-packages.htm" title="Chamba Tour Packages">Chamba</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.sikkimdarjeelingvisit.com/tawang-tour-packages.htm" title="Tawang Tour Packages">Tawang</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.sikkimdarjeelingvisit.com/bomdila-tour-packages.htm" title="Bomdila Tour Packages">Bomdila</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.sikkimdarjeelingvisit.com/lachen-tour-packages.htm" title="Lachen Tour Packages">Lachen</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.sikkimdarjeelingvisit.com/dalhousie-tour-packages.htm" title="Dalhousie Tour Packages">Dalhousie</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.sikkimdarjeelingvisit.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">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.sikkimdarjeelingvisit.com/bagdogra-tour-packages.htm" title="Bagdogra Tour Packages">Bagdogra</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.sikkimdarjeelingvisit.com/lachung-tour-packages.htm" title="Lachung Tour Packages">Lachung</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.sikkimdarjeelingvisit.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.sikkimdarjeelingvisit.com/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.sikkimdarjeelingvisit.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/wildlife-safari-holidays-catid.htm" title="Wildlife Safari Packages">Wildlife Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/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 "><a class="dif" href="http://www.sikkimdarjeelingvisit.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</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.sikkimdarjeelingvisit.com/holiday-packages/7-days-bhutan-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_21/626489/299579.jpg"  alt="7 Days Bhutan Tour" title="7 Days Bhutan Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.sikkimdarjeelingvisit.com/holiday-packages/7-days-bhutan-tour.htm" title="7 Days Bhutan Tour"><h3>7 Days 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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Thimphu, Paro, Punakha</p>
															<div class="mt10px small">
							<form name="pkg_190455" id="pkg_190455" method="post" action="http://www.sikkimdarjeelingvisit.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.sikkimdarjeelingvisit.com/holiday-packages/7-days-bhutan-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="7 Days 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="190455"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.sikkimdarjeelingvisit.com/holiday-packages/gorgeous-bhutan-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_21/626489/299585.jpg"  alt="Gorgeous Bhutan Tour" title="Gorgeous Bhutan Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.sikkimdarjeelingvisit.com/holiday-packages/gorgeous-bhutan-tour.htm" title="Gorgeous Bhutan Tour"><h3>Gorgeous 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> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Thimphu, Paro, Punakha</p>
															<div class="mt10px small">
							<form name="pkg_190461" id="pkg_190461" method="post" action="http://www.sikkimdarjeelingvisit.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.sikkimdarjeelingvisit.com/holiday-packages/gorgeous-bhutan-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Gorgeous 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="190461"/>
							</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:58:"Book Best of Bhutan Tour - 5 Nights / 6 Days Tour Packages";i:2;s:121:"book best of bhutan tour - 5 nights / 6 days tour packages, adventure tour packages, thimphu, paro, punakha tour packages";i:3;s:160:"Darjeeling Sikkim Tour offers Best of Bhutan Tour - 5 Nights / 6 Days tour package, budget Adventure tour packages for Thimphu, Paro, Punakha at exciting price.";i:4;s:413:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Thimphu, Paro, Punakha"        
		                 },
		      "description": "",
		      "name": "Best of Bhutan Tour",
		      "telephone": "+91-8944907203"
		    }
		    </script>
			";i:5;N;}