a:7:{i:0;s:69063:"				<section id="middle" class="propDtls ttwBtmFtSpace">
				<div class="wrap thinFormat " id="bodyFormatNT">
									<div class="ar small fo"><a href="https://www.hussaintours.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b> <a href="https://www.hussaintours.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> <span class="alpha75">Offbeat Uttarakhand Tour</span></div> 
									
				<div class="row1 dt columns23"><!--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>
				
					<div class="data mb15px mt15px p10px"> 
	 				<div class="fo dt w100"> 	 				
	 											<div class="dtc vat ttw-detail pr20px pr lh0">
							<div class="headVr bdr0 pr">
							<ul class="lsn carousel_new" id="customize">
																	<li class="ac pr">
										<div class="lh0 pa blur-bg" style="background-image:url(https://ttw.wlimg.com/package-images/photo-big/wh1/dir_13/387846/118333.jpg);"></div>
										<div class="imgFrame m0a dib bdr pr"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/wh1/dir_13/387846/118333.jpg"><img src="https://ttw.wlimg.com/package-images/photo-big/wh1/dir_13/387846/118333.jpg"  height=""  width=""    alt="Offbeat Uttarakhand Tour" title="Offbeat Uttarakhand Tour" ></a></div>
										</li>
																	</ul>
							<div class="slContSec"><span class="large data c30px p7px" id="slideCount">1/1</span></div>
							<script>
							$(document).ready(function() {
							var tnsCarousel = $('.carousel_new');
							tnsCarousel.each(function() {
							var tnsSlider = tns({
							// 'container': '.carousel_new',
							  'container': '#customize',
							  'axis': 'horizontal',
							  'speed': 1000,
							  'items': 1,
							  'loop': true,   
							  'autoplayHoverPause': true,
							  'mouseDrag': true,
							  'nav': false,
							  'autoplayButtonOutput': false,     
							  'autoplay': true,
							  'autoplayTimeout': 4000,  
							  'swipeAngle': false,   
							});
							tnsSlider.events.on('transitionStart', function (info, eventName) {
								var info = tnsSlider.getInfo(),
							      indexPrev = info.indexCached,
							      indexCurrent = info.index;
								  if(indexCurrent=='0'){indexCurrent=info.slideCount}else if(indexCurrent>info.slideCount){indexCurrent='1'}
							  $('#slideCount').text(indexCurrent + '/' + info.slideCount);
							});
							
							});
							});
							</script>
							</div>
							</div>
												<div class="dtc pt7px ttwDtlsCont">
					<div class="adrsDtls">
											<h1>Offbeat Uttarakhand Tour</h1>
											<div class="ShareDropdown">		
					<div class="copyLinkPopup">Link Copied</div>	  
					<span class="data"><i class="fa fa-share-alt xxlarge vam"></i></span>
					<ul class="shareList data bdr0">
					<li><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://www.hussaintours.in/tour-packages/offbeat-uttarakhand-tour.htm" class="facebook" title="Facebook"><i class="fa fa-facebook-official"></i></a></li> 
					<li><a target="_blank" href="https://www.instagram.com/?url=https://www.hussaintours.in/tour-packages/offbeat-uttarakhand-tour.htm" class="instagram" title="Instagram"><i class="fa fa-instagram"></i></a></li>
					<li><a target="_blank" href="https://wa.me/?text=https://www.hussaintours.in/tour-packages/offbeat-uttarakhand-tour.htm" class="whatsapp" title="Whatsapp"><i class="fa fa fa-whatsapp"></i></a></li>  
					<li><a target="_blank" href="https://twitter.com/intent/tweet?text=Offbeat Uttarakhand Tour&url=https://www.hussaintours.in/tour-packages/offbeat-uttarakhand-tour.htm" class="twitter" title="Twitter"><img src="https://catalog.wlimg.com/mobile/social-networking-img/1002.svg" alt="Twitter" style="width:22px;height:22px;vertical-align:middle;margin-right:6px;"></a></li> 
					<li><a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.hussaintours.in/tour-packages/offbeat-uttarakhand-tour.htm&title=Offbeat Uttarakhand Tour" class="linkedin" title="Linkedin"><i class="fa fa-linkedin-square"></i></a></li>
					<li><a target="_blank" href="https://pinterest.com/pin/create/button/?url=https://www.hussaintours.in/tour-packages/offbeat-uttarakhand-tour.htm&description=Offbeat Uttarakhand Tour" class="pinterest" title="Pinterest"><i class="fa fa-pinterest-square"></i></a></li>
					<li><a href="javascript:;" title="Copy Link" class="copy" onclick="copyURL()"><i class="fa fa-clone"></i></a></li>
					</ul>
					</div>
					</div>
					<script>
					$(document).ready(function(){
					$('.ShareDropdown span').click(function(){
					 $('.ShareDropdown').toggleClass("active");
					}); 
					});
					</script>
					<script>
					  function copyURL() {
					    const url = window.location.href;
						const textarea = document.createElement("textarea");
						textarea.value = url;
						textarea.style.position = "fixed";
						document.body.appendChild(textarea);
						textarea.focus();
						textarea.select();
				
						try {
						  document.execCommand("copy");
						//  alert("URL copied (fallback)!");
						  $(".copyLinkPopup").show();		 
				          setTimeout(function(){$(".copyLinkPopup").hide();}, 2000);
					      $('.ShareDropdown').removeClass("active");
						  
						} catch (err) {
						  console.error("Fallback copy failed:", err);
						}
				
						document.body.removeChild(textarea);
					  }
					</script>
											<p class="mb5px"><b>Duration :</b> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Dehradun, Haridwar, Rishikesh, Auli, Mukteshwar, Water Skiing in Auli, Rajaji National Park, Binsar, Munsiyari, Patal Bhuwaneshwar</p>
												<p class="mb5px"><b>Tour Activities :</b> Hill Stations & Valleys</p>
												<p class="mb5px"><b>Tour Themes : </b>Religious & Pilgrimage</p>
												<div class="fo mt20px mb20px ac large">
              			<p class="fw6 dif">Price on Request</span></p>
              			</div>
											<div class="ac">
					<form class="inquiry-form" name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.hussaintours.in/enquiry-form-10028.htm">
					<input type="hidden" name="subject" value="Offbeat Uttarakhand Tour - Tour Package"/>
					<input type="hidden" name="allocate_type" value="tour"/>							
					<input type="hidden" name="pkg_slno" value="63776"/>
					</form>
					<a href="javascript:;" class="submit-inquiry button p10px20px c5px ts0 xlarge dib fw6">Inquire Now for Best Deals</a>
					
										</div>
					<br />
										</div>
	   				</div>
					</div>
													<section id="s1" class="mt15px">
								<div class="data mb20px m_p25px">
		  						<div class="fw7 xxlarge">
		  										   					<h2 class="fw7">Dehradun, Haridwar and Rishikesh Tour Itinerary</h2>
				   							  						</div>
					            <div class="tour-details-view mt22px">
					            
										<div class="iti-box large">
		   								<div class="dayIni dif lh15em">Day 1</div>
		   								<div class="iti-dtls lh18em"> 
   										<div class="sub-title large fw6 db bdrB bdreee pb7px mb10px on"><a href="javascript:;" class="clickable db"><h3>Dehradun - Haridwar - Rishikesh</h3>
										<span class="fr pr10px"><i class="fa fa-angle-up"></i></span></a>
										</div>
										<div class="pro-detail mb15px ">After your arrival at the Dehradun railway station or airport or at the Haridwar Railway Station, you will begin your road journey to Rishikesh and check -in at one of the many Eco-friendly resorts. Take rest for some time. Afterwards, leave for sightseeing where you are going to cover Ram Jhula, Laxman Jhula and the other popular temples and Ashrams. You can also explore the wildlife at Rajaji National Park, home to a large elephant population. Dinner around bonfire and overnight in a hotel.
										</div> 
										</div>  
			 							</div>
										<div class="iti-box large">
		   								<div class="dayIni dif lh15em">Day 2</div>
		   								<div class="iti-dtls lh18em"> 
   										<div class="sub-title large fw6 db bdrB bdreee pb7px mb10px "><a href="javascript:;" class="clickable db"><h3>Rishikesh - Auli (245 kms)</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="pro-detail mb15px dn">Have your breakfast and leave for Auli, on the way enjoying the beauty. On arriving at Jyotirmath, you are going to get on- board on the longest as well as highest rope way of Asia that will connect you to Auli. Check into at the hotel, after you reach there. Watch the fabulous sunset. Dinner around bonfire and overnight stay.
										</div> 
										</div>  
			 							</div>
										<div class="iti-box large">
		   								<div class="dayIni dif lh15em">Day 3</div>
		   								<div class="iti-dtls lh18em"> 
   										<div class="sub-title large fw6 db bdrB bdreee pb7px mb10px "><a href="javascript:;" class="clickable db"><h3>Auli</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="pro-detail mb15px dn">Relish your breakfast and leave for Skiing session, if you want to. Afterwards, you will enjoy a trekking session along with a local guide up to the Lake Valentine, which is nestled the dense pine forest. You have a striking view of Helang Valley. Dinner around bonfire. Night stay at the hotel.
										</div> 
										</div>  
			 							</div>
										<div class="iti-box large">
		   								<div class="dayIni dif lh15em">Day 4</div>
		   								<div class="iti-dtls lh18em"> 
   										<div class="sub-title large fw6 db bdrB bdreee pb7px mb10px "><a href="javascript:;" class="clickable db"><h3>Auli - Binsar</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="pro-detail mb15px dn">Have your breakfast and leave for sightseeing of Jyotirmath. Carry a packed lunch. You are going to visit attractions such as Narsimha Temple, Tapovan Temple, Shankaracharya cave and Hot Sulphur Water Springs. After reaching Binsar, check into a resort and have lunch. Spend the rest of the day in doing leisure activities, relax, take a stroll around or enjoy the calm surroundings. Overnight stay.
										</div> 
										</div>  
			 							</div>
										<div class="iti-box large">
		   								<div class="dayIni dif lh15em">Day 5</div>
		   								<div class="iti-dtls lh18em"> 
   										<div class="sub-title large fw6 db bdrB bdreee pb7px mb10px "><a href="javascript:;" class="clickable db"><h3>Binsar - Munsiyari (196 kms)</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="pro-detail mb15px dn">Leave for Munsiyari, post breakfast. Check into the resort upon arrival. Settle down and proceed towards the base point for visiting Milam and Ralam Glaciers. These two glaciers are well-known all around the world amongst the trekking enthusiast, in the form of a high altitude trekking track. Observe the amazing sunset here. Stay overnight.
										</div> 
										</div>  
			 							</div>
										<div class="iti-box large">
		   								<div class="dayIni dif lh15em">Day 6</div>
		   								<div class="iti-dtls lh18em"> 
   										<div class="sub-title large fw6 db bdrB bdreee pb7px mb10px "><a href="javascript:;" class="clickable db"><h3>Munsiyari - Patal Bhuwaneshwar (119 kms)</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="pro-detail mb15px dn">After relishing your breakfast, hit the road to continue towards Patal Bhuwaneshwar. This place is popular stone carvings of man Gods and Goddesses. You will reach the temple after passing through a cave which is narrow and tunnel shaped that makes way to several other small caves. Dinner and night stay.
										</div> 
										</div>  
			 							</div>
										<div class="iti-box large">
		   								<div class="dayIni dif lh15em">Day 7</div>
		   								<div class="iti-dtls lh18em"> 
   										<div class="sub-title large fw6 db bdrB bdreee pb7px mb10px "><a href="javascript:;" class="clickable db"><h3>Patal Bhuwaneshwar - Bhimtal (172 kms) OR Mukteshwar (145 kms)</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="pro-detail mb15px dn">In the morning, proceed towards Bhimtal. On reaching, visit Ghorakhal, a spot offering an amazing view of the surrounding. Next visits will be to Naukuchiyatal Lake that is well-known for having 9 corners and Sattal, meaning 7 lakes. After reaching, check-in at the resort.<br />
<br />
OR<br />
<br />
On day, you can also proceed for Mukteshwar, the highest Spot in Kumaon. On the way, you will drive past Ramgarh, known as ‘Fruit bowl of Kumaon and Bhowali, popular as the biggest fruit market. On reaching, check-in at the resort. Later, you will visit the Shiva temple, also known as Mukteshwar Dham, a 350-year old temple. Dinner and night halt.
										</div> 
										</div>  
			 							</div>
										<div class="iti-box large">
		   								<div class="dayIni dif lh15em">Day 8</div>
		   								<div class="iti-dtls lh18em"> 
   										<div class="sub-title large fw6 db bdrB bdreee pb7px mb10px "><a href="javascript:;" class="clickable db"><h3>Bhimtal - Mukteshwar - Haridwar - Dehradun</h3>
										<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a>
										</div>
										<div class="pro-detail mb15px dn">After relishing your breakfast, begin your backward journey for departing to your home destination.
										</div> 
										</div>  
			 							</div>								</div>
								</div>
								<script>
								jQuery('.fancybox').fancybox();
								  jQuery(document).ready(function() {
								  jQuery('[data-fancybox]').fancybox({
								  thumbs : {
								  autoStart : true,
								  axis      : 'x'
								  }
								  });
								});
								</script>
								<script>
								jQuery(document).ready(function() {
								//jQuery('.tour-details-view .pro-detail').css('display','none');
								jQuery(".tour-details-view .sub-title").click(function(){
									var $this = jQuery(this);
									  jQuery('.w-title').addClass('h15px',400);
									  $this.find('.w-title').removeClass('h15px',400);
									  if($this.hasClass('on')){
										$this.removeClass('on');
										$this.next().slideUp();          	
									  } else {
										jQuery(".tour-details-view .sub-title").removeClass('on');
										jQuery('.tour-details-view .pro-detail').slideUp();
										$this.addClass('on');
										$this.next().slideDown(); 
									  }		  
									  if($this.find('.tour-details-view i').hasClass('fa-angle-up')){
										$this.find('.tour-details-view i').removeClass('fa-angle-up').addClass('fa-angle-down');
									  } else {
										$this.find('.tour-details-view i').removeClass('fa-angle-down').addClass('fa-angle-up');
									  }
									});
								});
								</script>
								</section>
															<div class="xxlarge mt10px mb10px dib">
										   					<h2 class="fw7">More Details about Dehradun, Haridwar and Rishikesh Tour</h2>
			   												</div>
															<section id="s2">
								<div class="data mb20px m_p25px large">
								<div class="mb7px"> 
								<p class="fw7 xxlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
								</section> 
																<section id="s3">
								<div class="data mb20px m_p25px large">          
								<div class="mb7px"> 
								<p class="fw7 xxlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
								</section>
														<section id="s4">
						<div class="data mb20px m_p25px large">             
						<div class="mb7px"> 
						<p class="fw7 xxlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
						</section>
												<section id="s5">
						<div class="data mb20px m_p25px large">            
						<div class="mb7px"> 
						<p class="fw7 xxlarge mb10px dib">Packages by Theme</p>
						</div>
													<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="https://www.hussaintours.in/hill-station-holidays-catid.htm" title="Hill Stations & Valleys Tour Packages">Hill Stations & Valleys Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="https://www.hussaintours.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Tour Packages">Religious & Pilgrimage Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="https://www.hussaintours.in/water-sports-activity-holidays-catid.htm" title="Water Sports Tour Packages">Water Sports Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="https://www.hussaintours.in/wildlife-nature-holidays-catid.htm" title="Wildlife Tour Packages">Wildlife Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="https://www.hussaintours.in/bird-watching-holidays-catid.htm" title="Bird Watching Tour Packages">Bird Watching Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="https://www.hussaintours.in/heritage-holidays-catid.htm" title="Heritage Tour Packages">Heritage Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="https://www.hussaintours.in/beach-islands-holidays-catid.htm" title="Beaches and Islands Tour Packages">Beaches and Islands Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="https://www.hussaintours.in/jungle-safari-holidays-catid.htm" title="Jungle Safari Tour Packages">Jungle Safari Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="https://www.hussaintours.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Tour Packages">Lakes & Rivers Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="https://www.hussaintours.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Tour Packages">Forts and Palaces Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px spanlist dn"><a  href="https://www.hussaintours.in/paragliding-holidays-catid.htm" title="Paragliding Tour Packages">Paragliding Tours</a></span>
														<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:;" >View More</a></span>
													</div>
						</section>
												
						<div class="ac mb10px">
						<form class="inquiry-form" name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.hussaintours.in/enquiry-form-10028.htm">
						<input type="hidden" name="subject" value="Offbeat Uttarakhand Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>							
						<input type="hidden" name="pkg_slno" value="63776"/>
						</form>
						<a href="javascript:;" class="submit-inquiry button p10px20px w150px fw6 large dib ttu ts0">Book Your Tour</a>
						</div>
											<div id="myModal" class="modal fade dn pf" role="dialog" style="z-index:9999;left:0;top:0%;width:100%;height:100%;background-color:rgba(0,0,0,0.6);overflow-x: hidden; overflow-y: auto;">
					    <!-- Modal content-->
					    <div style="max-width:380px;margin-top: 50px;min-height:400px;" class="modal-content data m0a p10px pr">
					      <div class="modal-header">
					        <a style="right:25px;top:25px;" class="pa b xxxlarge" data-dismiss="modal"><span class="xlarge">&times;</span></a>	        
					      </div>
					      <div class="modal-body">
					        <p>Loading...</p>
					      </div>
					      <div class="modal-footer">
					        
					      </div>
					    </div>
					</div>
					<script type="text/javascript">
						jQuery(document).ready(function(){
							jQuery(document).on("click", ".submit-inquiry" , function(e){e.stopPropagation()
								var form = jQuery(this).parent().find(".inquiry-form");
								if(form.length){
									jQuery.ajax({
										url: form.attr("action"),
										type: form.attr("method"),
										data:form.serialize(),
										crossDomain:true,
										success:function(res){
											jQuery("#myModal .modal-body").html(res);
										}
									});
								}
							});
							jQuery(document).on("click", "[data-dismiss=modal]", function(){
								jQuery("#myModal .modal-body").html("<p>Loading...</p>");
								jQuery("#myModal").hide();
							});
							jQuery(document).on("submit", "form[name=static_form]", function(e){				
								e.preventDefault();
								var isValidForm =static_inq_form_validate(jQuery(this).attr("form-id"));
								if(isValidForm == undefined){
									var form = jQuery(this);
									if(form.length){
										jQuery.ajax({
											url: form.attr("action"),
											type: form.attr("method"),
											data:form.serialize(),
											crossDomain:true,
											beforeSend:function(){
												jQuery("#myModal .modal-footer").html("");
											},
											success:function(res){
												jQuery("#myModal .modal-body").html(res);
												setTimeout(function(){
													jQuery("#myModal", document).hide();
													jQuery("#myModal .modal-body").html("<p>Loading...</p>");
													},2000)
											}
										});
									}
								}
							});
							var modal = jQuery("#myModal", document);
				
							jQuery(document).on("click", ".submit-inquiry" , function(){
							    modal.show();
							});
				
							window.onclick = function(event) {
							    if (jQuery(event.target) == modal) {
							        modal.css("display","none");
							    }
							}
						});
					</script>
									</div>
									<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
					<div class="column_Box mc rghtFix">
					<div class="tcl bullet data divider enqForm stickyForm">
					<div class="h h2 ac xxlarge theme2 p10px" style="color:#fff;"><b class="plusMinus"></b>
					Fill Enquiry Form Below
					</div>
					<div class="showHide_rp mt7px p10px">
					<form name="package_form" method="post" action="//catalog.tourtravelworld.com/catalog-enquiry.php" onsubmit="return static_inq_form_validate(10029);">
					<div class="fo">
					<div class="mb15px">
					<input type="text" name="dynFrm_contact_person" id="dynFrm_contact_person_10029" placeholder="Your Full Name" />
					<span class="red small"></span>
					</div>
					<div class="fl w100 mb15px">
					<textarea name="dynFrm_details_2" id="dynFrm_details_2_10029">I am interested in Offbeat Uttarakhand Tour. Please get in contact with me.</textarea>
					<span class="fl red small"></span>
					</div>
					<div class="fl w100 mb15px df-dt">
					<div class="df-dtc w50 pr5px dateOpt pr"><input type="text" name="dynFrm_arrival_date" id="dynFrm_arrival_date_10029" class="dynFrm_arrival_date" style="padding-left:30px;" placeholder=" Departure Date" /><span class="fl red small"></span></div>
					<div class="df-dtc pl5px"><input type="text" name="dynFrm_duration" id="dynFrm_duration_10029" placeholder="Number of Days" /><span class="fl red small"></span></div>
					</div>  
					<div class="mb15px">
					<input type="text" name="dynFrm_email_id" id="dynFrm_email_id_10029" placeholder="Email" />
					<span class="red small"></span>
					</div> 
					<div class="mb20px fl w100">
					<div class="w60px pr fl ofh">
					<div id="isdpackCode" class="isdCode pr0px">+91</div>
					<select class="contSelect" name="dynFrm_country" id="dynFrm_country" onChange="document.getElementById('phone_package_isd').value=this.value.substr(3, 4); document.getElementById('isdpackCode').innerHTML=this.value.substr(3, 4);">
					
											
						<option value="AF^+93" >Afghanistan +93</option>
					
												
						<option value="CF^+236" >African Republic +236</option>
					
												
						<option value="AL^+355" >Albania +355</option>
					
												
						<option value="DZ^+213" >Algeria +213</option>
					
												
						<option value="AS^+0" >American Samoa +0</option>
					
												
						<option value="AD^+376" >Andorra +376</option>
					
												
						<option value="AO^+244" >Angola +244</option>
					
												
						<option value="AI^+264" >Anguilla +264</option>
					
												
						<option value="AG^+268" >Antigua and Barbuda +268</option>
					
												
						<option value="AR^+54" >Argentina +54</option>
					
												
						<option value="AM^+374" >Armenia +374</option>
					
												
						<option value="AW^+297" >Aruba +297</option>
					
												
						<option value="AU^+61" >Australia +61</option>
					
												
						<option value="AT^+43" >Austria +43</option>
					
												
						<option value="AZ^+994" >Azerbaijan +994</option>
					
												
						<option value="BS^+242" >Bahamas +242</option>
					
												
						<option value="BH^+973" >Bahrain +973</option>
					
												
						<option value="BD^+880" >Bangladesh +880</option>
					
												
						<option value="BB^+246" >Barbados +246</option>
					
												
						<option value="BY^+375" >Belarus +375</option>
					
												
						<option value="BE^+32" >Belgium +32</option>
					
												
						<option value="BZ^+501" >Belize +501</option>
					
												
						<option value="BJ^+229" >Benin +229</option>
					
												
						<option value="BM^+441" >Bermuda +441</option>
					
												
						<option value="BT^+975" >Bhutan +975</option>
					
												
						<option value="BO^+591" >Bolivia +591</option>
					
												
						<option value="BA^+387" >Bosnia and Herzegovina +387</option>
					
												
						<option value="BW^+267" >Botswana +267</option>
					
												
						<option value="BV^+47" >Bouvet +47</option>
					
												
						<option value="BR^+55" >Brazil +55</option>
					
												
						<option value="BN^+673" >Brunei +673</option>
					
												
						<option value="BG^+359" >Bulgaria +359</option>
					
												
						<option value="BF^+226" >Burkina +226</option>
					
												
						<option value="BF^+0" >Burkina Faso +0</option>
					
												
						<option value="BI^+257" >Burundi +257</option>
					
												
						<option value="KH^+855" >Cambodia +855</option>
					
												
						<option value="CM^+237" >Cameroon +237</option>
					
												
						<option value="CA^+1" >Canada +1</option>
					
												
						<option value="CV^+238" >Cape Verde +238</option>
					
												
						<option value="KY^+345" >Cayman Islands +345</option>
					
												
						<option value="236^+236" >Central African Republic +236</option>
					
												
						<option value="TD^+235" >Chad +235</option>
					
												
						<option value="IO^+246" >Chagos +246</option>
					
												
						<option value="CL^+56" >Chile +56</option>
					
												
						<option value="CN^+86" >China +86</option>
					
												
						<option value="CX^+61" >Christmas Island +61</option>
					
												
						<option value="CC^+61" >Cocos +61</option>
					
												
						<option value="CO^+57" >Colombia +57</option>
					
												
						<option value="KM^+269" >Comoros +269</option>
					
												
						<option value="CG^+242" >Congo +242</option>
					
												
						<option value="CK^+682" >Cook Islands +682</option>
					
												
						<option value="RCI^+506" >Costa Rica +506</option>
					
												
						<option value="HR^+385" >Croatia +385</option>
					
												
						<option value="CY^+357" >Cyprus +357</option>
					
												
						<option value="CZ^+420" >Czech Republic +420</option>
					
												
						<option value="DK^+45" >Denmark +45</option>
					
												
						<option value="DJ^+253" >Djibouti +253</option>
					
												
						<option value="DM^+767" >Dominica +767</option>
					
												
						<option value="DO^+809" >Dominican Republic +809</option>
					
												
						<option value="EOA^+257" >East Africa +257</option>
					
												
						<option value="TP^+670" >East Timor +670</option>
					
												
						<option value="EC^+593" >Ecuador +593</option>
					
												
						<option value="EG^+20" >Egypt +20</option>
					
												
						<option value="SV^+503" >El Salvador +503</option>
					
												
						<option value="GQ^+0" >Equatorial Guinea +0</option>
					
												
						<option value="ER^+291" >Eritrea +291</option>
					
												
						<option value="EE^+372" >Estonia +372</option>
					
												
						<option value="ET^+251" >Ethiopia +251</option>
					
												
						<option value="FO^+298" >Faroe +298</option>
					
												
						<option value="FM^+691" >Federated States of Micronesia +691</option>
					
												
						<option value="FJ^+679" >Fiji +679</option>
					
												
						<option value="FI^+358" >Finland +358</option>
					
												
						<option value="FR^+33" >France +33</option>
					
												
						<option value="FX^+590" >France, Metropolitan +590</option>
					
												
						<option value="GF^+594" >French Guiana +594</option>
					
												
						<option value="FP^+689" >French Polynesia +689</option>
					
												
						<option value="TF^+590" >French Southern Territories +590</option>
					
												
						<option value="GA^+241" >Gabon +241</option>
					
												
						<option value="GM^+220" >Gambia +220</option>
					
												
						<option value="GE^+995" >Georgia +995</option>
					
												
						<option value="DE^+49" >Germany +49</option>
					
												
						<option value="GH^+233" >Ghana +233</option>
					
												
						<option value="GI^+350" >Gibraltar +350</option>
					
												
						<option value="GR^+30" >Greece +30</option>
					
												
						<option value="GL^+299" >Greenland +299</option>
					
												
						<option value="GD^+809" >Grenada +809</option>
					
												
						<option value="Gre^+473" >Grenada +473</option>
					
												
						<option value="GP^+590" >Guadeloupe +590</option>
					
												
						<option value="GU^+1" >Guam +1</option>
					
												
						<option value="GT^+502" >Guatemala +502</option>
					
												
						<option value="GN^+224" >Guinea +224</option>
					
												
						<option value="GW^+245" >Guinea-bissau +245</option>
					
												
						<option value="GY^+592" >Guyana +592</option>
					
												
						<option value="HT^+509" >Haiti +509</option>
					
												
						<option value="HM^+61" >Heard and Mc Donald Islands +61</option>
					
												
						<option value="HN^+504" >Honduras +504</option>
					
												
						<option value="HU^+36" >Hungary +36</option>
					
												
						<option value="IS^+354" >Iceland +354</option>
					
												
						<option value="IN^+91"  selected="selected" >India +91</option>
					
												
						<option value="ID^+62" >Indonesia +62</option>
					
												
						<option value="IQ^+964" >Iraq +964</option>
					
												
						<option value="IE^+353" >Ireland +353</option>
					
												
						<option value="Isi^Isiolo" >Isiolo Isiolo</option>
					
												
						<option value="IL^+972" >Israel +972</option>
					
												
						<option value="IT^+39" >Italy +39</option>
					
												
						<option value="CI^+225" >Ivory Coast +225</option>
					
												
						<option value="JM^+876" >Jamaica +876</option>
					
												
						<option value="JP^+81" >Japan +81</option>
					
												
						<option value="JO^+962" >Jordan +962</option>
					
												
						<option value="KZ^+7" >Kazakhstan +7</option>
					
												
						<option value="KE^+254" >Kenya +254</option>
					
												
						<option value="KI^+686" >Kiribati +686</option>
					
												
						<option value="KW^+965" >Kuwait +965</option>
					
												
						<option value="KG^+996" >Kyrgyzstan +996</option>
					
												
						<option value="LA^+856" >Lao People's Democratic Republic +856</option>
					
												
						<option value="LA^+856" >Laos +856</option>
					
												
						<option value="LV^+371" >Latvia +371</option>
					
												
						<option value="LB^+961" >Lebanon +961</option>
					
												
						<option value="LS^+266" >Lesotho +266</option>
					
												
						<option value="LR^+231" >Liberia +231</option>
					
												
						<option value="LY^+218" >Libya +218</option>
					
												
						<option value="LI^+423" >Liechtenstein +423</option>
					
												
						<option value="LT^+370" >Lithuania +370</option>
					
												
						<option value="LU^+352" >Luxembourg +352</option>
					
												
						<option value="MO^+853" >Macau +853</option>
					
												
						<option value="MK^+389" >Macedonia +389</option>
					
												
						<option value="MG^+261" >Madagascar +261</option>
					
												
						<option value="MW^+265" >Malawi +265</option>
					
												
						<option value="MY^+60" >Malaysia +60</option>
					
												
						<option value="MV^+960" >Maldives +960</option>
					
												
						<option value="ML^+223" >Mali +223</option>
					
												
						<option value="MT^+356" >Malta +356</option>
					
												
						<option value="FK^+500" >Malvinas +500</option>
					
												
						<option value="MH^+692" >Marshall Islands +692</option>
					
												
						<option value="MQ^+596" >Martinique +596</option>
					
												
						<option value="MR^+222" >Mauritania +222</option>
					
												
						<option value="MU^+230" >Mauritius +230</option>
					
												
						<option value="YT^+269" >Mayotte +269</option>
					
												
						<option value="MX^+52" >Mexico +52</option>
					
												
						<option value="MD^+0" >Moldova +0</option>
					
												
						<option value="MD^+373" >Moldova (Republic of Moldova) +373</option>
					
												
						<option value="MC^+377" >Monaco +377</option>
					
												
						<option value="MN^+976" >Mongolia +976</option>
					
												
						<option value="ME^+381" >Montenegro +381</option>
					
												
						<option value="MS^+664" >Montserrat +664</option>
					
												
						<option value="MA^+212" >Morocco +212</option>
					
												
						<option value="MZ^+258" >Mozambique +258</option>
					
												
						<option value="MM^+95" >Myanmar +95</option>
					
												
						<option value="NA^+264" >Namibia +264</option>
					
												
						<option value="NR^+674" >Nauru +674</option>
					
												
						<option value="NP^+977" >Nepal +977</option>
					
												
						<option value="NL^+31" >Netherlands +31</option>
					
												
						<option value="AN^+599" >Netherlands Antilles +599</option>
					
												
						<option value="NC^+687" >New Caledonia +687</option>
					
												
						<option value="PG^+675" >New Guinea +675</option>
					
												
						<option value="NZ^+64" >New Zealand +64</option>
					
												
						<option value="NI^+505" >Nicaragua +505</option>
					
												
						<option value="NE^+227" >Niger +227</option>
					
												
						<option value="NG^+234" >Nigeria +234</option>
					
												
						<option value="NU^+683" >Niue +683</option>
					
												
						<option value="NF^+672" >Norfolk Island +672</option>
					
												
						<option value="MP^+670" >Northern Mariana Islands +670</option>
					
												
						<option value="NO^+47" >Norway +47</option>
					
												
						<option value="OM^+968" >Oman +968</option>
					
												
						<option value="PK^+92" >Pakistan +92</option>
					
												
						<option value="PW^+680" >Palau +680</option>
					
												
						<option value="PA^+507" >Panama +507</option>
					
												
						<option value="PG^+0" >Papua New Guinea +0</option>
					
												
						<option value="PY^+595" >Paraguay +595</option>
					
												
						<option value="PE^+51" >Peru +51</option>
					
												
						<option value="PH^+63" >Philippines +63</option>
					
												
						<option value="PN^+872" >Pitcairn +872</option>
					
												
						<option value="PL^+48" >Poland +48</option>
					
												
						<option value="PF^+689" >Polynesia +689</option>
					
												
						<option value="PT^+351" >Portugal +351</option>
					
												
						<option value="PR^+1-787" >Puerto Rico +1-787</option>
					
												
						<option value="QA^+974" >Qatar +974</option>
					
												
						<option value="RE^+262" >Reunion +262</option>
					
												
						<option value="RO^+40" >Romania +40</option>
					
												
						<option value="RU^+7" >Russia +7</option>
					
												
						<option value="RW^+250" >Rwanda +250</option>
					
												
						<option value="KN^+869" >Saint Kitts and Nevis +869</option>
					
												
						<option value="LC^+758" >Saint Lucia +758</option>
					
												
						<option value="VC^+784" >Saint Vincent and the Grenadines +784</option>
					
												
						<option value="WS^+685" >Samoa +685</option>
					
												
						<option value="SM^+378" >San Marino +378</option>
					
												
						<option value="ST^+239" >Sao Tome And Principe +239</option>
					
												
						<option value="SA^+966" >Saudi Arabia +966</option>
					
												
						<option value="SN^+221" >Senegal +221</option>
					
												
						<option value="RS^+381" >Serbia +381</option>
					
												
						<option value="SC^+248" >Seychelles +248</option>
					
												
						<option value="SL^+232" >Sierra Leone +232</option>
					
												
						<option value="SG^+65" >Singapore +65</option>
					
												
						<option value="SK^+421" >Slovakia +421</option>
					
												
						<option value="SI^+386" >Slovenia +386</option>
					
												
						<option value="SB^+677" >Solomon Islands +677</option>
					
												
						<option value="SO^+252" >Somalia +252</option>
					
												
						<option value="ZA^+27" >South Africa +27</option>
					
												
						<option value="GS^+44" >South Georgia and the South Sandwich Islands +44</option>
					
												
						<option value="KR^+82" >South Korea +82</option>
					
												
						<option value="ES^+34" >Spain +34</option>
					
												
						<option value="LK^+94" >Sri Lanka +94</option>
					
												
						<option value="SH^+290" >St. Helena +290</option>
					
												
						<option value="PM^+508" >St. Pierre and Miquelon +508</option>
					
												
						<option value="SD^+249" >Sudan +249</option>
					
												
						<option value="SR^+597" >Suriname +597</option>
					
												
						<option value="SJ^+47" >Svalbard and Jan Mayen Islands +47</option>
					
												
						<option value="SZ^+268" >Swaziland +268</option>
					
												
						<option value="SE^+46" >Sweden +46</option>
					
												
						<option value="CH^+41" >Switzerland +41</option>
					
												
						<option value="TW^+886" >Taiwan +886</option>
					
												
						<option value="TJ^+7" >Tajikistan +7</option>
					
												
						<option value="TZ^+255" >Tanzania +255</option>
					
												
						<option value="TH^+66" >Thailand +66</option>
					
												
						<option value="TG^+228" >Togo +228</option>
					
												
						<option value="TK^+64" >Tokelau +64</option>
					
												
						<option value="TO^+676" >Tonga +676</option>
					
												
						<option value="TT^+868" >Trinidad and Tobago +868</option>
					
												
						<option value="TN^+216" >Tunisia +216</option>
					
												
						<option value="TR^+90" >Turkey +90</option>
					
												
						<option value="TM^+993" >Turkmenistan +993</option>
					
												
						<option value="TC^+649" >Turks and Caicos Islands +649</option>
					
												
						<option value="TV^+688" >Tuvalu +688</option>
					
												
						<option value="AE^+971" >UAE +971</option>
					
												
						<option value="UG^+256" >Uganda +256</option>
					
												
						<option value="UA^+380" >Ukraine +380</option>
					
												
						<option value="UK^+44" >United Kingdom +44</option>
					
												
						<option value="UM^+1" >United States Minor Outlying Islands +1</option>
					
												
						<option value="UY^+598" >Uruguay +598</option>
					
												
						<option value="US^+1" >USA +1</option>
					
												
						<option value="UZ^+998" >Uzbekistan +998</option>
					
												
						<option value="VU^+678" >Vanuatu +678</option>
					
												
						<option value="VA^+0" >Vatican City +0</option>
					
												
						<option value="VA^+39" >Vatican City State (Holy See) +39</option>
					
												
						<option value="VE^+58" >Venezuela +58</option>
					
												
						<option value="VN^+84" >Vietnam +84</option>
					
												
						<option value="VG^+1" >Virgin Islands (British) +1</option>
					
												
						<option value="VI^+1" >Virgin Islands (U.S.) +1</option>
					
												
						<option value="WF^+681" >Wallis and Futuna Islands +681</option>
					
												
						<option value="EH^+212" >Western Sahara +212</option>
					
												
						<option value="YE^+967" >Yemen +967</option>
					
												
						<option value="YU^+381" >Yugoslavia +381</option>
					
												
						<option value="ZR^+243" >Zaire +243</option>
					
												
						<option value="ZM^+260" >Zambia +260</option>
					
												
						<option value="ZW^+263" >Zimbabwe +263</option>
					
											</select>
					</div>									
					<input type="text" name="dynFrm_phone" id="dynFrm_phone_10029" class="fl" style="width:calc(100% - 62px);" placeholder="Mobile No" />
					<span class="fl red small"></span>
					</div>					
										
					<div class="mb5px ac">
					<input type="submit" name="submit" value="Send Enquiry" class="dib theme1 p12px bdr fw6">
					<input type="hidden" name="phone_isd" id="phone_package_isd" value="+91">
					<input type="hidden" name="subject" value="Offbeat Uttarakhand Tour - Tour Package"/>
					<input type="hidden" name="allocate_type" value="tour"/>
					<input type="hidden" name="pkg_slno" value="63776"/>
					<input type="hidden" name="current_url" value="https://www.hussaintours.in/tour-packages/offbeat-uttarakhand-tour.htm">
				  	<input type="hidden" name="web_address" value="https://www.hussaintours.in">
				  	<input type="hidden" name="inq_thanks_msg" value="Thank you for inquiry.<br /><br />We have received your request. Our Sales Team will soon get in touch with you.<br /><br /><br />">
					<input type="hidden" name="inq_thanks_title" value="Enquiry">
				  	<input type="hidden" name="redirected_url" value="https://www.hussaintours.in/thanks.htm">
					<input type="hidden" name="catalog_mi" value="387846">
				  	<input type="hidden" name="id" value="static_form">
				  	<input type="hidden" name="form_id" value="10029">
					</form>
					</div>
					</div>					
					</div>
					</div>
					<style>
					.ui-datepicker-trigger {
						vertical-align : middle;
					}
					</style>
					<script>
					jQuery('.dynFrm_arrival_date').datepicker({minDate: 0,
					buttonImage: '//catalog.wlimg.com/jquery-date-picker/calbtn.gif',
					buttonText: 'Click to view calendar',
				    buttonImageOnly: true,
				    showOn: 'button',
				    changeMonth: true,
				    changeYear: true,
				    onClose: function(dateText, inst) {
				        var endDateTextBox = jQuery('.dynFrm_departure_date');
				        if (endDateTextBox.val() != '') {
				            var testStartDate = new Date(dateText);
				            var testEndDate = new Date(endDateTextBox.val());
				            if (testStartDate > testEndDate)
				                endDateTextBox.val(dateText);
				        }
				    }, 
					    onSelect: function (selectedDateTime){
					        var start = jQuery(this).datepicker('getDate');
					        jQuery('.dynFrm_departure_date').datepicker('option', 'minDate', new Date(start.getTime()));
					        jQuery('#dynFrm_departure_date').datepicker('option', 'minDate', new Date(start.getTime()));
					    }    
					});
					jQuery('.dynFrm_departure_date').datepicker({
					minDate: 0,
					buttonImage: '//catalog.wlimg.com/jquery-date-picker/calbtn.gif',
					buttonText: 'Click to view calendar',
				    buttonImageOnly: true,
				    showOn: 'button',
				    changeMonth: true,
				    changeYear: true,
				    onClose: function(dateText, inst) {
				        var startDateTextBox = jQuery('.dynFrm_arrival_date');
				        if (startDateTextBox.val() != '') {
				            var testStartDate = new Date(startDateTextBox.val());
				            var testEndDate = new Date(dateText);
				            if (testStartDate > testEndDate)
				                startDateTextBox.val(dateText);
				        }
				    },
				    onSelect: function (selectedDateTime){
				        var end = jQuery(this).datepicker('getDate');
				        jQuery('.dynFrm_arrival_date').datepicker('option', 'maxDate', new Date(end.getTime()) );
				        jQuery('#dynFrm_arrival_date').datepicker('option', 'maxDate', new Date(end.getTime()) );
				    }
					});
					</script>
					<script>
					jQuery(document).ready(function(){
					var sticky = jQuery('.stickyForm').offset().top;
					jQuery(window).scroll(function(){      
					 if(jQuery(window).scrollTop() > sticky){
					  jQuery('.stickyForm').css('position','fixed');
					  jQuery('.stickyForm').css('top','75px'); 
					 }
					 else if (jQuery(window).scrollTop() <= sticky) {
					  jQuery('.stickyForm').css('position','');
					  jQuery('.stickyForm').css('top','');
					 }  
					if (jQuery('.stickyForm').offset().top + jQuery(".stickyForm").height() > jQuery(".rel-prop").offset().top) {
					  jQuery('.stickyForm').css('top',-(jQuery(".stickyForm").offset().top + jQuery(".stickyForm").height() - jQuery(".rel-prop").offset().top));
					}
					});
					});
					</script>
					<script>
					jQuery(document).ready(function(e){
					if (jQuery(window).width() < 992) {
					jQuery(".rghtFix .enqForm .h").on("click", function(){
					  jQuery(this).find('.plusMinus').toggleClass('act').parent().next('.showHide_rp').slideToggle('slow');
					});  
					jQuery(".rghtFix .enqForm .plusMinus").on("click", function(e){
					e.stopPropagation(); 
					});
					}
					});  
					</script>
					</div>
					</div>
									
				
				</div>
				
										<section class="pt30px pb10px relTour-pkg rel-prop">
						<div class="wrap">      
						<div class="fo">
						<div class="ac mb7px"><div><h2 class="hd_NT">Similar Tour Packages for Haridwar, Dehradun, Rishikesh, Mukteshwar, Auli</h2></div></div>
						<div class="ic" id="1102_3-1">
						<div class="slider">
						<ul class="expl-carousel1">
											
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='https://www.hussaintours.in/tour-packages/valleyof-flowers-trek-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/wh1/dir_13/387846/118818.jpg"  height=""  width=""    alt="Valley of Flowers Trek Tour" title="Valley of Flowers Trek Tour"  class="bdr p1px" ></div></div>
								<div class="absViewBtn"><a href="https://www.hussaintours.in/tour-packages/valleyof-flowers-trek-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								6 Nights / 7 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="https://www.hussaintours.in/tour-packages/valleyof-flowers-trek-tour.htm" title="Valley of Flowers Trek Tour"><h3>Valley Of Flowers Trek Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='https://www.hussaintours.in/tour-packages/4-days-rafting-tourin-rishikesh.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/wh1/dir_13/387846/118823.jpg"  height=""  width=""    alt="4 Days Rafting Tour in Rishikesh" title="4 Days Rafting Tour in Rishikesh"  class="bdr p1px" ></div></div>
								<div class="absViewBtn"><a href="https://www.hussaintours.in/tour-packages/4-days-rafting-tourin-rishikesh.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								3 Nights / 4 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="https://www.hussaintours.in/tour-packages/4-days-rafting-tourin-rishikesh.htm" title="4 Days Rafting Tour in Rishikesh"><h3>4 Days Rafting Tour In Rishikesh</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='https://www.hussaintours.in/tour-packages/3-days-white-water-rafting-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/wh1/dir_13/387846/118822.jpg"  height=""  width=""    alt="3 Days White Water Rafting Tour" title="3 Days White Water Rafting Tour"  class="bdr p1px" ></div></div>
								<div class="absViewBtn"><a href="https://www.hussaintours.in/tour-packages/3-days-white-water-rafting-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								2 Nights / 3 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="https://www.hussaintours.in/tour-packages/3-days-white-water-rafting-tour.htm" title="3 Days White Water Rafting Tour"><h3>3 Days White Water Rafting Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='https://www.hussaintours.in/tour-packages/golden-triangle-haridwar-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/wh1/dir_13/387846/131299.jpg"  height=""  width=""    alt="Golden Triangle Haridwar Tour" title="Golden Triangle Haridwar Tour"  class="bdr p1px" ></div></div>
								<div class="absViewBtn"><a href="https://www.hussaintours.in/tour-packages/golden-triangle-haridwar-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								8 Nights / 9 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="https://www.hussaintours.in/tour-packages/golden-triangle-haridwar-tour.htm" title="Golden Triangle Haridwar Tour"><h3>Golden Triangle Haridwar Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='https://www.hussaintours.in/tour-packages/uttarakhand5-days-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/wh1/dir_13/387846/118819.jpg"  height=""  width=""    alt="Uttarakhand 5 Days Tour" title="Uttarakhand 5 Days Tour"  class="bdr p1px" ></div></div>
								<div class="absViewBtn"><a href="https://www.hussaintours.in/tour-packages/uttarakhand5-days-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								4 Nights / 5 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="https://www.hussaintours.in/tour-packages/uttarakhand5-days-tour.htm" title="Uttarakhand 5 Days Tour"><h3>Uttarakhand 5 Days Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='https://www.hussaintours.in/tour-packages/enchanting-uttarakhand-tour.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/wh1/dir_13/387846/118821.jpg"  height=""  width=""    alt="Enchanting Uttarakhand Tour" title="Enchanting Uttarakhand Tour"  class="bdr p1px" ></div></div>
								<div class="absViewBtn"><a href="https://www.hussaintours.in/tour-packages/enchanting-uttarakhand-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								5 Nights / 6 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="https://www.hussaintours.in/tour-packages/enchanting-uttarakhand-tour.htm" title="Enchanting Uttarakhand Tour"><h3>Enchanting Uttarakhand Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='https://www.hussaintours.in/tour-packages/5-nights6-days-nainital-mussoorie-tour-with-haridwar.htm'">
															<div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px"><img src="https://ttw.wlimg.com/package-images/photo-small/wh1/dir_13/387846/118820.jpg"  height=""  width=""    alt="5 Nights 6 Days - Nainital & Mussoorie Tour with Haridwar" title="5 Nights 6 Days - Nainital & Mussoorie Tour with Haridwar"  class="bdr p1px" ></div></div>
								<div class="absViewBtn"><a href="https://www.hussaintours.in/tour-packages/5-nights6-days-nainital-mussoorie-tour-with-haridwar.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								5 Nights / 6 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="https://www.hussaintours.in/tour-packages/5-nights6-days-nainital-mussoorie-tour-with-haridwar.htm" title="5 Nights 6 Days - Nainital & Mussoorie Tour with Haridwar"><h3>5 Nights 6 Days - Nainital & Mussoorie Tour With Haridwar</h3></a></div>
							</div>
							</div>						
							</li>
															
						</ul>
						</div>
						</div> 
						 
								<script>
								$(document).ready(function() {
								var tnsCarousel = $('.expl-carousel1');
								tnsCarousel.each(function() {
								var tnsSlider = tns({
								 'container': '.expl-carousel1',
								 'axis': 'horizontal',
								  'speed': '2000',						  
								  'autoplay': true,
								  'slideBy': '1',
								  'autoplayDirection':'forward', 
								  'nav': false,	
								  'autoplayHoverPause': true,
								  'autoplayTimeout': 3000,
								  'autoplayButtonOutput': false,
								  'autoplayResetOnVisibility': false,
								  'gutter': 10,
								  'controls' : true,
								  'mouseDrag': true,
								  responsive: {
									0: {
										items: 1
									  },
									  480: {
										items: 2
									  },
									  640: {
										items: 2
									  },
									  768: {
										items: 3
									  },
									  992: {
										items: 4
									  },
									  1024: {
										items: 4
									  },
									  1200: {
										items: 5
									  }
								  },
								  'swipeAngle': false
								});
								});
								});
								</script>
															  
						 </div>
					     </div>
					    </section>
											<section class="pt20px pb20px absTour-Title rel-prop">
					<div class="wrap">
					<div class="fo">     	
					<div class="ac mb7px"><div><h2 class="hd_NT">Explore Tour Packages by Destination</h2></div></div>     	
					<div class="ic" id="1102_3-1">
					<div class="slider">
					<ul class="expl-carousel">								
					
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.hussaintours.in/packages-in-new-delhi.htm" title="Packages in New Delhi" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10009-classified.jpg"  height=""  width=""    alt="New Delhi" title="New Delhi" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.hussaintours.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.hussaintours.in/packages-in-jaipur.htm" title="Packages in Jaipur" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10096-classified.jpg"  height=""  width=""    alt="Jaipur" title="Jaipur" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.hussaintours.in/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.hussaintours.in/packages-in-agra.htm" title="Packages in Agra" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10119-classified.jpg"  height=""  width=""    alt="Agra" title="Agra" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.hussaintours.in/packages-in-agra.htm" title="Packages in Agra">Agra Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.hussaintours.in/packages-in-manali.htm" title="Packages in Manali" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10061-classified.jpg"  height=""  width=""    alt="Manali" title="Manali" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.hussaintours.in/packages-in-manali.htm" title="Packages in Manali">Manali Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.hussaintours.in/packages-in-shimla.htm" title="Packages in Shimla" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10070-classified.jpg"  height=""  width=""    alt="Shimla" title="Shimla" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.hussaintours.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.hussaintours.in/packages-in-haridwar.htm" title="Packages in Haridwar" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10151-classified.jpg"  height=""  width=""    alt="Haridwar" title="Haridwar" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.hussaintours.in/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.hussaintours.in/packages-in-nainital.htm" title="Packages in Nainital" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10152-classified.jpg"  height=""  width=""    alt="Nainital" title="Nainital" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.hussaintours.in/packages-in-nainital.htm" title="Packages in Nainital">Nainital Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.hussaintours.in/packages-in-rishikesh.htm" title="Packages in Rishikesh" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10607-classified.jpg"  height=""  width=""    alt="Rishikesh" title="Rishikesh" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.hussaintours.in/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.hussaintours.in/packages-in-corbett.htm" title="Packages in Corbett" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/12521-classified.jpg"  height=""  width=""    alt="Corbett" title="Corbett" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.hussaintours.in/packages-in-corbett.htm" title="Packages in Corbett">Corbett Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.hussaintours.in/packages-in-jaisalmer.htm" title="Packages in Jaisalmer" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10097-classified.jpg"  height=""  width=""    alt="Jaisalmer" title="Jaisalmer" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.hussaintours.in/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.hussaintours.in/packages-in-udaipur.htm" title="Packages in Udaipur" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10117-classified.jpg"  height=""  width=""    alt="Udaipur" title="Udaipur" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.hussaintours.in/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.hussaintours.in/packages-in-mussoorie.htm" title="Packages in Mussoorie" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10139-classified.jpg"  height=""  width=""    alt="Mussoorie" title="Mussoorie" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.hussaintours.in/packages-in-mussoorie.htm" title="Packages in Mussoorie">Mussoorie Tours</a></div>
						</div> 
						</li>
											</ul>
					</div>
					</div>
					 
							<script>
							$(document).ready(function() {
							var tnsCarousel = $('.expl-carousel');
							tnsCarousel.each(function() {
							var tnsSlider = tns({
							 'container': '.expl-carousel',
							 'axis': 'horizontal',
							  'speed': '2000',						  
							  'autoplay': true,
							  'slideBy': '1',
							  'autoplayDirection':'forward', 
							  'nav': false,	
							  'autoplayHoverPause': true,
							  'autoplayTimeout': 3000,
							  'autoplayButtonOutput': false,
							  'autoplayResetOnVisibility': false,
							  'gutter': 10,
							  'controls' : true,
							  'mouseDrag': true,
							  responsive: {
								0: {
									items: 1
								  },
								  480: {
									items: 2
								  },
								  640: {
									items: 2
								  },
								  768: {
									items: 3
								  },
								  992: {
									items: 4
								  },
								  1024: {
									items: 4
								  },
								  1200: {
									items: 5
								  }
							  },
							  'swipeAngle': false
							});
							});
							});
							</script>
												
					</div>
					</div>
					</section>
									
				</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:63:"Book Offbeat Uttarakhand Tour - 7 Nights / 8 Days Tour Packages";i:2;s:248:"book offbeat uttarakhand tour - 7 nights / 8 days tour packages, hill stations & valleys tour packages, dehradun, haridwar, rishikesh, auli, mukteshwar, water skiing in auli, rajaji national park, binsar, munsiyari, patal bhuwaneshwar tour packages";i:3;s:278:"Hussain Tours offers Offbeat Uttarakhand Tour - 7 Nights / 8 Days tour package, budget Hill Stations & Valleys tour packages for Dehradun, Haridwar, Rishikesh, Auli, Mukteshwar, Water Skiing in Auli, Rajaji National Park, Binsar, Munsiyari, Patal Bhuwaneshwar at exciting price.";i:4;s:526:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dehradun, Haridwar, Rishikesh, Auli, Mukteshwar, Water Skiing in Auli, Rajaji National Park, Binsar, Munsiyari, Patal Bhuwaneshwar"        
		                 },
		      "description": "",
		      "name": "Offbeat Uttarakhand Tour",
		      "telephone": "+91-9411923927"
		    }
		    </script>
			";i:5;N;i:6;s:75:"https://ttw.wlimg.com/package-images/photo-big/wh1/dir_13/387846/118333.jpg";}