a:6:{i:0;s:52037:"				<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>Mountains and Mystics 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>Mountains and Mystics 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/247258.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_18/532995/247258.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/532995/247258.jpg"  alt="Mountains and Mystics Tour" title="Mountains and Mystics 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">Mountains and Mystics Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						11 Nights / 12 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Shimla, Dharamshala, Amritsar, Haridwar, Rishikesh</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="Mountains and Mystics 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="161979"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Sketch Itinerary :<br />
<br />
New Delhi - Shimla - Dharamsala - Amritsar - Haridwar - Rishikesh - Haridwar - New Delhi<br />
<br />
Customization :<br />
<br />
All tours are Tailor -made, take help of our tour specialist to plan. We will carefully design your trip into a detailed itinerary complete with country facts, maps, a price and accommodation and time in your hand and share your budget as per your choice. We'll keep perfecting your itinerary until you're completely happy and ready to book, at which point you pay your initial deposit.<br />
<br />
Witness the enchanting and hypnotising retuals of 'Sacred India'</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. He will escort you to your vehicle and assist 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 flavor. 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 Humayuns 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 - Shimla										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Ride a toy Train<br />
<br />
Description: Early morning transfer to New Delhi railway station to board the train to Shimla Delhi-Kalka Kalka Shatabdi dep: 07:40 hrs arr: 11:45 hrs Kalka-Shimla Himalayan Queen dep: 12:10 hrs arr: 17:20 hrs The Toy Train, a narrow-gauge railway which links Kalka with Simla, was an important rail-link built in 1924. Its "toy trains" still ply between the two stations, passing through 105 tunnels and beautiful railroad stations. Halfway through the journey, after Solan, the lights of Simla glow in the distance, like glimmering jewels studding the dark green of the mountains. At every stop on the journey you will see smiling faces giving a warm welcome. You are met on arrival at Shimla railway station and transferred to the hotel. Spread across 12 km along a ridge that overlooks terraced hillsides and cultivation, Shimla is magnificently robed in dense forests of oak, pine, fir and rhododendron. In the summer the private gardens abound in flowers in full bloom. Originally a small village with a temple to Shamla Devi as its main attraction, the British developed the settlement for its bracing climate and scenic location to make it the summer capital of India for many years.<br />
<br />
Locations: Shimla			
														   
											</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 Shimla										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Explore Shimla<br />
<br />
Description: Breakfast at the hotel Spend the day exploring Shimla. Places of interest include The Mall, Shimla's principal promenade which terminates at Scandal Point, from where the views of the Himalayas are unmatched; the Viceregal Lodge, the erstwhile viceroy's residence is today the Institute of Advanced Studies. The Shimla State Museum houses numerous art objects from around India including a priceless collection of paintings. The hills surrounding the town offer superb views - a brisk walk up Jakhoo Hill leads to a temple dedicated to Hanuman. Glen Forest, by a stream's edge, is a delightful picnic spot in a dense forest clearing. Summer Hill has several forest trails for easy walking.<br />
<br />
Locations: Shimla			
														   
											</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> Shimla - Dharamshala										
											
											<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: Breakfast at the hotel In the morning depart on the long but scenic drive through lush forests and quaint settlements to Dharamshala (205km/7 hrs). On arrival, check in at the hotel,<br />
<br />
Locations: Dharamsala			
														   
											</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 Dharamsala										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Explore Dharamsala<br />
<br />
Description: Breakfast at the hotel Spend the day exploring Dharamsala, the principal township of the region, magnificently set amongst pine forests with the backdrop of the Dhauladhar range. Lower Dharamsala, with its bazaars and civic centres is the commercial heart. Some 450 m higher up is Upper Dharamsala, where McLeod Ganj and Forsyth Ganj are located, each with their individual flavour and lifestyle. McLeod Ganj is the settlement of Tibetan Buddhists who sought refuge here in 1960 following their exile from Tibet. The Buddha Temple is situated opposite the residence of the Dalai Lama and around it are located a monastery and a nursery. A few kilometers' walk away is the Tibetan Institute of Performing Arts which organizes a ten-day folk opera commencing the second Saturday of April. Other places of interest include St John's Church, located in a forest grove midway between Forsyth Ganj and McLeod Ganj. Visitors here can see a memorial dedicated to Lord Elgin, one of the Viceroys of India who died in Dharamsala and was buried here in 1863. The church has some exquisite stained glass windows. The War Memorial is a beautifully designed monument, raised in memory of those who laid down their lives for their motherland.<br />
<br />
Locations: Dharamsala			
														   
											</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> Dharamsala - Amritsar										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Visit the Golden Temple<br />
<br />
Description: Breakfast at the hotel. In the morning depart on the drive to Amritsar (190 km/4 h). On arrival in Amritsar, check in at the hotel. Amritsar, the "Pool of Nectar", is named after the sacred pool in the Golden Temple, the holiest of Sikh sites. In the evening, after dinner, you could visit the Golden Temple at the time for evening prayers. Devotees come to sit and listen in rapt attention to the evening recitations, and to enjoy the beauty of the verses and the ragas in which these prayers are rendered. The evening, prayers end with the Rahras, the Arti and the shabad kirtan, concluding with the ardas at 21:45 hrs. When the prayers end, the Siri Guru Granth Sahib is reverently closed, wrapped in fresh layers of rich silk and muslin, and ceremoniously carried to the palki waiting outside, which is shouldered by devout Sikhs and taken to the Kotha Sahib where the Siri Guru Granth Sahib will rest for the night. The massive silver and rosewood doors of the Darshani Deorhi are shut and a group of volunteers inside the Harimandir starts the ritual cleansing of the shrine with milk and water in preparation for the next day.<br />
<br />
Locations: Amritsar			
														   
											</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 Amritsar										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Explore Amritsar<br />
<br />
Description: Breakfast at the hotel. In the morning, visit the Golden Temple, the holiest of Sikh sites. The Harmandir (Golden Temple) is the spiritual nerve centre of the Sikh faith. The Akal Takht is the seat of the Sikh's religious committee. Guru Gobind Singh's shrine is dedicated to the 10th and last guru of the Sikhs. You can explore and appreciate the spirituality of the place at your own pace. Besides its physical beauty, the strong and tranquil spiritual atmosphere is soul-stirring without being overwhelming. The constant recitation of the holy book brings a certain sense of peace to the individual. Walk through the temple complex and soak in the atmosphere. You will also have an opportunity to meet some Sikh religious leaders who would introduce you to the basic tenets of Sikhism. Of special mention is the community kitchen, which feeds over 5,000 people at a time, throughout the day. Langar is the term used in the Sikh religion or in Punjab in general for common kitchen/canteen. where food is served in a Gurudwara to all the visitors for free. At the langar, only vegetarian food is served, to ensure that all people, regardless of their dietary restrictions, can eat as equals. Langar is open to Sikhs and non-Sikhs alike. It was designed to uphold the principle of equality between all people regardless of religion, caste, colour, creed, age, gender or social status, a revolutionary concept in the caste-ordered society of 16th-century India where Sikhism began. In addition to the ideals of equality, the tradition of langar expresses the ethics of sharing, community, inclusiveness and oneness of all humankind. "...the Light of God is in all hearts." On the way back, visit Jallianwala Bagh, noted for the most notorious massacre under British rule. The Jallianwala Bagh is located about a quarter of a mile from the Golden Temple. It is the Memorial which commemorates the sacrifices of hundreds of men, women and children who were victims of ruthless firing of the British forces. The incident took place on April 13, 1919, when thousands of people had gathered in Jallianwala Bagh to voice their feelings against the repressive policies of the British Government.<br />
<br />
Locations: Amritsar			
														   
											</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> Amritsar - Haridwar - Rishikesh										
											
											<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: Early morning transfer to the railway station to board the train to Haridwar, located at the foot of the Shivalik hills on the banks of the holy Ganga. Amritsar-Haridwar Jan Shatabdi dep: 06:55 hrs arr: 14:00 hrs You are met on arrival at Haridwar railway station and transferred to Rishikesh located north of Haridwar on the right bank of the Ganga, surrounded on three sides by the Himalayan ranges. On arrival, check in at one of the yoga ashrams on the banks of the holy river.<br />
<br />
Locations: Rishikesh			
														   
											</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 Rishikesh										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Explore Rishikesh<br />
<br />
Description: The day begins with an early morning yoga session. After breakfast, spend the day exploring Rishikesh. Legend has it that God revealed himself to Raibhaya Rishi as Hrishikesh, after long penance and this sacred spot was henceforth known as such. Rishikesh is the starting point of several pilgrimages to the holy shrines of Yamunotri, Gangotri, Kedarnath and Badrinath. A renowned centre of Yoga discipline and learning, Rishikesh is dotted with shrines and ashrams. Some 5 km away is the Lakshman Jhoola, suspension bridge. The Lakshman Temple, dedicated to the brother of Lord Ram, where he is believed to have performed penance, is nearby. Other interesting temples include the Parmarth temple with many images from Hindu Mythology. In the evening, witness the beautiful aarti (religious ceremony) at Triveni Ghat, where three streams of the Ganga, Yamuna and Saraswati are believed to be flowing together underground. Prayers to goddess Ganga are invoked, followed by the lighting of butter lamps which are set afloat on the river. Triveni Ghat is also important as the sacred place where Pinda Shradha is performed, a ceremony where food is offered to the departed soul.<br />
<br />
Locations: Rishikesh			
														   
											</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> In Rishikesh										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Yoga<br />
<br />
Description: The day begins with an early morning yoga session. The rest of the day is at leisure to explore the temples and ashrams<br />
<br />
Locations: Rishikesh			
														   
											</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> Rishikesh - Haridwar - Delhi - Depart										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Highlights: Explore Rishikesh<br />
<br />
Description: Another yoga session in the morning is followed by breakfast. In the afternoon, drive back to Haridwar. Known as Mayapuri in the Puranas, it is mentioned in the memories of the Chinese traveller Huien TSang. Legend has it that the ancestors of Raja Bharigarh were burnt at this holy spot by the curse of Sage Kapila. They were redeemed by the Raja's penance which brought the Ganga down from Lord Shiva's locks. Millions of devotees flock to this temple city annually to redeem themselves. The most sacred of the bathing ghats lining the river is Har-ki-Pauri. This is the venue of the Kumbha and Ardh Kumbha Melas, held every 12 and 6 years respectively, when hundreds of thousands of Hindu pilgrims, priests and sadhus gather. The Daksha Mahadev Temple is the most important temple. According to legend, Daksha, the father of Sati (Shiva's first wife) performed a sacrifice here but neglected to invite Shiva. Sati was so infuriated at this insult to her husband that she managed to spontaneously self-immolate! Evening transfer to the railway station to board the train to Delhi Haridwar-New Delhi Dehradun Shatabdi dep: 18:13 hrs arr: 22:45 hrs You are met on arrival and transferred to the airport for your onward destination<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="Mountains and Mystics 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="161979"/>
						</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-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-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-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-khajuraho.htm" title="Packages in Khajuraho">Khajuraho</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-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 "><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-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</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-pahalgam.htm" title="Packages in Pahalgam">Pahalgam</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-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-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="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.trekntourtravel.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</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-bharatpur.htm" title="Packages in Bharatpur">Bharatpur</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-mandawa.htm" title="Packages in Mandawa">Mandawa</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-kargil.htm" title="Packages in Kargil">Kargil</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-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="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, Shimla, Dharamshala, Amritsar, Haridwar, Rishikesh</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/highlightsof-northern-india-tour.htm'">
															<div class="picBg ac vam lh0"><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="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.trekntourtravel.com/tour-packages/highlightsof-northern-india-tour.htm" title="Highlights of Northern India Tour"><h3>Highlights Of Northern India 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, Jaipur, Udaipur, Agra, Varana..</p>
															<div class="mt10px small">
							<form name="pkg_162868" id="pkg_162868" 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/highlightsof-northern-india-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Highlights of Northern India 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="162868"/>
							</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>
															
						</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:67:"Book Mountains and Mystics Tour - 11 Nights / 12 Days Tour Packages";i:2;s:172:"book mountains and mystics tour - 11 nights / 12 days tour packages, hill station tour packages, new delhi, shimla, dharamshala, amritsar, haridwar, rishikesh tour packages";i:3;s:200:"Trek N Tour offers Mountains and Mystics Tour - 11 Nights / 12 Days tour package, budget Hill Station tour packages for New Delhi, Shimla, Dharamshala, Amritsar, Haridwar, Rishikesh at exciting price.";i:4;s:1045:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Shimla, Dharamshala, Amritsar, Haridwar, Rishikesh"        
		                 },
		      "description": "Sketch Itinerary :

New Delhi - Shimla - Dharamsala - Amritsar - Haridwar - Rishikesh - Haridwar - New Delhi

Customization :

All tours are Tailor -made, take help of our tour specialist to plan. We will carefully design your trip into a detailed itinerary complete with country facts, maps, a price and accommodation and time in your hand and share your budget as per your choice. We'll keep perfecting your itinerary until you're completely happy and ready to book, at which point you pay your initial deposit.

Witness the enchanting and hypnotising retuals of 'Sacred India'",
		      "name": "Mountains and Mystics Tour",
		      "telephone": "+1-5145754642"
		    }
		    </script>
			";i:5;N;}