a:6:{i:0;s:41217:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Roopkund Trek 8 Days Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="https://www.abctrekkers.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="https://www.abctrekkers.in/trekking-packages.htm" title="Trekking Packages">Trekking Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Roopkund Trek 8 Days 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> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kathgodam, Govindghat, Ghangaria, Sangla</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.abctrekkers.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Roopkund Trek 8 Days 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="185189"/>
						</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/557335/285414.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/557335/285414.jpg"  width="150" height="102"    alt="Roopkund Trek 8 Days Tour" title="Roopkund Trek 8 Days 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>
													
								Short Itinerary<br />
<br />
Day 01: Pickup from Kathgodam in the morning and reach Lohajung (2300mts, 7500ft):<br />
<br />
Day 02: Lohargunj to Didna Village<br />
<br />
 <br />
<br />
Day 03: Didna village to Ali Bugyal<br />
<br />
Day 04: Ali Bugyal to Ghora Lotani<br />
<br />
Day 05: Ghora lotani to Bhagwabasa<br />
<br />
Day 06: Bhagwabasa to Roopkund and back to Bedni Bugyal<br />
<br />
Day 07: Bedni bugyal to Loharjung<br />
<br />
Day 08: Loharjung to kathgodam <br />
<br />
TREK FEE PER PERSON<br />
<br />
 <br />
<br />
Rs.12,500/-<br />
 <br />
(Includes all costs of the Expedition from Kathgodam To Kathgodam ) <br />
(5% GST)<br />
<br />
Duration – 8 Days (Kathgodam To Kathgodam) <br />
<br />
Best Season - May,june, September, October<br />
<br />
Level – Moderate<br />
<br />
Altitude : 4800 Mt<br />
<br />
AVERAGE TEMPERATURE:<br />
<br />
Winter temperatures - Roopkund trek– 3°C to – 5° C – And Base Camp Roopkund trek / -5°C to -8°C - winter December to Jan<br />
Summer temperatures – Roopkund trek +5° C to +20° C<br />
<br />
Must read about Roopkund trek -  Roopkund, in the state of Uttarakhand in India, is a famous glacial lake. This lake is famous due to more than five hundred skeletons of humans that are found at the edge of the lake.								</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> Pickup from Kathgodam in the Morning and Reach Lohajung (2300mts, 7500ft)
										</p>
										<p class="aj">The Journey Will Take Not More Than 10 Hours, Which Includes One or Two Breaks. the Serpentine Road Goes Through the Region of Kumaon and Covers Deep Valleys of Shivalik Mountain Ranges. the Road Will Take You to Gwaldam Which Lies Under the Administrative District of Garhwal. the Road Goes Through Coniferous Forest and Unrelenting Curves. Though There is a Direct Road from Gwaldam to Deval, the Final Destination of the Day, It is Not Preferred Due to Damages At Various Places Due to the Yearlong Rains. Via Nandkesri the Distance to Be Covered is Less, Around 11kms, But It is Better to Walk On a Longer, But Safer Trail Through Tharali, Which is Around 36kms. Around 2 Hours of the Ride Will Take You to Deval, a Village with all Provisions of Purchasing Food and Kerosene Required for the Rest of the Journey. the Day's Last Stretch of the Journey is from Deval to Lohajung. the Extremely Curvy and Winding Road Gains Considerable Height. the Roads are So Thrilling to Drive On that Sometimes Even the Slightest of Oncoming Cars and Trucks Send Goosebumps. It is Generally Rainy and Foggy During Most of the Time and Temperatures Remain Very Cold. the Night is Spent a Tourist Rest House or Nearby Lodges.</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> Lohargunj to Didna Village
										</p>
										<p class="aj">The Actual Trek Begins Today. After a Good Home Prepared Breakfast, the Walk Starts On the Level Ground with Slight Ascent On the Jeep Road; the Road Goes Till the Village of Wan. An Hour and a Half Walk On the Flat Surface Will Take You to Kulling, Which is Located At a Distance of Around 6km Form Lohajung. Kulling is a Peaceful Village in the District of Garhwal, with a Small Pool of the Population; It is Filled with the Beauties of Nature. Exotic Birds Can Be Spotted Very Easily; the Air Feels Crisp and Fresh. After a Break At Kulling, You Take a Right Turn and Gradually Descend Towards the Village. At the Start, You Will Notice a Narrow Concrete Plain Which Cuts Through Houses and Fields and Takes You to a Small Stream. this Small Stream is Fed By Neel Ganga. You Descend Further Till You Reach the Bed of Neel Ganga. Go Ahead and Cross the Cemented Bridge and Then Start Climbing the Ridge On the Right Side of the Bridge. the Road Ahead is Moderately Steep and Ends At the Village of Didna, Situated At An Altitude of 2450mts, 8000ft. the Trail Encompasses Evergreen Alpine Forests and Trees Which are Huge in Size. After a Climb of Around Two Hours, You Reach the Top of the Ridge; the View Ahead is Magnificent. It is Surprising to Find Huge Open Lands At such a High Altitude On the Lap of the Mountains. There are Two Villages Very Near to Each other Didna and Kuling, Basically They Host the Same Type of People and Trekkers. the First Village is Habited During the Summer and Monsoon Months While the Second One is Popular During Winter. the Days Trek is Over At Around 3pm, After Which a Hot Lunch is Enjoyed. Total Distance Covered During the Day is Approximately Around 10kms, and the Night is Spent in a Traditional Guest House.</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> Didna Village to Ali Bugyal
										</p>
										<p class="aj">Today's Trek Involves Trekking Through the Beautiful Village of Ali Bugyal, Which Located At An Altitude of 3400mts or 11000ft, is One of the Highest Inhabited Locations of the Country. Ali Bugyal is On Top of the Mountain and is Clearly Visible from the Backdrop of Didna. the Trek Will Take You to Climb On Top of this Mountain, After the Start the Trail Will Take Out of the Village. On the Right, the Trail is Slightly Ascending with a Very Gentle Gradient. On the Way, Temporary Settlements of Local Shepherds Known as Tolpani and Their Huge Herds of Sheep are a Site to Behold. They are Very Friendly and Warm in Welcoming People; You Can Even Share Their Lunch, Which They Think as a Friendly Gesture. On the other Hand, the Trail On the Left Side is Short in Length But is Steeper. But It Doesn't Really Matter Which Trail You Take, Eventually Both of Them Will Take You to the Same Destination. Oak, Birch, and Rhododendron Trees are the Only Trees that Grow in These Areas, and are Magnificent and Huge in Size. According to Locals, Anyone Visiting the Place During the Spring Season Can See the Unbelievable View of the Valley Covered with Thousands of Rhododendron Flowers in Vibrant Colours. After Reaching the Mountain Top, the Tree Line Gradually Recedes, and the Plain Grasslands Start. the Climb Takes Around 3 to 4 Hours, After Which Right in Front of Your Eyes, the Himalaya's Most Attractive Meadows, Ali Bugiyal Welcomes You. the View is Very Similar to the Default Wallpaper of Windows Xp and is a Treat for the Eyes. During Summer Months, Wild Horses and Cows Graze the Fields Which are Filled with Vast Stretches of Grass and Flowers of Various Bright Colours. On a Clear Weather, It is Easy to Spot the Peaks of Trishul and Mrighthuni, the Tallest Mountain Peaks in this Part of the Himalayas. the Mighty Trishul Beckons to Be Climbed Upon and Feels as There is Some Hidden Energy Which Attracts Towards Itself. After Crossing the Meadows, There Comes a Small Face On the Way, and Another Half An Hour of Trekking Will Take You to Bedni, the Camping Spot for Day 3. After Lunch, Visit the Nearby Temple in Bedni Kund, if the Weather is Clear You Might Be Able to View the Garhwal Himalayan Ranges At Its Glory.</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> Ali Bugyal to Ghora Lotani
										</p>
										<p class="aj">Today Being the 4th Day of the Trek You Can have the Choice of Starting a Bit Late and Sleeping a Little Bit Extra. Your Next Camping Location is Gora Lutani, Which is a Perfect Camping Spot. Keep On Walking and Enjoy the Picturesque Locations in the Adjoining Area. Along the Way, You Will Come Across Patat Nacholi, a Rather Unused and Vest Able Landmass. this Day You Will Make Steep Altitude Gain from Around 12,500ft to 14,500ft. the High Altitude and the Long Continuous Walks Will Make Your Legs Hurt, and You Will also Start Feeling the Effects of the Weather Changes and the Thin Air Will Make Breathing Difficult. But Don't Worry; the Wonderful Surroundings Will Give You Enough Motivation to Reach Your Destination. the Positive Vibes Flowing in the Air Lets You Forget all Your Troubles. After a Travel of Around 10kms, the Campsite for the Day is Reached. Ghora Lotani Will Give You a Good Night's Sleep, But the Next Morning Waking Up Early is Very Crucial as It is Going to Be An Exciting Day Ahead.</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> Ghora Lotani to Bhagwabasa
										</p>
										<p class="aj">Wake Up Early and Brace Yourself for the Longest Day of Trekking. have a Filling Breakfast and Don't Forget to Do a Few Stretches. It Should Be Kept in Mind that Today; the Trekking Will Approximately Cover 10kms and that Too On a Steep Slope. Walk Towards Bagubasa, Located Around 14000ft Above the Sea Level. this Road Will also Take You Across Kalyuvinayak Temple. the Most Thrilling Part to See the Temple is to Travel Up 2kms, also Equivalent to Gaining An Altitude of Around 200ft. the Path Leading to this Temple is Very Uneven and Zig-zag in Shape. It is Essential that Proper Safety Gear and Clothing is Ensured Before the Day's Trek is Even Started. the Walk Should Be Done Very Slowly and Carefully; One Small Slip and Anyone Can Get Hurt Very Badly. But Since There is No Gain Without Pain, the Gifts Await You At the Top. It is Difficult to Understand How Someone Could Create the Temple At such a Height. the Temple is Basically Traditional in Design and Construction and Has Been There for Centuries. as the Altitude Increases, the Air Gets Thinner, and the Quantity of Oxygen also Decreases, this Might Lead to Headache and Acute Stomach Pain, But Don't Worry, Take Some Rest for a While. the Temple is Carved Out of Stones with Ultimate Precision and Perfection; It Installs Divine Intervention in Your Minds. from the Temple, You Can View Roopkund, the Final Trekking Destination. the View is Just Magnificent One with Shining and Sparkling Trishul On One Side and Bell Shaped Nandagunti On the Other. You Further Follow Up the Uneven Trail Leading to Bhaguabasa At 1km Distance from There. the Region Has Its Own Specialities, Flowers that Bloom Only During the Monsoon Months. You Currently Stand At a Very High Altitude of 14000ft and the Terrain Seems to Look Rough and Not So Easy to Traverse.</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> Bhagwabasa to Roopkund and Back to Bedni Bugyal
										</p>
										<p class="aj">Start Early On this Day to Reach the Mega Destination – Roopkund. At An Altitude of More Than 16000ft, It is Surely the Highest Point On the Trek. Though the Path is Not that Complicated to Climb, But Even the 4km Walk Will Take a Breath Out of You and Tire You like Hell. But No Trekking is Easy, Right? During Monsoon, the Snow Covering this Area is Very Less and Shallow, Which Makes the Path Reveal Itself Properly. from Bhaguabasa, Your First Checkpoint is Chhirianag Which Means Ladder like Snake. from this Place, the Next Point Lays Roopkund – the Mystery Island. the Lake of Skeletons is One of the Most Mysterious Places in the World. Till Date, Even Archaeologists, and Scientists are Not Able to Find Out How There Were So Many Skeletons On the Bed of the Lake. There are Theories and Fables Which State that Once a King and His Fellowmen Were Going to Nanda Devi, And, Unfortunately, a Severe Hailstorm Led to Their Deaths. if You are Extremely Lucky, Then from the Edge of the Lake You Can Clearly See Somewhere Around 300 Human Skeletons. this View in Itself is Breath Taking and People Go Crazy After Seeing This. from this Place, the Trek Will Be Along a Hard and Steep Terrain. After the Steep Climb Gets Over, You Will Find the Nanda Devi Temple. this is Very Near to the Nanda Devi Biosphere Reserve. a Perfect Site for Taking Good Snaps with Friends and other Fellow Trekkers. Depending Upon the Weather and the Co-climbers Conditions May Decide to Risk On the Junargali Pass Which Stands 16700 Feet from Sea Level. Without Any Meteorological Interference, You Would Need About 45 Minutes to Climb. You Will have to Pass Through Bhagwabasa On the Return Journey. These Places are Filled with Sheer Exhilaration and Thrill. the Descent Along the Path is Twice Difficult that of the Ascent It is So Steep that One Might have the Feeling of Falling Down from the Top. Move Along to Discover a Cave like Structure Called as Bhagwabasa or the Abode of the Tiger. You Further Climb Down to Reach Patarnachuni About 12500 Above Ground Level. You Continue Backwards Through Ghora Lautani Back to Bedni Bughyal. Your Day Will End At the Campsite Amidst Lush Greenery. this Trip is One of the Longest, Covering Over a Distance of 15km Taking About10-15 Hours for Completion. the Legs Will Push You to Deep Sleep as They Need a Lot of Rest. But Before Going to Bed, Do Realize the Whole Trek Was Not At all Easy and Requires a Whole Lot of Determination and Courage to Complete It.</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> Bedni bugyal to Loharjung
										</p>
										<p class="aj">Day 7 is Probably the Last Day of the Trek Where You Will have to Walk and Return to the Camp Site At Day01. Descending and Climbing Up are Two Things that are Very Different, Though the Path Remains the Same. this Time You Travel On the Right Side of the Trail and It Seems a Simple Path as Compared to the Previous Day's Strenuous Affair. for the First Time, You Will See Wooden Huts Dotted Along the Path. After Travelling a Little More, You are Now Able to See the Road Dividing Itself Into Two Lanes. You Need to Take the One Which Leads to Right. It Goes Down and Down, and as You Descend Further You Can Again See that You have Entered the Forest Region with Trees all Along the Lane. the Bird Tweeting and the Cool Aiwin Past Your Ears are a Treat that You Will Rarely Get to Feel. Due to the Varying Slope, Trekkers are Cautioned to Take Each and Every Step Very Carefully; Otherwise One Might End Up Hurting Themselves. Shortcuts Though May Look Rewarding Must Be Avoided as Much as Possible as the Terrain is Pretty Rough. After Walking a Few More Yards You Near An Opening Inside the Dense Forest Called the Gahroli Patal. You Continue Our Journey Till You Reach the Banks of the River of Neel Ganga. Once You Reach the River Bed, Your Journey Continues, Till You Reach the Wan Village Called Ran Ka Dhar. the Village of Wan is the Next Stop After Which You Descend Further. Wan Feels like Very Much At Home, a Big Village with Hills and Mountains Covering the Edges, a View to Cherish all Your Lives. as You Travel a Few More Yards At the Road and You Find the Car Waiting to Pick You Up. the Distance Covered for the Day for the Descent is Nearly 18km and Requires About 10 Hours. It Needs An Hour from Wan to Reach Lohargunj. the Road Taken By Car is Rocky. Once You Reach Back the Tourist Guest House You Can Rejoice all the Memories of the Trip and Comfortably Sleep On the Warm Bed.</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 8:</b> Loharjung to kathgodam
										</p>
										<p class="aj">Wake up early in the morning; have a nice cup of tea and an awesome hillside breakfast. Today you will leave for Lohargunj, along with all the beautiful and unforgettable memories pack your own stuffs and luggage. Your cab will drop you at the Kathgodam railway station. The car journey will take something around 10 hours, and do make sure that you are carrying mint and tablets which prevent nausea. From Kathgodam railway station, you will find trains to various locations. Board your respective train and take along a healthy experience with memories that will never fade away.</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>
																			</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.abctrekkers.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Roopkund Trek 8 Days 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="185189"/>
						</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.abctrekkers.in/packages-in-dehradun.htm" title="Packages in Dehradun">Dehradun</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.abctrekkers.in/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.abctrekkers.in/packages-in-joshimath.htm" title="Packages in Joshimath">Joshimath</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.abctrekkers.in/packages-in-ghangaria.htm" title="Packages in Ghangaria">Ghangaria</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.abctrekkers.in/packages-in-kathgodam.htm" title="Packages in Kathgodam">Kathgodam</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.abctrekkers.in/packages-in-govindghat.htm" title="Packages in Govindghat">Govindghat</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.abctrekkers.in/packages-in-hemkunt-sahib.htm" title="Packages in Hemkund Sahib">Hemkund Sahib</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.abctrekkers.in/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.abctrekkers.in/packages-in-badrinath.htm" title="Packages in Badrinath">Badrinath</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.abctrekkers.in/packages-in-chitkul.htm" title="Packages in Chitkul">Chitkul</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.abctrekkers.in/packages-in-medak.htm" title="Packages in Medak">Medak</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.abctrekkers.in/packages-in-yamunotri.htm" title="Packages in Yamunotri">Yamunotri</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.abctrekkers.in/packages-in-kedarnath.htm" title="Packages in Kedarnath">Kedarnath</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.abctrekkers.in/packages-in-auli.htm" title="Packages in Auli">Auli</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.abctrekkers.in/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</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.abctrekkers.in/packages-in-nainital.htm" title="Packages in Nainital">Nainital</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.abctrekkers.in/packages-in-sangla.htm" title="Packages in Sangla">Sangla</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.abctrekkers.in/packages-in-manali.htm" title="Packages in Manali">Manali</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.abctrekkers.in/packages-in-gangotri.htm" title="Packages in Gangotri">Gangotri</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.abctrekkers.in/packages-in-harsil.htm" title="Packages in Harsil">Harsil</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.abctrekkers.in/packages-in-rudraprayag.htm" title="Packages in Rudraprayag">Rudraprayag</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.abctrekkers.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.abctrekkers.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.abctrekkers.in/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.abctrekkers.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="https://www.abctrekkers.in/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="https://www.abctrekkers.in/camping-holidays-catid.htm" title="Camping Packages">Camping</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 Kathgodam, Govindghat, Ghangaria, Sangla</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='https://www.abctrekkers.in/tour-packages/black-peak-trek-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/557335/288319.jpeg"  alt="Black Peak Trek Tour" title="Black Peak Trek Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.abctrekkers.in/tour-packages/black-peak-trek-tour.htm" title="Black Peak Trek Tour"><h3>Black Peak 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> : 
								14 Nights / 15 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kathgodam</p>
															<div class="mt10px small">
							<form name="pkg_186015" id="pkg_186015" method="post" action="https://www.abctrekkers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.abctrekkers.in/tour-packages/black-peak-trek-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Black Peak 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="186015"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.abctrekkers.in/tour-packages/valleyof-flowers-trek-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/557335/288315.jpg"  alt="Valley of Flowers Trek Tour" title="Valley of Flowers Trek Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.abctrekkers.in/tour-packages/valleyof-flowers-trek-tour.htm" title="Valley of Flowers Trek Tour"><h3>Valley Of Flowers 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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Haridwar, Joshimath, Hemkund Sahib, Govi..</p>
															<div class="mt10px small">
							<form name="pkg_186011" id="pkg_186011" method="post" action="https://www.abctrekkers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.abctrekkers.in/tour-packages/valleyof-flowers-trek-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Valley of Flowers 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="186011"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.abctrekkers.in/tour-packages/kathgodam-with-loharjung-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/557335/285003.jpg"  alt="Kathgodam  with Loharjung  Tour" title="Kathgodam  with Loharjung  Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.abctrekkers.in/tour-packages/kathgodam-with-loharjung-tour.htm" title="Kathgodam  with Loharjung  Tour"><h3>Kathgodam  With Loharjung  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> :  Kathgodam, Govindghat, Ghangaria, Sangla..</p>
															<div class="mt10px small">
							<form name="pkg_184969" id="pkg_184969" method="post" action="https://www.abctrekkers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.abctrekkers.in/tour-packages/kathgodam-with-loharjung-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Kathgodam  with Loharjung  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="184969"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.abctrekkers.in/tour-packages/valleyof-flowers6-days-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/557335/285415.jpg"  alt="Valley of Flowers 6 Days Tour" title="Valley of Flowers 6 Days Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.abctrekkers.in/tour-packages/valleyof-flowers6-days-tour.htm" title="Valley of Flowers 6 Days Tour"><h3>Valley Of Flowers 6 Days 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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Haridwar, Badrinath, Joshimath, Hemkund ..</p>
															<div class="mt10px small">
							<form name="pkg_185191" id="pkg_185191" method="post" action="https://www.abctrekkers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.abctrekkers.in/tour-packages/valleyof-flowers6-days-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Valley of Flowers 6 Days 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="185191"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.abctrekkers.in/tour-packages/brahramtal-trek-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/557335/288309.jpg"  alt="Brahramtal Trek Tour" title="Brahramtal Trek Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.abctrekkers.in/tour-packages/brahramtal-trek-tour.htm" title="Brahramtal Trek Tour"><h3>Brahramtal 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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kathgodam</p>
															<div class="mt10px small">
							<form name="pkg_186005" id="pkg_186005" method="post" action="https://www.abctrekkers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.abctrekkers.in/tour-packages/brahramtal-trek-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Brahramtal 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="186005"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.abctrekkers.in/tour-packages/haridwar-with-joshimath-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/557335/285004.jpg"  alt="Haridwar with Joshimath Tour" title="Haridwar with Joshimath Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.abctrekkers.in/tour-packages/haridwar-with-joshimath-tour1.htm" title="Haridwar with Joshimath Tour"><h3>Haridwar With Joshimath 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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Haridwar, Badrinath, Joshimath, Hemkund ..</p>
															<div class="mt10px small">
							<form name="pkg_184970" id="pkg_184970" method="post" action="https://www.abctrekkers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.abctrekkers.in/tour-packages/haridwar-with-joshimath-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Haridwar with Joshimath 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="184970"/>
							</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:64:"Book Roopkund Trek 8 Days Tour - 7 Nights / 8 Days Tour Packages";i:2;s:158:"book roopkund trek 8 days tour - 7 nights / 8 days tour packages, religious & pilgrimage tour packages, kathgodam, govindghat, ghangaria, sangla tour packages";i:3;s:187:"Abc Trekkers offers Roopkund Trek 8 Days Tour - 7 Nights / 8 Days tour package, budget Religious & Pilgrimage tour packages for Kathgodam, Govindghat, Ghangaria, Sangla at exciting price.";i:4;s:1527:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathgodam, Govindghat, Ghangaria, Sangla"        
		                 },
		      "description": "Short Itinerary

Day 01: Pickup from Kathgodam in the morning and reach Lohajung (2300mts, 7500ft):

Day 02: Lohargunj to Didna Village

 

Day 03: Didna village to Ali Bugyal

Day 04: Ali Bugyal to Ghora Lotani

Day 05: Ghora lotani to Bhagwabasa

Day 06: Bhagwabasa to Roopkund and back to Bedni Bugyal

Day 07: Bedni bugyal to Loharjung

Day 08: Loharjung to kathgodam 

TREK FEE PER PERSON

 

Rs.12,500/-
 
(Includes all costs of the Expedition from Kathgodam To Kathgodam ) 
(5% GST)

Duration – 8 Days (Kathgodam To Kathgodam) 

Best Season - May,june, September, October

Level – Moderate

Altitude : 4800 Mt

AVERAGE TEMPERATURE:

Winter temperatures - Roopkund trek– 3°C to – 5° C – And Base Camp Roopkund trek / -5°C to -8°C - winter December to Jan
Summer temperatures – Roopkund trek +5° C to +20° C

Must read about Roopkund trek -  Roopkund, in the state of Uttarakhand in India, is a famous glacial lake. This lake is famous due to more than five hundred skeletons of humans that are found at the edge of the lake.",
		      "name": "Roopkund Trek 8 Days Tour",
		      "telephone": "+91-9458118063"
		    }
		    </script>
			";i:5;N;}