a:6:{i:0;s:50525:"				<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-->				
									<div class="h1"><h1>Our At A Glance Nepal Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.traveltrekinfo.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.traveltrekinfo.in/packages.htm" title="Packages">Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Our At A Glance Nepal Tour</p> 
									
						<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> 
						13 Nights / 14 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kathmandu</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.traveltrekinfo.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Our At A Glance Nepal 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="85372"/>
						</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_15/438384/150017.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/438384/150017.jpg"  width="150" height="150"    alt="Our At A Glance Nepal Tour" title="Our At A Glance Nepal 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>
													
								Accommodation Hotel – lodges<br />
Motorbike Royal Enfield 'Bullet' 500cc<br />
Level of Difficulty Challenging<br />
Max. Altitude Reached 3,800m<br />
Max. Sleeping Altitude 3,500m<br />
Average Daily Distance 130kms<br />
Total Distance 1,173km<br />
Fitness Level Moderate to Tough<br />
<br />
Highlights of Nepal Tour<br />
<br />
Ride in the shadows of 8000 meters high mountains<br />
Wander the atmospheric streets of Kathmandu<br />
Ride to the land of awe inspiring wonders and rich history<br />
Discover the unique tradition and culture of Nepal<br />
Experience the architectural excellence and spiritual awakening at Pashupatinath temple and Boudhanath Stupa.<br />
Visit to the home of rich and wide variety of flora and fauna.<br />
Discover the less travelled road and beauty of Himalayan country.<br />
Ride to the home of highest mountains in the world<br />
Majestic view of Annapurna Zone Mountains<br />
Destinations: Kathmandu, Pokhara, Tatopani, Muktinath, Kalopani, Pokhara, Chitwan, Nagarkot, Last Resort and to Kathmandu.								</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> Arrive Kathmandu.(1350mtrs)
										</p>
										<p class="aj">Upon arrival, met by representative and transferred in a private deluxe van to the hotel Manaslu / similar.<br />
<br />
Eve: A brief introduction of the trip and followed by a welcome dinner at a typical Nepali Restaurant with cultural show at “BhanchhaGhar” Located in Kamaladi very close to Durbar Marg is an authentic Nepali Restaurant. It is an old Nepali building restored and converted into a multi-storied restaurant tastefully decorated in local decor. There is a sit down bar at the attic (shoes have to be taken off - Nepali custom) which serves Nepali as well as foreign drinks and cocktails. Snack menu of momo-cha (meat dumplings), fried or boiled wild boar meat, fried potato Nepali style with masala, dried and marinated venison meat, grilled chicken/mutton/duck, etc., are featured in the menu. Also, there is a one hour Nepali folk dance program which starts from 19:30 Hrs onwards. The main meal (dinner or lunch) is served on the 2nd & 3rd floor with a choice of either table sitting or Nepali style floor sitting. This is the first Nepali restaurant of its kind in Nepal. Advance reservation is necessary. After the dinner, transfer to the Hotel. Overnight at the Hotel Manaslu / similar</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 tour of Kathmandu (1350mtrs)
										</p>
										<p class="aj">09:00 Hrs: After breakfast met by guide and vehicle for half a day’s sightseeing tour of Boudhanath Stupa and Pashupatinath Temple. The Boudhanath Stupa is located 6 kilometers Northeast of Kathmandu and is a colossal imposing Stupa standing about 36 meters and is one of the oldest Buddhist monuments ever built in Nepal. The stupa stands on the massive three level Mandala style platforms surrounded by colourful family style houses. The Stupa is said to have been built in the 5th Century and is a sight of great veneration to the Buddhist.<br />
<br />
Continue on to Pashupanath Temple - the most sacred of the Hindu Temples in the world and is amongst the five principle pilgrimage sites for the Hindus. On an annual pilgrimage during Shivaratri Festival, thousands of devotees of Lord Shiva from all the Hindu communities of the world, pay their homage here. Pashupatinath is the reincarnation of Shiva in his most benevolent form as the shepherd of fertility and so there are no animal sacrifices in this temple. Only fruits, flowers and vermilion are offered. It lies on the banks of the Bagmatiriver and for the Hindus, to be cremated at Pashupatinath, means a direct passage to heaven.After the visit, return to the Hotel.<br />
<br />
15:00 Hrs: Met by the Road captain and introduction to the Royal Enfield Motorcycles. There will be a short briefing about the safety and the proper speed to ride on the roads of Nepal followed by a question and answer session.<br />
<br />
After the briefing, everyone will be handed the keys to the motorcycles and taken for a ride around the city to familiarize with the motorcycles. Rest of the evening is free. Overnight at the Hotel Manaslu / similar</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> : Ride from Kathmandu to Pokhara (827mtrs: 210 Kms/ 8-9Hrs.)
										</p>
										<p class="aj">After breakfast, we negotiate the traffic out of the Kathmandu city and ride out of the valley at the cross section of the ring road at Kalanki and then set out for check post at Nagdhunga, just past Thankot. From here, the road twists and turns as we negotiate the traffic and descend to Naubise, 26 kilometer marker (about 17 kilometers from Nagdhunga). Then the road becomes much larger and a much more smoother enjoyable ride on the highway to Kurintar, 103 kilometers from Kathmandu. Another two kilometers brings us to the Manokamana temple. We continue riding to Mugling, the junction where the highway bifurcates, South to Chitwan and West to Pokhara. Head west by crossing the bridge and follow the Marshyangdi river for a while and then slowly ascend through terraced agricultural lands and small road side villages. At the outskirts of Pokhara, we are greeted with views of the Annapurna Mountain range including the famous Fish Tail Mountain.Pokhara stands at 884 m above sea level, about 700 m lower than Kathmandu Valley. In Kathmandu Valley the high temples are all around you, in Pokhara it is the mountains. Only foothills separate Pokhara form the full height of the Himalayas, and the magnificent 8000 m. peaks of the Annapurna range. Pokhara is a vacationer's paradise with its crystal clear lakes and fantastic views of the Annapurna range including the Fish Tail Mountain. Upon arrival check into the hotel. Rest of the day is free to relax or explore around the lakeside bazaar. Overnight 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 4:</b> : Ride from Pokhara to Tatopani (1220mtrs: 105 Kms/ 3-4 Hrs.)
										</p>
										<p class="aj">After an early breakfast, leave Pokhara and ride towards Beni (approx. 70 Kilometers) on the Baglung Highway. This section of the ride provides fantastic mountain vistas, picturesque terraced farmlands and an opportunity to walk on one of Nepal’s famous suspension bridges.<br />
<br />
At Mal Dhunga, leave the main highway by taking the right trail and follow a dusty graveled path all the way to Beni, the district headquarters of Myagdi District in Dhaulagiri Zone. It is located on the confluence of Kali Ghandaki and Myagdi rivers at an altitude of 799 meters and is a bustling town lined with stores, restaurants, hotels and various government offices.<br />
<br />
From here, the road is unpaved and dusty with potholes in several places. Unpaved, graveled rough road poses a real challenge for riders and makes it more difficult with the occasional river crossings. Ascend gradually through the Kali Gandiki gorge, the deepest gorge in the world. There is a continuous change in the topography with every twist and turn until our arrival at Tatopani.<br />
<br />
Tato” means 'hot' and “Pani” means 'water', a name earned courtesy of the hot springs and is a popular place for trekker’s to relax and dip their weary bodies in the natural hot springs. Upon arrival at Tatopani check in to the Lodge.<br />
<br />
Rest of the day is free to relax or explore around the village and take a relaxing dip in the Hot Springs located nearby. . Overnight at the Dhaulagiri Lodge, Tatopani</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> Ride Tatopani to Muktinath (3800 mtrs: 70 Kms/ 2 Hrs.)
										</p>
										<p class="aj">After an early breakfast, set out on the trail by following the Kali Gandaki River and passing the Thakali and Magar Villages to Dana (4750 ft./ 1446 m.) famous for its beautiful cascading waterfall. Steeply ascend to Ghasa (6600 ft./ 2012m) and continue the ride on a dusty and one of the difficult section of the road towards Jomsom via the Thakali villages of Tukuche and Kalopani. Enroute, there are fantastic views of the Mt. Dhaulagiri (8167 m), Tukuche (6920m), and Nilgiri (7061m).As we pass between the Dhaulagiri and the Annapurna mountain range, a dramatic change in vegetation is witnessed from green forests, to dry arid desert. It takes gradual acclimatizing with the surrounding. The Thakali’s are the dominant tribe of the valley, related to the Gurung and Magars of the southern slopes.<br />
<br />
Continue the ride towards Jomsom through the dusty graveled “off” road passing smaller settlements and apple orchards. There are excellent views of Mt. Nilgiri and the Kali Gandaki River flows on the right hand side of the trail.<br />
<br />
This day’s journey is a tough one but the scenic views of the rugged landscape, beautiful cascading waterfalls, orange and apple orchards, scattered roadside villages, ancient Buddhist monasteries all make it ‘One Hell of a Ride”.<br />
<br />
Jomsom (2713 m) is more correctly known as Dzongsam or New Fort. It spreads over both the banks of the Kali Ghandaki. The towering peaks of Dhaulagiri and Nilgiri form an attractive backdrop. Being the district headquarters, it is primarily an administrative and commercial center with government officials and merchants rubbing shoulders with the local inhabitants of the region, known as the Thakalis. Jomsom is the Administrative center of the Mustang region and the gateway to the Annapurna region. A land of mystique, the rugged peaks of the Annapurna, Nilgiri and Dhaulagari gaze down in their awesome splendor at weathered landscapes that contrast with the deep river ravines over noisy riverbeds. Jomsom is a mixture of hard work, social frivolity tempered by culture founded on deep religious traditions. It has the only airport that operates daily scheduled flights to Pokhara in the early mornings before the winds build up.<br />
<br />
From here continue ride passing through the village, past the High Altitude Mountain Warfare School of the Royal Nepal Army and through several restaurants, bhattis and a hospital. We pass through the old Jomsom village which boasts of several lodges, restaurants school and government offices. At the end of the village the valley opens wide, take the left side of the trail just after crossing the three ruined chorten and continue on the east bank of the Kali Ghandaki River. After about 20 minutes, arrive at Ekklaibhatti a small village with few lodges. There are two trail here. The left will lead to Kagbeni while the right one leads to Muktinath. We take the right trail and continue to ascend slowly to the settlement of Jharkot, which has a fort “Kot”.<br />
<br />
From here, another 15 minutes ride on the desert plateau brings us to Muktinath.<br />
<br />
Upon arrival at Muktinath check in to the guest house. Late PM: Visit Muktinath Temple The Muktinath Temple is a sacred place both for Hindus and Buddhists and is located at an altitude of 3,710 meters at the foot of the Thorong La (5416 m Pass), Mustang district, Nepal. The site is close to the village of Ranipauwa, which sometimes mistakenly is called Muktinath as well. The Hindus call this sacred place MuktiKshetra, which literally means “Place of Salvation". This temple is considered to be the 105th among the available 108 DivyaDesam. The ancient name of this place, before the Buddhist origin was known as ThiruSaligramam. In Muktinath-ChumigGyatsa all the elements are represented and for this and reasons unseen, yogis from both religions do their meditation at Muktinath.<br />
<br />
For Tibetan Buddhists, Muktinath (ChumigGyatsa) is a place of Dakinis (goddess known as Sky Dancers). It is of great importance for Buddhists as ChumigGyatsa is one of the 24 Tantric places. For Hindus, beside the natural fire representing Brahman and the holy waters, the central meaning of the Muktinath area is veneration of the god Vishnu in the form of ammonites (shilas) called Salagrama – Shilas. There are many stories which tell of Vishnu turning into stone and all of them are closely connected to the holy Kali Ghandaki River. According to contemporary geologists, the Salagrama – silas (found at the banks and river bed of the holy river Kali Ghandaki) are fossils of a prehistoric insect. This insect is mentioned in the BhavisyaPurana. Therein, Tulasi, the sacred plant so dear to Vishnu, cursed Vishnu to become a stone during one act of their eternal lila. Vishnu said, “To fulfill your curse, I will become a stone (Salagrama-sila) and will always live on the banks of the Ghandaki River. The millions of Vajrakita worms that live at that place will adorn those stones with the signs of my chakra by carving them with their sharp teeth”.<br />
<br />
After the sightseeing tour of Muktinath Temple descend down to the Ranipauwa (Main Bazaar of Muktinath).Rest of the day is free to relax or explore around the town.<br />
Overnight at the guest house</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> Ride Muktinath to Kalopani (2530mtrs: 70 Kms/ 2 Hrs.)
										</p>
										<p class="aj">After leisurely breakfast ride down to Kagbeni (2800 m) which is the gateway to Upper Mustang. (Note: The Kaligandaki Valley becomes increasingly windy during the day as the winds blows south to north and makes it difficult for travelers.<br />
<br />
Kagbeni at an altitude of 2840m is a fascinating medieval village with closely packed mud brick houses, dark alleys and imposing chortens lies along the Around Annapurna Trekking route and is the gateway to Upper Mustang. The village stands in a little green oasis dominated by its red monastery. Though the village has a very medieval look, it can provide all the modern amenities that a traveler requires. This is the only village after Jomsom where there is an internet facility for communication with the outside world. This village also boasts of a Monastery. The monks here are of the yellow hat or the Gelukpa Sect and have only recently opened their monastery to visitors with a legitimate entrance fee of Rs 100, which they collect for the maintenance of their school.<br />
<br />
After spending some time at Kagbeni continue ride to Jomsom (approx. 11 Km) but we continue further 25 kilometers, about 1 ½ hour slow ride to Kalopani via MarphaVillage.Here we stop for Lunch. Marpha at an elevation of 2670 meters.Marpha is famous for its apple orchards and apple products. This large Thakali village exhibits the typical ThakKhola architecture of flat roofs and narrow paved alleys and passageways. It also has a monastery. After lunch ride another 1 to 1 ½ hour to Kalopani.Upon arrival at Kalopani check in to the guest house. Rest of the day is free to relax or explore around the village. Overnight at the Guest House</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> Ride Kalopani to Pokhara (827mtrs: 126 Kms/ 3-4 Hrs.)
										</p>
										<p class="aj">It is a pleasant relief to be able to tackle the roughest section of the journey in the early morning. Descend to Tatopani (21 kilometers) and then continue riding back to the settlement of Jaleswor located close to the river and then continue on to beni. After a quick stop for a quick, set out following the trail along the river and the after about an hour meet the main highway at Maldhunga and then continue of the metalled road to Pokhara which is reached in about 2 ½ hours. Upon arrival at Pokhara. check in to the hotel.<br />
<br />
Rest of the day is free to relax or explore around the Lakeside Bazaar. Overnight 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 8:</b> Free day or ride around Pokhara
										</p>
										<p class="aj">Free day to relax or ride around Pokhara. Overnight 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 9:</b> Ride to Chitwan (208mtrs: 167 Km/ 5-6 Hrs.)
										</p>
										<p class="aj">After breakfast meet at the hotel lobby and start ride towards Chitwan (Approx. 167 Kilometers). Retrace the road leading to Kathmandu till Mugling (Approx. 96 Kilometers from Pokhara) and then turn south at the junction where the highway bifurcates and ride to Narayangarh (Approx. 38 Kilometers). Narayangarh is an important trading centre of the central Nepal. There is a domestic airport (Bharatpur Airport) with connections to Kathmandu and Pokhara, and is the gateway to the nearby Chitwan National Park. It is also a major road link for the eastern and western parts of the country to the capital city of Kathmandu. And also Narayangarh is very famous for "Taas", a spicy fried goat-meat lunch dish served with Bhuja or Cheura (Beaten Rice).Continue ride to Sauraha.<br />
<br />
Chitwan National Park, the oldest national park in Nepal is situated in the subtropical inner Terai lowlands of South Central Nepal. The park has an area of 932 square kilometers. The park was designated as a World Heritage Site in 1984. The park is just a short detour off the Prithivi Highway. The name Chitwan means heart of the jungle. In recent years has park has risen meteorically on the lists of the Things to do in Nepal. The park covers a pristine area with a unique ecosystem of significant value to the world. It contains the Churiya hills, ox-bow lakes and flood plains of Rapti, Reu and Narayani rivers. The Sal forests dominate the vegetation of the park. The grasslands form a diverse and complex community with over 50 species, the Sacchurun species, often called elephant grass, can reach 8m in height. The park boasts of more than 43 species of mammals, 45 species of amphibians and reptiles and 450 species of birds in the park. The park is renowned for endangered animals along with many other common species.<br />
<br />
Upon arrival at Sauraha in to the hotel.<br />
<br />
Late PM: Guest will be taken to wildlife safari on an Elephant to view and photograph wildlife from close quarters. The animals are scattered, elusive and mostly reside in the dense grasslands which grow to a height of 20 ft. the only means of penetrating this dense grassland is by elephants. Later return back to the hotel. Rest of the day is free to relax.Overnight 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 10:</b> Ride from Chitwan to Nagarkot via Kathmandu (2170mtrs: 200kms* /8-9 Hrs.)
										</p>
										<p class="aj">6 km to arrive at the cross section where the roads to Kathmandu via Daman &Naubise and the road to Kathmandu via Khuleykhani Dam and Pharping. We take the right turn and then ride 12 km to Bhainsay, a small town on the foothills. From here it is a 10 kilometer ride to Bhimphedi where riders are required to pay the toll tax for crossing over the narrow curvy and steep road up to the Kulekhani Dam.<br />
<br />
 <br />
<br />
Kulekhani Reservoir is also known as IndraSarobar and the security guards do not allow people lingering along the dam area. So, a short break for some quickly taken photographs, we continue on the ride to Kathmandu. Some section of the roads is still under construction and may be a bit difficult to negotiate and tests the driving skills of the riders. However, it is only about 15 kilometers and then the route becomes a more pleasurable ride except for the jeep drivers that tests ones patience with their speed driving and continuous honking of their horns.<br />
<br />
This section of the ride provides beautiful scenery of the mountains, rolling forested hills, deep gorges and typical Nepali village scenery. Our arrival at Pharping brings us to the city limits and an 18 kilometer a ride brings us to the city centre - Kalanki and from here take the right turn and ride towards Koteshwor and follow the road to Bhaktapur. From here continue ride for another approx. 15 Km to Nagarkjot. Nagarkot tucked away in the upper reaches of Kathmandu Valley in Nagarkot with a history that dates back to the first human settlement of the valley. Once a busy trade route to Tibet, Nagarkot still maintains its popularity for its spectacular sunrises and sunsets over the Himalayas.<br />
<br />
The panoramic view of the Himalayas that Nagarkot offers stretches over 300 kms. This is 32 km to the north - east of Katmandu and hour drive through the windy road situated at 2175 meter from the sea level; this is magnificent place to view the panorama of major peaks of eastern Himalayan ranges including Mt. Everest on clear days. It is also very spectacular to watch the sunrise and sunset over the Himalayan ranges. There are also number of luxury hotels and lodges available for accommodation to spend the night. Short day hiking can be done to explore the Tamang villages and other areas of interest for easy going trekkers. Set on a ridge northeast of Bhaktapur, it commands a classic panorama view of Himalayas. Upon arrival at Nagarkot check in to the hotel. Rest of the day is free to relax or explore around the town.Overnight at the 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> Ride from Nagarkot to Last Resort (2195mtrs: 110 km/ 3-4 Hrs.)
											</p>
											<p class="aj">After leisurely breakfast retrace the route till Bhaktapur. From here onwards the ride becomes much easier with less traffic till Dhulikhel (Approx.18km).<br />
<br />
Dhulikhel a typical Newari town with nearby Tamang villages situated at an elevation of 1550 meters. From the summit above the village, one can get an unobstructed panoramic view of the Himalayas. Dhulikhel is a small town and is famous for its scenic beauty and old tradition. It offers magnificent views of the Himalayas from Mt, Karyolung in the east to Mt. Himalchuli to the west the twin crest of Mt. Langtang in the west to the Mt. Everest in the east can be clearly viewed in a clear day. Dhulikhel is ideal for snow-capped peaks, sunrise, sunset and it is different from any other and is one of the best sites to watch the sunrise over the Himalayas.<br />
<br />
 <br />
<br />
Continue ride towards the Last resort through the Arniko Highway following the gorge of the Sunkoshi and BhoteKoshi Rivers the entire way. After few kilometers from Dhulikhel the highway drops in to the red – tented, severally deforested Panchkhal Valley, crossing the braided strands of the IndrawatiKhola at Dolalghat – the lowest point on the entire road at 634m. The scenery changes abruptly after Dolalghat, everything is intensely green with waterfalls. The gorge is much deeper than it looks from the road up to the Last resort.Upon arrival check in to the resort.<br />
<br />
 <br />
<br />
The Last Resort is set amidst sprawling terraced slopes, suspended on a high cliff-top gorge above the wild BhoteKosi River and surrounded by dense jungle and pristine forest. The grounds of the resort are meticulously landscaped. Luxurious safari tents, spaciously set in lush gardens, ensure quiet and peaceful stay in an exotic setting. Uniquely crafted in local stone, wood and slate, the resort has an intimate dining hall with centuries old wood-carving where delicious home style food is served. The well stocked Instant Karma bar is a great place for having chilled drinks when the day is done and you are left thirsty. Rest of the day is free to relax or explore around the town.Dinner and Overnight at the Last Resort</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 12:</b> Ride Last Resort to Kathmandu (1350mtrs: 115 km/ 3-4 Hrs.)
											</p>
											<p class="aj">After leisurely breakfast ride towards friendship bridge (Nepal – China Border). After spending few times at the border get ready and ride towards Kathmandu.<br />
<br />
Upon arrival check in to the hotel. Rest of the day is free to rest and relax. Overnight 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 13:</b> Free day at Kathmandu (1350mtrs)
											</p>
											<p class="aj">18:00 Hrs: Dinner at the famous Rum Doodle restaurant & the 40,000 ½ ft bar. Located in the heart of Thamel this is a classic mountaineer’s pub. Hearty food prepared hygienically and the great atmosphere all adds up to make this one of the most popular restaurant and pub in town. The 40,000 ½ Feet Bar has a collection of autographs from world renowned climbers and alpinists including Sir Edmund Hillary, Reinhold Messner, Rob Hall, Junko Tabei and many more who have been there. To add onto the list are former American president Jimmy Carter & Mrs. Rosalyn Carter, former Japanese premier Ryutaro Hashimoto, etc. If you have any special cocktails / mock tails in mind just ask “Prem” the bar man and he will prepare it for you. Overnight 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 14:</b> Final Departure
											</p>
											<p class="aj">Free for final minute packing and shopping until transfer to the airport for final departure.</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.traveltrekinfo.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Our At A Glance Nepal 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="85372"/>
						</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.traveltrekinfo.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(61)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(33)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-pokhara.htm" title="Packages in Pokhara">Pokhara</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-phuntsholing.htm" title="Packages in Phuntsholing">Phuntsholing</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-nagarkot.htm" title="Packages in Nagarkot">Nagarkot</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-punakha.htm" title="Packages in Punakha">Punakha</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-wangdue-phodrang.htm" title="Packages in Wangdue Phodrang">Wangdue Phodrang</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.traveltrekinfo.in/packages-in-chitwan.htm" title="Packages in Chitwan">Chitwan</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.traveltrekinfo.in/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.traveltrekinfo.in/packages-in-pelling.htm" title="Packages in Pelling">Pelling</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.traveltrekinfo.in/packages-in-bumthang.htm" title="Packages in Bumthang">Bumthang</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.traveltrekinfo.in/packages-in-jomsom.htm" title="Packages in Jomsom">Jomsom</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.traveltrekinfo.in/packages-in-namchi.htm" title="Packages in Namchi">Namchi</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.traveltrekinfo.in/packages-in-bagdogra.htm" title="Packages in Bagdogra">Bagdogra</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.traveltrekinfo.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(59)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(20)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</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 Kathmandu</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.traveltrekinfo.in/tour-packages/discover-nepal-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/438384/149629.jpg"  alt="Discover Nepal Tour" title="Discover Nepal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.traveltrekinfo.in/tour-packages/discover-nepal-tour.htm" title="Discover Nepal Tour"><h3>Discover Nepal 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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kathmandu, Pokhara</p>
															<div class="mt10px small">
							<form name="pkg_85035" id="pkg_85035" method="post" action="http://www.traveltrekinfo.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.traveltrekinfo.in/tour-packages/discover-nepal-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Discover Nepal 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="85035"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.traveltrekinfo.in/tour-packages/explore-nepal-11n12d-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/438384/149636.jpg"  alt="Explore Nepal (11N12D) Tour" title="Explore Nepal (11N12D) Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.traveltrekinfo.in/tour-packages/explore-nepal-11n12d-tour.htm" title="Explore Nepal (11N12D) Tour"><h3>Explore Nepal (11n12d) 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> : 
								11 Nights / 12 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kathmandu, Pokhara, Chitwan, Nagarkot, J..</p>
															<div class="mt10px small">
							<form name="pkg_85042" id="pkg_85042" method="post" action="http://www.traveltrekinfo.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.traveltrekinfo.in/tour-packages/explore-nepal-11n12d-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Explore Nepal (11N12D) 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="85042"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.traveltrekinfo.in/tour-packages/natural-nepal-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/438384/149633.jpg"  alt="Natural Nepal Tour" title="Natural Nepal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.traveltrekinfo.in/tour-packages/natural-nepal-tour.htm" title="Natural Nepal Tour"><h3>Natural Nepal 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> :  Kathmandu, Pokhara, Chitwan</p>
															<div class="mt10px small">
							<form name="pkg_85039" id="pkg_85039" method="post" action="http://www.traveltrekinfo.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.traveltrekinfo.in/tour-packages/natural-nepal-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Natural Nepal 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="85039"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.traveltrekinfo.in/tour-packages/bestof-nepal.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/438384/149627.jpg"  alt="Best of Nepal" title="Best of Nepal"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.traveltrekinfo.in/tour-packages/bestof-nepal.htm" title="Best of Nepal"><h3>Best Of Nepal</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> :  Kathmandu</p>
															<div class="mt10px small">
							<form name="pkg_85032" id="pkg_85032" method="post" action="http://www.traveltrekinfo.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.traveltrekinfo.in/tour-packages/bestof-nepal.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Best of Nepal - 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="85032"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.traveltrekinfo.in/tour-packages/hil-and-mountainslof-himalayaof-nepal-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/438384/149631.jpg"  alt="Hil and Mountains l of Himalaya of Nepal Tour" title="Hil and Mountains l of Himalaya of Nepal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.traveltrekinfo.in/tour-packages/hil-and-mountainslof-himalayaof-nepal-tour.htm" title="Hil and Mountains l of Himalaya of Nepal Tour"><h3>Hil And Mountains L Of Himalaya Of Nepal T..</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> :  Kathmandu</p>
															<div class="mt10px small">
							<form name="pkg_85037" id="pkg_85037" method="post" action="http://www.traveltrekinfo.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.traveltrekinfo.in/tour-packages/hil-and-mountainslof-himalayaof-nepal-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Hil and Mountains l of Himalaya of Nepal 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="85037"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.traveltrekinfo.in/tour-packages/explore-nepal-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/438384/149634.jpg"  alt="Explore Nepal Tour" title="Explore Nepal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.traveltrekinfo.in/tour-packages/explore-nepal-tour.htm" title="Explore Nepal Tour"><h3>Explore Nepal 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> :  Kathmandu, Pokhara, Chitwan, Nagarkot</p>
															<div class="mt10px small">
							<form name="pkg_85040" id="pkg_85040" method="post" action="http://www.traveltrekinfo.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.traveltrekinfo.in/tour-packages/explore-nepal-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Explore Nepal 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="85040"/>
							</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:67:"Book Our At A Glance Nepal Tour - 13 Nights / 14 Days Tour Packages";i:2;s:114:"book our at a glance nepal tour - 13 nights / 14 days tour packages, valley tour packages, kathmandu tour packages";i:3;s:183:"Book Our At A Glance Nepal Tour - 13 Nights / 14 Days tour packages from Trip of Lifetime Traveltrek Pvt Ltd - Get attractive 13 Nights / 14 Days Valley  tour packages for  Kathmandu.";i:4;s:1358:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathmandu"        
		                 },
		      "description": "Accommodation Hotel – lodges
Motorbike Royal Enfield 'Bullet' 500cc
Level of Difficulty Challenging
Max. Altitude Reached 3,800m
Max. Sleeping Altitude 3,500m
Average Daily Distance 130kms
Total Distance 1,173km
Fitness Level Moderate to Tough

Highlights of Nepal Tour

Ride in the shadows of 8000 meters high mountains
Wander the atmospheric streets of Kathmandu
Ride to the land of awe inspiring wonders and rich history
Discover the unique tradition and culture of Nepal
Experience the architectural excellence and spiritual awakening at Pashupatinath temple and Boudhanath Stupa.
Visit to the home of rich and wide variety of flora and fauna.
Discover the less travelled road and beauty of Himalayan country.
Ride to the home of highest mountains in the world
Majestic view of Annapurna Zone Mountains
Destinations: Kathmandu, Pokhara, Tatopani, Muktinath, Kalopani, Pokhara, Chitwan, Nagarkot, Last Resort and to Kathmandu.",
		      "name": "Our At A Glance Nepal Tour",
		      "telephone": "+91-9647525702"
		    }
		    </script>
			";i:5;N;}