a:6:{i:0;s:42357:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Bhutan Tour Agent</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.pashupatinathtourandtravel.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.pashupatinathtourandtravel.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Bhutan Tour Agent</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269143.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269143.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269143.jpg"  alt="Bhutan Tour Agent" title="Bhutan Tour Agent" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269965.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269965.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269965.jpg"  alt="Bhutan Tour Agent" title="Bhutan Tour Agent" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269144.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269144.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269144.jpg"  alt="Bhutan Tour Agent" title="Bhutan Tour Agent" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269145.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269145.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269145.jpg"  alt="Bhutan Tour Agent" title="Bhutan Tour Agent" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269146.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269146.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269146.jpg"  alt="Bhutan Tour Agent" title="Bhutan Tour Agent" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269147.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269147.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269147.jpg"  alt="Bhutan Tour Agent" title="Bhutan Tour Agent" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
							
							<ul class="lsn" id="bxslider-pager"><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269143.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269965.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269144.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269145.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269146.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/269147.jpg"></a></li></ul>					
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">Bhutan Tour Agent</p>
					
											<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Thimphu, Paro, Punakha</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px"><i class="fa fa-inr"></i> 35000						</p>
						<p class="xxsmall alpha50">Per Person</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.pashupatinathtourandtravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Bhutan Tour Agent - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="179042"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
												<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">The Royal Government of Bhutan, since inception of tourism in the year 1974, has adopted a very cautious approach toBhutan-travel-guides growth and development of the tourism. The Bhutanese tourism industry is based on principle of sustainability that is "tourism must be environmentally and ecologically friendly, socially and culturally acceptable and economically viable" <br />
<br />
Tourism council of Bhutan states in its directive: <br />
''While tourism may be important as a revenue earner, Bhutan sees no gain in succumbing to over commercialism. It recognizes that a small country emerging from isolation must do so in its own time and at its own pace. The Tourism council of Bhutan is clear that its policy of high value, low volume is the right policy because Bhutan is just too small for mass tourism. And as the world begins to discover the Land of the Thunder Dragon, many go away with a sense of having been in a special place, far from the insanity of modern living. Here is a land where life may not be materially luxurious but it provides much that is good for a society that is not yet caught up with the global rat race'<br />
<br />
The mandate of the modern Bhutanese state is Gross National Happiness. The term was coined by Bhutan's former King Jigme Singye Wangchuck, who has opened up Bhutan to the age of modernization. The four pillars of Gross National Happiness are the promotion of sustainable development, preservation and promotion of cultural values, conservation of the natural environment, and establishment of good governance</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Arrive Paro Bhutan										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Fly Into Paro By Drukair Flight Bhutan Airlines . After Immigration and Customs Formalities, You Will Be Received By Your Local Bhutanese Tour Guide from Pashupatinath Tour & Travels and Then Travel to Your Hotel in Paro.<br />
After Checking Into Your Hotel in Paro and Refreshment Your Paro Sightseeing Tours Includes the Following:<br />
Farm Houses in Paro Valley and a Visit to a Farm House Offers a Good Glimpse Into the Lifestyle of a Farmer and Where You Can Enjoy Authentic Bhutanese Lunch.<br />
Kyichu Temple,One of the 108 Temples Built in the 7th Century By the Tibetan King Songsten Gampo. the Story Goes that a Giant Demon Lay Across the Whole Area of Tibet and the Himalayas and Was Preventing the Spread of Buddhism. to Overcome Her, King Songtsen Gampo Decided to Build 108 Temples, Which Would Be Placed On all the Points of Her Body.<br />
Rinpung Dzong, Built in 1645 to Defend the Valley Against Tibetan Invaders. the Dzong is Now Being Used as An Administration Center and School for Monks.then Walk Down to Rimpung Bridge (traditonal Bridge), Oldest Bridge in Bhutan.<br />
In the Evening Stroll Around Paro Town and You May Visit Local Bhutanese Handicraft Stores. Dinner & Overnight At a Hotel in Paro.															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Paro –Thimphu and Thimphu Tours										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Distance: 54 Km & Estimated Driving Time: 1 Hour<br />
after Breakfast, You Will Travel to Thimphu Which Will Take You Through Chunzom (confluence of Pachu- the River Flowing Through Paro Valley & Wangchu –the River Flowing Through Thimphu Valley). On the Way, Visit Tachog Lhakhang(temple) , this 14th Century Temple Located On the Base of a Mountain Across the Pa Chu On the Paro-thimphu Highway, is a Must Visit Temple in the Paro Valley. Built By the Great Master Architect Thangtong Gyalpo, the Temple Houses Some Unique Statues. to Get to the Temple One May Actually Walk Over the Iron Chains that Spans Over the Pa Chu.<br />
after Crossing Chunzom Which is Confluence of Paro and Thimphu Rivers, the Drive Will Take You Along the Wangchu ( Thimphu River) to Thimphu Valley.<br />
after Checking Into Your Hotel Visit the Following:<br />
Bhutan Postal Museum-the Museum Tells the Story of Bhutan’s Progress and Development Through the Evolution of Communications and Postal System in the Country. also You Can Get Personalized Bhutanese Postage Stamps with Your Photo On Them. You Can Bring Along Your Own Photo to Make a Personalised Bhutanese Postage Stamps and You Can Use These Stamps On Your Postcard to Send to Your Family and Friends  Back Home in Your Country.<br />
National Textile Museum Which is a Good Place to See the Art of Traditional Weaving Being Kept Alive and Preserved Through Exhibition and Has a Good Collection of Old Textiles Which are Rich in Colors and Designs.you Will also See People Weaving with Intricate Designs.<br />
School of Traditional Painting of Arts and Crafts Where Students Undertake a Six-year Course On the 13 Traditional Arts and Crafts of Bhutan.<br />
Folk Heritage Museum– a Living Museum of Rural Life  Which Provides Visitors and Tourists with Fascinating Insights Into the Bhutanese Material Culture and Way of Life. the Folk Heritage Museum is Set Inside a Three Storied, 19th Century Traditional House.<br />
After Lunch At Thimphu, Travel for About 40 Minutes to the Base Camp of Tango Monastery Which Lies North of Thimphu City with Packed Picnic Lunch. from the Base Camp Which is the End of Motor Road You Hike Up to the Monastery is Through the Forest Filled with Oak and fine Trees as Well as Rhododendron Flower Trees .<br />
The Tango Monastery Site Has Had Religious Significance Since the 12th Century When It Was the Home of the Highly Revered Buddhist Monks Who Brought the Drukpa Kagyupa School of Buddhism to Bhutan.<br />
the Tango Monastery Was Built in 1689 By Gyalse Tenzin Rabgyal. the Three-storied Monastery Was Built with the Help of the Locals and Was Completed Within Two Months.<br />
At Present Tango Monastery is the Center for Higher Studies for Monks. the View from Tango Monastery is Breathtakingly Beautiful. You Will Experience Complete Peace and Serenity in this Area. After Visiting the Monastery, Walk Back to the Road and Then Travel Back to Thimphu.<br />
overnight At a Hotel in Thimphu.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Thimphu-Punakha/Wangdue and Punakha Tours and sightseeing										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Distance: 71 Km & Estimated Driving Time: 2 ½ Hours<br />
after Breakfast, Travel to Punakha & Wangdue Through Dochula Pass 3140 M). In the Clear Spring Sky, You Can Enjoy the Panoramic View of the Himalayan Mountain Ranges. . Then Pass By the Beautiful 108 Chortens Built On the Hill By Her Majesty Ashi Dorji Wangmo Wangchuck (queen Mother of Bhutan) for the Security and Well Being of His Majesty, the King of Bhutan.<br />
You Will also Visit Druk Wangyal Lhakhang (monastery) Which Was Built By Ashi Dorji Wangmo Wangchuck ( the Queen Mother of Bhutan) as a Tribute to His Majesty the Fourth King of Bhutan, Jigme Singye Wangchuck and Armed Forces After His Majesty Led a Successful Operation Against Indian Militants Who Had Occupied Certain Areas of Bhutan. The Gallery of the Druk Wangyal Lhakhang Has Beautiful Murals Depicting Some of the Important Events in the Reigns of the Kings of Bhutan. This is a Unique Feature of this Monastery that No other Monastery in Bhutan Has.<br />
Then Travel Onto Punakha. Punakha Has Been Inextricably Linked to Some of the Most Momentous Events in the Bhutanese History and Deserves Its Reputation as One of the Most Beautiful and Significant Regions At the Heart of Bhutanese Culture. Punakha Had Served as the Capital of Bhutan from 1637 Till 1907 and the 1st National Assembly Was Held There.  the Dzong is Historically Important and Stands as the Symbol for a Unified Bhutan. <br />
On the Way, Stop for Lunch At Metsina Village and Then Visit the Devine Madman’s Monastery-chhimi Lhakhang, Famously Known for Its Fertility Shrine, Where One Can Receive a Special Fertility Blessing.<br />
Then Visit the Punakha Dzong, Located On the Island of the Pho - Chu (male River) and the Mochu (female River). The Dzong Was Built in 1637 By Zhabdrung Ngawang Namgyal (the Person Who Unified Bhutan) to Serve as the Religious and Administrative Seat of the Region. It Was Here that the Dual System of Government Was Introduced in the 17th Century and in 1907, Enthroned the First King Gongsar Ugyen Wangchuck. Damaged Over the Centuries By Four Catastrophic Fires and An Earthquake, the Dzong Has Been Fully Restored in the Recent Years By the 4th King Jigme Singye Wangchuck.  At the Dzong, You Can See the Highest Standards in Woodwork. <br />
In the Drive Through Upper Punakha Valley and Take a Hike Through Farmhouses to the Beautiful Khamsum Yuelley Namgyal Lhakhang (temple) Built By Ashi Tshering Yangdon Wangchuck (the Queen Mother of Bhutan)  for Peace and Stability in this Ever-changing World. This Temple is Situated On the Hilltop Overlooking the Valley Below. The Leisurely Walk Up to the Temple Would Take About An Hour. Visit the Temple and also Enjoy the Breathtakingly Beautiful View from There.<br />
Overnight a Hotel in Punakha.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Punakha-Thimphu and Thimphu Tour										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Distance: 71 Km , Estimated Driving Time : 2 ½  Hour<br />
after Breakfast , Continuing Your Bhutan Travel and Bhutan Trip Takes You to Thimphu and After Lunch Visit the Following:<br />
Takin Preserve, Which Houses the National Animal the Takin that is Only Found in Bhutan. This is An Extremely Rare Member of the Goat Family. Found in Herds in the Very High Altitudes (13,125ft and Over). They Live On a Diet of Grass and Bamboo. It Can Weigh as Much as 550 Pounds.<br />
Witness Archery Game (national Sport of Bhutan) At the Changlimithang National Satdium.<br />
Kuenselphodrang (commonly Known as Buddha Point) Where the Largest Buddha Statue in the Country is Perched On the Hillock Overlooking the Thimphu Valley  and Enjoy the Magnificent Few of Thimphu Valley and Mountain Peaks.<br />
Tashichhoe Dzong, a Fortress of the Glorious Religion. It Was Built in 1641 By Zhabdrung Ngawang Namgyel and Was Reconstructed Into Present Structure By the Late King, His Majesty Jigme Dorji Wangchuck in the Year 1962-1969. It Houses the Secretariat Building, the Throne Room and the Office of the King, and the Central Monk Body.<br />
National Memorial Chorten, Chorten Literally Means ' Seat of Faith' and Buddhists Often Call such Monuments the 'mind of Buddha'. Meet the Elderly Local in Circumambulation At the National Memorial Chorten.<br />
Craft Bazaar -a One Stop Place to Witness Bhutanese Culture and Buy Bhutan Made Art and Craft Product. The Bazaar in Its 80 Stalls Covers all Aspects of the Traditional Arts and Crafts of Bhutan. At this Bazaar Craftsmen and Artisans from Across the Country Display and Sell Their Handicrafts. And also Visit other Handicraft Stores in Thimphu City.<br />
Dinner and Overnight At a Hotel in Thimphu.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 5											
											:</b> Thimphu-Paro & A Hike to Paro Taktsang Ghoempa(Tiger’s Nest Monastery)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After Breakfast Drive to Paro for About 1 Hour and Hike Up to Taktsang Monastery, also Known as ‘tiger’s Nest’. The Hike to Tiger's Nest Will Surely Be the Highlight of Your Bhutan Tour and Bhutan Trip as It Was for Many Who Visited Bhutan. The Gradual Climb Up to the Viewpoint Will Take Around 1 ½ Hours and from There You Will Enjoy a Spectacular View of the Monastery Clinging to the Side of the Cliff. Stop for Refreshment At the View Point Cafeteria.then Walk Further Up to the Monastery Which Will Take Another 1 ½  Hour. It is Said that in the 8th Century Guru Rinpoche Flew On the Back of a Tigress from Eastern Bhutan to this Place and Meditated in a Cave Here for 3 Months. The Principal Lhakhang (monastery) of the Present Monastic Complex Dates from 1692. Taktsang Was Damaged Severely By Fire in 1998 But Has Now Been Fully Restored to Its Former Glory.after Visiting the Monastery, Walk Back Down to the Road On the Way Stop for Lunch At the View Point Cafeteria and Then Walk Further Down to the Road Point.<br />
Then You Will Drive Up the Paro Valley to Visit Drukgyel Dzong ( in Ruins), a 17th Century Fortress that Used to Keep Invading Tibetan Forces At Bay and It Was Destroyed By Fire in 1951.<br />
In the Evening You May Relax in the Traditional Hotstone Bath.<br />
Dinner and Overnight At a Hotel in Paro.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 6											
											:</b> Departure from Paro Bhutan										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After Breakfast, Drive to the Paro International Airport and Your Tour Guide from Om-mani Tours and Travel( Your Bhutan Travel Agent) Will See You Off At the Paro International Airport for Your Flight to Your Onward Destinations.<br />
End of the Bhutan Tour			
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																						<li>3 Star Hotel</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>20% 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><li>
Retention Amount varies as per the number of days left before your package start date.</li><li>
Refund will be made within 15 working days from the date of receipt of the cancellation.</li></ul>						
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.pashupatinathtourandtravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Bhutan Tour Agent - 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="179042"/>
						</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="https://www.pashupatinathtourandtravel.in/packages-in-pokhara.htm" title="Packages in Pokhara">Pokhara</a> <b class="alpha50 bn small">(24)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</a> <b class="alpha50 bn small">(22)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-gorakhpur.htm" title="Packages in Gorakhpur">Gorakhpur</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-lumbini.htm" title="Packages in Lumbini">Lumbini</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-jomsom.htm" title="Packages in Jomsom">Jomsom</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-chitwan.htm" title="Packages in Chitwan">Chitwan</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/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 "><a class="dif" href="https://www.pashupatinathtourandtravel.in/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 "><a class="dif" href="https://www.pashupatinathtourandtravel.in/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 "><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-nagarkot.htm" title="Packages in Nagarkot">Nagarkot</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-varanasi.htm" title="Packages in Varanasi">Varanasi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-prayagraj.htm" title="Packages in Prayagraj">Prayagraj</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-gangotri.htm" title="Packages in Gangotri">Gangotri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-janakpur.htm" title="Packages in janakpur">janakpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-rudraprayag.htm" title="Packages in Rudraprayag">Rudraprayag</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-badrinath.htm" title="Packages in Badrinath">Badrinath</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-nyalam.htm" title="Packages in Nyalam">Nyalam</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-barkot.htm" title="Packages in Barkot">Barkot</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-joshimath.htm" title="Packages in Joshimath">Joshimath</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-chitrakoot.htm" title="Packages in Chitrakoot">Chitrakoot</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-uttarkashi.htm" title="Packages in Uttarkashi">Uttarkashi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-yamunotri.htm" title="Packages in Yamunotri">Yamunotri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-paryang.htm" title="Packages in Paryang">Paryang</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/packages-in-kedarnath.htm" title="Packages in Kedarnath">Kedarnath</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="https://www.pashupatinathtourandtravel.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(16)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/group-holidays-catid.htm" title="Group Packages">Group</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/luxury-holidays-catid.htm" title="Luxury Packages">Luxury</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.pashupatinathtourandtravel.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/adventure-sports-holidays-catid.htm" title="Adventure Sports Packages">Adventure Sports</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/abseiling-holidays-catid.htm" title="Abseiling Packages">Abseiling</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.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 spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.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="https://www.pashupatinathtourandtravel.in/affordable-budget-holidays-catid.htm" title="Affordable & Budget Packages">Affordable & Budget</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/boating-holidays-catid.htm" title="Boating Packages">Boating</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/biking-holidays-catid.htm" title="Biking Packages">Biking</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/angling-holidays-catid.htm" title="Angling Packages">Angling</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/elephant-safari-holidays-catid.htm" title="Elephant Safari Packages">Elephant Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.pashupatinathtourandtravel.in/artificial-wall-climbing-holidays-catid.htm" title="Artificial Wall Climbing Packages">Artificial Wall Climbing</a> <b class="alpha50 bn small">(2)</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>
				
										<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='https://www.pashupatinathtourandtravel.in/tour-packages/bhutan-tour6-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/437729/276634.jpg"  alt="Bhutan Tour  6 Days" title="Bhutan Tour  6 Days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.pashupatinathtourandtravel.in/tour-packages/bhutan-tour6-days.htm" title="Bhutan Tour  6 Days"><h3>Bhutan Tour  6 Days</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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Thimphu, Paro, Punakha</p>
															<div class="mt10px small">
							<form name="pkg_182428" id="pkg_182428" method="post" action="https://www.pashupatinathtourandtravel.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.pashupatinathtourandtravel.in/tour-packages/bhutan-tour6-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Bhutan Tour  6 Days - 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="182428"/>
							</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:56:"Book Bhutan Tour Agent - 5 Nights / 6 Days Tour Packages";i:2;s:132:"book bhutan tour agent - 5 nights / 6 days tour packages, religious & pilgrimage tour packages, thimphu, paro, punakha tour packages";i:3;s:177:"Pashupatinath Tour & Travels offers Bhutan Tour Agent - 5 Nights / 6 Days tour package, budget Religious & Pilgrimage tour packages for Thimphu, Paro, Punakha at exciting price.";i:4;s:1951:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Thimphu, Paro, Punakha"        
		                 },
		      "description": "The Royal Government of Bhutan, since inception of tourism in the year 1974, has adopted a very cautious approach toBhutan-travel-guides growth and development of the tourism. The Bhutanese tourism industry is based on principle of sustainability that is "tourism must be environmentally and ecologically friendly, socially and culturally acceptable and economically viable" 

Tourism council of Bhutan states in its directive: 
''While tourism may be important as a revenue earner, Bhutan sees no gain in succumbing to over commercialism. It recognizes that a small country emerging from isolation must do so in its own time and at its own pace. The Tourism council of Bhutan is clear that its policy of high value, low volume is the right policy because Bhutan is just too small for mass tourism. And as the world begins to discover the Land of the Thunder Dragon, many go away with a sense of having been in a special place, far from the insanity of modern living. Here is a land where life may not be materially luxurious but it provides much that is good for a society that is not yet caught up with the global rat race'

The mandate of the modern Bhutanese state is Gross National Happiness. The term was coined by Bhutan's former King Jigme Singye Wangchuck, who has opened up Bhutan to the age of modernization. The four pillars of Gross National Happiness are the promotion of sustainable development, preservation and promotion of cultural values, conservation of the natural environment, and establishment of good governance",
		      "name": "Bhutan Tour Agent",
		      "telephone": "+91-7318377725"
		    }
		    </script>
			";i:5;N;}