a:6:{i:0;s:36961:"						<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">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/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/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/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 "><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 "><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 spanlist dn"><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 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/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/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/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/dharamshala-tour-packages.htm" title="Dharamshala Tour Packages">Dharamshala</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/kullu-tour-packages.htm" title="Kullu Tour Packages">Kullu</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/kargil-tour-packages.htm" title="Kargil Tour Packages">Kargil</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/solan-tour-packages.htm" title="Solan Tour Packages">Solan</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/chandigarh-city-tour-packages.htm" title="Chandigarh City Tour Packages">Chandigarh City</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/nainital-tour-packages.htm" title="Nainital Tour Packages">Nainital</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/pathankot-tour-packages.htm" title="Pathankot Tour Packages">Pathankot</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/auli-tour-packages.htm" title="Auli Tour Packages">Auli</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/narkanda-tour-packages.htm" title="Narkanda Tour Packages">Narkanda</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;}