a:6:{i:0;s:31684:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Kerala Offbeat Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.marvelloustoursandtravels.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.marvelloustoursandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Kerala Offbeat 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_12/334234/151721.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/334234/151721.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/334234/151721.jpg"  alt="Kerala Offbeat Tour" title="Kerala Offbeat 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">Kerala Offbeat Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kannur, Kasaragod, Wayanad</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.marvelloustoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kerala Offbeat 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="86756"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</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> Wayanad: Homestay in an exotic Coffee Plantation										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Since Wayanad does not have an airport, your journey begins either in Calicut or Bangalore, both of which are connected to the outside world by trains and international flights and link to Wayanad by frequently plying buses and cars.<br />
<br />
Get an assisted transfer to your homestay, which is located in the picturesque woods, amidst coffee plantations. You will reside with a local Wayanadi family, in a beautiful cottage, which is raised on stilts.<br />
<br />
Enjoy first two days of your journey relaxing and relishing within the local ambience. Spend time knowing and understanding your host family and their ways of life, reveling in the local North Kerala cuisine flavors. Stroll about, exploring the lush greenery or volunteering in the rubber and coffee plantations that grows in your backyard. Savor the sweet songs of birds or spend some time reflecting in the quiet stillness of your balcony.<br />
<br />
One of the most scenic districts of Kerala, Wayanad is a delight for nature enthusiasts and a haven for photographers with sights of raw nature and dense forests pervading all over. In these two days, you can also explore the mesmerizing hilly regions of Wayanad by car. Visit the enchanting historical caves of Edakkal or understand closely the tribal settlements of Chekadi, by spending a night in a forest camp. Either climb to the spectacular Chembra Peak, home to the beautiful heart shaped lake or enjoy the captivating early morning forest trek in the wildlife sanctuary zone or a deep jungle jeep safari, your stay in Wayanad would be one of the most remarkable times spent in your lifetime. Overnight stay in Wayanad.															
														   
											</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> Wayanad: Homestay in an exotic Coffee Plantation										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Since Wayanad does not have an airport, your journey begins either in Calicut or Bangalore, both of which are connected to the outside world by trains and international flights and link to Wayanad by frequently plying buses and cars.<br />
<br />
Get an assisted transfer to your homestay, which is located in the picturesque woods, amidst coffee plantations. You will reside with a local Wayanadi family, in a beautiful cottage, which is raised on stilts.<br />
<br />
Enjoy first two days of your journey relaxing and relishing within the local ambience. Spend time knowing and understanding your host family and their ways of life, reveling in the local North Kerala cuisine flavors. Stroll about, exploring the lush greenery or volunteering in the rubber and coffee plantations that grows in your backyard. Savor the sweet songs of birds or spend some time reflecting in the quiet stillness of your balcony.<br />
<br />
One of the most scenic districts of Kerala, Wayanad is a delight for nature enthusiasts and a haven for photographers with sights of raw nature and dense forests pervading all over. In these two days, you can also explore the mesmerizing hilly regions of Wayanad by car. Visit the enchanting historical caves of Edakkal or understand closely the tribal settlements of Chekadi, by spending a night in a forest camp. Either climb to the spectacular Chembra Peak, home to the beautiful heart shaped lake or enjoy the captivating early morning forest trek in the wildlife sanctuary zone or a deep jungle jeep safari, your stay in Wayanad would be one of the most remarkable times spent in your lifetime. Overnight stay in Wayanad.			
														   
											</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> Wayanad: Homestay in a Traditional Village										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												These days are marked for a fascinating village homestay in Wayanad. Begin your day with a drive through the scenic terrain of Wayanad to the small, enchanting village of Thrikkaipetta. Being cradled within the majestic Western Ghats and enveloped in the beautiful rice paddies and coconut and banana plantations, the village is a place of wonderful charms.<br />
<br />
Again, your residence will be with a local family, offering a great opportunity to understand the lifestyle of common village people of Wayanad and indulge in unique hospitality and flavors of local dishes.<br />
<br />
Explore the wonderful village life of locals. Spend your time relaxing and strolling about the village plantations and hiking in the nearby hillocks. As the evening falls, entertain yourself with local music and dance performances. Bigger groups can also choose cultural folk performance by village artists and participate in the local traditions and exchange and understand each other's cultural heritage.<br />
<br />
For those who want to further embrace the enchanting experience of Wayanad can also opt for half day or full day cycling tour. Taking you through the trail of picturesque sights, wide fields, wonderful temples, expansive plains and lakes of South Wayanad, the trip proves to be a memorable excursion. Overnight stay at your residence in Wayanad.			
														   
											</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> Wayanad: Homestay in a Traditional Village										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												These days are marked for a fascinating village homestay in Wayanad. Begin your day with a drive through the scenic terrain of Wayanad to the small, enchanting village of Thrikkaipetta. Being cradled within the majestic Western Ghats and enveloped in the beautiful rice paddies and coconut and banana plantations, the village is a place of wonderful charms.<br />
<br />
Again, your residence will be with a local family, offering a great opportunity to understand the lifestyle of common village people of Wayanad and indulge in unique hospitality and flavors of local dishes.<br />
<br />
Explore the wonderful village life of locals. Spend your time relaxing and strolling about the village plantations and hiking in the nearby hillocks. As the evening falls, entertain yourself with local music and dance performances. Bigger groups can also choose cultural folk performance by village artists and participate in the local traditions and exchange and understand each other's cultural heritage.<br />
<br />
For those who want to further embrace the enchanting experience of Wayanad can also opt for half day or full day cycling tour. Taking you through the trail of picturesque sights, wide fields, wonderful temples, expansive plains and lakes of South Wayanad, the trip proves to be a memorable excursion. Overnight stay at your residence in Wayanad.			
														   
											</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 5											
											:</b> Kannur: Exquisite Beach Homestay										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												The day is marked for the scenic journey to Kannur. Get ready in the morning, for an incredible bus ride to this sleepy town, passing though lush green tea plantations and thick teak forests. Also find, amazing views of backwaters, alternating between other sights through your course. Although the bus ride is your unique chance to get acquainted with more people belonging to the area and learn further, car transfers are also arranged for those opting for the same.<br />
<br />
An enchanting homestay again awaits you at Kannur, inside a tiny village situated at the confluence of a little stretch of backwaters and the Arabian Sea. Get a warm welcome from your hosts in your home, which would be built in the traditional Keralan style, overlooking a warm sandy beach.<br />
<br />
There are several options you can exercise during your stay in Kannur. Either spend your day relaxing and sunbathing at beach and bird-watching in backwaters or opt for an exquisite day trip to the mesmerizing Bekal fort. Also rejuvenate yourself with relaxing Ayurveda treatments and pay a visit to the art and craft village located by a peaceful lake to pick a memorable souvenir for yourself. Moreover, you can also spend a relaxing evening on a houseboat and if you happen to visit this exotic place in winters, can take part in Theyyam festivities, organized in the local household of the 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 6											
											:</b> Kasaragod: Fascinating Homestay at a Private Island										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												The day starts with delicious breakfast. Thereafter, set out on an hour long bus ride to an incredible private island located by a wonderful stretch of backwaters in Kasaragod.<br />
<br />
Your last two days are spent on this small haven of exoticness, where you live in an elegant, laterite stone cottage, fixed with an open rooftop shower and alluring Kerala styled, tiled roof. Your residence wonderfully overlooks a large expanse of backwaters which are fringed with beautiful palm trees.<br />
<br />
Spend your time relaxing in the wonderful hospitality of your hosts, digging your fingers in the delicious home-made local cuisine or enjoying the wonderful views of the backwaters while lounging in your balcony. Moreover, you can also please your senses with the relaxing Ayurveda massage or get on a trip to see the exotic mussel farming in the waters surrounding the area.			
														   
											</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 7											
											:</b> Kasaragod: Fascinating Homestay at a Private Island										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												The day starts with delicious breakfast. Thereafter, set out on an hour long bus ride to an incredible private island located by a wonderful stretch of backwaters in Kasaragod.<br />
<br />
Your last two days are spent on this small haven of exoticness, where you live in an elegant, laterite stone cottage, fixed with an open rooftop shower and alluring Kerala styled, tiled roof. Your residence wonderfully overlooks a large expanse of backwaters which are fringed with beautiful palm trees.<br />
<br />
Spend your time relaxing in the wonderful hospitality of your hosts, digging your fingers in the delicious home-made local cuisine or enjoying the wonderful views of the backwaters while lounging in your balcony. Moreover, you can also please your senses with the relaxing Ayurveda massage or get on a trip to see the exotic mussel farming in the waters surrounding the area.			
														   
											</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>Transfers</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>						
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
						
						<ul><li>* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date.</li></ul>						
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.marvelloustoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kerala Offbeat 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="86756"/>
						</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.marvelloustoursandtravels.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(40)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(28)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(21)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</a> <b class="alpha50 bn small">(20)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(20)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-bikaner.htm" title="Packages in Bikaner">Bikaner</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-mount-abu.htm" title="Packages in Mount Abu">Mount Abu</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-kumarakom.htm" title="Packages in Kumarakom">Kumarakom</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-trivandrum.htm" title="Packages in Trivandrum">Trivandrum</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-sawai-madhopur.htm" title="Packages in Sawai Madhopur">Sawai Madhopur</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-ajmer.htm" title="Packages in Ajmer">Ajmer</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-kufri.htm" title="Packages in Kufri">Kufri</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-chennai.htm" title="Packages in Chennai">Chennai</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-bangalore.htm" title="Packages in Bangalore">Bangalore</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.marvelloustoursandtravels.com/packages-in-ranakpur.htm" title="Packages in Ranakpur">Ranakpur</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.marvelloustoursandtravels.com/packages-in-ooty.htm" title="Packages in Ooty">Ooty</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.marvelloustoursandtravels.com/packages-in-thiruvananthapuram.htm" title="Packages in Thiruvananthapuram">Thiruvananthapuram</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.marvelloustoursandtravels.com/packages-in-mahabalipuram.htm" title="Packages in Mahabalipuram">Mahabalipuram</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.marvelloustoursandtravels.com/packages-in-kullu.htm" title="Packages in Kullu">Kullu</a> <b class="alpha50 bn small">(3)</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.marvelloustoursandtravels.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(44)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.marvelloustoursandtravels.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(7)</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>
				
								
				</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:58:"Book Kerala Offbeat Tour - 6 Nights / 7 Days Tour Packages";i:2;s:128:"book kerala offbeat tour - 6 nights / 7 days tour packages, hill station tour packages, kannur, kasaragod, wayanad tour packages";i:3;s:186:"Book Kerala Offbeat Tour - 6 Nights / 7 Days tour packages from Marvellous Tours & Travels - Get attractive 6 Nights / 7 Days Hill Station  tour packages for  Kannur, Kasaragod, Wayanad.";i:4;s:417:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kannur, Kasaragod, Wayanad"        
		                 },
		      "description": "",
		      "name": "Kerala Offbeat Tour",
		      "telephone": "+91-9929590806"
		    }
		    </script>
			";i:5;N;}