a:6:{i:0;s:51042:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Roopkund Trek Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.thecrazymountaineers.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.thecrazymountaineers.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Roopkund 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> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Garhwal, Kathgodam, Govindghat</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 9499 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.thecrazymountaineers.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Roopkund 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="192268"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_22/647857/303289.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/647857/303289.jpg"  width="150" height="112"    alt="Roopkund Trek Tour" title="Roopkund Trek Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Region :- Uttrakhand<br />
Duration :- 8 Days<br />
Grade :- Difficult To Moderate<br />
Max Altitude :- 15,696 Ft.<br />
Approx Trekking Km :- 53* Kms. <br />
<br />
<br />
<br />
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. It is located in the Himalayas and rests at an altitude of nearly 4,800 meters. Roopkund is located in the Chamoli district of Garhwal. It is one of the best sites for Trekking in Garhwal. It is closer to hill stations like Nainital and Kathgodam. At a distance of 217 km from Nainital and 235 km from Kathgodam, Roopkund is one of the major adventure attractions for people in the country and also for people who are travelling from abroad. Roopkund, which is located in the lap of Trishul massif is also known as the mystery lake. You can find human skeletons at the bank of the lake and it is believed that they belong to the Palaeolithic age.<br />
These are believed to be the skeletons of the heroes who had fought here in the earlier times. Along with the skeletons of humans, you can also find skeletal structure of horses and other animals. There are reports that these skeletons belong to the 12th century to the 15th century. It is believed by specialists that the death of many people in this region was a result of landslides, blizzard or an epidemic. The human skeletons were re-discovered in 1942 by H K Madhwal, who was a Nanda Devi Game reserve ranger.<br />
Later in 2004, a team of Indian scientists along with some Europeans visited the area to gain more information about the nature of the skeletons. On extensive research and findings, they found human skulls, bones and other jewellery. The DNA of the skeletons was taken, and it appeared that the people belonged to many classes and showed different features and morphological structure. There was a group of short people and tall people who were believed to be closely related to each other. Though the exact number of the skeletons cannot be ascertained, but a total number of around 500 hundred skeletons were found. It is also believed that an equal number of skeletons perished due to the natural environment.<br />
The Radiocarbon dating of the skeletons at the Oxford University Radiocarbon Accelerator Unit determines the age of the skeletons to be somewhere around 850 AD. Later extensive research has been carried out in various parts of the country and the world. Many scientists are of the idea that the people did not die of an epidemic but due to sudden hailstorms. The hailstorms are supposed to be as big as the size of a cricket ball, and as there was no shelter in the open areas of the Himalayas, people might have come under its disastrous and direct effect. It is considered as one of the strongest reasons for the extinction of the natives of this area.<br />
The cold and icy weather condition can be said to be the reason for the preservation of the skeletons for such a long time. The favourable weather conditions prevented the skeletons to decay off and decompose into soil. With landslides that were rampant in the area, many bodies slipped into the lakes and stayed there for a long time. The bodies that fell into the lake had a greater shelf-life as compared to the ones which remained in the open. However it is still not determined if this group of people lived here, or if they were heading towards a destination. Historical evidence of any trade route towards Tibet has not been established. Therefore it is hard to decipher the real purpose of the group of people that were victims to this natural calamity. There are possibilities that the group may be heading towards the Nanda Devi pilgrimage where Nanda Devi Raj Jat festivities take place once every 12 years.<br />
Lohajung is the starting trekking point for Roopkund. The Roopkund trek can also be called Skeleton Trek due to the presence of different skeletons in and around the lake. The lake is surrounded by snow clad mountains and rock- strewn glaciers.<br />
Trekking in India and choosing the Roopkund trek is an adventurous journey which passes through many exotic and beautiful locations. As you trek towards the lake, you would find lush green grassy land and conifer forest ranging towards the fall of hills. Thereafter the trek takes its way along the Pindar River. You can enjoy the natural and lush green beauty of the surroundings with the pleasant breeze that blows all around you, giving a soothing effect to your senses.<br />
Roopkund is a picturesque, beautiful and attractive tourist destination in the Himalayas. Located at the base of two Himalayan peaks, Trishul and Nandghungti, it attracts people who have an adventurous side to life. There are religious festivals that take place in autumn, held at the alpine meadow of Bedni Bugyal, where the nearby villages participate. The lake is covered with ice all the time and it adds to its beauty. It is an enjoyable travelling destination as one is surrounded by mountains from all sides. Trekking in Uttarakhand also gives you the chance to trek the Himalayas. You can also go for the Nanda Rajjat Yatra.<br />
There are many routes for a trek to Roopkund. One of the most common routes taken by travellers and adventurers is through Lohajung up to where you can travel by road. Trekking begins after this point. There are also some plains or flat areas where you can camp during the night. If the weather is not foggy, you can easily see Bedni Bugyal and Trishul. On your way to Roopkund, you would also find many grazing lands for horses, sheep and mules. You would come across a few temples and lakes on your journey. Many waterfalls are also visible on the slopes of the surrounding mountains. However, it should be kept in mind that the weather is generally hostile throughout the year and travellers need to be fully equipped and prepared for these conditions.								</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 days 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">Todays 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 doesnt 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 Himalayas 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 dont 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 nights 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 dont 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 days 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 dont 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 days 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>
																				<li>1. Accommodation. (Guest house, Home stay, Camping)</li><li>
2. Meals while on trek (Veg.+ Egg)</li><li>
3. Mountaineering qualified & professional trek Leader, guide, cook and Support staff.</li><li>
4. All necessary permits and entry fees.</li><li>
5. First aid medical kits, stretcher and oxygen cylinder.</li><li>
6. Trek equipments: Sleeping bag, mattress, tent (twin sharing), kitchen & dinning tent, toilet tent, utensils and crampon (if required).</li><li>
7. Services from Loharjung to Loharjung.</li><li>
8. THE CRAZY MOUNTAINEERS Staff insurance.</li><li>
9. Mules to carry the central luggage.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>1. Any kind of personal expenses.</li><li>
2. Food during the transit.</li><li>
3. Insurance.</li><li>
4. Mules or porter to carry personal luggage.</li><li>
5. Any kind of emergency evacuation charges.</li><li>
6. Anything not specifically mentioned under the head.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Some Advance Percentage of total booking amount</li><li>
Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>9499</b> <small>/
			
			                		Adult			
			                				
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</div>
					 					
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</div>
												<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.thecrazymountaineers.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Roopkund 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="192268"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/dehradun-tour-packages.htm" title="Dehradun Tour Packages">Dehradun</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/haridwar-tour-packages.htm" title="Haridwar Tour Packages">Haridwar</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/almora-tour-packages.htm" title="Almora Tour Packages">Almora</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/port-blair-tour-packages.htm" title="Port Blair Tour Packages">Port Blair</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/rishikesh-tour-packages.htm" title="Rishikesh Tour Packages">Rishikesh</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/leh-ladakh-tour-packages.htm" title="Leh Ladakh Tour Packages">Leh Ladakh</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/garhwal-tour-packages.htm" title="Garhwal Tour Packages">Garhwal</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/medak-tour-packages.htm" title="Medak Tour Packages">Medak</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/joshimath-tour-packages.htm" title="Joshimath Tour Packages">Joshimath</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/govindghat-tour-packages.htm" title="Govindghat Tour Packages">Govindghat</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/ghangaria-tour-packages.htm" title="Ghangaria Tour Packages">Ghangaria</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/kathgodam-tour-packages.htm" title="Kathgodam Tour Packages">Kathgodam</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/sangla-tour-packages.htm" title="Sangla Tour Packages">Sangla</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/kaza-tour-packages.htm" title="Kaza Tour Packages">Kaza</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/tabo-tour-packages.htm" title="Tabo Tour Packages">Tabo</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/digboi-tour-packages.htm" title="Digboi Tour Packages">Digboi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/mandi-tour-packages.htm" title="Mandi Tour Packages">Mandi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/kalpa-tour-packages.htm" title="Kalpa Tour Packages">Kalpa</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/jispa-tour-packages.htm" title="Jispa Tour Packages">Jispa</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/kashmir-tour-packages.htm" title="Kashmir Tour Packages">Kashmir</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/jammu-tour-packages.htm" title="Jammu Tour Packages">Jammu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/likabali-tour-packages.htm" title="Likabali Tour Packages">Likabali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/hemkunt-sahib-tour-packages.htm" title="Hemkund Sahib Tour Packages">Hemkund Sahib</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/parwanoo-tour-packages.htm" title="Parwanoo Tour Packages">Parwanoo</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/gangotri-tour-packages.htm" title="Gangotri Tour Packages">Gangotri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/chitkul-tour-packages.htm" title="Chitkul Tour Packages">Chitkul</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thecrazymountaineers.in/zanskar-tour-packages.htm" title="Zanskar Tour Packages">Zanskar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(31)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/camping-holidays-catid.htm" title="Camping Packages">Camping</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazymountaineers.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Garhwal, Kathgodam, Govindghat</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.thecrazymountaineers.in/holiday-packages/panchachuli-base-camp-trek.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/647857/303303.jpg"  alt="Panchachuli Base Camp Trek" title="Panchachuli Base Camp Trek"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thecrazymountaineers.in/holiday-packages/panchachuli-base-camp-trek.htm" title="Panchachuli Base Camp Trek"><h3>Panchachuli Base Camp Trek</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> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kathgodam, Govindghat, Ghangaria</p>
															<div class="mt10px small">
							<form name="pkg_192274" id="pkg_192274" method="post" action="http://www.thecrazymountaineers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thecrazymountaineers.in/holiday-packages/panchachuli-base-camp-trek.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Panchachuli Base Camp Trek - 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="192274"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.thecrazymountaineers.in/holiday-packages/deoria-tal-chopta-chandrashila-trek-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/647857/303291.jpg"  alt="Deoria Tal Chopta Chandrashila Trek Tour" title="Deoria Tal Chopta Chandrashila Trek Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thecrazymountaineers.in/holiday-packages/deoria-tal-chopta-chandrashila-trek-tour.htm" title="Deoria Tal Chopta Chandrashila Trek Tour"><h3>Deoria Tal Chopta Chandrashila 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> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Haridwar, Nainital, Dehradun, Almora, Po..</p>
															<div class="mt10px small">
							<form name="pkg_192270" id="pkg_192270" method="post" action="http://www.thecrazymountaineers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thecrazymountaineers.in/holiday-packages/deoria-tal-chopta-chandrashila-trek-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Deoria Tal Chopta Chandrashila 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="192270"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.thecrazymountaineers.in/holiday-packages/bhuran-ghati-pass-trek-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/647857/303386.jpg"  alt="Bhuran Ghati Pass Trek Tour" title="Bhuran Ghati Pass Trek Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thecrazymountaineers.in/holiday-packages/bhuran-ghati-pass-trek-tour.htm" title="Bhuran Ghati Pass Trek Tour"><h3>Bhuran Ghati Pass 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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Shimla, Solan, Parwanoo, Dharamshala, Ja..</p>
															<div class="mt10px small">
							<form name="pkg_192337" id="pkg_192337" method="post" action="http://www.thecrazymountaineers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thecrazymountaineers.in/holiday-packages/bhuran-ghati-pass-trek-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Bhuran Ghati Pass 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="192337"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.thecrazymountaineers.in/holiday-packages/brahmatal-trek-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/647857/303294.jpg"  alt="Brahmatal Trek Tour" title="Brahmatal Trek Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thecrazymountaineers.in/holiday-packages/brahmatal-trek-tour.htm" title="Brahmatal Trek Tour"><h3>Brahmatal 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, Govindghat, Ghangaria, Sangla..</p>
															<div class="mt10px small">
							<form name="pkg_192272" id="pkg_192272" method="post" action="http://www.thecrazymountaineers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thecrazymountaineers.in/holiday-packages/brahmatal-trek-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Brahmatal 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="192272"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.thecrazymountaineers.in/holiday-packages/dayara-bugyal-trek-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/647857/303287.jpg"  alt="Dayara Bugyal Trek Tour" title="Dayara Bugyal Trek Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thecrazymountaineers.in/holiday-packages/dayara-bugyal-trek-tour.htm" title="Dayara Bugyal Trek Tour"><h3>Dayara Bugyal 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> :  Dehradun, Almora, Port Blair, Garhwal</p>
															<div class="mt10px small">
							<form name="pkg_192266" id="pkg_192266" method="post" action="http://www.thecrazymountaineers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thecrazymountaineers.in/holiday-packages/dayara-bugyal-trek-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Dayara Bugyal 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="192266"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.thecrazymountaineers.in/holiday-packages/valleyof-flowers-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/647857/303290.jpg"  alt="Valley of Flowers Tour" title="Valley of Flowers Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thecrazymountaineers.in/holiday-packages/valleyof-flowers-tour.htm" title="Valley of Flowers Tour"><h3>Valley Of Flowers 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> :  Hemkund Sahib, Govindghat, Ghangaria</p>
															<div class="mt10px small">
							<form name="pkg_192269" id="pkg_192269" method="post" action="http://www.thecrazymountaineers.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thecrazymountaineers.in/holiday-packages/valleyof-flowers-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Valley of Flowers 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="192269"/>
							</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:57:"Book Roopkund Trek Tour - 7 Nights / 8 Days Tour Packages";i:2;s:127:"book roopkund trek tour - 7 nights / 8 days tour packages, trekking tour packages, garhwal, kathgodam, govindghat tour packages";i:3;s:181:"Book Roopkund Trek Tour - 7 Nights / 8 Days tour packages from THE CRAZY MOUNTAINEERS - Get attractive 7 Nights / 8 Days Trekking  tour packages for  Garhwal, Kathgodam, Govindghat.";i:4;s:6311:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Garhwal, Kathgodam, Govindghat"        
		                 },
		      "description": "Region :- Uttrakhand
Duration :- 8 Days
Grade :- Difficult To Moderate
Max Altitude :- 15,696 Ft.
Approx Trekking Km :- 53* Kms. 



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. It is located in the Himalayas and rests at an altitude of nearly 4,800 meters. Roopkund is located in the Chamoli district of Garhwal. It is one of the best sites for Trekking in Garhwal. It is closer to hill stations like Nainital and Kathgodam. At a distance of 217 km from Nainital and 235 km from Kathgodam, Roopkund is one of the major adventure attractions for people in the country and also for people who are travelling from abroad. Roopkund, which is located in the lap of Trishul massif is also known as the mystery lake. You can find human skeletons at the bank of the lake and it is believed that they belong to the Palaeolithic age.
These are believed to be the skeletons of the heroes who had fought here in the earlier times. Along with the skeletons of humans, you can also find skeletal structure of horses and other animals. There are reports that these skeletons belong to the 12th century to the 15th century. It is believed by specialists that the death of many people in this region was a result of landslides, blizzard or an epidemic. The human skeletons were re-discovered in 1942 by H K Madhwal, who was a Nanda Devi Game reserve ranger.
Later in 2004, a team of Indian scientists along with some Europeans visited the area to gain more information about the nature of the skeletons. On extensive research and findings, they found human skulls, bones and other jewellery. The DNA of the skeletons was taken, and it appeared that the people belonged to many classes and showed different features and morphological structure. There was a group of short people and tall people who were believed to be closely related to each other. Though the exact number of the skeletons cannot be ascertained, but a total number of around 500 hundred skeletons were found. It is also believed that an equal number of skeletons perished due to the natural environment.
The Radiocarbon dating of the skeletons at the Oxford University Radiocarbon Accelerator Unit determines the age of the skeletons to be somewhere around 850 AD. Later extensive research has been carried out in various parts of the country and the world. Many scientists are of the idea that the people did not die of an epidemic but due to sudden hailstorms. The hailstorms are supposed to be as big as the size of a cricket ball, and as there was no shelter in the open areas of the Himalayas, people might have come under its disastrous and direct effect. It is considered as one of the strongest reasons for the extinction of the natives of this area.
The cold and icy weather condition can be said to be the reason for the preservation of the skeletons for such a long time. The favourable weather conditions prevented the skeletons to decay off and decompose into soil. With landslides that were rampant in the area, many bodies slipped into the lakes and stayed there for a long time. The bodies that fell into the lake had a greater shelf-life as compared to the ones which remained in the open. However it is still not determined if this group of people lived here, or if they were heading towards a destination. Historical evidence of any trade route towards Tibet has not been established. Therefore it is hard to decipher the real purpose of the group of people that were victims to this natural calamity. There are possibilities that the group may be heading towards the Nanda Devi pilgrimage where Nanda Devi Raj Jat festivities take place once every 12 years.
Lohajung is the starting trekking point for Roopkund. The Roopkund trek can also be called Skeleton Trek due to the presence of different skeletons in and around the lake. The lake is surrounded by snow clad mountains and rock- strewn glaciers.
Trekking in India and choosing the Roopkund trek is an adventurous journey which passes through many exotic and beautiful locations. As you trek towards the lake, you would find lush green grassy land and conifer forest ranging towards the fall of hills. Thereafter the trek takes its way along the Pindar River. You can enjoy the natural and lush green beauty of the surroundings with the pleasant breeze that blows all around you, giving a soothing effect to your senses.
Roopkund is a picturesque, beautiful and attractive tourist destination in the Himalayas. Located at the base of two Himalayan peaks, Trishul and Nandghungti, it attracts people who have an adventurous side to life. There are religious festivals that take place in autumn, held at the alpine meadow of Bedni Bugyal, where the nearby villages participate. The lake is covered with ice all the time and it adds to its beauty. It is an enjoyable travelling destination as one is surrounded by mountains from all sides. Trekking in Uttarakhand also gives you the chance to trek the Himalayas. You can also go for the Nanda Rajjat Yatra.
There are many routes for a trek to Roopkund. One of the most common routes taken by travellers and adventurers is through Lohajung up to where you can travel by road. Trekking begins after this point. There are also some plains or flat areas where you can camp during the night. If the weather is not foggy, you can easily see Bedni Bugyal and Trishul. On your way to Roopkund, you would also find many grazing lands for horses, sheep and mules. You would come across a few temples and lakes on your journey. Many waterfalls are also visible on the slopes of the surrounding mountains. However, it should be kept in mind that the weather is generally hostile throughout the year and travellers need to be fully equipped and prepared for these conditions.",
		      "name": "Roopkund Trek Tour",
		      "telephone": "+91-9557739933"
		    }
		    </script>
			";i:5;N;}