a:6:{i:0;s:68570:"				<section id="middle" class="propDtls">
				<div class="wrap packages" id="bodyFormatNT">
									<div class="fo breadcrumb ar uu small db"><span class="pl15px pr15px db mt5px"><a href="http://www.orissatribaltours.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.orissatribaltours.com/travel-packages.htm" title="Travel Packages">Travel Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Wildlife Adventure Tour-Odisha</span></div> 
									
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-1 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<div class="h1"><h1>Wildlife Adventure Tour-Odisha</h1></div>
											<p class="mb5px"><b>Duration :</b> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Balasore, Kendrapara</p>
												<p class="mb5px"><b>Tour Themes :</b> Wildlife and Nature</p>
												<p class="mb5px"><b>Price :</b> <span class="dif">On Request</span></p>
											
					<br />
					<p>
					<form class="inquiry-form" name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.orissatribaltours.com/enquiry-form-10028.htm">
					<input type="hidden" name="subject" value="Wildlife Adventure Tour-Odisha - Tour Package"/>
					<input type="hidden" name="allocate_type" value="tour"/>							
					<input type="hidden" name="pkg_slno" value="61447"/>
					</form>
					<a href="javascript:void(0);" class="submit-inquiry buttonBig p10px20px c5px b large dib">Book Your Tour</a>
					
										</p>
										</td>
											<td class="p10px vat ttwDtls-img lh0">
						<div class="">
						<ul class="bxslider11 fx-height" style="margin:0px;padding:0px;">
															<li class="pr"><div>	         
									<div class="slide-fixImag"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_14/401921/115153.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/115153.jpg"  height="150"  width="150"    alt="Wildlife Adventure Tour-Odisha" title="Wildlife Adventure Tour-Odisha" /></a></div></div></li>
															</ul>
						<script>			
						 $('.bxslider11').bxSlider({
							 mode:'horizontal',
							 auto: true,
							 autoControls: false,
							 stopAutoOnClick: true,		 
							 //controls:false,
							 slideWidth: 350,
							 maxSlides: 1,
							 pager: false,
							 infiniteLoop: false,
							 //pagerCustom:'.bx-pager11'
						  });
						</script>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<div class="b xlarge mb10px dib"><h2>Balasore and Kendrapara Tour Overview</h2></div>
								</div>
													
								Odisha located in Eastern India is among the states which has the maximum land under forest area (33%).  Odisha is blessed with some of the most endangered and rare wildlife species are found here. For wildlife enthusiasts and nature lovers Odisha is a perfect destination.<br />
<br />
Bhitarkanika National Park<br />
Located in the north-eastern part of Kendrapara district of Odisha. The sanctuary is covering an area of 672 sq km and out of that 145 sq km is core area. The topography of the region is mangrove. The major wildlife of the Bhitarkanika National park include salt water crocodile, water monster Lizard, spotted deer, monkey, wild boar,  jungle cat , fox, Jackal, mongoose, fishing cat, hyena etc. <br />
<br />
The sanctuary also has a sizable bird population with prominent being 8  different type kingfisher, open bill stork, ibis , cormorants, Darters, water hen, Hupei, Tree pie,  Wood Peckers, Drongos, Egrets, red jungle fowl and Herons.The flora of Bhitarkanika National Park chiefly comprises of Mangrove forest with Hental being the prominent trees.<br />
<br />
Similipal National Park<br />
Located in the western part of Mayurbhanj district of Odisha. Spread over an area of 2750 sq km <br />
The topography of the region is supports tropical dense  sal forest , altitude ranging upto 900 mts , with gorgeous  Barehipani ( 400mt) and Joranda (150mt) waterfall are the main attraction of the bio diversity. The core hilly terrain majestically roaming wild carnivorous and herbivorous animals and the pollution free dense green forest’s magnetic power of attraction make Similipal, the visitor’s Paradise. <br />
<br />
The national park is home of 1076 species of plants including 94 species of orchids . With the fauna-  wild elephant ( 565 accordingly last census), Tiger (101 no. acc. Last census) including 42 species of Mammals, 231 species of Birds, 29 species of reptiles. <br />
<br />
The majestic Meghasani(1158 mts) , Khairiburu (1178 mt) with other high pick welcome the tourist ( guest) like smiling receptionists from the distance. it is the birth place of  many rivers like Budhabalanga, salandi etc like the vein of Odisha.<br />
<br />
Satkosia Wildlife Sanctuary<br />
Located in the south- western  part of Anugul district (60km from Anugul; 190 km from Bhubaneswar) of Odisha. The sanctuary is covering an area of 795 sq km which is covering four district such as Anugul, cuttack, Nayagarh and Baud.  <br />
<br />
The Satkosia Gorge is a unique feature in geomorphology of India. Here Mahanadi has cut right across the Eastern Ghats and has formed a magnificent gorge(22km) with sylvan beauty and excellent features. <br />
<br />
The topography of the region is supports moist deciduous forest, dry deciduous forest and moist peninsular Sal Forest. This area is the home for Tiger, Leopard, Elephant, Gaur, Sambar, Spotted deer, Mouse deer, Nilgai, Chousingha, Sloth bear, Wild dog etc., Varieties of resident and migratory birds, reptilian species( Gharial, Magar, Crocodile, Fresh Water turtle, Poisons & Non poisons snakes etc.)<br />
<br />
Debrigarh Wildlife Sanctuary<br />
Located in the northern  part of Bargarh district (117km from Sambhalpur; 61 km from Bargarh) of Odisha. The sanctuary is covering an area of 354 sq km.<br />
<br />
The topography of the region is supports northern dry deciduous Sal Forest. This area is the home for Tiger, Leopard, Indian Bison, Sambar, Spotted deer, Mouse deer, Nilgai, Chousingha, Sloth bear, Wild dog, moijitor Lizards, chameleon and Gaur etc., Varieties of resident and migratory birds arrives to Hirakud water reservoir ( which is near by to the sanctuary)  reptilian species( Gharial, Magar Crocodile, Fresh Water turtle, Poisons & Non poisons snakes etc.)<br />
<br />
<br />
Kuldiha  Wildlife Sanctuary<br />
Located in the south-western  part of Baleswar district (35km from Baleswar, 310 km from Bhubaneswar) of Odisha. The sanctuary is covering an area of 272 sq km.<br />
<br />
The topography of the region is supports deciduous thick Sal Forest. This area is the home for  boost population of wild Indian elephant and including of Tiger, Leopard, Indian Bison, Sambar, Spotted deer, Mouse deer, Nilgai, Chousingha, Sloth bear, etc.At the salt leak place one can see lots of herbivorous including wild Indian elephant collecting salt ball from the ground. Varieties of birds like peacock, hornbill, tree pie, hill myna, parakeet etc with Poisons & Non poisons snakes etc.								</div>
																<div class="headHr mt20px">
					            <div class="p7px b pl10px xlarge"><h2>Balasore and Kendrapara Tour Itinerary</h2></div>
					            </div>
					            
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<div class="b large mb5px"><b class="dif">Day 1:</b> <h3>Bhubaneswar</h3>
										</div>
										<p class="aj">Upon arrival airport / Railway station meet our representative and transfer to hotel. If time permit visit Nandan Kaman- 20km from Bhubaneswar and tiger and lion safari at there (safari last bus has been running up to 1600 hr). Return back to hotel.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<div class="b large mb5px"><b class="dif">Day 2:</b> <h3>Bhubaneswar-Satkosia (Project -Tiger) {5hr drive+Visit</h3>
										</div>
										<p class="aj">Drive to Satkosia wild life sanctuary. Upon arrival there check in a nice jungle resort run by local and forest department inside of core area (With proper safety). Afternoon hiking inside the jungle trail guided by govt. Guide (its mandatory). Meet the wild animal on nature.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<div class="b large mb5px"><b class="dif">Day 3:</b> <h3>Satkosia wild life sanctuary</h3>
										</div>
										<p class="aj">Early morning hiking on jungle trail enjoy the flora and fauna (including different birds on nature) and then drive to Satkosia Gorge and boating in the Mahanadi River. To meet the Magar crocodile on nature. Afternoon again hiking on the jungle pond area to watch the movement of wild animal. *Morning and late afternoon it’s time to movement of the wild animal. So again do the two hiking inside of core area and enjoy the flora and fauna of that area.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<div class="b large mb5px"><b class="dif">Day 4:</b> <h3>Satkosia-Bhitarkanika National Park (5hr drive+Visit)</h3>
										</div>
										<p class="aj">Morning drive towards Bhitarkanika National Park. Check in a nice resort in buffer zone. Walk around the area to meet different birds on nature. Overnight stay in that resort, if it is cold and cloudless night then enjoys the camp fire with star full night.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<div class="b large mb5px"><b class="dif">Day 5:</b> <h3>Bhitarkanika National Park-</h3>
										</div>
										<p class="aj">Morning meet the wild crocodile on nature while boating on different creeks. Also visit the interpitation centre. Hiking the core area and meet different fauna such as wild boar, spotted deer, jungle fowl, and many different birds. Afternoon again boating on buffer zone. Overnight at the same resort.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<div class="b large mb5px"><b class="dif">Day 6:</b> <h3>Bhitarkanika-chilika Lake (4hr drive+Visit)</h3>
										</div>
										<p class="aj">Morning proceed chilika lake. Check in a nice resort at Mangalajodi*. Afternoon walk around the natural trail and enjoy the wet land with different migratory and residence birds on nature with very short distance (more or less 20-30 mts).</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<div class="b large mb5px"><b class="dif">Day 7:</b> <h3>chilika Lake</h3>
										</div>
										<p class="aj">Chilika lake: the area is around 1100 sq km. Home of migratory and residence birds and also wild Irrawaddy dolphin on nature. (But which side we mentioned that side is famous for bird’s zone because that area is outer chilika). Morning ride a catamaran boat (with boatman) and meet the migratory and residence birds on nature. Overnight stay pleasantly in that resort.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<div class="b large mb5px"><b class="dif">Day 8:</b> <h3>Departure</h3>
										</div>
										<p class="aj">Morning departure to Bhubaneswar (2hr drive) board the flight / train to your onwards journey.<br />
Caution: Try to obey the jungle rule accordingly in order. Respect the nature and enjoy the nature.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
															<div class="b xlarge mb10px dib"><h2>More Details about Balasore and Kendrapara Tour</h2></div>
															<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Rate Card</p>
								</div>
								
    	<p class="h dif xlarge b mb5px">Instruction</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Do</td>
				<td class="headHr p5px b">Don’t</td>
			</tr>
			<tr>
				<td class="data p5px">Keep mineral water while hiking</td>
				<td class="data p5px">Walk or drive night time in core area</td>
			</tr>
			<tr>
				<td class="data p5px">Keep mosquito repellent</td>
				<td class="data p5px">Take any arms and weapons</td>
			</tr>
			<tr>
				<td class="data p5px">Keep silence</td>
				<td class="data p5px">Take Crackels and music system</td>
			</tr>
			<tr>
				<td class="data p5px">use green or grey colour cloth and cap while hiking.</td>
				<td class="data p5px">Feed the wild animal, birds and reptile</td>
			</tr>
			<tr>
				<td class="data p5px">Keep binocular and camera</td>
				<td class="data p5px">Disturb the animal, birds and reptile</td>
			</tr>
			<tr>
				<td class="data p5px">Keep proper permit and entry document</td>
				<td class="data p5px">Use plastic polithin</td>
			</tr>
			<tr>
				<td class="data p5px">While hiking follow the guide</td>
				<td class="data p5px">Dive or Swim in the water body</td>
			</tr>
		</table></div><br>								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<p style="page-break-inside: avoid;"><font color="#34495e"><font face="Arial, serif"><font style="font-size: 10pt;">Though our tour is wild life tour on natural, so chances of sitting specific animal, birds and reptile on nature depend upon the luck. So we request our guest they should not harass if they could not sight the specific habitat.<br />
<br />
Please flexible during the tour and please follow approved naturalist.</font></font></font>								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Packages by Theme</p>
						</div>
													<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.orissatribaltours.com/hill-station-holidays-catid.htm" title="Hill Station Tour Packages">Hill Station Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.orissatribaltours.com/valley-holidays-catid.htm" title="Valley Tour Packages">Valley Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.orissatribaltours.com/heritage-holidays-catid.htm" title="Heritage Tour Packages">Heritage Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.orissatribaltours.com/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="http://www.orissatribaltours.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Tour Packages">Wildlife and Nature Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.orissatribaltours.com/beach-islands-holidays-catid.htm" title="Beach and Islands Tour Packages">Beach and Islands Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.orissatribaltours.com/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="http://www.orissatribaltours.com/hiking-holidays-catid.htm" title="Hiking Tour Packages">Hiking Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.orissatribaltours.com/camping-holidays-catid.htm" title="Camping Tour Packages">Camping Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px "><a  href="http://www.orissatribaltours.com/trekking-holidays-catid.htm" title="Trekking Tour Packages">Trekking Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px spanlist dn"><a  href="http://www.orissatribaltours.com/cycling-holidays-catid.htm" title="Cycling Tour Packages">Cycling Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px spanlist dn"><a  href="http://www.orissatribaltours.com/national-parks-holidays-catid.htm" title="National Parks Tour Packages">National Parks Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px spanlist dn"><a  href="http://www.orissatribaltours.com/bird-watching-holidays-catid.htm" title="Birdwatching Tour Packages">Birdwatching Tours</a></span>
														<span class="dib p5px10px c2px bdr bdree mr7px mb7px spanlist dn"><a  href="http://www.orissatribaltours.com/safari-holidays-catid.htm" title="Safari Tour Packages">Safari Tours</a></span>
														<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
													</div>
												
						<div class="ac mb10px">
						<form class="inquiry-form" name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.orissatribaltours.com/enquiry-form-10028.htm">
						<input type="hidden" name="subject" value="Wildlife Adventure Tour-Odisha - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>							
						<input type="hidden" name="pkg_slno" value="61447"/>
						</form>
						<a href="javascript:void(0);" class="submit-inquiry button p7px pl12px pr12px c5px b large dib mt10px">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-2 rightPropEnq"><!--MIDDLE ROW1 COL-1 STARTS-->
					<div class="column_Box mc rghtFix">
					<div class="tcl bullet data divider p10px pt20px enqForm stickyForm">
					<div class="h h2 ac fw6 xxxlarge"><b class="plusMinus"></b>
					Fill Enquiry Form Below
					</div>
					<div class="showHide_rp mt7px">
					<form name="package_form" method="post" action="//catalog.tourtravelworld.com/catalog-enquiry.php" onsubmit="return static_inq_form_validate(10029);">
					<div class="fo mt25px">
					<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 Wildlife Adventure Tour-Odisha. 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="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="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="mt25px mb15px">
					<input type="submit" name="submit" value="Send Enquiry" class="db theme2 xlarge fw6 p12px bdr ttu">
					<input type="hidden" name="phone_isd" id="phone_package_isd" value="+91">
					<input type="hidden" name="subject" value="Wildlife Adventure Tour-Odisha - Tour Package"/>
					<input type="hidden" name="allocate_type" value="tour"/>
					<input type="hidden" name="pkg_slno" value="61447"/>
					<input type="hidden" name="current_url" value="http://www.orissatribaltours.com/holiday-packages/wildlife-adventure-tour-odisha.htm">
				  	<input type="hidden" name="web_address" value="http://www.orissatribaltours.com">
				  	<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="http://www.orissatribaltours.com/thanks.htm">
					<input type="hidden" name="catalog_mi" value="401921">
				  	<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','50px'); 
					 }
					 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>
					
					</div>
					</div>
									
				
				</div>
				
										<br />
						<section class="pt20px pb20px relTour-pkg rel-prop"><br>
						<div class="wrap">      	
						<div class="myTabs mc bdr0 horizontal987 hot bdr0"><div class=""><ul class="fo lsn m0px p0px"><li class="h hd_h2"><div class="ac"><h2 class="hd_NT">Similar Tour Packages for Balasore, Kendrapara</h2></div></li></ul></div><p class="cb"></p>
						<div class="ic" id="1102_3-1">
						<div class="slider">
						<ul class="bxslider987">
											
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.orissatribaltours.com/holiday-packages/eco-tourism-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/dir_14/401921/115142.jpg"  height=""  width=""    alt="Eco Tourism Tour" title="Eco Tourism Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.orissatribaltours.com/holiday-packages/eco-tourism-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								10 Nights / 11 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.orissatribaltours.com/holiday-packages/eco-tourism-tour.htm" title="Eco Tourism Tour"><h3>Eco Tourism Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.orissatribaltours.com/holiday-packages/bhitarkanika-national-park-tour1.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/dir_14/401921/116854.jpg"  height=""  width=""    alt="Bhitarkanika National Park Tour" title="Bhitarkanika National Park Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.orissatribaltours.com/holiday-packages/bhitarkanika-national-park-tour1.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="http://www.orissatribaltours.com/holiday-packages/bhitarkanika-national-park-tour1.htm" title="Bhitarkanika National Park Tour"><h3>Bhitarkanika National Park Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.orissatribaltours.com/holiday-packages/bestof-odisha-odisha-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/dir_14/401921/115136.jpg"  height=""  width=""    alt="Best of Odisha (Odisha) Tour" title="Best of Odisha (Odisha) Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.orissatribaltours.com/holiday-packages/bestof-odisha-odisha-tour.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								14 Nights / 15 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.orissatribaltours.com/holiday-packages/bestof-odisha-odisha-tour.htm" title="Best of Odisha (Odisha) Tour"><h3>Best Of Odisha (odisha) Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.orissatribaltours.com/holiday-packages/wildlife-adventure-tourin-odisha-orissa1.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/dir_14/401921/176969.jpg"  height=""  width=""    alt="Wildlife Adventure Tour In Odisha (Orissa)" title="Wildlife Adventure Tour In Odisha (Orissa)"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.orissatribaltours.com/holiday-packages/wildlife-adventure-tourin-odisha-orissa1.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								14 Nights / 15 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.orissatribaltours.com/holiday-packages/wildlife-adventure-tourin-odisha-orissa1.htm" title="Wildlife Adventure Tour In Odisha (Orissa)"><h3>Wildlife Adventure Tour In Odisha (orissa)</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.orissatribaltours.com/holiday-packages/wildlife-tourin-odisha1.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/dir_14/401921/176839.jpg"  height=""  width=""    alt="Wildlife Tour in Odisha" title="Wildlife Tour in Odisha"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.orissatribaltours.com/holiday-packages/wildlife-tourin-odisha1.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								7 Nights / 8 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.orissatribaltours.com/holiday-packages/wildlife-tourin-odisha1.htm" title="Wildlife Tour in Odisha"><h3>Wildlife Tour In Odisha</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.orissatribaltours.com/holiday-packages/heritage-palaces-with-tribal-wonderin-odisha-orissa-tour1.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/dir_14/401921/176689.jpg"  height=""  width=""    alt="Heritage Palaces with Tribal Wonder in Odisha (Orissa) Tour" title="Heritage Palaces with Tribal Wonder in Odisha (Orissa) Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.orissatribaltours.com/holiday-packages/heritage-palaces-with-tribal-wonderin-odisha-orissa-tour1.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								14 Nights / 15 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.orissatribaltours.com/holiday-packages/heritage-palaces-with-tribal-wonderin-odisha-orissa-tour1.htm" title="Heritage Palaces with Tribal Wonder in Odisha (Orissa) Tour"><h3>Heritage Palaces With Tribal Wonder In Odisha (orissa) Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.orissatribaltours.com/holiday-packages/joranda-sadhu-festival-9th-february-11th-february-2017-tour1.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/dir_14/401921/115986.jpg"  height=""  width=""    alt="Joranda Sadhu Festival: (9Th February - 11Th February 2017) Tour" title="Joranda Sadhu Festival: (9Th February - 11Th February 2017) Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.orissatribaltours.com/holiday-packages/joranda-sadhu-festival-9th-february-11th-february-2017-tour1.htm" class="dib buttonBig p5px15px lh12em c20px">View Packages</a></div>
															</div>
							<div class="al">
															<p class="mt5px alpha75">
								14 Nights / 15 Days 
								</p>
															<div class="h large lh12em mt7px"><a href="http://www.orissatribaltours.com/holiday-packages/joranda-sadhu-festival-9th-february-11th-february-2017-tour1.htm" title="Joranda Sadhu Festival: (9Th February - 11Th February 2017) Tour"><h3>Joranda Sadhu Festival: (9th February - 11th February 2017) Tour</h3></a></div>
							</div>
							</div>						
							</li>
												
							<li>
							<div class="dib w200px">
  							<div class="dib pr ofh lh0 c5px cp" onclick="location.href='http://www.orissatribaltours.com/holiday-packages/kuldiha-wildlife-sanctuary-tour1.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/dir_14/401921/116857.jpg"  height=""  width=""    alt="Kuldiha  Wildlife Sanctuary Tour" title="Kuldiha  Wildlife Sanctuary Tour"  class="bdr p1px"  /></div></div>
								<div class="absViewBtn"><a href="http://www.orissatribaltours.com/holiday-packages/kuldiha-wildlife-sanctuary-tour1.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="http://www.orissatribaltours.com/holiday-packages/kuldiha-wildlife-sanctuary-tour1.htm" title="Kuldiha  Wildlife Sanctuary Tour"><h3>Kuldiha  Wildlife Sanctuary Tour</h3></a></div>
							</div>
							</div>						
							</li>
															
						</ul>
						</div>
						</div> 
						  
							<script>
							  $(document).ready(function(){			
								$('.bxslider987').bxSlider({
									mode:'horizontal',				
									slideWidth: 214,maxSlides: 10,slideMargin:10,auto: true, 
									autoDirection:'next',
									moveSlides: 1,
									pause:2000,
									pager:false,
									pagerType:'full',
									autoControls: false, 
									controls:true, 
									autoHover:true,				
									speed:1000
								});
							  });
							  </script>
							  							  
						 </div>
					     </div>
					    </section>
										<section class="pt20px pb20px absTour-Title rel-prop"><br>
				<div class="wrap">      	
				<div class="myTabs mc bdr0 horizontal987 hot bdr0"><div class=""><ul class="fo lsn m0px p0px"><li class="h hd_h2"><div class="ac"><h2 class="hd_NT">Explore Tour Packages by Destination</h2></div></li></ul></div><p class="cb"></p>
				<div class="ic" id="1102_3-1">
				<div class="slider">
				<ul class="bxslider988">								
				
					<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="http://www.orissatribaltours.com/bhubaneswar-tour-packages.htm" title="Bhubaneswar Tour Packages" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/116858.jpg"  height=""  width=""    alt="Bhubaneswar Tour Packages" title="Bhubaneswar Tour Packages"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.orissatribaltours.com/bhubaneswar-tour-packages.htm" title="Bhubaneswar Tour Packages">Bhubaneswar 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="http://www.orissatribaltours.com/raipur-tour-packages.htm" title="Raipur Tour Packages" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/178164.jpg"  height=""  width=""    alt="Raipur Tour Packages" title="Raipur Tour Packages"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.orissatribaltours.com/raipur-tour-packages.htm" title="Raipur Tour Packages">Raipur 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="http://www.orissatribaltours.com/kanker-tour-packages.htm" title="Kanker Tour Packages" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/176274.jpg"  height=""  width=""    alt="Kanker Tour Packages" title="Kanker Tour Packages"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.orissatribaltours.com/kanker-tour-packages.htm" title="Kanker Tour Packages">Kanker 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="http://www.orissatribaltours.com/puri-tour-packages.htm" title="Puri Tour Packages" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/156156.jpg"  height=""  width=""    alt="Puri Tour Packages" title="Puri Tour Packages"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.orissatribaltours.com/puri-tour-packages.htm" title="Puri Tour Packages">Puri 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="http://www.orissatribaltours.com/jagdalpur-chhattisgarh-tour-packages.htm" title="Jagdalpur Tour Packages" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/179902.jpg"  height=""  width=""    alt="Jagdalpur Tour Packages" title="Jagdalpur Tour Packages"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.orissatribaltours.com/jagdalpur-chhattisgarh-tour-packages.htm" title="Jagdalpur Tour Packages">Jagdalpur 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="http://www.orissatribaltours.com/rayagada-tour-packages.htm" title="Rayagada Tour Packages" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/176708.jpg"  height=""  width=""    alt="Rayagada Tour Packages" title="Rayagada Tour Packages"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.orissatribaltours.com/rayagada-tour-packages.htm" title="Rayagada Tour Packages">Rayagada 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="http://www.orissatribaltours.com/ratnagiri-tour-packages.htm" title="Ratnagiri Tour Packages" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/176689.jpg"  height=""  width=""    alt="Ratnagiri Tour Packages" title="Ratnagiri Tour Packages"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.orissatribaltours.com/ratnagiri-tour-packages.htm" title="Ratnagiri Tour Packages">Ratnagiri 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="http://www.orissatribaltours.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/170709.jpg"  height=""  width=""    alt="New Delhi Tour Packages" title="New Delhi Tour Packages"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.orissatribaltours.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">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="http://www.orissatribaltours.com/dhenkanal-tour-packages.htm" title="Dhenkanal Tour Packages" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/294821.jpg"  height=""  width=""    alt="Dhenkanal Tour Packages" title="Dhenkanal Tour Packages"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.orissatribaltours.com/dhenkanal-tour-packages.htm" title="Dhenkanal Tour Packages">Dhenkanal 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="http://www.orissatribaltours.com/kendrapara-tour-packages.htm" title="Kendrapara Tour Packages" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/116893.jpg"  height=""  width=""    alt="Kendrapara Tour Packages" title="Kendrapara Tour Packages"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.orissatribaltours.com/kendrapara-tour-packages.htm" title="Kendrapara Tour Packages">Kendrapara 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="http://www.orissatribaltours.com/indore-tour-packages.htm" title="Indore Tour Packages" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/114977.jpg"  height=""  width=""    alt="Indore Tour Packages" title="Indore Tour Packages"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.orissatribaltours.com/indore-tour-packages.htm" title="Indore Tour Packages">Indore 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="http://www.orissatribaltours.com/visakhapatnam-tour-packages.htm" title="Visakhapatnam Tour Packages" ><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/166352.jpg"  height=""  width=""    alt="Visakhapatnam Tour Packages" title="Visakhapatnam Tour Packages"  /></a></div></div>
					<div class="h xlarge fw6 lh15em"><a href="http://www.orissatribaltours.com/visakhapatnam-tour-packages.htm" title="Visakhapatnam Tour Packages">Visakhapatnam Tours</a></div>
					</div> 
					</li>
									</ul>
				</div>
				</div>
				 
					<script>
					$(document).ready(function(){			
					$('.bxslider988').bxSlider({
					mode:'horizontal',				
					slideWidth: 214,maxSlides: 10,slideMargin:12,auto: true, 
					autoDirection:'next',
					moveSlides: 1,
					pause:2000,
					pager:false,
					pagerType:'full',
					autoControls: false, 
					controls:true, 
					autoHover:true,				
					speed:1000
					});
					});
					</script>
									
				</div>
				</div><br><br>
				</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:69:"Book Wildlife Adventure Tour-Odisha - 7 Nights / 8 Days Tour Packages";i:2;s:140:"book wildlife adventure tour-odisha - 7 nights / 8 days tour packages, wildlife and nature tour packages, balasore, kendrapara tour packages";i:3;s:191:"Book Wildlife Adventure Tour-Odisha - 7 Nights / 8 Days tour packages from Orissa Tribal Tours - Get attractive 7 Nights / 8 Days Wildlife and Nature  tour packages for  Balasore, Kendrapara.";i:4;s:4756:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Balasore, Kendrapara"        
		                 },
		      "description": "Odisha located in Eastern India is among the states which has the maximum land under forest area (33%).  Odisha is blessed with some of the most endangered and rare wildlife species are found here. For wildlife enthusiasts and nature lovers Odisha is a perfect destination.

Bhitarkanika National Park
Located in the north-eastern part of Kendrapara district of Odisha. The sanctuary is covering an area of 672 sq km and out of that 145 sq km is core area. The topography of the region is mangrove. The major wildlife of the Bhitarkanika National park include salt water crocodile, water monster Lizard, spotted deer, monkey, wild boar,  jungle cat , fox, Jackal, mongoose, fishing cat, hyena etc. 

The sanctuary also has a sizable bird population with prominent being 8  different type kingfisher, open bill stork, ibis , cormorants, Darters, water hen, Hupei, Tree pie,  Wood Peckers, Drongos, Egrets, red jungle fowl and Herons.The flora of Bhitarkanika National Park chiefly comprises of Mangrove forest with Hental being the prominent trees.

Similipal National Park
Located in the western part of Mayurbhanj district of Odisha. Spread over an area of 2750 sq km 
The topography of the region is supports tropical dense  sal forest , altitude ranging upto 900 mts , with gorgeous  Barehipani ( 400mt) and Joranda (150mt) waterfall are the main attraction of the bio diversity. The core hilly terrain majestically roaming wild carnivorous and herbivorous animals and the pollution free dense green forest’s magnetic power of attraction make Similipal, the visitor’s Paradise. 

The national park is home of 1076 species of plants including 94 species of orchids . With the fauna-  wild elephant ( 565 accordingly last census), Tiger (101 no. acc. Last census) including 42 species of Mammals, 231 species of Birds, 29 species of reptiles. 

The majestic Meghasani(1158 mts) , Khairiburu (1178 mt) with other high pick welcome the tourist ( guest) like smiling receptionists from the distance. it is the birth place of  many rivers like Budhabalanga, salandi etc like the vein of Odisha.

Satkosia Wildlife Sanctuary
Located in the south- western  part of Anugul district (60km from Anugul; 190 km from Bhubaneswar) of Odisha. The sanctuary is covering an area of 795 sq km which is covering four district such as Anugul, cuttack, Nayagarh and Baud.  

The Satkosia Gorge is a unique feature in geomorphology of India. Here Mahanadi has cut right across the Eastern Ghats and has formed a magnificent gorge(22km) with sylvan beauty and excellent features. 

The topography of the region is supports moist deciduous forest, dry deciduous forest and moist peninsular Sal Forest. This area is the home for Tiger, Leopard, Elephant, Gaur, Sambar, Spotted deer, Mouse deer, Nilgai, Chousingha, Sloth bear, Wild dog etc., Varieties of resident and migratory birds, reptilian species( Gharial, Magar, Crocodile, Fresh Water turtle, Poisons & Non poisons snakes etc.)

Debrigarh Wildlife Sanctuary
Located in the northern  part of Bargarh district (117km from Sambhalpur; 61 km from Bargarh) of Odisha. The sanctuary is covering an area of 354 sq km.

The topography of the region is supports northern dry deciduous Sal Forest. This area is the home for Tiger, Leopard, Indian Bison, Sambar, Spotted deer, Mouse deer, Nilgai, Chousingha, Sloth bear, Wild dog, moijitor Lizards, chameleon and Gaur etc., Varieties of resident and migratory birds arrives to Hirakud water reservoir ( which is near by to the sanctuary)  reptilian species( Gharial, Magar Crocodile, Fresh Water turtle, Poisons & Non poisons snakes etc.)


Kuldiha  Wildlife Sanctuary
Located in the south-western  part of Baleswar district (35km from Baleswar, 310 km from Bhubaneswar) of Odisha. The sanctuary is covering an area of 272 sq km.

The topography of the region is supports deciduous thick Sal Forest. This area is the home for  boost population of wild Indian elephant and including of Tiger, Leopard, Indian Bison, Sambar, Spotted deer, Mouse deer, Nilgai, Chousingha, Sloth bear, etc.At the salt leak place one can see lots of herbivorous including wild Indian elephant collecting salt ball from the ground. Varieties of birds like peacock, hornbill, tree pie, hill myna, parakeet etc with Poisons & Non poisons snakes etc.",
		      "name": "Wildlife Adventure Tour-Odisha",
		      "telephone": "+91-9439050039"
		    }
		    </script>
			";i:5;N;}