a:6:{i:0;s:32546:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Tarsar Marsar 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> Tarsar Marsar 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> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kashmir</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 11999 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="Tarsar Marsar 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="192344"/>
						</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/303393.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/647857/303393.jpg"  width="150" height="100"    alt="Tarsar Marsar Trek Tour" title="Tarsar Marsar 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>
													
								One day, if you wake up in the meadows of Kashmir on your trek to Tarsar Marsar, in that moment, your entire life is going to dissolve into a distant dream. As though you have just crossed the threshold and come to heaven. The famous couplet of the Persian poet shall ring true— if there is a paradise on earth, it is here, it is here, it is here!<br />
The valley of Kashmir is an experience that may rob the most masterful wordsmith off adjectives, but never fail to brew unceasing lyricism in the heart of her beholders. Kashmirs inherent classical romanticism aside, there are some things exclusively special to trekking and the Tarsar Marsar twin lakes trek brings all of them together.<br />
Grasslands like velvet, walking through hovering pine trees that are beautiful and fragrant, little thatched roofed hamlets peopled by beautiful humans, perfect stillness of azure waters, and camping by the glacial lakes which give the trek its name. Whats more wonderful, on practical trekking terms, Tarsar Marsar doesnt charge a great deal of physical challenge, acclimatization prerequisites, or exhaustion.<br />
Special Note: Lately, there has been much apprehension regarding treks in Kashmir owing to perennial reports of trouble brewing in the valley. Therefore, in a responsibly organized journey, with some foresight, we wish to add an extra day or two in the 7-day itinerary. If we must make an emergency halt, the need for which we pray doesnt occur, these buffer days will be useful. This can be confirmed and elaborated upon at the time of your trek registration.								</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> Srinagar to Aru Base Camp
										</p>
										<p class="aj">Our first day destination is Aru on the banks of Lidder and Aru Rivers, situated 12 km off Pahalgam. A fairly developed tourist stop, Aru is regarded the main base for two well-loved treks—the Tarsar Marsar and Kolahoi Glacier Trek, the destination of the latter being the origination of the Lidder-Aru rivers.<br />
We shall meet you at Srinagar and make a 3-4 hours short drive to Aru via Pahalgam. Since steady telephonic network by all network providers cannot be confirmed at Aru, you need to wrap up your communication with the rest of the world at Pahalgam itself.<br />
At Aru, you will be welcomed at a river-side camping zone, off the touristy hub, by the sweet flowing Lidder. There are lots of activities around town at Aru—from trout fishing in the Lidder, the Aru Biosphere Reserve to horseback riding and heliskiing in the winters. You can explore and mark these for a later visit, because we will be reaching quite late into the dusk around 6 pm.</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> Aru to Lidderwat
										</p>
										<p class="aj">Today we shall be following the Lidder River upstream. After a 9-10 km walk up soft slopes, the trail enters a thicket of conifers. Revealing a sweeping view of the Aru valley left down below. We continue venturing through the forest shade and then come into a clearing filled with Gujjar huts. This is the Nandekai village inhabited by seasonal, migrating shepherd people, and agrarian, foraging Gujjar community. Here is a slice of idyll, picture perfect and a far call from life as we know it. We wont be passing through the heart of the village but rather get a priceless deep view of the picturesque setting as we move uphill. A little after, we have now entered a tumbling meadow grassland, and the fir tree thickets have completely ebbed away. This is still part of the Gujjar village ecosystem and you are going to find horse -riding folks and cattle grazers.<br />
The trail cuts across a couple of little valley streams next as we go. We soon come across a crude log bridge over the second brook. This is the spot to fill up our water supplies and take some rest, may be have the lunch carried from last camp. The Lidderwat locale is still an hours journey from here.<br />
The trail here curves into another wooded area of gorgeous firs before coming out into the meadows of Lidderwat where the river flows clear watered. We can find quaint little Gujjar settlements that mark the valley locale. Thanks to tourist inflow in recent times, there are also Pahalgam District Authority Huts and food places established for comfortable stays.<br />
Our camp would be at a quiet spot close to the stream. There should be enough time before sundown to walk around the peaceful fir tree shadowed Gujjar settlement and then lay out in the dying light on soft grass by the streamside to soak in the tranquil.</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> Lidderwat to Shekwas
										</p>
										<p class="aj">A trek, approx 5-hour long starts today, winding directly up from behind the PDA homes. In a matter of half an hour, you will be finding yourself inside a forest of pines, the Lidder River is now a distant shadow, and the meadows have ebbed away. The woods are not very thick and occasionally open up to wide clearings.<br />
Soon, you will find the stretch of Lidderwat breaching to the aperture of a more vast expanse of merging valleys and snowy elevations rising straight from the rim of the valleys. There will be multiple clear water streams cutting across our path where you can stop to refill drinking supplies.<br />
You will be directed towards Homwas, which is a little clearing inhabited by another cluster of Gujjar huts that falls on the other side of the now re-emerged river along our tracks. After crossing a log bridge, we are ushered into the locality of a few homes and tea shops. You will never fail to find warm hospitality with these villagers and despite the exhaustion of travels, this makes ones day.<br />
Hand in hand with the crystal waters flowing by our tracks, we now enter a different grassy landscape. As green as green can be, stretching in gentle folds to as long as the eyes can see, the meadows of Shekwas are breathtaking. Gujjar habitation and hospitality is ubiquitous in this area too and their little low roofed, leaf-thatched huts dot the lush landscape here and there. Our trail climbs pass the huts onto a slightly higher camping ground. A sweet night, a star peppered night falls over the meadows.</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> Shekwas to Tarsar and Explore Tarsar
										</p>
										<p class="aj">The green moors of Shekwas are best experienced bare feet. Try this as you set out for Tarsar Lake today. The trail moves through a silken lawn of nature for sometime before finally taking a lunge over a humpbacked hill and after crossing through a few ridges, opens to a little peek of Tarrsars magnetic blue waters.<br />
It takes a total of 5 hours to reach Tarsar from Shekwas and after the ridge, its another 3 hours, the view of the Lake widening as we go down succeeding smaller ridges. You need to cross the stream, jumping from boulder to boulder adventurously before finally gliding into green veldt around the lake where we would camp the night. Sink your feet deep into the soft grass and watch how the almond shaped waters reflects the passing hues of the sky as the day rolls on. Time seems to come to a standstill midst of such beauty and silence.</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> Tarsar to Sundarsar
										</p>
										<p class="aj">Another 5 km trek commences today to the adjoining Sundersar Valley through the Tarsar Pass. We delve into a connecting stretch first which apparently joins the meadows of Shekwas and Sundersar Valley. Trekking through the Tarsar Pass is actually a time saving but comparatively more hectic plan than descending to Shekwas first and heading to Sundarsar from there.<br />
You can actually test your stamina on this days trek after so many days of walking on gentle undulations. On the ascent to the Pass, the trail gets steeper but then mellows down to a gentler slope to Sundarsar. The highlight of this stretch comes with a view of Tarsar Lake from the other side of the Pass.<br />
Next, we go down to a valley bed to be greeted by a nomadic shepherd clan settlement, that of the Bakkerwals. Proceeding, we follow a brook that gets collected at the feet of snow-melting elevations in the form of a beautiful lake. The entire way is wrapped in a green fold of luminescent softness. You will find an unearthly photo frame capturing sheep and horses bobbing along the green-scape as they graze lazily along the banks of this anonymous loch. Our trail takes us through a high pass exit from this grassland to the next vale, another vast patch of extensive pampas but this one sprayed bright with wildflowers. Later, a bouldered trail over the stream ushers us into the Sundarsar Lake side, a flatland where we can camp at the end of this remarkable 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> Visit Marsar and then to Homwas
										</p>
										<p class="aj">Today, we will ascent higher up through Marsar Ridge. Kilting our way around Sundarsar shores, we will be directed to a boulder smitten path. You can expect slippery snow patched in these rock crevasses, just like the partially white covered mountains at the end of the valley which we witnessed through our trek in the last few days. At midday, the snow will melt and its going to be tricky walk.<br />
After covering a partly grass covered, partly snow sheeted rock trail over on the Pass, we slightly descend to a flatland thats cut through by occasional water flows. The top of the ridge view reveals the translucent blue Marsar Lake lying somewhere down below. It has the same kind of almond shaped outline as Tarsar and almost as big. Snow shaded elevations happen to rise just along one fringe of the Lake, offsetting its blueness. The Lake happens to overflow on one side and go down in a sweeping glacial stream down to a valley below. The snowmelts from the white cliffs feed its waters on one side and on another, the Dachigam forests starts.<br />
Now we descend back to Sundarsar camps and then to Homwas, trialing almost along the same way that we came by. The descent is full of nostalgia. Homwas is reached before nigh fall, slightly exhausted.</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> Homwas to Aru and drive to Srinagar
										</p>
										<p class="aj">Starting off early morning today, we descend from Homwas to Aru, sweeping over the same enchanting meadow lands we had experienced on the first days, and the same Lidder River, now to be followed downstream.<br />
We will stop at Lidderwat to rest and lunch and then set off again, now Aru-wards, 10 km from Lidderwat to be covered over 4 hour approx.<br />
Srinagar-bound vehicles shall be waiting for us at Aru. We can expect to reach station within 8 in the nigh</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>Transport Srinagar to Aru Base and Back</li><li>
Accommodation. (Camping) (2 person in one tent)</li><li>
Meals while on trek (Veg & Egg)</li><li>
Trek equipments: Sleeping bag, mattress, tent (twin sharing), kitchen & dinning tent, toilet tent, utensils</li><li>
All necessary permits and entry fees</li><li>
First aid medical kits, stretcher and oxygen cylinder</li><li>
Mountaineering qualified & professional trek Leader, guide, cook and Support staff 8. Services from Srinagar to srinagar 9.  The Crazy Mountaineers Staff insurance 10. 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>
Hotel Stay in Srinagar.</li><li>
Food during the transit.</li><li>
Insurance.</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>11999</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</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="Tarsar Marsar 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="192344"/>
						</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 Kashmir</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/kashmir-great-lakes-trek-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/647857/303392.jpg"  alt="Kashmir Great Lakes Trek Tour" title="Kashmir Great Lakes 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/kashmir-great-lakes-trek-tour.htm" title="Kashmir Great Lakes Trek Tour"><h3>Kashmir Great Lakes 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> :  Kashmir, Sonamarg, Zanskar</p>
															<div class="mt10px small">
							<form name="pkg_192343" id="pkg_192343" 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/kashmir-great-lakes-trek-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Kashmir Great Lakes 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="192343"/>
							</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 Tarsar Marsar Trek Tour - 6 Nights / 7 Days Tour Packages";i:2;s:109:"book tarsar marsar trek tour - 6 nights / 7 days tour packages, trekking tour packages, kashmir tour packages";i:3;s:163:"Book Tarsar Marsar Trek Tour - 6 Nights / 7 Days tour packages from THE CRAZY MOUNTAINEERS - Get attractive 6 Nights / 7 Days Trekking  tour packages for  Kashmir.";i:4;s:1965:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kashmir"        
		                 },
		      "description": "One day, if you wake up in the meadows of Kashmir on your trek to Tarsar Marsar, in that moment, your entire life is going to dissolve into a distant dream. As though you have just crossed the threshold and come to heaven. The famous couplet of the Persian poet shall ring true— if there is a paradise on earth, it is here, it is here, it is here!
The valley of Kashmir is an experience that may rob the most masterful wordsmith off adjectives, but never fail to brew unceasing lyricism in the heart of her beholders. Kashmirs inherent classical romanticism aside, there are some things exclusively special to trekking and the Tarsar Marsar twin lakes trek brings all of them together.
Grasslands like velvet, walking through hovering pine trees that are beautiful and fragrant, little thatched roofed hamlets peopled by beautiful humans, perfect stillness of azure waters, and camping by the glacial lakes which give the trek its name. Whats more wonderful, on practical trekking terms, Tarsar Marsar doesnt charge a great deal of physical challenge, acclimatization prerequisites, or exhaustion.
Special Note: Lately, there has been much apprehension regarding treks in Kashmir owing to perennial reports of trouble brewing in the valley. Therefore, in a responsibly organized journey, with some foresight, we wish to add an extra day or two in the 7-day itinerary. If we must make an emergency halt, the need for which we pray doesnt occur, these buffer days will be useful. This can be confirmed and elaborated upon at the time of your trek registration.",
		      "name": "Tarsar Marsar Trek Tour",
		      "telephone": "+91-9557739933"
		    }
		    </script>
			";i:5;N;}