a:6:{i:0;s:31498:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>North East Delight With Pelling Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.cheertrip.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.cheertrip.in/packages.htm" title="Packages">Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> North East Delight With Pelling Tour</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					
											<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Gangtok, Darjeeling, Pelling</p>
												<p class="mb5px"><b>Price :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.cheertrip.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="North East Delight with Pelling Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="132418"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_13/378033/210463.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/378033/210463.jpg"  height="150"  width="150"    alt="North East Delight with Pelling Tour" title="North East Delight with Pelling Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<div class="b xlarge mb10px dib"><h2>Gangtok, Darjeeling and Pelling Tour Overview</h2></div>
								</div>
													
								The North East Delight with Pelling tour is a golden chance to explore the hidden beauty of the India’s North-eastern region. Pay a visit to four beautiful towns, Darjeeling, Kalimpong, Pelling and Gangtok. Explore some of the most well-known monasteries located in these regions. Marvel at natural splendors that bewitch you. The well-planned itinerary brings you being close to the Himalayan nature of the amazing northeast.<br />
Note: This is just a suggested itinerary indicative of what can be possible. We tailor holidays for your specific needs. Contact us if you want modifications so that we can tailor a holiday to suit your need for an unforgettable India tour.								</div>
								<br />
																<div class="headHr">
					            <div class="p7px b pl10px xlarge"><h2>Gangtok, Darjeeling and Pelling Tour Itinerary</h2></div>
					            </div>
					            
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 1:</b> Arrival in Darjeeling
										</p>
										<p class="aj">Your journey to the wonderful northeastern gateways will start as you reach the New Jalpaiguri Station or Bagdogra airport in West Bengal. From here, our tour representative will be escorting you to your onward journey to Darjeeling, which is an alluring hill station In the Indian state of West Bengal.Positioned at the northern part of West Bengal, Darjeeling has snow clad Himalayan peaks and dense forests lined up all around it. Drive to Darjeeling is likely to take nearly 1 hr and 40 mins. On entering the region of Darjeeling, you would be welcomed by lush green tea plantations, which have been the true face of the hill station. Besides these, Darjeeling has a lot to offer, like the panoramic mountain views, which will leave you spellbound.On your arrival in Darjeeling, you would be checking into a pre-booked hotel for an overnight stay.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 2:</b> Sightseeing in Darjeeling
										</p>
										<p class="aj">Visit the magnificent Tiger Hill the first thing in the morning. The reason behind its early visit is the view of the morning sun glistening the lofty snow clad peaks of Kanchenjunga.Tiger Hill is one of the most popular tourist attractions in Darjeeling, that have found their address 11 km from the town of Darjeeling. Not just Kanchenjunga, if you are lucky, you can even watch the head of the highest peak in the world, Mt Everest turning all golden by the sun. On your way back to hotel, you would be visiting Ghoom monastery and Batasia Loop. Like the Tiger Hill, these two also hold a great amount of significance.Just 7 km short from the town of Darjeeling, lies the famous Ghoom monastery. Belonging to the Gelupka sect of Buddhism, the monastery has a 15 ft statue of Lord Buddha as one of its main attractions, which is known as Maitreya Buddha. Besides the Maitreya Buddha, the monastery also houses idols of other Buddhist deities as well. This includes the likes of Buddha of Compassion and Tsongkhapa.Another prominent attraction to visit in the early hours of the day is Batasia Loop, which is a fascinating railway track loop. To watch this, you would be boarding the world renowned and vintage toy train of Darjeeling. From the loop, you can have a whole view of the lovely landscapes of Darjeeling, plus the flowery garden on which the loop is encircled, adds on to the charm of Batasia loop.Post these visits, head back to your hotel for a sumptuous breakfast. The other half of the day is meant to cover other attractions of Darjeeling. Under this, you would be visiting the Padmaja Naidu Himalayan Zoological Park, Himalayan Mountaineering Institute, Tibetan Refugee Self Help Center (closed on Sunday), Tea Garden and Ropeway.There is also a Peace Pagoda located in the town of Darjeeling, which also would be covered in our sightseeing trip. With the aim of creating peace all around, the Peace Pagoda or Stupa invites people of all castes, creeds and religion to visit the place and develop mutual harmony for each other. It is popular as Japanese Peace Pagoda in Darjeeling. Overnight stay at the hotel.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 3:</b> Transfer to Kalimpong & Sightseeing at Kalimpong
										</p>
										<p class="aj">As soon as you are done with your breakfast, embark on a journey to Kalimpong, which is another famous hill station in the state of West Bengal. Kalimpong resides at an elevation of around 1200 meters and the main town is on a ridge area connecting two hills. Owing to its magnificent Himalayan beauty and invigorating climate, the place is no less than a paradise.After a journey of 1 hr and 40 mins, you would be arriving at Kalimpong. As you arrive, you would be quickly heading to a sightseeing tour of Kalimpong. Under this, you would be visiting Deolo hill, Teesta valley, Pine View Point, Orchid, Golf Club and Dr Graham’s Homes School.<br />
Amongst them, Deolo hill holds quite prominence. As mentioned earlier, Kalimpong lies on a ridge between two hills, Deolo hill is one of them. Situated at an elevation of around 1700 meters, Deolo hill is the highest point of the hill station. Owing to the location of the hill, you can have an enchanting view of the whole town of Kalimpong, the nearby Relli valley and the bloodline of Kalimpong, the beautiful Teesta river. Once you reach the top of the hill, you would be welcomed with a park of exotic flowers.Besides these attractions, our tour representative will also make you visit the scared Durpin hill and Durpin monastery, which is around 5 km from the main town of Kalimpong. After this, call it a day and make a check in to a pre-booked hotel for an overnight stay</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 4:</b> Transfer to Pelling & Sightseeing at Pelling
										</p>
										<p class="aj">Post breakfast, bid goodbye to Kalimpong and make your way to Pelling, which is a prominent hill station in the western part of Sikkim. Situated at an altitude of around 2100 meters, Pelling is known for its natural splendor and tranquility. Unspoiled and covered with dense alpine vegetation, waterfalls after every couple of miles and the sight of the greater Himalayas and Kanchenjunga overshadowing the valley, the town is perfect to wind up in the lap of nature.<br />
Journey to Pelling from Kalimpong is likely to take 2 hours and as you arrive in this serene paradise, you would be embarking on a sightseeing trip to the numerous attractions or jewels that the town feels proud of. Amongst them, the most prominent ones include Kanchenjunga falls and Rimbi waterfalls. At first, you would be heading to Rimbi waterfalls, which is around 12 kms from Pelling. Rimbi waterfalls are situated right at the banks of Rimbi river and are remarkable to watch.<br />
Moving ahead from these falls are the king size Kanchenjunga falls. Situated around 28 km from the main town of Pelling and named after the mighty Kanchenjunga mountain, Kanchenjunga falls is renowned for its grandeur and beauty. The existence of this splendid waterfall largely remained unknown until the mid 90s, when a local tour operator accidentally discovered it at a sharp curve on the roadside. The place is ideal for picnicking with family and friends. Thus, you can have a nice time relaxing near the gushing Kanchenjunga falls.Other attractions that you will be surely visiting in Pelling including Kecheopalri lake and Rimbi rock garden which lies in close vicinity of the majestic falls. Also visit Sinsore Bridge –Asia's 2nd Highest Bridge, Post all the sightseeing, return to the town of Pelling and make a check in to the hotel for an overnight stay.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 5:</b> Gangtok Local Sight Seeing (Full Day)
										</p>
										<p class="aj">Day 5 of our exclusive tour is dedicated to tasting the flavors of the Himalayan town of Gangtok. Nestled in the Shivalik hills of the Himalayas, close to the Buddhist country of Bhutan, Gangtok is blessed with a mystical blend of natural beauty and Buddhism. Owing to this, Gangtok is dotted with several Buddhist monasteries that are believed to be quite ancient. Drive from Pelling to Gangtok is roughly going to take 2 hrs and 30 mins and as you arrive in Gangtok, you would be embarked on a sightseeing trip.Sightseeing in Gangtok includes the very famous Rumtek monastery, which is also the largest of its kind in the state. Serving as the an important seat of the Karmapa Lama, the monastery holds a lot of significance for the religion of Buddhism. It enshrines a golden Stupa that has relics of the ancient Karmapa in the form of statues and paintings. Make a visit here and shed all your travel tiredness in the spiritual ambience of the monastery. After Rumtek, you would be taken to Do Drul Chorten Stupa, which is one of the biggest in Sikkim. Encircled by Chorten Lhakhang and Guru Lhakhang, it boasts of two huge statues of Guru Rinpoche.As you would be done visiting the religious sects of Gangtok, head towards other attractions in the capital of the state, which include the Research Institute of Tibetology, Botanical Garden, Tashi View Point and Directorate of handicrafts and handlooms. Overnight stay at the hotel.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 6:</b> Excursion to Tsomgo Lake & Baba Mandir (Full Day)
										</p>
										<p class="aj">Being situated in the Himalayan topography, Gangtok has various natural attractions which are filled with mystical beauty and serenity. One of them is the breathtaking Tsomgo lake which offers one of the most beautiful sights in the region. The lake is nestled at an altitude of 12,400 ft and the drive from Gangtok to it is likely to take around 1 hour to reach. Tsomgo or Changu lake is actually a glacial lake, which derives its waters from the snow capped mountains it get surrounded by. The lake is also a home of Brahmin ducks and migratory birds. Being a prominent tourist place, the banks of the lake have shops selling trinkets and Yak cheese. So you can buy some for yourself. The locals also provide for yak rides so you can have a nice time exploring the breathtaking surroundings sitting on the back of a yak. Admire the beauty of the lake and pay a visit to the Lord Shiva temple, which is located on the banks of Tsomgo Lake. We can also visit Nathu La Pass, which is the border of India and China.<br />
Post this, move towards Baba Harbhajan Singh Memorial War temple, which is 20 kms from Tsomgo Lake near Gangtok. Situated at an altitude of around 13000 feet, close to Jelep Pass, is a memorial shrine, dedicated to a soldier of the 23rd Punjab Regiment, who died in the 1962 war between India and China. As per the legend, after meeting his tragic death in the war, soldier Harbhajan Singh came in the dream of one of his peers, and asked to build a war memorial after him. Following this, Indian Army built a war memorial in order to commemorate the sacrifice of this martyr. Later on, this memorial started enjoying the privileges of a sacred shrine. The original Baba Harbhajan Singh temple was built in the year 1983 at the bunker of the late soldier. When you will visit this bunker, you will come across dresses, stationeries and pictures of the soldier. There also lies a small wishing poodle, in which you can throw a coin and make a wish.After a day full of excursion, return back to your hotel in Gangtok. Spend the evening at leisure in your hotel or do some shopping in the nearby malls and market. Overnight stay in Gangtok.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 7:</b> Departure from Gangtok to Home
										</p>
										<p class="aj">This day marks the end of our exclusive Northeast tour. Post breakfast, you would be transferred to New Jalpaiguri Station/Bagdogra Airport/ Tenzing Norgay Bus Stand for your onward journey back home. These destinations are around 130 Km from Gangtok so it is advised you start early.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.cheertrip.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="North East Delight with Pelling Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="132418"/>
						</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 Destination</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok Tours</a> <!--b class="alpha50 bn small">(6)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/packages-in-manali.htm" title="Packages in Manali">Manali Tours</a> <!--b class="alpha50 bn small">(5)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/packages-in-goa-city.htm" title="Packages in Goa City">Goa City Tours</a> <!--b class="alpha50 bn small">(5)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla Tours</a> <!--b class="alpha50 bn small">(5)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi Tours</a> <!--b class="alpha50 bn small">(4)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/packages-in-kufri.htm" title="Packages in Kufri">Kufri Tours</a> <!--b class="alpha50 bn small">(3)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/packages-in-bali.htm" title="Packages in Bali">Bali Tours</a> <!--b class="alpha50 bn small">(3)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya Tours</a> <!--b class="alpha50 bn small">(3)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/packages-in-dubai.htm" title="Packages in Dubai">Dubai Tours</a> <!--b class="alpha50 bn small">(2)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/packages-in-kuala-lumpur.htm" title="Packages in Kuala Lumpur">Kuala Lumpur Tours</a> <!--b class="alpha50 bn small">(2)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar Tours</a> <!--b class="alpha50 bn small">(2)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore Tours</a> <!--b class="alpha50 bn small">(2)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-ahmedabad.htm" title="Packages in Ahmedabad">Ahmedabad Tours</a> <!--b class="alpha50 bn small">(2)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-somnath.htm" title="Packages in Somnath">Somnath Tours</a> <!--b class="alpha50 bn small">(2)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-dwarka.htm" title="Packages in Dwarka">Dwarka Tours</a> <!--b class="alpha50 bn small">(2)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-phuket.htm" title="Packages in Phuket">Phuket Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-pathankot.htm" title="Packages in Pathankot">Pathankot Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-mount-abu.htm" title="Packages in Mount Abu">Mount Abu Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-ganderbal.htm" title="Packages in Ganderbal">Ganderbal Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-chamba.htm" title="Packages in Chamba">Chamba Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-pahalgam.htm" title="Packages in Pahalgam">Pahalgam Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-gulmarg.htm" title="Packages in Gulmarg">Gulmarg Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-manikaran.htm" title="Packages in Manikaran">Manikaran Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-kullu.htm" title="Packages in Kullu">Kullu Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar Tours</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 Theme</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/beach-islands-holidays-catid.htm" title="Beach and Islands Tour Packages">Beach and Islands Tours</a> <!--b class="alpha50 bn small">(16)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/valley-holidays-catid.htm" title="Valley Tour Packages">Valley Tours</a> <!--b class="alpha50 bn small">(14)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Tour Packages">Religious & Pilgrimage Tours</a> <!--b class="alpha50 bn small">(2)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/bird-watching-holidays-catid.htm" title="Birdwatching Tour Packages">Birdwatching Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Tour Packages">Wildlife and Nature Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Tour Packages">Forts and Palaces Tours</a> <!--b class="alpha50 bn small">(2)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/heritage-holidays-catid.htm" title="Heritage Tour Packages">Heritage Tours</a> <!--b class="alpha50 bn small">(2)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/hill-station-holidays-catid.htm" title="Hill Station Tour Packages">Hill Station Tours</a> <!--b class="alpha50 bn small">(7)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Tour Packages">Lakes & Rivers Tours</a> <!--b class="alpha50 bn small">(2)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/honeymoon-holidays-catid.htm" title="Honeymoon Tour Packages">Honeymoon Tours</a> <!--b class="alpha50 bn small">(4)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Tour Packages">Water Sports and Activity Tours</a> <!--b class="alpha50 bn small">(8)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/adventure-sports-holidays-catid.htm" title="Adventure Sports Tour Packages">Adventure Sports Tours</a> <!--b class="alpha50 bn small">(6)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/cruise-holidays-catid.htm" title="Cruise Tour Packages">Cruise Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/desert-holidays-catid.htm" title="Deserts Tour Packages">Deserts Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/adventure-holidays-catid.htm" title="Adventure Tour Packages">Adventure Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/shopping-holidays-catid.htm" title="Shopping Tour Packages">Shopping Tours</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>
				</div>
				
								
				</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:75:"Book North East Delight with Pelling Tour - 6 Nights / 7 Days Tour Packages";i:2;s:147:"book north east delight with pelling tour - 6 nights / 7 days tour packages, hill station tour packages, gangtok, darjeeling, pelling tour packages";i:3;s:202:"Book North East Delight with Pelling Tour - 6 Nights / 7 Days tour packages from Krishna Krishna Travels - Get attractive 6 Nights / 7 Days Hill Station  tour packages for  Gangtok, Darjeeling, Pelling.";i:4;s:1106:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Darjeeling, Pelling"        
		                 },
		      "description": "The North East Delight with Pelling tour is a golden chance to explore the hidden beauty of the India’s North-eastern region. Pay a visit to four beautiful towns, Darjeeling, Kalimpong, Pelling and Gangtok. Explore some of the most well-known monasteries located in these regions. Marvel at natural splendors that bewitch you. The well-planned itinerary brings you being close to the Himalayan nature of the amazing northeast.
Note: This is just a suggested itinerary indicative of what can be possible. We tailor holidays for your specific needs. Contact us if you want modifications so that we can tailor a holiday to suit your need for an unforgettable India tour.",
		      "name": "North East Delight with Pelling Tour",
		      "telephone": "+91-9996770066"
		    }
		    </script>
			";i:5;N;}