a:6:{i:0;s:31075:"						<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">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;}