a:6:{i:0;s:87620:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Kolkata-Darjeeling-Sikkim-Bhutan Cultural Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.holidaysinsikkim.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.holidaysinsikkim.in/packages.htm" title="Packages">Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Kolkata-Darjeeling-Sikkim-Bhutan Cultural Tour</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<section id="middle" class="propDtls">
				<div class="wrap thinFormat " id="bodyFormatNT">
								
				<div class="row1 dt columns23"><!--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>
				
					<div class="data mb15px mt15px p10px"> 
	 				<div class="fo dt w100"> 	 				
	 										<div class="dtc vat ttw-detail pr20px pr">
						<div class="headVr bdr0">
						<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_16/451443/249805.jpg"><div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_16/451443/249805.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249805.jpg"  height="150"  width="150"    alt="Kolkata-Darjeeling-Sikkim-Bhutan Cultural Tour" title="Kolkata-Darjeeling-Sikkim-Bhutan Cultural Tour" /></div></a></div></div></li>
															</ul>
												<script>
						var realSlider= jQuery("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=jQuery("ul#bxslider-pager").bxSlider({
						minSlides: 4,
						maxSlides: 4,
						slideWidth: 115,
						slideMargin: 5,
						moveSlides: 1,
						pager:false,
						auto:false,
						speed:1000,
						infiniteLoop:false,
						hideControlOnEnd:false,
						nextText:'<span></span>',
						prevText:'<span></span>',
						onSlideBefore:function($slideElement, oldIndex, newIndex){
						
						}
						});
						
						linkRealSliders(realSlider,realThumbSlider);
						
						if(jQuery("#bxslider-pager li").length<5){
						jQuery("#bxslider-pager .bx-next").hide();
						}
						
						// sincronizza sliders realizzazioni
						function linkRealSliders(bigS,thumbS){
						
						jQuery("ul#bxslider-pager").on("click","a",function(event){
						event.preventDefault();
						var newIndex=jQuery(this).parent().attr("data-slideIndex");
						bigS.goToSlide(newIndex);
						});
						}
						
						//slider!=$thumbSlider. slider is the realslider
						function changeRealThumb(slider,newIndex){  
						var $thumbS=jQuery("#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>
											<div class="dtc pt7px ttwDtlsCont">
					<h1>Kolkata-Darjeeling-Sikkim-Bhutan Cultural Tour</h1>											<p class="mb5px"><b>Duration :</b> 
						17 Nights / 18 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Gangtok, Darjeeling, Kolkata, Pelling, Yumthang, Lachung, Thimphu, Paro, Punakha, Namchi</p>
												<p class="mb5px"><b>Tour Themes :</b> Hill Stations & Valleys, Hill Stations & Valleys</p>
												<div class="fo mt20px mb20px ac large">
              			<p class="fw6 dif">Price on Request</span></p>
              			</div>
											<div class="ac">
					<form class="inquiry-form" name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.holidaysinsikkim.in/enquiry-form-10028.htm">
					<input type="hidden" name="subject" value="Kolkata-Darjeeling-Sikkim-Bhutan Cultural Tour - Tour Package"/>
					<input type="hidden" name="allocate_type" value="tour"/>							
					<input type="hidden" name="pkg_slno" value="164217"/>
					</form>
					<a href="javascript:void(0);" class="submit-inquiry button p10px20px c5px ts0 xlarge dib fw6">Inquire Now for Best Deals</a>
					
										</div>
					<br />
										</div>
	   				</div>
					</div>
													<div class="data mb15px p15px">           
								<div class="fw7 xxlarge mb10px mt5px"><h2>New Delhi, Gangtok and Darjeeling Tour Overview</h2></div>
								<p class="">					
								About Sikkim: Small but beautiful, Sikkim is situated in the eastern Himalayas. The state is spreader below the Mount Khanchendzonga (8534 mts), the third highest mountain in the world, and revered by the Sikkimese as their protective deity. With an area of 7,300 sqkms and measuring approx. 114 kms from the north to south and 64 kms from east to west, the elevation ranges from 300 meters to over 8540 meters above sea level. Amidst the grandeur of the mountain peaks, lush valleys, fast flowing rivers, hills, Sikkim offers her visitors a rare and singular experience. Within a matter of hours one can move from the sub-tropical heat of the lower valleys to the cold of the rugged mountain slopes that reach up to the area of perpetual snow.<br />
<br />
The modern history of Sikkim begins from 1642 A.D. with the coronation of PhuntsogNamgyal as the first Chogyal or king of Sikkim in a tranquil pine covered hill in YuksomNorbugang in West Sikkim. The Namgyals were scions of the Mi-nyak House in Kham in Eastern Tibet. It is said that there were three brothers, chiefs of Kham Mi-nyak. A letter dropped from heaven directed the middle brother to go south towards Sikkim where his descendants were fated to rule. It was in Sakya that his eldest son single-handedly raised the pillars of the Sakya monastery and earned himself the sobriquet of ‘KhyeBumsa( the strength of a lakh of men ). KhyeBumsa also earned himself the hand of the daughter of the Sakya hierarch and settled in Chumbi Valley, which remained, for a long time, the epicenter of the later kingdom of Sikkim.<br />
<br />
About Bhutan: - The Kingdom of Bhutan, a gem in the eastern Himalayas, areas 38,394 square km. and is populated with just little above 750,000. Looking from a natural side, fauna and flora flourishes in great varieties as the terrain rises from southern foothills (150m above sea level) to unclimbed peaks over 7000m. The kingdom is one of the leading countries in environmental conservation. Over 70% of Bhutan’s land area is still under forest cover. One of the most striking physical features of Bhutan is its architecture. Patterns of rich colours adorn walls, beams, pillars and doors in traditional splendour.<br />
<br />
Tiger’s Nest may like to experience 8th century and follow the trails of Guru Padmasambhava’s legendary travel through Bhutan. Legend says that he flew to the cliff s of Taktsang on the back of a tigress. Taktsang temples (Tiger’s Nest), built on the cliff s above the valley of Paro, is one of the highest holy Buddhist spots in the world and listed in 1000 best places to see before you die.								</p>
								</div>
																<div class="mt20px mb10px">
		  						<div class="b xlarge"><h2>New Delhi, Gangtok and Darjeeling Tour Itinerary</h2></div>
					            </div>
					            
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 1:</b> <h3>Arrived Kolkata – Delhi</h3>
										<span class="fr pr10px"><i class="fa fa-angle-up"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px ">Open arrival at Kolkata Subash Chandra bose international airport welcome and transfer to hotel over night at Kolkata.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 2:</b> <h3>Kolkata-Delhi-Bagdogra-Darjeeling</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">After breakfast check out hotel then transport to domestic airport & Open arrival in Bagdogra Airport meet and welcome you by our Guide at the airport and then transfer you on a journey drive through picturesque tea gardens to the world renowned hill station, Darjeeling. Perched on an altitude of 2134m, Darjeeling is set amidst a majestic backdrop of the great Himalayan peak of Kanchenjunga (3rd highest peak in the world at 8586m) and is regarded as the Queen of East India. After dinner, free at leisure to visit the local bazaar.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 3:</b> <h3>Darjeeling Local Sightseeing</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">Depart hotel at about 4am for Tiger Hill (2685m) for sun rising view and a panoramic view of the spectacular snow-clad mountain peaks of the Himalayan Range.Visit to the Ghoom Monastery, built in 1850 by Lama Sharb, which enshrines a 15ft. Statue of Maitreya Buddha . After which, back to hotel for your breakfast after breakfast start short hike downhill up to Tibetan Refugee self-help center Then visit the Himalayan Zoological Park. The zoo serves as a breeding center for snow leopards and red pandas, as well as a home for mountain yaks, Himalayan black bears and Siberian Tigers. Visit the Himalayan Mountaineering Institute, located within this zoo, which was founded in 1954 to commemorate history's first successful conquest of Mt. Everest in 1953 by 'Darjeeling's son, Tenzing Norgay and Sir Edmund Hillary. Evening back to market area evening free and easy.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 4:</b> <h3>Darjeeling to Kaluk</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">After breakfast check out then drive to Kaluk west Sikkim. After 2 hrs drive we have a short break at Lover view point for Photography view of two river (River Teesta& River Rangeet on completed drive to Sikkim border line area for immigration after completed all paper work then drive to Jorethang for lunch after lunch drive to Rinchenpong visit GurungGompa on completed drive to Kaluk over night at Kaluk.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 5:</b> <h3>Kaluk - Pelling</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">After breakfast check out then transfer to Chaya Tal then drive to Beautiful Dentam Valley on arrival visit Dentam alpine cheese factory & second highest suspension bridge in Asia and highest in India Sikkim. then drive to Pelling on arrival visit Pemayangtse Monastery designed and founded by Lama LhatsunChempo in 1705, it is one of the oldest and premier monasteries of Sikkim, also the most famous in west Sikkim. Originally built by LhatsunChenpo in the 17th century, as a small Lhakhang, it was subsequently enlarged during the reign of the third ChogyalChakdorNamgyal who was considered as LhatsunChenpo's third reincarnate, JigmePawo. The monastery follows the Nyingma Order of Tibetan Buddhism and controls all other monasteries of that Order in Sikkim. On completed drive down to Rabdentse Ruins second capital of Sikkim over night at Pelling.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 6:</b> <h3>Pelling - Yuksam</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">After breakfast Proceed to Khechoperi Holy Lake on the way passing by Rimbi Falls and Kanchenjunga Falls visit Khecheopalri Lake, originally known as Kha-Chot-Palri (meaning the heaven of Padmasambhava), is a lake located near Khecheopalri village on completed drive to Yuksam first capital of Sikkim on arrival at Yuksam visit Dubdi monastery first and oldest monastery in Sikkim & Norbugang chorten on completed drive back to hotel over night at Yuksam.<br />
<br />
After breakfast, we begin a short easy trek to Lebong village via Bhotey busty, one of the very famous village in Darjeeling After breakfast, we begin a short easy trek to Lebong village via Bhotey busty, one of the very famous village in Darjeeling.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 7:</b> <h3>Pelling – Namchi</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">After breakfast drive to Tashiding means “The Devoted Central Glory” and the monastery by this name was founded in 1641 by Ngadak Sempa Chempo Phunshok Rigzing who belonged to the Nyingma sect of Tibetan Buddhism. Ngadak was one of the three wise men who held the consecration ceremony crowning the first King of Sikkim at Yuksom. It was extended and renovated in 1717 during the reign of the third Chogyal Chakdor Namgyal. 'Bhumchu Ceremony' or festival is a popular religious festival that is held on the 14th and 15th day of the first month of Tibetan Calendar on completed drive to Ravangla on arrival visit The Buddha Park of Ravangla, also known as Tathagata Tsal, is situated near Rabong (Ravangla)It was constructed between 2006 and 2013 and features a 130-foot (40 m) high statue of the Buddha as its centerpiece. The site was chosen within the larger religious complex of the Rabong Gompa (Monastery), itself a centuries-old place of pilgrimage on completed drive to Namchi visit Chardham highest statue of lord Shiva and Sangdrouptse highest statue of Guru Padmasambawaover night at Namchi.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 8:</b> <h3>Namchi-Rumtek Monastery-Gangtok</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">After breakfast leave for Gangtok, the capital of Sikkim. Tucked away in the clouds, Gangtok is spread out on a ridge 1520m above sea level, and looks something out of a fairy tale with houses precariously balanced on the slopes of steep hills. Apart from the gorgeous view of deep valleys, waterfalls and snow-capped mountain ranges that separate from neighboring Tibet, Bhutan and Nepal en route visit Rumtek Monastery Originally built under the direction of Changchub Dorje, 12th Karmapa Lama in the mid-1700s[1], Rumtek served as the main seat of the Karma Kagyu lineage in Sikkim for some time. But when Rangjung Rigpe Dorje, 16th Karmapa, arrived in Sikkim in 1959 after fleeing Tibet, the monastery was in ruins. Despite being offered other sites, the Karmapa decided to rebuild Rumtek. After lunch drive to city area evening free and easy.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 9:</b> <h3>Gangtok to Tsamgo Lake Excursion</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">After breakfast, drive to Tsomgo Lake, also means as “The Source of the Lake” (3,780m). The lake derives its water from melting snows off the surrounding mountains, which is one of the famous sacred lakes in Sikkim, situated near the borders of Indo-Tibet (Suggested If the weather is clear take Cable car to top) or walk around the lake area around 45 Mnt lunch at local restaurant and back to Gangtok on arrival visit Flower exhibition center &evening walk around the local market MG marg.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 10:</b> <h3>Gangtok to Lachung</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">Today, we leave for North district of Sikkim to a small village, Lachung (2,400m). This spectacular drive will take about 6-7 hrs (lunch en-route). If weather is clear, you’ll see the magnificent range of the third highest mountain in the world, Kanchenjunga and some wild orchids blooming (during spring) on the way. Stop at Seven sister waterfalls, Naga waterfalls, Bhim Nala waterfalls Arrive Lachung in the late afternoon and check in at a lodge. (Please be reminded that the facilities here are very basic)
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 11:</b> <h3>Lachung - Yumthang Valley - Zero Point Excursion</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">After breakfast, we leave for Yumthang (3,500m) excursion. This panoramic drive will bring you to the Valley of Flowers which consists of about 36 species of rhododendrons, primulas and other spectacular alpine wild flowers. Yaks and dzos can be seen grazing on the meadows on completed drive to Zero point which is very beautiful place to see the mountain range. On way back, walk across the Lachung Chu and have a dip in a hot spring (swimming costumes needed). If not, just enjoy the scenic surrounding evening free and easy walk around the local area over night at Lachung.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 12:</b> <h3>Lachung – Gangtok</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">After breakfast check out then transfer to Gangtok on arrival check inn to hotel evening free and easy your own
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 13:</b> <h3>Gangtok to Phuntsholing</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">After breakfast drive to Bhutan border line area en route stop at Rangpo (Sikkim-Bengal border line area for Sikkim immigration then 3 hrs drive to Malbazar for lunch after lunch 2 hrs to reached India/Bhutan borderline area Jaigaon finish India immigration then check in to Bhutan hotel over night at Bhutan.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 14:</b> <h3>Phontsholing to Thimpu</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">After breakfast check out then drive to Capital of country (Thimpu) en-route visit Dzandropeli monastery & Kharkandi monastery we have a short break for Photography to see the view of Jaingaon & Phuntsholing border line area on completed drive to Chuka for lunch after lunch drive to Thimpu on arrival check in to hotel afternoon visit Trashichhodzong, the beautiful medieval fortress/monastery which houses most of the Government's office and King's Throne room is also the summer residence of Je Khenpo, the Chief Abbot. Later visit National Memorial Chorten. <br />
<br />
The building of this landmark was originally envisaged by Bhutan’s third king, His Majesty Jigme Dorji Wangchuk (“the father of modern Bhutan”) who has wished to erect monument to world peace and prosperity. Completed in 1974 after his untimely death, it serves both as a memorial to the Late King and as a monument to peace.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 15:</b> <h3>Thimpu Halfday Local & Punakha</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">Buddha Dordema: Early in the morning drive to the Buddha point to take beautiful shot of Buddha and the valley. The big statue of sitting Buddha is located on the hill of Thimphu valley. The statue is made of bronze and the high of the statue is 169ft (51.5m on completed Proceed to the National Library which houses an extensive collection of Buddhist literature, with some works dating back several hundred years. Visit the nearby Institute for Zorig Chusum (commonly known as the Painting School), where a six year training course is given in the 13 traditional arts and crafts of Bhutan. Visit the nearby Institute for Zorig Chusum (commonly known as the Painting School), where a six year training course is given in the 13 traditional arts and crafts of Bhutan. Also visit Textile and Folk Heritage Museum: These museums, both of which opened in 2001, provide fascinating insights into Bhutanese material culture and way of life. Later continue on to Handicrafts Emporium that displays wide assortment of beautifully handwoven and crafted products.<br />
<br />
Afternoon drive to Punakha across Dochu-la pass (3,088m/ 10,130 ft) stopping briefly here to take in the view and admire the chorten, mani wall, and prayer flags which decorate the highest point on the road. If skies are clear, the following peaks can be seen from this pass (left to right): Masagang (7,158m), Tsendagang (6,960m), Terigang (7,060m ), Jejegangphugang (7,158 m ), Kangphugang (7,170 m ), Zongphugang (7, 060 m ), a table mountain that dominates the isolated region of Lunana - finally Gangkarpuensum, the highest peak in Bhutan at 7,497m. Late evening check in to hotel over night at Punakha.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 16:</b> <h3>Punakha - Paro</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">After breakfast visit Punakha Dzong or Pungthang Dechen Phodrang "Palace of Great Happiness” is located on the confluence of two rivers, the Pho and Mochu. It was built in 1637 by Shubdrung Nawang Namgyal and following the ancient traditions, it serves as winter residence for chief abbot (Je-khenpo) and the monks of Central Monastic Body, who return to Thimphu in the summer. Punakha and Wangdue, although two separate districts, are located in one valley (20km or ½ hr drive apart and visit Chemilakha which is beautiful place on completed drive to Paro on arrival visit Paro Dzong overnight at Paro.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 17:</b> <h3>Tiger Nest (taksang) Hike</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">Hike to Tiger’s Nest Monastery also known as Taktsang. Then visit typical Bhutanese Farm House to take hot stone bath. Hike to Taktsang: Drive to famed Taktsang (Tiger’s lair) monastery. Taktsang monastery is located on the face of a 1,000m seemingly impossible sheer, vertical cliff, above Paro valley.<br />
<br />
The trail begins near the Satsam (2650m) and climbs steeply uphill to the Cafeteria (2,940m), an area of exposed ridge with panoramic view of Takstang. This takes little more than an hour. (Ponies are provided on request to ride up till this Cafeteria, but rest of way, including return downhill must be on foot.) You can get a good view from the Cafeteria or hike further uphill for another hour or so to the temple itself. There are several other temples and sites within the vicinity. Lunch is served at the tea house. The return trek to the road head is quite steep downhill, where you will be met by the transport then drive to Farm House or Village Home: Bhutanese farmhouses are colorful, decorative and traditionally built without any nails. Majority of the houses are with three story, first floor is utilized for sheltering cattle, second floor for the family to live in and the top for storing and drying of foods and fodder for animal. Almost all the farmhouses follow the same architectural pattern. A visit to farmhouse is interesting and provides you with an experience to the daily life of average Bhutanese. Overnight Paro.
										</div>  
			 							</div>
										<div class="product-desc data bdr0 mb12px">  
		   								<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 18:</b> <h3>Paro-Kolkata-Malaysia</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="fo db product-detail p15px pt0px dn">After breakfast, transfer to the airport in time for your departure for Kolkata Valid re-enter India visa open arrival at Kolkata afternoon visit Victoria Memorial hall & Mother Teresa house evening transfer to nearest restaurant for Dinner on time transfer to International airport.
										</div>  
			 							</div>								<script>
								jQuery('.fancybox').fancybox();
								  jQuery(document).ready(function() {
								  jQuery('[data-fancybox]').fancybox({
								  thumbs : {
								  autoStart : true,
								  axis      : 'x'
								  }
								  });
								});
								</script>
								<script>
								jQuery(document).ready(function() {									
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  if($this.hasClass('on')){
										    $this.removeClass('on');
										    $this.next().slideUp();          	
								          } else {
											jQuery(".sub-title").removeClass('on');
										    jQuery('.product-detail').slideUp();
								          	$this.addClass('on');
										    $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="b xlarge mt10px mb10px dib"><h2>More Details about New Delhi, Gangtok and Darjeeling Tour</h2></div>
															<div class="data mb15px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mb15px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mb15px 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. 
* Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												<div class="data mb15px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Packages by Theme</p>
						</div>
													<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.holidaysinsikkim.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Tour Packages">Forts and Palaces Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.holidaysinsikkim.in/heritage-holidays-catid.htm" title="Heritage Tour Packages">Heritage Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.holidaysinsikkim.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Tour Packages">Religious & Pilgrimage Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.holidaysinsikkim.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Tour Packages">Lakes & Rivers Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.holidaysinsikkim.in/golden-triangle-holidays-catid.htm" title="Golden Triangle Tour Packages">Golden Triangle Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.holidaysinsikkim.in/adventure-holidays-catid.htm" title="Adventure Tour Packages">Adventure Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.holidaysinsikkim.in/desert-holidays-catid.htm" title="Desert Safari Tour Packages">Desert Safari Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.holidaysinsikkim.in/wildlife-nature-holidays-catid.htm" title="Wildlife Tour Packages">Wildlife Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.holidaysinsikkim.in/national-parks-holidays-catid.htm" title="Wildlife Sanctuaries & National Parks Tour Packages">Wildlife Sanctuaries & National Parks Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.holidaysinsikkim.in/hill-station-holidays-catid.htm" title="Hill Stations & Valleys Tour Packages">Hill Stations & Valleys Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px spanlist dn"><a  href="http://www.holidaysinsikkim.in/trekking-holidays-catid.htm" title="Trekking Tour Packages">Trekking Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px spanlist dn"><a  href="http://www.holidaysinsikkim.in/romantic-holidays-catid.htm" title="Romantic Tour Packages">Romantic Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px spanlist dn"><a  href="http://www.holidaysinsikkim.in/honeymoon-holidays-catid.htm" title="Honeymoon Tour Packages">Honeymoon Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px spanlist dn"><a  href="http://www.holidaysinsikkim.in/group-holidays-catid.htm" title="Group Tour Packages">Group Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px spanlist dn"><a  href="http://www.holidaysinsikkim.in/beach-islands-holidays-catid.htm" title="Beaches and Islands Tour Packages">Beaches and Islands Tours</a></span>
														<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
													</div>
												
						<div class="ac mb10px">
						<form class="inquiry-form" name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.holidaysinsikkim.in/enquiry-form-10028.htm">
						<input type="hidden" name="subject" value="Kolkata-Darjeeling-Sikkim-Bhutan Cultural Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>							
						<input type="hidden" name="pkg_slno" value="164217"/>
						</form>
						<a href="javascript:void(0);" class="submit-inquiry button p10px20px w150px fw6 large dib ttu ts0">Book Your Tour</a>
						</div>
											<div id="myModal" class="modal fade dn pf" role="dialog" style="z-index:9999;left:0;top:0%;width:100%;height:100%;background-color:rgba(0,0,0,0.6);overflow-x: hidden; overflow-y: auto;">
					    <!-- Modal content-->
					    <div style="max-width:380px;margin-top: 50px;min-height:400px;" class="modal-content data m0a p10px pr">
					      <div class="modal-header">
					        <a style="right:25px;top:25px;" class="pa b xxxlarge" data-dismiss="modal"><span class="xlarge">&times;</span></a>	        
					      </div>
					      <div class="modal-body">
					        <p>Loading...</p>
					      </div>
					      <div class="modal-footer">
					        
					      </div>
					    </div>
					</div>
					<script type="text/javascript">
						jQuery(document).ready(function(){
							jQuery(document).on("click", ".submit-inquiry" , function(e){e.stopPropagation()
								var form = jQuery(this).parent().find(".inquiry-form");
								if(form.length){
									jQuery.ajax({
										url: form.attr("action"),
										type: form.attr("method"),
										data:form.serialize(),
										crossDomain:true,
										success:function(res){
											jQuery("#myModal .modal-body").html(res);
										}
									});
								}
							});
							jQuery(document).on("click", "[data-dismiss=modal]", function(){
								jQuery("#myModal .modal-body").html("<p>Loading...</p>");
								jQuery("#myModal").hide();
							});
							jQuery(document).on("submit", "form[name=static_form]", function(e){				
								e.preventDefault();
								var isValidForm =static_inq_form_validate(jQuery(this).attr("form-id"));
								if(isValidForm == undefined){
									var form = jQuery(this);
									if(form.length){
										jQuery.ajax({
											url: form.attr("action"),
											type: form.attr("method"),
											data:form.serialize(),
											crossDomain:true,
											beforeSend:function(){
												jQuery("#myModal .modal-footer").html("");
											},
											success:function(res){
												jQuery("#myModal .modal-body").html(res);
												setTimeout(function(){
													jQuery("#myModal", document).hide();
													jQuery("#myModal .modal-body").html("<p>Loading...</p>");
													},2000)
											}
										});
									}
								}
							});
							var modal = jQuery("#myModal", document);
				
							jQuery(document).on("click", ".submit-inquiry" , function(){
							    modal.show();
							});
				
							window.onclick = function(event) {
							    if (jQuery(event.target) == modal) {
							        modal.css("display","none");
							    }
							}
						});
					</script>
									</div>
									<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
					<div class="column_Box mc rghtFix">
					<div class="tcl bullet data divider enqForm stickyForm">
					<div class="h h2 ac xxlarge theme2 p10px" style="color:#fff;"><b class="plusMinus"></b>
					Fill Enquiry Form Below
					</div>
					<div class="showHide_rp mt7px p10px">
					<form name="package_form" method="post" action="//catalog.tourtravelworld.com/catalog-enquiry.php" onsubmit="return static_inq_form_validate(10029);">
					<div class="fo">
					<div class="mb15px">
					<input type="text" name="dynFrm_contact_person" id="dynFrm_contact_person_10029" placeholder="Your Full Name" />
					<span class="red small"></span>
					</div>
					<div class="fl w100 mb15px">
					<textarea name="dynFrm_details_2" id="dynFrm_details_2_10029">I am interested in Kolkata-Darjeeling-Sikkim-Bhutan Cultural Tour. Please get in contact with me.</textarea>
					<span class="fl red small"></span>
					</div>
					<div class="fl w100 mb15px df-dt">
					<div class="df-dtc w50 pr5px dateOpt pr"><input type="text" name="dynFrm_arrival_date" id="dynFrm_arrival_date_10029" class="dynFrm_arrival_date" style="padding-left:30px;" placeholder=" Departure Date" /><span class="fl red small"></span></div>
					<div class="df-dtc pl5px"><input type="text" name="dynFrm_duration" id="dynFrm_duration_10029" placeholder="Number of Days" /><span class="fl red small"></span></div>
					</div>  
					<div class="mb15px">
					<input type="text" name="dynFrm_email_id" id="dynFrm_email_id_10029" placeholder="Email" />
					<span class="red small"></span>
					</div> 
					<div class="mb20px fl w100">
					<div class="w60px pr fl ofh">
					<div id="isdpackCode" class="isdCode pr0px">+91</div>
					<select class="contSelect" name="dynFrm_country" id="dynFrm_country" onChange="document.getElementById('phone_package_isd').value=this.value.substr(3, 4); document.getElementById('isdpackCode').innerHTML=this.value.substr(3, 4);">
					
											
						<option value="AF^+93" >Afghanistan +93</option>
					
												
						<option value="CF^+236" >African Republic +236</option>
					
												
						<option value="AL^+355" >Albania +355</option>
					
												
						<option value="DZ^+213" >Algeria +213</option>
					
												
						<option value="AS^+0" >American Samoa +0</option>
					
												
						<option value="AD^+376" >Andorra +376</option>
					
												
						<option value="AO^+244" >Angola +244</option>
					
												
						<option value="AI^+264" >Anguilla +264</option>
					
												
						<option value="AG^+268" >Antigua and Barbuda +268</option>
					
												
						<option value="AR^+54" >Argentina +54</option>
					
												
						<option value="AM^+374" >Armenia +374</option>
					
												
						<option value="AW^+297" >Aruba +297</option>
					
												
						<option value="AU^+61" >Australia +61</option>
					
												
						<option value="AT^+43" >Austria +43</option>
					
												
						<option value="AZ^+994" >Azerbaijan +994</option>
					
												
						<option value="BS^+242" >Bahamas +242</option>
					
												
						<option value="BH^+973" >Bahrain +973</option>
					
												
						<option value="BD^+880" >Bangladesh +880</option>
					
												
						<option value="BB^+246" >Barbados +246</option>
					
												
						<option value="BY^+375" >Belarus +375</option>
					
												
						<option value="BE^+32" >Belgium +32</option>
					
												
						<option value="BZ^+501" >Belize +501</option>
					
												
						<option value="BJ^+229" >Benin +229</option>
					
												
						<option value="BM^+441" >Bermuda +441</option>
					
												
						<option value="BT^+975" >Bhutan +975</option>
					
												
						<option value="BO^+591" >Bolivia +591</option>
					
												
						<option value="BA^+387" >Bosnia and Herzegovina +387</option>
					
												
						<option value="BW^+267" >Botswana +267</option>
					
												
						<option value="BV^+47" >Bouvet +47</option>
					
												
						<option value="BR^+55" >Brazil +55</option>
					
												
						<option value="BN^+673" >Brunei +673</option>
					
												
						<option value="BG^+359" >Bulgaria +359</option>
					
												
						<option value="BF^+226" >Burkina +226</option>
					
												
						<option value="BF^+0" >Burkina Faso +0</option>
					
												
						<option value="BI^+257" >Burundi +257</option>
					
												
						<option value="KH^+855" >Cambodia +855</option>
					
												
						<option value="CM^+237" >Cameroon +237</option>
					
												
						<option value="CA^+1" >Canada +1</option>
					
												
						<option value="CV^+238" >Cape Verde +238</option>
					
												
						<option value="KY^+345" >Cayman Islands +345</option>
					
												
						<option value="236^+236" >Central African Republic +236</option>
					
												
						<option value="TD^+235" >Chad +235</option>
					
												
						<option value="IO^+246" >Chagos +246</option>
					
												
						<option value="CL^+56" >Chile +56</option>
					
												
						<option value="CN^+86" >China +86</option>
					
												
						<option value="CX^+61" >Christmas Island +61</option>
					
												
						<option value="CC^+61" >Cocos +61</option>
					
												
						<option value="CO^+57" >Colombia +57</option>
					
												
						<option value="KM^+269" >Comoros +269</option>
					
												
						<option value="CG^+242" >Congo +242</option>
					
												
						<option value="CK^+682" >Cook Islands +682</option>
					
												
						<option value="RCI^+506" >Costa Rica +506</option>
					
												
						<option value="HR^+385" >Croatia +385</option>
					
												
						<option value="CY^+357" >Cyprus +357</option>
					
												
						<option value="CZ^+420" >Czech Republic +420</option>
					
												
						<option value="DK^+45" >Denmark +45</option>
					
												
						<option value="DJ^+253" >Djibouti +253</option>
					
												
						<option value="DM^+767" >Dominica +767</option>
					
												
						<option value="DO^+809" >Dominican Republic +809</option>
					
												
						<option value="TP^+670" >East Timor +670</option>
					
												
						<option value="EC^+593" >Ecuador +593</option>
					
												
						<option value="EG^+20" >Egypt +20</option>
					
												
						<option value="SV^+503" >El Salvador +503</option>
					
												
						<option value="GQ^+0" >Equatorial Guinea +0</option>
					
												
						<option value="ER^+291" >Eritrea +291</option>
					
												
						<option value="EE^+372" >Estonia +372</option>
					
												
						<option value="ET^+251" >Ethiopia +251</option>
					
												
						<option value="FO^+298" >Faroe +298</option>
					
												
						<option value="FM^+691" >Federated States of Micronesia +691</option>
					
												
						<option value="FJ^+679" >Fiji +679</option>
					
												
						<option value="FI^+358" >Finland +358</option>
					
												
						<option value="FR^+33" >France +33</option>
					
												
						<option value="FX^+590" >France, Metropolitan +590</option>
					
												
						<option value="GF^+594" >French Guiana +594</option>
					
												
						<option value="FP^+689" >French Polynesia +689</option>
					
												
						<option value="TF^+590" >French Southern Territories +590</option>
					
												
						<option value="GA^+241" >Gabon +241</option>
					
												
						<option value="GM^+220" >Gambia +220</option>
					
												
						<option value="GE^+995" >Georgia +995</option>
					
												
						<option value="DE^+49" >Germany +49</option>
					
												
						<option value="GH^+233" >Ghana +233</option>
					
												
						<option value="GI^+350" >Gibraltar +350</option>
					
												
						<option value="GR^+30" >Greece +30</option>
					
												
						<option value="GL^+299" >Greenland +299</option>
					
												
						<option value="GD^+809" >Grenada +809</option>
					
												
						<option value="Gre^+473" >Grenada +473</option>
					
												
						<option value="GP^+590" >Guadeloupe +590</option>
					
												
						<option value="GU^+1" >Guam +1</option>
					
												
						<option value="GT^+502" >Guatemala +502</option>
					
												
						<option value="GN^+224" >Guinea +224</option>
					
												
						<option value="GW^+245" >Guinea-bissau +245</option>
					
												
						<option value="GY^+592" >Guyana +592</option>
					
												
						<option value="HT^+509" >Haiti +509</option>
					
												
						<option value="HM^+61" >Heard and Mc Donald Islands +61</option>
					
												
						<option value="HN^+504" >Honduras +504</option>
					
												
						<option value="HU^+36" >Hungary +36</option>
					
												
						<option value="IS^+354" >Iceland +354</option>
					
												
						<option value="IN^+91"  selected="selected" >India +91</option>
					
												
						<option value="ID^+62" >Indonesia +62</option>
					
												
						<option value="IQ^+964" >Iraq +964</option>
					
												
						<option value="IE^+353" >Ireland +353</option>
					
												
						<option value="IL^+972" >Israel +972</option>
					
												
						<option value="IT^+39" >Italy +39</option>
					
												
						<option value="CI^+225" >Ivory Coast +225</option>
					
												
						<option value="JM^+876" >Jamaica +876</option>
					
												
						<option value="JP^+81" >Japan +81</option>
					
												
						<option value="JO^+962" >Jordan +962</option>
					
												
						<option value="KZ^+7" >Kazakhstan +7</option>
					
												
						<option value="KE^+254" >Kenya +254</option>
					
												
						<option value="KI^+686" >Kiribati +686</option>
					
												
						<option value="KW^+965" >Kuwait +965</option>
					
												
						<option value="KG^+996" >Kyrgyzstan +996</option>
					
												
						<option value="LA^+856" >Lao People's Democratic Republic +856</option>
					
												
						<option value="LA^+856" >Laos +856</option>
					
												
						<option value="LV^+371" >Latvia +371</option>
					
												
						<option value="LB^+961" >Lebanon +961</option>
					
												
						<option value="LS^+266" >Lesotho +266</option>
					
												
						<option value="LR^+231" >Liberia +231</option>
					
												
						<option value="LY^+218" >Libya +218</option>
					
												
						<option value="LI^+423" >Liechtenstein +423</option>
					
												
						<option value="LT^+370" >Lithuania +370</option>
					
												
						<option value="LU^+352" >Luxembourg +352</option>
					
												
						<option value="MO^+853" >Macau +853</option>
					
												
						<option value="MK^+389" >Macedonia +389</option>
					
												
						<option value="MG^+261" >Madagascar +261</option>
					
												
						<option value="MW^+265" >Malawi +265</option>
					
												
						<option value="MY^+60" >Malaysia +60</option>
					
												
						<option value="MV^+960" >Maldives +960</option>
					
												
						<option value="ML^+223" >Mali +223</option>
					
												
						<option value="MT^+356" >Malta +356</option>
					
												
						<option value="FK^+500" >Malvinas +500</option>
					
												
						<option value="MH^+692" >Marshall Islands +692</option>
					
												
						<option value="MQ^+596" >Martinique +596</option>
					
												
						<option value="MR^+222" >Mauritania +222</option>
					
												
						<option value="MU^+230" >Mauritius +230</option>
					
												
						<option value="YT^+269" >Mayotte +269</option>
					
												
						<option value="MX^+52" >Mexico +52</option>
					
												
						<option value="MD^+0" >Moldova +0</option>
					
												
						<option value="MD^+373" >Moldova (Republic of Moldova) +373</option>
					
												
						<option value="MC^+377" >Monaco +377</option>
					
												
						<option value="MN^+976" >Mongolia +976</option>
					
												
						<option value="ME^+381" >Montenegro +381</option>
					
												
						<option value="MS^+664" >Montserrat +664</option>
					
												
						<option value="MA^+212" >Morocco +212</option>
					
												
						<option value="MZ^+258" >Mozambique +258</option>
					
												
						<option value="MM^+95" >Myanmar +95</option>
					
												
						<option value="NA^+264" >Namibia +264</option>
					
												
						<option value="NR^+674" >Nauru +674</option>
					
												
						<option value="NP^+977" >Nepal +977</option>
					
												
						<option value="NL^+31" >Netherlands +31</option>
					
												
						<option value="AN^+599" >Netherlands Antilles +599</option>
					
												
						<option value="NC^+687" >New Caledonia +687</option>
					
												
						<option value="PG^+675" >New Guinea +675</option>
					
												
						<option value="NZ^+64" >New Zealand +64</option>
					
												
						<option value="NI^+505" >Nicaragua +505</option>
					
												
						<option value="NE^+227" >Niger +227</option>
					
												
						<option value="NG^+234" >Nigeria +234</option>
					
												
						<option value="NU^+683" >Niue +683</option>
					
												
						<option value="NF^+672" >Norfolk Island +672</option>
					
												
						<option value="MP^+670" >Northern Mariana Islands +670</option>
					
												
						<option value="NO^+47" >Norway +47</option>
					
												
						<option value="OM^+968" >Oman +968</option>
					
												
						<option value="PK^+92" >Pakistan +92</option>
					
												
						<option value="PW^+680" >Palau +680</option>
					
												
						<option value="PA^+507" >Panama +507</option>
					
												
						<option value="PG^+0" >Papua New Guinea +0</option>
					
												
						<option value="PY^+595" >Paraguay +595</option>
					
												
						<option value="PE^+51" >Peru +51</option>
					
												
						<option value="PH^+63" >Philippines +63</option>
					
												
						<option value="PN^+872" >Pitcairn +872</option>
					
												
						<option value="PL^+48" >Poland +48</option>
					
												
						<option value="PF^+689" >Polynesia +689</option>
					
												
						<option value="PT^+351" >Portugal +351</option>
					
												
						<option value="PR^+1-787" >Puerto Rico +1-787</option>
					
												
						<option value="QA^+974" >Qatar +974</option>
					
												
						<option value="RE^+262" >Reunion +262</option>
					
												
						<option value="RO^+40" >Romania +40</option>
					
												
						<option value="RU^+7" >Russia +7</option>
					
												
						<option value="RW^+250" >Rwanda +250</option>
					
												
						<option value="KN^+869" >Saint Kitts and Nevis +869</option>
					
												
						<option value="LC^+758" >Saint Lucia +758</option>
					
												
						<option value="VC^+784" >Saint Vincent and the Grenadines +784</option>
					
												
						<option value="WS^+685" >Samoa +685</option>
					
												
						<option value="SM^+378" >San Marino +378</option>
					
												
						<option value="ST^+239" >Sao Tome And Principe +239</option>
					
												
						<option value="SA^+966" >Saudi Arabia +966</option>
					
												
						<option value="SN^+221" >Senegal +221</option>
					
												
						<option value="RS^+381" >Serbia +381</option>
					
												
						<option value="SC^+248" >Seychelles +248</option>
					
												
						<option value="SL^+232" >Sierra Leone +232</option>
					
												
						<option value="SG^+65" >Singapore +65</option>
					
												
						<option value="SK^+421" >Slovakia +421</option>
					
												
						<option value="SI^+386" >Slovenia +386</option>
					
												
						<option value="SB^+677" >Solomon Islands +677</option>
					
												
						<option value="SO^+252" >Somalia +252</option>
					
												
						<option value="ZA^+27" >South Africa +27</option>
					
												
						<option value="GS^+44" >South Georgia and the South Sandwich Islands +44</option>
					
												
						<option value="KR^+82" >South Korea +82</option>
					
												
						<option value="ES^+34" >Spain +34</option>
					
												
						<option value="LK^+94" >Sri Lanka +94</option>
					
												
						<option value="SH^+290" >St. Helena +290</option>
					
												
						<option value="PM^+508" >St. Pierre and Miquelon +508</option>
					
												
						<option value="SD^+249" >Sudan +249</option>
					
												
						<option value="SR^+597" >Suriname +597</option>
					
												
						<option value="SJ^+47" >Svalbard and Jan Mayen Islands +47</option>
					
												
						<option value="SZ^+268" >Swaziland +268</option>
					
												
						<option value="SE^+46" >Sweden +46</option>
					
												
						<option value="CH^+41" >Switzerland +41</option>
					
												
						<option value="TW^+886" >Taiwan +886</option>
					
												
						<option value="TJ^+7" >Tajikistan +7</option>
					
												
						<option value="TZ^+255" >Tanzania +255</option>
					
												
						<option value="TH^+66" >Thailand +66</option>
					
												
						<option value="TG^+228" >Togo +228</option>
					
												
						<option value="TK^+64" >Tokelau +64</option>
					
												
						<option value="TO^+676" >Tonga +676</option>
					
												
						<option value="TT^+868" >Trinidad and Tobago +868</option>
					
												
						<option value="TN^+216" >Tunisia +216</option>
					
												
						<option value="TR^+90" >Turkey +90</option>
					
												
						<option value="TM^+993" >Turkmenistan +993</option>
					
												
						<option value="TC^+649" >Turks and Caicos Islands +649</option>
					
												
						<option value="TV^+688" >Tuvalu +688</option>
					
												
						<option value="AE^+971" >UAE +971</option>
					
												
						<option value="UG^+256" >Uganda +256</option>
					
												
						<option value="UA^+380" >Ukraine +380</option>
					
												
						<option value="UK^+44" >United Kingdom +44</option>
					
												
						<option value="UM^+1" >United States Minor Outlying Islands +1</option>
					
												
						<option value="UY^+598" >Uruguay +598</option>
					
												
						<option value="US^+1" >USA +1</option>
					
												
						<option value="UZ^+998" >Uzbekistan +998</option>
					
												
						<option value="VU^+678" >Vanuatu +678</option>
					
												
						<option value="VA^+0" >Vatican City +0</option>
					
												
						<option value="VA^+39" >Vatican City State (Holy See) +39</option>
					
												
						<option value="VE^+58" >Venezuela +58</option>
					
												
						<option value="VN^+84" >Vietnam +84</option>
					
												
						<option value="VG^+1" >Virgin Islands (British) +1</option>
					
												
						<option value="VI^+1" >Virgin Islands (U.S.) +1</option>
					
												
						<option value="WF^+681" >Wallis and Futuna Islands +681</option>
					
												
						<option value="EH^+212" >Western Sahara +212</option>
					
												
						<option value="YE^+967" >Yemen +967</option>
					
												
						<option value="YU^+381" >Yugoslavia +381</option>
					
												
						<option value="ZR^+243" >Zaire +243</option>
					
												
						<option value="ZM^+260" >Zambia +260</option>
					
												
						<option value="ZW^+263" >Zimbabwe +263</option>
					
											</select>
					</div>									
					<input type="text" name="dynFrm_phone" id="dynFrm_phone_10029" class="fl" style="width:calc(100% - 62px);" placeholder="Mobile No" />
					<span class="fl red small"></span>
					</div>
					
					<div class="mb5px ac">
					<input type="submit" name="submit" value="Send Enquiry" class="dib theme1 p12px bdr fw6">
					<input type="hidden" name="phone_isd" id="phone_package_isd" value="+91">
					<input type="hidden" name="subject" value="Kolkata-Darjeeling-Sikkim-Bhutan Cultural Tour - Tour Package"/>
					<input type="hidden" name="allocate_type" value="tour"/>
					<input type="hidden" name="pkg_slno" value="164217"/>
					<input type="hidden" name="current_url" value="http://www.holidaysinsikkim.in/tour-packages/kolkata-darjeeling-sikkim-bhutan-cultural-tour.htm">
				  	<input type="hidden" name="web_address" value="http://www.holidaysinsikkim.in">
				  	<input type="hidden" name="inq_thanks_msg" value="Thank you for inquiry.<br /><br />We have received your request. Our Sales Team will soon get in touch with you.<br /><br /><br />">
					<input type="hidden" name="inq_thanks_title" value="Enquiry">
				  	<input type="hidden" name="redirected_url" value="http://www.holidaysinsikkim.in/thanks.htm">
					<input type="hidden" name="catalog_mi" value="451443">
				  	<input type="hidden" name="id" value="static_form">
				  	<input type="hidden" name="form_id" value="10029">
					</form>
					</div>
					</div>					
					</div>
					</div>
					<style>
					.ui-datepicker-trigger {
						vertical-align : middle;
					}
					</style>
					<script>
					jQuery('.dynFrm_arrival_date').datepicker({minDate: 0,
					buttonImage: '//catalog.wlimg.com/jquery-date-picker/calbtn.gif',
					buttonText: 'Click to view calendar',
				    buttonImageOnly: true,
				    showOn: 'button',
				    changeMonth: true,
				    changeYear: true,
				    onClose: function(dateText, inst) {
				        var endDateTextBox = jQuery('.dynFrm_departure_date');
				        if (endDateTextBox.val() != '') {
				            var testStartDate = new Date(dateText);
				            var testEndDate = new Date(endDateTextBox.val());
				            if (testStartDate > testEndDate)
				                endDateTextBox.val(dateText);
				        }
				    }, 
					    onSelect: function (selectedDateTime){
					        var start = jQuery(this).datepicker('getDate');
					        jQuery('.dynFrm_departure_date').datepicker('option', 'minDate', new Date(start.getTime()));
					        jQuery('#dynFrm_departure_date').datepicker('option', 'minDate', new Date(start.getTime()));
					    }    
					});
					jQuery('.dynFrm_departure_date').datepicker({
					minDate: 0,
					buttonImage: '//catalog.wlimg.com/jquery-date-picker/calbtn.gif',
					buttonText: 'Click to view calendar',
				    buttonImageOnly: true,
				    showOn: 'button',
				    changeMonth: true,
				    changeYear: true,
				    onClose: function(dateText, inst) {
				        var startDateTextBox = jQuery('.dynFrm_arrival_date');
				        if (startDateTextBox.val() != '') {
				            var testStartDate = new Date(startDateTextBox.val());
				            var testEndDate = new Date(dateText);
				            if (testStartDate > testEndDate)
				                startDateTextBox.val(dateText);
				        }
				    },
				    onSelect: function (selectedDateTime){
				        var end = jQuery(this).datepicker('getDate');
				        jQuery('.dynFrm_arrival_date').datepicker('option', 'maxDate', new Date(end.getTime()) );
				        jQuery('#dynFrm_arrival_date').datepicker('option', 'maxDate', new Date(end.getTime()) );
				    }
					});
					</script>
					<script>
					jQuery(document).ready(function(){
					var sticky = jQuery('.stickyForm').offset().top;
					jQuery(window).scroll(function(){      
					 if(jQuery(window).scrollTop() > sticky){
					  jQuery('.stickyForm').css('position','fixed');
					  jQuery('.stickyForm').css('top','75px'); 
					 }
					 else if (jQuery(window).scrollTop() <= sticky) {
					  jQuery('.stickyForm').css('position','');
					  jQuery('.stickyForm').css('top','');
					 }  
					if (jQuery('.stickyForm').offset().top + jQuery(".stickyForm").height() > jQuery(".rel-prop").offset().top) {
					  jQuery('.stickyForm').css('top',-(jQuery(".stickyForm").offset().top + jQuery(".stickyForm").height() - jQuery(".rel-prop").offset().top));
					}
					});
					});
					</script>
					<script>
					jQuery(document).ready(function(e){
					if (jQuery(window).width() < 992) {
					jQuery(".rghtFix .enqForm .h").on("click", function(){
					  jQuery(this).find('.plusMinus').toggleClass('act').parent().next('.showHide_rp').slideToggle('slow');
					});  
					}
					});  
					</script>
					</div>
					</div>
									
				
				</div>
				
										<br />
						<section class="pt20px pb20px relTour-pkg rel-prop"><br>
						<div class="wrap">      	
						<div class="myTabs mc bdr0 horizontal987 hot bdr0"><div class=""><ul class="fo lsn m0px p0px"><li class="h hd_h2"><div class="ac"><h2 class="hd_NT">Similar Tour Packages for New Delhi, Gangtok, Darjeeling, Kolkata, Pelling, Yumthang, Lachung, Thimphu, Paro, Punakha, Namchi</h2></div></li></ul></div><p class="cb"></p>
						<div class="ic" id="1102_3-1">
						<div class="slider">
						<ul class="bxslider987">
											
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.holidaysinsikkim.in/tour-packages/royal-bhutan-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249459.jpg"  height=""  width=""    alt="Royal Bhutan Tour" title="Royal Bhutan Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.holidaysinsikkim.in/tour-packages/royal-bhutan-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								7 Nights / 8 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.holidaysinsikkim.in/tour-packages/royal-bhutan-tour.htm" title="Royal Bhutan Tour"><h3>Royal Bhutan Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.holidaysinsikkim.in/tour-packages/14-days-bhutan-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249488.jpg"  height=""  width=""    alt="14 Days Bhutan Tour" title="14 Days Bhutan Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.holidaysinsikkim.in/tour-packages/14-days-bhutan-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								13 Nights / 14 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.holidaysinsikkim.in/tour-packages/14-days-bhutan-tour.htm" title="14 Days Bhutan Tour"><h3>14 Days Bhutan Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.holidaysinsikkim.in/tour-packages/gangtok-pelling-yuksom-trek-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249817.jpg"  height=""  width=""    alt="Gangtok - Pelling - Yuksom Trek Tour" title="Gangtok - Pelling - Yuksom Trek Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.holidaysinsikkim.in/tour-packages/gangtok-pelling-yuksom-trek-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								14 Nights / 15 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.holidaysinsikkim.in/tour-packages/gangtok-pelling-yuksom-trek-tour.htm" title="Gangtok - Pelling - Yuksom Trek Tour"><h3>Gangtok - Pelling - Yuksom Trek Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.holidaysinsikkim.in/tour-packages/amritsar-golden-triangle-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249429.jpg"  height=""  width=""    alt="Amritsar - Golden Triangle Tour" title="Amritsar - Golden Triangle Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.holidaysinsikkim.in/tour-packages/amritsar-golden-triangle-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								6 Nights / 7 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.holidaysinsikkim.in/tour-packages/amritsar-golden-triangle-tour.htm" title="Amritsar - Golden Triangle Tour"><h3>Amritsar - Golden Triangle Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.holidaysinsikkim.in/tour-packages/gloryof-sikkim-darjeeling-kalimpong-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249807.jpg"  height=""  width=""    alt="Glory of Sikkim Darjeeling Kalimpong Tour" title="Glory of Sikkim Darjeeling Kalimpong Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.holidaysinsikkim.in/tour-packages/gloryof-sikkim-darjeeling-kalimpong-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								19 Nights / 20 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.holidaysinsikkim.in/tour-packages/gloryof-sikkim-darjeeling-kalimpong-tour.htm" title="Glory of Sikkim Darjeeling Kalimpong Tour"><h3>Glory Of Sikkim Darjeeling Kalimpong Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.holidaysinsikkim.in/tour-packages/grand-rajasthan-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249449.jpg"  height=""  width=""    alt="Grand Rajasthan Tour" title="Grand Rajasthan Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.holidaysinsikkim.in/tour-packages/grand-rajasthan-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								17 Nights / 18 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.holidaysinsikkim.in/tour-packages/grand-rajasthan-tour.htm" title="Grand Rajasthan Tour"><h3>Grand Rajasthan Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.holidaysinsikkim.in/tour-packages/golden-traingle-with-varanasi-khajuraho-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249443.jpg"  height=""  width=""    alt="Golden Traingle with Varanasi & Khajuraho Tour" title="Golden Traingle with Varanasi & Khajuraho Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.holidaysinsikkim.in/tour-packages/golden-traingle-with-varanasi-khajuraho-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								9 Nights / 10 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.holidaysinsikkim.in/tour-packages/golden-traingle-with-varanasi-khajuraho-tour.htm" title="Golden Traingle with Varanasi & Khajuraho Tour"><h3>Golden Traingle With Varanasi & Khajuraho Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.holidaysinsikkim.in/tour-packages/goechala-trek-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249829.jpg"  height=""  width=""    alt="Goecha- La Trek Tour" title="Goecha- La Trek Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.holidaysinsikkim.in/tour-packages/goechala-trek-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								12 Nights / 12 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.holidaysinsikkim.in/tour-packages/goechala-trek-tour.htm" title="Goecha- La Trek Tour"><h3>Goecha- La Trek Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.holidaysinsikkim.in/tour-packages/bhabha-pass-trek-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249484.jpg"  height=""  width=""    alt="Bhabha Pass Trek Tour" title="Bhabha Pass Trek Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.holidaysinsikkim.in/tour-packages/bhabha-pass-trek-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								13 Nights / 14 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.holidaysinsikkim.in/tour-packages/bhabha-pass-trek-tour.htm" title="Bhabha Pass Trek Tour"><h3>Bhabha Pass Trek Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.holidaysinsikkim.in/tour-packages/bhutan-last-shangrila-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249456.jpg"  height=""  width=""    alt="Bhutan Last Shangri - La Tour" title="Bhutan Last Shangri - La Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.holidaysinsikkim.in/tour-packages/bhutan-last-shangrila-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								6 Nights / 7 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.holidaysinsikkim.in/tour-packages/bhutan-last-shangrila-tour.htm" title="Bhutan Last Shangri - La Tour"><h3>Bhutan Last Shangri - La Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.holidaysinsikkim.in/tour-packages/himalayason-wheel-sikkim-darjeeling-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249775.jpg"  height=""  width=""    alt="Himalayas On Wheel Sikkim Darjeeling Tour" title="Himalayas On Wheel Sikkim Darjeeling Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.holidaysinsikkim.in/tour-packages/himalayason-wheel-sikkim-darjeeling-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								8 Nights / 9 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.holidaysinsikkim.in/tour-packages/himalayason-wheel-sikkim-darjeeling-tour.htm" title="Himalayas On Wheel Sikkim Darjeeling Tour"><h3>Himalayas On Wheel Sikkim Darjeeling Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.holidaysinsikkim.in/tour-packages/himachal-with-golden-trangle-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249481.jpg"  height=""  width=""    alt="Himachal with Golden Trangle Tour" title="Himachal with Golden Trangle Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.holidaysinsikkim.in/tour-packages/himachal-with-golden-trangle-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								11 Nights / 12 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.holidaysinsikkim.in/tour-packages/himachal-with-golden-trangle-tour.htm" title="Himachal with Golden Trangle Tour"><h3>Himachal With Golden Trangle Tour</h3></a></div>
							</div>
							</div>						
							</li>
															
						</ul>
						</div>
						</div> 
						  
							<script>
							  $(document).ready(function(){			
								$('.bxslider987').bxSlider({
									mode:'horizontal',				
									slideWidth: 214,maxSlides: 10,slideMargin:10,auto: true, 
									autoDirection:'next',
									moveSlides: 1,
									pause:2000,
									pager:false,
									pagerType:'full',
									autoControls: false, 
									controls:true, 
									autoHover:true,				
									speed:1000
								});
							  });
							  </script>
							  							  
						 </div>
					     </div>
					    </section>
										<section class="pt20px pb20px absTour-Title rel-prop"><br>
				<div class="wrap">      	
				<div class="myTabs mc bdr0 horizontal987 hot bdr0"><div class=""><ul class="fo lsn m0px p0px"><li class="h hd_h2"><div class="ac"><h2 class="hd_NT">Explore Tour Packages by Destination</h2></div></li></ul></div><p class="cb"></p>
				<div class="ic" id="1102_3-1">
				<div class="slider">
				<ul class="bxslider988">								
				
					<li>
					<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
					<a href="http://www.holidaysinsikkim.in/packages-in-gangtok.htm" title="Packages in Gangtok" ><img src="https://dynamic.tourtravelworld.com/zsc-header/10401-classified.jpg"  height=""  width=""    alt="Gangtok" title="Gangtok"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.holidaysinsikkim.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok Tours</a></div>
					</div> 
					</li>
					
					<li>
					<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
					<a href="http://www.holidaysinsikkim.in/packages-in-bagdogra.htm" title="Packages in Bagdogra" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249799.jpg"  height=""  width=""    alt="Packages in Bagdogra" title="Packages in Bagdogra"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.holidaysinsikkim.in/packages-in-bagdogra.htm" title="Packages in Bagdogra">Bagdogra Tours</a></div>
					</div> 
					</li>
					
					<li>
					<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
					<a href="http://www.holidaysinsikkim.in/packages-in-new-delhi.htm" title="Packages in New Delhi" ><img src="https://dynamic.tourtravelworld.com/zsc-header/10009-classified.jpg"  height=""  width=""    alt="New Delhi" title="New Delhi"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.holidaysinsikkim.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi Tours</a></div>
					</div> 
					</li>
					
					<li>
					<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
					<a href="http://www.holidaysinsikkim.in/packages-in-thimphu.htm" title="Packages in Thimphu" ><img src="https://dynamic.tourtravelworld.com/zsc-header/11284-classified.jpg"  height=""  width=""    alt="Thimphu" title="Thimphu"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.holidaysinsikkim.in/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu Tours</a></div>
					</div> 
					</li>
					
					<li>
					<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
					<a href="http://www.holidaysinsikkim.in/packages-in-jaipur.htm" title="Packages in Jaipur" ><img src="https://dynamic.tourtravelworld.com/zsc-header/10096-classified.jpg"  height=""  width=""    alt="Jaipur" title="Jaipur"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.holidaysinsikkim.in/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur Tours</a></div>
					</div> 
					</li>
					
					<li>
					<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
					<a href="http://www.holidaysinsikkim.in/packages-in-darjeeling.htm" title="Packages in Darjeeling" ><img src="https://dynamic.tourtravelworld.com/zsc-header/10405-classified.jpg"  height=""  width=""    alt="Darjeeling" title="Darjeeling"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.holidaysinsikkim.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling Tours</a></div>
					</div> 
					</li>
					
					<li>
					<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
					<a href="http://www.holidaysinsikkim.in/packages-in-paro.htm" title="Packages in Paro" ><img src="https://dynamic.tourtravelworld.com/zsc-header/11304-classified.jpg"  height=""  width=""    alt="Paro" title="Paro"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.holidaysinsikkim.in/packages-in-paro.htm" title="Packages in Paro">Paro Tours</a></div>
					</div> 
					</li>
					
					<li>
					<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
					<a href="http://www.holidaysinsikkim.in/packages-in-agra.htm" title="Packages in Agra" ><img src="https://dynamic.tourtravelworld.com/zsc-header/10119-classified.jpg"  height=""  width=""    alt="Agra" title="Agra"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.holidaysinsikkim.in/packages-in-agra.htm" title="Packages in Agra">Agra Tours</a></div>
					</div> 
					</li>
					
					<li>
					<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
					<a href="http://www.holidaysinsikkim.in/packages-in-punakha.htm" title="Packages in Punakha" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249462.jpg"  height=""  width=""    alt="Packages in Punakha" title="Packages in Punakha"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.holidaysinsikkim.in/packages-in-punakha.htm" title="Packages in Punakha">Punakha Tours</a></div>
					</div> 
					</li>
					
					<li>
					<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
					<a href="http://www.holidaysinsikkim.in/packages-in-kolkata.htm" title="Packages in Kolkata" ><img src="https://dynamic.tourtravelworld.com/zsc-header/10415-classified.jpg"  height=""  width=""    alt="Kolkata" title="Kolkata"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.holidaysinsikkim.in/packages-in-kolkata.htm" title="Packages in Kolkata">Kolkata Tours</a></div>
					</div> 
					</li>
					
					<li>
					<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
					<a href="http://www.holidaysinsikkim.in/packages-in-kathmandu.htm" title="Packages in Kathmandu" ><img src="https://dynamic.tourtravelworld.com/zsc-header/11246-classified.jpg"  height=""  width=""    alt="Kathmandu" title="Kathmandu"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.holidaysinsikkim.in/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu Tours</a></div>
					</div> 
					</li>
					
					<li>
					<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
					<a href="http://www.holidaysinsikkim.in/packages-in-lachung.htm" title="Packages in Lachung" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451443/249769.jpg"  height=""  width=""    alt="Packages in Lachung" title="Packages in Lachung"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.holidaysinsikkim.in/packages-in-lachung.htm" title="Packages in Lachung">Lachung Tours</a></div>
					</div> 
					</li>
									</ul>
				</div>
				</div>
				 
					<script>
					$(document).ready(function(){			
					$('.bxslider988').bxSlider({
					mode:'horizontal',				
					slideWidth: 214,maxSlides: 10,slideMargin:12,auto: true, 
					autoDirection:'next',
					moveSlides: 1,
					pause:2000,
					pager:false,
					pagerType:'full',
					autoControls: false, 
					controls:true, 
					autoHover:true,				
					speed:1000
					});
					});
					</script>
									
				</div>
				</div><br><br>
				</section>
				
				</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:87:"Book Kolkata-Darjeeling-Sikkim-Bhutan Cultural Tour - 17 Nights / 18 Days Tour Packages";i:2;s:241:"book kolkata-darjeeling-sikkim-bhutan cultural tour - 17 nights / 18 days tour packages, hill stations & valleys tour packages, new delhi, gangtok, darjeeling, kolkata, pelling, yumthang, lachung, thimphu, paro, punakha, namchi tour packages";i:3;s:297:"Book Kolkata-Darjeeling-Sikkim-Bhutan Cultural Tour - 17 Nights / 18 Days tour packages from Halder Tours & Travels - Get attractive 17 Nights / 18 Days Hill Stations & Valleys  tour packages for  New Delhi, Gangtok, Darjeeling, Kolkata, Pelling, Yumthang, Lachung, Thimphu, Paro, Punakha, Namchi.";i:4;s:3112:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Gangtok, Darjeeling, Kolkata, Pelling, Yumthang, Lachung, Thimphu, Paro, Punakha, Namchi"        
		                 },
		      "description": "About Sikkim: Small but beautiful, Sikkim is situated in the eastern Himalayas. The state is spreader below the Mount Khanchendzonga (8534 mts), the third highest mountain in the world, and revered by the Sikkimese as their protective deity. With an area of 7,300 sqkms and measuring approx. 114 kms from the north to south and 64 kms from east to west, the elevation ranges from 300 meters to over 8540 meters above sea level. Amidst the grandeur of the mountain peaks, lush valleys, fast flowing rivers, hills, Sikkim offers her visitors a rare and singular experience. Within a matter of hours one can move from the sub-tropical heat of the lower valleys to the cold of the rugged mountain slopes that reach up to the area of perpetual snow.

The modern history of Sikkim begins from 1642 A.D. with the coronation of PhuntsogNamgyal as the first Chogyal or king of Sikkim in a tranquil pine covered hill in YuksomNorbugang in West Sikkim. The Namgyals were scions of the Mi-nyak House in Kham in Eastern Tibet. It is said that there were three brothers, chiefs of Kham Mi-nyak. A letter dropped from heaven directed the middle brother to go south towards Sikkim where his descendants were fated to rule. It was in Sakya that his eldest son single-handedly raised the pillars of the Sakya monastery and earned himself the sobriquet of ‘KhyeBumsa( the strength of a lakh of men ). KhyeBumsa also earned himself the hand of the daughter of the Sakya hierarch and settled in Chumbi Valley, which remained, for a long time, the epicenter of the later kingdom of Sikkim.

About Bhutan: - The Kingdom of Bhutan, a gem in the eastern Himalayas, areas 38,394 square km. and is populated with just little above 750,000. Looking from a natural side, fauna and flora flourishes in great varieties as the terrain rises from southern foothills (150m above sea level) to unclimbed peaks over 7000m. The kingdom is one of the leading countries in environmental conservation. Over 70% of Bhutan’s land area is still under forest cover. One of the most striking physical features of Bhutan is its architecture. Patterns of rich colours adorn walls, beams, pillars and doors in traditional splendour.

Tiger’s Nest may like to experience 8th century and follow the trails of Guru Padmasambhava’s legendary travel through Bhutan. Legend says that he flew to the cliff s of Taktsang on the back of a tigress. Taktsang temples (Tiger’s Nest), built on the cliff s above the valley of Paro, is one of the highest holy Buddhist spots in the world and listed in 1000 best places to see before you die.",
		      "name": "Kolkata-Darjeeling-Sikkim-Bhutan Cultural Tour",
		      "telephone": "+91-9476070248"
		    }
		    </script>
			";i:5;N;}