a:6:{i:0;s:9819:"				<div class="h1"><h1>The Best of Nepal Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.northerntourandtravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.northerntourandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>The Best of Nepal Tour</p>
				<br />
				
								
						<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">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Kathmandu, Pokhara, Chitwan, Nagarkot</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.northerntourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="The Best of 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="54853"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/334611/105689.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/334611/105689.jpg"  width="150" height="150"    alt="The Best of Nepal Tour" title="The Best of Nepal Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> Kathmandu
								</p>
								<p class="aj">The trip begins with your arrival in the central city, Kathamndu. You are escorted to the hotel, where you complete your check In procedure and rest. The essence of the ancient, along with the modern day influence can be observed in the lifestyle and the buildings in the city. Kathmandu is the center for religion, culture and politics of the whole of Nepal. Once you reach the hotel, you can spend the rest of the day at leisure in the comfort of 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 2:</b> Kathmandu
								</p>
								<p class="aj">After breakfast, you set out for the city tour. Firstly, you visit the sacred Pashupatinath Temple, along the banks of Baghmati river. The temple is in dedication to Lord Shiva, it is the epitome of the Hindu religion in Nepal. Your second destination will be the holy Stupa of Bouddhanath, this is believed to be the oldest and the largest Buddhist structure in the country. Further, you visit the famous city, Patan/ Lalitpur is known for its rich cultural heritage. It is covered with great ancient architectural structures.  The well known Kathmandu Darbar Square is another attraction, it has a huge statue of Lord Hanuman and other temples within the complex. Patan is home to the Refugees from Tibet, who makes the area brighter with their handicraft stores on the outskirts of Patan. The sightseeing drive ends with your visitation to the magnificent Swayambhunath Stupa, located on top of a hill. All the four sides of the Stupa are painted with eyes of Buddha, which seems like it watches over the city.rnThe busy day comes to an end with your return to the hotel for an overnight stay.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Chitwan
								</p>
								<p class="aj">After a hearty breakfast, head towards Chitwan. The National Park in Chitwan is the first one in the country and is listed as a UNESCO World Heritage Site. It has a variety of wild animals and plants. You can spot out some rare and endangered animals like one horned Rhinos, Bengal tiger, crocodiles and many exotic birds. In the park, you can experience an elephant ride, wildlife safari, nature walks and more. The National Park experience is very thrilling, just walking around the lush green forest areas and coming across the locals give you a great opportunity to know about the culture and lifestyle of the people there. In the evening, you return back to the hotel for dinner and a night stay.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Chitwan to Pokhara
								</p>
								<p class="aj">After breakfast, you drive to the scenic place of Pokhara. The way to Pokhara is filled with greenery, rivers and tranquility. On reaching Pokhara, you check in at the hotel and rest for some time. Later in the afternoon, you set out for local sightseeing , first you visit the Binsabasini Temple dedicated to goddess Durga. You then leave for Devi’s fall, it is beautifully placed  and opposite to the lake is a cave, Gupteshar and is considered sacred.This cave consists of natural forms of deities.rnAfter exploring much of exotic Pokhara, you return to the hotel and retire for the night.</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> Pokhara - Nagarkot
								</p>
								<p class="aj">After breakfast, you drive back to Kathmandu and soon head towards Nagarkot. The main feature of Nagarkot is that it provides a panoramic view of the Mt Everest, rising and setting of the Sun. On reaching Nagarkot, you check in at the hotel and rest for a while. Later, you leave for sightseeing. In the evening you return to the hotel for an overnight stay.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 6:</b> Departure
								</p>
								<p class="aj">Departure.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Sightseeing</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount * Airfare/Transport fare to be paid full at one time in advance.~^#^~* 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. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.northerntourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="The Best of 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="54853"/>
						</form>
						</div>
						
						";i:1;s:61:"Book The Best of Nepal Tour - 5 Nights / 6 Days Tour Packages";i:2;s:147:"book the best of nepal tour - 5 nights / 6 days tour packages, forts and palaces tour packages, kathmandu, pokhara, chitwan, nagarkot tour packages";i:3;s:193:"A.G Northern Tour and Travels offers The Best of Nepal Tour - 5 Nights / 6 Days tour package, budget Forts and Palaces tour packages for Kathmandu, Pokhara, Chitwan, Nagarkot at exciting price.";i:4;s:431:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathmandu, Pokhara, Chitwan, Nagarkot"        
		                 },
		      "description": "",
		      "name": "The Best of Nepal Tour",
		      "telephone": "+91-9086002323"
		    }
		    </script>
			";i:5;N;}