a:6:{i:0;s:55605:"				<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>Highlights of Northern India Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.trekntourtravel.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.trekntourtravel.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Highlights of Northern India Tour</p> 
										<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_18/532995/248253.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_18/532995/248253.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/532995/248253.jpg"  alt="Highlights of Northern India Tour" title="Highlights of Northern India Tour" 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">Highlights of Northern India Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						11 Nights / 12 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Jaipur, Udaipur, Agra, Varanasi, Khajuraho, Orchha, Fatehpur Sikri</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.trekntourtravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Highlights of Northern India Tour - 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="162868"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Sketch Itinerary :<br />
-------------------------<br />
<br />
new Delhi | Udaipur | Jaipur | Fatehpur Sikri | Agra | Orchha | Khajuraho | Varanasi | New 2</p>
						</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> Arrive Delhi										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: <br />
<br />
description: Arrive in Delhi. After You have Cleared Immigration and Customs Formalities, You are Met Outside the Arrival Hall By Our Representative, Who Will Be Holding a Sign with Your Name. You are Escorted to Your Vehicle and Assisted with Transfer and Check-in Formalities At Your Hotel. (check-in Time 14:00 Hrs) Delhi, India's Capital and Political Hub is An Ancient City that Has Something for Everyone. Settled Seven Times Over the Centuries, this City Has Grown in a Way that Reflects Its Past, While Retaining Its Cosmopolitan Flavour. Delhi is India's Showcase, Be It Architecture, Religion, Shopping, Culture - Everything is Available Here - Waiting to Be Discovered. Imposing, Inspiring and Right At Home among the Grand Landmarks of the New Delhi's Diplomatic Enclave, this Iconic Palace Style Hotel Makes a Significant Statement in Terms of Architecture and Intent.<br />
<br />
locations: Delhi															
														   
											</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> In Delhi										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Explore Old and New Delhi<br />
<br />
description: After Breakfast Proceed for a Tour of India's Capital. Start Your Day with a Tour of Old Delhi, Driving Along the Rajpath and Visiting the Asia's Largest Mosque Known as Jama Masjid. a Ride On a Pedicab/rickshaw Will Take You to the Heart of Old Delhi, Allowing You to Savour the Sights, Smells and Sounds of this Ancient City, Its Past Reflected in Its Present. Your Guide Will Take You Through Winding Lanes Recounting Tales, Anecdotes and Legends of a Delhi that Goes Back Thousands of Years. the Tour Takes You to the Age Old Silver Market, Through Quaint Streets Selling Incredible Ware. Drive Past Red Fort to Visit City's Largest Sikh Temple Known as Bangla Sahib Gurudwara. After Lunch, the Sightseeing of the New Delhi Begins with Drive Past India Gate, Built in Memory of Indian Soldiers Killed During the First World War, Rashtrapati Bhawan, Built in the Early 20th Century as the Imperial Residence of the Viceroy, Today the Official Residence of the President of India and Parliament House, An Unique Circular Building with Huge Colonnades, Houses the Upper and Lower Houses of Parliament. Visit Humayun's Tomb, the First Mughal Garden Tomb, with Its Four Grand Gateways, Octagonal Base-plan, Soaring Niche-shaped Arches, Lofty Double Domes and the Symmetrical Garden with Its Central Canal. the Sightseeing Tour of New Delhi Comes to An End with the Visit of 70-meter High Qutub Minar, Which Looms Majestically Across the Wide Plains of Delhi. It Was Built During the 12th Century Delhi Sultanate Period and Commemorates the Conquest of Delhi By Qutb-ud-din Aibak, the Slave and Chief General of Mohammad Ghauri.<br />
<br />
locations: Delhi			
														   
											</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> Delhi - Udaipur										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Boat Ride On Lake Pichola<br />
<br />
description: Breakfast At the Hotel. Mid Morning Transfer to the Airport for the Flight to Udaipur. Udaipur, the Capital of Mewar for Centuries, is Set Amidst the Aravalli Ranges of Rajasthan. It is Regarded as One of the Most Romantic Cities of the World and is also Known as the 'venice of East'. Though Termed as the City of Lakes, Udaipur Has Many More Attractions: the City Boasts of Various Museums, Palaces, Gardens, Monuments and Colourful Festivals the Mighty Palaces with Their Exquisite Locations Transport You Directly Into the Royal Rajputana Era; Lake Palace, for One, Has Been Accredited for Being One of the Most Romantic Places in the World. the Massive Forts Grab the Interest of People with Their Sheer Structure and Architecture. the Beautiful Temples Create a Sense of Aestheticism with Their Spiritual Ecstasy. You are Met On Arrival and Transferred to the Hotel. in the Evening Take a Boat Ride On Lake Pichola. the Steel Blue Waters of the Lake, Artificially Created in the 14th Century, Reflect the White Phantom Jag Nivas Palace, Now the Lake Palace Hotel Which Was Built in 1746 as the Summer Residence of the Rulers, and Jag Mandir Said to Be Built By Maharana Karan Singh for His Friend Prince Khurram, Who Was Later to Become Emperor Shah Jehan. Huge Seamless Stone Slabs of Translucent Thinness Where Used. the Rooms Were Embellished with Inlaid Stones - Onyx, Jade, Carnelian, Jasper and Agate.<br />
<br />
locations: Udaipur			
														   
											</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> In Udaipur										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Explore Udaipur<br />
<br />
Description: After breakfast, visit the City Palace which stands on the crest of a ridge overlooking Lake Pichola. The largest palace in Rajasthan, it was built at various periods but still preserves the harmony of design, enhanced by massive octagonal towers surmounted by cupolas. Now a museum, it is a labyrinth of courtyards richly decorated with inlaid mirror-work, galleries covered with frescos, temples and roof gardens which afford a wide panorama below. The Jagdish Temple in the old town was built in the mid-17th century and has a remarkable bronze statue of Garuda, the mythical bird, facing his revered master Lord Vishnu. Sahelion-ki-Bari (Garden of the Maidens) is a good example of the Hindu art of landscape gardening on a princely scale. Ornamental pools with finely sculptured cenotaphs of soft black stone are surrounded by a profusion of fountains. The afternoon is at leisure. The shops and craftsmen's ateliers in the narrow streets of the bazaar justify endless walks.<br />
<br />
Locations: Udaipur			
														   
											</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 5											
											:</b> Udaipur - Jaipur										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: <br />
<br />
description: After Breakfast, Depart On the 400 Km (5-hour) Drive to Jaipur Jaipur is An Essential Stop in Any Tour of Rajasthan. the Old Walled Section of the City is Known as the Pink City; It Was Painted Red (a Lucky Color in Hindu Culture) to Welcome England's Prince Alfred in 1853 and the Fading Old Buildings Retain Their Hue. Jaipur is One of India's Newer Cities, Founded in 1727, and Was the Creation of Jai Singh Ii, the Maharaja of the Kuchwaha Rajputs, Who Decided, When Mogul Power Was On the Decline, to Move from His Outmoded Hillside Fortress At Amber to Establish a New Capital On the Plains Further South. On Arrival in Jaipur, Check in At the Hotel.<br />
<br />
locations: Jaipur			
														   
											</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 6											
											:</b> In Jaipur										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Explore Jaipur, Elephant Ride<br />
<br />
Description: After an early breakfast, depart for Amber, the capital for 6 centuries before Jaipur was built, which lies 11 km north of Jaipur. Rising majestically on the slopes of a hill, this 11th century fort and palace complex is a blend of Hindu and Muslim styles - the earlier constructions in the inner apartments designed by the Hindu founder are austere, while later constructions abound in the rich flourishes characteristic of Muslim influence. Experience the thrill of riding up to the fort on gaily decorated elephants, in the manner the Rajputs of old made their royal ascent centuries ago. In the afternoon explore Jaipur, one of the best-planned cities in India, built of rose-pink sandstone by the great astronomer-king Jai Singh II in 1727. The City Palace stands in the centre of the city. Part of it is still the Maharaja's residence, while most of the complex has been developed into a museum containing rare manuscripts, fine specimens of Rajput and Mughal paintings, royal apparel and an armoury. Jantar Mantar observatory was built by the founder of Jaipur, Maharaja Sawai Jai Singh. The huge stone instruments were devised to study the movements of the sun, moon and planets and are incredibly accurate. Hawa Mahal (Palace of Winds) is the landmark of Jaipur. Built of pink sandstone with a delicate honeycomb design and rising five storeys high, it is composed of semi-octagonal overhanging windows, each with its perforated screen, which allowed the ladies of the court to look onto the main street without being seen. There is time to wander through the colourful bazaars, a veritable collector's paradise where you can watch ancient craft forms: Meenakari or enamelling work, exquisite jewellery in silver or gold sparkling with emeralds, rubies, white sapphires and dangling pearls. In tiny ateliers you can see the age-old tie-dye methods of cloth printing, miniature paintings on cotton or silk, statues hand-carved in wood or bone, fine metalwork and the renowned blue pottery of Jaipur<br />
<br />
Locations: Jaipur			
														   
											</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 7											
											:</b> Jaipur - Fatehpur Sikri - Agra										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Fatehpur Sikri<br />
<br />
description: After Breakfast, Depart for Agra, Renowned the World Over for the Fabulous Taj Mahal, and is Situated On the Right Bank of the River Yamuna. Agra is a City with a Glorious Past and Has the Distinction of Being the Capital of Various Ruling Dynasties. En Route, An Hour Out of Agra, Stop At Fatehpur Sikri, the Deserted Sandstone City, Which Was the Glorious But Short-lived Imperial Capital of Akbar, the Greatest of Mughal Emperors. Lying On a Rocky Ridge, It is Today a Haunting Complex of Empty Palaces, Forts and Mosques. a Variety of Architectural Styles are Found, Since Craftsmen Representing Many Schools Were Employed. this Magnificent Fort Palace Had to Be Abandoned After Just 15 Years of Occupation Due to Lack of Potable Water. On Arrival in Agra, Check in At the Hotel.<br />
<br />
locations: Agra			
														   
											</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 8											
											:</b> In Agra										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Taj Mahal and Agra Fort<br />
<br />
Description: The highlight of your trip will be a visit to the Taj Mahal, (CLOSED ON FRIDAYS) the greatest monument to love and one of the wonders of the modern world, constructed by Emperor Shah Jehan as a mausoleum for his beloved queen Mumtaz Mahal. Completed in 1652, skilled craftsmen from Persia, Turkey, France and Italy and some 20,000 labourers worked for 17 years to build this edifice, Marble was brought from Makrana, near Jodhpur and precious stones of onyx, amethyst, malachite, lapis lazuli, turquoise, jade, crystal and mother of pearl were carried from Persia, Russia, Afghanistan, Tibet and China. Watch the rays of the rising sun bathe the pristine white marble edifice in warm hues of gold, ochre, orange, rust and flame - a truly breathtaking experience. Return to the hotel for breakfast Later in the morning, visit the red sandstone Agra Fort, which stands like a crescent on the banks of the Yamuna River, enclosed by forbidding 20-meter high walls, with a 12-meter moat between them. Three successive Mughal emperors - Akbar, Jehangir and Shah Jehan - helped create this massive structure which contains Hindu and Muslim architecture. The structure of Agra Fort at Agra and Red Fort at Delhi is moreover the same from inside. The afternoon is at leisure. You have time to explore the bazaars and craftsmen's ateliers, where you can watch the ancient art of marble in-lay work.<br />
<br />
Locations: Agra			
														   
											</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 9											
											:</b> Agra - Orchha - Khajuraho										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Visit Orcha and the Khajuraho temples<br />
<br />
Description: Early morning transfer to the railway station for the train to Jhansi. Breakfast is served on the train. You are met on arrival at Jhansi railway station and transferred to Orchha Orchha, founded in the 16th century by the Bundela king, Rudhra Pratap, on the banks of the Betwa River, is a medieval city frozen in time and space, existing even today as it must have done in the 16th and 17th centuries, when it was built. The countryside undulates gently between riverine plains and rolling forest-clad hills and the landscape is dotted with palaces and temples, a fortress and cenotaphs. The architecture is a synthesis of traditional Hindu, hybrid Indo-Saracenic and ornate Mughal. One of the finest sights is the view of the cenotaphs from across the Betwa River. Continue on to the little village of Khajuraho is renowned the world over for its fine temples, built between 950 and 1050 AD, which are among the most creative examples of Indian architecture. Only 22 of the original 85 temples survive today. The most popular theme is woman: reflective, playful, amorous. The carvings also depict gods in cosmic evolution, griffins, nymphs, beasts, demons in revolt and the several emotions of man - fear, doubt, jealousy, ardent love and consummate passion.<br />
<br />
Locations: Khajuraho			
														   
											</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 10											
											:</b> In Khajuraho										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Explore Khajuraho<br />
<br />
Description: Breakfast at the hotel. In the morning, visit the western group, contained within a fenced enclosure, is well maintained as a park. The large Lakshmana Temple is dedicated to Vishnu and is one of the earliest of the western enclosure temples, dating from 930-950 AD. It is also one of the best preserved, with a full five-part floor plan and four subsidiary shrines. The Vahara Temple, dedicated to Vishnu's boar incarnation (Vahara avatar) faces the Matangesvara Temple and has a huge solid and intricately carved figure of the boar incarnation, dating from around 900 AD. The Kandariya Mahadev Temple is not only the largest but also artistically and architecturally the most perfect. Build between 1025 and 1050 AD, it represents Chandela at its finest. The Mahadeva Temple is small and mainly ruined. However, it houses one of Khajuraho's best sculptures - a fine sardula figure caressing a lion. The Devi Jagadamba Temple was probably originally dedicated to Vishnu, but later changed to Parvati and then Kali. The Chitragupta Temple is unique in being dedicated to the Sun God, Surya. The Matangesvara Temple, standing next to the Lakshmana Temple, is not within the fenced enclose, because it is still in everyday use, unlike all the old temples. In the afternoon, visit the eastern group of temples, which can be subdivided into two groups - an interesting complex of Jain temples in the walled enclosure and a group of four temples scattered through the small village of Khajuraho. Parsvanath is the largest of the Jain temples and also the finest in Khajuraho, noted for the exceptional skill and precision of its construction and for the beauty of its sculptures. The Adinath Temple has fine carvings on its three bands of sculptures. The Shanti Nath Temple is a relatively modern one, built about a century ago, but it contains many components from older temples around Khajuraho.<br />
<br />
Locations: Khajuraho			
														   
											</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 11											
											:</b> Khajuraho - Varanasi										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Visit Sarnath<br />
<br />
description: After Breakfast, Transfer to the Airport for the Flight to Varanasi. Varanasi is the Religious Capital of the Hindu Faith Since the Dawn of History. Known as Kashi in the 7th Century Bc It Constitutes a Microcosm of Indian Life. No One Knows How Old It Really is - When Buddha Came Here in 550 Bc, It Was Already a Flourishing Ancient Settlement You are Met Outside the Arrival Hall and Transferred to Your Hotel. in the Afternoon, Visit Sarnath. Located 9 Km from Varanasi, It is the Centre of the Buddhist World, Just as Varanasi is that for the Hindu. It Was Here that Buddha Preached His First Sermon, Partially Recorded On One of Its Stones. Dhamek Stupa Dating Back to 500 Ad is the Largest, with Geometrical Ornaments On Its Wall. Dharmarajika Stupa Was Set Up By Emperor Ashoka to Contain the Bodily Relics of the Buddha. There is An Outstanding Museum, Worth Visiting (closed On Fridays). Later in the Evening, Take a Boat Ride to Watch the Spectacular Aarti Ceremony, When Thousands of Butter Lamps are Lit and Set Afloat On the Sacred Ganges. the Varanasi Ganga Aarti Takes Place Every Sunset At Holy Dasaswamedh Ghat Near the Kashi Vishwanath Temple. the Aarti is Performed On a Stage By a Group of Young Pundits (hindu Priests), all Draped in Saffron Colored Robes with Their Puja Plates Spread Out Before Them. It Commences with the Blowing of a Conch Shell, and Continues with the Waving of Incense Sticks in Elaborate Patterns and Circling of Large Flaming Lamps that Create a Bright Hue Against the Darkened Sky. the Movement of the Lamps, Held in the Pandits' Hands, is Tightly Synchronizing to the Rhythmic Chants of Hymns and Clang of Cymbals. the Heady Scent of Sandalwood Thickly Permeates the Air.<br />
<br />
locations: Varanasi			
														   
											</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 12											
											:</b> Varanasi - Delhi										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Explore Varanasi<br />
<br />
description: Early in the Morning, Before Sunrise, Take a Boat Ride On the Sacred Ganges River, Where Devout Hindus Can Be Seen Performing Their Daily Ablutions. the Bathing Ghats, Over 5 Km in Length, Lead Down from a Steep Bank to the River, are the Soul of the City. Here, Where the Wavelets of the Ganges Lap the Last of the Stone Steps, Can Be Seen Young Hindu Men Practicing Hatha Yoga, Older Men Seated, Eyes Closed in Medication, Brahmin Priests Under Sunshades, Waiting to Bless the Passing Pilgrims and Beggars Sitting in Serried Ranks. Manikarnika Burning Ghat is the Chief Cremation Centre of Varanasi. Corpses Lined in White Silk or Linen are Borne On Bamboo Stretchers to the Smoking Pyres, Where They are Deposited to Await Their Turn. Photography is Not Usually Permitted Here. Later, Walk Through An Inextricable Maze of Small Streets and Alleyways, Hiding in Disorderly Array No Less Than 2,000 Temples and Shrines. Domes, Pinnacles, Towers and Derelict 18th-century Palaces Dominate the Left Bank of the Ganges River. the Streets are Noisy, Colour is Rife. After Breakfast, Visit Some of the More Important Temples such as the Bharat Mata Mandir and the Durga Temple. Go Past the Beautiful Tulsi Manas Temple. Take a Walk Down Vishwanathji Ki Gali - the Ancient Alley Which is Home to Some Beautiful Temples. Here You Will Find Shops that Sell Every Conceivable Item Required in a Temple. Late Afternoon Transfer to the Airport for the Flight to Delhi. Connect with Your Onward Flight Home<br />
<br />
locations:			
														   
											</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">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</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">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.trekntourtravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Highlights of Northern India 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="162868"/>
						</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.trekntourtravel.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/packages-in-pahalgam.htm" title="Packages in Pahalgam">Pahalgam</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/packages-in-orchha.htm" title="Packages in Orchha">Orchha</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.trekntourtravel.com/packages-in-khajuraho.htm" title="Packages in Khajuraho">Khajuraho</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.trekntourtravel.com/packages-in-fatehpur-sikri.htm" title="Packages in Fatehpur Sikri">Fatehpur Sikri</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.trekntourtravel.com/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.trekntourtravel.com/packages-in-sonamarg.htm" title="Packages in Sonamarg">Sonamarg</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.trekntourtravel.com/packages-in-periyar.htm" title="Packages in Periyar">Periyar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.trekntourtravel.com/packages-in-varanasi.htm" title="Packages in Varanasi">Varanasi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.trekntourtravel.com/packages-in-kolkata.htm" title="Packages in Kolkata">Kolkata</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.trekntourtravel.com/packages-in-jabalpur.htm" title="Packages in Jabalpur">Jabalpur</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.trekntourtravel.com/packages-in-pathankot.htm" title="Packages in Pathankot">Pathankot</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.trekntourtravel.com/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</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.trekntourtravel.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</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.trekntourtravel.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</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.trekntourtravel.com/packages-in-kathgodam.htm" title="Packages in Kathgodam">Kathgodam</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.trekntourtravel.com/packages-in-gwalior.htm" title="Packages in Gwalior">Gwalior</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.trekntourtravel.com/packages-in-bikaner.htm" title="Packages in Bikaner">Bikaner</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.trekntourtravel.com/packages-in-bandhavgarh.htm" title="Packages in Bandhavgarh">Bandhavgarh</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.trekntourtravel.com/packages-in-gulmarg.htm" title="Packages in Gulmarg">Gulmarg</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.trekntourtravel.com/packages-in-karauli.htm" title="Packages in Karauli">Karauli</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.trekntourtravel.com/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</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.trekntourtravel.com/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</a> <b class="alpha50 bn small">(2)</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.trekntourtravel.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/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.trekntourtravel.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.trekntourtravel.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</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.trekntourtravel.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</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.trekntourtravel.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</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.trekntourtravel.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</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.trekntourtravel.com/group-holidays-catid.htm" title="Group Packages">Group</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.trekntourtravel.com/yoga-meditation-catid.htm" title="Yoga & Meditation Packages">Yoga & Meditation</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.trekntourtravel.com/luxury-holidays-catid.htm" title="Luxury Packages">Luxury</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.trekntourtravel.com/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</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.trekntourtravel.com/wildlife-safari-holidays-catid.htm" title="Wildlife Safari Packages">Wildlife Safari</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>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for New Delhi, Jaipur, Udaipur, Agra, Varanasi, Khajuraho, Orchha, Fatehpur Sikri</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.trekntourtravel.com/tour-packages/taj-mahal-with-kashmir-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/532995/305592.jpg"  alt="Taj Mahal With Kashmir Tour" title="Taj Mahal With Kashmir Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.trekntourtravel.com/tour-packages/taj-mahal-with-kashmir-tour.htm" title="Taj Mahal With Kashmir Tour"><h3>Taj Mahal With Kashmir 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> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Srinagar, Sonamarg, Gulmarg</p>
															<div class="mt10px small">
							<form name="pkg_193431" id="pkg_193431" method="post" action="http://www.trekntourtravel.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.trekntourtravel.com/tour-packages/taj-mahal-with-kashmir-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Taj Mahal With Kashmir 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="193431"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.trekntourtravel.com/tour-packages/romantic-rajasthan-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/532995/305751.jpg"  alt="Romantic Rajasthan Tour" title="Romantic Rajasthan Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.trekntourtravel.com/tour-packages/romantic-rajasthan-tour.htm" title="Romantic Rajasthan Tour"><h3>Romantic Rajasthan 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> :  New Delhi, Bikaner, Jaipur, Jaisalmer, J..</p>
															<div class="mt10px small">
							<form name="pkg_193469" id="pkg_193469" method="post" action="http://www.trekntourtravel.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.trekntourtravel.com/tour-packages/romantic-rajasthan-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Romantic Rajasthan 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="193469"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.trekntourtravel.com/tour-packages/5-days-golden-triangle-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/532995/305589.jpg"  alt="5 Days Golden Triangle Tour" title="5 Days Golden Triangle Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.trekntourtravel.com/tour-packages/5-days-golden-triangle-tour.htm" title="5 Days Golden Triangle Tour"><h3>5 Days Golden Triangle 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> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Jaipur, Agra</p>
															<div class="mt10px small">
							<form name="pkg_193428" id="pkg_193428" method="post" action="http://www.trekntourtravel.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.trekntourtravel.com/tour-packages/5-days-golden-triangle-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="5 Days Golden Triangle 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="193428"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.trekntourtravel.com/tour-packages/yogain-the-valleyof-kangra-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/532995/248265.jpg"  alt="Yoga in the Valley of Kangra Tour" title="Yoga in the Valley of Kangra Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.trekntourtravel.com/tour-packages/yogain-the-valleyof-kangra-tour.htm" title="Yoga in the Valley of Kangra Tour"><h3>Yoga In The Valley Of Kangra 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> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Dharamshala, Pathankot</p>
															<div class="mt10px small">
							<form name="pkg_162883" id="pkg_162883" method="post" action="http://www.trekntourtravel.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.trekntourtravel.com/tour-packages/yogain-the-valleyof-kangra-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Yoga in the Valley of Kangra 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="162883"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.trekntourtravel.com/tour-packages/north-india-motorbike-adventure-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/532995/311745.png"  alt="North India Motorbike Adventure Tour" title="North India Motorbike Adventure Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.trekntourtravel.com/tour-packages/north-india-motorbike-adventure-tour.htm" title="North India Motorbike Adventure Tour"><h3>North India Motorbike Adventure 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> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Jaipur, Kota, Karauli, Sarisk..</p>
															<div class="mt10px small">
							<form name="pkg_162014" id="pkg_162014" method="post" action="http://www.trekntourtravel.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.trekntourtravel.com/tour-packages/north-india-motorbike-adventure-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="North India Motorbike Adventure 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="162014"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.trekntourtravel.com/tour-packages/tigers-taj-mahals-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/532995/247253.jpg"  alt="Tigers & Taj Mahals Tour" title="Tigers & Taj Mahals Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.trekntourtravel.com/tour-packages/tigers-taj-mahals-tour.htm" title="Tigers & Taj Mahals Tour"><h3>Tigers & Taj Mahals 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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Bharatpur, Ranthambore, Agra,..</p>
															<div class="mt10px small">
							<form name="pkg_161974" id="pkg_161974" method="post" action="http://www.trekntourtravel.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.trekntourtravel.com/tour-packages/tigers-taj-mahals-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Tigers & Taj Mahals 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="161974"/>
							</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:74:"Book Highlights of Northern India Tour - 11 Nights / 12 Days Tour Packages";i:2;s:200:"book highlights of northern india tour - 11 nights / 12 days tour packages, forts and palaces tour packages, new delhi, jaipur, udaipur, agra, varanasi, khajuraho, orchha, fatehpur sikri tour packages";i:3;s:228:"Trek N Tour offers Highlights of Northern India Tour - 11 Nights / 12 Days tour package, budget Forts and Palaces tour packages for New Delhi, Jaipur, Udaipur, Agra, Varanasi, Khajuraho, Orchha, Fatehpur Sikri at exciting price.";i:4;s:622:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Jaipur, Udaipur, Agra, Varanasi, Khajuraho, Orchha, Fatehpur Sikri"        
		                 },
		      "description": "Sketch Itinerary :
-------------------------

new Delhi | Udaipur | Jaipur | Fatehpur Sikri | Agra | Orchha | Khajuraho | Varanasi | New 2",
		      "name": "Highlights of Northern India Tour",
		      "telephone": "+1-5145754642"
		    }
		    </script>
			";i:5;N;}