a:6:{i:0;s:19836:"				<div class="h1"><h1>Wildlife Culture Heritage Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.avashshergilltravel.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.avashshergilltravel.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Wildlife Culture Heritage 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">
						16 Nights / 17 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Jaipur, Sawai Madhopur, Agra, Varanasi, Jabalpur, Khajuraho, Kanha, Fatehpur Sikri</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.avashshergilltravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Wildlife Culture Heritage 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="51220"/>
						</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/357911/100948.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/357911/100948.jpg"  width="150" height="150"    alt="Wildlife Culture Heritage Tour" title="Wildlife Culture Heritage 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> Arrival Delhi
								</p>
								<p class="aj">Assistance on arrival by our company representative and transfer to hotel check in to Hotel (Check Inn time 1200 Hrs Noon). Delhi, the capital of India, is located in north India, surrounded by Uttar Pradesh and Haryana on Three sides, straddling the river Yamuna. Administratively, it is a Union Territory, called the National Capital Region, but it is also partially a state, having been given its own legislative Assembly in 1991. In addition there are the closely linked satellite towns of Gurgaon and Faridabad In Haryana and NOIDA and Ghaziabad in Uttar Pradesh. Contemporary Delhi includes all the sites That had been the capitals of North Indian empires for a thousand years from the many dynasties Collectively called the Delhi Sultanate (1206-1526), to the Mughal Empire (1526-1857), to the British colonialists who made it their capital in 1912. It was declared independent India's capital in 1947. Several monuments are evidence of this history. Among them: the Qutub Minar (12thbeginning of 13th century) Evening at leisure for your own activities.<br />
Overnight stay in Hotel (Delhi).</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> Delhi
								</p>
								<p class="aj">This morning after breakfast take full day sightseeing tour of New Delhi, Also visit Raj Ghat, the memorial to the father of our nation Mahatma Gandhi & Birla Mandir, the oldest temple in Delhi. Post lunch you will visit “New Delhi” which came into existence much later, and is also known as Lutyens Delhi, taking after the name of a British architect who was largely responsible in designing India Gate, Humayun Tomb, Grand Presidential House, Secretariat, Parliament House and many other buildings in that area. Visit the recent jewel in the crown, Lotus Temple and then drive on to see the tallest tower in Delhi, known as Qutub Minar, which declared the arrival and rise of Islam in India. Old Delhi- the former center of Mughal power which offers ancient monuments, narrow streets and bustling markets. Visit the Red Fort built in 1648 by the great Mughal Emperor Shah Jahan famous for his great edifice of love the Taj Mahal. Also see the biggest mosque in India the Jama Masjid, constructed by Shah Jahan in 1658. Then drive through the narrow lanes of Chandni Chowk to get a feel of the royal life of the Mughal emperors. You will also visit a famous Jain Temple & Gurudwara in the vicinity. Evening visit to local market and shopping. Overnight stay in Hotel (Delhi).</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> Delhi - Varanasi (By Flight
								</p>
								<p class="aj">After breakfast, transfer to airport in time to board flight for Varanasi. Met on your arrival in Varanasi and transferred to the hotel of your choice. Afternoon sightseeing tour of Varanasi visiting bathing ghats, The Kashiviswanath Temple, The Durgakund, The Sankatmochan - Shrine of Monkey God Hanuman.<br />
Overnight stay at the Hotel (Varanasi).</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> Varanasi - Khajuraho (By Flight)
								</p>
								<p class="aj">Early morning proceed for dawn boat ride on River Ganges. After Breakfast, transfer to airport in time to board flight for Khajuraho. Met on your arrival in Khajuraho and transferred to the hotel of your choice. Afternoon sightseeing tour of Khajuraho visiting Eastern and Western group of temples.<br />
Overnight stay at Hotel (Khajuraho).</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> Khajuraho - Bahdhavgarh (275 Kms / 6 hrs by Surface)
								</p>
								<p class="aj">After breakfast, depart for Bandhavgarh by road (275 kms/06 hrs), the first of the three National Parks you visit on your India Tiger tour. The Bandhavgarh National Park abounds in many of India's rare and endangered animals: Chital, Sambar, Muntjak (Barking Deer), Nilgai, Chinkara, Chowsingha (Four-horned antelope), Gaur (the Largest Oxen), Sloth Bear, Wild Boar, Leopard and Tiger. Bandhavgarh is undoubtedly one of the best reserve for seeing Indian Tigers. Sighting a Royal Bengal Tiger in the wild, is sure to be the highlight of your wildlife safari in India. Bandavgarh also has a vast variety of bird life. On your arrival in Bandhavgarh & Overnight at the (Resort) Bandhavgarh.</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> Bahdhavgarh
								</p>
								<p class="aj">This morning and evening jeep safaris into the Bandhavgarh National Park.<br />
Overnight at the (Resort) Bandhavgarh.</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> Bahdhavgarh - Kanha (200 Kms / 5 hrs by Surface)
								</p>
								<p class="aj">After an early morning game ride, depart for Kanha by road, the second National Park you visit on your wildlife safari in India, and one of India's largest national parks covering 1,945 sq. km. including a core zone of 945 sq. km. It is a beautiful area of forest and lightly wooded grassland with many rivers and streams and it supports an excellent variety of wildlife. The park is very well organized and a popular place to visit. On your arrival in Kanha check into Chitvan Jungle Resort of your choice.<br />
Overnight stay at the (Resort) Kanha.</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> Kanha
								</p>
								<p class="aj">This after breakfast morning and evening jeep safaris into the Kanha National Park.<br />
Overnight stay at the (Resort) Kanha.</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> Kanha - Jabalpur (200 kms / 4 hrs By Surface) - Agra (By Overnight Train)
								</p>
								<p class="aj">After an early morning game ride, transfer to Jabalpur railway station to board<br />
Overnight train for Agra at 1745 hrs.<br />
Overnight on board train to Agra (1st Class A/C Sleeper Coach Train)</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> Arrival Agra
								</p>
								<p class="aj">Arrive Agra at 0730 hrs. Met on your arrival in Agra and transferred to the hotel of your choice. Afternoon sightseeing tour of Agra city visiting the Taj Mahal - one of the Seven Wonders of the World Surely the most extravagant expression of love ever created. 20,000 men laboured for over 17 years to build this memorial to Shah Jahan's beloved wife. Agra fort – the rusty and majestic red-sandstone fort of Agra stands on the banks of the river Yamuna and the construction was started by Emperor Akbar in 1566. At the DiwanI-Am (hall of public audience), a colonnaded hall of red-sandstone with a throne alcove of inlaid marble at the back, the Emperor heard public petitions. At the Diwan-I-Khas (hall of private audience) where marble pavilions with floral inlays lend an ethereal ambience, the Emperor sat on his gem-studded Peacock Throne and met foreign ambassadors and rulers of friendly kingdoms.<br />
Evening free to explore the Agra’s rich heritage of handicrafts in its markets.<br />
Overnight stay in the Hotel (Agra).</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> Agra - Fatehpur Sikri - Ranthambore (280 Kms / 6 hrs by Surface)
									</p>
									<p class="aj">This morning after breakfast, depart for Ranthambore by road (280 kms /6 hrs) En-route visit Fatehpur Sikri- the deserted, red sandstone city that was built by Emperor Akbar as his capital and palace in the 16th century. Also visit the Bulund Darwaza the largest gateway in the world. Ranthambore, the third National Park that you visit on your North India wildlife tour, is best known for its tiger population, and tiger sightings are common here.<br />
On your arrival in Ranthambore check into the 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> Ranthambore
									</p>
									<p class="aj">This morning and evening jeep safaris into the Ranthambore National Park.<br />
Overnight stay at the (Resort) Ranthambore.</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> Ranthambore - Jaipur (200 Kms / 4 hrs by Surface)
									</p>
									<p class="aj">This morning after breakfast than Morning jeep safari at Ranthambore National park. Check out from the hotel and drive to Jaipur. Upon arrival Jaipur and check in to Hotel. Jaipur-The capital city of the state of Rajasthan is popularly known as the Pink City, from the pink Coloured sandstone with which the buildings in its old, walled city are constructed. The town is in a desert-like landscape, surrounded by barren hills. Jaipur owes its name, its foundation and its careful planning to the great warrior-astronomer Maharaja Jai Singh II (1699-1744). His Predecessors had enjoyed good relations with the Mughals but in 1727, with Mughal power on the wane, Jai Singh decided the time was ripe to move down from his hillside fortress at nearby Amber to a new site on the plains. He laid out the city with its surrounding walls and six rectangular blocks after the principles of town planning set forth in the Shilpa Shastra, an ancient Hindu treatise on architecture.<br />
Overnight stay at the Hotel (Jaipur).</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> Jaipur
									</p>
									<p class="aj">This morning after breakfast and celebration Holi festival (Colour of festival) in the Hotel Afternoon (12 noon) visit impressive Amber Fort situated on a ridge just outside Jaipur City. At the foot of the hill you will mount your caparisoned elephant for the slow but steady climb Up to the main gate, making your entrance in the time honoured fashion. (Other Option visit to Amber Fort by Car) The Fort, completed in the early 18th century, took over 100 years to build and now, although deserted, offers a fascinating insight into the lifestyle of the Mughal ruling families. Sightseeing tour of Jaipur visiting Hawa Mahal - The Palace of Winds, The Jantar Mantar and The City Palace. Evening visit to Chokni dhani take the culture dinner with folk dance & music.<br />
Overnight stay at hotel (Jaipur).</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 15:</b> Jaipur
									</p>
									<p class="aj">This morning after breakfast visit to Nahargarh Biological Park (9 am to 12 Afternoon) & Elefantastic (01 pm to 07 pm) (Wash the elephants, feed and water them. Have a painting-class and learn about elephant-decorations. Learn about elephant medicines and treatments. Ride them to the lake for a swim and a scrub. Watch the elephants fall asleep at night and wake up with them in the early morning hours.)<br />
Overnight stay at the hotel (Jaipur).</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 16:</b> Jaipur - Delhi (260 Kms / 5 hrs by Surface)
									</p>
									<p class="aj">This morning after breakfast than check out the hotel. Drive to Delhi and on the arrival Delhi and check - In the hotel. Evening free with your own activity like visit to local market & shopping.<br />
Overnight stay at Hotel (Delhi).</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 17:</b> Delhi & Departure
									</p>
									<p class="aj">This morning after breakfast than check out the hotel and take internal airport transfer to Delhi International airport to board the flight for your onward destinations.</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 />
												 <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.avashshergilltravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Wildlife Culture Heritage 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="51220"/>
						</form>
						</div>
						
						";i:1;s:71:"Book Wildlife Culture Heritage Tour - 16 Nights / 17 Days Tour Packages";i:2;s:215:"book wildlife culture heritage tour - 16 nights / 17 days tour packages, wildlife and nature tour packages, new delhi, jaipur, sawai madhopur, agra, varanasi, jabalpur, khajuraho, kanha, fatehpur sikri tour packages";i:3;s:253:"Avash Shergill Travel offers Wildlife Culture Heritage Tour - 16 Nights / 17 Days tour package, budget Wildlife and Nature tour packages for New Delhi, Jaipur, Sawai Madhopur, Agra, Varanasi, Jabalpur, Khajuraho, Kanha, Fatehpur Sikri at exciting price.";i:4;s:495:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Jaipur, Sawai Madhopur, Agra, Varanasi, Jabalpur, Khajuraho, Kanha, Fatehpur Sikri"        
		                 },
		      "description": "",
		      "name": "Wildlife Culture Heritage Tour",
		      "telephone": "+91-8699559635"
		    }
		    </script>
			";i:5;N;}