a:6:{i:0;s:25531:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Biker's Paradise - Leh Tour ( 4N-5D )</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> Biker's Paradise - Leh Tour ( 4N-5D )</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> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Leh Ladakh</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 19999 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="Biker's Paradise - Leh Tour ( 4N-5D ) - 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="193154"/>
						</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/304842.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/640271/304842.jpg"  height="150"  width="150"    alt="Biker's Paradise - Leh Tour ( 4N-5D )" title="Biker's Paradise - Leh Tour ( 4N-5D )" /></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 Leh.
										</p>
										<p class="aj">Arrival Leh, Wisdom representative will meet, greet, assist and transfer you to Hotel in Leh. Rest of the day free to acclimatize to the high altitude of Ladakh. In the evening take a walk to the local bazaar in Leh. Overnight at Hotel in Leh.</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> Sightseeing around Leh (90 Kms round trip)
										</p>
										<p class="aj">Morning after breakfast visit Hall of Fame, Spituk Monastery and Kali Mata Temple, Magnetic Hill,  Gurudwara Patthar Sahib and Confluence of Zanskar - Indus rivers. Return to Leh for lunch (on own). In the evening visit Leh Palace, Donkey Sanctuary and Shanti Stupa for beautiful sunset view. Dinner and overnight stay at the hotel in Leh.<br />
<br />
LADAKH HALL OF FAME: The Hall of Fame is a glorious museum constructed by the Indian Army. It is worth a visit for every citizen. You can see the memorabilia, eminent defense personalities with biographies, images and  weapons used during the Kargil and other key strategic battles fought in Ladakh.  And belongings of the enemy soldiers found at war site. All the martyr and the gallantry awards. Here’s something that you will be proud of our defense personnel who sacrificed themselves so that we could live in peace.<br />
<br />
SPITUK GOMPA: 8 Kms from Leh, it stands prominently on the top of hillock commanding a panoramic view of the Indus Valley for miles. Many icons of Buddha and fine Thankas are to be found in this 15th century Gompa. The Gompa also houses a collection of ancient masks, antique arms, and an awe-inspiring image of Mahakaal. The face of the Kali image is kept covered and is revealed only at the annual function at January every year.<br />
<br />
MAGNETIC HILL : Defying the Law of gravity. This place is close to the Gurdwara Shri Patthar Sahib. It has been noticed that when a vehicle is parked on neutral gear on this metallic road the vehicle slides up-hill that’s the Believe it or not of Ladakh!<br />
<br />
GURDWARA SHRI PATTHAR SAHIB: <br />
Situated 25 miles from Leh, Gurudwara Pathar Sahib stands at the place where Guru Nanak, the founder of Sikh religion and the first guru, is believed to have vanquished a demon. According to legend, during his sojourn in Ladakh, Guru Nanak was attacked by a demon. The demon threw a large boulder on the guru as he sat at the base of a hill meditating. However, the rock became soft like molten wax and failed to cause any harm to the Sikh guru. The demon was in for a surprise when he found the Sikh guru unscathed. Bristling with fury, the demon tried to crush Guru Nanak by kicking the boulder with all his might. To his surprise, the demon’s foot caused a deep impression in the boulder which had turned soft. Realizing that the man in front of him was no mortal soul, the demon underwent a transformation and stopped harassing the people. The boulder with the imprints of Guru Nanak Dev Ji and the foot of daemon still rests there. The gurudwara is maintained today by the Indian Army. It is a tradition for vehicles to stop and pay obeisance at the temple.<br />
<br />
CONFLENCE OF THE ZANSKAR & INDUS : On way to Sham Valley before Nimu village one can have this magnificent view of two rivers in wed-lock! In seasons they have different colors and flow and wildness.<br />
<br />
DONKEY SANCTUARY : The sanctuary is situated just off the road leading to Khardungla Pass. The public is encouraged to visit the sanctuary and friendly signs will direct you to the sanctuary from the center of Leh. Once at the sanctuary, the artistic surprise awaiting you is well worth the effort. It is open to the public throughout the day and donations and juicy carrots are most welcome and used exclusively for improving the lives and welfare of these wonderful animals.<br />
<br />
LEH PALACE : The Palace overlooks Leh town and is modeled on the Potala Palace in Lhasa, Tibet. The palace was built by King Sengge Namgyal in the 17th century, but was later abandoned when Dogra forces took control of Ladakh in the mid-19th century. The royal family moved to Stok Palace. Leh Palace is nine storeys high; the upper floors accommodated the royal family, the stables and store rooms were in the lower floors. The palace, a ruin, is currently being restored by the Archaeological Survey of India. The palace is open to the public and the roof provides panoramic views of Leh and the surrounding areas. The richest collection of jewellery, ornaments, Thangkas, ceremonial dresses, crowns, and centuries-old pieces of jewellery are kept here for public display. There are Chinese Thangka or sooth paintings which are more than 450 years old but  still look new. <br />
<br />
SHANTI STUPA (Japanese Peace Pagoda) : Shanti Stupa/Japanese peace pagoda is build by a Japanese religious organization headed by Head monk Nakamura with the help from the organization and local people. It is situated at a hill top in Cahngspa village providing a bird eye view of the Leh town and the surrounding mountain peaks. Architecturally it has the Japanese touch with small clean rooms on the side for meditators and the main Japanese shrine at the entrance.</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> Excursion to Pangong Lake (280 Kms round trip)
										</p>
										<p class="aj">Morning after breakfast drive to to Pangong Lake on the Indo China border. Evening back to hotel in Leh for dinner and overnight.<br />
<br />
THE PANGONG LAKE : This route takes the visitor past the picturesque villages of Shey and Thiksey, and turns off the Indus valley by the side valley of Chemrey and Sakti. The Ladakh range is crossed by the Chang-la (18,000 feet / 5,475 M) which despite its great elevation is one of the easier passes, remaining open for much of the year even in winter, apart from periods of actual snowfall. Tangse, just beyond the foot of the pass, has an ancient temple. <br />
<br />
But the main attraction of this circuit is the Pangong Lake, situated at 14,000 feet (4,267 M). A long narrow basin of inland drainage, hardly six to seven kilometers at its widest point to which foreigners are permitted, is only some seven km along the southern shore from the head of the lake, but it affords spectacular views of the mountains of the Changchenmo range to the north, their reflection shimmering in the ever-changing blues and greens of the lakes brackish water. Above Spangmik are the glacier and snow-capped peaks of the Pangong range.</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> Excursion to Khardungla Pass (78 Km round trip)
										</p>
										<p class="aj">After breakfast prepare yourself for the ultimate adventure of your life. We will drive upto the Kardungla Top to have a magnificent view of the surrounding valleys. Return to Leh. In the evening take a stroll to the market for shopping. Dinner and overnight at the hotel in Leh. <br />
<br />
khardungla pass: The road journey to Nubra valley leads through Khardung La pass (The highest Motorable road in the world) 18,390 ft. around 39 Kms. Away from Leh. There are two checkpoints on the both sides of the pass. Khardong is the first village of Nubra valley at higher altitude than Deskit and other villages.</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> Airport Departure.
										</p>
										<p class="aj">Leave on time for Leh airport to board your flight to Delhi.</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>19999</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="Biker's Paradise - Leh Tour ( 4N-5D ) - 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="193154"/>
						</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/amazing-laddakh-with-stayat-pangong-tour7n8d.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/640271/304841.jpg"  height="100"  width="100"    alt="Amazing laddakh with stay at Pangong Tour ( 7N-8D )" title="Amazing laddakh with stay at Pangong Tour ( 7N-8D )"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mokshtourandtravels.com/holiday-packages/amazing-laddakh-with-stayat-pangong-tour7n8d.htm" title="Amazing laddakh with stay at Pangong Tour ( 7N-8D )"><h3>Amazing Laddakh With Stay At Pangong Tour ..</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 39999</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Leh Ladakh</p>
															<div class="mt10px small">
							<form name="pkg_193153" id="pkg_193153" 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/amazing-laddakh-with-stayat-pangong-tour7n8d.htm" title="View Details">View Details</a> 
							<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"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="193153"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<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>
															
						</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:76:"Book Biker's Paradise - Leh Tour ( 4N-5D ) - 4 Nights / 5 Days Tour Packages";i:2;s:130:"book biker's paradise - leh tour ( 4n-5d ) - 4 nights / 5 days tour packages, hill station tour packages, leh ladakh tour packages";i:3;s:182:"Book Biker's Paradise - Leh Tour ( 4N-5D ) - 4 Nights / 5 Days tour packages from MOKSH TOUR & TRAVELS - Get attractive 4 Nights / 5 Days Hill Station  tour packages for  Leh Ladakh.";i:4;s:419:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Leh Ladakh"        
		                 },
		      "description": "",
		      "name": "Biker's Paradise - Leh Tour ( 4N-5D )",
		      "telephone": "+91-9302255333"
		    }
		    </script>
			";i:5;N;}