a:6:{i:0;s:34224:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Chopta - Chandrashila - Deoria Tal Trek Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.himalayancove.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.himalayancove.com/tour-packages.htm" title="Packages">Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Chopta - Chandrashila - Deoria Tal 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-->				
									<div class="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_18/533222/242772.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_18/533222/242772.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/533222/242772.jpg"  alt="Chopta - Chandrashila - Deoria Tal Trek Tour" title="Chopta - Chandrashila - Deoria Tal Trek Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
												
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">Chopta - Chandrashila - Deoria Tal Trek Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Haridwar, Rishikesh</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px">Price</p>
						<p class="xxsmall">On Request</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.himalayancove.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Chopta - Chandrashila - Deoria Tal Trek Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="158490"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Region<br />
<br />
: Rudraprayag district -Uttarakhand<br />
<br />
Duration<br />
<br />
: 4 Days<br />
<br />
Level<br />
<br />
: Easy<br />
<br />
Trekking distance<br />
<br />
: 24 Kms<br />
<br />
Max Altitude<br />
<br />
: 4090 Meters<br />
<br />
Pickup Point<br />
<br />
: Rishikesh<br />
<br />
Drop Point<br />
<br />
: Rishikesh<br />
<br />
Best Season<br />
<br />
: Round of the Year<br />
<br />
Deoria Tal is a lake located about 2 km on an uphill from the village of Sari, on the Ukhimath-Chopta road. Valley is perched at an elevation 2438 meters rich flora & fauna  like  oak, deodar, rhododendron  musk dear and monal with snow-covered mountains Chaukhamba, Mandani valley and Kedarnath   in the backdrop.<br />
<br />
According to legendary folk tales, in the Mahabharata period, five Pandavas brother once visited this lake and got tested for their wisdom by a natural spirit called Yaksa.<br />
<br />
Chopta is very popular among trekkers & tourists, mainly because of the number of options it provides for exploring. Chopta is also called "Mini Switzerland" and is getting prominent  visitors year after year.<br />
<br />
The Tungnath temple is located at an altitude of about 3680 meters  above sea level, the temple is dedicated to Lord Shiva and is the highest Shiva Shrine among the Panch Kedar, 4 km s uphill from Chopta.  The temple is believed to be 1000 years old and is the second in the order of the Panch Kedars. It has a rich legend linked to the Pandavas, heroes of the Mahabharata epic. And it is also believed that the present temple is built by the Pandavas to please the Lord Shiva.<br />
<br />
Situated at altitude of over 4090 meters above sea level, Chandrashila offers a panoramic 360 degree view of the some of the very majestic Himalayan peaks including Nanda Devi, Bandarpunch, Chaukhamba and Kedar Peak. Chandrashila is a steep 1 km trek from Tungnath temple. Chandrashila and Tungnath are covered with snow during the winters. According to one of the popular legend, Chandrashila is the place where Lord Rama meditated after defeating Ravana. Another legend says that moon-god “Chandra” spent time here in penance. Chandrashila literally means “Moon Rock”.</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Drive Haridwar-Sari 7-8 h (216 km) - Deoriatal 3 km Trek										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												our representative will expect you at Rishikesh railway station at 6:30 in the morning today. Pick up can also be done alternatively from Rishikesh as well. We will drive uphills from Rishikesh along the mighty Ganga River flowing downwards. We will have our lunch on the way. We will reach Sari in afternoon and soon we will start trekking to Deoriatal. The trek ascends on a well defined path of stones and goes into the beautiful forest of Rhododendron and Cedar. As we climb higher the Himalayan mountain starts appearing. We keep going steadily up and then a level walk in the dense forest takes us to the Deoriatal. We will be welcomed by a grand vista of Chaukhamba massifs unveiled in the lake water. The rest of the day is spending in exploration and capturing pictures of the lake side. We will camp near the lake side for the night.															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Deoriatal to Chopta Through Rohini Bugyal										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												In the morning, the cloud cover removes from the Himalayan peaks and diamond-crusted sunlights elucidate the outlines of Chaukhamba in the lake water. This is the marvellous view of this trek which you can not miss. Make sure to take pictures of this beautiful scenery. Post breakfast we will start trekking. This trail is sprinkled with the variety of vegetation most notably the two type of Rhododendron red and pink. As we ascend towards Rohini Bugyal, Chaukhamba massif and Mount Kedar summit, rises closely. On the further walk, we will come across some shrine and a three-way root. We will take the centre one towards Chopta village.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Chopta to Tungnath, Chandrashilla Top and Back to Chopta										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												we will start trekking in the wee hours of the dark, which will let us have a beautiful sunrise from Tungnath Top. The trek is a well defined from Chopta, runs on a well-defined concrete-bound trail. There are 11 scissors bend on this trail and the 10th bend of the trail marks the opening of a splendid view of Chandrashila and a connecting peak called “Ravanshila”. In the winter these trails are covered with white snow thus making the trek a little bit difficult. From Tungnath temple, the route to Chandrashila peak bends from behind the temple complex. The 500 meters steep climb can be covered in 45-60 minute. The top of Chandrashila welcome you with a 360 degree panaromic view of the notable peaks such as Nanda Devi, Trishul, Nandaghunti, Dronagiri, Chaukhamba, and Kedar. We will spend some time here and descend down to Chopta. It will take you about 3 hours to climb down to the campsite.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Chopta to Rishikesh/ Haridwar 7 Hrs (183.6 Km)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												on last day of the journey we will ride back from the Chopta to Haridwar.The 7 hour’s journey will pass through the forests, small mountain villages and towns. You will be reaching Haridwar in the evening; fro Advisory :keep Himalayan Regions clean and green, free from all kind of plastic garbage			
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<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">Terms &amp; Conditions</p>
								</div>				
								<ul>
	<li>Trekking, Tour and adventure actives in Himalayan region carry an inherent risk to life and goods. The natural calamities may cause injury and loss of life, which is beyond any control. Himalayas Adventure does its best to minimize all types of risks, discomfort and hazard to the best of their ability, yet there are chances of accidents, mishaps and deficiency in service.</li>
</ul>

<p><strong>Advisory:</strong>

<ul>
	<li>Any delay from the customer&rsquo;s side will lead to cancellation of trek/ tour/ adventure activities.</li>
	<li>Trekking maybe cancelled due to some unavoidable circumstances i.e- weather condition, govt. notification, land sliding or any other natural calamity.</li>
	<li>Himalayas Adventure reserves the right to discontinue, modify any trek, tour &amp; adventure activities without assigning any reasons or without any prior intimation whatsoever.</li>
	<li>Anybody found to be under the influence of alcohol or drugs medically or physically unfit (any serious ailment, weak heart conditions, epilepsy, asthma, expecting mothers etc.) unfit for any reasons in the wisdom of the trek leader/guide/instructor will not be allowed for trekking /tour/ adventure activities. Request for a refund or a discount in such situation will not be entertained. Decision of the trek lead/guide/management in this regard would be final.</li>
	<li>Total decided package cost will not be affected if there is any reduction in the number of persons</li>
	<li>Minimum required 50% of amount to get confirmed the trek/tour/adventure activities.</li>
	<li><strong>Cancellation Policy</strong></li>
	<li>If cancellations are made 30 days before the start date of the trip, 25% of total tour cost will be charged as cancellation fees.</li>
	<li>If cancellations are made 10-30 days before the start date of the trip, 50% of total tour cost will be charged as cancellation fees.</li>
	<li>If cancellations are made within 0-10 days before the start date of the trip, 75% of total tour cost will be charged as cancellation fees.</li>
	<li>In case of unforeseen weather conditions or government restrictions, certain activities may be cancelled and in such cases, we will try our best to provide an alternate feasible activity. However no refund will be provided for the same.</li>
	<li><strong>Refund Policy</strong></li>
	<li>The applicable refund amount will be processed within 10 business days or can be adjusted in other trek or adventure activities.</li>
</ul>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.himalayancove.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Chopta - Chandrashila - Deoria Tal 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="158490"/>
						</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.himalayancove.com/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/packages-in-joshimath.htm" title="Packages in Joshimath">Joshimath</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/packages-in-auli.htm" title="Packages in Auli">Auli</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/packages-in-ghangaria.htm" title="Packages in Ghangaria">Ghangaria</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/packages-in-dehradun.htm" title="Packages in Dehradun">Dehradun</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/packages-in-corbett.htm" title="Packages in Corbett">Corbett</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/packages-in-hemkunt-sahib.htm" title="Packages in Hemkund Sahib">Hemkund Sahib</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/packages-in-nainital.htm" title="Packages in Nainital">Nainital</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.himalayancove.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.himalayancove.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</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.himalayancove.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Haridwar, Rishikesh</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.himalayancove.com/tour-packages/swiss-camping-rishikesh-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/533222/298809.JPG"  alt="Swiss Camping Rishikesh Tour" title="Swiss Camping Rishikesh Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.himalayancove.com/tour-packages/swiss-camping-rishikesh-tour.htm" title="Swiss Camping Rishikesh Tour"><h3>Swiss Camping Rishikesh 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 Day 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Rishikesh</p>
															<div class="mt10px small">
							<form name="pkg_190194" id="pkg_190194" method="post" action="http://www.himalayancove.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.himalayancove.com/tour-packages/swiss-camping-rishikesh-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Swiss Camping Rishikesh 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="190194"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.himalayancove.com/tour-packages/windsor-cottages-lansdowne-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/533222/298804.jpg"  alt="Windsor Cottages Lansdowne Tour" title="Windsor Cottages Lansdowne Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.himalayancove.com/tour-packages/windsor-cottages-lansdowne-tour.htm" title="Windsor Cottages Lansdowne Tour"><h3>Windsor Cottages Lansdowne 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 Day 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Rishikesh</p>
															<div class="mt10px small">
							<form name="pkg_190193" id="pkg_190193" method="post" action="http://www.himalayancove.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.himalayancove.com/tour-packages/windsor-cottages-lansdowne-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Windsor Cottages Lansdowne 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="190193"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.himalayancove.com/tour-packages/haridwar-rishikesh-with-auli-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/533222/242747.jpg"  alt="Haridwar Rishikesh with Auli Tour" title="Haridwar Rishikesh with Auli Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.himalayancove.com/tour-packages/haridwar-rishikesh-with-auli-tour.htm" title="Haridwar Rishikesh with Auli Tour"><h3>Haridwar Rishikesh With Auli 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> :  Joshimath, Rishikesh, Auli</p>
															<div class="mt10px small">
							<form name="pkg_158465" id="pkg_158465" method="post" action="http://www.himalayancove.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.himalayancove.com/tour-packages/haridwar-rishikesh-with-auli-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Haridwar Rishikesh with Auli 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="158465"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.himalayancove.com/tour-packages/trekkingin-valleyof-flowers-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/533222/242806.jpg"  alt="Trekking in Valley of Flowers Tour" title="Trekking in Valley of Flowers Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.himalayancove.com/tour-packages/trekkingin-valleyof-flowers-tour.htm" title="Trekking in Valley of Flowers Tour"><h3>Trekking In 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> :  Haridwar, Joshimath, Rishikesh, Hemkund ..</p>
															<div class="mt10px small">
							<form name="pkg_158522" id="pkg_158522" method="post" action="http://www.himalayancove.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.himalayancove.com/tour-packages/trekkingin-valleyof-flowers-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Trekking in 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="158522"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.himalayancove.com/tour-packages/trekkingin-kuari-pass-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/533222/242784.jpg"  alt="Trekking in Kuari Pass Tour" title="Trekking in Kuari Pass Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.himalayancove.com/tour-packages/trekkingin-kuari-pass-tour.htm" title="Trekking in Kuari Pass Tour"><h3>Trekking In Kuari Pass 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> :  Joshimath, Rishikesh, Auli</p>
															<div class="mt10px small">
							<form name="pkg_158502" id="pkg_158502" method="post" action="http://www.himalayancove.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.himalayancove.com/tour-packages/trekkingin-kuari-pass-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Trekking in Kuari Pass 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="158502"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.himalayancove.com/tour-packages/trekkingin-rishikesh-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/533222/242769.jpg"  alt="Trekking in Rishikesh Tour" title="Trekking in Rishikesh Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.himalayancove.com/tour-packages/trekkingin-rishikesh-tour.htm" title="Trekking in Rishikesh Tour"><h3>Trekking In Rishikesh 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> : 
								2 Nights / 3 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Rishikesh</p>
															<div class="mt10px small">
							<form name="pkg_158487" id="pkg_158487" method="post" action="http://www.himalayancove.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.himalayancove.com/tour-packages/trekkingin-rishikesh-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Trekking in Rishikesh 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="158487"/>
							</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:83:"Book Chopta - Chandrashila - Deoria Tal Trek Tour - 3 Nights / 4 Days Tour Packages";i:2;s:143:"book chopta - chandrashila - deoria tal trek tour - 3 nights / 4 days tour packages, adventure tour packages, haridwar, rishikesh tour packages";i:3;s:189:"Book Chopta - Chandrashila - Deoria Tal Trek Tour - 3 Nights / 4 Days tour packages from Himalayan Cove - Get attractive 3 Nights / 4 Days Adventure  tour packages for  Haridwar, Rishikesh.";i:4;s:2457:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Haridwar, Rishikesh"        
		                 },
		      "description": "Region

: Rudraprayag district -Uttarakhand

Duration

: 4 Days

Level

: Easy

Trekking distance

: 24 Kms

Max Altitude

: 4090 Meters

Pickup Point

: Rishikesh

Drop Point

: Rishikesh

Best Season

: Round of the Year

Deoria Tal is a lake located about 2 km on an uphill from the village of Sari, on the Ukhimath-Chopta road. Valley is perched at an elevation 2438 meters rich flora & fauna  like  oak, deodar, rhododendron  musk dear and monal with snow-covered mountains Chaukhamba, Mandani valley and Kedarnath   in the backdrop.

According to legendary folk tales, in the Mahabharata period, five Pandavas brother once visited this lake and got tested for their wisdom by a natural spirit called Yaksa.

Chopta is very popular among trekkers & tourists, mainly because of the number of options it provides for exploring. Chopta is also called "Mini Switzerland" and is getting prominent  visitors year after year.

The Tungnath temple is located at an altitude of about 3680 meters  above sea level, the temple is dedicated to Lord Shiva and is the highest Shiva Shrine among the Panch Kedar, 4 km s uphill from Chopta.  The temple is believed to be 1000 years old and is the second in the order of the Panch Kedars. It has a rich legend linked to the Pandavas, heroes of the Mahabharata epic. And it is also believed that the present temple is built by the Pandavas to please the Lord Shiva.

Situated at altitude of over 4090 meters above sea level, Chandrashila offers a panoramic 360 degree view of the some of the very majestic Himalayan peaks including Nanda Devi, Bandarpunch, Chaukhamba and Kedar Peak. Chandrashila is a steep 1 km trek from Tungnath temple. Chandrashila and Tungnath are covered with snow during the winters. According to one of the popular legend, Chandrashila is the place where Lord Rama meditated after defeating Ravana. Another legend says that moon-god “Chandra” spent time here in penance. Chandrashila literally means “Moon Rock”.",
		      "name": "Chopta - Chandrashila - Deoria Tal Trek Tour",
		      "telephone": "+91-9871364441"
		    }
		    </script>
			";i:5;N;}