a:6:{i:0;s:30793:"						<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 (Starting From) :</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"  width="150" height="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"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</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">
					            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
					            </div>
					            
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 1:</b> 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 City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</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-goa-city.htm" title="Packages in Goa City">Goa City</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</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-manali.htm" title="Packages in Manali">Manali</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</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-alleppey.htm" title="Packages in Alleppey">Alleppey</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</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</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-idukki.htm" title="Packages in Idukki">Idukki</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</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-kochi.htm" title="Packages in Kochi">Kochi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/packages-in-trivandrum.htm" title="Packages in Trivandrum">Trivandrum</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</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-kuala-lumpur.htm" title="Packages in Kuala Lumpur">Kuala Lumpur</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-kovalam.htm" title="Packages in Kovalam">Kovalam</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</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</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-dubai.htm" title="Packages in Dubai">Dubai</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</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</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-gangtok.htm" title="Packages in Gangtok">Gangtok</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</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</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</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</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</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-baramulla.htm" title="Packages in Baramulla">Baramulla</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</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</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/valley-holidays-catid.htm" title="Valley Packages">Valley</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/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</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 Packages">Hill Station</a> <b class="alpha50 bn small">(11)</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 Packages">Birdwatching</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 Packages">Wildlife and Nature</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 Packages">Forts and Palaces</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 Packages">Heritage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.cheertrip.in/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</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 Packages">Water Sports and Activity</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 Packages">Adventure Sports</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.cheertrip.in/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</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 Packages">Deserts</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 Packages">Adventure</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 Packages">Shopping</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;}