a:6:{i:0;s:27346:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Amazing Laddakh With Stay At Pangong Tour ( 7N-8D )</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.mokshtourandtravels.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.mokshtourandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Amazing Laddakh With Stay At Pangong Tour ( 7N-8D )</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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-->				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					
											<p class="mb5px"><b>Duration :</b> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Leh Ladakh</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 39999 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.mokshtourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Amazing laddakh with stay at Pangong Tour ( 7N-8D ) - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="193153"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_22/640271/304841.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/640271/304841.jpg"  height="150"  width="150"    alt="Amazing laddakh with stay at Pangong Tour ( 7N-8D )" title="Amazing laddakh with stay at Pangong Tour ( 7N-8D )" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="headHr">
					            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
					            </div>
					            
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 1:</b> Arrival in Leh
										</p>
										<p class="aj">If you are planning to have an anti-altitude pill before travel such as Diamox, then we strongly recommend consulting an experienced doctor before you have it.<br />
In the morning, board your flight for Leh. Arrive at Leh.<br />
LEH: Leh, Ladakh is the largest province within the North-Indian state of Jammu and Kashmir, covering approximately 60,000 square miles (100,000 sq. km). It is surrounded and bisected by some of the highest mountain ranges in the world. Running in a generally northwest to southeast direction through Ladakh, the great Himalayan Range separates the valley of Kashmir from Ladakh. <br />
You will be met upon arrival by a MakeMyTrip representative who will transfer you to your hotel in Leh. Upon arrival, proceed for check-in at your hotel.<br />
Remainder of the day will be for rest, to acclimatize.<br />
Since you are reaching an altitude of 4000 mtrs approximately from 200 mtrs in just one hour’s time, you may be excited and would want to explore everything on your very first day. However, it is your body which needs to get acclimatized to such height and climate. We sincerely suggest that you rest on the first day for body acclimatization.<br />
Dinner and overnight stay at the hotel.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 2:</b> Leh | Monastery Tour
										</p>
										<p class="aj">In the morning, after breakfast, drive to Hemis monastery.<br />
Hemis Monastery: The Hemis monastery located 40 kms from Leh is the wealthiest, best-known and biggest Gompa of Ladakh. Its popularity stems from the major annual festival held here in summer in honor of Guru Padma Sambhava’s birth anniversary. Within the monastery there's to be seen a copper-gilt statue of the Lord Buddha, various stupas made of gold and silver, sacred thangkas and many objects. The monastery, said to exist even before the 11th century, was re-established by the 1st incarnation of Stagsang Raspa Nawang Gyatso in 1630. Belonging to the Drukpa sect, this Tibetan monastery has a very colourful and attractive architecture.<br />
Afterwards drive to Thiksey Monastery for a visit.<br />
Thiksey Monastery: The Thiksey Monastery is situated at a distance of approximately 18 km from the town of Leh. One of the most beautiful monasteries of Ladakh, it belongs to the Gelukpa Order of Buddhism. Sherab Zangpo of Stod got the Thiksey Monastery built for the first time, at Stakmo. However, later Spon Paldan Sherab, the nephew of Sherab Zangpo, reconstructed the monastery in the<br />
year 1430 AD. The new monastery was situated on a hilltop, to the north of Indus River.  It has a 15 meter high statue of the Maitreya Budhha, the largest such statue in Ladakh.<br />
After these visits return to Leh and you will be dropped at Leh Market / hotel for Lunch (on direct payment basis).<br />
Post lunch you will leave for the sightseeing of Shanti Stupa. <br />
Shanti Stupa: Shanti Stupa of Ladakh is located on the hilltop at Changspa. It can be reached quite easily from the Fort Road. The Stupa was constructed by a Japanese Buddhist or</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 3:</b> Leh to Nubra Valley Via Khardungla Pass: 140Km / 5 -6 Hours
										</p>
										<p class="aj">Early morning proceed to Nubra Valley via the World’s Highest Motorable road (5602 Mts) Khardungla pass.  <br />
Khardung la Pass (18,380ft above sea level): It is not very often that one gets to drive on a road at an altitude of 18,380 feet. That is where Khardungla Pass, meaning the ‘Pass of Lower Castle,’ is located on the way from Leh to the Nubra Valley in Ladakh. It is the highest motorable road in the world as signs put up by the Border Roads Organization proudly proclaim.<br />
Arrive Nubra Valley and proceed for a visit to the White Sand Dunes at Hunder. You can also enjoy a camel ride here (Camel ride on direct payment basis).<br />
Nubra Valley: Popularly called the orchard of Ladakh, Nubra valley offers a graceful view of yellow and pink wild roses in summer and a carpet of wild lavender in the post-monsoon season. You will definitely be overwhelmed to see the Bactrian Camels (Shaggy double hump Camel) around sand dunes.<br />
Thereafter, check in at Swiss comfortable Camp or Hotel.<br />
Evening at leisure. <br />
Dinner & overnight stay at the camp or hotel.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 4:</b> Nubra Vally to Leh Via Khardungla Pass: 140 Kms / 5 - 6 Hours
										</p>
										<p class="aj">Morning after Breakfast proceed for Diskit Monastery.<br />
Diskit Monastery: One of the oldest temples of this area, the temple has a huge idol of Tsong-kha-pa, crowned with a Gelugpa yellow hat. The Diskit Gompa dates back to the 14th century and owes its inception to Changzem Tserab Zangpo, a disciple of Tsong-kha-pa.<br />
Diskit Gompa has quite an interesting legend attached to it. It is believed that a Mongol demon once lived here and was considered to be a sworn enemy of Buddhism. He was annihilated near the monastery. However, even after his death, his body kept coming back to the monastery again and again. It is said that even today the wrinkled head and hand of the demon lie inside a temple of the monastery, which is filled with fierce Gods and Goddesses.<br />
Post the Diskit Monastery, proceed for backward journey to Leh, once again driving via Khardungla pass the World Highest Motorable road.<br />
Evening explore Leh bazaar for souvenir and some shopping on your own.<br />
Dinner & overnight stay at the hotel.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 5:</b> Leh - Pangong Lake (approx. 140kms one way)
										</p>
										<p class="aj">Morning after breakfast drive to to Pangong Lake on the Indo China border. Enroute you will cross Changla Pass, the third highest motorable road in the world.<br />
Pangong Lake: The picturesque lake is one of the major draws of the Leh-Ladakh valley. a location of several film shootings and known for its pristine waters surrounded by awe-inspiring mountains, Pangong Lake is a prime tourist attraction. The long and narrow lake lies in the neighbourhood of the famous Chushul Mountains. The mirror-calm water is cold, clear and extremely salty. The lake is a breeding ground for a variety of birds.<br />
In the evening check in at your camps in Pangong<br />
Dinner and overnight stay at the hotel.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 6:</b> Pangong Lake to Leh (approx. 140kms one way)
										</p>
										<p class="aj">In the morning have breakfast at your camps in Pangong. Thereafter, proceed for your journey back to Leh.<br />
Upon your arrival in Leh, you may enjoy the evening at leisure.<br />
Dinner and overnight stay at the hotel.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 7:</b> Sham Valley Tour
										</p>
										<p class="aj">In the morning, after breakfast, drive to Sangam (Confluence). En route visit Magnetic Hill and Gurudwara Patthar Sahib. Visit Confluence of Zanskar and Indus River.<br />
The Sangam (Confluence): Confluence of the Indus and Zanskar Rivers lies in Ladakh at Nimu. The Indus runs through Ladakh all along by your side serving as a constant companion and you feel a sense of respect for this ifeline of the people of Ladakh, especially since Ladakh experiences rainfall of only 2 to 3 inches throughout the year. Both Indus and Zanskar Rivers merge with each other as if they had flown all along just for that purpose. From this point on, beyond this Confluence of the two, the waters are regarded as the Indus River.<br />
Magnetic Hill: Can anyone ever imagine the movement of a vehicle up a steep mountain with its engines off? Reach Magnetic Hill to experience this phenomenon which sounds unbelievable.<br />
Gurudwara Pathhar Sahib: Gurudwara Pathar Sahib is a beautiful Gurudwara constructed in the memory of Guru Nanak, about 25 miles away from Leh, on the Leh-Kargil road, 12000 ft above sea level. The Gurudwara was built in 1517 to commemorate the visit to the Ladakh region of Guru Nanak Dev, the founder Guru of the Sikh faith.<br />
On your way back, visit Ladakh Hall of fame.<br />
Hall of Fame: Hall of Fame in Leh is a must visit for every individual of India. This is constructed by the Indian Army. You will find memorabilia, eminent defence personalities’ biographies, images and weapons used during Kargil war and belongings of enemy soldiers found at war site.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 8:</b> Departure
										</p>
										<p class="aj">Leave on time for Leh airport.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</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</li><li>
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">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>39999</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </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.</li><li>
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.mokshtourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Amazing laddakh with stay at Pangong Tour ( 7N-8D ) - 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="193153"/>
						</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.mokshtourandtravels.com/srinagar-tour-packages.htm" title="Srinagar Tour Packages">Srinagar</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mokshtourandtravels.com/gulmarg-tour-packages.htm" title="Gulmarg Tour Packages">Gulmarg</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mokshtourandtravels.com/leh-ladakh-tour-packages.htm" title="Leh Ladakh Tour Packages">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.mokshtourandtravels.com/pahalgam-tour-packages.htm" title="Pahalgam Tour Packages">Pahalgam</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mokshtourandtravels.com/kargil-tour-packages.htm" title="Kargil Tour Packages">Kargil</a> <b class="alpha50 bn small">(1)</b></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.mokshtourandtravels.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mokshtourandtravels.com/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mokshtourandtravels.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mokshtourandtravels.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mokshtourandtravels.com/motor-bike-holidays-catid.htm" title="Motor Bike Packages">Motor Bike</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mokshtourandtravels.com/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(1)</b></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 Leh Ladakh</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.mokshtourandtravels.com/holiday-packages/laddakha-life-time-experince-tour6n7d.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/640271/304857.jpg"  height="100"  width="100"    alt="Laddakh -  A Life Time Experince Tour  ( 6N-7D )" title="Laddakh -  A Life Time Experince Tour  ( 6N-7D )"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mokshtourandtravels.com/holiday-packages/laddakha-life-time-experince-tour6n7d.htm" title="Laddakh -  A Life Time Experince Tour  ( 6N-7D )"><h3>Laddakh -  A Life Time Experince Tour  ( 6..</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 29999</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Leh Ladakh</p>
															<div class="mt10px small">
							<form name="pkg_193156" id="pkg_193156" method="post" action="http://www.mokshtourandtravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mokshtourandtravels.com/holiday-packages/laddakha-life-time-experince-tour6n7d.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Laddakh -  A Life Time Experince Tour  ( 6N-7D ) - 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="193156"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.mokshtourandtravels.com/holiday-packages/laddakh-via-srinagara-fantastic-trip8n9d.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/640271/304859.jpg"  height="100"  width="100"    alt="Laddakh via Srinagar : A Fantastic Trip (8N-9D)" title="Laddakh via Srinagar : A Fantastic Trip (8N-9D)"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mokshtourandtravels.com/holiday-packages/laddakh-via-srinagara-fantastic-trip8n9d.htm" title="Laddakh via Srinagar : A Fantastic Trip (8N-9D)"><h3>Laddakh Via Srinagar : A Fantastic Trip (8..</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 34999</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Srinagar, Leh Ladakh, Kargil</p>
															<div class="mt10px small">
							<form name="pkg_193158" id="pkg_193158" method="post" action="http://www.mokshtourandtravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mokshtourandtravels.com/holiday-packages/laddakh-via-srinagara-fantastic-trip8n9d.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Laddakh via Srinagar : A Fantastic Trip (8N-9D) - 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="193158"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.mokshtourandtravels.com/holiday-packages/bikers-paradise-leh-tour4n5d.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/640271/304842.jpg"  height="100"  width="100"    alt="Biker's Paradise - Leh Tour ( 4N-5D )" title="Biker's Paradise - Leh Tour ( 4N-5D )"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mokshtourandtravels.com/holiday-packages/bikers-paradise-leh-tour4n5d.htm" title="Biker's Paradise - Leh Tour ( 4N-5D )"><h3>Biker's Paradise - Leh Tour ( 4n-5d )</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 19999</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Leh Ladakh</p>
															<div class="mt10px small">
							<form name="pkg_193154" id="pkg_193154" method="post" action="http://www.mokshtourandtravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mokshtourandtravels.com/holiday-packages/bikers-paradise-leh-tour4n5d.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Biker's Paradise - Leh Tour ( 4N-5D ) - 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="193154"/>
							</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:90:"Book Amazing laddakh with stay at Pangong Tour ( 7N-8D ) - 7 Nights / 8 Days Tour Packages";i:2;s:144:"book amazing laddakh with stay at pangong tour ( 7n-8d ) - 7 nights / 8 days tour packages, hill station tour packages, leh ladakh tour packages";i:3;s:181:"MOKSH TOUR & TRAVELS offers Amazing laddakh with stay at Pangong Tour ( 7N-8D ) - 7 Nights / 8 Days tour package, budget Hill Station tour packages for Leh Ladakh at exciting price.";i:4;s:433:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Leh Ladakh"        
		                 },
		      "description": "",
		      "name": "Amazing laddakh with stay at Pangong Tour ( 7N-8D )",
		      "telephone": "+91-9302255333"
		    }
		    </script>
			";i:5;N;}