a:6:{i:0;s:37890:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Auden Col Trek 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> Auden Col 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> 
						12 Nights / 13 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Nainital, Dehradun, Kedarnath, Gangotri, Rishikesh, Rudraprayag</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="Auden Col 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="186014"/>
						</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/288318.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/557335/288318.jpg"  width="150" height="93"    alt="Auden Col Trek Tour" title="Auden Col Trek Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								The Holy River Ganges is the most sacred river in the Hindu religion and its source at Gomukh at the Gangotri glacier. ... The glacier follows a N. Westerly route located below Chaukhamba Mountain, the highest peak of the group. ...<br />
<br />
This is the only  Ganga valley from where one can see Bhagirathi peak  – I, II, III, . Shivling Peak  and Matri Peak , Raktvan  . , all together. One can also see the Tapovan And Nill Tal  (4400 mt) peaks from here.<br />
<br />
Gangotri : The shrine of Gangotri is situated at an elevation of 3200 m surrounded by Deodars (Cider) and Chir (pine). The original temple was constructed by the Gorkha General Amar Singh Thapa after his conquest of the Garhwal area! Every year people from all around the world visit this shrine. A number of Ashrams and Dharamshalas are located on the far side of the river. It is believed that Raja Bhagirath used to worship Shiva on a slab of rock "Bhagirath Shila" situated near the temple. Submerged in the river there is a natural Shivling where, according to mythology, Lord Shiva sat when he received the Goddess Ganga in his matted locks. A days trek takes one to Gomukh, the source of the mighty Ganges.<br />
<br />
Welcome to Auden's Col  Expedition 2018  an Introduction Col is a mountain pass which connects Jogin I (6465 Mt) and Gangotri III (6580m) peaks and is reportedly situated at a height of around 5466mT. It also binds two glaciers on the opposite sides. One is Khatling glacier and the other one looks like the glacier belonging to Jogin I. Auden's Col is approachable from Gangotri and one can trek up to Kedarnath following Auden's Col and Khatling glacier. Auden's Col gets its name from J B Auden, who first crossed it in 1939-40. This pass was then explored only after late eighties.<br />
<br />
Trekking route, schedule, and plan depends on a trekker’s ability, experience, as well as prevailing weather condition. Since the trek is strenuous and dangerous, it is advisable to secure, well in advance, services of a guide who has first hand knowledge of the trek, and possibly has done it several times. A typical route plan in good weather condition is as following.								</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> Pick up to you from DehraDun/ Risikesh  to Gangotri  by taxi (245km) (8/9hrs) .Over night stay in ho
										</p>
										<p class="aj">After breakfast meet the guide and transfer to Uttarkashi (1150 mt) via the hill towns of Mussoorie / Uttarakashi  & i which takes 5-6 hrs. The Chinyali saur  near by Tehri Dam with a capacity to generate 2400 MW of electricity and the massive Tehri lake can be seen during the journey. .<br />
<br />
then drive to Gangotri nice drive along right bank of river Ganga ( Bhagirathi ) in the mid way visit Hot spring and teak sulfur bath in Gangnani . On the way beautiful view of Grater Himalayas ,Harshil and green forest . On arrival check hotel in evening visit holly city Gangotri ,7pm see nice Siromani {Arti} of Goddess GANGA Dinner and overnight at the hotel . it is known to be a centre of region and learning since ancient times, and has a lot to be explored. Evening free to explore the surrounding by your own.</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> Acclimatisation Days Trek Around Gangotri
										</p>
										<p class="aj">Gangotri : The shrine of Gangotri is situated at an elevation of 3200 m surrounded by Deodars (Cider) and Chir (pine). The original temple was constructed by the Gorkha General Amar Singh Thapa after his conquest of the Garhwal area! Every year people from all around the world visit this shrine. A number of Ashrams and Dharamshalas are located on the far side of the river. It is believed that Raja Bhagirath used to worship Shiva on a slab of rock "Bhagirath Shila" situated near the temple. Submerged in the river there is a natural Shivling where, according to mythology, Lord Shiva sat when he received the Goddess Ganga in his matted locks. A days trek takes one to Gomukh, the source of the mighty Ganges.</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> After breakfast from Gangotri – Nalla Camp (3769mt) (12335 Feet) over night stay in camp
										</p>
										<p class="aj">Team Outdoor hikers proved to you .early morning breakfast and wait for porter’s to arrive and distribute the loads amongst themselves. We set of on the true left of the Bhagirathi river and walk for about half an hour before we turn south towards the Rudragaira Nalla. Looking back we get beautiful views of  the snow capped mountains. The climb is a gradual uphill through the forests of birch and maple. Nalla Camp is just above the tree line and can get quite chilly during the night. Overnight in tent.</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> After breakfast from Nalla Camp – Rudra Base Camp (4356mt) 14270 ft./Trek 7 km /5 hrs.)over night
										</p>
										<p class="aj">Birch forests give way to green meadows. There are steep climbs and rock fall zones and a river crossing on the way to Rudugaira Base Camp site. Camp site offers views of Rudugaira peak, Gangotri I, Gangotri II, Gangotri III, and Jogin I.</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> A Day to Acclimatize Rest Day
										</p>
										<p class="aj">Rest and Acclimatization day at rudragaira BC Around explore some time  (4350 mt. / 14270 feet.)</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> After breakfast from Gangotri BC (4560mt/14767 feet)./14760 feet./ Trek 7 km./5 hrs.)over night stay
										</p>
										<p class="aj">Today we are hike involves moraine and technical surface to be accustomed. The path is gradual throughout but challenging at times. Approach near the camp makes you feel cherished and refreshed with the gorgeous views of Gangotri I, II & III peaks. Overnight in the tent .</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> After breakfast from Auden's Col BC (4780 MT /15480 feet./Trek 5 km./3 hrs.)
										</p>
										<p class="aj">Post breakfast, continue on the same trail through the moraines, today’s destination is the Auden’s Col base camp. Climbing up and down the boulders, it will take another 5 odd hours to reach the campsite for today. Overnight in tents .</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> After Breakfast from Cross Auden’s Col (5455mt) & Descends to Khatling Glacier Camp I (5118mt)trek
										</p>
										<p class="aj">We start before dawn to take advantage of walking on firm snow. The climb is quite steep through deep snow and could easily take 4-6  hrs depending on the snow conditions. Once we get to the col there are sweeping views of the Khatling Glacier, and the mountain peaks of Jaonli, Kedarnath, Jogin & Gangotri. From the col we descend down near-vertical walls of ice on fixed ropes to the heavily crevassed Khatling Glacier. We hope that there is enough snow on this section to cover the underlying surface of loose rocks and boulders otherwise the descent could be very technical and dangerous. Once we are down, we walk a further half an hour before we find a flat space on the glacier, suitable for camping. Overnight – Khatling Glacier Camp  (5116 Mt )</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 9:</b> After breakfast from  Exit Khatling Glacier and reach Chowki (3540mt) Trek 16 km./ 8 hrs.)
										</p>
										<p class="aj">After breakfast from trek to Another difficult day regardless of whether one crosses waterfalls or remaining of Khatling. However, after crossing boulder zone at the Bhilangna river snout, the camp site offers much needed respite and greenery. Hard part of trek is over now. An alternate is to descend all the way down to Khatling Glacier and keep walking towards it's snout. This path is not chosen due to dangerous crevasses and a need to cross over the Ice Wall. Chowki, a beautiful meadow. We camp beside Doodh Ganga with great views of Thalay Sagar and Khatling Glacier. Overnight in Tents .</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 10:</b> After breakfast from Masar Tal (3675mt/12050 feet)Trek 9 km./7 hrs.)over night stay in tent
										</p>
										<p class="aj">This day's trek passes through a steep ascend with switchbacks and leads to a ridge set with a picturesque valley at the backdrop. The trail is well defined with wonderful natural surrounding on both sides leading to enjoy to beautiful  Masar Tal. Overnight in .tents</p>
										</td>
										</tr>
										</table>					
										</div><div id="show_more_content" style="display:none;">
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 11:</b> After breakfast from Mayali Pass (5000mt/16400 feet) to Vasukital Tal (4135mt/13560 feet). Trek 12km
											</p>
											<p class="aj">The day continues with the ascend of 3 km to reach ridge, followed by a series of switch backs descend that brings you to picturesque lake of Vasukital. Beautiful lake in the mountain Arrive and camp by the lake. Overnight in tents.</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 12:</b> After breakfast from  Kedarnath (3580m/11750 feet) Trek 8 km./ 5 hrs.)over night stay in tent
											</p>
											<p class="aj">This day Trek towards one of the famous and much revered temple pilgrimage center in India. Its descend of 5   km and takes approximately 3 hours. On arrival one can essence the spiritual environment of Hindu culture. The Kedarnath temple is dedicated to Lord Shiva and the temple has an architecture which is unparallel. Evening visit the temple kedarkanth temple . Overnight in the hotel.</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 13:</b> After breakfast from Rudrapryag via Gaurikund. /2000 ft./Trek 19 km./drive 102 km./9 hrs.).over  nig
											</p>
											<p class="aj">Awake with a morning full of religious environment  follow by a descend of 18 km. towords  Gaurikund. Countinue to descend further  to reach Gaurikund.From here to drive for 04 hrs.to reach Rudrapryag, another revered religious place, on the confluence of river Mandakini and Alaknanda.Overnight in Hotel & Dinner.</p>
											</td>	
											</tr>
											</table>				
											</div>					
									</div>									<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
																	<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>CP (Room + Breakfast)</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>Cancellation: If a trek is called off at the last moment due to a natural calamity/unforseen circumstances (like rains, earthquake, landslides, strike, bandh etc), ABC Trekker will issue a trek voucher for the full amount. The voucher can be redeemed for the same trek or another trek in the next one year.</li><li>
In case, you wish to cancel your trek, please login to your account and cancel. Cancellation requests will not be taken over phone or email.</li><li>
The cancellation charges are as under:</li><li>
Cancellations prior to 30 days from the start of the trek — full refund.</li><li>
Cancellation between 30 days and 20 days to the start of the trek — 50% refund.</li><li>
Cancellation less than 20 days to the start of the trek — no refund.</li><li>
Please note: In case of refund, there will be a deduction of 4% (Cancellation charges) from the total fee you have paid. Also, if you have opted for a trek insurance, the amount will not be refunded.</li><li>
Non-liability: ABC Trekker is not responsible for any loss/damage of your gears/equipment or other belongings on the trek. The trek fee includes all costs of the trek from the start and to the end of the trek</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="Auden Col 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="186014"/>
						</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 Nainital, Dehradun, Kedarnath, Gangotri, Rishikesh, Rudraprayag</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/rupin-pass-trek-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/557335/288314.jpeg"  alt="Rupin Pass Trek Tour" title="Rupin Pass 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/rupin-pass-trek-tour.htm" title="Rupin Pass Trek Tour"><h3>Rupin 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> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dehradun</p>
															<div class="mt10px small">
							<form name="pkg_186010" id="pkg_186010" 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/rupin-pass-trek-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Rupin 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="186010"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.abctrekkers.in/tour-packages/baradsar-tal-trek-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/557335/288317.jpeg"  alt="Baradsar Tal Trek Tour" title="Baradsar Tal 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/baradsar-tal-trek-tour.htm" title="Baradsar Tal Trek Tour"><h3>Baradsar Tal 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> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dehradun</p>
															<div class="mt10px small">
							<form name="pkg_186013" id="pkg_186013" 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/baradsar-tal-trek-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Baradsar Tal 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="186013"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.abctrekkers.in/tour-packages/bali-pass-trek-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/557335/288312.jpeg"  alt="Bali Pass Trek Tour" title="Bali Pass 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/bali-pass-trek-tour1.htm" title="Bali Pass Trek Tour"><h3>Bali 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> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dehradun, Yamunotri</p>
															<div class="mt10px small">
							<form name="pkg_186008" id="pkg_186008" 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/bali-pass-trek-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Bali 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="186008"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.abctrekkers.in/tour-packages/harkidun-trek-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/557335/288313.jpg"  alt="Harkidun Trek Tour" title="Harkidun 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/harkidun-trek-tour.htm" title="Harkidun Trek Tour"><h3>Harkidun 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> :  Dehradun</p>
															<div class="mt10px small">
							<form name="pkg_186009" id="pkg_186009" 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/harkidun-trek-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Harkidun 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="186009"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.abctrekkers.in/tour-packages/nagtibba2-days-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/557335/285171.jpg"  alt="Nagtibba 2 Days Tour" title="Nagtibba 2 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/nagtibba2-days-tour.htm" title="Nagtibba 2 Days Tour"><h3>Nagtibba 2 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> : 
								1 Nights / 2 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dehradun</p>
															<div class="mt10px small">
							<form name="pkg_185037" id="pkg_185037" 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/nagtibba2-days-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Nagtibba 2 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="185037"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.abctrekkers.in/tour-packages/kedarkantha-trek-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/557335/288316.jpg"  alt="Kedarkantha Trek Tour" title="Kedarkantha 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/kedarkantha-trek-tour1.htm" title="Kedarkantha Trek Tour"><h3>Kedarkantha 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> :  Dehradun</p>
															<div class="mt10px small">
							<form name="pkg_186012" id="pkg_186012" 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/kedarkantha-trek-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Kedarkantha 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="186012"/>
							</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:60:"Book Auden Col Trek Tour - 12 Nights / 13 Days Tour Packages";i:2;s:163:"book auden col trek tour - 12 nights / 13 days tour packages, trekking tour packages, nainital, dehradun, kedarnath, gangotri, rishikesh, rudraprayag tour packages";i:3;s:209:"Book Auden Col Trek Tour - 12 Nights / 13 Days tour packages from Abc Trekkers - Get attractive 12 Nights / 13 Days Trekking  tour packages for  Nainital, Dehradun, Kedarnath, Gangotri, Rishikesh, Rudraprayag.";i:4;s:2591:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Nainital, Dehradun, Kedarnath, Gangotri, Rishikesh, Rudraprayag"        
		                 },
		      "description": "The Holy River Ganges is the most sacred river in the Hindu religion and its source at Gomukh at the Gangotri glacier. ... The glacier follows a N. Westerly route located below Chaukhamba Mountain, the highest peak of the group. ...

This is the only  Ganga valley from where one can see Bhagirathi peak  – I, II, III, . Shivling Peak  and Matri Peak , Raktvan  . , all together. One can also see the Tapovan And Nill Tal  (4400 mt) peaks from here.

Gangotri : The shrine of Gangotri is situated at an elevation of 3200 m surrounded by Deodars (Cider) and Chir (pine). The original temple was constructed by the Gorkha General Amar Singh Thapa after his conquest of the Garhwal area! Every year people from all around the world visit this shrine. A number of Ashrams and Dharamshalas are located on the far side of the river. It is believed that Raja Bhagirath used to worship Shiva on a slab of rock "Bhagirath Shila" situated near the temple. Submerged in the river there is a natural Shivling where, according to mythology, Lord Shiva sat when he received the Goddess Ganga in his matted locks. A days trek takes one to Gomukh, the source of the mighty Ganges.

Welcome to Auden's Col  Expedition 2018  an Introduction Col is a mountain pass which connects Jogin I (6465 Mt) and Gangotri III (6580m) peaks and is reportedly situated at a height of around 5466mT. It also binds two glaciers on the opposite sides. One is Khatling glacier and the other one looks like the glacier belonging to Jogin I. Auden's Col is approachable from Gangotri and one can trek up to Kedarnath following Auden's Col and Khatling glacier. Auden's Col gets its name from J B Auden, who first crossed it in 1939-40. This pass was then explored only after late eighties.

Trekking route, schedule, and plan depends on a trekker’s ability, experience, as well as prevailing weather condition. Since the trek is strenuous and dangerous, it is advisable to secure, well in advance, services of a guide who has first hand knowledge of the trek, and possibly has done it several times. A typical route plan in good weather condition is as following.",
		      "name": "Auden Col Trek Tour",
		      "telephone": "+91-9458118063"
		    }
		    </script>
			";i:5;N;}