a:6:{i:0;s:23565:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Tour To Nepal</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.maamanashatourtravels.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.maamanashatourtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Tour To Nepal</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-->				
									<div class="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_15/449124/154622.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_15/449124/154622.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/449124/154622.jpg"  alt="Tour To Nepal" title="Tour To Nepal" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
												
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">Tour To Nepal</p>
					
											<p class="mb5px"><b>Duration :</b> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kathmandu</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px">Price</p>
						<p class="xxsmall">On Request</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.maamanashatourtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Tour To Nepal - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="88995"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
													<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Kathmandu Arrival										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Nepal, officially the Federal Democratic Republic of Nepal, is a landlocked country in South Asia and the world's youngest republic. It is bordered to the north by Tibet of the Peoples Republic of China, and to the south, east, and west by the Republic of India. With an area of 147,181 square Kilometres (56,827 sq mile) and a population of approximately 26.6 million [2011 AD] , Nepal is the world's 93rd largest country by land mass and the 41st most populous country. Kathmandu is the nation's capital and the country's largest metropolitan city. Nepal is a country of highly diverse and rich geography, culture, and religions. The mountainous north contains eight of the world's ten highest mountains, including the highest, Mount Everest 8848m. The fertile and humid south is heavily urbanized. By some measures, Hinduism is practiced by a greater majority of people in Nepal than in any other nation. Buddhism, though a minority faith in the country, is linked historically with Nepal as the birthplace of Siddhartha Gautama Buddha. Nepal is of roughly trapezoidal shape, 800 kilometers (500 mile) long and 200 kilometers (125 mile) wide. See List of territories by size for the comparative size of Nepal. Nepal is commonly divided into three physiographic areas: the Mountain, Hill, Siwalik region and Terai Regions. These ecological belts run east-west and are vertically intersected by Nepal's major, north to south flowing river systems. The southern lowland plains or Terai bordering India are part of the northern rim of the Indo-Gangetic plains. They were formed and are fed by three major rivers: the Kosi, the Narayani, and the Karnali. This region has a subtropical to tropical climate. Tour Itinerary															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Kathmandu										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Arrive Kathmandu, transfer to hotel.Pick up from airport and transfer to Hotel. It will be 7-10 km only and takes 20-30 minutes. Have welcome drinks and check in. If time permits one can visit nearby markets self. Or visit Thamel.THAMEL As the tourist district of Kathmandu, Thamel bustles with activity late into the late evening. It is a mere 10-minute walk from the center of Kathmandu, yet completely different from the rest of the city. Thamel caters entirely to tourists with its scores of hotels, rows of restaurants and bars, book shops, inviting souvenir shops, cyber cafes and travel agencies. All that a tourist needs can be found here, even friends and traveling companions.The Kathmandu Valley contains three royal cities - Kathmandu; Patan and Bhaktapur. Kirtipur and Thimi are two other smaller municipalities. There are seven UNESCO World Heritage Sites in the Valley. The Valley was once a lake. According to legend, a Buddhist saint named Manjushree drained out the waters by slashing a passage through the hills and peopled it with his followers. Over the millenniums, a refined urban civilization emerged, built on a unique synthesis of Hinduism and Buddhism. Dynasties came and went. Commerce and crafts flourished. Its religious Newar inhabitants built fabulous cities and artistic temples that are unmatched in the Himalayan region. Kathmandu is the capital of the Kingdom of Nepal. The city is at 1336 m above sea level. The valley covers an area of 218 square miles. It is surrounded by a tier of green mountain wall above, which tower mighty snow - capped peaks. The Kathmandu valley hosts three districts, Bhaktapur, Lalitpur (Patan) and Kathmandu, famous for their historic, artistic and cultural aspects. These three districts were part of different empires in the period of the Mallas (1200AD), great rulers of the area. The Kathmandu valley hosts seven World Heritage Sites declared by the UNESCO in Nepal. The valley is famous for the scenery, beautiful countryside, ethnic clans, monasteries and thousands of temples. The city is also called the city of temples. Overnight in hotel			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Full Day Kathmandu Tour										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												[B]After breakfast full day tour. Sightseeing of Pashupatinath Temple- the most sacred of the Hindu temples in Nepal dedicated to lord Shiva, first established in 5th century. The holiest Hindu pilgrimage place in Nepal Pashupatinath has received the attention of worshippers for at least fifteen hundred years. Dedicated to Shiva the lord of Destruction the temple is situated on the banks of the Bagmati River. A circuit of the Pashupatinath area takes visitors past a sixth century statue of the Buddha an eighth century statue of Brahma the Creator freshly painted skeletal images guarding temple gates, and other magnificent temples dedicates to various deities in the complex.Pashupati NathTemple is situated 5 km. east of kathmandu, the temple of Lord Shiva,Pashupati Nath, with tow tiered golden roof and silver door is considered one of the holiest shrines for Hindus, although only Hindus are allowed inside temple, visitors can clearly see the temple and the activities performed in the temple premises from the eastern bank of the Bagmati river. The temple was listed in the UNESCO World heritage Monument list in 1979 AD. Guheswari Temple Near Pashupatinath is located another historic and holy temple of Guheswari. Only Hindus are allowed to enter the temple courtyard. Boudha Nath Temple- Boudhanath Stupa (or Bodnath Stupa) is the largest stupa in Nepal lies a further 2 km north from Pashupatinath Temple and also the holiest Tibetan Buddhist temple outside Tibet. It is the center of Tibetan culture in Kathmandu and rich in Buddhist symbolism. The stupa is located in the town of Boudha, on the eastern outskirts of Kathmandu. Bodnath was probably built in the 14th century after the Mughal invasions; various interesting legends are told regarding the reasons for its construction. After the arrival of thousands of Tibetans following the 1959 Chinese invasion, the temple has become one of the most important centers of Tibetan Buddhism. Today it remains an important place of pilgrimage and meditation for Tibetan Buddhists and local Nepalis, as well as a popular tourist site. From above, Bodnath Stupa looks like a giant mandala, or diagram of the Buddhist cosmos. And as in all Tibetan mandalas, four of the Dhyani Buddhas mark the cardinal points, with the fifth, Vairocana, enshrined in the center (in the white hemisphere of the stupa). The five Buddhas also personify the five elements (earth, water, fire, air and ether), which are represented in the stupa's architecture.There are other symbolic numbers here as well the nine levels of Boudhanath Stupa represent the mythical Mt. Meru, center of the cosmos; and the 13 rings from the base to the pinnacle symbolize the path to enlightenment, or			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Kathmandu										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Home-Kathmandu			
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<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">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</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.maamanashatourtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Tour To Nepal - 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="88995"/>
						</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.maamanashatourtravels.com/packages-in-guwahati.htm" title="Packages in Guwahati">Guwahati</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maamanashatourtravels.com/packages-in-shillong.htm" title="Packages in Shillong">Shillong</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maamanashatourtravels.com/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maamanashatourtravels.com/packages-in-cherrapunji.htm" title="Packages in Cherrapunji">Cherrapunji</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maamanashatourtravels.com/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maamanashatourtravels.com/packages-in-punakha.htm" title="Packages in Punakha">Punakha</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maamanashatourtravels.com/packages-in-nagarkot.htm" title="Packages in Nagarkot">Nagarkot</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maamanashatourtravels.com/packages-in-jalpaiguri.htm" title="Packages in Jalpaiguri">Jalpaiguri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maamanashatourtravels.com/packages-in-bhaktapur.htm" title="Packages in Bhaktapur">Bhaktapur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maamanashatourtravels.com/packages-in-paro.htm" title="Packages in Paro">Paro</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.maamanashatourtravels.com/packages-in-jorhat.htm" title="Packages in Jorhat">Jorhat</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.maamanashatourtravels.com/packages-in-kaziranga.htm" title="Packages in Kaziranga">Kaziranga</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.maamanashatourtravels.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maamanashatourtravels.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maamanashatourtravels.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maamanashatourtravels.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</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.maamanashatourtravels.com/tour-packages/kathmandu-nagarkot-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/449124/154623.jpg"  alt="Kathmandu - Nagarkot Tour Package" title="Kathmandu - Nagarkot Tour Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.maamanashatourtravels.com/tour-packages/kathmandu-nagarkot-tour-package.htm" title="Kathmandu - Nagarkot Tour Package"><h3>Kathmandu - Nagarkot Tour Package</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, Nagarkot, Bhaktapur</p>
															<div class="mt10px small">
							<form name="pkg_88996" id="pkg_88996" method="post" action="http://www.maamanashatourtravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.maamanashatourtravels.com/tour-packages/kathmandu-nagarkot-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Kathmandu - Nagarkot Tour Package - 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="88996"/>
							</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:52:"Book Tour To Nepal - 3 Nights / 4 Days Tour Packages";i:2;s:107:"book tour to nepal - 3 nights / 4 days tour packages, lakes & rivers tour packages, kathmandu tour packages";i:3;s:150:"Maa Manasha Tour & Travels offers Tour To Nepal - 3 Nights / 4 Days tour package, budget Lakes & Rivers tour packages for Kathmandu at exciting price.";i:4;s:394:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathmandu"        
		                 },
		      "description": "",
		      "name": "Tour To Nepal",
		      "telephone": "+91-9002570751"
		    }
		    </script>
			";i:5;N;}