a:6:{i:0;s:38420:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Markha Valley Trek Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.thecrazymountaineers.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.thecrazymountaineers.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Markha Valley Trek Tour</p>
						</div>
						</div>
						</section>
										<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 18499 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.thecrazymountaineers.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Markha Valley Trek Tour - 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="192341"/>
						</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/647857/303390.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/647857/303390.jpg"  width="150" height="99"    alt="Markha Valley Trek Tour" title="Markha Valley Trek Tour" /></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="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								No doubt Kashmir is literally the heaven on earth, therefore, is the most sought tourist place. Quite less are aware of the dryer and barren side of this heavenly place. The most desired adventure hub Leh, popular for its raw and arid thrills, is a gateway to the burned out trails. With Markha Valley trek one gets to rediscover the parched region of mighty Kashmir. The mysterious ride of 8 days, exhibiting lush green to yellow barren landscapes, passing alongside Indus river will be bourne in mind for the lifetime.<br />
Markha Valley is the largest valley of the region. Of course, Leh is the start point of this trek, which is an added advantage to explore the Buddhists monuments in Leh. You will be astonished to traverse through the tiny hamlets as you gain altitude. Surprisingly, these villages host cafes or tea houses serving rejuvenating hot drinks when you are tired from the strenuous hike. One after another, Rumbak, Yurutse, Skui, Markha, Hankar, Nimaling settlements will revitalize you. Not only that most of the villages have preserved monasteries, ruined forts and temples. Amongst them, the Tacha monastery is an eye and heart catcher that lies between the mountains.<br />
Though the trek goes through dry regions the Indus, Markha and numerous streams will come your way. Since the trail goes through Hemis National Park, all its treasured fauna, mountain sheep, arghali, rabbits, snow leopards, can be spotted at every camping site. Ganda La and Kongmaru La are the two cardinal passes to be crossed en route. These passes are known for the panoramic views of infinite Karakoram and Ladakh ranges. The stunning sights of K2 mountain, Stok Kangri and Kang Yatse peaks are fulfilling and the motivation of this trek. On clear days one can get to see distant Tibet region. Just a small trek ahead of Markha Valley and you will reach the base of Kang Yatse peaks.<br />
The trail is of easy to moderate grade with 1-2 steep sections, is recommended to all age groups. This is not one of those typical treks that retrace the same path while descending. Therefore, you get a wider and non-repetitive insight into Ladakhi Himalayas. Each day reveals mesmerizing views concealed behind the mountains.								</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">Markha Valley trek begins from Leh. Arrive in Leh through flight or train. Take it slowly once you arrive in Leh. Since it is at the hazardous height of 11,000 ft direct landing to this height may trigger AMS. Make sure you rest well and not strain your body during your stay in the hotel. Leh has gained popularity as the adventure capital of India. It is quite famous amongst wanderers, which you can evidently see as you roam here and there.<br />
Cafes are loaded here which are hanging out places for adventurers. There is a good network connection in Leh and has ATMs. Leh is the good option to fill up your things to carry list if you have forgotten any item. Despite cafes in close vicinity try to stay away from alcohol and avoid smoking. Apart from that, Leh is also known for monasteries, palaces and temples. Make sure to visit them as you enjoy your small treat 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> Acclimatisation at Leh
										</p>
										<p class="aj">This is an extra day added in the itinerary to help you get acclimatized better. Therefore utilize this day and try to stay outdoors. Hike up to the Shey Palace, Thiksey Monastery, Thiksey Gompa to experience the Buddhist culture. Thiksey Gompa is the largest in central Ladakh, located on a hill. Avoid gaining height by hiking to nearby passes or valley. This is only to avoid stressing your body, as it may hinder the process of acclimatization.<br />
Additionally, you can interact with the locals and fellow travellers to gain some knowledge about the adjacent areas. Roam in the Leh city and the Leh Bazaar. You can collect souvenirs from the variety of shops. You must spend the sunset at the Shanti Stupa, which is known for its dazzling lights in the evening. Say goodbye to the wonderful Leh and rest in your 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 3:</b> Drive Leh to Chilling and trek to Skiu
										</p>
										<p class="aj">Get set as your real trek journey commences. You will be riding along the skillfully paved roadways crossing marvellous landscapes. Throughout the road, you will encounter military camps decorated with colourful big rocks around the camps. Do not miss GurudwaraPathar Sahib on the right and Magnet Hill on the left as you move ahead. The Stok Range remains on the right until it vanishes slowly when you reach Hemis National Park. You will be pleasantly surprised once you reach Sangam. Indus and Zanskar rivers, both bottle green, yet so unique, form the most spectacular confluence. This point is also famous as starting end for rafting. Take a diversion here towards Chilling. The surrounding view henceforth changes magically. The open terrain beside the road enters into the closed valley. Valley having stunning purple, black, grey shades of the mountains. Juniper and tall alpine trees will border the route as you cross the Zanskarriver over green iron bridges. Take a deep breath once you get down at Chilling, as the walking will begin in a few minutes.<br />
The trek ahead incepts with a steep ascent going through Zingchen gorge. Amidst you will also cross the river on a trolley at Kaya-Do place. The trail many times comes across the river. Skiu will mark the first camping in the tents. It is located at the confluence of rivers Shgri Nala and Markha. Skui village is largely divided into two sections, upper and lower village. Lower Skui has 12 houses quite close to each other. A small trudge, old monastery and ruins of a palace, separate it from upper Skui. There are small white stupas and mani stones laid towards upper Skui. Markhariver lies on the right of the village.<br />
Most of the places here offer homestays. Relax after a mini-trek, while looking forward to the upcoming trek.</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> Skui to Sara
										</p>
										<p class="aj">Start fresh for the actual first trekking day. Be vigilant about birds and animals. Markha valley harbours enormous wildlife. Magpie bird will be visible right after you step out of the house. The trail is quite evident and well paved intermittently. The Markhariver will remain escorting on the right, which incepts from Kang Yatse peaks. In an hour a hut of Women Cafe can be spotted, take a small break here and keep walking. The trail is enclosed with the valley that goes through sparse forest cover. Another hours trudge and the first wooden bridge comes at Zanpa Yoakma.<br />
The bridge marks halfway of the days trek to Sara. Despite that, try not to relax here, because in merely 25 minutes another coffee shop at Hamourja is waiting for you to rejuvenate. Look out for black sheep, deer, mountain goats on these banks. Keep walking straight till Nagding village for another 40 minutes. Right in front of the houses spot meditation caves at a height on the valley walls. These caves are believed to be having paintings of the 20th century. The banks of the Markha river gets wider and you can find yourself stepping in the powdered sand. Enjoy the feeling of Himalayan sands.<br />
After about 1 hour from Nagding village, a big entrance of Sara village appears. The entrance is decorated with skeletons of wild animals. Unlike Skui, Sara seems like an open area. The homestay has a traditional round seating outside, giving it a unique look. You can have your lunch and then just roam around to get familiar with nature. Fill in your stomach with hot drinks and a delicious dinner, then get into a warm bed at the homestay.</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> Sara to Markha
										</p>
										<p class="aj">Start early today from Sara, carry along packed lunch. The trail is somewhat similar to the previous day. Despite that, you will always find something new in this mysterious valley. The first tea houses arrive immediately after 30 minutes at Chalak village. The village has houses placed on small hills with stone protection shelter for domestic animals at the base. Visit any of the villagers they will greet you with Namkin Chai and biscuits. Re-energize by affectionate talks and hot drinks. The destination is 2 hours away from here.<br />
Every small distance you can find Mani stones laid around white stupas. These stones are engraved with Buddhist prayers, some of them in the Sanskrit language too. Be humble in front of these historic symbols. Do not dare to touch these stones. The villagers believe these stones are protected by some powers, any harm to them will cause harm to that person. Do not forget to notice ruins of the palace at every turn in the valley. This can be figured out by flags at a height on small temples. These palaces were considered as viewpoints and signalling points during the reign of the Kings. Markha village is considered as the largest village, you can find numerous houses, scattered away. You will have to walk in the running stream of Markha river to reach to the Markha village. The cold water will bring back all the energy. In 20 minutes, you can see the hamlet. Find your homestay and pack up for the day.</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> Markha to Hankar
										</p>
										<p class="aj">Take the most advantage of the innocence of the salient villages because today will probably be the last habitats on the route. The trail is beautiful and refreshing when it merges with flowing river and streams. These water bodies can also be crossed over a bridge. Umlung village is a small village and will serve the last teahouse of the trek with yet another serene monastery to your sight.<br />
After Umlung you can get the first sight of Mt. Kang Yatse(6400m). It seems as if the peak is calling you! Follow its voice, again overcome the river several times and enter the Hankar village. Try to spot the magically placed Tacha monastery on a mountain. It is the last hamlet of the trek and your refuge place.</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> Hankar to Nimaling
										</p>
										<p class="aj">Get all enthusiastic, after yesterday tough trek, today will be an easy and short trek. Start walking and in 1 km you will find diversions or paths separating out. The other route goes to Rupshu and Zanskar. Keep walking on the left path until a stone bridge. This marks that you are on right trail. Henceforth, you can see many diversions, please be careful and follow the trek leader/guide. In the next 2 hours, the pastures of Thochuntse becomes visible. There camping sites and tea houses here.<br />
Try to engulf yourself in nature and move slowly just as you focus on the Kang Yatse peak. The peak seems to grow bigger and bigger. Surprisingly, tranquil twin lakes also come along the path. The trails enter into a huge grassland after a few fights crossing streams of the high altitudes. Sheep, mountain goats, sometimes rabbits are found grazing at Nimling. It is a pleasant camping place. It is the high point you will attain on this trek. There are instances of snowfall at this site hence we prepared for that. Above all that, just try to merge into the high world and sleep in peace.</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> Nimaling to Chokdo via Kongmaru La drive to Leh
										</p>
										<p class="aj">This day will be nostalgic and exciting, as this is the last day of the trek landing to the highest pass of the trek. Also, this day will be filled with surprises. After a strenuous climb of 2 hours to Kongmaru La pass, you will be pleasantly welcomed by the Karakoram Range Mountains and the excellent array of peaks. Hold your breath for the mind-blowing sight of the huge K2 Mountain, the second highest peak in the world. There are prayer flags moving along the wind. To your surprise, there is a good network connection from the pass.<br />
The trail then gradually descends, coinciding with villages to say goodbye. The immediate trail from pass has steep and narrow descend which later opens to Chikirmo village. Throughout the route, you can get indulged into the scenery of Indus valley and Ladakh range. After a gradual climb down and rocky terrain, you will reach Chokdo. This this the last stop of the entire trek, that also has many homestays. Get into the pickup vehicles that will take you to Leh.<br />
Take a sigh of relief in this village, as your next stop will be the last stop, Leh. The further road is descending that shows monastery and Hemis Gompa. Fill them in your eyes, heart and mind. Close your eyes to rewind the entire Markha Valley diaries.</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>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Accommodation:</li><li>
Guest house in Leh on Day 1, day 2 and day 8 as per the itinerary.</li><li>
Camping/Home stay during the trek.</li><li>
Meals while on trek (Veg + Egg)</li><li>
Trek equipments: Sleeping bag, mattress, tent (twin sharing), kitchen & dinning tent, toilet tent, utensils and crampon (if required).</li><li>
First aid medical kits, stretcher & oxygen cylinder.</li><li>
Mountaineering qualified & professional trek Leader, guide, cook and Support staff.</li><li>
Transport from Leh guest house to Zinchen and return from Chokdo as per the itinerary.</li><li>
Mules to carry the central luggage.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Any kind of personal expenses.</li><li>
Airfare and pickup and drop from airport..</li><li>
Food in Leh.</li><li>
Any kind of emergency evacuation charges</li><li>
Necessary permits, entry fees and Foreigner peak booking charges.</li><li>
Mules or porter to carry personal luggage.</li><li>
Anything not specifically mentioned under the head.</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>18499</b> <small>/
			
			                		Adult			
			                				
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</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.</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.thecrazymountaineers.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Markha Valley Trek 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="192341"/>
						</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.thecrazymountaineers.in/dehradun-tour-packages.htm" title="Dehradun Tour Packages">Dehradun</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/haridwar-tour-packages.htm" title="Haridwar Tour Packages">Haridwar</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/almora-tour-packages.htm" title="Almora Tour Packages">Almora</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/port-blair-tour-packages.htm" title="Port Blair Tour Packages">Port Blair</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/rishikesh-tour-packages.htm" title="Rishikesh Tour Packages">Rishikesh</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/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.thecrazymountaineers.in/garhwal-tour-packages.htm" title="Garhwal Tour Packages">Garhwal</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/medak-tour-packages.htm" title="Medak Tour Packages">Medak</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/joshimath-tour-packages.htm" title="Joshimath Tour Packages">Joshimath</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.thecrazymountaineers.in/govindghat-tour-packages.htm" title="Govindghat Tour Packages">Govindghat</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.thecrazymountaineers.in/ghangaria-tour-packages.htm" title="Ghangaria Tour Packages">Ghangaria</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.thecrazymountaineers.in/kathgodam-tour-packages.htm" title="Kathgodam Tour Packages">Kathgodam</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.thecrazymountaineers.in/sangla-tour-packages.htm" title="Sangla Tour Packages">Sangla</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.thecrazymountaineers.in/kaza-tour-packages.htm" title="Kaza Tour Packages">Kaza</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.thecrazymountaineers.in/tabo-tour-packages.htm" title="Tabo Tour Packages">Tabo</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.thecrazymountaineers.in/digboi-tour-packages.htm" title="Digboi Tour Packages">Digboi</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.thecrazymountaineers.in/mandi-tour-packages.htm" title="Mandi Tour Packages">Mandi</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.thecrazymountaineers.in/kalpa-tour-packages.htm" title="Kalpa Tour Packages">Kalpa</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.thecrazymountaineers.in/jispa-tour-packages.htm" title="Jispa Tour Packages">Jispa</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.thecrazymountaineers.in/kashmir-tour-packages.htm" title="Kashmir Tour Packages">Kashmir</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.thecrazymountaineers.in/jammu-tour-packages.htm" title="Jammu Tour Packages">Jammu</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.thecrazymountaineers.in/likabali-tour-packages.htm" title="Likabali Tour Packages">Likabali</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.thecrazymountaineers.in/hemkunt-sahib-tour-packages.htm" title="Hemkund Sahib Tour Packages">Hemkund Sahib</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.thecrazymountaineers.in/parwanoo-tour-packages.htm" title="Parwanoo Tour Packages">Parwanoo</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.thecrazymountaineers.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</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.thecrazymountaineers.in/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</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.thecrazymountaineers.in/gangotri-tour-packages.htm" title="Gangotri Tour Packages">Gangotri</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.thecrazymountaineers.in/chitkul-tour-packages.htm" title="Chitkul Tour Packages">Chitkul</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.thecrazymountaineers.in/zanskar-tour-packages.htm" title="Zanskar Tour Packages">Zanskar</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 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.thecrazymountaineers.in/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(31)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/camping-holidays-catid.htm" title="Camping Packages">Camping</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</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.thecrazymountaineers.in/holiday-packages/leh-ladakh-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/647857/303394.jpg"  alt="Leh Ladakh Tour" title="Leh Ladakh Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thecrazymountaineers.in/holiday-packages/leh-ladakh-tour.htm" title="Leh Ladakh Tour"><h3>Leh Ladakh 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> : 
								10 Nights / 11 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Manali, Srinagar, Pathankot, ..</p>
															<div class="mt10px small">
							<form name="pkg_192345" id="pkg_192345" method="post" action="http://www.thecrazymountaineers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thecrazymountaineers.in/holiday-packages/leh-ladakh-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Leh Ladakh 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="192345"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.thecrazymountaineers.in/holiday-packages/stok-kangri-trek-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/647857/303389.jpg"  alt="Stok Kangri Trek Tour" title="Stok Kangri Trek Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thecrazymountaineers.in/holiday-packages/stok-kangri-trek-tour.htm" title="Stok Kangri Trek Tour"><h3>Stok Kangri Trek 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> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Leh Ladakh</p>
															<div class="mt10px small">
							<form name="pkg_192340" id="pkg_192340" method="post" action="http://www.thecrazymountaineers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thecrazymountaineers.in/holiday-packages/stok-kangri-trek-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Stok Kangri Trek 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="192340"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.thecrazymountaineers.in/holiday-packages/chandra-trek-frozen-river-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/647857/303391.jpg"  alt="Chandra Trek Frozen River Tour" title="Chandra Trek Frozen River Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thecrazymountaineers.in/holiday-packages/chandra-trek-frozen-river-tour.htm" title="Chandra Trek Frozen River Tour"><h3>Chandra Trek Frozen River 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> :  Leh Ladakh</p>
															<div class="mt10px small">
							<form name="pkg_192342" id="pkg_192342" method="post" action="http://www.thecrazymountaineers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thecrazymountaineers.in/holiday-packages/chandra-trek-frozen-river-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Chandra Trek Frozen River 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="192342"/>
							</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:62:"Book Markha Valley Trek Tour - 7 Nights / 8 Days Tour Packages";i:2;s:112:"book markha valley trek tour - 7 nights / 8 days tour packages, trekking tour packages, leh ladakh tour packages";i:3;s:151:"THE CRAZY MOUNTAINEERS offers Markha Valley Trek Tour - 7 Nights / 8 Days tour package, budget Trekking tour packages for Leh Ladakh at exciting price.";i:4;s:2610:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Leh Ladakh"        
		                 },
		      "description": "No doubt Kashmir is literally the heaven on earth, therefore, is the most sought tourist place. Quite less are aware of the dryer and barren side of this heavenly place. The most desired adventure hub Leh, popular for its raw and arid thrills, is a gateway to the burned out trails. With Markha Valley trek one gets to rediscover the parched region of mighty Kashmir. The mysterious ride of 8 days, exhibiting lush green to yellow barren landscapes, passing alongside Indus river will be bourne in mind for the lifetime.
Markha Valley is the largest valley of the region. Of course, Leh is the start point of this trek, which is an added advantage to explore the Buddhists monuments in Leh. You will be astonished to traverse through the tiny hamlets as you gain altitude. Surprisingly, these villages host cafes or tea houses serving rejuvenating hot drinks when you are tired from the strenuous hike. One after another, Rumbak, Yurutse, Skui, Markha, Hankar, Nimaling settlements will revitalize you. Not only that most of the villages have preserved monasteries, ruined forts and temples. Amongst them, the Tacha monastery is an eye and heart catcher that lies between the mountains.
Though the trek goes through dry regions the Indus, Markha and numerous streams will come your way. Since the trail goes through Hemis National Park, all its treasured fauna, mountain sheep, arghali, rabbits, snow leopards, can be spotted at every camping site. Ganda La and Kongmaru La are the two cardinal passes to be crossed en route. These passes are known for the panoramic views of infinite Karakoram and Ladakh ranges. The stunning sights of K2 mountain, Stok Kangri and Kang Yatse peaks are fulfilling and the motivation of this trek. On clear days one can get to see distant Tibet region. Just a small trek ahead of Markha Valley and you will reach the base of Kang Yatse peaks.
The trail is of easy to moderate grade with 1-2 steep sections, is recommended to all age groups. This is not one of those typical treks that retrace the same path while descending. Therefore, you get a wider and non-repetitive insight into Ladakhi Himalayas. Each day reveals mesmerizing views concealed behind the mountains.",
		      "name": "Markha Valley Trek Tour",
		      "telephone": "+91-9557739933"
		    }
		    </script>
			";i:5;N;}