a:6:{i:0;s:43816:"					<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">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>35000</b> <small>/
			
			                		Adult			
			                				
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</div>
					 					
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</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-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-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-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-nagarkot.htm" title="Packages in Nagarkot">Nagarkot</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-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 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="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="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;}