a:6:{i:0;s:28096:"				<div class="h1"><h1>India Tour With Khjauraho</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sugambazaartravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sugambazaartravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>India Tour With Khjauraho</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">
						25 Nights / 26 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Jaipur, Agra, Varanasi, Haridwar, Gwalior, Khajuraho, Gangtok, Darjeeling, Kolkata, Orchha, Rishikesh, Pelling, Kathmandu, Bagdogra, 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.sugambazaartravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="India Tour With Khjauraho - 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="41580"/>
						</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_9/257475/82918.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257475/82918.jpg"  width="150" height="150"    alt="India Tour With Khjauraho" title="India Tour With Khjauraho" /></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> Delhi Arrival 
								</p>
								<p class="aj">Upon Arrival at Delhi airport our representative will further assist you the vehicle & transfer to the hotel. After arriving hotel he will explain your tour program in detail. Over night stay in the hotel.<br />
</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 - Jaipur 
								</p>
								<p class="aj">After breakfast drive to jaipur. Check in to hotel. After rest proceed to sight seen the pink city Jaipur. Jaipur is situated in Rajsthan, which is a capital of Rajsthan. Jaipur has Founded on 18 November 1727 by Maharaja Sawai Jai Singh II, the ruler of Amber, the city today has a population of more than 3.1 million. Over night in hotel.<br />
</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> Jaipur City Tour 
								</p>
								<p class="aj">Today you have to see Hawa Mahal, Amber Fort, Jaigarh Fort, Nahargarh Fort, City Palace, Jantar Mantar, Jal Mahal, Rambagh Palace, Central Museum,Albert Hall Museum. It is a major attraction for the first-time visitor. Jaipur is surrounded on all sides by rugged hills,crowned with forts & enclosed by embattled walls. Houses with latticed windows line the streets with their rose pink colour, lending enchantment to the scene, which is almost magical at sunset. Over night in hotel.<br />
</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> Jaipur - Fatehpur Sikri - Agra 
								</p>
								<p class="aj">After breakfast check out from hotel and drive to Agra via Fatehpur Sikri. Fateh pur Sikri Built during the second half of the 16th century by the Emperor Akbar, Fatehpur Sikri (the City of Victory) was the capital of the Mughal Empire for only some 10 years. The complex of monuments and temples, all in a uniform architectural style, includes one of the largest mosques in India, the Jama Masjid. After sight seen of Fatehpur Sikri drive to Agra.<br />
</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> Agra
								</p>
								<p class="aj">Today you have to see the symbol of love Tajmahal.Tajmahal the worlds most beautiful monument was built by Shah Jahan in the memory of his beloved wife Mumtaaj. Its construction started at 1631 and it is completed at 1653.Taj Mahal was built in stages, with the plinth and the tomb taking up roughly 15 years. Building of minarets, mosque, jawab, and gateway took additional 5 years to be completed. Different types of marbles used in construction of Taj Mahal were brought over from many different regions & countries: Rajasthan, Punjab, China, Tibet, Afghanistan, Srilanka, & Arabia.Many precious stones and Lapis Lazuli (a semi-precious stone) were ripped off from its walls by the Britishers during the Indian rebellion of 1857.<br />
<br />
After lunch Proceed to visit the Agra Fort. Agra Fort is located on the right bank of the river Yamuna in the city of Agra. It is one of the most important and robustly built stronghold of the Mughals, embellished with number of richly decorated buildings encompassing the imposing Mughal style of art and architecture. It was constructed by the third Mughal emperor Akbar on the remains of an ancient site known as Badalgarh. Overnight stay in hotel. </p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 6:</b> Agra - Gwalior - Orchha 
								</p>
								<p class="aj">After breakfast drive to Gwalior. Gwalior is the most historical city of the Madhya Pradesh. The new section of the city called Lashkar. Lashkar is few miles South from the old city. Take a tour of Gwalior fort. The fort Standing on a steep mass of sandstone, Gwalior Fort dominates the city and is its most significant monument. It has been the scene of momentous events, imprisonment, battles and jauhars . A steep road winds upwards to the fort, flanked by statues of the Jain tirthankaras, carved into the rock face. The magnificent outer walls of the fort still stand, two miles in length and 35 feet high, bearing witness to its reputation for being one of the most invincible forts of India. After lunch drive to Orchha. Overnight stay in Orchha hotel.<br />
</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> Orchha - Khajuraho 
								</p>
								<p class="aj">After breakfast proceed to sight seen of Orchha. Orchha is a small and peaceful town situated in the bank of Betwa river. Orchha was founded by Bundela chief Rudrapratap in 1501 AD. Orchha is a tiny farming town dotted with historical sites. Of note: Fort Complex: The fort complex is a great place to visit; hit this first to obtain an all-day ticket good for all the sights in Orchha. Divided into 3 parts, it consists of Raj Mahal: Situated to the right of the quadrangle, this palace was built in the 17th century by Madhukar Shah.Jehangir Mahal: Built by Raja Bir Singh Ju Deo in the 17th century to commemorate the visit of Emperor Jehangir to Orchha. Parveen Mahal: Poetess and musician, Rai Parveen was the beautiful paramour of Raja Indramani (1672- 76) and was sent to Delhi on the orders of the Emperor Akbar. Other see Ram Raja temple, Chaturbhuj Temple, Laxminarayan Temple, Phool Bagh, Sunder Mahal, Cenotaphs: There are 14 Chhatris or Memorials to the rulers of Orchha, grouped along the Kanchan Ghat of the river Betwa on the south end of town. You can climb up to the roof for views of the river.<br />
<br />
Drive to khajuraho. Take lunch on the midway.<br />
<br />
After arrival in khajuraho check in to hotel. take rest in hotel.<br />
Evening time you have to see the beautiful light & sound show, which is organized by M.P. Tourism.<br />
Overnight in hotel. </p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 8:</b> Khajuraho
								</p>
								<p class="aj">Khajuraho is the most famous place among Indian and foreigner tourist. Kajuraho temples built by the chandela rulers during 950 - 1050 AD. Today you have to visit local khajuraho. You will see western group of temples. Among the western group of temples, the most famous temples are kandariya mahadeo, lakshmana temple, devi jugdamba , chitragupta temple, vishwanath temple, kandariya mahadev & matengshwara temple.<br />
<br />
After western group you have to see the eastern part of the temples. The temple of Parsvanath is the largest of the Jain temples in Khajuraho India and the finest. The temple was originally dedicated to Adinath and latter to Parsvanath. It is the finest example of the sensitive art without any sexual motifs. Near this temple is the temple of Adinath with fine carvings. The temple is quite similar to the Hindu temples of Khajuraho. Shantinath is the youngest of all the temples in Khajuraho India. Though it looks like the most other temples in Khajuraho, it is just a century old. The temple has a four and a half meter statue of Shantinath. One of the oldest temples in Khajuraho is the temple of Brahma and Hanuman. The temple is built mostly of granite and sandstone. Actually, this temple is dedicated to Lord Vishnu. Nearby is a Hanuman temple reputed to have the earliest inscription dating back to AD 922 on a 2½ -m statue. two other notable temples are Javari and Vamana temple.<br />
<br />
Back to hotel for lunch.<br />
<br />
After lunch you have to see the beautiful raneh waterfall and alligator century. Which is around 25 K.M. far from khajuraho. The waterfall situated between the national park. You can also see their the wild animals and alligators.<br />
<br />
Evening time have to see the local cultural folk dance. Which is organized by M.P. tourism and Kandariya Shilpgram. Overnight stay in hotel. </p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 9:</b> Khajuraho to Varanasi 
								</p>
								<p class="aj">Today you have to see Panna tiger reserve with pandav water fall.<br />
Panna national park is situated in Panna district of Madhya Pradesh. Distance from Khajuraho around 35 K.M. This is well known for their diamond mines. The park is a tiger reserve and known worldwide for its wild cats, including tigers as well as deer and antelope. (Park is closed in rainy season). After visit national park you can see the Pandava falls. This is situated between national park. It is said the the caves are built in the Mahabharata times by Pandavas during their Agyatwaas.<br />
<br />
Back to hotel & take rest.<br />
<br />
Evening time at 10:00 PM check out from hotel to board the train for Varanasi. Overnight at the train to 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 10:</b> Varanasi
								</p>
								<p class="aj">At morning you will arrived at Varanasi then transfer to the hotel.<br />
<br />
Today you have to see one of the oldest living city in the world. It is also well known as a the great Hindu city. This city based on the bank of holy river the Ganga. Hindus believe that one who is graced to die on the land of Varanasi would attain salvation and freedom from the cycle of birth and re-birth. Abode of Lord Shiva and Parvati, the origins of Varanasi are yet unknown. Ganges in Varanasi is believed to have the power to wash away the sins of mortals.<br />
<br />
After Breakfast city sight seen & visit Ghats.<br />
Evening time enjoy boat riding on the Holy river Ganga. Also see the Famous Ganga Aarti. Overnight at 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> Varanasi - Sarnath - Kolkata 
									</p>
									<p class="aj">After breakfast Departure at day trip to Sarnath.<br />
Sarnath is the deer park where Gautama Buddha first taught the Dharma, and where the Buddhist Sangha came into existence through the enlightenment of Kondanna. Sarnath is located 13 kilometres north-east of Varanasi, in Uttar Pradesh, India. Singhpur, a village one km away from the site, was the birthplace of Shreyansanath, the eleventhTirthankara of Jainism, and a temple dedicated to him, is an important pilgrimage site.<br />
<br />
Back to hotel & Take rest.<br />
Transfer to railway Station. Overnight at 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 12:</b> Kolkata
									</p>
									<p class="aj">After arrival at Kolkata. Transfer to hotel.<br />
Kolkata or Calcutta is the capital of the Indian state of West Bengal. Located on the east bank of theHooghly river, it is the principal commercial, cultural, and educational centre of East India, while the Port of Kolkata is India's oldest operating port as well as its sole major riverine port. As of 2011, the city had 4.5 million residents; the urban agglomeration, which comprises the city and its suburbs, was home to approximately 14.1 million, making it the third-most populous metropolitan area in India. As of 2008, its economic output as measured by gross domestic product ranked third among South Asian cities, behind Mumbai and Delhi.[6] As a growing metropolitan city in a developing country, Kolkata confronts substantial urban pollution, traffic congestion, poverty, overpopulation, and other logistic and socioeconomic problems.<br />
Sight seen of Kolkata. Overnight at hotel. </p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 13:</b> Kolkata - Bagdogra - Gangtok 
									</p>
									<p class="aj">Transfer to Kolkata airport to board on the flight to Bagdogra ( Darjiling).<br />
<br />
After arriving bagdogra airport, Assistance upon arrival at Bagdogra (IXB) by our representative and transfer to Gangtok (124 Kms / 4.5 hrs approx), at an altitude of 5500 ft Gangtok. Gangtok, the capital of the state, one of the most beautiful and clean town of north east, promising of the best monasteries and landscapes.<br />
Evening free at leisure. Overnight at Hotel. </p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 14:</b> Gangtok
									</p>
									<p class="aj">Post breakfast excursion tour to the source of all lakes Tsomgo lake (12400ft) which is 37 kms (2 Hrs) away from Gangtok city. The oval shaped lake is almost about 1km long, and 15mtrs deep. The lake is considered sacred by the local people. After that visit 18 kms from the lake Baba Mandir (temple of disappeared army personal) and back to Gangtok.<br />
Evening free at Gangtok for shopping / at leisure. Overnight stay at hotel. </p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 15:</b> Gangtok - Pelling 
									</p>
									<p class="aj">Morning transfer to Pelling (134 kms / 5 hrs), at an elivation of 6,700 ft. Pelling is a very small Himalayan villahe in West Sikkim, nested in the foothils of Himalaya. Pelling is the closest motorable point of Mt. Kanchendzonga which is world's 3rd highest peak. It offers a good sunrise along with view of the entire Eastern Himalayan range. Overnight stay at hotel. </p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 16:</b> Pelling - Darjeling 
									</p>
									<p class="aj">Morning check-out transfer to the queen of the hills Darjeeling (127km / 5hrs). Darjeeling was the summer capital of India & presently holding the same status for West Bengal. Darjeeling, producer of world's best quality tea, will cater you a mix-experience of lively nature charming Himalayan people.<br />
One can enjoy the scenic beauty from the Mall or a walk around town to appreciate the new culture you are in. Overnight at Hotel. </p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 17:</b> Darjeling
									</p>
									<p class="aj">Early morning (4 am) excursion tour to Tiger Hill for the spectacular sunrise and its amazing effects on the Mt. Kanchendzonga (worlds 3rd highest peak), visit Ghoom Monastery and Batashia Loop War Memorial on the way back to your Hotel. Post breakfast tour to the Peace Pagoda Japanese Temple, Padmaja Naidu Zoological Garden, Himalayan Mountaineering Institute (HMI) etc. After that visit to the Mall (Chowrasta) along with local Market for City Life. Overnight at hotel. </p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 18:</b> Darjeling - Delhi 
									</p>
									<p class="aj">Morning check-out from hotel and depart back to Bagdogra (IXB)) for your return flight to delhi.<br />
After arrival at delhi.Transfer to hotel. Overnight at 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 19:</b> Delhi - Kathmandu 
									</p>
									<p class="aj">After breakfast transfer to the airport to take the direct flight to Kathmandu.<br />
Meeting at airport upon arrival by Our Representative. Transfer to hotel. Kathmandu is the capital of Nepal and the Kathmandu Valley is the political and cultural heart of the Kingdom. The urban sprawl that makes up modern Kathmandu is in fact two cities, Patan and Kathmandu. Overnight at Hotel. </p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 20:</b> Kathmandu
									</p>
									<p class="aj">This morning you will be taken for a visit of the Hindu culture in Nepal, Pashupatinath. This is the place where holy saddhus pray and cremations on the Bagmati River are carried out. We then continue to the holiest shrine for the Buddhist culture in Nepal, Bouddhanath, with its large stupa, this is the place where all devout Buddhists come for a pilgrimage.<br />
Overnight at hotel.<br />
After breakfast transfer to the airport to take the direct flight to Kathmandu.<br />
Meeting at airport upon arrival by Our Representative. Transfer to hotel. Kathmandu is the capital of Nepal and the Kathmandu Valley is the political and cultural heart of the Kingdom. The urban sprawl that makes up modern Kathmandu is in fact two cities, Patan and Kathmandu. Overnight at Hotel. </p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 21:</b> Kathmandu / Airport - Delhi 
									</p>
									<p class="aj">Morning will be comparatively free and closer to the time of your flight, you will be transferred to the airport in time to board your flight for onward journey. After arrival at Delhi Transfer to hotel & Overnight at hotel.<br />
</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 22:</b> Delhi
									</p>
									<p class="aj">Delhi the capital of India is a vibrant modern city with an ancient and eventful history. The city with its multi-faceted culture can aptly said to be a microcosm of the whole nation. Visit to the city offers a unique two-in-one experience as New Delhi with its wide roads and high rise buildings gives a feel of being in a contemporary city whereas a stroll down the streets of Old Delhi can easily take one to a bygone era with its narrow lanes and old 'havelis'. Delhi has thousands of historical monuments and places of religious importance.<br />
Proceed to sight seen of the Red fort, Jama Masjid, Qutab Minar, India Gate, the President's House, Mahatma Gandhi Memorial, Also visit popularly known Birla Temple. Overnight stay in hotel. </p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 23:</b> Delhi - Haridwar - Rishikesh 
									</p>
									<p class="aj"> Morning checkout from hotel to board on train to Haridwar. After arrival at haridwar drive to rishikesh by private vehicle. After arrival at Rishikesh transfer to hotel. Over night at hotel.<br />
</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 24:</b>  Rishikesh
									</p>
									<p class="aj">Day free at leisure. Overnight at hotel.</p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 25:</b> Rishikesh - Haridwar - Delhi 
									</p>
									<p class="aj">After Breakfast Transfer to Railway station to board on train to Delhi. Evening free for shopping. Overnight at hotel.<br />
</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 26:</b> Delhi to Return Flight 
									</p>
									<p class="aj">Transfer to Airport to board on return flight to your country with sweet memories of your trip.</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>
												</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.sugambazaartravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="India Tour With Khjauraho - 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="41580"/>
						</form>
						</div>
						
						";i:1;s:66:"Book India Tour With Khjauraho - 25 Nights / 26 Days Tour Packages";i:2;s:262:"book india tour with khjauraho - 25 nights / 26 days tour packages, forts and palaces tour packages, jaipur, agra, varanasi, haridwar, gwalior, khajuraho, gangtok, darjeeling, kolkata, orchha, rishikesh, pelling, kathmandu, bagdogra, fatehpur sikri tour packages";i:3;s:316:"Sugambazaar Travels & Tours Pvt. Ltd. offers India Tour With Khjauraho - 25 Nights / 26 Days tour package, budget Forts and Palaces tour packages for Jaipur, Agra, Varanasi, Haridwar, Gwalior, Khajuraho, Gangtok, Darjeeling, Kolkata, Orchha, Rishikesh, Pelling, Kathmandu, Bagdogra, Fatehpur Sikri at exciting price.";i:4;s:544:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Jaipur, Agra, Varanasi, Haridwar, Gwalior, Khajuraho, Gangtok, Darjeeling, Kolkata, Orchha, Rishikesh, Pelling, Kathmandu, Bagdogra, Fatehpur Sikri"        
		                 },
		      "description": "",
		      "name": "India Tour With Khjauraho",
		      "telephone": "+91-9795155660"
		    }
		    </script>
			";i:5;N;}