a:6:{i:0;s:21050:"						<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"  width="150" height="100"    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-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-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-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-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-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 "><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 "><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 spanlist dn"><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 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="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="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:988:"
			<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;}