a:6:{i:0;s:21051:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Sar Pass Trek Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.himachalguides.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.himachalguides.com/packages.htm" title="Packages">Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Sar Pass 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> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kasol,</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.himachalguides.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Sar Pass 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="186581"/>
						</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_16/479552/289946.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/479552/289946.jpg"  height="150"  width="150"    alt="Sar Pass Trek Tour" title="Sar Pass Trek Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Sar Pass is one of the most popular trails in Shivalik range.Sar in local dialect means a lake.Sar Pass is a moderately challenging trek in the Parvati Valley of  Himachal Pradesh situated at an altitude of 14000ft.It can be considered as a great introduction to high altitude trekking.This trek is also very  popular amongst Indian trekking.Sar valley  overlooks the beautiful Parvati valley abundant in natural treasure.The valley is surrounded by anow clad mountain,perennial streams,waterfalls and lush green forests .It is the seventh heaven for any adventurous traveler and nature lover								</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> Reporting to Base Camp at Kasol
										</p>
										<p class="aj">This day is kept free for your reporting only you can go to Manikaran or nearby market places such as Kasol for shopping or needed equipments and other materials.Kasol is the base for most of the trekking trails in Parvati valley.</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> Kasol – Grahan 1700m – 2350m
										</p>
										<p class="aj">The trekkingc will start from Kasol to Grahan village.First drive on road till the trail starts.the trail leading upto the village is frequently used by the locals and you might found villagers passing by.The trail leads through lush gren dense forest streams and waterfalls.The trail is easy at initial.Soon the gradient transformsinto rocky  and steep after crossing the Grahan Nallah.As we get closer to the Grahan village  the trail become pretty steep for a while and the village is visible.The  campsite at Grahan is located near to the village and is surrounded by the Rhododendron trees.Grahan village is as ancient as hundreds of years.One can charm traditional house beautiful evening and take pics of the local near the camp.The beauty at the camp becomes more comfortable and sc enic as one gets acquainted this camp is heaven for photographers artist and nature lovers.Spend the night at serene campsite.</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> Grahan - Min Thach  2350m - 3400m
										</p>
										<p class="aj">Today we trek about 6 to 7 hours to Min Thach. The trail to Min Thach is usually used by the locals to take their livestock to higher pastures. The trail offers great range of flora and fauna birds insects etc.  As we go higher the trail becomes steeper and leads into the woods. On the way we stop at amazing lunch point in between the forest at Ratapani. The mesmerizing thick canopy can be witnessed while passing through the dense forest. The trail through the forest eventually opens up to a grassy patch of land.  After that the forest will vanish slowly and open grounds and valleys are visible. One can admire the snow capped mountains and valley below. Before approaching to the camp we have to climb a steep section. The Min Thach is located on the hillock and is surrounded by the flat rocks. The sunset and sunrises at this camp offers great views. One can also cherish gazing stars and milky way at night.</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> Min Thach  - Nagaru   3400m - 3800m 
										</p>
										<p class="aj">On this day make an early start to approach Nagaru. The trail today is comparatively steep than the previous route. It will take about 7 hrs. to reach Nagaru. The trail climbs through pastoral forests to snow covered meadows which makes it little tricky. As you climb higher the air becomes thinner and you might face little altitude sickness such as headache, dizziness. These symtoms are normal reaction of the body. So take as much water and keep your hands, nose, eyes and ears open to acclimatize better. But in any odd situation we provide all the facilities including the first aid kit, portal oxygen, oxymeter and pulsemeter. While getting closer to the camp chilling winds hits on your face that realizes one of the altitude gained. The surroundings become more open and broad at these heights (12,500ft.). It is a coldest campsite of the whole trek because of the gusty winds. The temperature can go below zero at nights. Once you reach the campsite at Nagaru one would experience picturesque views of magnificent mountains across the Parvati Valley. Enjoy the sunset painting the sky with different colours and the night full of stars at this beautiful campsite.</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> Nagaru - Sar Pass - Bishkeri  3800m - 4182m - 3350m
										</p>
										<p class="aj">Again make an early start for a long trekking day. The trail comes with snow and steep tracks on most of the route till the pass and beyond. After climbing the Nagaru ridge the trail is moderate. On the way there is a canteen near the lake where one can have maggi, tea, coffee etc. Climbing higher to the pass offers mind blowing views of the stunning meadows and towering peaks of Parvati valley. One should walk slow and steady while climbing upwards. Though walking on the snow is easier. As approaching to the top the gradient becomes steeper just few meters below the pass. That’s the only steep part needed to be crossed for the day. Reaching at the top of the pass gives a feeling of satisfaction by looking at the mighty Himalayan snow capped peaks green meadows and the trail below.  One can spend some time at the Sar pass having his packed lunch and taking pics. After the pass there is a great slope ideal for sliding which takes one a kilometer far within minutes. Then continue trekking down on gentler slopes through rhododendron trees till the Bishkeri Thach. After a long tiring day the lush green meadows, wildflowers and variety of birds at Bishkeri can rejuvenate your body and mind with energy. We’ll camp for a night at this soothing site.</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>  Bishkeri - Barshaini - Manikaran  3350m - 2400m
										</p>
										<p class="aj">The trail from Bishkeri to Barshaini is mixed with downhill to moderate. On this route one has to be careful walking each step on the slope.  Again walking slow and steady will help one to approach the roadhead easily. We will climb down through dense forests of deodar oak and pine. Many little streams will pass by the trail. On the way beautiful meadows huge trees piles of fallen and rotten logs will give a prehistoric feeling. Herds of wild cows, bulls and horses can be seen on lower pastures. One can taste lassi (Buttermilk) sold by the locals while climbing down. Couple of tea shops will pass by where one can enjoy their preferred food.  After hours of mesmerizing forest trek we reach at Pulga village. From there moderate walk to Tulga village. Then cross the Parvati river and climb for a while to reach  Barshaini. From Barshaini we will take bus or taxi. Then we reach Manikaran in an hour. Manikaran is a most famous hot spring you can find in Kullu - Manali region. It is also one of the sacred place for Hindus and Sikhs. After Manikaran one can depart for their preferred destinations.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Accommodation ( Hotel and Camp)</li><li>
Breakfast & Dinner</li><li>
Pack lunch, Dinner, Breakfast  and snacks during camping</li><li>
Highly advanced & certified mountaineering guide from Himalaya Destination</li><li>
Skilled Guide who has ample knowledge of the route</li><li>
First aid kit, oxygen cylinders, oximeter, medicines etc. will be with guide/trek leader and at camp site as well to deal with emergencies</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Personal expenses (Minral water, drinks etc.)</li><li>
Accidental Insurance, or any other travel Insurance</li><li>
Transportations (pick Up, Drop)</li><li>
Food after the Trek</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.himachalguides.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Sar Pass 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="186581"/>
						</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.himachalguides.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/packages-in-kullu.htm" title="Packages in Kullu">Kullu</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/packages-in-jispa.htm" title="Packages in Jispa">Jispa</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/packages-in-kangra.htm" title="Packages in Kangra">Kangra</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/packages-in-kaza.htm" title="Packages in Kaza">Kaza</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/packages-in-garhwal.htm" title="Packages in Garhwal">Garhwal</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.himachalguides.com/packages-in-digboi.htm" title="Packages in Digboi">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.himachalguides.com/packages-in-roorkee.htm" title="Packages in Roorkee">Roorkee</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.himachalguides.com/packages-in-kishanganj.htm" title="Packages in Kishanganj">Kishanganj</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.himachalguides.com/packages-in-solan.htm" title="Packages in Solan">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.himachalguides.com/packages-in-dalhousie.htm" title="Packages in Dalhousie">Dalhousie</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.himachalguides.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/paragliding-holidays-catid.htm" title="Paragliding Packages">Paragliding</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/camping-holidays-catid.htm" title="Camping Packages">Camping</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himachalguides.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</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:57:"Book Sar Pass Trek Tour - 5 Nights / 6 Days Tour Packages";i:2;s:107:"book sar pass trek tour - 5 nights / 6 days tour packages, hill station tour packages, kasol, tour packages";i:3;s:161:"Discover Himachal Adventure and Tours offers Sar Pass Trek Tour - 5 Nights / 6 Days tour package, budget Hill Station tour packages for Kasol, at exciting price.";i:4;s:987:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kasol,"        
		                 },
		      "description": "Sar Pass is one of the most popular trails in Shivalik range.Sar in local dialect means a lake.Sar Pass is a moderately challenging trek in the Parvati Valley of  Himachal Pradesh situated at an altitude of 14000ft.It can be considered as a great introduction to high altitude trekking.This trek is also very  popular amongst Indian trekking.Sar valley  overlooks the beautiful Parvati valley abundant in natural treasure.The valley is surrounded by anow clad mountain,perennial streams,waterfalls and lush green forests .It is the seventh heaven for any adventurous traveler and nature lover",
		      "name": "Sar Pass Trek Tour",
		      "telephone": "91-7018497693"
		    }
		    </script>
			";i:5;N;}