a:6:{i:0;s:36655:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Splendors Of The North East Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.mangaldeeptravels.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.mangaldeeptravels.in/travel-packages.htm" title="Travel Packages">Travel Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Splendors Of The North East 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> 
						10 Nights / 11 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Gangtok, Darjeeling, Kalimpong, Pelling, Lachung</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.mangaldeeptravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Splendors of the North East 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="50834"/>
						</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_11/326833/99915.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/326833/99915.jpg"  width="150" height="150"    alt="Splendors of the North East Tour" title="Splendors of the North East Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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 and transfer to Darjeeling
										</p>
										<p class="aj">As you will arrive at New Jalpaiguri Railway Station (NJP)/Bagdogra Airport (IXB)/Tenzing Norgay Bus Stand (Junction), our tour representative will receive and assist you in your journey to the hill station of Darjeeling. The hill station is 68 km from NJP, 69 km from Bagdogra airport and 65 km from Tenzing Norgay Bus Stand, and from every of these points, journey to Darjeeling is most likely to be covered under 1 hour and 50 mins.<br />
<br />
Darjeeling in the state of West Bengal, is a beautiful hill station that is blessed with picturesque spots and unscathed beauty of nature. Not just gifted with an appealing natural beauty, Darjeeling as a town also has so many tourist attractions to offer. The town of Darjeeling has a great degree of diversity, especially when it comes to its culture and religion. This can be best understood by the setting up of numerous Buddhist monasteries all over the town. Therefore, showing the region’s inclination towards Buddhism, amidst the majority of Hindus. As you arrive, make a check in to the hotel for an overnight stay. Feel free to move out in the evening for shopping.</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">Get on an early morning drive to Tiger Hill, which is one of the most popular attractions in Darjeeling. You are required to wake up early as the hill is renowned for offering a breathtaking sunrise.<br />
<br />
Tiger Hill (11 km from Darjeeling) at an altitude of around 8400 ft, is the highest peak in Darjeeling. Once at the top, tourists can catch an awesome sunrise that brightens the snow clad Himalayan mountains infront of it. The star attraction is Mt Kanchenjunga, which turns golden due to the rays of the rising sun, you can also catch the sight of a glistening Mt Everest from Tiger Hill if the weather is clear.<br />
<br />
As you will come down from Tiger Hill, Ghoom Monastery (8 km from Darjeeling) will come in your way. Popularly known as Yiga Choeling Monastery, Ghum Monastery is the first Tibetan Buddhist monastery in Darjeeling. It boasts of a 15 feet high statue of Maitreya Buddha, which is the future form of Lord Buddha.<br />
<br />
Darjeeling is also famous for its world heritage toy train, the ride of which you will enjoy while visiting the Batasia Loop and War Memorial. Batasia Loop is a magnificent loop that which gives a panoramic view of the whole Darjeeling valley, while the war memorial resides in the middle of the loop, built in honor of the martyrs of Indian army.<br />
<br />
After all these visits, return back to your hotel for breakfast. Relax for sometime, and then head on to visit the other attractions of Darjeeling. Prime attractions that would be covered in the sightseeing trip are Padmaju Naidu National Park, Himalayan Mountaineering Institute, Ropeway, Tenzing Gumpo Rock, Tea Estate, Peace Pagoda and Natural History Museum. Return back to hotel by evening and if you wish, feel free to roam in the nearby market.<br />
<br />
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 and Sightseeing at Kalimpong
										</p>
										<p class="aj">Post breakfast, embark on a journey to Kalimpong (54 km away/55 mins). Kalimpong, like Darjeeling, is also a prominent hill station in West Bengal, which is highly renowned for its natural beauty. Besides the charm of its natural surroundings, Kalimpong is also known for its religious attractions that include Buddhists Monasteries, revered Hindu temples and ancient churches.<br />
<br />
As you reach Kalimpong, check-in to the prebooked hotel. After relaxing for sometime, embark on a sightseeing trip of the city of Kalimpong. Popular attractions that would be covered under this are Deolo Hill, Dr Graham Homes, Durpin monastery, Pine View Nurseries, Mangaldham and Forest Museum.<br />
<br />
Deolo hill in the northeast of Kalimpong town, is the highest point in the region and is renowned for its picturesque beauty. The hill offers an enchanting sight of the Himalayas in the north and the Teesta river, which flows in the valley down below. The lush green hill has a height of around 1704 meters and is a popular picnic spot.<br />
<br />
Post all the sightseeing, return back to your hotel. Feel free to roam around in the nearby market in the evening. Overnight stay in 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 4:</b> Kalimpong to Pelling transfer
										</p>
										<p class="aj">Post breakfast, embark on a morning drive to Pelling (91 km/2 hour away) from Kalimpong. Nestled at an altitude of around 2150 m, Pelling is a beautiful hill station in the western part of Sikkim. The virgin territory of Pelling overlooks the mighty Himalayas, that includes Kanchenjunga as its prime mountain peak. Owing to its natural topography, Pelling is filled with numerous attractions that comprise waterfalls, serene spots and city attractions. Besides nature’s splendors, Pelling is also home to a lot of sacred Buddhist Monasteries.<br />
<br />
As you reach the town, you will check in to the hotel. Relax for sometime and move out in the evening to explore the nearby settlements that include shopping centers as well. Post that, return back to your 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> Pelling Local Sightseeing
										</p>
										<p class="aj">Post breakfast, you would be embarking on a sightseeing trip in and around Pelling. On this day, you would be visiting Pemayangtse monastery, Rimbi waterfalls, Rimbi Rock Garden, Kecheoplari lake, Kanchenjunga waterfalls, Rabdantse ruins.<br />
<br />
About 2 kms from the main town of Pelling lies the renowned Pemayangtse monastery, which belongs to the Nyingma sect of Buddhism. Built in the year 1705 AD, the monastery is one of the first and finest in Pelling. Divided into different floors, the monastery houses a notable collection of Buddhist antique idols, scriptures as well as sculptures.<br />
<br />
Just near to the Pemayangtse monastery is the ruined city of Rabdantse. It is believed to be the second capital of the former kingdom of Sikkim. At present, the city is left only with its ruins and some chortens. Part of Buddhist religious pilgrimage circuit, Rabdentse ruins are amongst the top historical attractions in Pelling.<br />
<br />
Situated at a sharp curve on the side of a road, Kanchenjunga waterfall has its address 28 kms from Pelling. Falling from a great height, the waterfall looks so amazing and with its lush green surroundings, the place is perfect to wind up in the lap of nature.<br />
<br />
Evenings would be free to explore the nearby locations, which include the helipad and shopping center. Overnight stay in 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> Transfer to Gangtok and Gangtok Local Sightseeing
										</p>
										<p class="aj">Day of our amazing northeast tour is totally dedicated to Gangtok. After an early breakfast, bid goodbye to Pelling, and embark on a journey to the capital of Sikkim, Gangtok (116 km/2 hours and 27 mins).<br />
<br />
Gangtok in the northern part of Sikkim, is bounded by lush green Shivalik hills that has numerous attractions spread all over its territory. Being a prominent center of Tibetan Buddhist culture and learning., Gangtok has numerous monasteries established in the nooks and corners of the city.<br />
<br />
As you reach Gangtok, you would be checking in to the prebooked hotel. After relaxing for a couple of hours, you will be on your way to visit the popular attractions in Gangtok. The sightseeing tour of Gangtok will cover Directorate of Handicrafts and Handloom, Enchey Monastery, Research Institute of Tibetology, Do Drul Chorten, White Hall, and Flower Hall.<br />
<br />
Belonging to the Nyingma order of Vajrayana Buddhism, Enchey Monastery in Gangtok holds a significant place in the history and culture of the town. The monastery is believed to be 200 years old and was established by Lama Drupthob Karpo. Inides of the renowned monastery are filled with paintings and murals of religious kings and scriptures of Mahayana Buddhist deities.<br />
<br />
Do Drul Chorten is a renowned stupa in the city of Gangtok, that was built in the year 1945. Being built by Trulshik Rinpoche, the stupa boasts of Nyingma order of Tibetan Buddhism. Highlighting features about the Stupa include 108 prayer wheels, that have mantras inscribed on them. Besides prayer wheels, the stupa also speaks highly of its Kanjur holy books, relics and other religious objects.<br />
<br />
The half day sightseeing tour of Gangtok will be over by evening. At that time, you can move out to the nearest shopping center or market.<br />
<br />
Overnight stay at 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 7:</b> Transfer to Lachung
										</p>
										<p class="aj">Have an early morning breakfast and bid goodbye to Gangtok for Lachung (103 km/2 hr 47 min) Located further north in Sikkim, Lachung is a hill station that resides at an altitude of 3000 m in the lower Himalayas. The hill station of Lachung encompasses snow clad mountain peaks, gurgling streams and wonderful waterfalls. Being a hill station of Sikkim, Lachung is also reputed for its Buddhist monasteries.<br />
<br />
You would be likely to reach Lachung by late afternoon or early evening. As you will reach, you would be making a check-in to the pre booked hotel. You can stroll in the nearby surroundings in the evening. Return back to your hotel around 8 pm for dinner and 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 8:</b> Sightseeing at Yumthang
										</p>
										<p class="aj">Post breakfast, drive to Yumthang, which is around 26 km from the hill station of Lachung. Situated at an altitude of 3564 meters, Yumthang is a Himalayan grazing ground that has some of the most exotic species of flowers. Being flourished by a tributary of Teesta river, Yumthang valley has over 24 species of Rhododendron and many alpine varieties, that blossom in every spring. Besides the flowers, the valley is also famous for Shingba Rhododendron Sanctuary.<br />
<br />
You will be returning back to the hotel in Lachung for lunch. Post that, you would be visiting Lachung monastery, Cottage Industry and waterfalls.<br />
<br />
Established in 1880, Lachung monastery is a Buddhist monastery, which follows Nyingma order of Buddhism. The monastery resides at the confluence of Lachen and Lachung river, at an altitude of around 3000 m.<br />
<br />
Post that, return to your 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 9:</b> Transfer to Gangtok
										</p>
										<p class="aj">After having a sumptuous breakfast, embark on a return journey to Gangtok. The drive is likely to be 103 km long, within a time period of 2 hours and 47 mins. If the weather permits, you can enjoy the sight of various Himalayan mountains. It includes the likes of Mt Kanchenjunga, Mt. Pandim, Mt Siniolchu and Mt Kabru. Besides these majestic peaks, alpine forest covers on the way will surely make your ride wonderful.<br />
<br />
Back in Gangtok by evening. Feel free to explore the nearby market or local shopping center like the MG Road mall. Overnight stay in 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 10:</b> Excursion to Tsomgo Lake and Baba Mandir
										</p>
										<p class="aj">This is the last day of our amazing northeast tour. After having your morning breakfast, you will be heading towards Tsomgo lake and Baba Mandir.<br />
<br />
Tsomgo lake (39 km/59 mins from Gangtok) is a glacial lake, which is located in the eastern part of Sikkim. Situated at an altitude of around 12,400 ft, the lake offers one of the best landscapes in the region. Apart from being a natural splendor, Tsomgo lake is also a sacred lake which is devoted by Hindu and Buddhist pilgrims.<br />
<br />
Baba Harbhajan Singh Mandir or simply Baba Mandir (55 km/1 hr and 20mins from Gangtok) is a sacred shrine that was built in memory of an Indian army soldier. It is located between Jelep La and Nathu La.<br />
<br />
Feel free to explore the nearby market in the evening, which would be followed by an overnight stay in hotel.</p>
										</td>
										</tr>
										</table>					
										</div><div id="show_more_content" style="display:none;">
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 11:</b> Departure - Gangtok to Siliguri
											</p>
											<p class="aj">Post breakfast, check out from your hotel and head towards New Jalpaiguri Station/Bagdogra airport/Tenzing Norgay Bus Stand in Siliguri for your onward journey back home.</p>
											</td>	
											</tr>
											</table>				
											</div>					
									</div>									<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
																	<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.mangaldeeptravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Splendors of the North East 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="50834"/>
						</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.mangaldeeptravels.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(46)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(46)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-jalpaiguri.htm" title="Packages in Jalpaiguri">Jalpaiguri</a> <b class="alpha50 bn small">(23)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</a> <b class="alpha50 bn small">(19)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-pelling.htm" title="Packages in Pelling">Pelling</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-lachung.htm" title="Packages in Lachung">Lachung</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-siliguri.htm" title="Packages in Siliguri">Siliguri</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-bagdogra.htm" title="Packages in Bagdogra">Bagdogra</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-alipurduar.htm" title="Packages in Alipurduar">Alipurduar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</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.mangaldeeptravels.in/packages-in-yumthang.htm" title="Packages in Yumthang">Yumthang</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.mangaldeeptravels.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(73)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(4)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Gangtok, Darjeeling, Kalimpong, Pelling, Lachung</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.mangaldeeptravels.in/tour-packages/short-escapeto-gangtok-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_11/326833/98660.jpg"  alt="Short Escape to Gangtok Tour" title="Short Escape to Gangtok Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mangaldeeptravels.in/tour-packages/short-escapeto-gangtok-tour.htm" title="Short Escape to Gangtok Tour"><h3>Short Escape To Gangtok Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok</p>
															<div class="mt10px small">
							<form name="pkg_50404" id="pkg_50404" method="post" action="http://www.mangaldeeptravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mangaldeeptravels.in/tour-packages/short-escapeto-gangtok-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Short Escape to Gangtok Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="50404"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.mangaldeeptravels.in/tour-packages/darjeeling-pelling-gangtok-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_11/326833/99914.jpg"  alt="Darjeeling - Pelling - Gangtok Tour" title="Darjeeling - Pelling - Gangtok Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mangaldeeptravels.in/tour-packages/darjeeling-pelling-gangtok-tour.htm" title="Darjeeling - Pelling - Gangtok Tour"><h3>Darjeeling - Pelling - Gangtok Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok, Darjeeling, Pelling</p>
															<div class="mt10px small">
							<form name="pkg_50833" id="pkg_50833" method="post" action="http://www.mangaldeeptravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mangaldeeptravels.in/tour-packages/darjeeling-pelling-gangtok-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Darjeeling - Pelling - Gangtok Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="50833"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.mangaldeeptravels.in/tour-packages/darjeeling7-days-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_11/326833/120139.jpg"  alt="Darjeeling 7 days Tour" title="Darjeeling 7 days Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mangaldeeptravels.in/tour-packages/darjeeling7-days-tour1.htm" title="Darjeeling 7 days Tour"><h3>Darjeeling 7 Days Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok, Darjeeling</p>
															<div class="mt10px small">
							<form name="pkg_64949" id="pkg_64949" method="post" action="http://www.mangaldeeptravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mangaldeeptravels.in/tour-packages/darjeeling7-days-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Darjeeling 7 days Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="64949"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.mangaldeeptravels.in/tour-packages/dooars-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_11/326833/188762.jpg"  alt="Dooars Tour" title="Dooars Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mangaldeeptravels.in/tour-packages/dooars-tour.htm" title="Dooars Tour"><h3>Dooars Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kalimpong, Jalpaiguri, Alipurduar</p>
															<div class="mt10px small">
							<form name="pkg_115813" id="pkg_115813" method="post" action="http://www.mangaldeeptravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mangaldeeptravels.in/tour-packages/dooars-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Dooars Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="115813"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.mangaldeeptravels.in/tour-packages/darjeeling-gangtok-pelling-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_11/326833/188826.jpg"  alt="Darjeeling Gangtok Pelling Tour" title="Darjeeling Gangtok Pelling Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mangaldeeptravels.in/tour-packages/darjeeling-gangtok-pelling-tour.htm" title="Darjeeling Gangtok Pelling Tour"><h3>Darjeeling Gangtok Pelling Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok, Darjeeling, Pelling</p>
															<div class="mt10px small">
							<form name="pkg_115879" id="pkg_115879" method="post" action="http://www.mangaldeeptravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mangaldeeptravels.in/tour-packages/darjeeling-gangtok-pelling-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Darjeeling Gangtok Pelling Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="115879"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.mangaldeeptravels.in/tour-packages/north-sikkim-tour-winter-special.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_11/326833/98664.jpg"  alt="North Sikkim Tour (Winter Special)" title="North Sikkim Tour (Winter Special)"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mangaldeeptravels.in/tour-packages/north-sikkim-tour-winter-special.htm" title="North Sikkim Tour (Winter Special)"><h3>North Sikkim Tour (winter Special)</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok, North Sikkim</p>
															<div class="mt10px small">
							<form name="pkg_50408" id="pkg_50408" method="post" action="http://www.mangaldeeptravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mangaldeeptravels.in/tour-packages/north-sikkim-tour-winter-special.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="North Sikkim Tour (Winter Special) - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="50408"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:62:"Book Splendors of the North East Tour - 111 Days Tour Packages";i:2;s:148:"book splendors of the north east tour - 111 days tour packages, valley tour packages, gangtok, darjeeling, kalimpong, pelling, lachung tour packages";i:3;s:183:"Mangaldeep Travels offers Splendors of the North East Tour - 111 Days tour package, budget Valley tour packages for Gangtok, Darjeeling, Kalimpong, Pelling, Lachung at exciting price.";i:4;s:452:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Darjeeling, Kalimpong, Pelling, Lachung"        
		                 },
		      "description": "",
		      "name": "Splendors of the North East Tour",
		      "telephone": "+91-9933873291"
		    }
		    </script>
			";i:5;N;}