a:6:{i:0;s:22893:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Kheerganga Trek And Camping In Kasol Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="https://www.greenmountaintravels.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="https://www.greenmountaintravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Kheerganga Trek And Camping In Kasol 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> 
						2 Nights / 3 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kheerganga,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="https://www.greenmountaintravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kheerganga Trek and Camping in Kasol 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="187676"/>
						</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_19/567167/293021.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/567167/293021.jpg"  width="150" height="112"    alt="Kheerganga Trek and Camping in Kasol Tour" title="Kheerganga Trek and Camping in Kasol 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>
													
								Name of Package: Kheerganga Trek And Camping In Kasol<br />
<br />
Routing: Kasol- Kheerganga Trek<br />
<br />
Duration: 3 Days ,2 Nights<br />
<br />
Group Size- Min 2 Max 12<br />
<br />
Best time to visit: Oct-Dec & Apr-June<br />
<br />
Difficulty Level: Easy<br />
<br />
Maximum Altitude: 13000 ft<br />
<br />
About the Kasol and Kheerganga Trek:<br />
Come and join this Kasol-Kheerganga trek trip for 3 days and 2 nights where you can rediscover yourself in the very relaxing sight of the Himalayas.<br />
<br />
Kheerganga in Parvati valley of Himachal Pradesh offers a mystical journey into the woods and is one of the gifted abode for natural sulfur hot water springs..<br />
<br />
- From the valley, you can behold the incomparable beauty of Parvati River and the glacier of Lahaul Spiti.<br />
<br />
The trek unveils some favorite tourist destinations en route to a Shiv Temple, Rudra Naag Waterfall and a lot of interesting rock formations.<br />
<br />
Find this trip more energetic and enthusiastic with a bath in the hot springs that will let you shed away all your pains and sorrows.<br />
<br />
About the Destination:<br />
An emerging favorite of the country is the Kheerganga trek in the beautiful land of Kasol, which is a small town housed on the slopes of Parvati Valley. Nestled on the fringes of Parvati River, Kasol has found its place in the tourism face of Himachal Pradesh for being a pleasant getaway throughout the year. Apart from that, Kasol is also famous for being a favorite for budget travelers from around the country looking to have a memorable and scenic getaway in the Himalayas.<br />
<br />
And their search always ends at Kasol because the River Parvati has gifted this small hill station with scenic treks, pristine beauty, green slopes, majestic waterfall, high altitude meadows and natural hot springs, a combination of which makes it the place to unwind after a break from the boring weekday life. And one of the most valuable gems of Kasol is the meadow of Kheerganga.<br />
<br />
This Kheerganga trek starts at Kasol and takes you on a 12 km trek to one of the most scenic locations in Kasol. You will be arriving in Kasol and spend a day at leisure before waking up and leaving for the starting point for the trek, which is in Barshaini. As you trek through the forests of Coniferous trees, you will first arrive at the Rudra Nag Waterfalls which derives its name because of its serpentine nature, and then finally arrive at Kheerganga. This meadow is famous for the scenic beauty that it possesses. Views of the river stream flowing by and the glaciers of Lahaul and Spiti will bring a relief to everyone’s mind, irrespective of the fact that you are sleeping or waking up to a view of them. And when you trek back, retracing the steps from yesterday, you will see the scenic valley again, making this a double treat for you and your camera.								</div>
								<br />
																<div class="headHr">
					            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
					            </div>
					            
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 1:</b> Arrival in Kasol and overnight stay
										</p>
										<p class="aj">You will reach Kasol by 11:00 AM, check in and freshen up, head out to see the local places in Kasol.Board an evening Volvo/Traveler leaving from Delhi around 07:00PM<br />
After coming back, relax by sitting near a bonfire while a light music is played.Enjoy your dinner.</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> Kheerganga Trek
										</p>
										<p class="aj">You will arrive at the starting point of the trek on your own, early in the morning, Begin your trek to Kheerganga after breakfast.<br />
<br />
Its a 12 kms (one side) trek, which takes 4.5 hours approx to cover The trek offers some beautiful sights which will rejuvenate your mind.<br />
<br />
En route, see a Shiva Temple, Rudra Naag Waterfall and lots of interesting rock formations. You can spend the evening at your own leisure near the bonfire and after dinner relax by the camp.</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> Return to Base Camp
										</p>
										<p class="aj">After breakfast, take a dip in a popular hot water spring nearby and then trek back to Kasol. Again a 12 kms trek (approx 4-5 hours), meaning you will see the beautiful sights all over again<br />
<br />
Keep the luggage at the base camp and explore local market and amazing cafes. Collect the luggage, in the evening and depart from Kasol as the end of your trek</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>
																			</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="https://www.greenmountaintravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kheerganga Trek and Camping in Kasol 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="187676"/>
						</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="https://www.greenmountaintravels.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(24)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/kullu-tour-packages.htm" title="Kullu Tour Packages">Kullu</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/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 "><a class="dif" href="https://www.greenmountaintravels.com/mussoorie-tour-packages.htm" title="Mussoorie Tour Packages">Mussoorie</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/dharamshala-tour-packages.htm" title="Dharamshala Tour Packages">Dharamshala</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/nainital-tour-packages.htm" title="Nainital Tour Packages">Nainital</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/goa-city-tour-packages.htm" title="Goa City Tour Packages">Goa City</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/male-tour-packages.htm" title="Male Tour Packages">Male</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/haridwar-tour-packages.htm" title="Haridwar Tour Packages">Haridwar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/manikaran-tour-packages.htm" title="Manikaran Tour Packages">Manikaran</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/dubai-tour-packages.htm" title="Dubai Tour Packages">Dubai</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/pahalgam-tour-packages.htm" title="Pahalgam Tour Packages">Pahalgam</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/auli-tour-packages.htm" title="Auli Tour Packages">Auli</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/phuket-tour-packages.htm" title="Phuket Tour Packages">Phuket</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/bali-tour-packages.htm" title="Bali Tour Packages">Bali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/srinagar-tour-packages.htm" title="Srinagar Tour Packages">Srinagar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/krabi-tour-packages.htm" title="Krabi Tour Packages">Krabi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/kufri-tour-packages.htm" title="Kufri Tour Packages">Kufri</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/singapore-city-tour-packages.htm" title="Singapore Tour Packages">Singapore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/dalhousie-tour-packages.htm" title="Dalhousie Tour Packages">Dalhousie</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/gulmarg-tour-packages.htm" title="Gulmarg Tour Packages">Gulmarg</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/mumbai-tour-packages.htm" title="Mumbai Tour Packages">Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/bhimtal-tour-packages.htm" title="Bhimtal Tour Packages">Bhimtal</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/katra-tour-packages.htm" title="Katra Tour Packages">Katra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/khajjiar-tour-packages.htm" title="Khajjiar Tour Packages">Khajjiar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/port-blair-tour-packages.htm" title="Port Blair Tour Packages">Port Blair</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/mcleodganj-tour-packages.htm" title="Mcleodganj Tour Packages">Mcleodganj</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/kargil-tour-packages.htm" title="Kargil Tour Packages">Kargil</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="https://www.greenmountaintravels.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(26)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.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="https://www.greenmountaintravels.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/artificial-wall-climbing-holidays-catid.htm" title="Artificial Wall Climbing Packages">Artificial Wall Climbing</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.greenmountaintravels.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/desert-holidays-catid.htm" title="Deserts Packages">Deserts</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.greenmountaintravels.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(4)</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>
				</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:80:"Book Kheerganga Trek and Camping in Kasol Tour - 2 Nights / 3 Days Tour Packages";i:2;s:138:"book kheerganga trek and camping in kasol tour - 2 nights / 3 days tour packages, adventure tour packages, kheerganga,kasol, tour packages";i:3;s:177:"Green Mountain Travels offers Kheerganga Trek and Camping in Kasol Tour - 2 Nights / 3 Days tour package, budget Adventure tour packages for Kheerganga,Kasol, at exciting price.";i:4;s:3182:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kheerganga,Kasol,"        
		                 },
		      "description": "Name of Package: Kheerganga Trek And Camping In Kasol

Routing: Kasol- Kheerganga Trek

Duration: 3 Days ,2 Nights

Group Size- Min 2 Max 12

Best time to visit: Oct-Dec & Apr-June

Difficulty Level: Easy

Maximum Altitude: 13000 ft

About the Kasol and Kheerganga Trek:
Come and join this Kasol-Kheerganga trek trip for 3 days and 2 nights where you can rediscover yourself in the very relaxing sight of the Himalayas.

Kheerganga in Parvati valley of Himachal Pradesh offers a mystical journey into the woods and is one of the gifted abode for natural sulfur hot water springs..

- From the valley, you can behold the incomparable beauty of Parvati River and the glacier of Lahaul Spiti.

The trek unveils some favorite tourist destinations en route to a Shiv Temple, Rudra Naag Waterfall and a lot of interesting rock formations.

Find this trip more energetic and enthusiastic with a bath in the hot springs that will let you shed away all your pains and sorrows.

About the Destination:
An emerging favorite of the country is the Kheerganga trek in the beautiful land of Kasol, which is a small town housed on the slopes of Parvati Valley. Nestled on the fringes of Parvati River, Kasol has found its place in the tourism face of Himachal Pradesh for being a pleasant getaway throughout the year. Apart from that, Kasol is also famous for being a favorite for budget travelers from around the country looking to have a memorable and scenic getaway in the Himalayas.

And their search always ends at Kasol because the River Parvati has gifted this small hill station with scenic treks, pristine beauty, green slopes, majestic waterfall, high altitude meadows and natural hot springs, a combination of which makes it the place to unwind after a break from the boring weekday life. And one of the most valuable gems of Kasol is the meadow of Kheerganga.

This Kheerganga trek starts at Kasol and takes you on a 12 km trek to one of the most scenic locations in Kasol. You will be arriving in Kasol and spend a day at leisure before waking up and leaving for the starting point for the trek, which is in Barshaini. As you trek through the forests of Coniferous trees, you will first arrive at the Rudra Nag Waterfalls which derives its name because of its serpentine nature, and then finally arrive at Kheerganga. This meadow is famous for the scenic beauty that it possesses. Views of the river stream flowing by and the glaciers of Lahaul and Spiti will bring a relief to everyone’s mind, irrespective of the fact that you are sleeping or waking up to a view of them. And when you trek back, retracing the steps from yesterday, you will see the scenic valley again, making this a double treat for you and your camera.",
		      "name": "Kheerganga Trek and Camping in Kasol Tour",
		      "telephone": "+91-8929465791"
		    }
		    </script>
			";i:5;N;}