a:6:{i:0;s:36659:"						<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="115888"/>
						</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/188843.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/326833/188843.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 6 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="115888"/>
						</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-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-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-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-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 "><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 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;}